門級建模就是將邏輯電路圖用HDL規定的文本語言表示出來,即調用Verilog語言中內置的基本門級元件描述邏輯圖中的元件以及元件之間的連接關系。
Verilog語言內置了12個基本門級元件模型,如下表所示。門級元件的輸出、輸入必須為線網類型的變量。
1.多輸入門
and、nand、or、nor、xor和xnor是具有多個輸入的邏輯門,它們的共同特點是:只允許有一個輸出,但可以有多個輸入。and的一般調用格式為:
and A1(out, in1, in2, in3);
其中,調用名A1可以省略。nand、or、nor、xor和xnor的調用格式與and的類似。
2.多輸出門
buf、not是具有多個輸出的邏輯門,它們的共同特點是:允許有多個輸出,但只有一個輸入。一般的調用格式為:
buf B1(out1, out2,..., in);
not N1(out1, out2,..., in);
其中,調用名B1、N1可以省略。
3.三態門
bufif1、bufif0、notif1和notif0是三態門元件模型。這些門有一個輸出、一個數據輸入和一個輸入控制。如果輸入控制信號無效,則三態門的輸出為高阻態z。一般的調用格式為:
bufif1 B1(out, in, ctrl);
bufif0 B0(out, in, ctrl);
notif1 N1(out, in, ctrl);
notif0 N0(out, in, ctrl);
其中,調用名B1、B0、N1和N0可以省略。
例1:
1 module _2to1muxtri(A, SEL, L); 2 3 input A, SEL; 4 output L; 5 tri L; 6 7 bufif1(L, A, SEL); 8 9 endmodule