有没有EDA高手帮一下忙,把下面的程序解释一下,要详细些。每一行添加注释。先谢谢了

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; BEGIN PROCESS(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;

第1个回答  2013-12-23
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_ARITH.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;--库,程序包的使用
ENTITYSRAM IS --实体描述(SRAM为实体名)
GENERIC(WIDTH:INTEGER:=8;--类属表(integer是整型,WIDTH为常数名)
DEPTH:INTEGER:=128;--类比上一句即可
ADDER:INTEGER:=3);
PORT(DATAIN:IN STD_LOGIC_VECTOR(7 DOWNTO0);--端口说明,IN为端口类型,输入只读
DATAOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--OUT输出,只写
CLOCK:IN STD_LOGIC;--STD_LOGIC是数据类型,为标准位单值
WE,RE:IN STD_LOGIC;--WE和RE为输入端口,可输入标准位单值
SIGNAL WADD:IN STD_LOGIC_VECTOR(2DOWNTO 0);--标准位位矢量,3个信号元素
SIGNAL RADD:IN STD_LOGIC_VECTOR(2 DOWNTO 0));
ENDENTITY SRAM;--结束实体描述

ARCHITECTUREART OF SRAM IS--结构体描述(ART是结构体名)
TYPE MEM IS ARRAY(0 TO 127) OF STD_LOGIC_VECTOR(7 DOWNTO 0);--元素说明
SIGNAL RAMTMP:MEM;--TYPE数据类型,SIGNAL信号
BEGIN--下面为功能描述
PROCESS(CLOCK)--进程,CLOCK为敏感信号,敏感信号的变化会激活进程
BEGIN
IF (CLOCK'EVENT AND CLOCK='1') THEN--时钟信号上升沿
IF(WE='1')THEN
RAMTMP(CONV_INTEGER(WADD))<=DATAIN; --如果we为1,将DATAIN的值赋给RAMTMP(CONV_INTEGER(WADD))
END IF;
END IF;
ENDPROCESS;
PROCESS(CLOCK)--可类比上一个进程
BEGIN
IF(CLOCK'EVENTAND CLOCK='1')THEN
IF (RE='1') THEN
DATAOUT<=RAMTMP(CONV_INTEGER(RADD));
END IF;
ENDIF;
ENDPROCESS;
ENDARCHITECTURE ART;追问

本题的题目是:【单端口SRAM模拟电路 实验内容及要求。 采用dff模拟单端口SRAM。(1)数据长度8bit,SRAM深度128;(2)假定操作信号与时钟同步;(3)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、下载验证等。】请问把上面的程序仿真、下载到试验箱后,该如何操作实验箱,最终结果是什么?麻烦了,不胜感谢!

追答

......你还是问身边的大神吧,实验这种东西最麻烦了,说不清楚。

相似回答