MIPS的指令的CPU(14条指令)logisim仿真软件编写

一、课程设计题目

基于FPGA(或者Logisim 软件仿真)实验平台,完成16位单周期CPU设计。

二、课程设计的目的与意义

本课程设计综合利用计算机组成原理课程所学的理论知识,并结合其单元实验中所积累的计算机部件设计和调试方法,设计出一台具有自定义指令系统的简单计算机系统。所设计的系统能在基于FPGA(或者Logisim)平台上运行一段用户程序,通过检查程序结果的正确性来判断所设计的计算机系统的正确性。

三、课程设计的内容

设计模型机系统的指令系统、总体结构和时序信号。要求所设计的整机系统能支持自动和单步运行方式,能正确地执行存放在主存中的用户程序,并且对主要的数据流和控制流通过适当方式显示;验证实验结果。
① 该单周期CPU实现的指令如下:(从中至少选取10条指令,其余指令可以自己设计;至少要选择1条R-型指令、1条立即数运算指令、Load指令(读)、Store指令(写)、1条分支指令和无条件转移指令;)
表1选取指令及格式
指令 15~12 11~10 9~8 7~6 5~3 2~0 指令功能
1 or 0 rs rt rd 0 0 $rd = $rs | $rt
2 and 0 rs rt rd 0 1 $rd = $rs & $rt
3 add 0 rs rt rd 0 2 $rd = $rs + $rt
4 sub 0 rs rt rd 0 3 $rd = $rs - $rt
5 sllv 0 rs rt rd 0 4 $rd = $rs << $rt 逻辑左
6 srlv 0 rs rt rd 0 5 $rd = $rs >> $rt 逻辑右
7 srav 0 rs rt rd 0 6 $rd = $rs >> $rt 算术右
8 slt 0 rs rt rd 0 7 $rd = ($rs < $rt) ? 1 :0

10 lui 2 0 rt immediate-u $rt = imm << 8
11 ori 3 rs rt immediate-u $rt = $rs | imm
12 andi 4 rs rt immediate-u $rt = $rs & imm
13 addi 5 rs rt immediate-s $rt = $rs + imm
14 lw 6 rs rt immediate-s $rt = MEM[$rs + imm]
15 sw 7 rs rt immediate-s MEM[$rs+imm] = $rt
16 beq 8 rs rt offset-s beq =?
17 bne 9 rs rt offset-s bne != ?
18 bgt 10 rs rt offset-s bgt >?(有符号比较)
19 jump 11 jump address jump
20 halt 12 0 halt (时钟暂停)
②编写一段包含所有指令的测试程序,将测试程序的机器语言存入ROM,运行测试程序,并对运行结果与理论运算结果对比(用表格对比), 判断每一步对错。

四、课程设计步骤说明

  1. 指令系统的确定;
    (按自己实际选择的指令系统,用表格表示)
    R形指令
    立即数liu形指令
    读写lw,sw形指令

  2. 子电路设计图
    MIPS的指令的CPU(14条指令)logisim仿真软件编写
    译码器电路图

MIPS的指令的CPU(14条指令)logisim仿真软件编写
寄存器图

MIPS的指令的CPU(14条指令)logisim仿真软件编写
扩展器图

MIPS的指令的CPU(14条指令)logisim仿真软件编写
主译码器图

MIPS的指令的CPU(14条指令)logisim仿真软件编写
ALU图

MIPS的指令的CPU(14条指令)logisim仿真软件编写
74ls181

MIPS的指令的CPU(14条指令)logisim仿真软件编写
下地址器图

MIPS的指令的CPU(14条指令)logisim仿真软件编写
辅助译码器

MIPS的指令的CPU(14条指令)logisim仿真软件编写
主译码器2

MIPS的指令的CPU(14条指令)logisim仿真软件编写
OF电路

MIPS的指令的CPU(14条指令)logisim仿真软件编写
ZF电路

MIPS的指令的CPU(14条指令)logisim仿真软件编写

CF电路
3) 绘制主电路
(包括数据通路、控制单元、指令存储器、数据存储器等);(按自己实际完成的系统画出主电路图)
MIPS的指令的CPU(14条指令)logisim仿真软件编写

主电路
4) 用户程序编写,机器语言存入ROM;
 用户程序清单(包括每一条指令的功能说明)
MIPS的指令的CPU(14条指令)logisim仿真软件编写

  1. 功能测试——装入原始数据,运行并记录每一条指令的执行结果,形成验证表格,判断。
     预先存入R中的数据:全为0
     预先存入RAM中的数据:
    0到3分别存入00H,05H,03H
     指令运行和验证(如下表,按自己实际情况设置)
    MIPS的指令的CPU(14条指令)logisim仿真软件编写

六、实验结果与分析

  1. 实验结果和分析

  2. 错误或异常现象分析

七、总结体会

上一篇:期末考试Day1


下一篇:(十二)【数电】(半导体存储电路)SR锁存器