实验二 存储器实验

该文详细介绍了如何在FPGA中使用LPM_ROM和LPM_RAM元件进行定制,包括创建MIF文件、设置元件参数、建立原理图及进行仿真测试。在ROM实验中,阐述了地址和数据总线宽度的配置,并通过仿真验证了读取功能。在RAM实验中,除了读取,还涉及到了读写信号线wren的控制,展示了读写操作的仿真过程。实验讨论部分讨论了设计与测试的步骤,强调了软件仿真测试的方法和硬件测试的实现方式。
摘要由CSDN通过智能技术生成

一、FPGA 中 LPM_ROM 定制与读出实验的实验步骤

第一步:创建新的工程建立mif文件

File--->New Project wizard.... --->选择芯片cyclone IV EP4CE22F17C8--->建立存储器初始化文件ROM1.mif  --->创建一个128*32bits空间大小的存储空间--->输入初始化数据(如图5.1ROM1的数据)

图5.1 ROM1的数据

第二步:调用用LMP元件库创建自己的元件。

用图形编辑,进入 mega_LPM 元件库,调用 LPM_ROM 元件,设置地址总线宽度 ADR[6..0] 和数据总线宽度 Q[31..0],分别为 7位和 32位,并添加输入输出引脚,如下图5.2所示设置和连接。

图5.2 自定义ROM的原理图

第三步:编译,仿真测试。

编译通过后。创建University Program vwf文件进行仿真测试。仿真图如图5.3 自定义ROM的仿真图。

图5.3 自定义ROM的仿真图

分析此仿真图,每当clk是上升沿,就会触发此ROM,读出对应地址中的内容,比如说当地址是1的时候,clk遇到上升沿的时候,就会触发,读出相应地址内的内容为1。

二、FPGA 中 LPM_RAM 定制与读出实验的实验步骤

第一步:创建新的工程建立mif文件

File--->New Project wizard.... --->选择芯片cyclone IV EP4CE22F17C8--->建立存储器初始化文件ROM1.mif  --->创建一个128*8bits空间大小的存储空间--->输入初始化数据(如图5.4ROM2的数据)

图5.4ROM2的数据

第二步:调用用LMP元件库创建自己的元件。

用图形编辑,进入 mega_LPM 元件库,调用 LPM_RAM 元件,设置地址总线宽度 ADR[6..0] 和数据总线宽度 Q[7..0],分别为 7位和 8位,并添加输入输出引脚,wren控制的是读写信号,wren是1的时候是写入数据,为0时读取数据。如下图5.5所示设置和连接。

图5.5自定义RAM的原理图

第三步:编译,仿真测试。

编译通过后。创建University Program vwf文件进行仿真测试。wren=0的仿真图如图5.6 自定义RAM的仿真图1。

图5.6 自定义RAM的仿真图1

分析此仿真图,当读写信号线wren设置为0时,只能读。每当clk是上升沿,就会触发此RAM,读出对应地址中的内容,比如说当地址是1的时候,clk遇到上升沿的时候,就会触发,读出相应地址内的内容为1。

当wren=1和0的仿真图如图5.7 自定义RAM的仿真图2

图5.7 自定义RAM的仿真图2

分析此仿真图,当读写信号线wren设置为0和1交替时,可读可写。每当clk是上升沿,就会触发此RAM,读出对应地址中的内容,当wren是1的时候,就会将data中的数据更新address处的数据。实现数据的更新,比如说当wren第一次为1时,将1 地址内的数据更新为128,之后遇到clk为上升沿读取数据发现是128。

六、实验讨论与总结

(1)如何在图形编辑窗口中设计 LPM-ROM 、LPM-RAM存储器?怎样设计地址宽度和数据线的宽度?怎样导入 LPM-ROM、LPM-RAM 的设计参数文件和存储 LPM-ROM 、LPM-RAM的设计参数文件?

解答:以设计LPM-ROM为例,设计的时候在IP Catalog窗口搜ROM,如下图

选中ROM:1-POST之后,选择一个保存的位置,比如ROM,然后设置相应的参数,如下图。

最后需要创建.bsf和.v的文件。就可以在原理图中进行设计的引用了。

创建一个Block Diagram/Schematic File文件,双击界面,弹出一个Symbol的界面,找到Project,就可以选中我们刚刚创建的ROM了。

RAM的创建和ROM的相似,只不过搜的时候搜RAM。其余步骤同理。

(2)怎样对 LPM-ROM、LPM-RAM 的设计参数文件进行软件仿真测试?

解答:以ROM为例,设计完原理图之后,就需要创建VMF的仿真文件,将引脚导入,设置相应的参数,进行仿真的测试。设置参数的对于ROM的测试主要就是address和clk,但是对于RAM来说多了wren和data,都要进行测试。

(3)怎样在实验台上对 LPM-ROM 、LPM-RAM进行测试?

解答:需要下载到我们的实验箱上的FPGA芯片上进行测试,通过拨码开关结合段码显示,进行测试。

(4)存储器原理图中的地址、数据,可否通过寄存器提供?

解答:可以,寄存器本身就有存储的功能,但是需要控制好周期。

一. 实验目的 1. 了解存储器的组成结构,原理和读写控制方法 2. 了解主存储器工作过程中各信号的时序关系 3. 了解挂总线的逻辑器件的特征 4. 了解和掌握总线传送的逻辑实现方法 . 实验原理 1.基本操作:读写操作 读操作是从指定的存储单元读取信息的过程;写操作是将信息写入存储器指定的存储单元的过程 2.读写操作过程 首先要由地址总线给出地址信号,选择要进行读写操作的存储单元,然后,做写操作时,先从数据总线输入要存储在该单元的数据,通过控制总线发出相应的写使能和写控制信号,这时,数据保存在该单元中;做读操作时,只要通过总线发出相应的读控制信号。该数据就出现在总线上了 3. 总线传送 计算机的工作过程,实际上也就是信息的传送和处理过程,而信息的传送在计算机里面频度极高,采用总线传送必不可少,它可减少传输线路、节省器件、提高传送能力和可靠性。总线传送器件中大量使用的是三态门。三态门(ST门)主要用在应用于多个门输出共享数据总线,为避免多个门输出同时占用数据总线,这些门的使能信号(EN)中只允许有一个为有效电平(如低电平),由于三态门的输出是推拉式的低阻输出,且不需接上拉(负载)电阻,所以开关速度比OC门快,常用三态门作为输出缓冲器。其中74LS244是专用做挂总线用的三态门器件之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不懂代码的孩子

谢谢大佬

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值