Project3 VerilogHDL完成MIPS微系统开发(支持设备与中断) 一、设计说明 1.MIPS 微系统应包括:MIPS处理器、系统桥和 1 个定时器,32位输入设备、32 位输出设备。 2.MIPS处理器应实现MIPS-Lite3指令集。 a)MIPS-Lite3={MIPS-Lite2,ERET、MFC0、MTC0 }。 b)MIPS-Lite2={addu,subu,ori,lw,sw,beq,lui,addi,addiu,slt, j,jal,jr,lb,sb }。 c)addi应支持溢出,溢出标志写入寄存器$30中第0位。 3.MIPS处理器为多周期设计。 4.MIPS 微系统支持定时器硬件中断。 二、系统桥与设备 5.为了支持设备,MIPS 微系统需要配置系统桥。 a)需要支持 3 个设备,即定时器、32位输入设备、32 位输出设备。 b)定时器的设计规范请参看《定时器设计规范.docx》。 三、中断机制 6. 为了支持异常和中断,处理器必须实现 0 号协处理器(CP0)。为此,必须实现的CP0寄存器包括:SR、CAUSE、EPC、PrID。关于这几个寄存器,请大家阅读《异常中断及协处理器》中的相关内容。 7.考虑到简化以及与 MARS 模拟器一致,我们将只支持 0x0000_4180 这个入口地址,即所有的异常与中断都从这里进入。 a)你需要修改 NPC 模块,以确保当异常/中断发生时,NPC.NPC 输出 0x0000_4180。 8.由于本系统只要求支持设备中断,MIPS内部异常(如指令错误)则不被考虑。 四、微系统设计 9.MIPS 处理器需要增加接口信号,以下为参考设计(只列出了新增的信号): 信号名 方向 描述 PrAddr[31:0] O 32 位地址总线 PrDIn[31:0] I 从 Bridge 模块读入的数据 PrDOut[31:0] O 输出至 Bridge 模块的数据 Wen O 写允许信号 HWInt[7:2] I 6 个硬件中断请求 10.多周期处理器由 datapath(数据通路)和 controller(控制器)组成。 a)数据通路应至少包括如下module:PC(程序计数器)、NPC(NextPC 计算 单元)、GPR (通用寄存器组,也称为寄存器文件、寄存器堆)、ALU(算逻运算单元)、EXT(扩展单元)、IM(指令存储器)、DM(数据存储器)、 Bridge、CP0 等。 b)IM:容量为8KB(8bit×8192)。 c)DM:容量为12KB(8bit×12288) ,采用小端序方式存取数据。 11.微系统中重要的地址范围和入口请见下表。 地址或地址范围 备注 数据存储器 0x0000_0000 至 0x0000_2FFF 指令存储器 0x0000_3000 至 0x0000_4FFF PC初始值 0x0000_3000 Exception Handler 入口地址 0x0000_4180 定时器寄存器地址 0x0000_7F00 至 0x0000_7F0B 定时器3个寄存器 12.Exception handler 的代码属于指令存储器。注意 handler 在指令存储器中的地址位置以及正确编写 modelsim 仿真时指令的初始化文件。 13.定时器的 ISR 请接入 MIPS 处理器的 HWInt[2],即最低中断。 五、测试要求 14.请开发一个主程序以及定时器的 exception handler,实现秒计数显示功能。 整个系统完成如下功能: 1) 主程序通过读取 32 位输入设备内容并显示在32位输出设备上。 2) 主程序将定时器初始化为模式 0,并加载正确的计数初值至预置计数 初值寄存器以产生 1s 的计数周期。 3) 主程序启动定时器计数后进入死循环。 4)中断子程序不断读取新的输入设备内容,一旦发现与之前的 32位输 入值不同,则更新32位输出设备显示为当前新值;否则将输出设备 显示内容加1。然后重置初值寄存器从而再次启动定时器计数,实现 新一轮秒计数。 15.时间要求:各班实验指导教师指定。 六、成绩及实验测试要求 16.实验成绩包括但不限于如下内容:设计的正确性、实验报告等。 17.实验测试时,你需要重点解读中断实现及软硬件协同机制。 a)解读不仅应准确,而且应力求简洁。 七、其他要求 18.提交的压缩文件内容:工程中所有.v文件、code.txt、code.asm、课程设计报告。
2021-12-23 09:05:49 336KB 计算机组成原理
(1)实验计算机不带外部设备。 (2)实验计算机运算采用单累加多通用寄存器结构。 (3)实验计算机功能和用途:能执行双字节加法程序。 (4)实验计算机指令系统模块: 该实验计算机共有8条指令如下: 指令编码 第一字节 第二字节 I7I6I5I4I3I2 I1I0 0 0 0 0 0 X Ri 0 0 0 0 1 X Ri 0 0 0 1 0 X X X 0 0 0 1 1 X X X d7-d0 0 0 1 0 0 0 a9 a8 a7-a0 0 0 1 0 1 0 a9 a8 a7-a0 0 0 1 1 0 0 a9 a8 a7-a0 0 0 1 1 1 0 a9 a8 a7-a0 指令模块如下: 算术加法指令——ADD (A)+(Ri)→A. 数据传送指令——MOV (Ri)→A. 带进位C右环移位指令——SRC (A)带进位C右环移一位. 存储器读操作指令——LDA data→A. 存储器写操作指令——STA (addr)→A. 带条件跳转指令——JC 若CY=1 addr→PC,否则PC加1. 程序无条件跳转指令——JMP addr→PC. (5)微操作控制信号的实现方法: ①对于电平有效的微操作控制信号,通常可由微指令码直接实现。
2021-12-23 00:03:06 192KB ……………………
1
实验一:验证74LS181运算和逻辑功能 实验二:运算器 实验三:字发生器及跑马灯 实验四:模拟微程序实现指令 包含上述四个实验的报告,都是认真写的,属实不易!!hnust!
2021-12-22 19:03:32 699KB 计算机组成原理 课程设计 实验报告
四位ALU中规模集成电路逻辑图 M是状态控制端, M=1,执行逻辑运算 M=0,执行算术运算 F3~F0是运算结果 S0~S3是运算选择控制端, 决定电路执行哪种算术运算 或哪种逻辑运算。 Cn是ALU的最低位进位输入 A3~A0,B3~B0是 参加运算的两个数
2021-12-22 16:54:04 526KB 组成原理
1
基于唐都科教仪器的计算机组成原理课程设计,内含流程图,源代码(机器指令和微指令)。绝对真实,和我发的上一个“计算机组成原理课程设计”不同,大家可以参考。。
1
实验一:验证74LS181运算和逻辑功能 实验二:运算器 实验三:字发生器及跑马灯 实验四:模拟微程序实现指令 包含上述四个实验的代码文件,其中还做了创新,十分全,都是认真写的,属实不易!!hnust!
2021-12-22 09:06:13 3MB 计算机组成原理 课程设计
本实验为跑马灯,课程设计源码
2021-12-22 09:06:12 308KB 计算机组成与原理 课程设计
1
计算机组成原理论文计算机组成原理论文计算机组成原理论文计算机组成原理论文计算机组成原理论文
2021-12-21 20:49:40 170KB 计算机组成原理论文
1
硬件综合设计原材料,学习参考。
2021-12-21 20:07:40 23.5MB 硬件 计算机组成原理
1