请教verilog的语句解析.assign a= (b=1)?(c && d) 1'b1:1'b0:1'b0;这两个问号是如何对应给a赋值的?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/24 13:54:30
xRN0~_VdgI !MPQ4F
E?)
/8o8 $cǶ^)r8?n~Z_z߸7/쬛7Օ5b$kZn9[")父`i8ɴGMsˎ=Y @uk65ԅJQ/p00|m637olo`ǽ@5
>o14h_J)0{Wmǧ?K[6#v8P(JWP 7Oi'MiFsѼa.!t/zwntr.Z9%Ҙ%!TlǔTAM/lRY~C|~[0ۥ1ç;9vj4dɔS5гB>S # "초J49D`jy2C/T+Z1}zh=
请教verilog的语句解析.assign a= (b=1)?(c && d) 1'b1:1'b0:1'b0;这两个问号是如何对应给a赋值的?
请教verilog的语句解析.assign a= (b=1)?(c && d) 1'b1:1'b0:1'b0;
这两个问号是如何对应给a赋值的?
请教verilog的语句解析.assign a= (b=1)?(c && d) 1'b1:1'b0:1'b0;这两个问号是如何对应给a赋值的?
写的代码风格不好,致使别人很难理解,如果加上括号就好理解了.
assign a= (b=1)?((c && d) 1'b1:1'b0) :1'b0; 我在后面加上括号
先判断b的值,不过我认为verilog中的等于应该是==而不是=吧,也可以直接写(b),
1.如果b等于0,则a的值就是0,不管你的cd是多少.
2.如果b=1,则进入我加的括号里面的那个问号判断,这时候再判断c&&d的值,如果是1,a=1,如果是0,a=0
所以我们可以给出真值表 tab
b 0 1 1 1 1
c x 1 0 0 1
d x 1 0 1 0
a 0 1 0 0 0
1111