Verilog 打印存储在reg类型变量中的有符号整数值

Verilog 打印存储在reg类型变量中的有符号整数值,verilog,xilinx,Verilog,Xilinx,如何打印存储在声明为以下内容的8位寄存器中的有符号整数值: reg [7:0] acc; 使用: $display("acc : %d", acc) 它打印无符号值 $display函数的正确语法是什么?如果将reg声明为带符号的,$display将显示减号: module tb; reg signed [7:0] acc; initial begin acc = 8'hf0; $display("acc : %d", acc); end endmodule 打印出:

如何打印存储在声明为以下内容的8位寄存器中的有符号整数值:

reg [7:0] acc;
使用:

$display("acc : %d", acc)
它打印无符号值


$display
函数的正确语法是什么?

如果将
reg
声明为带符号的
$display
将显示减号:

module tb;

reg signed [7:0] acc;

initial begin
    acc = 8'hf0;
    $display("acc : %d", acc);
end

endmodule
打印出:

acc :         -16

也遇到了这个问题,并且查看了SystemVerilog 2012标准,但是在关于格式说明符的部分中没有看到任何关于签名的内容。这里有一个替代方案(基本上是等效的)也能起作用:

$display("acc : %d", $signed(acc))
“$signed”函数将输入值转换为具有相同位宽的有符号类型