- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用状态机控制RAM的读写
计算机组成原理 实验报告
实验二 用状态机控制RAM 的读写
P王悦
实验内容:
例化一个简单双端口RAM
可复用lab1 的结果
用Verilog 编写一个顶层模块,调用RAM,并通过有限状态机控制RAM 的读写操作(按
着状态转移图实现)
下载验证(可先进行功能仿真)
实验所需外设
拨动开关8 个(输入数据及地址)
按键3 个(控制状态转移及全局复位)
LED 灯或数码管(显示结果)
其它(不做限制)
状态说明
上电复位后,系统处于初始状态,按键1 按下则跳转到地址输入状态,其它按键无
效
地址输入状态下可输入地址,按键1 按下表示读操作(输入的地址为读地址)跳转
到显示状态,按键2 按下表示写操作(输入的地址为写地址),跳转到数据输入状
态。其他按键无效
数据输入状态下可输入数据,按下按键2 跳转到数据输出状态,其它按键无效
数据输出状态显示读出(或写入)的数据,按键1 按下后跳转到初始状态,其他按
键无效
无论当前处于何种状态,按下复位键后,系统回到初始状态
实验要求:
用按键、开关作为输入;LED 灯或数码管作为输出,显示地址及数据
提交电子档实验报告
以doc 或pdf 格式发送至ustc_digital@163.com
邮件标题格式:labx_姓名_学号_实验题目
例如:lab2_张三_P有限状态机
从lab2 开始,每个实验提交一份实验报告
实验平台:
软件:Xilinx ISE 14.7 ,Digilent 的Adept 工具
硬件:xc6slx16-3csg324(Spartan6)
实验记录:
4 月15 日下午开始构建思路,并初步编写了一个ISE 工程,烧录之后没有达到目标,开
始逐步检测代码。
首先检测状态机,用七段数码管(一共四位)表示状态机的状态,即在状态机(三段式)
的输出添加状态输出,检测后发现,状态转换逻辑上符合要求,但是存在一次按键状态转换
多次,经分析知道是因为现态段触发条件包括时钟(100MHz),次态触发条件包含现态和输
入,导致一次按键过程中,时钟触发多次状态转换,采取降频方法,实验得出合理的降频幅
度,解决了状态机的问题。
然后检测ram,由于ram 的使能种类过多,导致分析较困难,借用实验一的模块,逐步
进行仿真测试,记录使能的使用方法,重新编写。但是仍出现输出异常。采用ram 初始化,
测试结果为可读出,进而判断是写入出错。重新编写输入,多次测试后成功。
4 月16 日重新编写代码,优化了输出,原来是七段数码管显示状态,led 灯显示数据,
后注意到要输出地址,所以做修改。修改后功能为led 灯两个一组表示状态机状态,七段数
码管前两位显示地址,后两位显示数据(ram 参数:8 位地址,深度256 )。
实验结果:
于4 月16 日晚成功完成本次实验并提交检查,期间除了上学期自己写的状态机代码,
没有参考任何资料。因为时隔 3 个月没有使用 verilog ,出现生疏,加之对自己要求精益求
精,致使总耗时7.5 小时。
通过本次实验,温习了状态机的相关知识,学习了ram 的相关知识;重新掌握了verilog
的编写技能,收获了代码完成后的喜悦。
附:
// ram.v
/***************************** *************************************************
*
* This file is owned and controlled by Xilinx and must be used solely *
* for design, simulation, implementation and creation of design files *
* limited to Xilinx devices
文档评论(0)