-- -- Program memory ROM implemented using a case statement. -- Its content was generated by the uCore cross compiler. LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE work.constants.ALL; ENTITY boot_rom IS PORT (addr : IN boot_addr; data : OUT inst_bus); END boot_rom; ARCHITECTURE sim_model OF boot_rom IS SUBTYPE rom_address IS NATURAL RANGE 0 TO 2**boot_addr_width-1; FUNCTION program(addr : rom_address) RETURN STD_LOGIC_VECTOR IS BEGIN CASE addr IS WHEN 16#0000# => RETURN "11111110"; WHEN 16#0001# => RETURN "00001000"; WHEN 16#0002# => RETURN "00000111"; WHEN OTHERS => RETURN "--------"; END CASE; END program; BEGIN data <= program(conv_integer(addr)); END sim_model;