Verilog 以十进制形式显示补码

Verilog 以十进制形式显示补码,verilog,Verilog,我正在为一个数字设计课程做一个Verilog项目,我的项目是创建一个计算器,其中包括一个16b有符号输入的补码,并在模拟器的监视器中以十进制形式显示它 这是我的测试台监视器: $monitor ("opCode(%b),in1(%d),in2(%d),result(%d),overflow(%b)", opCode, in1, in2, result, overflow); 我无法让模拟器以负十进制表示显示输入的补码。这只是模拟器不会显示的东西,还是$monitor的问题?所有其他结果均正确显

我正在为一个数字设计课程做一个Verilog项目,我的项目是创建一个计算器,其中包括一个16b有符号输入的补码,并在模拟器的监视器中以十进制形式显示它

这是我的测试台监视器:

$monitor ("opCode(%b),in1(%d),in2(%d),result(%d),overflow(%b)", opCode, in1, in2, result, overflow);
我无法让模拟器以负十进制表示显示输入的补码。这只是模拟器不会显示的东西,还是
$monitor
的问题?所有其他结果均正确显示为十进制

结果显示如下输出。它显示的补码结果显示为65526,应该是-10。上面和下面的结果分别正确显示为15和11

opCode(0111),in1(10),in2(5),result(15),overflow(0)
opCode(1000),in1(10),in2(5),result(65526),overflow(1)
opCode(1001),in1(10),in2(5),result(11),overflow(0)

尝试将
结果
声明为
已签名

reg签名[15:0]结果

(见附件)