3 use IEEE.std_logic_1164.all;
4 use ieee.std_logic_arith.all;
7 entity testbench_mos6502 is
10 architecture stimulus of testbench_mos6502 is
12 generic ( dsize : integer := 8;
15 port ( input_clk : in std_logic; --phi0 input pin.
24 addr : out std_logic_vector ( asize - 1 downto 0);
25 d_io : inout std_logic_vector ( dsize - 1 downto 0)
29 component address_decoder
30 generic (abus_size : integer := 16; dbus_size : integer := 8);
31 port ( phi2 : in std_logic;
33 addr : in std_logic_vector (abus_size - 1 downto 0);
34 d_io : inout std_logic_vector (dbus_size - 1 downto 0)
39 constant dsize : integer := 8;
40 constant asize : integer := 16;
41 constant cpu_clk : time := 589 ns;
42 signal phi0 : std_logic;
43 signal rdy, rst_n, irq_n, nmi_n, dbe, r_nw, phi1, phi2 : std_logic;
44 signal addr : std_logic_vector( asize - 1 downto 0);
45 signal cpu_d : std_logic_vector( dsize - 1 downto 0);
52 cpu_inst : mos6502 generic map (dsize, asize)
53 port map (phi0, rdy, rst_n, irq_n, nmi_n, dbe, r_nw,
54 phi1, phi2, addr, cpu_d);
56 addr_dec_inst : address_decoder generic map (asize, dsize)
57 port map (phi2, r_nw, addr, cpu_d);