<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 把HDL模塊用NGC格式加密并在其他項目中調用

把HDL模塊用NGC格式加密并在其他項目中調用

作者: 時(shí)間:2017-10-13 來(lái)源:網(wǎng)絡(luò ) 收藏

前面創(chuàng )新網(wǎng)網(wǎng)友Ricky Su發(fā)了篇博文《 說(shuō)說(shuō)FPGA中的黑盒子(BlackBox)》,學(xué)習了感覺(jué)很好用,最近在網(wǎng)上又找到一篇講該方面內容的文章,感覺(jué)寫(xiě)的很好轉發(fā)來(lái)與大家共享,文章如下:
這個(gè)方法其實(shí)非常簡(jiǎn)單。給出一個(gè)實(shí)例。
先用寫(xiě)出該模塊,比如:

本文引用地址:http://dyxdggzs.com/article/201710/365665.htm

module my_comp(input [3:0] i1, input [3:0] i2, output [3:0] o1 );
assign o1 = (i1 > i2)? i1: i2;
endmodule

這是一個(gè)比較大小的模塊。一看便知。

然后在ISE中建立項目,將該模塊導入,作為設計文件,復雜的設計過(guò)程也是類(lèi)似的。然后運行XST進(jìn)行綜合,綜合完成后,看看項目目錄,就能發(fā)現這個(gè)文件了。這個(gè)文件是2進(jìn)制加密的,所以,你也不用費心去研究了。即便可以用ngc2edif將其轉換成edif格式,但是對于復雜設計,得到edif也是無(wú)法還原其本來(lái)的邏輯意圖的。

到此為止,我們得到格式加密的設計文件。

注意,在制作NGC的時(shí)候,要防止把PAD或者IOB都包括進(jìn)來(lái),因為我們的NGC是要被其他項目調用的,也就是說(shuō)NGC這顆螺絲釘必須能放到任何位置去,而一旦我們把PAD和IOB也包括進(jìn)來(lái),則NGC將只能放在客戶(hù)項目的邊界接口位置,這和實(shí)際情況是相反的,實(shí)際情況我們的NGC只作為內部的一個(gè)部分,這就造成客戶(hù)項目最終PR失敗。
防止NGC帶有IOB、PAD的方法: 找到ISE中的Synthesize-XST,然后右鍵打開(kāi)屬性,在category的Xilinx Specific OpTIons中將下列兩項disable掉。
- iobuf Add I/O Buffers
- iob Pack I/O Registers into IOBs (這個(gè)選NO即可)

好了,現在假設其他項目(我們的客戶(hù)項目)要調用這個(gè)加密模塊,怎么做呢?
首先加密后的模塊是2進(jìn)制的,無(wú)法在綜合的時(shí)候使用,我們的方法是制作一個(gè)等價(jià)的black box。所謂黑盒,其實(shí)就是一個(gè)只有接口,沒(méi)有實(shí)現的模塊。比如,上例的黑盒,就是這個(gè)樣子。

module my_comp(input [3:0] i1, input [3:0] i2, output [3:0] o1 );

endmodule

去掉中間的實(shí)現部分就可以了。

先給大家提供一個(gè)客戶(hù)項目的例子。

module my_comp(input [3:0] i1, input [3:0] i2, output [3:0] o1 );

my_comp u1 (
.i1 (i1 + 4h1),
.i2 (i2 + 4h2),
.i1 (i1),
);
endmodule

客戶(hù)項目的代碼,加上我們制作的黑盒代碼,一起載入到ISE項目中,然后運行XST綜合即可得到新項目的網(wǎng)表,當然,因為我們提供的是黑盒,所以對應的設計結果也仍然是黑盒。那么什么時(shí)候來(lái)替換黑盒呢?

在這個(gè)階段,是要真正替換黑盒的時(shí)候。其實(shí)要做的很簡(jiǎn)單。
我們把生成的NGC文件放到客戶(hù)項目的工作目錄內——工作就完成了。
P—R進(jìn)行的時(shí)候,進(jìn)行最終的黑盒替換,ISE會(huì )試圖在工作目錄或者其他指定的路徑尋找黑盒的替代,所以我們把NGC放在了工作目錄下。

接下來(lái)運行implementaTIon,你會(huì )發(fā)現一路工作正常,太爽了~



關(guān)鍵詞: NGC HDL

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>