MIPSアーキテクチャ用のALUを開発しています。ALUが任意のビット数だけシフトできるように、左シフトと右シフトを試行しています。右シフトと左シフト(SLL/SRL)
私が持っていたアイデアは、シフト値を整数に変換し、結果になるエントリを選択することです(整数はXに格納されます)。しかし、Quartusは可変値を受け入れません定数。
これを行うにはどうすればよいですか? (ケースは "WHEN" 1000 "=> ..."と "WHEN" 1001 "=> ..."の行にあります)
ありがとうございます。
PROCESS (ALU_ctl, Ainput, Binput, X)
BEGIN
-- Select ALU operation
--ALU_output_mux <= X"00000000"; --padrao
CASE ALU_ctl IS
WHEN "1000" => ALU_output_mux(31 DOWNTO X) <= (Ainput(31-X DOWNTO 0));
WHEN "1001" => ALU_output_mux(31-X DOWNTO 0) <= (Ainput(31 DOWNTO X));
WHEN OTHERS => ALU_output_mux <= X"00000000";
END CASE;
END PROCESS;
私はVHDLで作業してから約3年経ちましたが、それでもVortex 3ボードにありました。あなたは電線、入力と出力を定義する必要はありませんか、私の記憶に失敗していますか?私はQuartusがあなたのIDEだと私は考えています。全く別のものを使いました。 –