logo资料库

湖南大学数电期末实验CPU设计.doc

第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
资料共23页,剩余部分请下载后查看
简易计算机系统综合设计设计报告
一、设计目的
二、设计内容
三、详细设计
3.1设计的整体架构
3.2各模块的具体实现
1、RAM
2、选择器
3、指令计数器PC
4、通用寄存器组
5、函数发生器ALU
6、移位逻辑
7、指令寄存器IR
8、指令译码器
9、控制信号及其产生逻辑
10、IN OUT HLAT指令的实现
四、系统测试
五.总结
简易计算机系统综合设计 简易计算机系统综合设计设计报告 班级 计科 1601 姓名 陈明康 学号 201608010120 一、设计目的 连贯运用《数字逻辑》所学到的知识,熟练掌握 EDA 工具的使用方法,为学习好后续 《计算机原理》课程做铺垫。 二、设计内容 按给定的数据格式和指令系统,使用 EDA 工具设计一台用硬连线逻辑控制的简易计算机系 统。 三、 详细设计 3.1 设计的整体架构 指令同期与数据通路结构、指令执行方式有关。指令可以串行执行,也可以并行执行。 本 设计采用串行工作方式,即“读取—执行—再读取—再执行……”。串行工作方式虽然工 作 速度和主机效率都要差一些,但它的控制简单。因此,本机指令周期可以确定为: 读取指令的时间随所使用的 RAM 的性能而异。执行一条指令所需工作脉冲的个数与宽 度 要依据控制流和数据流所经过的路径与各级门的最大延迟而定。例如,本机中写入 RAM 和 寄存器组的操作显然不能发生在“执行阶段”的任意时刻,它必须是在运算结果已经产生,并 被传送到总线的适当时刻才能“写”,这就需要工作脉冲来控制时序。 上图是本人设计的时序控制。其中 CLK1,CLK2 是不同的两个时钟信号 IR 为指令寄存器,JCQZ 为通用寄存器组,SM 为控制指令译码器的使能信号。 时序部件:RAM, 程序计数器 PC,指令寄存器 ,通用寄存器组 第 1 页 共 23 页
简易计算机系统综合设计 寻址方式:指令的高 4 位为操作码,低 4 位分别用 2 位表示目的寄存器和源寄存器的编 号,或表 示寻址方式。本机有 2 种寻址方式。 指令系统:该机给定的指令系统有 16 条指令,指令格式见指令系统表。应该指出的是,各 条指令 的编码形式可以多种多样。为叙述方便,下面采用汇编符号对指令进行描述,其中 R1 和 R2 分别表示“目标”和“源”两个寄存器,M 表示地址在寄存器 C 中的存贮单元。 数据通路: 第 2 页 共 23 页
简易计算机系统综合设计 微控制信号:指令寄存器 IR 接收到一条机器指令后,这条指令就被译码执行。指令通过译 码产生出 的各种控制信号在时钟信号的配合下控制着指令执行的全过程。为此,需要将执 行每条指令 所需的全部基本微操作的控制信号罗列出来,进行综合分析、化简,并落实到 不同的周期、 节拍之中,然后用各种逻辑门电路实现。以下是所用基本控制信号列表。 总逻辑图:添加了输出端口便于波形仿真时观察 第 3 页 共 23 页
简易计算机系统综合设计 3.2 各模块的具体实现 (此部分必须有模块的接口设计,功能实现,功能的仿真验证等内容。) 1、 RAM LPM_WIDTH 是 dio(输入输出端口)的宽度,LPM_WIDTHAD 是 address[]端口的宽度 波形仿真 mif 文件-RAM 中预存的地址与对应的指令 第 4 页 共 23 页
简易计算机系统综合设计 设计需求:能通过控制端和时钟信号控制数据的读写 分析:时钟的上升沿到来判断读使能端 outenab 和写使能端 we 是否为高电平(保证不同时 为 1),如图先往 00,01,02,03(16 进制表示)这几个地址里写数据(dio 表示传入的数据-后面 都是高阻态而不影响输出)FF(16 进制)-即二进制的 11111111,在后面可以看到,时钟的上升 沿到来输出使能段为高电平时则输出此时读取的地址对应的内容-即前面写入的 11111111, 再往后对应 mif 文件中的地址与内容对比是否正确。 dio~result 表示 dio 端口输出的数据。 2、 选择器 VHDL 语言描述 由于选择器是一个组合电路不由时钟信号控制,所以选用并行语句中的条件赋值语句来描 述,即 MADD 为 00(ASCII-0)时选择指令计数器中的地址,MADD 为 01(1)时选择通用寄存 器组 A(A1)口的地址,MADD 为 10(2)时选择从通用寄存器组 B(A2)口出来的地址。 波形仿真进行功能验证 第 5 页 共 23 页
简易计算机系统综合设计 观察易知符合设计需求 3、 指令计数器 PC VHDL 语言描述 波形仿真验证 第 6 页 共 23 页
简易计算机系统综合设计 设计需求:时钟的上升沿到来,LDPC 为 1 且 INPC 为 0 时允许 BUS 总线上的数据传入 PC, LDPC 为 0 且 INPC 为 1 时 PC 自加 1。波形图符合设计需求 4、 通用寄存器组 ①R1 R2 的含义-寄存器的编号 R1(10) - RWBA1(1) RWBA0(0) R2(10) -RAA1(1) RAA0(0) ②A B 端输出逻辑 R1 取出的数据从 B 端出,R2 取出的数据从 A 端出,而 R1 R2 两者都可能从 A/B/C 三个寄 存器中取数据. 第 7 页 共 23 页
简易计算机系统综合设计 VHDL 语言描述 波形仿真: 设计需求:根据 RAA1 RAA0 和 RWBA1 RWBA0 的值确定输出端 A 和 B 的输出值;时钟 的上升沿到来判断写使能端是否为 0(低电平有效),若为低电平则允许把 BUS 总线上的数 据写入 R1(RAA1 RAA0)所指定的寄存器中。 如图,先设计写使能端 WE 为低电平往 A,B,C 三个寄存器(tmp 表示)中写入相应的数据, 时钟的上升沿到来根据 RAA1 RAA0 的值将 BUS 总线上的数据写入指定的寄存器:00 写 A,01 写 B,10 写 C;而 A ,B 输出端任意时刻都会输出由 RAA1 RAA0 和 RWBA1 RWBA0 所指定的寄存器中的存储值。如图所示时刻,往 A 寄存器中-Atmp 表示写入 C7,A 口 B 口 第 8 页 共 23 页
分享到:
收藏