2 回答

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊
你也就是想讓下面的語(yǔ)句執(zhí)行2次對(duì)吧,可以用計(jì)數(shù)器實(shí)現(xiàn)。程序開始計(jì)數(shù)器初值賦0;比如說(shuō)S2狀態(tài)可以像下面這樣寫:
s2:begin
if(cnt==1)
begin
cnt<=0;
next_state<=S 3;
end
else
begin
cnt<=cnt+1;
next_state<=S2;
end
end

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
always@(state or x)
這是個(gè)組合邏輯電路
然后你在內(nèi)部用 @(posedge clock)這是個(gè)時(shí)序邏輯電路
你還是沒(méi)理解代碼與硬件映射的關(guān)系
請(qǐng)參考標(biāo)準(zhǔn)狀態(tài)機(jī)寫法
always@(posedge clock or negedge reset_n)begin
if( !reset_n)
CurrState <= 4'b0;
else
CurrState <= NextState;
end
always@(*) begin
NextState = CurrState;
case(CurrState)
State0:
if(...)
NextState = State1;
State1:
if(...)
NextState = State2;
....
default: ....;
endcase
end
添加回答
舉報(bào)