前言
2023-5-22 09:35:16
以下内容源自《【FPGA模型机课程设计】》
仅供学习交流使用
推荐
无
0集中实践环节计划书
时间内容及工作安排 FPGA模型机课程设计总共进行两周时间,主要围绕设计一个完整的模型计算机展开,包括设计模型机的基本架构、数据通路、运算器、指令存储器、数据存储器、通用寄存器、输入\输出端口等硬件部件。指令系统采用MIPS 32位处理器指令子集实现。要求实现基本的Load-Store-ALU类型20条指令,在此基础上可以扩展需要实现的指令,包括乘除运算、条件转移、异常与中断、原子操作等指令,构成完整模型机。在此基础上可以按照指令周期的不同阶段,设计指令流水线,并完成流水处理器设计。
所有设计的指令需通过Modelsim仿真,验证模型机设计功能是否符合要求。仿真通过后,用机器指令编写程序,实现简单的应用功能。有FPGA开发板的同学,通过Vivado综合工具,下载到FPGA开发板上,
一、时间安排:
“FPGA模型机课程设计”的时间安排可视实际情况而定,主要内容和安排大致如下:
- 第一周周一:
FPGA模型计算机整体方案设计。由指导教师给学生讲解本课程设计的题目和要求。学生自行分组,每组成员不得超过4人,由于设备数量关系,建议每组成员3~4人。学生小组认真研究“FPGA模型机设计”课程网站上题目要求和教学资源,查阅有关资料,确定所设计MIPS指令集范畴,完成模型机整体方案设计,搭建设计所需的软硬件环境,并着手设计开发工作。
第一周周二:
模型计算机各功能电路设计。学生根据总体方案,自行运用VerilogHDL语言进行运算器设计、存储器设计、输入\输出端口设计、总线接口设计等。即要求完成20条MIPS整数指令,基本能够在Modelsim上进行功能仿真,运算、转移和访存功能需测试正确。
第一周周三:
模型机指令系统设计。学生根据搭建的模型机数据通路图,选择扩展的指令格式和指令功能。扩展指令系统的选择可以参照MIPS 32位处理器指令集,选择MIPS12条整数指令。要求能够画出指令格式和指令功能,能够画出处理器内部实现结构图,包括时序信号和控制信号,可以采用单周期方案。
第一周周四:
选择MIPS与中断异常相关的6条指令,继续将完整模型机的指令进行实现。学生将在Modelsim里仿真验证通过的模型机程序,并编写具体测试指令,能够通过简单的中断异常机器指令对中断异常等功能进行测试。
第一周周五:
模型机整体的联调。完成模型机指令系统实现。学生根据设计好的指令系统实现方案,在Modelsim上进行功能仿真。要求将所有设计的机器指令都仿真正确,包括:数据流通、时序节拍、寄存器的读写,输入输出端口的访问、接口控制信号等。所有指令功能测试正确。指导教师对学生进行中期检查,主要观察指令运行结果,包括数据寄存器打入是否正确,转移指令是否正确设置PC,中断异常等指令功能的实现,即能够编写具体测试指令,能够通过简单的中断异常机器指令对中断异常等功能进行测试。
第二周周一:
设计指令流水线,按照指令周期不同阶段进行划分,实现指令基本流水处理功能。注意数据相关冲突的解决。编写机器指令程序,对指令逐一进行测试,可以使用原有的测试程序,但检测结果时需注意功能和时序的对应关系。
第二周周二:
将中断异常引入流水线,实现精确的中断异常控制。学生应首先编写异常中断测试程序,在Modelsim里对时序和功能进行细致比对,确保时序和功能仿真正确。进而编写较为复杂的系统测试程序,将完整模型机的指令进行实现和仿真验证。
第二周周三:
模型机在FPGA上的功能测试。能够用机器指令编写较复杂功能的程序,测试模型机的各项功能。要求:用机器指令编写的程序应在Modelsim上仿真通过,明确实验结果。该测试程序由学生自行设计,需将所设计结果和指令运行结果逐一验证以确保正确。能够通过Vivado将模型机下载FPGA开发板进行验证。该测试程序由学生自行设计,测试指令种类和条数越多,测试功能越多,性能提升明显者为佳。
第二周周四:
对流水处理器进行改进和完善,注意数据相关和控制相关冲突的解决。编写机器指令程序,对各条指令功能逐一进行检测。教师检查学生完成情况,每个学生组应诚实地将自己的作品向教师进行展示。,包括功能演示、设计方案讲解、设计步骤讲解、实验结果正确性分析等。教师需根据每个设计组以及每个学生承担的具体工作合理评分。
第二周周五:课程设计收尾及优秀作品展示答辩
学生小组在通过验收后,录制模型机演示视频(一般<3min),优秀设计者需制作答辩讲解ppt。模型机演示视频应包括:所设计的指令集、模型机架构、程序运行演示和对运行结果的说明;曾经出现的问题及解决办法;每位成员在设计开发团队中起到的作用。所录视频为mp4格式,要求屏幕视角大,图像清晰,声音洪亮,演示运行过程清楚明了,运行结果是否正确有解释说明。视频最好有字幕提示。
学生小组整理好FPGA开发板和实验工具,归还硬件实验室。整理相关文档,包括模型机整体设计、各模块设计、测试代码说明等。学生撰写FPGA模型机课程设计报告,注意需在其中说明个人的分工和体会。
二、关键时间节点和要求
1.第一周周一 完成分组并向指导教师报告
2.第一周周五 完成模型机设计所有仿真测试,包括基本20条指令和扩展12条指令,以及6条中断异常指令。
3.第二周周三 基本完成所有设计实现工作,包括流水设计的处理器和FPGA开发板下载运行和验证。
4.第二周周四 学生小组完成项目验收,现场操作演示,回答问题
5.第二周周五 课程设计收尾及优秀作品展示答辩
三、实验要求:
基本模型机:(50%)
实现基本20条MIPS整数指令,模型机在Modelsim上时序和功能仿真正确。编写机器指令程序,实现逐条指令功能测试和复杂功能测试。应用程序由学生自行编写,题材不限。以指令实现越多,功能测试越多者为佳。
完整模型机:(30%)
实现全部扩展指令,即包括12条MIPS整数指令和中断相关指令。学生编写机器指令程序,实现逐条指令功能测试和复杂功能测试。该应用程序由学生自行编写,题材不限。以指令实现越多,功能测试越多者为佳。
流水处理器(20%)
实现流水处理器,包括之前(表1~表3)所有指令功能,能够合理划分流水阶段,解决数据相关和控制相关等冲突。通过基本指令测试和复杂功能测试,所有程序功能测试正确,并且效率提升显著者为佳。
四、任务要求:
1、在Modelsim仿真环境下实现模型机系统功能仿真测试。
2、在FPGA开发板上实现模型机系统功能验证实现。
3、验收:视频系统演示、回答教师问题。
4、优秀设计者制作ppt,讲解设计思想,展示设计成果(视频演示),参加答辩
5、每名学生需自行完成课程设计报告。
6、每个学生小组需提交组内互评表给指导教师。
附录:
MIPS 基本整数指令集
MIPS 扩展整数指令集
最后
2023-5-22 09:35:21
你对我百般注视,
并不能构成万分之一的我,
却是一览无余的你。
祝大家逢考必过
点赞收藏关注哦