计算机组成原理实验报告-八位补码加减法器的设计与实现
八进制加减法计数器实验

八进制加减法计数器实验引言八进制加减法计数器是数字电路中常见的一个实验,通过使用八进制进行加减法运算,可以学习和掌握数字电路设计与原理。
本文将深入探讨八进制加减法计数器的原理、设计以及实验步骤。
八进制简介在计算机科学中,八进制是一种表示数字的方式,基数为8。
在八进制中,使用0-7来表示数值。
我们可以将八进制数与十进制和二进制相互转换,八进制数每一位的权值是2的三次方的幂。
八进制加法八进制加法的原理与十进制加法类似,不同的是八进制相加时,当某一位相加的结果大于7时,需要进位到高位。
以下是八进制加法的规则:1.当两个八进制数的相应位相加为0-7时,结果直接写下,并不需要进位。
2.当两个八进制数的相应位相加结果为8-15时,需要向高位进1,并将低三位写下。
3.当两个八进制数的相应位相加结果为16-23时,同样需要向高位进1,并将低三位写下。
4.以此类推,直到最高位为止。
以下是一个八进制加法的例子:56+ 27-----125八进制减法八进制减法的规则和十进制减法类似,不同的是八进制减法时,当被减数的某一位小于减数的对应位时,需要向高位借位。
以下是八进制减法的规则:1.当被减数的某一位大于减数的相应位时,直接相减得到结果。
2.当被减数的某一位小于减数的相应位时,需要向高位借位。
3.向高位借位时,高位的数字需要减1,并且向低位借三个单位。
4.向低位借位时,如果低位为0,则继续借位直到不为0为止。
以下是一个八进制减法的例子:37- 12-----25八进制加减法计数器设计八进制加减法计数器可以由数字电路实现。
根据八进制加减法的原理,我们可以设计一个基于触发器的加减法计数器。
八进制加减法计数器的设计主要包括以下几个步骤:1.确定输入和输出信号的位数,例如我们可以使用3位八进制数进行计算。
2.设计触发器电路,并将其连接为串行进位加法器。
3.根据加减法的规则,设计电路实现进位和借位的功能。
4.使用逻辑门实现8位并行进位加法器。
实验二 用原理图输入法设计8 位全加器

