📄 rom_mn_seq.vhd
字号:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
-- 生成一个二维的地址表
entity rom_mn_seq is
port
( counter : in std_logic_vector(4 downto 0);--integer range 0 to 29; --29=m5-1=4*4-1
clk : in std_logic;
seq_addr: out std_logic_vector(4 downto 0)
);
end rom_mn_seq;
architecture beha of rom_mn_seq is
subtype rom_word is std_logic_vector(4 downto 0);
type rom_table is array (0 to 29) of rom_word; --15=m*n-1
constant rom: rom_table:= rom_table'( --4*4
---1
rom_word'("00000"), -- the high 4 bits is row ,the low 4 bits is colum
rom_word'("00001"),
rom_word'("00010"),
rom_word'("00011"),
rom_word'("00100"),
rom_word'("00101"),
rom_word'("00110"),
rom_word'("00111"),
rom_word'("01000"),
rom_word'("01001"),
rom_word'("01010"),
rom_word'("01011"),
rom_word'("01100"),
rom_word'("01101"),
rom_word'("01110"),
rom_word'("01111"),
rom_word'("10000"), -- the high 4 bits is row ,the low 4 bits is colum
rom_word'("10001"),
rom_word'("10010"),
rom_word'("10011"),
rom_word'("10100"),
rom_word'("10101"),
rom_word'("10110"),
rom_word'("10111"),
rom_word'("11000"),
rom_word'("11001"),
rom_word'("11010"),
rom_word'("11011"),
rom_word'("11100"),
rom_word'("11101")
);
begin
process(clk)
begin
if (clk'event and clk='1' ) then
seq_addr<=rom(conv_integer(counter));
end if;
end process;
end beha;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -