Vivado綜合屬性系列之十二 BLACK_BOX
一、前言
????在調(diào)試中,有時(shí)不需要知道一個(gè)模塊或?qū)嵗木唧w實(shí)現(xiàn),或者需要使其對(duì)外屬于不可見,只知道它的輸入輸出,即像一個(gè)黑盒,此時(shí)可以對(duì)模塊設(shè)置BLACK_BOX屬性。
二、BLACK_BOX
????2.1 屬性說明
????Verilog設(shè)計(jì)可以包含由綜合工具、方案文本編輯器,或其他的設(shè)計(jì)輸入機(jī)制生成的EDIF文件,這些模塊也必須被實(shí)例化連接到工程中。我們可以通過對(duì)模塊設(shè)置BLACK_BOX屬性,通過對(duì)模塊實(shí)例化的每個(gè)實(shí)例都具有BLACK_BOX屬性。
????2.2 工程代碼
將BLACK_BOX模塊設(shè)計(jì)BLACK_BOX屬性,在模塊sum中進(jìn)行調(diào)用
(* BLACK_BOX *)module BLOCK_BOX(in1,in2,out? );
input in1,in2;
output out;
assign out=in1+in2;
endmodule
module sum(a,b,sum);
input a,b;
output sum;
BLOCK_BOX test(.in1(a),.in2(b),.out(sum));
endmodule
????2.3 結(jié)果
查看綜合后的網(wǎng)表圖,實(shí)例化對(duì)象test為一個(gè)黑盒,只能看出輸入輸出,無法知道具體實(shí)現(xiàn),左側(cè)網(wǎng)表列表中也是作為一個(gè)Inst存在。

運(yùn)行Implement時(shí)會(huì)報(bào)DRC錯(cuò)誤,因?yàn)樽鳛橐粋€(gè)黑盒時(shí)是無法知道其內(nèi)部實(shí)現(xiàn),因此無法Implement。

當(dāng)把屬性black_box去掉時(shí),綜合網(wǎng)表如下圖,此時(shí)Schematic直接顯示實(shí)現(xiàn)方法,
