📄 bprom.vhd
字号:
----------------------------------------------------------------------------------- ROM core VHDL template. See the macro description included-- behind this frame.---- Copyright (C) 2000 Rudolf Matousek <matousek@utia.cas.cz>---- Modified by Jiri Gaisler <jgais@ws.estec.esa.nl> for LEON boot prom.---- This code may be used under the terms of Version 2 of the GPL,-- read the file COPYING for details.-----------------------------------------------------------------------------------library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity gen_bprom is port( clk : in std_logic; csn : in std_logic; addr : in std_logic_vector (29 downto 0); data : out std_logic_vector (31 downto 0) );end;architecture rtl of gen_bprom is signal raddr : std_logic_vector(9 downto 0); signal d : std_logic_vector(31 downto 0); attribute syn_romstyle : string; attribute syn_romstyle of d : signal is "select_rom"; begin p : process(raddr) begin case raddr is when "0000000000" => d <= "10000001100010000010000011100000"; when "0000000001" => d <= "10000001100100000010000000000010"; when "0000000010" => d <= "10000001110110000010000000000000"; when "0000000011" => d <= "00000011000000000000000001000000"; when "0000000100" => d <= "10000010000100000110000000001111"; when "0000000101" => d <= "00010001001000000000000000000000"; when "0000000110" => d <= "10001000001000100010000000010000"; when "0000000111" => d <= "11000010001000100010000000010100"; when "0000001000" => d <= "11010010000000100010000000100100"; when "0000001001" => d <= "10010010000010100110000000010000"; when "0000001010" => d <= "10010011001010100110000000001000"; when "0000001011" => d <= "10000001100010100110000011100000"; when "0000001100" => d <= "00010011000000000000000000101010"; when "0000001101" => d <= "10010010000100100110001000000000"; when "0000001110" => d <= "11010010001000100010000010100100"; when "0000001111" => d <= "11000000001000100010000001110100"; when "0000010000" => d <= "11000000001000100010000010000100"; when "0000010001" => d <= "10010010000100000010000000000011"; when "0000010010" => d <= "11010010001000100010000001111000"; when "0000010011" => d <= "11010010001000100010000010001000"; when "0000010100" => d <= "10010010000100000011111111111111"; when "0000010101" => d <= "11010010001000100010000001000100"; when "0000010110" => d <= "10010010000100000010000000000111"; when "0000010111" => d <= "11010010001000100010000001001000"; when "0000011000" => d <= "00010011000100000000000000000000"; when "0000011001" => d <= "11010100000000100010000000000100"; when "0000011010" => d <= "10010100000010101010000000001111"; when "0000011011" => d <= "00010111000000000000000000000111"; when "0000011100" => d <= "10010110000100101110001000100000"; when "0000011101" => d <= "10010100000100101100000000001010"; when "0000011110" => d <= "11010100001000100010000000000100"; when "0000011111" => d <= "00010111000000000100100011010001"; when "0000100000" => d <= "10010110000100101110000101100111"; when "0000100001" => d <= "11010110001000100100000000000000"; when "0000100010" => d <= "11000000001000100110000000000100"; when "0000100011" => d <= "11011000100000100100000000000000"; when "0000100100" => d <= "10000000101000101100000000001100"; when "0000100101" => d <= "00000010100000000000000000001101"; when "0000100110" => d <= "11000000001000100100000000000000"; when "0000100111" => d <= "10010100001000101010000000010000"; when "0000101000" => d <= "11010100001000100010000000000100"; when "0000101001" => d <= "11010110001000100100000000000000"; when "0000101010" => d <= "11000000001000100110000000000100"; when "0000101011" => d <= "11011000100000100100000000000000"; when "0000101100" => d <= "10000000101000101100000000001100"; when "0000101101" => d <= "00000010100000000000000000000101"; when "0000101110" => d <= "00000001000000000000000000000000"; when "0000101111" => d <= "10010100001000101010000000010000"; when "0000110000" => d <= "00010000100000000000000000001010"; when "0000110001" => d <= "11010100001000100010000000000100"; when "0000110010" => d <= "11010110001000100100000000000000"; when "0000110011" => d <= "11000000001010100110000000000011"; when "0000110100" => d <= "11011000100000100100000000000000"; when "0000110101" => d <= "10000000101000101100000000001100"; when "0000110110" => d <= "00010010100000000000000000000100"; when "0000110111" => d <= "00000001000000000000000000000000"; when "0000111000" => d <= "10010100000100101010000001000000"; when "0000111001" => d <= "11010100001000100010000000000100"; when "0000111010" => d <= "00000101000001000000000000000000"; when "0000111011" => d <= "11010110001000010000000000000000"; when "0000111100" => d <= "11000000001000010011111111111100"; when "0000111101" => d <= "11011010100000010000000000000000"; when "0000111110" => d <= "10000000101000110100000000001011"; when "0000111111" => d <= "00110010101111111111111111111100"; when "0001000000" => d <= "10001000101000010000000000000010"; when "0001000001" => d <= "10001011001100010010000000011100"; when "0001000010" => d <= "10001010001000010110000000000100"; when "0001000011" => d <= "10010010000000001000000000001001"; when "0001000100" => d <= "10010010001000100110000000010000"; when "0001000101" => d <= "11010110001000100100000000000000"; when "0001000110" => d <= "10000101001100001010000000000001"; when "0001000111" => d <= "10010100001000101010001000000000"; when "0001001000" => d <= "11010100001000100010000000000100"; when "0001001001" => d <= "10010010001000100100000000000010"; when "0001001010" => d <= "11011010100000100100000000000000"; when "0001001011" => d <= "10000000101000110100000000001011"; when "0001001100" => d <= "00000010101111111111111111111010"; when "0001001101" => d <= "00000001000000000000000000000000"; when "0001001110" => d <= "10010100000000101010001000000000"; when "0001001111" => d <= "11010100001000100010000000000100"; when "0001010000" => d <= "00001001000100000000000000000000"; when "0001010001" => d <= "10010010000000100100000000000010"; when "0001010010" => d <= "10010010001010100100000000000100"; when "0001010011" => d <= "10010011001010100100000000000101"; when "0001010100" => d <= "10011100000100100100000000000100"; when "0001010101" => d <= "10010111001010010110000000000001"; when "0001010110" => d <= "01000000000000000000000000011011"; when "0001010111" => d <= "10010000000100000010001101110100"; when "0001011000" => d <= "10010010000100000010001101101100"; when "0001011001" => d <= "01000000000000000000000000011000"; when "0001011010" => d <= "10010000000000101100000000001001"; when "0001011011" => d <= "10010010000100000010001100111100"; when "0001011100" => d <= "10001011001100101010000000000110"; when "0001011101" => d <= "10001010001000010110000000100000"; when "0001011110" => d <= "10001010001010010110000000000001"; when "0001011111" => d <= "01000000000000000000000000010010"; when "0001100000" => d <= "10010000000000100100000000000101"; when "0001100001" => d <= "10010010000100000010001100110000"; when "0001100010" => d <= "10001011001100101010000000000010"; when "0001100011" => d <= "10001010000010010110000000001100"; when "0001100100" => d <= "01000000000000000000000000001101"; when "0001100101" => d <= "10010000000000100100000000000101"; when "0001100110" => d <= "01000000000000000000000000001011";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -