大家好,我是小黄鸭,又来更新了,应小伙伴的需要,该实验也过了。
实验所用的软件资源/测试电路也全部开放,地址在MOOC中国大学为:https://www.icourse163.org/learn/HUST-1205809816#/learn/announce
附带实验测试,地址在Educode上为:https://www.educoder.net/shixuns/ckff6yv9/challenges
光是给的Excel自生成电路表格就上了7个,再加上密密麻麻的电路图,各自安好吧
整体框架
- 实验目的:该实验是帮助学生理解定长指令周期三级时序系统的设计,能够利用该时序构造硬布线控制器,支持5条典型的MIPS指令在单总线CPU上运行,最终CPU能够运行内存冒泡程序。实验完成后,最终的效果就是下面的这两幅图,分别是:单总线CPU和硬布线控制器部分。(只有RST为一条蓝色的线,其余都为正常)
- 三级时序硬布线控制器基本架构,主要包括三个部分:指令译码信号、组合逻辑线路、时序发生器,这也正是整个实验需要实现的部分。
- 实验文件为MipsOnBusCpu-3.circ,其中单总线数据通路已经设计好了,主要设计部分为硬布线控制器,具体如下。
MIPS指令译码器设计
- 该实验较为简单,主要是根据指令字的OP和Func字段,利用比较器,对5条基本指令进行译码。
- 主要的MIPS指令OP和Func字段如下。
- 电路图如下
时序发生器FSM设计
- 时序发生器内部框图如下图所示,主要包括状态寄存器,状态机组合逻辑,输出函数组合逻辑三部分。其中状态机负责现态与次态的转换,输出函数根据当前状态生成状态周期电位和节拍周期电位。
- 这个实验为定长指令周期,因此所有MIPS指令有需要3个时钟周期,每个机器周期4个时钟节拍,一共需要12个状态,状态图如下。
- 根据状态图在相应的excel表中(文件中标号位1的表格)填写,即可在logisim中自动生成电路。这里就详细给大家讲一下Excel表格和自生成电路的应用。
- 首先观察表格,需要输入的部分都为红色的数字部分,分别现态(10进制),输入信号,次态(10进制),灰色部分为自动生成部分。
- 由于为定长指令周期,因此每一种MIPS指令都需要执行12个周期,所以这里的次态与输入信号无关(不填或者填X),最终如下。
- 然后点击下方的自动生成表格,右下方的蓝色部分就是每一个输出的逻辑表达式。然后打开logisim中该实验的分析电路(项目->分析电路),将逻辑表达式复制后,并选中,最后生成电路。
- 生成的电路图如下
未完待续。。。
- 首先观察表格,需要输入的部分都为红色的数字部分,分别现态(10进制),输入信号,次态(10进制),灰色部分为自动生成部分。
有问题可在下方评论或者私信q453682174.