关于verilog中 if else 的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于verilog中 if else 的问题相关的知识,希望对你有一定的参考价值。

请问 reg sw_state;
always@(posedge clk or negedge rst_n)
begin
if(!rst_n) sw_state<=1'b0;
else if(sw1_en) sw_state<=1'b0;
else if(sw2_en) sw_state<=1'b1;
else ;////////
end
//////这里的 else表示的是什么意思?是else sw_state<=1'b0;的意思吗?还是其他什么功能?

没有其他功能,如果else后不写赋值语句的话这个else写不写都一样,都会综合出带反馈的D触发器,因为到达这条语句时,在其他条件都没满足的条件下寄存器需要保持原值。不过如果你在这个else后给寄存器赋值比如
else sw_state<=1'b0;
就不会有带反馈的D触发器了
参考技术A if(midwd<wen<highwd) 这个条件怎么执行?
if((wen>midwd)&&(wen<highwd))
希望对你能有所帮助。

system Verilog 的inside语法

rand bit[31:0] len,src,dst;
.....
src inside 0,[2:10],[100:107];
请问第二个语句是什么意思?

src是一个随机的32bit的数据,然后第二句的意思是src随机生成时数据的范围是0, 2:10, 100:107之内。追问

谢谢

参考技术A 通常我们在判断a的值的时候都是主动去寻找a的某个特定值(if(a=0);),所以个人建议你以后写程序不要主动去判断是不是不定值,系统无法判断,
先判断是不是某个具体的值,在从else中获取不定值
if
(a=0)


else
要执行的代码

以上是关于关于verilog中 if else 的问题的主要内容,如果未能解决你的问题,请参考以下文章

verilog中if else中能套if else吗,有啥错误啊,为啥??? case中能套if else吗 case中能套case吗

verilog要用到的if else太多怎么办

Verilog语言if-else 的使用,在quartus中仿真出了问题

嵌入式一招规范Verilog的if...else语句

verilog里边的if语句形式,求大神解释下图片中的

Verilog 位拼接运算符的优先级问题