Ch3邏輯閘層次 Gate Level
3.1 基本邏輯閘
3.2 使用方法
使用方法:
<閘名稱> <閘編號> ( 輸出埠, 輸入埠1, 輸入埠2… );
閘名稱:使用的邏輯閘名稱( ex. and, or, nor... )
閘編號:給予該閘名稱或編號,可不寫,交由軟體處理
輸出埠:輸出埠只能有一個,並且寫在最前面
輸入埠:輸入邏輯閘的資料口,需使用逗號分別
範例:
………
wire w1, w2;
and and1( w1, In1, In2 ); // w1 = In1 and In2
or or1( w2, w1, In2 ); // w2 = w1 or In2
xor xor( Out, w1, w2 ); // Out = w1 xor w2
// 最後out = ( In1 and In2 ) xor ( w1 or In2 )
= ( In1 and In2 ) xor (( In1 and In2 ) or In2 )
………
3.3 實際範例
一位元全加器
程式碼:
module Full_Adder( A, B, Cin, Sum, Cout );
input A, B, Cin;
output Sum, Cout;
wire W1, W2, W3;
xor xor1( W1, A, B );
and and1( W2, W1, Cin );
and and2( W3, A, B );
xor xor2( Sum, W1, Cin );
or or1( Cout, W2, W3 );
endmodule