-- E:\My_Designs\LC2\src\test_module(1).vhd created by LC2_ram beta: -- for use with LC-2 model created by -- Eric Frohnhofer and Ron Feliciano library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; use IEEE.std_logic_arith.all; entity ram_module is port(clk : in std_logic; enable : in std_logic; R_W : in std_logic; addr : in std_logic_vector (15 downto 0); data_in : in std_logic_vector (15 downto 0); data_out : out std_logic_vector (15 downto 0)); end ram_module; architecture BHV of ram_module is type memory is array (0 to 1000) of std_logic_vector(15 downto 0); signal reg : memory := ( "0100000100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "0000010000000000", "0000010000110000", "0000010001010000", "0000010010100000", "0000010011100000", "1111110101110000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "1111110100000000", "0101000000100000", "0000101111111001", "0101001001100000", "0000101111111001", "0101010010100000", "0101011011100000", "0000101111111001", "0101100100100000", "0000101111111001", "0101101101100000", "0000101111111001", "0101110110100000", "0101111111100000", "0001000000100001", "0001000000111111", "0000101111111001", "0001001001100010", "0001001001111110", "0000101111111001", "0001010010100011", "0001010010111101", "0000101111111001", "0001011011100100", "0001011011111100", "0000101111111001", "0001100100100101", "0001100100111011", "0000101111111001", "0001101101100110", "0001101101111010", "0000101111111001", "0001110110100111", "0001110110111001", "0000101111111001", "0001111111101000", "0001111111111000", "0000101111111001", "0001000000100001", "0001001001100010", "0001010010100011", "0001011011100100", "0001100100100101", "0001101101100110", "0001110110100111", "0001111111101000", "0001000001000010", "0001000000111011", "0000101111111001", "0001001010000011", "0001001001111001", "0000101111111001", "0001010011000100", "0001010010110111", "0000101111111001", "0001011100000101", "0001011011110101", "0000101111111001", "0001100101000110", "0001100100110011", "0000101111111001", "0001101110000111", "0001101101110001", "0000101111111001", "0001111000000001", "0000101111111001", "0001110010000011", "0000101111111001", "1001000000111111", "0001000000100001", "0000101111111001", "1001001001111111", "0001001001100001", "0000101111111001", "1001010010111111", "0001010010100001", "0000101111111001", "1001011011111111", "0001011011100001", "0000101111111001", "1001100100111111", "0001100100100001", "0000101111111001", "1001101101111111", "0001101101100001", "0000101111111001", "1001110110111111", "0001110110100001", "0000101111111001", "1001111111111111", "0001111111100001", "0000101111111001", "1001001000111111", "0001001001100001", "0000101111111001", "1001000001111111", "0001000000100001", "0000101111111001", "1001001010111111", "0001001001100001", "0000101111111001", "1001010011111111", "0001010010100001", "0000101111111001", "1001011100111111", "0001011011100001", "0000101111111001", "1001100101111111", "0001100100100001", "0000101111111001", "1001101110111111", "0001101101100001", "0000101111111001", "1001110111111111", "0001110110100001", "0000101111111001", "0010000111111011", "0001000000111111", "0000101111111001", "0010000111111100", "0001000000111110", "0000101111111001", "0010001111111011", "0001001001111111", "0000101111111001", "0010001111111100", "0001001001111110", "0000101111111001", "0010010111111011", "0001010010111111", "0000101111111001", "0010010111111100", "0001010010111110", "0000101111111001", "0010011111111011", "0001011011111111", "0000101111111001", "0010011111111100", "0001011011111110", "0000101111111001", "0010100111111011", "0001100100111111", "0000101111111001", "0010100111111100", "0001100100111110", "0000101111111001", "0010101111111011", "0001101101111111", "0000101111111001", "0010101111111100", "0001101101111110", "0000101111111001", "0010110111111011", "0001110110111111", "0000101111111001", "0010110111111100", "0001110110111110", "0000101111111001", "0010111111111011", "0001111111111111", "0000101111111001", "0010111111111100", "0001111111111110", "0000101111111001", "1010000111111100", "0010111111111110", "0001000000000111", "0000101111111001", "1010001111111100", "0001001001000111", "0000101111111001", "1010010111111100", "0001010010000111", "0000101111111001", "1010011111111100", "0001011011000111", "0000101111111001", "1010100111111100", "0001100100000111", "0000101111111001", "1010101111111100", "0001101101000111", "0000101111111001", "1010110111111100", "0001110110000111", "0000101111111001", "1010111111111100", "0010110111111110", "0001111111000110", "0000101111111001", "0010000111111011", "0110001000000001", "0010111111111110", "0001001001000111", "0000101111111001", "0110010000000001", "0001010010000111", "0000101111111001", "0110011000000001", "0001011011000111", "0000101111111001", "0110100000000001", "0001100100000111", "0000101111111001", "0110101000000001", "0001101101000111", "0000101111111001", "0110110000000001", "0001110110000111", "0000101111111001", "0010101111111011", "0110100101000001", "0001100100000111", "0000101111111001", "0010011111111011", "0110011011000001", "0001011011000111", "0000101111111001", "0101000000100000", "0101101101100000", "0101111111100000", "1110000111111011", "0010001111111111", "0001000001000000", "0000101111111001", "0101001001100000", "0001000000100101", "0011000111111101", "0010001111111101", "1001001001111111", "0001001001100001", "0001000000000001", "0000101111111001", "0101001001100000", "0001000000100101", "1011000111111100", "1010001111111100", "1001001001111111", "0001001001100001", "0001000001000000", "0000101111111001", "0101001001100000", "0001001001100110", "0111001000000000", "0110010000000000", "1001010010111111", "0001010010100001", "0001000001000010", "0000101111111001", "0100100111111010", "1111000000100101", "1111000000100101", "0000000000000001", "0000000000000010", "0000000110010101", "0000001100000000", "1111111000000101", "1111111000000101", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000", "0000000000000000"); begin process(clk, enable, R_W, addr) begin if (enable = '1') then if (clk = '1' and clk' event) then if (R_W = '1') then data_out <= reg(conv_integer(addr)); assert(addr /= "0000000111111001")report "test failed error" severity error; else reg(conv_integer(addr)) <= data_in; end if; else end if; end if; end process; end BHV;