其他分享
首页 > 其他分享> > MIPS的指令的CPU(14条指令)logisim仿真软件编写

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. 子电路设计图

    译码器电路图


寄存器图


扩展器图


主译码器图


ALU图


74ls181


下地址器图


辅助译码器


主译码器2


OF电路


ZF电路

CF电路
3) 绘制主电路
(包括数据通路、控制单元、指令存储器、数据存储器等);(按自己实际完成的系统画出主电路图)

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

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

六、实验结果与分析

  1. 实验结果和分析

  2. 错误或异常现象分析

七、总结体会

标签:rt,14,rs,logisim,imm,immediate,rd,指令
来源: https://www.cnblogs.com/icqut-luo/p/14934626.html