-7

在 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

这会给我一个语法错误,有没有办法避免这种情况?

我不想把它定义为真实的,因为我想合成这段代码。

4

1 回答 1

2

如果只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
于 2013-07-22T17:50:29.493 回答