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

📄 sram.vhd

📁 静态随机存储器(SRAM)设计VHDL代码
💻 VHD
字号:
Library IEEE;
Use IEEE.Std_logic_1164.all;
USe IEEE.Std_logic_unsigned.all;

ENTITY sram IS
	GENERIC
	(
		k: integer:=8;  --8位数据宽度
		w: integer:=4   --4位宽度地址,共16个地址
	);
	PORT
	(
		rd,wr,cs: IN STD_LOGIC;  --定义写,读,片选控制信号
		adr: IN	STD_LOGIC_VECTOR(w-1 DOWNTO 0); --4位地址信号
	    din: IN	STD_LOGIC_VECTOR(k-1 DOWNTO 0); --8位输入信号
		dout: OUT STD_LOGIC_VECTOR(k-1 DOWNTO 0) --8位输出信号
	);
END sram ;

ARCHITECTURE behave OF sram IS
	 subtype word is STD_LOGIC_VECTOR(k-1 DOWNTO 0);  
	 type memory is array(0 to 2**w-1) of word;
	  signal sram:memory; --定义中间缓存空间
	  signal adr_in:Integer;   --定义地址指向标志
BEGIN 
	 adr_in<=conv_integer(adr);	 --将输入地址转换为地址指向标志
Write:  process(wr,cs,adr_in,din,rd) --数据写入进程:Write
          begin
          if wr='0' then
           	 if cs='0' and rd='1' then
              sram(adr_in)<=din;
             end if;
          end if;
         end process;
Read:   process(rd,cs,adr_in,wr)  --数据读入进程:Read
          begin
           if(rd='0' and cs='0' and wr='1') then
            dout<=sram(adr_in);
           else dout<=(others=>'Z');
            end if;
         end process;
end behave;













⌨️ 快捷键说明

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