作者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