华科计算机组成原理 单总线CPU设计 定长指令周期3级时序 (Logisim&Educoder)

大家好,我是小黄鸭,又来更新了,应小伙伴的需要,该实验也过了。

实验所用的软件资源/测试电路也全部开放,地址在MOOC中国大学为:https://www.icourse163.org/learn/HUST-1205809816#/learn/announce

附带实验测试,地址在Educode上为:https://www.educoder.net/shixuns/ckff6yv9/challenges

光是给的Excel自生成电路表格就上了7个,再加上密密麻麻的电路图,各自安好吧

整体框架

  1. 实验目的:该实验是帮助学生理解定长指令周期三级时序系统的设计,能够利用该时序构造硬布线控制器,支持5条典型的MIPS指令在单总线CPU上运行,最终CPU能够运行内存冒泡程序。实验完成后,最终的效果就是下面的这两幅图,分别是:单总线CPU和硬布线控制器部分。(只有RST为一条蓝色的线,其余都为正常)终1
    终2
  2. 三级时序硬布线控制器基本架构,主要包括三个部分:指令译码信号、组合逻辑线路、时序发生器,这也正是整个实验需要实现的部分。基本构架
  3. 实验文件为MipsOnBusCpu-3.circ,其中单总线数据通路已经设计好了,主要设计部分为硬布线控制器,具体如下。硬布线控制器

MIPS指令译码器设计

  1. 该实验较为简单,主要是根据指令字的OPFunc字段,利用比较器,对5条基本指令进行译码。
  2. 主要的MIPS指令OPFunc字段如下。
    MIPS指令
  3. 电路图如下MIPS指令译码器设计

时序发生器FSM设计

  1. 时序发生器内部框图如下图所示,主要包括状态寄存器,状态机组合逻辑,输出函数组合逻辑三部分。其中状态机负责现态与次态的转换,输出函数根据当前状态生成状态周期电位和节拍周期电位。FSM
  2. 这个实验为定长指令周期,因此所有MIPS指令有需要3个时钟周期,每个机器周期4个时钟节拍,一共需要12个状态,状态图如下。
    定长指令周期
  3. 根据状态图在相应的excel表中(文件中标号位1的表格)填写,即可在logisim中自动生成电路。这里就详细给大家讲一下Excel表格和自生成电路的应用。
    1. 首先观察表格,需要输入的部分都为红色的数字部分,分别现态(10进制),输入信号,次态(10进制),灰色部分为自动生成部分。
      表格初始
    2. 由于为定长指令周期,因此每一种MIPS指令都需要执行12个周期,所以这里的次态与输入信号无关(不填或者填X),最终如下。表格1
    3. 然后点击下方的自动生成表格,右下方的蓝色部分就是每一个输出的逻辑表达式。然后打开logisim中该实验的分析电路(项目->分析电路),将逻辑表达式复制后,并选中,最后生成电路。表格2
    4. 生成的电路图如下
      时序发生器FSM设计
      未完待续。。。

有问题可在下方评论或者私信q453682174.

猜你喜欢

转载自blog.csdn.net/weixin_44529208/article/details/106354907