作者et3003 (維力雜醬麵)
看板Electronics
標題Re: [問題] 請問一個Verilog語法問題
時間Mon Jun 13 22:53:01 2011
恩恩 當然這樣的語法是不行的,
基本上你所舉的例子若總共有100種條件的話,
請先換算成2進制去判斷,首先就是條件sel,
最少要有7bit 去描述.
舉例若你希望0~20的條件一樣的話,
條件可寫如下,
casex(sel)
7'b000xxxx, //(00~15)
7'b00100xx, //(16~19)
7'b0010100: XXXXXXX;//(20)
當然, 其他條件21~50 , 51~100 就依此去寫.
當然你這問題算是基礎的verilog 語法
建議可以先參考一下入門書籍,再來寫會比較好.
※ 引述《potatojerry (智)》之銘言:
: 請問一下Verilog的case語法,如果選擇的是一個範圍時,要怎麼寫呢?
: EX.
: always@(sel)
: begin
: case(sel)
: 0: xx
: 1: xx
: .....
: 100:
: endcase
: end
: 若 0~20, 20~50, 50~100三個要選擇的範圍都一樣
: 這樣
: case(sel)
: <20: xx
: 20<, <50: oo
: 50<=, <100: xxx
: endcase
: 請問可以這樣寫嗎? 還是該怎麼寫呢?
: 感謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.110.223.70
1F:→ ViewMoon:我現在都放給 synthesiser 去 optimize 了, 不寫 casex 06/13 23:30
2F:→ ViewMoon:較 readable, 且 synthesiser 不見得會弄出太大 area 06/13 23:30