当前位置:文档之家› 计算机组成原理实验报告

计算机组成原理实验报告

实验一:数字逻辑——交通灯系统设计子实验1:7 段数码管驱动电路设计(1)理解利用真值表的方式设计电路的原理;(2)利用Logisim 真值表自动生成电路的功能,设计一个 7 段数码管显示驱动。

二、实验方案设计7 段数码管显示驱动的设计方案:(1)输入:4 位二进制(2)输出:7 段数码管 7 个输出控制信号(3)电路引脚:(4)实现功能:利用 7 段数码管显示 4 位二进制的 16 进制值(5)设计方法:由于该实验若直接进行硬件设计会比较复杂,而7 段数码管显示的真值表较容易掌握,所以我们选择由真值表自动生成电路的方法完成该实验。

先分析设计 7 段数码管显示驱动的真值表,再利用Logisim 中的“分析组合逻辑电路”功能,将真值表填入,自动生成电路。

(6)真值表的设计:由于是 4输入 7输出,真值表共有 16 行。

7输出对应 7个引脚,所以需要依次对照LED 灯的引脚顺序进行设计,如下图所示(注意LED 的引脚顺序):三、实验步骤(1)在实验平台下载实验框架文件RGLED.circ;(2)在Logisim 中打开RGLED.circ 文件,选择数码管驱动子电路;(3)点击“工程”中的“分析组合逻辑电路”功能,先构建4输入和7输出,再在“真值表”中,将已设计好的真值表的所有数值仔细对照着填入表格中,确认无误后点击“生成电路”,自动生成的电路如下图所示:(4)将子电路封装为如下形式:(5)进行电路测试:·自动测试在数码管驱动测试子电路中进行测试;·平台评测自动测试结果满足实验要求后,再利用记事本打开RGLED.circ 文件,将所有文字信息复制粘贴到Educoder 平台代码区域,点击评测按钮进行测试。

四、实验结果测试与分析(1)自动测试的部分结果如下:(2)平台测试结果如下:综上,本实验测试结果为通过,无故障显示。

本实验的关键点在于:在设计时需要格外注重LED 灯的引脚顺序,保证0-9 数字显示的正确性,设计出正确的真值表。

子实验2:4 位无符号比较器设计(1)理解利用逻辑表达式设计电路的原理;(2)利用Logisim 中的逻辑表达式自动生成电路的功能,设计一个 4 位无符号比较器。

二、实验方案设计4 位无符号比较器的设计方案:(1)输入:两个 4 位输入 X、Y(2)输出:大于,等于,小于,均为 1 位(3)电路引脚:(4)实现功能:两个 4 位输入值的无符号比较(5)约束条件:只能使用线路库、逻辑门组件和输入输出库(6)设计方法:该实验若直接进行硬件设计,电路会相当复杂;若利用真值表设计,该电路有 8 个输入,则真值表会有 256 项,过于繁琐且容易出错。

所以对于这类电路的设计,我们可以采用构建逻辑表达式自动生成电路的方式来实现。

先分析设计 4 位无符号比较器的逻辑表达式,再利用Logisim 中的“分析组合逻辑电路”功能,将表达式填入,自动生成电路。

(7)逻辑表达式的设计:该实验有4+4 个输入,3 个输出,需要列出大于、等于、小于这三种情况的表达式。

比较时满足X>Y 则Great 输出1,每位完全相同时Equal 输出1,满足X<Y 则Less 输出1。

逻辑表达式构建如下:·Great(X>Y,从X 高位为1 逐步向低位发展,寻找满足条件的情况)·Equal(X=Y,16 种情况,所以共16 个最小项)·Less(X<Y,从Y 低位为 1 逐步向高位发展,寻找满足条件的情况)三、实验步骤(1)在Logisim 中打开RGLED.circ 文件,选择 4位无符号比较器子电路;(2)点击“工程”中的“分析组合逻辑电路”功能,先构建8输入和3输出,再在“表达式”中,将已设计好的三个逻辑表达式仔细对照着填入相应方框,确认无误后,可在“最小项”中选择对表达式进行化简;(3)化简完成后点击“生成电路”。

