always語句包括的所有行為語句構成了一個always語句塊。該always語句塊從仿真0時刻開始執行其中的行為語句;最后一條執行完成后,再開始執行其中的第一條語句,如此往復循環,直到整個仿真結束。因此,always語句塊常用於對數字電路中一組反復執行的活動進行建模。比如大家熟知的時間信號發生,每半個時鍾周期時鍾信號翻轉一次。
always @(posedge clock) begin ...... end
這就是條件循環語句了。
下面是今天做個一個小例子,4-2線編碼器:
給出激勵文件:
`timescale 100ns/1ns module testbench ; wire [1:0] y ; reg [3:0] a ; enc4to2 DUT ( .y (y ) , .a (a ) ); initial begin a[0]=0; a[1]=0; a[2]=0; a[3]=1; end always #2 begin a[0]=~a[0]; end always #4 begin a[1]=~a[1]; end always #6 begin a[2]=~a[2]; end always #8 begin a[3]=~a[3]; end endmodule