大学计算机原理 实验三 多周期MIPS CPU的控制部件实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机原理与设计
实验报告
实验三多周期MIPS CPU的控制部件用有限状态机实现多周期CPU的控制部件
姓名: XXX
学号: 2013551728
班级: 13级软件工程2班
实验日期: 2014年 11 月12 日
一.实验目的
1、了解MIPS—CPU控制器的功能和工作原理;
2、掌握用有限状态机技术实现多周期控制器的方法;
3、熟练掌握用Verilog HDL语言设计多周期控制器的方法;
4、熟练掌握对多周期控制器的仿真实验验证和硬件测试两种调试方法;
5、掌握向MIPS-CPU顶层数据通路中增加控制单元的方法,并通过仿真验证和硬件测试两种方法对电路进行故障定位的调试技术。
二.实验内容
(1)MIPS—CPU控制器的有限状态机设计,根据MIPS—CPU各种类型指令执行要求和有限状态机的设计原理,将多周期控制器的指令执行划分为多个状态,确定每一种指令的有限状态机,最后归纳为完整的多周期控制器有限状态机。通过Verilog HDL语言实现多周期控制器有限状态机。
(2)根据MIPS—CPU控制器的接口要求,在有限状态机的基础上,用Verilog HDL实现完整的MIPS—CPU控制器的设计,并根据仿真波形,验证设计的正确性,并对出现的故障进行定位,修改程序,重新编译;
(3)设计控制器的硬件下载测试方案。将编译通过的电路下载到实验台中。根据硬件调试结果验证设计的正确性,并对出现的故障进行定位,修改程序重新编译;最终完成控制器的硬件电路设计;
(4)在MIPS—CPU指令系统的数据通路基础上,增加控制单元电路,并进行编译,仿真波形和调试。根据仿真波形,验证设计的正确性,并对出现的故障进行定位,修改程序,重新编译;
(5)对增加了控制单元的顶层数据通路设计硬件下载测试方案。将编译通过的电路下载到实验台中。根据硬件调试结果验证设计的正确性,并对出现的故障进行定位,修改程序,重新编译;最终完成增加了控制单元的顶层数据通路设计。
三.实验原理与步骤
1.把指令执行分成多个阶段,每个阶段在一个时钟周期内完成
(1).时钟周期以最复杂阶段所花时间为准
(2).尽量分成大致相等的若干阶段
(3).每个阶段内最多只能完成:1次访存或 1次寄存器堆读/写或 1次ALU
2.每步都设置相应的存储元件,执行结果都在下个时钟开始保存到相应单元
3.认真阅读书上的控制部件代码后,将其按照电路图进行拆分,拆分为三个部件,并在顶层
模块中连接线路。
四.实验源代码D触发器源代码:
下一状态部件源代码:
输出函数部件源代码:
五.EDA阶段的实验结果(“编译”、“仿真”等)
仿真结果如上图。
六.实验电路结构图
七.实验按键显示说明及引脚分配
1、本实验按键及显示说明
按键对应功能
键1op
键2op
键3func
键4func
键7clk
键8clrn
数码编号对应结果
数码1aluc
数码2aluscrb
数码3pcsource[1..0]
数码4jal regret m2reg
D1wreg
D2sext
D3shift
D4selpc
D5wmem
引脚分配表:
八.测试时的电路总体结构及其说明多周期CPU控制部件的状态转移图
多周期CPU控制部件的电路结构图
实验电路图
九.测试计划(包括计划进行的系统测试、每一测试的测试过程、测试所需的测试数据、预期结果数据等)及其相关说明
下一状态函数的真值表
实验结果如下:
与预期实验结果相符。
十.关于实验电路设计的其他说明
q(state)值暂未进行输出。
十一.实验心得
这次实验将控制部件拆分花费了大量的时间,也使得我对于Verilog语言加深了理解和掌握。对cpu的控制部件的结构和原理进行了深入的了解,对以后的学习起到了重要的作用。
(注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待你的好评与关注)