📄 rom_mn_interlace.vhd
字号:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity rom_mn_interlace is
port
( counter :in std_logic_vector(4 downto 0);--integer range 0 to 15; --15=m*n-1=4*4-1
clk :in std_logic;
--ch :in std_logic;
interlace_addr: out std_logic_vector(4 downto 0)
);
end rom_mn_interlace;
architecture beha of rom_mn_interlace 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'(
---1
rom_word'("00000"),--0
rom_word'("00110"),--6
rom_word'("01100"),--12
rom_word'("10010"),--18
rom_word'("11000"),--24
rom_word'("11001"),--25
rom_word'("00001"),--1
rom_word'("00111"),--7
rom_word'("01101"),--13
rom_word'("10011"),--19
rom_word'("10100"),--20
rom_word'("11010"),--26
rom_word'("00010"),--2
rom_word'("01000"),--8
rom_word'("01110"),--14
rom_word'("01111") , ---15
rom_word'("10101"), ---21
rom_word'("11011") , ---27
rom_word'("00011") , ---3
rom_word'("01001") , ---9
rom_word'("01010") , ---10
rom_word'("10000") ,---16
rom_word'("10110") , ---22
rom_word'("11100") , ---28
rom_word'("00100") , ---4
rom_word'("00101"), ---5
rom_word'("01011") , ---11
rom_word'("10001") , ---17
rom_word'("10111") , ---23
rom_word'("11101") ---29
);
begin
process(clk )
begin
if (clk'event and clk='1' ) then
interlace_addr<=rom(conv_integer(counter));
end if;
end process;
end beha;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -