《组合电路设计实例》由会员分享,可在线阅读,更多相关《组合电路设计实例(43页珍藏版)》请在金锄头文库上搜索。
1、第第6 6章章 组合电路设计实例组合电路设计实例桶式移位器桶式移位器简单浮点编码器简单浮点编码器双优先级编码器双优先级编码器级联比较器级联比较器关模比较器关模比较器1 1桶式移位器桶式移位器具有具有n个个数据输入数据输入和和n个个数据输出数据输出控制输入控制输入:指定输入输出之间如何移动数据:指定输入输出之间如何移动数据 (移位方向、移位类型、移动的位数)(移位方向、移位类型、移动的位数)设计一个简单设计一个简单1616位桶式移位器(向左移位)位桶式移位器(向左移位) 16个数据输入和个数据输入和16个数据输出个数据输出若输入:若输入:0 1 2 3 4 5 6 7 8 9 10 11 12
2、13 14 15则输出则输出:5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4用用4位控制输入位控制输入S3:0指定移动位数,例指定移动位数,例: S=0101, 思路:输出的每一位都是从思路:输出的每一位都是从1616个输入中选出的个输入中选出的 多路复用器多路复用器(数据选择器(数据选择器)需要解决的问题:需要解决的问题:(1 1)需要多少个)需要多少个1616选选1 1的多路复用器?的多路复用器?(2 2)如何控制输出移位?)如何控制输出移位?2 2方案一:利用方案一:利用7474x151x1511 1、如何扩展路复用器?、如何扩展路复用器? 16 16个输入端
3、;个输入端;4 4个地址选择端;个地址选择端;ENCBA YD7D0ENCBA YD7D0D7:0D15:8S3 YYENAB YC YD0D77474x151当当S=0101时时 Y=D5S2:0S2:0S3:0D15:03 32 2、如何产生移位?、如何产生移位?ENCBAD0D1D2D3D4D5D6D77474x151YYDI0DI1DI2DI3DI4DI5DI6DI7ENCBAD0D1D2D3D4D5D6D77474x151YYS2:0Y0DI1DI2DI3DI4DI5DI6DI7DI0S2:0Y1DI2DI3DI4DI5DI6DI7DI0DI1S2:0Y2通过控制数据输入端的连接产生
4、移位通过控制数据输入端的连接产生移位4 4ENAB YC YD0D77474x1512 2、如何产生移位?、如何产生移位?通过控制数据输入端的连接产生移位通过控制数据输入端的连接产生移位ENCBA YD7D0ENCBA YD7D0DIN7:0DIN15:8Y0S2:0S2:0S3 DIN8:1DIN0,15:9Y17474x1517474x151绿色表示高位绿色表示高位红色表示低位红色表示低位5 5P334图图6-1DIN14:7DIN6:0,15DIN13:6DIN5:0,15,14DIN0,15:9DIN8:1DIN15:8DIN7:0DIN15:0S3:0DOUT15DOUT14DOUT
5、1DOUT0DOUT15:0S2:0S37474x1517474x1517474x1517474x1517474x1517474x1517474x1517474x1516 6P334图图6-1DIN14:7DIN6:0,15DIN13:6DIN5:0,15,14DIN0,15:9DIN8:1DIN15:8DIN7:0DIN15:0S3:0S2:0S37474x2517474x2517474x2517474x2517474x2517474x2517474x2517474x251利用三态输出利用三态输出7474x251DOUT15:0基本原理:基本原理:利用多路复用器,利用多路复用器,通过控制数据
6、输通过控制数据输入端的连接使输入端的连接使输出产生移位。出产生移位。并行处理并行处理负载太大负载太大7 7方案二:利用方案二:利用7474x157x157GSA4A0B4B0Y4Y07474x157DIN3:0DIN2:0,3如何利用如何利用2 2输入输入4 4位多路复用控制移位?位多路复用控制移位?基本原理:基本原理:利用多路复用器,利用多路复用器,通过控制数据输通过控制数据输入端的连接使输入端的连接使输出产生移位。出产生移位。当当S=0时,时,Y=A,不移位不移位当当S=1时,时,Y=B,相当于移动一位相当于移动一位 改变改变A端输入数据的连接顺序端输入数据的连接顺序 可以使输出:左可以使
7、输出:左/右移动一或多位右移动一或多位8 87474x157A4A0B4B0 G SY4Y0YO3:0YO7:4YO11:8YO15:12DI3:0DI7:4DI11:8DI15:12DI2:0,15DI6:3DI10:7DI14:11S0DI15:0YO15:0A4A0B4B0 G SY4Y0A4A0B4B0 G SY4Y0A4A0B4B0 G SY4Y0S = 0 Y = A 不移位不移位S = 1 Y = B 移动移动1位位注意移位方向注意移位方向9 9DI15:07474x1577474x1577474x1577474x157S07474x1577474x1577474x1577474
8、x157S17474x1577474x1577474x1577474x157S27474x1577474x1577474x1577474x157S3DO15:0S3:0Si=1: 移动移动1 1位位移动移动2 2位位移动移动4 4位位移动移动8 8位位Si=0:不移动不移动串行方式,节省器件,延迟大,串行方式,节省器件,延迟大,P335 P335 图图6-26-21010首先解决的几个问题:首先解决的几个问题: 如何确定第一个如何确定第一个“1”“1”的位置?的位置? 如何确定如何确定3 3位指数?位指数? 如何从第一个如何从第一个“1”“1”开始选出开始选出4 4位?位?浮点编码器浮点编码器
9、11010110100 1101 27 011010000100101111 1001 25 0111100000000010 0010 20 0211121012000从第一个从第一个“1”“1”开始取开始取4 4位位由第一个由第一个“1”“1”的位置决定的位置决定3 3位指数位指数浮点数的表示:浮点数的表示: B M 2E T截位误差截位误差优先编码器优先编码器优先编码器的输出优先编码器的输出数据选择器数据选择器1111(1 1)如何确定第一个如何确定第一个“1”“1”的位置?的位置?A2A1A0GSEOEII7I1I07474x148优先编码器优先编码器B10_LB4_LB3_L1101
10、0110100 0010010111100000000010B M2ETE2_LE1_LE0_L通常通常 M3=1只有只有B10_LB3_L都无效都无效M3=0(3 3)如何从第一个如何从第一个“1”“1”开始选出开始选出4 4位位M3M2M1M0?(2 2)如何确定如何确定3 3位指数?位指数?(由(由GS端获得)端获得)1212(1 1)如何确定第一个如何确定第一个“1”“1”的位置?的位置?多路复用器多路复用器只需要选出只需要选出 M2 M1 M0(3 3)如何从第一个如何从第一个“1”“1”开始选出开始选出4 4位位M3M2M1M0?(2 2)如何确定如何确定3 3位指数?位指数?M2
11、E2E1E0B2B3B9ENYYABCD0D1D77474x151同样的,通过改变同样的,通过改变数据输入端的连接数据输入端的连接可以得到可以得到M2M1M0通常通常 M3=1只有只有B10_LB3_L都无效都无效M3=0(由(由GS端获得)端获得)P337 图图6-3M2_LE0_LE1_LE2_LB9_LB8_LB2_L注意注意有效有效电平电平1313双优先级编码器双优先级编码器A2A0GSEOEI7474x148I7I0利用利用7474x148x148找出最高优先级找出最高优先级如何找第二高优先级?如何找第二高优先级? 先先“排除排除”最高优先输入最高优先输入 再用再用7474x148x
12、148找一次找一次其他输入不变其他输入不变强制最高优先输入无效强制最高优先输入无效 利用译码器和利用译码器和“与门与门”实现实现 (注意有效电平)(注意有效电平)可以找出最高和第二高优先级的编码器可以找出最高和第二高优先级的编码器需要需要2个优先编码器个优先编码器1个译码器、若干个译码器、若干“与门与门”1414R_L7:0A2A0GSEOEI7474x148I7I0Y7Y0GI7474x138CBAG2A,BA2:0AVALID最高优先输入为最高优先输入为0 0,其余输入为,其余输入为1 1A2A0GSEOEI7474x148I7I0B2:0BVALID1515级联比较器级联比较器3 3片片
13、7474x682x682构成构成2424位比较器位比较器P0P7 P=QQ0Q7 PQP0P7 P=QQ0Q7 PQP0P7 P=QQ0Q7 PQ7:015:823:16P23:0Q23:0PEQQPGTQP340 图图6-71616关模比较器关模比较器输入:两个输入:两个8位无符号二进制整数位无符号二进制整数 X 和和 Y 一个控制信号一个控制信号 M输出:输出:8位无符号二进制整数位无符号二进制整数 Z逻辑功能:逻辑功能:M = 1,Z = min(X,Y) M = 0,Z = max(X,Y)思路:(核心问题)思路:(核心问题)(1 1)比较)比较X,YX,Y的大小的大小(2 2)使)使
14、Z Z为为X,YX,Y之一之一(3 3)控制逻辑)控制逻辑 比较器(比较器(8 8位)位)多路复用器(二选一)多路复用器(二选一)根据根据M M和和X,YX,Y大小控制大小控制 多路复用器的地址选择端。多路复用器的地址选择端。GS1A4A1B4B7474x1571 1Y4Y1717控制逻辑控制逻辑M多路多路复用复用器器Z比较器比较器XYXY思路:(核心问题)思路:(核心问题)(1 1)比较)比较X,YX,Y的大小的大小(2 2)使)使Z Z为为X,YX,Y之一之一(3 3)控制逻辑)控制逻辑 比较器(比较器(8 8位)位)多路复用器(二选一)多路复用器(二选一)根据根据M M和和X,YX,Y大
15、小控制大小控制 多路复用器的地址选择端。多路复用器的地址选择端。关模比较器原理框图关模比较器原理框图1818控制逻辑控制逻辑M多路多路复用器复用器Z比较器比较器XYXYGS1A4A1B4B7474x1571 1Y4YGS1A4A1B4B7474x1571 1Y4YP70 Q707474x682P=QPQX7:0Y7:0Z7:0S=0 Y=AS=1 Y=BM1919MM PQ_L S0 00 11 01 1S=0 Y=AS=1 Y=B0110GS1A4A1B4B7474x1571 1Y4YGS1A4A1B4B7474x1571 1Y4YP70 Q707474x682P=QPQX7:0Y7:0Z7
16、:0P341P341图图6-86-8M=1,min(X,Y)M=0,max(X,Y)2020组合逻辑部分小结组合逻辑部分小结第第4 4章章 组合逻辑设计原理组合逻辑设计原理第第5 5章章 组合逻辑设计实践组合逻辑设计实践第第6 6章章 组合电路设计实例组合电路设计实例2121第第4 4章章 基本原理基本原理 开关代数基础开关代数基础组合逻辑的基本分析、综合方法组合逻辑的基本分析、综合方法冒险冒险 开关代数的公理、定理开关代数的公理、定理 对偶、反演规则对偶、反演规则 逻辑函数的表示法逻辑函数的表示法 分析分析步骤,利用公式进行化简步骤,利用公式进行化简 设计设计方法、步骤方法、步骤 利用卡诺图
17、化简,电路处理利用卡诺图化简,电路处理 无关项的化简、多输出函数的化简无关项的化简、多输出函数的化简 冒险的检查和消除冒险的检查和消除2222组合电路的分析组合电路的分析分析的目的:分析的目的:确定给定电路的逻辑功能确定给定电路的逻辑功能分析步骤:分析步骤:由输入到输出逐级写出逻辑函数表达式由输入到输出逐级写出逻辑函数表达式对输出逻辑函数表达式进行化简对输出逻辑函数表达式进行化简判断逻辑功能(列真值表或画波形图)判断逻辑功能(列真值表或画波形图)2323分析图示逻辑电路的功能分析图示逻辑电路的功能B3B2B1B0G3G2G1G0解:解:1、写表达式、写表达式2、列真值表、列真值表3、分析功能、
18、分析功能0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1B3 B2 B1 B0G3 G2 G1 G00 0 0 00 0 0 10 0 1 1G3 = B3G2 = B3 B2G1 = B2 B1G0 = B1 B0二进制码至格雷码的转换电路二进制码至格雷码的转换电路0 0 1 00 1 1 00 1 1 10 1 0 10 1 0 01 1 0 01 1 0 11 1 1 11 1 1 01 0 1 01 0 1 11
19、 0 0 11 0 0 02424组合电路的综合组合电路的综合问题问题描述描述逻辑逻辑抽象抽象选定选定器件器件类型类型函数化简函数化简电路处理电路处理将函数将函数式变换式变换电路电路实现实现真值表真值表或或函数式函数式用门电路用门电路用用MSIMSI组合组合电路或电路或PLDPLD25250 00 00 00 00 10 10 10 11 01 01 01 01 11 11 11 10 00 11 01 10 00 11 01 10 00 11 01 10 00 11 01 1X1 X0Y1 Y00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 00 0 0 10 0 1 0
20、0 0 1 10 0 0 00 0 1 00 1 0 00 1 1 00 0 0 00 0 1 10 1 1 01 0 0 1P3 P2 P1 P0设计设计2 2位数乘法器位数乘法器1 1、列真值表、列真值表 输入:输入:X X、Y Y(2 2位)位) 输出:乘积输出:乘积P P(4 4位)位) P3 = X1X0Y1Y0Y1Y0X1X000 01 11 1000011110P21112 2、用门电路实现、用门电路实现 利用卡诺图化简利用卡诺图化简 注意:多输出函数注意:多输出函数3 3、电路处理、电路处理2626Y1Y0X1X000 01 11 10000111100111111111111
21、111Y1Y0X1X000 01 11 10000111101111Y1Y0X1X000 01 11 1000011110P2111P3 = X1X0Y1Y0P2 = X1Y1 (X1X0Y1Y0) = X1Y1P3 2727Y1Y0X1X000 01 11 1000011110P1111111Y1Y0X1X000 01 11 1000011110P01111P3 = X1X0Y1Y0P2 = X1Y1P3P1 = X1Y0P3+X0Y1P3P0 = X0Y0Y1Y0X1X000 01 11 1000011110P2111112828比较:比较:按多输出化简(蓝色)按多输出化简(蓝色)按单个卡
22、诺图化简(黑色)按单个卡诺图化简(黑色)P3 = X1 X0 Y1 Y0P2 = X1X0Y1 + X1Y1Y0P1 = X1Y1Y0 + X1X0Y0 + X0Y1Y0 + X1X0Y1P0 = X0 Y0P3 = X1X0Y1Y0P2 = X1Y1P3P1 = X1Y0P3+X0Y1P3P0 = X0Y0考虑:用用译码器实现考虑:用用译码器实现 直接表示为标准和形式直接表示为标准和形式2929人的血型有人的血型有A A、B B、ABAB、O O四种,输血者的血型与受血者的四种,输血者的血型与受血者的血型必须符合下面的关系。血型必须符合下面的关系。设计逻辑电路判断输血者与受血者的血型是否符合
23、规定。设计逻辑电路判断输血者与受血者的血型是否符合规定。ABABOABABO输血者输血者 受血者受血者解:解:1、逻辑抽象,得真值表、逻辑抽象,得真值表 用用X1X0对应输血者的血型(对应输血者的血型(0011) 用用Y1Y0对应受血者的血型(对应受血者的血型(0011) 输出输出F,1表示可以输血,表示可以输血,0表示不行表示不行00011011000110110 0 0 00 0 0 10 0 1 00 0 1 10 1 0 0X1X0 Y1Y0F101002、用门电路实现、用门电路实现 卡诺图化简卡诺图化简 (略)(略)利用译码器利用译码器利用多路复用器利用多路复用器3030第第5,65
24、,6章章 设计实践设计实践常用的中规模集成电路(常用的中规模集成电路(MSI)编码器、译码器、多路复用器、奇偶校验、编码器、译码器、多路复用器、奇偶校验、 比较器、加法器、三态器件比较器、加法器、三态器件掌握基本功能,级联的方法掌握基本功能,级联的方法综合应用:利用基本综合应用:利用基本MSI器件作为基本单元设器件作为基本单元设计更复杂的组合逻辑电路计更复杂的组合逻辑电路文档标准和电路定时(了解)文档标准和电路定时(了解)3131设计减法器设计减法器 方法一:利用真值表化简方法一:利用真值表化简 二进制减法表(二进制减法表(P22P22表表2-32-3)D = X Y BI BO = XY +
25、 XBI + YBI 方法二:利用加法器设计减法器方法二:利用加法器设计减法器(XY)相当于(相当于(XY补)补)对对Y求补:逐位求反求补:逐位求反11X YCI COSX YCI COSX YCI COSB_LX0 Y0X1 Y1Xn YnD0D1Dn3232设计将设计将BCDBCD码转换成余码转换成余3 3码的码制转换电路码的码制转换电路方案一:利用基本门电路(方案一:利用基本门电路(SSISSI)实现实现1、列真值表、列真值表0 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 00 0 0 00 0 0
26、 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 0 1 1 1 1X3X0F3F0d2、卡诺图化简(多输出函数)、卡诺图化简(多输出函数)3、电路处理,得到电路图、电路处理,得到电路图 “ “与与- -或或”式式 “ “与非与非- -与非与非”式式 “ “或或- -与与”式式 “ “或非或非- -或非或非”式式方案二方案二:利用中规模集成电路利用中规模集成电路MSIMSI实现实现 译码器实现多输出函数译码器实现多输出函数思考:有没有更好的方法?思考:有没有更好的方法?3333X1X0X3X200 01 11 100
27、0011110F311111ddddddX1X0X3X200 01 11 1000011110F211111ddddddX1X0X3X200 01 11 1000011110F111111ddddddX1X0X3X200 01 11 1000011110F011111dddddd3434设计将设计将BCDBCD码转换成余码转换成余3 3码的码制转换电路码的码制转换电路一个更好的方法:余一个更好的方法:余3码码 BCD码码 3 利用加法器(利用加法器(MSI)实现实现A0A1A2A3B0B1B2B3C0S0S1S2S3C47474x283X0X1X2X3F0F1F2F3VCC11003535实现
28、两个实现两个BCDBCD码的加法运算码的加法运算思考:两个思考:两个BCD码与两个码与两个4位二进制数相加的区别位二进制数相加的区别 如果如果(X+Y)产生进位信号产生进位信号C 或或 在在 10101111 之间之间 需要进行需要进行修正修正 结果加结果加6利用利用 F 表示是否需要修正表示是否需要修正F = C + S3S2S1S0 + S3S2S1S0 + S3S2S1S0 + S3S2S1S0 + S3S2S1S0 + S3S2S1S0X1X0X3X200 01 11 1000011110111111F = C + S3S2 +S3S13636相加相加判别判别修正修正A0 S0A1 S
29、1A2 S2A3 S3B0B1B2B3C0 C47474x283A0 S0A1 S1A2 S2A3 S3B0B1B2B3C0 C47474x283X0X1X2X3Y0Y1Y2Y3F0F1F2F3C实现两个实现两个BCDBCD码的加法运算码的加法运算 需要需要2个加法器,分别进行加法运算和修正个加法器,分别进行加法运算和修正 判别逻辑:判别逻辑: F = C + S3S2 +S3S1 电路组成电路组成F3737分析下面电路,写出输出与输入之间的关系分析下面电路,写出输出与输入之间的关系 已知:输出为二进制数,已知:输出为二进制数, X30 和和 Y30 为十进制数的为十进制数的BCD码码CI A
30、3 A2 A1 A0 COB3 S3B2 S2B1 S1B0 S0 Y1Y0X3X2X1X0CI A3 A2 A1 A0 COB3 S3B2 S2B1 S1B0 S0 Y3Y2Z6Z5Z4Z3Z2Z1Z0Y1 Y0 Y1 Y0 0X3 X2 X1 X0+ +C S3 S2 Z2 Z1 Z0+ + Y3 Y2 Y3 Y2 0 0 0Z6 Z5 Z4 Z3 Z2 Z1 Z0Z = X+Y*2+Y*8 = X+Y*10将十进制将十进制BCD数数YX转换为二进制数转换为二进制数Z (0100 1000)BCD = (0110000)2 Y3 Y2 Y1 Y0 0X3 X2 X1 X0+ + + Y3
31、Y2 Y1 Y0 0 0 0Z6 Z5 Z4 Z3 Z2 Z1 Z03838第第4 4章教学大纲要求章教学大纲要求 重点学习掌握逻辑代数的公理、定理,对偶关系,重点学习掌握逻辑代数的公理、定理,对偶关系,以及在逻辑代数化简时的作用;逻辑函数的表达形式:以及在逻辑代数化简时的作用;逻辑函数的表达形式:积之和与和之积标准型、真值表;组合电路的分析:逻积之和与和之积标准型、真值表;组合电路的分析:逻辑函数表达式的产生过程及逻辑函数表达式的基本化简辑函数表达式的产生过程及逻辑函数表达式的基本化简方法方法函数化简方法;组合电路的综合过程:将功能函数化简方法;组合电路的综合过程:将功能叙述表达为组合逻辑函
32、数的表达形式、逻辑函数表达式叙述表达为组合逻辑函数的表达形式、逻辑函数表达式的化简的化简函数化简方法和卡诺图化简方法、使用与非函数化简方法和卡诺图化简方法、使用与非门、或非门表达的逻辑函数表达式、逻辑函数的最简表门、或非门表达的逻辑函数表达式、逻辑函数的最简表达形式及综合设计的其他问题:无关项的处理、冒险问达形式及综合设计的其他问题:无关项的处理、冒险问题和多输出逻辑化简的方法。(共题和多输出逻辑化简的方法。(共1010学时)学时) 3939第第5,65,6章教学大纲要求章教学大纲要求 重点学习掌握:学习利用基本的逻辑门完成规定的重点学习掌握:学习利用基本的逻辑门完成规定的组合逻辑电路的设计任
33、务:如译码器、编码器、多路选组合逻辑电路的设计任务:如译码器、编码器、多路选择器、多路分配器、异或门、比较器、全加器。学习利择器、多路分配器、异或门、比较器、全加器。学习利用基本的逻辑门和已有的中规模集成电路(用基本的逻辑门和已有的中规模集成电路(MSIMSI)逻辑器逻辑器件如译码器、编码器、多路选择器、多路分配器、异或件如译码器、编码器、多路选择器、多路分配器、异或门、比较器、全加器、三态器件等作为设计的基本元素门、比较器、全加器、三态器件等作为设计的基本元素完成更为复杂的组合逻辑电路设计的方法。完成更为复杂的组合逻辑电路设计的方法。 4040A2 = I7 + I6I7 + I5I6I7
34、+ I4I5I6I7 = I7 + ( I6 + I5I6 + I4I5I6 )I7 = I7 + ( I6 + I5I6 + I4I5I6 ) = I7 + I6 + ( I5 + I4I5 )I6 = I7 + I6 + ( I5 + I4I5 ) = I7 + I6 + I5 + I4P265 P265 图图5-50 745-50 74x148 8x148 8输入优先编码器输入优先编码器利用:利用:A + AB = (A+A)(A+B) = A+B4141A1 = I7+I6I7+ I3I4I5I6I7+ I2I3I4I5I6I7 = I7+(I6+ I3I4I5I6+ I2I3I4I5I6)I7 = I7+(I6+ I3I4I5I6+ I2I3I4I5I6) = I7+I6+(I3I4I5+ I2I3I4I5)I6 = I7+I6+(I3I4I5+ I2I3I4I5) = I7+I6+(I3+I2I3)I4I5 = I7+I6+(I3+I2)I4I5 = I7+I6+I3I4I5+I2I4I54242第五章第五章 作业作业5.12 5.19 (a)(c)(e)5.22 4343