目录
- 一、Vivado如何添加Xilinx提供的IP
- 一、Vivado IP综合选项Global和Out-Of-Context区别
- 三、使用vivado生成的hdf文件创建SDK工程
- 四、修改Vivado字体大小
- 五、[IP_Flow 19-3153] Bus Interface 's00_axi_aclk': ASSOCIATED_BUSIF bus parameter is missing.
- 六、make external与 create port的区别
- 七、【 [Labtools 27-3428] Ila core [hw_ila_1] clock has stopped. Unable to arm ILA core.】
- 八、[BD 41-971] Segment </processing_system7_0/S_AXI_HP0/HP0_DDR_LOWOCM> mapped into </axi_dma_1/Data_MM2S> at 0x00000000[ 1G ] overlaps with </processing_system7_0/S_AXI_HP1/HP1_DDR_LOWOCM> mapped at 0x00000000[ 1G ]
- 九、在Block Design中添加官方IP时候,是无法自定义该IP的名称的,只能使用工具默认定义的名称,一般会以_0/_1/_2/_3结尾。
- 十、综合报错 [Synth 8-685] variable ‘xxxx‘ should not be used in output port connection
- 十一、Vivado IP综合选项Global和Out-Of-Context区别
- 十二、vivado:如何给仿真波形分组?
- 参考
一、Vivado如何添加Xilinx提供的IP
1.1 打开IP Catalog,搜索自己想添加的IP
如搜索AXI_Stream Data FIFO这个IP。
1.2 双击该IP进行参数配置
如配置AXI_Stream Data FIFO的深度、宽度、存储类型、时钟类型等。
1.3 确认后进行IP综合
配置完参数后,点击OK,进行IP综合。完成对IP的添加,
1.4 例化IP
IP综合完后,就可以在自己的代码中对该IP进行例化。例化代码在IP Sources->IP->Instantiation Template中提供了Verilog和VHDL两个版本。
一、Vivado IP综合选项Global和Out-Of-Context区别
1.1 Vivado IP综合选项到底如何选择?
在 VivadoQ定制IP时,选择"Customize IP"后会弹出一个框。细心的设计人员可以看到Synthesis Options可以选择,一种叫做"Global”另一种叫”Out of Context (O0C)”。其中”Out-Of-Context"是“脱离上下文”的意思。”Global”"即全局。
1.2 Global和out-of-Context区别?
- GlobalQ选项不会产生,dcp文件,因为工程综合的时候是对|P核的源码进行综合的。而Globali选择则是每次工程综合的时候,IP核都会和工程一起综合,这样综合的时间就很长。
- Out of contex per P是指让vvado在综合的时候对!P进行单独综合,生成,dcp文件,然后再工程要用到P的时候,只需从,dco文件中解析出对应!P的网表文件即可,而不需对P进行重新综合,这样的方式可以加快综合的速度;00C选项是Vivado给我们的默认选项,在0OC(Out of context per P)植式下,Vivado将会把牛成的!P当成一个单独的植块来进行综合,牛成,dco desion checkooint文件。然后重工程要用到IP的时候,只需从.dcp文件中解析出对应IP的网表文件即可。
1.3 究竟是选择Global还是Out of context per IP?
- 如果想减少编译时间,选择Out-Of-Context,通过综合实现某个模块的快速迭代,不用综合系统的其余部分,整个设计的迭代更快了:
- 如果对时间没有绝对要求,可以选择Global,这样就是把IP当做源代码一起编译,每次布局布线都不一样。
三、使用vivado生成的hdf文件创建SDK工程
四、修改Vivado字体大小
Tools->Settins -> Text Editor
五、[IP_Flow 19-3153] Bus Interface ‘s00_axi_aclk’: ASSOCIATED_BUSIF bus parameter is missing.
问题表述:这个时钟缺少“关联接口”参数
Package IP 的时候Ports and Interfaces 选项老是出现题述问题,google 了很久不知道怎么解决,其实解决方法很简单:
出问题的ports 就是图1的高亮的那个地方,右键点击选择Edit Interface, 选择parameters
添加ASSOCIATED_BUSIF这个变量,然后在value里面添加该时钟所关联的接口名称:S00_AXI(这个值是根据图1中的S00_AXI_CLK(大写的S)。
完成!
六、make external与 create port的区别
make external命令,相当于一次实现了两个关联的命令,create port和make connect。
七、【 [Labtools 27-3428] Ila core [hw_ila_1] clock has stopped. Unable to arm ILA core.】
报错原因:包含该ILA的module的时钟没有正确连接!
解决办法:正确修改时钟来源,即可。
八、[BD 41-971] Segment </processing_system7_0/S_AXI_HP0/HP0_DDR_LOWOCM> mapped into </axi_dma_1/Data_MM2S> at 0x00000000[ 1G ] overlaps with </processing_system7_0/S_AXI_HP1/HP1_DDR_LOWOCM> mapped at 0x00000000[ 1G ]
报错原因:Block Design中AXI外设的地址分配重叠。
解决办法:在Address Editor把出错的端口都unmap了,然后再重新自动分配地址就解决了。
九、在Block Design中添加官方IP时候,是无法自定义该IP的名称的,只能使用工具默认定义的名称,一般会以_0/_1/_2/_3结尾。
十、综合报错 [Synth 8-685] variable ‘xxxx‘ should not be used in output port connection
报错原因: 仿真或者综合报错,显示这个变量不能用于输出端口,就去找这个变量接到了哪些输出端口。发现该变量定义为reg类型。
解决办法:将变量的类型由reg类型改为wire类型。
十一、Vivado IP综合选项Global和Out-Of-Context区别
11.1 VivadoIP综合选项到底如何选择?
在 VivadoQ定制IP时,选择"Customize IP"后会弹出一个框。细心的设计人员可以看到Synthesis Options可以选择,一种叫做"Global”另一种叫”Out of Context (O0C)”。其中”Out-Of-Context"是“脱离上下文”的意思。”Global”即全局。
11.2 Global和Out-of-Context区别?
- Gobal 选项不会产生,dcp文件,因为工程综合的时候是对!P核的源码进行综合的。而Global选择则是每次工程综合的时候,IP核都会和工程一起综合,这样综合的时间就很长。
- Out of context per IP是指让vivado在综合的时候对!P进行单独综合,生成.dcp文件,然后再工程要用到!P的时候,只雪从.dcp文件中解析出对应IP的网表文件即可,而不需对!P进行重新综合,这样的方式可以加快综合的速度;0OC选项是Vivado给我们的默认选项,在0OC(Out of context per P)模式下,Vvado将会把生成的!P当成一个单独的模块来进行综合,生成.dcp(design checkpoint)文件。然后再工程要用到IP的时候,只需从.dcp文件中解析出对应IP的网表文件即可。
11.3 究竟是选择Global还是Out of context per lP?
- 如果想减少编译时间,选择Out-Of-Context。通过综合实现某个模块的快速迭代,不用综合系统的其余部分,整个设计的迭代更快。
- 如果对时间没有绝对要求,可以选择Global,这样就是把IP当做源代码一起编译,每次布局布线都不一样。
十二、vivado:如何给仿真波形分组?
点击Run Simulation后,vivado自带的仿真工具会将仿真的波形比较混乱得展示出来,为了更方便查看波形,可以将不通功能的波形进行分组
具体操作如下:
-
右键Name栏的信号,
-
点击:新建组
然后就可以把对应的信号添加到对应的组里面 -
解散分组不能点击Delete,要右击组名后,点击:UnGroup
参考
- http://t.csdnimg.cn/EN5wS