西电计组实验一 存储器实验

这篇具有很好参考价值的文章主要介绍了西电计组实验一 存储器实验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

FPGA中LPM_ROM定制与读出实验

一.实验目的
  1.掌握FPGA中lpm_ROM的设置,作为只读存储器ROM的工作特性和配置方法;
  2.用文本编辑器编辑mif文件配置ROM,学习将程序代码以mif格式文件加载于lpm_ROM中;
  3.在初始化存储器编辑窗口编辑mif文件配置ROM;
  4.验证FPGA中mega_lpm_ROM的功能。

二.实验原理
  ALTERA的FPGA中有许多可调用的LPM (Library Parameterized Modules)参数化的模块库,可构成如lpm_rom、lpm_ram_io、lpm_fifo、lpm_ram_dq的存储器结构。CPU中的重要部件,如RAM、ROM可直接调用他们构成,因此在FPGA中利用嵌入式阵列块EAB可以构成各种结构的存储器,lpm_ROM是其中的一种。lpm_ROM有5组信号:地址信号address[ ]、数据信号q[ ]、时钟信号inclock、outclock、允许信号memenable,其参数都是可以设定的。由于ROM是只读存储器,所以它的数据口是单向的输出端口,ROM中的数据是在对FPGA现场配置时,通过配置文件一起写入存储单元的。
实验中主要应掌握以下三方面的内容:
  1.lpm_ROM的参数设置;
  2.lpm_ROM中数据的写入,即LPM_FILE初始化文件的编写;
  3.lpm_ROM的实际应用,在实验台上的调试方法。

三.实验步骤
  1.建立工程:
  A.新建一个存储器初始化(.mif)文件。
  B.打开QuartusII,在顶部菜单中选File -> New other files ->memory initialization file ,单击OK,在弹出的对话框中输入字数64和字长8,单击OK, 打开存储器初始化编辑窗口。利用View菜单命令,改变地址或字长的显示格式等,选择要编辑的字(反白显示),直接输入内容。然后点File ->save as,在弹出的对话框中选择 “保存在” D:\lpm_rom,输入文件名Mif1,文件名后缀选择.mif,取消最下面一行的Create new project based on this file的选择框的对勾,点击保存完成。
  C.打开QuartusII,选File ->New Block Diagram/schematic File单击OK,进入图形输入界面,单击鼠标右键,点Insert ->Symobl…,在libraries库中选择需要的元件,(如果知道元件名称也可以直接输入),在这里我们在Name框中直接输入lpm_rom,点OK,在弹出的窗口中选择VHDL,在What name do you want for the output file? 点Browse,选择元件存放的文件夹D:\lpm_rom,给元件取名lpm_rom0,点击next ,进入LPM_ROM选择对话框,在currently select device family中选择芯片Cyclone III,选宽8位,64字节,选中Dual clock,点next进入下一界面, 去掉已打勾的“q”output port,然后点next进入下一界面,点browse,选前面已建立的D: D:\lpm_rom\ Mif1。mif文件,点next -> next,Finish完成lpm_rom0的输入。重复点鼠标右键选Insert Symobl…,在libraries库中择其他需要的input,output引脚。连接到lpm_rom0对应的端口,修改输入引脚名称一个为a[5…0],时钟名为clk, 输出引脚的名称为q[7…0],然后点save,在弹出的窗口Do you want to create a new project on this file? 回答“是”,点next -> next ,在窗口中选择存入新建的文件夹D:\lpm_rom中,项目名lpm_rom0,lpm_rom0,点next->next,在设备窗口中分别选择:Family为CycloneIII, package为PQFP, Pin count为240, Speed grade为8,点next -> next ->选择EP3C40Q248C8,Finish保存。
  D.在快捷键中,点击编译键►完成编译。如果有错误,可返回前面重新检查、修改输入后再次编译,直到看到提示编译成功信息。
  2.波形仿真:
  A.打开QuartusII,选File File -> New other files -> Vector Waveform File,点击OK进入仿真界面。
  B.在左空白处双击左键,在新出现的对话框的Radix中选择Hexadecimal(16进制),点Node Finder点list选中需要仿真的信号,a[5…0],clk,[7…0]点击OK->OK。
  C.加入信号。
  D.选仿真需要的时间,点击Edit,选择End time (100 us)。点a[0],设置为高电平。点clk (10 ns),一般可设置时钟的周期为10-100 us ,End time为1-100 us。
  E.保存。系统会自动把后缀加上。
  F.仿真。点快捷键 仿真。
  3.引脚锁定
  仿真完成后,选择菜单Assignments-> pins->Location,根据实验电路结构图NO。0和芯片引脚对照表, 查出a[5…0],clk,q[7…0] ,在核心芯片EP3C40Q240C8上所对应的引脚号,进行引脚锁定。引脚锁定后再次编译,点快捷键►编译。
  4.下载
  将电脑与实验箱通过并口连接接好,点快捷键,在出现的*.sof文件上, 选中program/configure点快捷键。即可设计下载到FPGA中。最后是用实验箱进行硬件测试。

