|
不知道大家有没有遇到过一个问题,就是你想修改xilinx IP中的某些代码,或者想通过debug进一步了解这些代码时,但是发现它不支持修改的,是read-only属性。本文将给大家介绍一种方法,来解决这个问题。
Generate Output Products
首先小编需要给大家介绍的是,在最终生成IP的时候的两个属性(ug896_page35):
file:///C:/Users/E0001968/AppData/Local/Temp/ksohtml28280/wps11.jpg
在Vivado中默认的选项为 Out of context per IP,工具会自动为IP创建XCI和DCP,更改日志,以及实例化模板。通常的做法也都是选择这一选项。
Global Synthesize选项表示的是,将IP的HDL和用户的HDL一起进行综合。
修改xilinx ip中代码的只读属性
在生成IP的时候,如果最终的Synthesizs Options是按照默认的选项,选择的是Out of context per IP,那么最终生成的IP中的代码属性是只读的,如下图右上角所示:
file:///C:/Users/E0001968/AppData/Local/Temp/ksohtml28280/wps12.jpg
以下为修改Xilinx IP中代码的只读属性的具体操作步骤:
1 修改IP的Synthesizs Options为Global。
如下图所示,gtwizard_share IP已经和其他的IP不一样了,它的前面已经没有橘黄色的小框了,其他IP的Synthesizs Options为 Out of context per IP。
file:///C:/Users/E0001968/AppData/Local/Temp/ksohtml28280/wps13.jpg
2 在Sources 窗口中在Complier Order项中选中该IP。
file:///C:/Users/E0001968/AppData/Local/Temp/ksohtml28280/wps14.jpg
file:///C:/Users/E0001968/AppData/Local/Temp/ksohtml28280/wps15.jpg
3 同样是在上图中的Source File Properties窗口中的Propertie项中找到IS_MANAGED选项,将后面的“√”去掉。
去掉以后,可以看到IP前面的标记就变了,如下图:
file:///C:/Users/E0001968/AppData/Local/Temp/ksohtml28280/wps16.jpg
同时再去查看代码,发现read-only属性没有了,此时就可以进行编辑了。
file:///C:/Users/E0001968/AppData/Local/Temp/ksohtml28280/wps17.jpg
应用
比如 MIG 核中的 MMCM 可以修改,然后节约BUFG
SDI 中的某些lock信号用来作为后一级的复位,或者某些2分频时钟,可以从核里面引出来
Transceiver 里面的BUG在某些情况下将BUFG修改BUFH,节省BUFG
其他的IP看个人选择即可修改,做到 IP 灵活操作,不再是“黑盒子”。 |
|