如何打印存储在声明为的8位寄存器中的有符号整数值
reg [7:0] acc;
运用
$ display("acc:%d",acc)
它打印无符号值.
什么是$ display函数的正确语法?
小智 7
也遇到了这个问题并查看了 SystemVerilog 2012 标准,但在关于格式说明符的部分中没有看到任何关于签名的提及。这是一个同样有效的替代(基本等效)解决方案:
$display("acc : %d", $signed(acc))
Run Code Online (Sandbox Code Playgroud)
"$signed" 函数将输入值转换为具有相同位宽的有符号类型。
如果您声明reg为signed,$display将显示减号:
module tb;
reg signed [7:0] acc;
initial begin
acc = 8'hf0;
$display("acc : %d", acc);
end
endmodule
/*
Prints out:
acc : -16
*/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12542 次 |
| 最近记录: |