作者yaote ()
看板Electronics
標題Re: [問題] verilog語法問題
時間Wed Jan 30 00:52:14 2008
※ 引述《yaote ()》之銘言:
: 小弟最近寫verilog遇到一些問題
: reg input
: always@(posedge Clk or negedge nReset)
: begin
: if(State ==2 )
: input <= 1;
: end
: 照理來說,這邊的input將會在下一個Clk cycle才會賦值,並不會在當下給值,
: 因為他宣告為reg,我要怎麼用才會進去那個state馬上給值呢?
感恩,接下來有各問題,如果我把他改寫成
always@(posedge Clk or negedge nReset)
begin
if(State == 2)
begin
if(enable) input<=1;
else input<=0;
if(counter == 10)
State <= 3;
end
end
如果我把他在加個counter迴圈和enable,counter沒滿就繼續在State2然後如果看
enable=1就input=1,可是這樣寫也如同上面會再下一個clock cycle給值,如果按
照之前大大所寫的再下面做一個always@(State)這樣會馬上賦值,可是他在State改
變的時候才會重新給input值,我counter沒滿State維持不變,這樣input也不會跟
著改變,然後我又不想多一個State來判斷enable,該怎麼辦?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 152.78.254.5
※ 編輯: yaote 來自: 152.78.254.5 (01/30 00:52)
1F:→ bakerly:把input 和enable 加到你的sensitivily list裡去 01/30 10:28
2F:→ bakerly:寫.錯...input 不用於進去 01/30 10:31