1、计科二班 03 号 樊艳波实验三:存储器实验实验设备 1、PC 机一台2、数字系统实验箱3、QuartusII 配套软件实验预习:计算机的存储器是存储各种二进制信息的记忆装置,计算机的内存是计算机不可缺少的部件,用来存放计算机正在执行或将要执行的程序和数据等信息;本次实验主要是学习存储器的组成、分类、容量扩展等内容,学习了Lpm_ram_io 定制方法,并设计了存储器的数据通路和附加显示电路,对存储器的数据传送、存储和读取进行验证,预习中主要遇到了一下问题1、 存储器实验原理框图的理解及各个部分芯片的选择2、 画图法设计时地址计数器 PC 的设计3、 如何修改电路使其能连续读取连续地址单元中的
2、内容实验的结构框图以及各部分的芯片选择(可以实现连读功能)实验中几个主要部件的设计如下:程序计数器 PC 的设计:通过两片 74161 级联而成,其电路图如下设计这部分时的主要问题在于级联信号的生成;一开始误以为装载时需要使能EN 有效,所以在装载和清零上卡了很长时间,后来通过对时钟信号的控制虽然解决了这个问题,但是电路比较麻烦;通过与同学讨论才发觉装载时不需要 EN信号有效,只需要将第四位的进位输出 rco 当做高四位的使能输入即可实现级联Lpm_ram_io 的定制及相关参数如下附加电路的设计:这里将 K 值,PC 中的地址,以及总线上的数据都显示到数码管上,K 的生成有两片 16 进制的
3、计数器级联而成,这部分只需要根据实验 2 的附加电路坐一些改动即可,没有遇到什么问题,其顶层图如下波形仿真:波形图中出现的信号说明及初始值设定Clk 时钟信号,一位二进制信号 -K 总线数据输入,2 位十六进制信号00sw|pc_bus 总线数据输入 sw、地址计数器pc 的控制信号,2 位二进制信号,低电平有效11初始时设置没有数据放到总线上pcClr|Ld|En 计数器 74161 的控制信号,清零(低电平有效) 、装载(低电平有效) 、使能(高电平有效)010初始时将计数器清零addr 显示 AR 中的内容 -arLd AR 的装载信号,高电平有效 0Mem|wr|rd 存储器的使能、写
4、、读信号,高电平有效000初始时存储器不进行读写操作d 总线数据 ZZdresult 显示总线上的内容 -波形仿真参数设置仿真参数设置:Grid size:100.0ns End time:10.0us验证功能 :PC 的装载、清零、+1 功能;存储器的读写功能, (从.mif 文件中读数据) ;以及连续读数据Initial_file.mif 中的部分数据如下波形仿真结果及分析思考题1、 如何将两片 512*4bit 的 RAM 构成容量为 512*8bit 的存储体?2、 如何将两片 512*4bit 的 RAM 构成容量为 1024*4bit 的存储体?3、 如何修改电路使其能读出存入连续
5、地址单元中的数据?答:只需要将图中的存储地址显示由 AR 输出端移到 PC 输出端,同时 PC 输出端不连接到总线上即可,见结构框图4、 如何将原理图输入的逻辑电路转换成 HDL 语言描述的器件?答:通过 File-Create/Update-Create HDL Design File For Current File实验日志:1、 本次试验主要学习了有关存储器的一些知识,设计了一个八位存储器和相关的数据通路,模拟了存储器的读写操作;实验的难点在于数据通路的设计,本实验我采用 VHDL 和画图法两种方法设计了数据通路;2、 实验中主要在画图的过程中出现了一些问题,一开始对实验原理图不是很理解,对芯片的选择弄不对,进过自己的仔细分析弄清楚了各部分的功能;在程序计数器 PC 的设计方面遇到了困难,本实验是通过两片 74161 芯片级联而成,在高四位的时钟信号的生成上遇到了困难,经过好长时间的实验才解决(解决方法见上)3、 波形模拟过程中在 PC 的装载上出现了问题,经检查原来是 SW_bus 打开的同时存储器进行了读得操作,结果存储器里的数据和 K 值被同时放到了总线上导致 PC 装载时出错,在这里耽误了我许多时间;以后实验还是需要更加仔细一些,本次试验花费了我很多时间,但也暴露出了我的一些个问题