我注意到 Verilog 将我的实数结果四舍五入为整数结果。例如,当我查看模拟器时,它显示 17/2 的结果为 9。我该怎么办?无论如何定义类似 a: 的东西output real reg [11:0] output_value
吗?还是必须通过模拟器设置来完成?
仅模拟(无合成)。示例:
x 定义为有符号输入,output_value 定义为输出 reg。
output_value = ((x >>> 1) + x) + 5;
如果 x=+1 则输出值必须是:13/2=6.5
。
但是,当我模拟时,我看到了output_value = 6
.