四.实验要求
  1.实验前认真复习LPM-ROM存储器部分的有关内容。
  2.记录实验数据,写出实验报告,给出仿真波形图。
  3.通过本实验,对FPGA中EAB构成的LPM-ROM存储器有何认识,有什么收获?

五. 实验结果
  1.存储器初始化文件内容:
西电计组实验一 存储器实验
  2.LPM_ROM图形文件:
西电计组实验一 存储器实验
  3.波形仿真结果:
西电计组实验一 存储器实验
  4.引脚锁定结果:
西电计组实验一 存储器实验
  5. 下载到FPGA:
西电计组实验一 存储器实验
  6.FPGA实验板初始化状态:
西电计组实验一 存储器实验
  选择实验电路模式为NO。0,24位数据输出由数码8至数码3显示,6位地址由键2、键1输入,键1负责低4位,地址锁存时钟CLK由键8控制,每一次上升沿,将地址锁入,数码管8/7/6/5/4/3将显示ROM中输出的数据。发光管8至1显示输入的6位地址值。
例如:当由键2、键1输入的地址为000001时,数码管3显示000001F,表示读取的数据为十进制的1;当由键2、键1输入的地址为010001时,数码管3显示000011FF,表示读取的数据为十进制的17。由此可见,本次实验成功地验证了FPGA中mega_lpm_ROM的功能。
六.思考题
  1.如何在图形编辑窗口中设计LPM-ROM存储器?怎样设计地址宽度和数据线的宽度?
  答:进入图形输入界面,双击鼠标左键,在Name框中输入lpm_rom,点OK,在弹出的窗口中选择VHDL,在What name do you want for the output file?中点Browse,选择元件存放的文件夹D:\lpm_rom,给元件取名lpm_rom0,点击next,进入LPM_ROM选择对话框,在currently select device family 中选择芯片Cyclone III,选宽8位,64字节。
  2.怎样导入LPM-ROM的设计参数文件和存储LPM-ROM的设计参数文件?
  答:点next进入下一界面,去掉已打勾的“q”output port,点next进入下一界面,点browse,选前面已建立的D: D:\lpm_rom\ Mif1。mif文件,点next->next,最后点击Finish完成lpm_rom0的输入。
  3.怎样对LPM-ROM的设计参数文件进行软件仿真测试?
  答:选File File->New other files->Vector Waveform File,点击OK进入仿真界面。在左空白处双击左键,在新出现的对话框的Radix中选择Hexadecimal(16进制),点Node Finder点list选中需要仿真的信号:a[5…0],clk,[7…0]点击OK。加入信号,选仿真需要的时间,点击Edit,设置End time为100 us。设置A组信号的变化为从0-63(十进制),每隔10us变化一次,同时设置时钟的周期为20us。保存,点快捷键 仿真。
  4.怎样在实验台上对LPM-ROM进行测试?
  答:仿真完成后,选择菜单Assignments->pins->Location,根据实验电路结构图NO。0和芯片引脚对照表,查出a[5…0],clk,q[7…0],在核心芯片EP3C40Q240C8上所对应的引脚号,进行引脚锁定。引脚锁定后再次编译,点快捷键►编译。将电脑与实验箱通过并口连接接好,点快捷键,在出现的*.sof文件中选中program/configure点快捷键即可将设计下载到FPGA中,最后用实验箱进行硬件测试。
七.心得体会
  1.本次实验是这学期计组实验的第一次实验。通过本次实验,我初步掌握了FPGA中lpm_ROM的设置,复习了课本中只读存储器ROM的工作特性。
  2.通过本次实验,我学会了用文本编辑器编辑mif文件配置ROM,将代码以mif格式文件加载于lpm_ROM中;
  3.通过本次实验,我学会了如何将配置文件下载到FPGA中并进行硬件验证。
  4.虽然实验中遇到了很多困难,如电路图少连了线、引脚分配错误、USB-Blaster数据线有问题,板子内部原因等等,但最终仍在老师的指导下成功完成了实验。文章来源地址https://www.toymoban.com/news/detail-442908.html

