私は助けが必要です。私は+2048と-2048の間で自分の値をクリップしようとしていますが、これはstd_logic_vector( "111111111111100000000000000000000000"と "000000000000100000000000000000000000")にあります。vhdlリレーショナルオペレーション
--Saturate the output to -2048 to +2048
saturate1:process (x1,x2)
--variable sum, tmp :std_logic_vector(WWidth downto 0);
begin
y11 <= x1+x2;
if y11 >= "000000000000100000000000000000000000" then
y <= "000000000000100000000000000000000000";
elsif y11 >= "111111111111100000000000000000000000" then
y <= "111111111111100000000000000000000000";
else
y <= y2fullwidth;
end if;
end process saturate1;
はY11、X1、X2およびyは、すべてのタイプのSTD_LOGIC_VECTORある
この問題が生じていますなぜ、私は私のコードのスニペットを添付しています。 ありがとうございます。
あなたは間違っていないですが... –
はありがとう@Matthewテイラー、私は変数を使用してそれを解決することができました、あなたのメソッドは私が以前と同じエラーを与えて動作しませんが、私は努力を感謝します。 – Dammy