由于自动生成的电路十分复杂,此处只截取其中部分电路展示如下:(4)将子电路封装为如下形式:(5)进行电路测试:利用记事本打开RGLED.circ 文件,将所有文字信息复制粘贴到Educoder 平台代码区域,点击评测按钮进行测试。

四、故障与调试(1)故障现象第一次调试结果报错,少数 X、Y的大小判断时Great 与Less 输出均为 1;(2)原因分析Great 与Equal 值输出均正确,初步判断是Less 的逻辑表达式输入有误;(3)解决方案检查Less 的逻辑表达式输入,发现有一项书写错误,修改后再进行测试,测试通过。

五、实验结果测试与分析最终测试的部分结果截图如下:综上,本实验测试结果为通过,无报错。

本实验的关键点在于:在设计时需要理清表达式的设计原理,依照一定的顺序设计表达式,保证设计时不会有疏漏;此外还要格外注意表达式的输入,需要仔细对照,确保表达式书写的正确性;本实验设计了 4位无符号比较器,利用 4位无符号比较器的迭代还可以构建16 位及以上的无符号比较器。

实验二:运算器设计子实验1:8 位可控加减法电路设计(1)掌握一位全加器的实现逻辑,在此基础上实现 8 位可控加减法电路的逻辑;(2)利用Logisim 平台中已经封装好的全加器FA,以及其他的基本逻辑电路构建一个8 位串行可控加减法电路。

二、实验方案设计8位可控加减法电路的设计方案如下:(1)输入:两输入数X,Y;加减控制信号Sub(2)输出:运算结果输出S,进位输出Cout,有符号运算溢出位OF(3)所需器件:全加器、异或门等(4)电路引脚:(5)可控加减法的逻辑设计·加法部分:利用8 个 1 位全加器串行实现;·减法部分:根据“减去一个数等于加上这个数的相反数的补码”的原理,通过异或门对减数Y 进行按位取反;·具体过程:Sub=0 时,作加法操作:0 和其他数异或得到该数本身,然后通过全加器FA 执行加法运算。

Sub=1 时,作减法操作:1 和其他数异或即对该数取反,然后通过全加器FA 执行减法运算。

注意,需要对加法器FA 进行+1 操作。

还要进行运算的有符号溢出检测(OF),可以通过最高位进位与符号位进位进行异或,相同为0,表示无溢出;不同为1,表示溢出。

三、实验步骤(1)在Logisim 中打开alu.circ 文件,选择 8位可控加减法器子电路;(2)准备8 组封装好的全加器FA 和异或门,对X、Y 的各位数字进行分类排序,从左到右依次为7~0 位;(3)将所有低位运算结果引脚连接全加器的输出端,X 的位连接到FA 的第一个输入端,Y 的位与Sub 加减控制信号进行异或以后接入FA 的第二个输入端,同时也将Sub 信号与全加器低位进位输入端相联,高位进位输出端与高一位的全加器低位进位输入端相联;(4)将OF 与最高位符号位进位和次高位进位异或得到的结果相连;(5)最终得到的 8位可控加减法器的电路图如下:(6)将子电路封装为如下形式:(7)进行电路测试:·自动测试:利用给出的测试电路,自定义X、Y、Sub 值,进行8 位可控加减法器的自动测试。

·平台测评:自动测试通过以后,利用记事本打开alu.circ 文件,将所有文字信息复制粘贴到Educoder 平台代码区域,点击评测按钮进行测试。

四、实验结果测试与分析(1)自动测试结果如下:自定义X = 00101010,Y = 00101010,即X=Y;Sub=0 时,加法:Sub=1 时,减法:(2)平台测试结果如下:综上,本实验测试结果为通过,无故障与报错。

本实验的关键点在于:正确设计可控加减法器的加减法逻辑,利用全加器作为基本部件,结合异或门的使用实现可控的加减法功能,注意进位信息。

