非常简单CPU数据通路设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非常简单CPU数据通路设计
【实验目的】
1.掌握CPU的设计步骤
2.学会芯片的运用及其功能
【实验环境】
Maxplus2环境下实现非常简单CPU数据通路的设计
【实验内容】
绘制非常简单CPU的寄存器:一个8位累加器AC,一个6位的地址寄存器AR,一个6位的程序计数器PC,一个8位的数据寄存器DR,一个2位的指令寄存器IR。其数据通路详见教材P。
1、零件制作
6位寄存器(自行设计)
6位计数器(自行设计)
8位寄存器(可选择74系列宏函数74273)
8位计数器(由两个74161构成)
2位寄存器(由D触发器构成,自行设计)
6三态缓冲器(自行设计,可由74244内部逻辑修改而成)
8三态缓冲器(选择74系列宏函数74244,或作修改)
alu模块(自行设计,限于时间,其内部逻辑不作要求)
2、选择器件,加入数据通路顶层图
8位累加器AC:选择8位计数器
6位地址寄存器AR:reg6
6位的程序计数器PC:cou6
8位的数据寄存器DR:选择8位寄存器
2位的指令寄存器IR:选择2位寄存器
3、为PC、DR加入三态缓冲器。
4、调整版面大小,器件位置。
5、设计地址引脚、数据引脚、8位内部总线,加入数据引脚到内部总线的
缓冲器。
6、连接各器件之间以及到内部总线的线路,设计并标注各控制信号。
7、(选做)编译之后,给出微操作AR<-PC 的测试方法及仿真结果。
8、实验报告中应给出各元部件的实现方法、内部逻辑贴图、打包符号说
明及顶层的“非常简单CPU”数据通路图。
实验报告
一、实验步骤
基于前面非常简单CPU的讲解,我掌握了非常简单CPU的指令集结构及非常简单CPU的指令读取过程和执行过程,本次实验是在上次实验的基础之上完成非常简单CPU数据通路的设计,其步骤如下:
(1)、AC累加器原理图如下:
打包后得到如下:
(2)、两位高地址寄存器IR的设计如下:
打包后得电路图如下:
(3)、6位地址寄存器AR设计如下:
打包后AR如下:
(4)、八位地址寄存器DR如下:
打包后如下:
(5)、程序计数器PC如下:(老师已给出)
打包后得:
(6)、控制8位地址总线的三态缓冲器电路如下:
打包图如下:
同理有控制6位地址总线的三态缓冲器:
打包图如下:
最重要的部分ALU设计如下:
由一个八与门电路和并行加法器连入一个16位输入的数据选择器,在受到SEL
和GN控制时分别选择and8或者并行加法器得到的结果并送到AC的输入端
打包如下:
其中八输入与门为下图:
并行加法器为下图:
十六位数据选择器为下图:
最后得到简单CPU设计数据通路如下:
仿真波形为下图:
说明:从图中可以看出当PC输入为100011时AR的输出也为10011,即该CPU 实现了PC到AR的功能。CPU功能验证完毕!
实验结论:
整体来看,简单CPU的设计基本完工,但是有些地方不够完善,所以还没能够实现所有的功能。
实验感想:
本次实验是在对基本CPU的设计的理解上完成的,其中运用到了很多数电方面的知识。所以这对知识的融会贯通很有好处。设计该简单CPU时比较难的地方就是ALU部分,这里用到了并行加法器,数据选择器和门电路的等,由于在EDA实验时有了比较好的基础,所以在设计这个部分时不时非常难,但是我也明白了以前知识的用处是很大的,做好复习很重要!