1樓:
你沒有告訴uprequest和downrequest的初始值設為多少。
貌似幾個觸發訊號都曾出現1的值,因此,每乙個條件語句都執行了一遍,而uprequest初始值的首位肯定是0,downrequest的初始值末位肯定是0,所以才會出現這種情況
2樓:匿名使用者
always@(out_fourdn or out_threedn or out_threeup or out_twodn or out_twoup or out_oneup)
begin
if(out_fourdn)downrequest<=(downrequest | 4'b1000);
else if(out_threedn)downrequest<=(downrequest | 4'b0100);
else if(out_threeup)uprequest<=(uprequest | 4'b0100);
else if(out_twodn)downrequest<=(downrequest | 4'b0010);
else if(out_twoup)uprequest<=(uprequest | 4'b0010);
else if(out_oneup)uprequest<=(uprequest | 4'b0001);
end這回再試試
3樓:慈航靜士
組合邏輯中不要使用非阻塞賦值,你這樣綜合的是latch
另外乙個event裡只對乙個訊號進行描述
不要寫點野路子的東西,可讀性差
verilog語言問題verilog語言問題
是什麼意思?中英符號都看不懂嗎?vo data 7 只是說等於data的第8位,只有1bit,而vo定義的是2bit。在香港澳門和海外,就是一種語言,但在國內廣東廣西就是方言,可以這樣理解?程式的問題最好還是自己多多除錯一下 上網看看 方言和地方語言 二進位制只有0和1,把裡邊的1和2分別換成0和1...
Verilog語言中如何用「case」何「if」語句分別用兩方法設計4 2解碼器
用case的方法 module decoder 4to2 input wire 3 0 in4 output wire 1 0 out2 always begin case in4 4 b0001 out2 2 b00 4 b0010 out2 2 b01 4 b0100 out2 2 b10 4 ...
在Verilog語言中是什麼意思
前 用的,無法綜合的。例如 5 data in data tmp 就是延遲5個時間單位後 在進行複製。具體延遲多少,得看你的 timescale timescale n n 根據這個來看你具體延遲的時間 verilog hdl是一種硬體描述語言 hdl hardware description la...