我有一個關於如何在verilog模塊中編寫always塊的簡單問題。
如果我在我的Verilog模塊以下輸入:Verilog總是禁止使用(*)符號
input [31:0] PCplus4 ; // Value of PC + 4
input [31:0] A; // Value A, i.e. RSbus (Use Forwarded Value)
input [31:0] B; // Value B, i.e. RTbus (Use Forwarded Value)
input [31:0] IMM; // Extended Immediate Value
input [25:0] TARGET; // Target Address for Jumps
input [3:0] BR; // Branch Selector Input
有什麼區別,如果我使用
always @ (*)
,而不是
always @ (PCplus4 or A or B or IMM or TARGET or BR)
這是否總是@(*)語法對所有版本的Verilog有效?
值得一提的是,SystemVerilog引入了'always_comb'(和'always_ff' /'always_latch'),它們使工具鏈能夠對設計者的意圖做一些額外的檢查。 – Chiggs 2014-01-03 08:49:16