描述
EDK项目不使用Simulink模型编译Pcore AXI总线生成
——————————-
这来自错误消息
——————————
错误:HDLC编译器:1318 – “./ EDK / pcores / model_axiw_v1_00_a / hdl / vhdl / model_axiw.vhd”第67行:切片的左边界值<11>超出数组<s_axi_arid的范围[7:0]>
错误:EDK – xst:发生未知错误。
错误:EDK:546 – 中止XST流程执行!
解
这里的问题是来自System Generator的Pcorecreated使得HDL代码显式地设置了id_width的参数。
此问题有两种可能的解决方法:
1)打开下面的进程目录中的<ip_name> _axiw.vhd:
pcores \ <ip_name> _axiw_v1_00_a \ HDL \ VHDL \ <ip_name> _axiw.vhd
变更线67至71来自:
s_axi_arid(C_S_AXI_ID_WIDTH-1 downto 0)<= sg_s_axi_arid;
s_axi_awid(C_S_AXI_ID_WIDTH-1 downto 0)<= sg_s_axi_awid;
sg_s_axi_rid <= s_axi_rid(C_S_AXI_ID_WIDTH-1 downto 0);
sg_s_axi_bid <= s_axi_bid(C_S_AXI_ID_WIDTH-1 downto 0);
至:
s_axi_arid(C_S_AXI_ID_WIDTH-1 downto 0)<= sg_s_axi_arid;
s_axi_awid(C_S_AXI_ID_WIDTH-1 downto 0)<= sg_s_axi_awid;
sg_s_axi_bid <= s_axi_bid(C_S_AXI_ID_WIDTH-1 downto 0);
结束生成axiaddrpref_less;
s_axi_arid <= sg_s_axi_arid(C_S_AXI_NATIVE_ID_WIDTH-1 downto 0);
s_axi_awid <= sg_s_axi_awid(C_S_AXI_NATIVE_ID_WIDTH-1 downto 0);
sg_s_axi_bid(C_S_AXI_NATIVE_ID_WIDTH-1 downto 0)<= s_axi_bid;
sg_s_axi_rid(C_S_AXI_ID_WIDTH – 1 downto C_S_AXI_ID_WIDTH – 4)<=“1000”;
sg_s_axi_bid(C_S_AXI_ID_WIDTH – 1 downto C_S_AXI_ID_WIDTH – 4)<=“1000”;
完成后,重新扫描用户存储库:
refresh.png
知识产权现在应该毫无问题地通过工具。如果您的System Generator pcore包含未在UCF中进行LOC的I / O端口,则可能会出现Bitgen错误。
2)或者,可以通过Xilinx技术支持向System Generator提供补丁。请打开Webcase以请求修补程序。
没有回复内容