📄 rom256_8.vhd
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY rom256_8 IS
PORT(
addr: IN INTEGER RANGE 0 TO 255; --地址信号
clk : IN STD_LOGIC; --时钟
data: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) --输出数据
);
END rom256_8;
ARCHITECTURE rtl OF rom256_8 IS
SUBTYPE rom_word IS STD_LOGIC_VECTOR (7 DOWNTO 0); --定义一个存储单元的内容
TYPE rom_table IS ARRAY (0 TO 255) OF rom_word; --定义存储器有256个存储单元
--初始化ROM数据
CONSTANT rom: rom_table := rom_table'(
rom_word'("00000000"),
rom_word'("00000001"),
ROM_WORD'("00000010"),
ROM_WORD'("00000100"),
ROM_WORD'("00001000"),
ROM_WORD'("00001100"),
ROM_WORD'("00001010"),
ROM_WORD'("00001001"),
ROM_WORD'("00001001"),
ROM_WORD'("00001010"),
ROM_WORD'("00001100"),
ROM_WORD'("00001001"),
ROM_WORD'("00001001"),
ROM_WORD'("00001101"),
ROM_WORD'("00001011"),
ROM_WORD'("00001111")
:
:
:
);
BEGIN
PROCESS(clk)
BEGIN
--数据读操作
IF CLK'EVENT AND CLK = '1' THEN
data <= rom(addr);
END IF;
END PROCESS;
END rtl;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -