verilog语言中assign d_x=(x_t==2✀b11)?0:(x_t==2✀b00)?0:1怎么理解?

2025-02-25 23:29:21
推荐回答(3个)
回答1:

这样写你可能会明白一点
if (x_t == 2'b11)
d_x = 0;
else if (x_t == 2'b00)
d_x = 0;
else
d_x = 1;

用中文说就是:
(1)如果x_t等于2'b11, 那么d_x等于0
(2)如果条件(1)不满足,并且x_t 等于2'b00, 那么d_x 等于0
(3) 如果条件(2)不满足,那么d_x等于0

回答2:

条件赋值,首先判断条件1:x_t==2'b11,然后是条件2:x_t==2'b00,其他条件d_x=1

回答3:

x_t==2'b11 是真的吗?

真的 执行d_x=0
假的 执行(x_t==2'b00)?0:1

x_t==2'b00是真的吗 真的 d_x=0
假的 d_x=1