[問題] verilog語法問題

看板Electronics作者時間16年前 (2008/01/30 00:21), 編輯推噓2(205)
留言7則, 2人參與, 最新討論串4/7 (看更多)
小弟最近寫verilog遇到一些問題 reg input always@(posedge Clk or negedge nReset) begin if(State ==2 ) input <= 1; end 照理來說,這邊的input將會在下一個Clk cycle才會賦值,並不會在當下給值, 因為他宣告為reg,我要怎麼用才會進去那個state馬上給值呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 152.78.254.5

01/30 00:26, , 1F
你的觀念錯誤了,是因為你宣告posedge Clk,input才會慢一個
01/30 00:26, 1F

01/30 00:27, , 2F
clock cycle出來,不是因為宣告reg,你如果要讓他在當個時脈
01/30 00:27, 2F

01/30 00:27, , 3F
週期就將值送進去,要將sensitive list改成always@(State)
01/30 00:27, 3F

01/30 00:29, , 4F
另外因為先在變成sequential logic,下面最好改成blocking
01/30 00:29, 4F

01/30 00:30, , 5F
input = 1;
01/30 00:30, 5F

01/30 00:31, , 6F
打錯了,是combinational logic,非sequential logic
01/30 00:31, 6F

01/31 21:07, , 7F
用wire
01/31 21:07, 7F
文章代碼(AID): #17dr9sMT (Electronics)
討論串 (同標題文章)
文章代碼(AID): #17dr9sMT (Electronics)