-- RGBカラーパレットROM -- ブロックRAMをROMとして使用(汎用) library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity rgb_rom is port( m_clock : in std_logic; p_reset : in std_logic; adrs : in std_logic_vector(7 downto 0); din : in std_logic_vector(15 downto 0); dout : out std_logic_vector(15 downto 0); read : in std_logic; write : in std_logic ); end; architecture RTL of rgb_rom is type BRAM_TYPE is array (0 to 2**8-1) of std_logic_vector(15 downto 0); constant ROM : BRAM_TYPE := ( X"0124", X"0005", X"0045", X"0105", X"0143", X"0140", X"0140", X"0108", X"00C8", X"0008", X"0010", X"0009", X"000B", X"0000", X"0000", X"0000", X"01B6", X"0017", X"008F", X"014E", X"01CD", X"01CA", X"01C8", X"0190", X"0198", X"0058", X"0020", X"0023", X"0026", X"0000", X"0000", X"0000", X"01FF", X"0027", X"00E7", X"019F", X"01DE", X"01DC", X"01DA", X"01E2", X"01E9", X"0168", X"00B3", X"00B5", X"0037", X"00DB", X"0000", X"0000", X"01FF", X"012F", X"016F", X"01AF", X"01EF", X"01EE", X"01F5", X"01F5", X"01F5", X"01BC", X"017D", X"017F", X"017F", X"01B6", X"0000", X"0000" ); begin process(m_clock) begin if(m_clock'event and m_clock='1') then dout <= ROM(conv_integer(adrs)); end if; end process; end;