在 case 语句 case(s) 中,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
这会给我一个语法错误,有没有办法避免这种情况?
我不想把它定义为真实的,因为我想合成这段代码。
在 case 语句 case(s) 中,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
这会给我一个语法错误,有没有办法避免这种情况?
我不想把它定义为真实的,因为我想合成这段代码。
如果只s
设置了一位(one-hot),您可能可以使用“案例语句中的常量表达式”(参见免费IEEE Std 1800-2012的第 12.5.2 节):
case (1'b1)
s[0] : y=a1;
s[1] : y=a2;
s[127]: y=a64;
endcase