⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rom_mem.vhd

📁 根据实验要求
💻 VHD
字号:
--实验10-1 ROM存储器
PACKAGE rompac IS
CONSTANT rom_width : POSITIVE := 8;
CONSTANT adr_high  : POSITIVE := 16;
SUBTYPE rom_word IS bit_vector(0 TO (rom_width-1)); 
TYPE rom_table IS ARRAY(0 TO (adr_high-1)) OF rom_word;
CONSTANT rom:rom_table:=
					(	"00000001",
						"00000010",
						"00000011",
						"00000100",
						"00000101",
						"00000110",
						"00000111",
						"00001000",
						"00001001",
						"00001010",
						"00001011",
						"00001100",
						"00001101",
						"00001110",
						"00001111",
						"00010000" 
						);
END rompac;


USE work.rompac.ALL;
ENTITY rom_mem IS
PORT( clock : IN  bit;
      reset : IN  bit; 
      dout  : OUT bit_vector((rom_width-1) DOWNTO 0)
      );
END rom_mem;

ARCHITECTURE behav OF rom_mem IS

SIGNAL step:integer range 0 to (adr_high-1):=0;
BEGIN
	PROCESS(reset,clock) BEGIN
		if reset='0' then
			step <=0;
			--dout <= (others => '0');
		elsif clock'event and clock='1' then
			if step = (adr_high-1) THEN
				step <= adr_high-1;
			ELSE
				step <= step + 1;
			END IF;					
		end if;
	END PROCESS;
	dout <= rom(step);
END behav;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -