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

相關文章
相關標籤/搜索