Verilog語言if else的使用,在quartus中

2021-05-02 11:30:17 字數 796 閱讀 3201

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...