在verilog HDL語言裡面case語句分支表示範圍,如3 80該怎麼寫

時間 2021-10-15 00:20:52

1樓:匿名使用者

可以在一個always @語句中定義一個狀態變數state,比如在3——80時是state=1,當然也可以用邏輯語句。然後再在主狀態機裡進行對於state的判斷。

2樓:匿名使用者

比如你定義一個14位狀態變數a_cnt[13:0],那麼**編寫如下:

alawys @(*)

begin

case(a_cnt[13:0])

14'b00000000000011://3begin

#######

end14'b00000000000100://4begin

#######

end。。。

14'b00000001010000://80begin

#######

enddefault

begin

endendcase

end個人認為是這樣,或者是我理解錯了你的意思。

不過你要是從3寫道80,這樣太麻煩了,你可以用巢狀來寫就簡單多了。有問題大家繼續討論。

3樓:匿名使用者

case語句只能全部列出來。用case語句有利於對電路狀態的裁割,可以適當提高工作時脈頻率,而用if語句不行,所以用case語句還是好些的,只是多列一些而已。。

4樓:

如果是範圍的話,case語句要全部列出的,還不如用if語句方便

Verilog hdl求解這裡面賦值變換,乘法器,加法器

第一行應該是 include timescale.v 1 parameter dwidth 8 定義引數dwidth為常量8 2 input dwidth 1 0 din 輸入變數8位位寬din 3 reg 暫存器,always模組內被賦值的每一個訊號都必須定義為reg型 wire wire型資料常...

在c語言裡面宣告指標並用malloc賦值與與直接宣告變

區別當然是有的 link n 申明結構體實體 n 結構體地址 link n 申明結構體指標 n malloc sizeof link 讓結構體指標指向申請的記憶體空間,需要free釋放 後者需要釋放並且申請大小靈活 希望對你有幫助 戀v天真 首先你得明白malloc函式的作用 malloc函式是在記...

C語言if語句條件的巢狀,C語言裡面if語句的巢狀看不懂

有,就是逗號表示式 定義如下 逗號表示式 c語言提供一種特殊的運算子,逗號運算子,優先順序別最低,它將兩式聯接起來,如 3 5,6 8稱為逗號表示式,其求解過程先表達示1,後表達示2,整個表達示值是表達示2的值,如 3 5,6 8的值是14。a 3 5,a 4的值是60 紫翼魔狼 if k2,k1 ...