ザイリンクスSystemCを使用してVerilogコアに指定された整数の絶対値を見つけようとしていますが、Verilogは負の数を正の数として扱うことがわかりました。
私はすべてのデータ型を試しました: signed int
、、。int
Xuint32
私のSystemCまたはザイリンクス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;