May 14

BlackBox 不指定

RickySu , 20:53 , 技术经验 , 评论(1) , 引用(0) , 阅读(901) , Via 本站原创
BlackBox是FPGA设计中一个重要的技巧,不过觉得Xilinx的文档没有很好地将它讲清楚。

BlackBox的主要想法就是把设计的某一个子模块单独综合,综合的结果作为一个黑盒子子模块,上层设计不再对这个模块进行优化,只能看到它的端口。

要让XST实现BlackBox,其实非常简单,将一个子模块单独综合后,会得到ngc文件或者edif文件。在使用这个网表时,在子模块的描述文件中只要包含端口信息而不要实现的信息(这个文件通常称为wrapper),这样XST就会自动寻找project目录下的网表文件了。不过HDL文件和网表文件的文件名得相同。
如果网表文件不在project目录中,就要在Translate的Search Macro Path属性中填写寻找的路径,多条路径可以以|分割。

写个简单的示例:
顶层文件top.v/vhd,子模块是ngc格式的网表module.ngc,子模块有一个仅描述了端口的wrapper文件module.v/vhd.
HDL中不用包括任何blackbox属性。综合器会自动加上的。

在Reference的页面中有for vhdl和verilog的详细例子。敬请参阅。

注1:
说到wrapper,因为综合工具综合时其实是不读ngc/edif网表的(分析时序除外),子模块的端口完全是靠wrapper告诉综合器的。而ngc/edif的网表是在translate(NgdBuild)的时候才将所有的网表组合为一个ngd文件的。

注2:
生成用于子模块的ngc网表时,要在XST属性中选择不添加IO Buffer。否则最后使用的时候由于这些不该有的buffer会在Translate的时候报错。

Reference:
Black Box support
Tags: , ,
May 14
ISE6以前: Xilinx Answer Record 19604
ISE7以后: Xilinx Answer Record 21508
ISE9的compxlib已经有图形界面,就更方便了一些。Xilinx Answer Record 24800

修改了ModelSim.ini后,要注意这个ini是不是真正起作用,因为modelsim有比安装目录中的优先级更高的modelsim.ini,他们分别是工程目录中的modelsim.ini和在环境变量MODELSIM中指定的modelsim.ini。
Tags: , ,
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]