-- Model Name : Concurrent - Tester -- Author : Armita Peymandoust -- Last Updated : 09 / 15 / 1996 -- This document is © copyrighted by the Author.

LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
--
LIBRARY EXEMPLAR;
USE EXEMPLAR.exemplar_1164.ALL;
USE EXEMPLAR.exemplar.ALL;
--
LIBRARY WORK;
USE WORK.ALL;
USE WORK.synthesis_utilities.ALL;
USE WORK.synthesis_parameters.ALL;
USE WORK.global_environment.ALL;
--
ENTITY parwan_tester IS
END parwan_tester;
--
ARCHITECTURE input_output OF parwan_tester IS
  COMPONENT parwan 
    PORT (interrupt : IN std_logic;  read_mem, write_mem : OUT std_logic);
  END COMPONENT;
  FOR cpu : parwan USE ENTITY WORK.par_central_processing_unit(Concurrent);
  COMPONENT parmem PORT (read, write,dump : IN std_logic); END COMPONENT;
  FOR mem : parmem USE ENTITY WORK.ram (mem_con);
  SIGNAL clock, interrupt, read, write,dump_signal : std_logic := '0';
  SIGNAL data : byte;
  SIGNAL address : twelve;
BEGIN
  clk : clock <= NOT clock AFTER 2 US WHEN halt = '0' ELSE clock;
  int : interrupt <= '1', '0' AFTER 4500 NS;
  ck2 : cck <= clock;
  PROCESS (clock) BEGIN data <= databus.val; address <= adbus.val; END PROCESS;
  cpu : parwan PORT MAP (interrupt, read, write);
  mem : parmem PORT MAP (read, write, dump_signal);
  dump_signal <= '1' WHEN halt='1';
END input_output;