Verilog HDL基礎(chǔ)知識(shí)3之抽象級(jí)別
Verilog可以在三種抽象級(jí)別上進(jìn)行描述:行為級(jí)模型、RTL級(jí)模型和門級(jí)模型。
行為級(jí)(behavior level)模型的特點(diǎn)如下。
1、它是比較高級(jí)的模型,主要用于testbench。
2、它著重于系統(tǒng)行為和算法描述,不在于系統(tǒng)的電路實(shí)現(xiàn)。
3、它不可以綜合出門級(jí)模型。
4、它的功能描述主要采用高級(jí)語言結(jié)構(gòu),如module、always、initial、fork/join/task、function、for、repeat、while、wait、event、if、case、@等。
RTL級(jí)(register transfer level)模 型的特點(diǎn)如下。
1、他是比較低級(jí)的模型,主要用于ASIC和FPGA設(shè)計(jì)。
2、它著重于描述功能塊內(nèi)部或功能塊之間的數(shù)據(jù)流和控制信號(hào),重點(diǎn)在于電路實(shí)現(xiàn),在于如何在timing、area和power中作出平衡。
3、它可以綜合出門級(jí)模型。
4、它的功能描述主要采用可以綜合的語言結(jié)構(gòu),如module、always、for、case、if、assign、@、continuoous assignment、blocking/nonblocking assignment等。
門級(jí)(gate level)模型的特點(diǎn)如下。
1、它是更加低級(jí)的模型,主要用于后端的物理實(shí)現(xiàn)。
2、它是實(shí)際電路的邏輯實(shí)現(xiàn)。
3、它通常是用綜合工具從RTL級(jí)模型綜合出來的。
4、它的功能描述主要采用邏輯門(gate和switch)、用戶原語(UDP)、模塊和線網(wǎng)連接。
5、它還用于開發(fā)小規(guī)模的原件,如ASIC和FPGA 的單元。
設(shè)計(jì)工程師可以在不同的設(shè)計(jì)階段采用不同的抽象級(jí)。
1、在行為級(jí)描述各功能模塊,評(píng)估系統(tǒng)和算法,以降低描述難度,提高仿真速度。
2、在RTL級(jí)描述各功能模塊,精確描述系統(tǒng)和算法。
3、綜合出門級(jí)模型,對(duì)應(yīng)于實(shí)際電路的邏輯實(shí)現(xiàn)。
例子:行為級(jí)或RTL級(jí)的MUX。
module mux (input a, b, sel,
output reg out);
always @( sel or a or b)
if (! sel) out = a;
else out = b;
endmodule例子:門級(jí)的MUX。
module mux (input a, b, sel,
output out);
not u1 (nsel, sel);
and #1 u2 (sela, a, nsel);
and #1 u3 (selb, b, sel);
or #2 u4 (out, sela, selb);
endmodule
評(píng)論