我的大学之计算机组成原理系列NO.8

课题:随机存储器设计

一、实验目的
1.学会使用 CoreGenerator 来产生RAM。
2.了解FPGA 基本存储资源,并学会应用。
3.理解随机存储器的基本原理及其特性。
二、实验设备
1.装有ISE Design Suite 14.7的计算机一台。
2.EDK-3 SA ISE实验平台。
三、实验任务
1.构建简单随机存储器系统。
2.采用实验板验证随机存储器功能及其特征。
四、实验原理
实验原理
下图为随机存储器实验原理图
在这里插入图片描述

总体包括数据缓冲器GB,计数器ADR,存储器MN2114,写寄存器R1 ,读寄存器R2。其中,CKR1=T1M1,CKR2=T2M1。

在这里插入图片描述
在这里插入图片描述

系统框图

RAM模块:
RAM模块采用Xilinx ISE软件自动生成,选择Tools工具的Core Generator进入Xilinx CORE Generator工具,进入该工具后新建项目,然后选择Memoryies&Storage Elements下的RAMs&ROMs的Block Memory Generator,进入RAM模块的参数配置(具体参数根据需求进行配置)。本实验利用 CoreGenerator工具产生的一个宽4位,深度为16位的简单单口RAM。
在这里插入图片描述

读写时序图 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210104202831341.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1BST01JU0VfV3c=,size_16,color_FFFFFF,t_70)

RAM配置-Memory类型:Single Port RAM 其他选项默认
在这里插入图片描述

配置 RAM的宽度和深度,以及操作模式
配置完毕后会生成ipcore_dir子目录,该目录即包含了RAM模块,具体可打开*.vhd文件查看生成的源文件。
LS161 模块:
74LS273 计数器能同步并行预置数据,具有清零置数,计数和保持功能,具
有进位输出端,可以串接计数器使用。
在这里插入图片描述

功能表

五、部分代码:

module ls161( 
  input clk_s, 
    input [3:0] Din, 
output [3:0] Qout,
 input CP, 
    input CR, 
  input Rstn, 
  input Load, 
  input EP, 
  input ET 
    ); 
 reg [3:0] Qout_tmp; 
 assign Qout=Qout_tmp; 
 always@(posedge clk_s) 
  begin 
   if (CP) begin 
    if (!CR |!Rstn) 
     Qout_tmp<=4'b0000; 
    else begin 
     if (Load==0)  Qout_tmp<=Din; 
     else begin 
      if (EP==0) Qout_tmp<=Qout_tmp; 
      else begin 
       if (ET==0) Qout_tmp<=Qout_tmp; 
       else  
        Qout_tmp<=Qout_tmp+1;
end  
end 
 end 
end 
end

六、实验结果
1.仿真结果
在这里插入图片描述
2.实验结果分析
在这里插入图片描述
在RAM中将单元地址存入自身单元,并读出,即0号单元存0,1号单元存1,以来类推。
load为0,可手动输入地址,即addr的二进制为地址号;load为1,可以自动变换地址。
R/W=’1’为写操作;R/W=’0’为读操作;
clr为1,不执行清空操作;clr为0,执行清空操作。
若要0号单元存0,1号单元存1,以此类推:R/W=’1’执行写操作;可以load为0,手动改动addr的值从0000、0001、0010…;Din的值从0000、0001、0010…;clr为0,不执行清空操作。load为1,则只需改动Din的值从0000、0001、0010…分别与自动变换的地址号做对应即可。

七、问题思考
1.影响随机存储器运行速度的因素有哪些?如何通过FPGA验证?

RAM运行速度:内存越大,运行越快;当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关;时钟频率;cpu 运行速度等。
验证:提高频率,加速操作的运行速度。

2.如果实验过程中突然断电,实验结果如何?原因?

突然断电,重启后功能还在,但是随机存储器中的值清空了。
原因:实验通过烧录将相关代码写入开发板中,所以断电后重启,功能正常。但RAM具有易失性,DRAM采用电容,电容器容易有漏电的情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值