实验二用原理图输入法设计8 位全加器一、实验目的熟悉利用Quartus?的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。
二、实验原理一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相临的高位加法器的最低进位输入信号cin相接。
而一个1位全加器可以按照6.1节介绍的方法来完成。
三、实验内容1、完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。
2、建立一个更高层次的原理图设计,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。
(5)通过之后,将该全加器封装入库待设计8位全加器的时候调用。
四、实验步骤1、设计半加器:(1)打开QUARTUS?,选file->new,在弹出的new对话框中选择Device DesignFiles页的原理图文件编辑输入项Block diagram\Schematic File,按OK后将打开原理图输入窗。
(2)原理图输入结果如下图所示:(3)保存此原理图文件,命名为h_adder.bdf,并为此文件建立工程。
(4)编译此原理图文件得到如下结果:(5)对半加器进行仿真得到结果:(6)通过之后,将该半加器封装入库待设计全加器的时候调用。
2、设计全加器(1)重复1 中的步骤(1)和(2),设计如下所示的全加器原理图:(2)保存此原理图文件,命名为f_adder.bdf,新建工程名f_adder.qpf,将此文件设置为工程顶层文件。
(3)编译此原理图文件得到如下结果:(4)对全加器进行仿真得到结果:(5)通过之后,将该全加器封装入库待设计8位全加器的时候调用。
(6)对全加器进行硬件测试,其相应引脚设置为:键1、键2、键3(PIO 0/1/2) 分别接ain、bin、cin;发光管D2、D1(PIO9/8)分别接sum和cout。
[高等教育]实验三 用原理图输入法设计8位全加器
![[高等教育]实验三 用原理图输入法设计8位全加器](https://img.taocdn.com/s3/m/642a8f09f8c75fbfc67db21b.png)
实验三用原理图输入法设计8位全加器1、实验目的:学习利用原理图输入法设计简单组合电路,掌握层次化设计的方法,掌握用原理图进行设计的整体流程。
2、实验内容:一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相临的高位加法器的最低进位输入信号cin相接。
利用QuartusII完成1位全加器文本编辑输入设计,并以此为依据,再利用原理图输入法设计8位全加器,得出仿真输出波形,并进行硬件引脚锁定,在实验系统上进行硬件测试,验证其硬件实现功能。
3、主要仪器设备:EDA实验箱、QuartusII软件和计算机。
4、实验内容及过程:在E:/EDA/下建立一个新的文件夹为ADDER8。
本设计的思路是先设计1个1位半加器,因此建立新建文件夹E:/EDA/ ADDER8/h_adder;要利用1位的半加器构造1位的全加器,因此建立新建文件夹E:/EDA/ ADDER8/f_adder;要利用1位的全加器构造8位的全加器,因此建立新建文件夹E:/EDA/ ADDER8/adder8;(1)、用原理图输入法构造1位半加器打开QuartusII软件,选择新建一个原理图文件,进入原理图编辑窗。
在空白编辑窗的地方电击鼠标右键,选择加入模块。
此图电击OK,为加入输入引脚。
以同样的方法加入其它模块,如下图所示。
对其连线。
连线时注意,若信号为1位,则用导线进行连接,若信号为多位,则用总线进行连接。
注意连线时,最后连好的线平滑,无x等标识方能表明线正确连接。
连好后更改输入输出引脚。
保存到E:/EDA/ ADDER8/h_adder路径下,文件名为h_adder。
建立相应的工程文件,并编译。
编译成功后转换为原理图模块。
(2)、用原理图输入法构造1位全加器把1位半加器的模块和原理图拷入文件夹E:/EDA/ ADDER8/f_adder。
用两个1位半加器构造1位全加器,以同样的步骤和方式建立1位全加器的原理图,如下图所示。
实验一、8位加法器的设计

E D A技术实验报告题目实验一、8位加法器的设计学生姓名学号10100140所在学院物理与电信工程学院专业班级物理101班一、实验原理基本原理:调用库(USE IEEE.STD_LOGIC_ARITH.ALL)直接进行算术运算,以实现加法器功能,从而不用去编写全加器,即程序尽量简单化。
并用函数CONV_INTEGER(D)把输入的8位二进制数转换成整形数,再相加以十进制数在数码管上显示出来。
加法信号由(ST)控制,ST接一个正脉冲信号,当来一个下降沿时,就读进第一个8位二进制数,再来一个下降沿时就执行加法功能,前后两个8位二进制数相加。
进程process (p)就是把三位十进制数的百位、十位、各位分别取出来,再转换成4位逻辑位矢量。
一个简单加法器,能够实现加法运算并显示结果,在按键控制下,由开关变量以二进制(不超过8位)的形式送入加数和被加数,但必须以十进制的形式显示,按下加法按键后,以十进制方式显示结果。
根据要求首先加法器中必须有二进制(8位)转换成十进制电路,其次加法器中需要用开关变量来控制加数和被加数的输入,再次输入的二进制加数和被加数必须经过转换成十进制后显示,最后加法完成结果以十进制显示。
其二进制(8位)全为1时转换成十进制表示为255,先设三位分别表示十进制数的百位、十位和个位。
将二进制数分别减去100的二进制数,循环直至二进制数小于100,百位循环一次加一,根据同样的道理得出十位和个位。
加数和被加数的输入和显示,利用高低电平控制显示器,当电平为高电平时显示加数和被加数的和,利用选择器来分别选择输出显示,当低电平时分别显示输入的二进制加数和被加数。
加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。
多位加法器的构成有两种方式:并行进位和串行进位。
并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。
并行进位加法器通常比串行级联加法器占用更多的资源。
计算机组成实验报告二8位算术逻辑运算

1、目的与要求1、验证带进位控制的算术逻辑运算发生器74LSl8l 的功能。
2、按指定数据完成几种指定的算术运算。
实验性质:验证性参见《计算机组成原理实验指导书》2、实验设备DVCC 计算机组成原理实验箱,排线若干。
3、实验步骤与源程序⑴ 连接线路,仔细查线无误后,接通电源。
本实验用到4个主要模块:⑴低8位运算器模块,⑵数据输入并显示模块,⑶数据总线显示模块,⑷功能开关模块(借用微地址输入模块)。
根据实验原理详细接线如下: ⑴ ALUBUS 连EXJ3; ⑵ ALUO1连BUS1; ⑶ SJ2连UJ2;⑷ 跳线器J23上T4连SD ;⑸ LDDR1、LDDR2、ALUB 、SWB 四个跳线器拨在左边(手动方式); ⑹ AR 跳线器拨在左边,同时开关AR 拨在“1”电平。
⑵ 用二进制数码开关KD0~KD7向DR1和DR2寄存器置数。
方法:关闭ALU 输出三态门(ALUB`=1),开启输入三态门(SWB`=0),输入脉冲T4按手动脉冲发生按钮产生。
设置数据开关具体操作步骤图示如下:说明:LDDR1、LDDR2、ALUB`、SWB`四个信号电平由对应的开关LDDR1、LDDR2、ALUB 、SWB 给出,ALUB=1 LDDR1=1 LDDR2=0 ALUB=1 LDDR2=1 LDDR1=0拨在上面为“1”,拨在下面为“0”,电平值由对应的显示灯显示,T4由手动脉冲开关给出。
⑶检验DR1和DR2中存入的数据是否正确,利用算术逻辑运算功能发生器 74LS181的逻辑功能,即M=1。
具体操作为:关闭数据输入三态门SWB`=1,打开ALU输出三态门ALUB`=0,当置S3、S2、S1、S0、M为1 1 1 1 1时,总线指示灯显示DR1中的数,而置成1 0 1 0 1时总线指示灯显示DR2中的数。
⑷验证74LS181的算术运算和逻辑运算功能(采用正逻辑)在给定DR1=35、DR2=48的情况下,改变算术逻辑运算功能发生器的功能设置,观察运算器的输出,填入表2.1.1中,并和理论分析进行比较、验证。
EDA实验8位加法器的设计实验报告_王炜20150414

EDA实验8位加法器的设计实验报告_王炜20150414电⽓与信息⼯程学院电⼦设计⾃动化实验报告实验⼆8位加法器设计指导⽼师:谭会⽣⽼师学⽣姓名:王炜班级:电⼦信息1202学号:12401720207实验时间:2015-04-07实验⼆8位加法器设计1.实验⽬的(1)掌握EDA使⽤⼯具QUARTUS2 的使⽤⽅法。
(2)学会⽤quartus软件建⽴项⽬并编写程序和调试下载的⽅法。
(3)掌握VHDL程序的软件及硬件的仿真⽅法。
2.实验内容设计并调试好⼀个由两个4位⼆进制并⾏加法器级联⽽成的8位⼆进制并⾏加法器,并⽤软件QUARTUS II进⾏仿验证。
3.实验条件开发软件:Quartus ii 8.04.实验设计1)系统原理框图系统设计思路:加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可以由加法器来构成。
多位加法器的构成有两种⽅式:并⾏进位和串⾏进位。
并⾏进位加法器设有进位产⽣逻辑,运算速度加快;串⾏进位⽅式是将全加器级联构成多位加法器。
并⾏进位加法器通常⽐串⾏级联加法器占⽤的更多的资源。
随着位数的增加,相同位数的并⾏加法器与串⾏加法器的资源占⽤差距也越来越⼤。
因此,在⼯程中使⽤的加法器时,要在速度和容量之间寻找平衡点。
设计⽅法:为了简化设计并便于显⽰,本计数器电路ADDER8B的设计分为两个层次,其中底层电路包括两个4位⼆进制并⾏加法器ADDER8B,再由这两个模块按照图2-1所⽰的原理图构成顶层电路ADDER8B。
这⾥我们采⽤由两个4位⼆进制并⾏加法器级联⽽成的⽅案。
图2-1 ADDER8B电路原理图2)VHDL程序8位加法器的底层和顶层电路均采⽤VHDL⽂本输⼊,有关VHDL程序如下:4位⼆进制并⾏加法器的VHDL源程序:--ADDER4B.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER4B ISPORT(C4:IN STD_LOGIC;A4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);B4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);S4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO4:OUT STD_LOGIC);END ENTITY ADDER4B;ARCHITECTURE ART OF ADDER4B ISSIGNAL S5:STD_LOGIC_VECTOR(4 DOWNTO 0);SIGNAL A5,B5:STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINA5<='0'&A4B5<='0'&B4S5<=A5+B5+C4;S4<=S5(3 DOWNTO 0);CO4<=S5(4);END ARCHITECTURE ART;8位⼆进制并⾏加法器的VHDL源程序:--ADDER8B.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER8B ISPORT(C8:IN STD_LOGIC;A8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);B8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);S8:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);CO8:OUT STD_LOGIC);END ENTITY ADDER8B;ARCHITECTURE ART OF ADDER8B ISCOMPONENT ADDER4B ISPORT(C4:IN STD_LOGIC;A4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);B4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);S4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO4:OUT STD_LOGIC);END COMPONENT ADDER4B;SIGNAL SC:STD_LOGIC;BEGINU1:ADDER4BPORT MAP(C4=>C8,A4=>A8(3 DOWNTO 0),B4=>B8(3 DOWNTO 0), S4=>S8(3 DOWNTO 0),CO4=>SC);U2:ADDER4BPORT MAP(C4=>SC,A4=>A8(7 DOWNTO 4),B4=>B8(7 DOWNTO 4), S4=>S8(7 DOWNTO 4),CO4=>CO8);END ARCHITECTURE ART;3)仿真波形设置顶层ADDER8B仿真输⼊设置及可能结果估计图如图2-2。
8位模型计算机的设计计算机组成原理课程设计报告
000
001
010
011
100
101
110
含义
传送
加
减
与
跳转
逻辑左移
空
5. 模型机框图设计
模拟机数据通路如下图所示,模型机采用单总线结构,主要包括运部件ALU,以及程序计数器PC、累加器ACC、指令寄存器IR、数据寄存器MDR、地址寄存器MAR和通用寄存器R,RAM为内存。
控制信号
ALU
(1)寄存器的位数
微程序流程图的下地址,可知共有25条微指令,表2给出了该模拟机微程序的编码。地址3的下地址,应该根据指令操作码来和寻址方式形成,所以将其下地址设为11111,表示如果下地址为11111时,且寻址方式标志位为0(即立即寻址),则下地址应为01 & 指令的操作码,若寻址方式标志位为1(即寄存器寻址),则下地址应为10 & 指令的操作码。
(4)微命令的设置(各标识的含义)
6. 指令流程图
指令的流程图如图 3所示,共有 8 条指令,每条指令都要经过取指令、分析指令和执行指令3个步骤。
在取指令阶段,8 条指令是一样的,首先程序计数器PC的内容通过总线送入地址寄存器MAR,存储信息,PC+1传送给PC,把读出的内容传送给指令寄存器IR 。再接下来的操作中,根据不同的指令,执行顺序也不同。
7.微指令格式(微程序控制器)设计
微指令格式设计如表1:
控 制 信 号
描 述
ACC_bus
用ACC的内容驱动总线
load_ACC
将总线上的数据载入ACC
PC_bus
用PC的内容驱动总线
load_IR
将总线上的数据装载至IR
load_MAR
8位全加器实验报告
实验1 原理图输入设计8位全加器一、实验目的:熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行电子线路设计的详细流程。
二、原理说明:一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现。
即将低位加法器的进位输出cout与其相邻的高位加法器的最低进位输入信号cin相接。
而一个1位全加器可以按照本章第一节介绍的方法来完成。
三、实验内容:1:完全按照本章第1节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真。
2:建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。
四、实验环境:计算机、QuartusII软件。
五、实验流程:实验流程:↓↓六、实验步骤:1.根据半加器工作原理建立电路并仿真,并将元件打包。
(1)半加器原理图:图1.2 半加器原理图(2)综合报告:图1.3 综合报告:(3)功能仿真波形图4:图1.4 功能仿真波形图时序仿真波形图:图1.5 时序仿真波形图仿真结果分析:sout为和信号,当a=1,b=0或a=0,b=1时,和信号sout为1,否则为0.当a=b=1时,产生进位信号,及cout=1。
(4)时序仿真的延时情况:图1.6 时序仿真的延时情况(5)封装元件:图1.7 元件封装图2. 利用半加器构成一位全加器,建立电路并仿真,并将元件封装。
(1)全加器原理图如图:图2.1 全加器原理图(2)综合报告:图2.2 综合报告(3)功能仿真波形图:图2.3功能仿真波形图时序仿真波形图:图2.4时序仿真波形图仿真结果分析:cin为来自低位的进位,sum=a or b or cin,即:当a,b,cin中有一位为高电平‘1’或者三位同时高电平为‘1’,则sum=1,否则sum=0;当a,b,cin有两位或者三位同为高电平‘1’时,产生进位信号cout=‘1’。
8位模型计算机的设计计算机组成原理课程设计报告
计算机组成原理课程设计报告题目8位模型计算机的设计姓名学号班号指导老师成绩目录1. 课程设计目的 (3)2. 开发工具选择 (3)3. 方案选择 (3)4.指令系统设计 (4)5. 模型机框图设计 (5)6. 指令流程图 (6)7. 微指令格式(微程序控制器)设计 (7)8. 微程序(微程序控制器)设计 (7)9. VHDL实现 (9)10. 调试仿真 (16)11. 课程设计回顾总结 (19)参考文献 (19)附录 (19)1. 课程设计目的(1)、计算机组成原理课程设计的主要任务是让学生通过动脑和动手解决计算机设计中的实际问题。
综合运用所学计算机组成原理知识,在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本的模型计算机,掌握整机概念,并设计机器指令系统,编写程序,在所设计的模型计算机上调试运行。
(2)、通过一台模型机的设计过程,明确计算机的控制原理与控制过程,巩固和灵活应用所学的理论知识,掌握计算机组成的一般设计方法,提高学生设计能力和实践操作技能,为从事计算机研制与设计打下基础。
2. 开发工具选择以TEC-CA教学实验系统为平台,采用硬件描述语言 VHDL为设计工具,应用QUARTUSⅡ5.1环境进行大规模集成电路的功能设计仿真。
3. 方案选择实习的内容为八位模型计算机的设计,为单总线,微程序控制方式,设置两种寻址方式:直接寻址(“0”)和寄存器寻址(“1”)。
微程序控制方式由微指令译码产生。
微程序中一条机器指令往往分成几步执行,将每一步操作所需的若干为命令以代码编写在一条微指令中,若干条微指令组成一段微程序,对应一条机器指令。
然后根据系统的需要,事先编制各段微程序,将它存入控制存储器(CM)中。
微程序执行过程:(1)从控存中逐条取出“取指令操作”,执行取指令公共操作。
(2)根据指令的操作码,经过微地址形成部件,得到这条指令的入口地址,并送入微地址寄存器中。
(3)从控存中逐条的取出对应的微指令并执行。
8位加法器设计程序过程
8位加法器设计程序过程八位加法器是一种组合逻辑电路,用于计算两个八位二进制数的和。
在设计过程中,需要确定输入和输出的位数、电路逻辑、输入输出关系等。
下面是一个八位加法器设计程序的详细过程。
1.确定输入和输出的位数:首先,我们需要明确八位加法器的输入和输出的位数。
在这个例子中,我们使用八位二进制数作为输入,并需要输出一个八位的和。
因此,输入和输出的位数均为8位。
2.确定输入和输出的表示形式:在计算机中,二进制数通常以补码形式进行表示。
因此,在这个例子中,我们将使用补码表示输入和输出。
3.分析电路逻辑:一个八位加法器由八位的全加器以及一个进位逻辑组成。
全加器用于计算两个相应位数相加的结果,而进位逻辑负责处理进位位。
因此,我们需要设计八个全加器和一个进位逻辑。
4.设计全加器电路:全加器是八位加法器的核心部分,用于计算两个位的和以及进位。
全加器的输入包括两个加数位和一个来自前一位的进位位。
输出包括和位以及进位位。
以下是一个典型的全加器电路:- 输入:A、B和C_in- 输出:Sum和C_out-逻辑表达式:Sum = A 异或 B 异或 C_inC_out = (A and B) 或 (C_in and (A 异或 B))设计八个这样的全加器电路,分别用于计算八个相应位数的和以及进位。
5.设计进位逻辑电路:进位逻辑电路负责处理来自各个位的进位。
具体来说,进位逻辑电路需要计算进位位以及进位到下一位的值。
以下是一个典型的进位逻辑电路:- 输入:C_in、C_0、C_1、C_2、C_3、C_4、C_5、C_6 和 C_7- 输出:C_out 和 C_next-逻辑表达式:C_out = C_7C_next = (C_6 and C_7) 或 (C_5 and (C_6 or C_7)) 或 (C_4 and (C_5 or (C_6 or C_7))) 或 ......(C_1 and (C_2 or (C_3 or (C_4 or (C_5 or (C_6 or C_7))))))其中,C_out代表从最高位传出的进位,C_next代表传递给下一位的进位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学与技术学院计算机组成原理实验报告书实验名称八位补码加/减法器的设计与实现班级学号姓名指导教师日期成绩实验1八位补码加/减法器的设计与实现一、实验目的1.掌握算术逻辑运算单元(ALU)的工作原理。
2.熟悉简单运算器的数据传送通路。
3.掌握8位补码加/减法运算器的设计方法。
4.掌握运算器电路的仿真测试方法二、实验任务1.设计一个8位补码加/减法运算器(1)参考图1,在QUARTUS II里输入原理图,设计一个8位补码加/减法运算器。
(2)创建波形文件,对该8位补码加/减法运算器进行功能仿真测试。
(3)测试通过后,封装成一个芯片。
2.设计8位运算器通路电路参考下图,利用实验任务1设计的8位补码加/减法运算器芯片建立运算器通路。
3.利用仿真波形,测试数据通路的正确性。
设定各控制信号的状态,完成下列操作,要求记录各控制信号的值及时序关系。
(1)在输入数据IN7~IN0上输入数据后,开启输入缓冲三态门,检查总线BUS7~BUS0上的值与IN0~IN7端输入的数据是否一致。
(2)给DR1存入55H,检查数据是否存入,请说明检查方法。
(3)给DR2存入AAH,检查数据是否存入,请说明检查方法。
(4)完成加法运算,求55H+AAH,检查运算结果是否正确,请说明检查方法。
(5)完成减法运算,分别求55H-AAH和AAH-55H,检查运算结果是否正确,请说明检查方法。
(6)求12H+34H-56H,将结果存入寄存器R0,检查运算结果是否正确,同时检查数据是否存入,请说明检查方法。
三、实验要求(1)做好实验预习,掌握运算器的数据传送通路和ALU的功能特性。
(2)实验完毕,写出实验报告,内容如下:①实验目的。
②实验电路图。
③按实验任务3的要求,填写下表,以记录各控制信号的值及时序关系。
表中的序号表示各控制信号之间的时序关系。
要求一个控制任务填一张表,并可用文字对有关内容进行说明。
号-bus BUS R0 R1 R2 u-busIN0 BUS0⑤实验体会与小结。
四、实验预习内容1.实验电路设计原理及思路说明本实验利用基本逻辑门电路设计一位全加器(FA),如表1:信号名称说明输入信号Ai 加数Bi 加数Ci 低位输入的进位输出信号Si 和Cj 运算产生的进位加法又可以实现减法,所以使用了一个M输入来进行方式控制加减。
2. 实验电路原理图实验参考电路如下图所示,下图(a)是1位全加器的电路原理图,图(b)是由1位全加器采用行波进位方法设计的多位补码加/减法运算器。
图1-多位补码加/减法运算器原理图图2-8位运算器通路原理图3.实验电路功能说明输入输出Ci Bi Ai Si Cj0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1表3-M与Bi异或关系原理图M Bi M异或Bi反之进行减法运算。
FA实现Ai与(Bi异或M)的加法运算,再加上Ci输出Si控制器件的输入,当输入0时,输入有效,否则无效2.74273b的CLK接口为上升沿有效,当LDR的时钟处于上升沿,即0->1变化时,输入有效4. 器件的选型本实验用到以下基本逻辑器件:异或门,一位加法器FA,7486等表8-8位运算器通路电路5.实验方法与实验步骤等本实验利用EDA工具软件(Quartus II 2.0或以上版本)完成,实验分为:原理图的录入与编辑、仿真波形的设计及仿真结果的分析这3个步骤。
具体为:(1)原理图的录入与编译在EDA工具软件(Quartus II 2.0或以上版本)中,采用原理图的录入的方法,绘制电路原理图。
绘制完成存盘后进行编译。
编译通过后,可以进行步骤(2)的操作。
如果编译不通过,则检查原理图,改正错误后,重新存盘并编译。
这一过程重复进行,直至原理图编译通过。
(2)仿真波形的设计根据电路的功能,设定输入信号的初值后,利用EDA工具软件(Quartus II 2.0或以上版本)的波形仿真功能,验证电路的正确性。
根据8位补码加/减法运算器的功能要求,选定8组输入信号的初值,如下表所示:表9-一位全加器(FA)电路仿真波形输入信号初值表10-8位补码加/减法运算器仿真波形输入信号初值(3)仿真结果的分析在EDA工具软件(Quartus II 2.0或以上版本)中,新建仿真波形文件,按表所示的输入信号的初值进行设定后,进行仿真。
阅读仿真波形,对照电路功能,进行分析并给出结论。
五、实验电路图根据电路原理图,实验时在Quartus II 2.0环境里绘制的实验电路如下图所示。
图3-一位全加器(FA)图4-8位补码加/减法运算器图5-8位运算器通路电路六、仿真调试的过程、仿真结果的分析和仿真测试的结论在Quartus II 2.0中新建仿真波形文件,如下图6示。
图6-一位全加器(FA)仿真结果分析图所示的仿真波形,可得到下表所示的实验结果。
表11-一位全加器(FA)电路仿真实验结果输入输出周期时间Ci Bi Ai Si Cj1 0-800ns 0 0 0 0 02 800ns-1.6μs 0 0 1 1 03 1.6μs -2.4μs 0 1 0 1 04 2.4μs -3.2μs 0 1 1 0 15 3.2μs -4.0μs 1 0 0 1 06 4.0μs -4.8μs 1 0 1 0 17 4.8μs -5.6μs 1 1 0 0 18 5.6μs -6.4μs 1 1 1 1 1将表9与表11相对照,可知一位全加器FA正确。
在Quartus II 2.0中新建仿真波形文件,如下图7所示。
图7-8位补码加/减法运算器仿真结果分析图所示的仿真波形,可得到下表所示的实验结果输入输出周期时间 A B M S OVER1 0~5ns 0 20 0 00010102 5~10ns 40 20 0 00111103 10~15ns 80 20 0 01100104 15~20ns 120 20 0 100011015 20~25ns 10 10 1 00000006 25~30ns 50 10 1 01000117 30~35ns 80 10 1 01100108 35~40ns 110 10 1 0000010设计的电路实现了八位补码加/减法器的功能。
8位运算器通路电路(1)首先对建立好的通路进行仿真波形图测试,测试结果如图8所示。
并检查数据是否一致图8-8位运算器通路电路仿真结果检查图8,可知输入IN与输出BUS一致,数据一致(2)给DR1存入55H,检查数据是否存入,请说明检查方法。
检查方法:在DR1中存入55H,同时在DR2中存入00H,检测总线输出的数即为存入的数据,波形图如下图9:图9表13-时序关系图序号nsw-busnR0-busLDR0LDR1LDR2ControlNalu-BusIN[7..0]BUS[7..0]1 0 0上升沿0 0 0 155H55H2 1 0 0上升沿0 0 100HZZH3 0 0 上0 0 0 1 0000升沿H H4 1 0 0 0上升沿0 155HZZH5 1 0 0 0 0 0 055H55H (3)给DR2存入AAH,检查数据是否存入,请说明检查方法。
和检测DR1相同,如图10图10表14-时序关系图序号nsw-busnR0-busLDR0LDR1LDR2ControlNalu-BusIN[7..0]BUS[7..0]1 0 0上升沿0 0 0 100H00H2 1 0 0上升沿0 0 100HZZH3 0 0上升沿0 0 0 1AAHAAH4 1 0 0 0上升沿0 1AAHZZH5 1 0 0 0 0 0 0 AA AAH H(4)完成加法运算,求55H+AAH,检查运算结果是否正确,请说明检查方法。
波形图如下:图11表15-时序关系图序号nsw-busnR0-busLDR0LDR1LDR2ControlNalu-BusIN[7..0]BUS[7..0]1 0 0上升沿0 0 0 155H00H2 1 0 0上升沿0 0 100H00H3 0 0上升沿0 0 0 100H00H4 1 0 0 0上升沿0 1AAH00H5 1 0 0 0 0 0 000HFFH明检查方法。
55H-AAH波形图如下:表16-时序关系图序号nsw-busnR0-busLDR0LDR1LDR2ControlNalu-BusIN[7..0]BUS[7..0]1 0 0上升沿0 0 1 155H00H2 1 0 0上升沿0 1 100H00H3 0 0上升沿0 0 1 100H00H4 1 0 0 0上升沿1 1AAH00H5 1 0 0 0 0 1 000HABH AAH-55H波形图如下:表17-时序关系图序号nsw-bunR0-buLDR0LDR1LDR2ControlNalu-BuIN[7..0]BUS[7.s s s .0]1 0 0上升沿0 0 1 155H00H2 1 0 0上升沿0 1 100H00H3 0 0上升沿0 0 1 100H00H4 1 0 0 0上升沿1 1AAH00H5 1 0 0 0 0 1 000H55H (6)求12H+34H-56H,将结果存入寄存器R0,检查运算结果是否正确,同时检查数据是否存入,请说明检查方法。
①计算结果:12H+34H-56H波形图如下:表18-时序关系图序号nsw-busnR0-busLDR0LDR1LDR2ControlNalu-BusIN[7..0]BUS[7..0]1 0 0上升沿0 0 0 012H12H2 1 0 0上升沿0 0 000HZZH七、实验体会与小结通过这次运算器的计算机组成原理实验,我对QUARTUS2软件的使用更加得心应手,学会在这之上用门电路搭建和组合原理图并实现封装调用等等。
在实验中,我遇到很多问题,例如,在绘制电路图后,由于工程文件的存储地址错误,导致编译失败之类的问题。
并且,我一开始没有使用总线输入,导致输入有19个端,大大加重了工作量。
除此之外,我学会了把缓存器,寄存器,ALU合理的串接成为8位运算器通路。
在这之中,时序的波形设计对我来说有一定的难度,每个时钟周期里,各个部件的工作状态都不相同,必须仔细分析每个部件状态才能熟练设计。
最后,在老师的教导下,我终于完成了本次实验。
通过本次实验,我对计算机组成原理这门课有了更加深刻的理解。