在案例陈述案例中,s的n值增加2的幂。
input[127:0] s
output[127:0] y
case(s)
128'b1: y=a1;
128'b2: y=a2;
...
当它变为2 ^ 64时,数字是如此之大,它将由科学记数法自动表示,例如。
128'b1.84467e19: y=a64
这会给我一个语法错误,有没有办法避免这种情况?
我不想将其定义为真实,因为我想合成这段代码。
答案 0 :(得分:2)
如果只设置了s
的一位(一热),您可以使用“case case中的常量表达式”(参见免费IEEE Std 1800-2012的§12.5.2):
case (1'b1)
s[0] : y=a1;
s[1] : y=a2;
s[127]: y=a64;
endcase