LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SRAM IS GENERIC(WIDTH:INTEGER:=8; DEPTH:INTEGER:=128; ADDER:INTEGER:=3); PORT(DATAIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); DATAOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); CLOCK:IN STD_LOGIC; WE,RE:IN STD_LOGIC; SIGNAL WADD:IN STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL RADD:IN STD_LOGIC_VECTOR(2 DOWNTO 0));END ENTITY SRAM;ARCHITECTURE ART OF SRAM IS TYPE MEM IS ARRAY(0 TO 127) OF STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL RAMTMP:MEM; BEGINPROCESS(CLOCK) BEGIN IF (CLOCK'EVENT AND CLOCK='1') THEN IF(WE='1')THEN RAMTMP(CONV_INTEGER(WADD))<=DATAIN; END IF; END IF; END PROCESS;--读进程 PROCESS(CLOCK) BEGIN IF(CLOCK'EVENT AND CLOCK='1')THEN IF (RE='1') THEN DATAOUT<=RAMTMP(CONV_INTEGER(RADD)); END IF; END IF; END PROCESS;END ARCHITECTURE ART;
本题的题目是:
【单端口SRAM模拟电路
实验内容及要求。
采用dff模拟单端口SRAM。
(1)数据长度8bit,SRAM深度128;
(2)假定操作信号与时钟同步;
(3)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、下载验证等。】
请问把上面的程序仿真、下载到试验箱后,该如何操作实验箱,最终结果是什么?麻烦了,不胜感谢!
硬件我不懂,仅仅从程序逻辑分析。下面的修改不知行否,你试试看吧:
ENTITY SRAM IS GENERIC(WIDTH:INTEGER:=8; DEPTH:INTEGER:=128; //ADDER:INTEGER:=3); ADDER:INTEGER:=4); PORT(DATAIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); DATAOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); CLOCK:IN STD_LOGIC; //WE,RE:IN STD_LOGIC; WE:IN STD_LOGIC; //SIGNAL WADD:IN STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL WADD:IN STD_LOGIC_VECTOR(6 DOWNTO 0); RE:IN STD_LOGIC; //SIGNAL RADD:IN STD_LOGIC_VECTOR(2 DOWNTO 0)); SIGNAL RADD:IN STD_LOGIC_VECTOR(6 DOWNTO 0));END ENTITY SRAM;