課題の一環として VHDL でマイクロプロセッサをシミュレートしようとしています。これは非常に基本的なモデルであり、すべてのオペコードを含める必要さえありません。次の問題を回避したいと思います。
mw_process の後に mr_process を実行する必要があります。ただし、波形図に示すように、mw_process のみが無限に実行されます。
BEGIN
m : CODEMEM PORT MAP(addbus, data_in, data_out, control);
mw_process : process -- Write the entered commands
begin
addbus <= "00000000"; -- mvi a, 0f
data_in <= "00001111";
control <= '1';
wait for 100 ps;
addbus <= "00000001";
data_in <= "00001111";
control <= '1';
wait for 100 ps;
addbus <= "00000010"; -- mvi b,08
data_in <= "00001000";
control <= '1';
wait for 100 ps;
addbus <= "00000011";
data_in <= "00001000";
control <= '1';
wait for 100 ps;
end process;
mr_process : process -- Read the entered commands
begin
addbus <= "00000000"; -- mvi a, 0f
control <= '0';
wait for 100 ps;
addbus <= "00000001";
control <= '0';
wait for 100 ps;
a <= data_out;
addbus <= "00000010"; -- mvi b,08
control <= '0';
wait for 100 ps;
addbus <= "00000011";
control <= '0';
wait for 100 ps;
b <= data_out;
end process;
L1: ALU PORT MAP(A, B, '1', "001", RES, CARRY, ZERO);
この問題で私を助けてください。