码迷,mamicode.com
首页 > 其他好文 > 详细

VHDL生成的ngc文件被verilog的工程调用的问题

时间:2016-04-13 23:51:33      阅读:567      评论:0      收藏:0      [点我收藏+]

标签:

1. 问题的提出

工程a是一个soft core,用VHDL写的,综合的时候去掉了"Add I/O buffers" ,并将-iob(Pack I/O Registers into IOBs)置为否。综合最后生成了a.ngc文件供其他工程使用。在生成完ngc后,还可以在 "Design Utilities" -> "View HDL Instantiation Template" 中生成相应的调用文件。

工程b调用的a.ngc,但是工程b使用verilog写的,在调用的时候出现了找不到a模块的错误。

 

2. 问题的解决方法a

使用netgen命令将该ngc转换成vhdl或者verilog文件,然后在调用转换后的文件

linux下 

netgen -ofmt verilog filename.ngc
netgen -ofmt vhdlfilename.ngc

windows 下

netgen.exe -ofmt verilog filename.ngc
netgen.exe -ofmt vhdlfilename.ngc

 

3. 问题的解决办法b

上述的办法只是一种取巧的办法,更好地办法是通过使用wrapper文件来实现。

假定原来的ngc文件为abc.ngc, 则其wrapper文件名为abc.v 或者 abc.vhd. 这个wrapper文件只申明abc模块的输入输出端口,不包含其他信息。

一种简单的生成wrapper文件的办法就是利用解决办法a中提到的netgen工具,利用netgen生成的verilog文件或者vhdl文件,将其他语句删除,仅保留其申明部分。

然后在工程中同时添加该wrapper文件和ngc文件即可。

 

 

VHDL生成的ngc文件被verilog的工程调用的问题

标签:

原文地址:http://www.cnblogs.com/worthy/p/5389189.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!