我一直在尝试使用 Xilinx SystemC 找到指定给 Verilog 内核的整数的绝对值,我所看到的是 Verilog 将负数视为正数。
我已经尝试了所有数据类型:signed int
、、、int
。Xuint32
我的 SystemC 或 Xilinx C 代码是:
signed int data,value;
data=-20;value=0;
putfsl(data,0);
getfsl(value,0);
signed int data1,value1;
data=20;value=0;
putfsl(data1,0);
getfsl(value1,0);
获得变量值后,我将它们打印在超级终端上。
在我的 Verilog 方面,代码是:
out <=(in<0)?-in:in;
我也试过这段代码,但结果相似
if(in<0)
out=-in;
else
out=in;
请帮帮我!
我也尝试过其他数据类型并更改了参数,但结果并没有解决我总是得到我输入的相同数字,即
in<0
声明不是真的,我也试过了in<=0;