如何将自己写的VHDL/verilog模块封装成IP核?

[复制链接]
 楼主| onenavigator 发表于 2012-12-6 17:13 | 显示全部楼层 |阅读模式
按照以下方法:把综合选项里的“Add I/O Buffers”去掉,综合,生成的ngc网表再加上你自己做的一个wrapper文件(就是只有端口列表的.v或者.vhd文件),试了试仿真没有结果呢?请问有人试成功过吗?
hawksabre 发表于 2012-12-6 21:30 | 显示全部楼层
将你的设计制作成BlackBox,也就是网表文件,这样别人看不到你的设计但是可以调用你的模块了。详细的参考信息如下:
1. 什么是BlackBox
- 一个大的设计中可以用到一系列网表文件作为输入的一部分而并不全部使用HDL文件。当综合这个大设计时综合器不需要知道这个网表文件是怎样实现的,而只需要知道它的输入输出接口就可以了。这样的网表就称为黑盒子,因为我们不需要看到它的内部情况。
- 通常付费IP都会以BlackBox的形式
2. 如何使用BlackBox
- BlackBox网表可以是EDIF或NGC文件。
- 每个BlackBox网表都需要有一个与之相对应的HDL文件来注明它的端口。这个HDL只说明BlackBox的端口信息,而不提供具体实现信息。这个只提供端口信息的HDL文件称为Wrapper。Wrapper的名字通常需要与BlackBox网表的名字相同。
- 在ISE工程中使用BlackBox时只需要将它的Wrapper添加到工程中。然后像普通的模块一样在其上层声明和例化就可以使用。
- BlackBox网表文件可以放在ISE工程目录中,也可以放在其他任意文件夹内。当不放在ISE工程目录时,需要在Translate属性中将Macro Search Path指向这个目录。多个目录使用"|"分割。
3. 如何制作BlackBox
- BlackBox只是普通网表而已。XST的综合结果就可以直接作为BlackBox使用。
- 通常BlackBox外部还会连接其他逻辑,所以BlackBox中一般不插入IOBUF。在XST属性中去除Insert IO Buffer的选项。
hawksabre 发表于 2012-12-6 21:31 | 显示全部楼层
你自己按照步骤实验一下   应该是可以的  呵呵   记得给我散分
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

2

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部