vivado下将rtl模块做成网表加入工程使用

   在fpga开发过程中,往往是模块化的分工合作,大家做好自己的模块再统一添加到顶层。

   rtl代码是透明,当你不想公开自己的代码而只想提供一个黑盒子时,就需要想别的办法。

  xilinx vivado提供IP封装的功能,但是不能提供加密,所以可行的办法是提供网表来供顶层使用。

  模块的网标生成需要注意三个问题:

  1、将模块作为顶层综合时,端口会被工具认作是I/O而添加IO BUF;

  2、端口的很多信号由于没有驱动所以会被工具优化掉;

  3、xilinx工具无法确定网表使用者是否有IP核的licence,所以制作网表的rtl内不能包含xilinx的IP核。

 以上问题都能想办法规避,

  1、IO BUF可以不用管,工具会将不是顶层模块的端口的IO BUF优化掉,当然你也可以自己去删;

  2、在模块的端口添加(*KEEP = "TRUE"*),保证信号不被优化;

  3、一定需要用到xilinx的IP核的话就将IP核作为你的模块的一个平行模块。

网标的生成也很简单,将模块作为顶层综合后,路径下会有checkpoint,而该文件会包含顶层例化的.v和.vhd、网表.edf.。将该文件加入工程替代.v或.vhd即可。


你可能感兴趣的:(FPGA)