子实验2:CLA182 四位先行进位电路设计(1)掌握快速加法器中先行进位的设计原理,并能利用相关知识设计 4 位先行进位电路。

(2)本实验的传递函数P 采用异或逻辑关系实现。

二、实验方案设计CLA182 四位先行进位电路的设计方案如下:(1)输入:进位输入Cin,进位生成函数Gi,传递函数Pi(2)输出:进位输出Ci,成组进位生成函数G,成组进位传递函数P(3)所需器件:基本逻辑门电路等(4)电路引脚:(5)先行进位加法器的设计逻辑4 位先行进位加法器表示进位输出,并不依赖于低位的进位,而是与最低位的进位输入有关;根据先行进位加法器的原理,可以设计出以下逻辑表达式:C4 = P4 P3 P2 P1 Cin + P4 P3 P2 G1 + P4 P3 G2 + P4 G3 + G4C3 = P3 P2 P1 Cin + P3 P2 G1 + P3 G2 + G3C2 = P2 P1 Cin + P2 G1 + G2C1 = P1 Cin + G1G = P4 P3 P2 G1 + P4 P3 G2 + P4 G3 + G4P = P4 P3 P2 P1三、实验步骤(1)在Logisim 中打开alu.circ 文件,选择 4位先行进位74182 子电路;(2)根据C1、C2、C3、C4 进位项的表达式(只与P*、G*、Cin 相关),将与门、或门及其他各项引脚连接;(3)最终设计出的 4位先行进位的电路图如下;(4)进行电路测试·自动测试:利用给出的测试电路,自定义输入值,进行 4位先行进位的自动测试。

·平台测评:自动测试通过以后,利用记事本打开alu.circ 文件,将所有文字信息复制粘贴到Educoder 平台代码区域,点击评测按钮进行测试。

四、实验结果测试与分析(1)自动测试结果如下:自定义Pi、Gi 的值进行测试,观察进位信号Ci 的输出;(2)平台测试的部分结果如下:综上,本实验测试结果为通过,无故障与报错。

本实验的关键点在于:正确设计4位先行进位的各个输出的逻辑表达式,并依照逻辑表达式完成电路的设计。

子实验3:4 位快速加法器设计(1)掌握快速加法器中先行进位的原理,4 位快速加法器运行的原理;(2)利用上一个子实验已经设计好的 4 位先行进位电路构造 4 位快速加法器,并分析对应电路的时间延迟。

二、实验方案设计在前一个子实验已经设计好的 4 位先行进位电路的基础之上,构造 4 位快速加法器。

4位快速加法器的设计方案如下:(1)输入:四位相加数X、Y,进位输入C0(2)输出:和数输出S,进位输出C,4 位成组进位生成函数G,4 位成组进位传递函数P(3)所需器件:CLA74182 先行进位器,基本逻辑门电路等(4)电路引脚:(5)快速加法器的设计逻辑根据快速加法器的原理,可以得到输出信号的逻辑表达式,经过相应的化简整理可以得到如下的逻辑表达式:S4 = X4⊕Y4⊕C3 = P4⊕C3S3 = X3⊕Y3⊕C2 = P3⊕C2S2 = X2⊕Y2⊕C1 = P2⊕C1S1 = X1⊕Y1⊕C0 = P1⊕C0Gi = Xi YiPi = Xi⊕Yi三、实验步骤(1)在Logisim 中打开alu.circ 文件,选择 4位快速加法器子电路;(2)根据成组生成函数和成组传递函数的表达式,利用与门和异或门设计Gi、Pi 电路;(3)根据各个和数输出S 的逻辑表达式,基于上个实验已经封装好的CLA74182 先行进位器,将各个引脚及逻辑门连接完整;(4)最终设计出的 4 位先行进位的电路图如下;(5)将子电路封装为如下形式:(6)进行电路测试·自动测试:利用给出的测试电路,自定义输入,进行 4位快速加法器的自动测试。

相关主题