ISE中如何将本身的verilog源代码.v或VHDL源代码.vhd封装打包成IP核?

=======================第一篇=======================html

如何将本身写的verilog模块封装成IP核app

将你的设计制做成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的选项。ide

引自:http://www.cnblogs.com/youngfq/archive/2011/06/15/2081123.html工具

 

=======================第二篇=======================布局

【问】ISE开发套件可否将本身写的模块封装成ip?这里所说的IP是指相似于用core generator生成的IP格式。
若不能,是否还有其它的工具能将本身所写的模块封装成IPpost

【答】这个能够吧,你若是只是作成一个IP core用ISE里面的开发套件就好了,若是要接到xilinx的microblaze核或者是powerpc核上就要用XPS来生成ui

引自:http://www.eetrend.com/forum/100023865url

 

=======================第三篇=======================spa

【问】ISE 中是否能够把本身代码封装成一个IPcore?.net

【答】使用PlanAhead 中的将你的设计转换为PBlock,而后加上约束条件再export 就能够了。之后你要用的话,只须要import 这个PBlock 就能够了。这样作的核是硬核。固然咯,你也可使用.edif + .ncf 这样就是固核,若是你要求灵活性最高的话,就使用RTL + constraint 这样就是软核了。

引自:http://group.chinaaet.com/109/1729

 

=======================第四篇=======================

【楼主】请教把verilog代码封装成IP核  

请教各位,怎么将本身写的verilog代码模块封装成网表型式的IP核呢?

【一楼】

Altera提供的方案为:封装成qxp文件 ,具体步骤以下:

1.须要建立一个Quartus II 顶层设计项目 而且确保该项目目标器件与该.qxp文件目标器件相同(或者说至少相同器件系列(在不包括布局布线信息前提下).

2.使用提供的端口信息实例这个设计模块;
3.在Porcessing Menu 上, 点击Start/Perform Analysis & Elaboration , 验证该设计的层次.
4.为这个设计模块实例建立一个design partition. Right-click the instance name in the Project Navigator, and choose Set as design partition.
5.导入这个.qxp文件到相关的partition hierarchy. 若是你使用the Quartus II GUI, 则在Project menu,选择
Import Design Partition,select the partition for the design block, and browse to the .qxp file provided.

【二楼】谢谢!再问下对于xilinx的FPGA,在ISE上怎么实现呢?
【三楼】xilinx CORE Generate 在开始ISE design tools/tools里,没用过。。。楼主用完能够分享下经验
【四楼】将一个子模块单独综合后,会获得ngc文件或者edif文件。在调用模块的时候,仅需将.ngc 文件放在工程目录下。详细过程查阅xilinx官方手册。 附:常见文件类型说明 XCO: This file contains core options and parameters. EDN/NGC: This is the implementation netlist for the IP cores which output netlists. It is passed on to the Translate (NGDBuild) process. SYM: This schematic symbol is automatically generated for instantiating the IP in a schematic. VHO or VEO template files: These files are automatically generated for instantiating the IP in an HDL file. VHD or V simulation wrapper files: These files are provided for simulation of IP cores which output netlists. VHD or V source-code files: These files are the actual source-code required for both synthesis and simulation of IP cores which output source-code.

【五楼】今天试了试好像还挺容易的。 只要把将一个子模块单独综合,把综合属性里的“Add I/O Buffers”去掉,综合,生成的ngc网表再加上你本身作的一个wrapper文件(就是只有端口列表的.v或者.vhd文件),就能够调用了了。 wrapper文件里要注明: // XST black box declaration // box_type "black_box" // synthesis attribute box_type of sdram_top is "black_box" 不过要注意的是,若是代码里例化了I/O Buffer的话,去掉这个综合选项是不会将例化的buffer删除的。这种状况下,别人用你的IP的时候就要注意了,不能重复添加buffer。 详细的请参考:http://www.xilinx.com/support/answers/34771.htm

转自:http://forum.eepw.com.cn/thread/208146/1

 

=======================第五篇=======================
【楼主】求助:如何将本身写的verilog模块封装成IP核

本身写了一些verilog模块,想封装成IP核或者相似的黑盒,以防误改,也能够给别人用(但是不想让别人看到源码),请教有什么方法吗?

【一楼】好像是能够这么作的. 小版印象中,在ISE中作XST综合的时候,去掉"Insert IO Buffers",而后给别人一个ngc netlist和blackbox wrapper.

具体信息,你能够在xilinx的主页搜索 blackbox.应该有具体的方法参考.

【五楼】SuperX-man说的就能够实现。把综合选项里的“Add I/O Buffers”去掉,综合,生成的ngc网表再加上你本身作的一个wrapper文件(就是只有端口列表的.v或者.vhd文件),就能够交给别人用了。不过要注意的是,若是代码里例化了I/O Buffer的话,去掉这个综合选项是不会将例化的buffer删除的。这种状况下,别人用你的IP的时候就要注意了,不能重复添加buffer。
看看这个:http://www.xilinx.com/support/answers/34771.htm

转自:http://bbs.21ic.com/icview-201989-1-1.html

 

=======================第六篇=======================

【楼主】如何将本身写的VHDL/verilog模块封装成IP核?

看到以前的一个帖子,“把综合选项里的“Add I/O Buffers”去掉,综合,生成的ngc网表再加上你本身作的一个wrapper文件(就是只有端口列表的.v或者.vhd文件)”,不明白的是wrapper文件的格式是什么,哪位大侠给个例子看看,谢谢!

【一楼】就是把你综合网表时候的顶层文件加以修改就好了.
VHDL的话就是留下entity和一个空的architecture.
Verilog就是留下port.
而后把这个文件和综合出来的NGC文件放在同一目录下就好了.

【二楼】

 

ls正解。
具体原理是这样的:
Xilinx ISE中的综合工具XST在综合时候会将只有IOport的VHDL和verilog模块综合成一个blackbox。
在map和P&R的时候,xilinx的工具会在项目工程的根目录下找各个blackbox对应的ngc文件。若是找到,就替换掉blackbox,不然就报错。
因此想要封装成IP的话,一个是要不包含IO Buffer的ngc文件,用于Mapping和P&R,另外一个就是仅包含IOPORT的verilog或VHDL文件,用于XST工具综合。但这两个文件的模块名称和IOPORT必需要一致

引自:http://www.eefocus.com/bbs/article_1103_175879.html

 

文章转自:http://blog.csdn.net/jbb0523/article/details/7846921

相关文章
相关标签/搜索