到了这里,关于西电计组实验一 存储器实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机组成原理实验——三、存储器实验

    1.掌握存储器的工作原理和接口。 2.掌握存储器的实现方法和初始化方法。 3.掌握RISC-V中存储器的存取方式。 1.利用vivado IP核创建64 32的ROM,并在 系数文件中设置数据为123489ab; 2.利用vivado IP核创建64 32的RAM,并在 其上封装一个模块,使得其能完成risc-v 的load/store指令功能。

    2024年02月04日
    浏览(52)
  • 计算机组成原理 存储器实验

    计算机组成原理实验环境 掌握静态随机存储器 RAM 的工作特性。 掌握静态随机存储器 RAM 的读写方法。 做好实验预习,熟悉 MEMORY6116 芯片各引脚的元器件的功能和连接方式,熟悉其他实验元器件的功能特性和使用方法,看懂电路图。 按照实验内容与步骤的要求,认真仔细地

    2024年02月02日
    浏览(53)
  • 实验2 存储器设计与实现【计算机组成原理】

    掌握单端口RAM和ROM原理和设计方法。 掌握32位数据的读出和写入方法。 掌握ModelSim和ISEVivado工具软件。 掌握基本的测试代码编写和FPGA开发板使用方法。 装有ModelSim和ISEVivado的计算机。 SwordBasys3EGo1实验系统。 片内存储器分为RAM和ROM两大类。RAM是随机存储器,存储单元的内

    2024年02月06日
    浏览(50)
  • 计算机组成与体系结构第二次试验:存储器实验

    为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至CSDN中,供同学们学习参考。如有不足或描述不完善之处,敬请各位指出,欢迎各位的斧正! 本实验的主要内容是了解 RAM(Random Access Memory,静态随机存储器)和ROM(Read Only Memory,只读存储器)

    2024年02月08日
    浏览(49)
  • 操作系统实验三虚拟存储器管理之模拟页面置换算法(FIFO&LRU)

    一、概述  (1)置换算法  (2)缺页率与命中率 二、先进先出置换算法(FIFO)    (1)定义    (2)示例  (3)Belady异常  三、最近最久未使用置换算法(LRU) (1)定义 (2)示例 四、FIFOLRU置换算法的模拟    (1)流程图  (2)完整代码  (3)实验结果         进程运行

    2024年02月04日
    浏览(38)
  • 计算机组成与结构综合大实验验优:16位运算器设计实验、存储器实验、控制器实验、16位CPU设计实验

    综合性比较强的大实验,先是在实验室完成前面三个小实验,最后再三个结合完成最后的16位CPU的设计,需要软硬件结合一起。 实验截图 黄色圈的地方是输入步骤显示 蓝色圈的地方是标志位和结果显示的LED灯 红色圈的地方是输入决定ALU功能的操作码的地方,以及输入计算的

    2023年04月08日
    浏览(48)
  • 操作系统实验:虚拟存储器 (C语言实现) 模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺页中断。

    模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺 页中断。 模拟分页式存储管理中硬件的地址转换和产生缺页中断。 用先进先出(FIFO)页面调度算法处理缺页中断。 由于是模拟调度算法,所以,不实际启动输出一页和装入一页的程序,

    2024年02月04日
    浏览(64)
  • 西电计组实验三 微控制器实验

    一.实验目的   1. 掌握节拍脉冲发生器的设计方法和工作原理。   2. 理解节拍脉冲发生器的工作原理。 二.实验原理   计算机之所以能够按照人们事先规定的顺序进行一系列的操作或运算,就是因为它的控制部分能够按一定的先后顺序正确地发出一系列相应的控制信

    2024年02月08日
    浏览(35)
  • 西电计组实验五 总线控制实验

    一.实验目的   1.理解总线的概念及特性;   2.掌握总线传输控制特性。 二.实验原理    总线的基本概念: 总线是多个系统部件之间进行数据传输的公共通路,是构成计算机系统的骨架。借助总线连接,计算机在系统各部件之间实现传送地址、数据和控制信息的

    2024年02月09日
    浏览(35)
  • 西电计组实验二 运算器实验

    一.实验目的   1.了解简单运算器的数据传输通路。   2.验证运算功能发生器的组合功能。   3.掌握算术逻辑运算加、减、与的工作原理。   4.验证实验台运算的8位加、减、与、直通功能。   5.按给定数据,完成几种指定的算术和逻辑运算。 二.实验原理   算

    2024年02月06日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包