文档介绍:使用 QUARTUS 绘制“非常简单 CPU ”中的数据通路(含较高要求) 在实验资料中已给出6 位寄存器、6 位计数器两个元件的设计文件: f和 。绘制“非常简单 CPU ”数据通路步骤及指导: 非常简单 CPU 的寄存器: 一个 8 位累加器 AC , 一个 6 位的地址寄存器 AR , 一个 6位的程序计数器 PC ,一个 8 位的数据寄存器 DR ,一个 2 位的指令寄存器 IR 。其数据通路详见教材。 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 ”数据通路图。一、 8位 AC 累加器:由两个 74161 组成,加入时钟信号输入端,以及载入使能端 LDN 和清零端 CLRN 控制数据载入,控制输入端, CLRN 端优先,高电平时有效; LDN 端高电平时载入数据, 低电平时进行自值加一操作。载入的信号为 8位, 输出的也是八位, 两个 7416 1 之间通过进位 RCO 与 ENT 、 ENP 相连,低四位的输出进位输入到高八位的输入进位处。 AC 累加器原理图(ACleijiaqi) 功能仿真结果如下: 打包后得到如下: 二、 6 位地址寄存器 AR : 原理图( reg6 ) 老师已给出, 但由于不符合 QUARTUS 使用规则, 经过修改后,清零端在输入高电平时有效,当清零端输入为低电平时正常工作。地址寄存器 AR 原理图(AR) 如下: 功能仿真如下: 打包后得到如下: 三、 6 位程序计数器 PC: 原理图( cou6 ) 老师已给出, 但由于不符合 QUARTUS 使用规则(线路不清晰, 错搭...) , 经过修改后, 清零端 CLRN 输入高电平时有效; 当清零端输入低电平, LDN 端输入高电平时载入数据。程序计数器 PC 原理图(PC) 如下: 功能仿真如下: 打包得到如下: 四、 8 位数据寄存器 DR :老师建议用 74273 ,但个人觉得直接用 D 触发器能更直观清楚地分析清零端的 CLRN 的作用,而且也不用担心其他不起作用的输入端的影响,所以自己搭建了原件的逻辑电路。清零端默认为低电平,此时正是正常工作。数据寄存器 DR 原理图(ACleijiaqi) 如下: 功能仿真:为什么错了呢? 打包后得到如下: 五、 2 位指令寄存器 IR: 用两个 D 触发器搭建了逻辑电路。清零端默为低电平时正常工作。指令寄存器 IR 原理图(ACleijiaqi) 如下: 功能仿真: 打包后得到如下: 六、其他元件 位三态门 SANTAI 6 原理图(SANTAI6) 如下: 当使能端GN 接入高电平1 时有效工作。作用如下图: 打包后得到 6 位三态门组合元件( SANTAI6 )如下: 位三态门 SANTAI 功能同上,其原理图(SANTAI) 如下: 打包后得到如下: 3. ALU 原理图(ALU) 如下: 打包后得到如下: 8AND 原理图: 打包后得到如下: 并行加法器( BINGXINGJIAFA ): 打包后得到如下: 选择器 MUX16 :