作者Zephyr750 (红莲西风750)
看板Electronics
标题Re: [问题] 请问一个Verilog语法问题
时间Wed Jun 15 23:40:51 2011
※ 引述《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
: 请问可以这样写吗? 还是该怎麽写呢?
: 感谢~
//合成一个....不知道什麽东西的逻辑电路XDDD
//它不受clk控制,输出因输入改变马上反应
assign xEn = (sel<20)? 2'b01 : (sel<50)? 2'b10 : 2'b11 ;
always@(posedge clk) //合成一个2bit的多工器(再加正反器做时序控制)
begin
if(xEn == 00) xxx;
else if(xEn == 01) oxox;
else if(xEn == 10) xoxo;
else oo;
end
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.33.224.25
1F:→ sasako:这种写法会有priority 假如想parallel 还是得换写法 06/16 08:36
2F:→ sasako:不过结果会是相同的 06/16 08:36
3F:→ sasako:要加上clk还是加上reset比较好 不然用nLint检查语法 会叫错 06/16 08:40