Я пытался найти абсолютное значение целого числа, которое назначено ядру Verilog с помощью Xilinx SystemC. Я видел, что 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;