-- bus connections --
--
PROCESS (dbus_on_mar_offset_bus)
BEGIN
mar_bus (7 DOWNTO 0) := dbus;
END PROCESS;
--
PROCESS
BEGIN
databus := dbus;
WAIT ON dbus_on_databus;
END PROCESS;
--
PROCESS (obus_on_dbus)
BEGIN
END PROCESS;
--
PROCESS (databus_on_dbus)
BEGIN
END PROCESS;
-- register connections --
--
r1: accumulator_unit PORT MAP (load_ac, zero_ac);
--
r2: instruction_register_unit PORT MAP (load_ir);
PROCESS (ir_on_mar_page_bus)
BEGIN
mar_bus (11 DOWNTO 8) := ir_out (3 DOWNTO 0);
END PROCESS;
--
r3: program_counter_unit PORT MAP (increment_pc, load_page_pc, load_offset_pc, reset_pc);
PROCESS
BEGIN
wait for 0 fs;
mar_bus (11 DOWNTO 8) := pc_out (11 DOWNTO 8);
WAIT ON pc_on_mar_page_bus;
END PROCESS;
PROCESS (pc_on_mar_offset_bus)
BEGIN
mar_bus (7 DOWNTO 0) := pc_out (7 DOWNTO 0);
END PROCESS;
PROCESS (pc_offset_on_dbus)
BEGIN
dbus := pc_out (7 DOWNTO 0);
END PROCESS;
--
r4: memory_address_register_unit PORT MAP (load_page_mar, load_offset_mar);
PROCESS
BEGIN
adbus := mar_out;
WAIT ON mar_on_adbus;
END PROCESS;
--
r5: status_register_unit PORT MAP (load_sr, cm_carry_sr);
--
-- connection of logical and register structures --
--
l1: arithmetic_logic_unit PORT MAP (alu_code, alu_operate);
l2: shifter_unit PORT MAP (arith_shift_left, arith_shift_right, no_shift);
END structural_synthesizable;