輸入時鐘,
輸入復位,
輸出寄存器[2:0] ledout//綠色、黃色和紅色
reg [1:0] state,nstate
始終@(復位、狀態、計數)
開始
if(reset==1'b1)開始
nstate = 2 ' b0
結束
else beign
案例(州)
2'b0:開始
if(cnt==12'd1999)
nstate = 2 ' b 1;
結束
2'b0:開始
if(cnt==12'd1999)
nstate = 2 ' b2
結束
2'b0:開始
if(cnt==12'd1999)
nstate = 2 ' b0
結束
默認值:nstate = 2 ' b0
結束案例
結束
始終@ (posedge時鐘或posedge復位)
開始
if(reset==1'b1)開始
狀態= 2 ' b0
結束
else beign
狀態& lt= nstate
結束
結束
reg[11:0]CNT;
始終@(posedge時鐘或posedge復位)
開始
if(reset==1'b1)開始
cnt & lt= 12 ' d0;
結束
否則開始
案例(州)
2'b00:開始
ledout & lt= 3 ' b 100;
if(cnt==12'd1999)開始
cnt & lt= 12 ' d0;
結束
否則開始
cnt & lt= CNT+1;
結束
結束
2'b01:開始
ledout & lt= 3 ' b 100;
if(cnt==12'd999)開始
cnt & lt= 12 ' d0;
結束
否則開始
cnt & lt= CNT+1;
結束
結束
2'b10:開始
ledout & lt= 3 ' b 100;
if(cnt==12'd1999)開始
cnt & lt= 12 ' d0;
結束
否則開始
cnt & lt= CNT+1;
結束
結束
結束案例
結束
末端模塊