数字逻辑设计及应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

制作:金燕华1第6章组合电路设计实例桶式移位器简单浮点编码器双优先级编码器级联比较器关模比较器制作:金燕华2桶式移位器具有n个数据输入和n个数据输出控制输入:指定输入输出之间如何移动数据(移位方向、移位类型、移动的位数)设计一个简单16位桶式移位器(向左移位)若输入:0123456789101112131415则输出:5678910111213141501234用4位控制输入S[3:0]指定移动位数,例:S=0101,思路:输出的每一位都是从16个输入中选出的。——多路复用器(数据选择器)制作:金燕华3方案一:利用74x1511、如何扩展路复用器?16个输入端;4个地址选择端;ENCBAYD7~D0ENCBAYD7~D0D[7:0]D[15:8]S3YYENABYCYD0D774x151当S=0101时Y=D5S[2:0]S[2:0]S[3:0]D[15:0]制作:金燕华4方案一:利用74x1512、当S=0101时,如何使输出为DIN6,…,DIN15,…,DIN4?当S=0101时Y=D5ENABYCYD0D774x151ENCBAYD7~D0ENCBAYD7~D0D[7:0]D[15:8]S3YS[2:0]S[2:0]DIN[7:0]DIN[15:8]DIN[8:1]DIN[0,15:9]通过控制数据输入端的连接制作:金燕华5P334图6-1DIN[14:7]DIN[6:0,15]DIN[13:6]DIN[5:0,15,14]DIN[0,15:9]DIN[8:1]DIN[15:8]DIN[7:0]DIN[15:0]S[3:0]DOUT15DOUT14DOUT1DOUT0DOUT[15:0]S[2:0]S374x15174x15174x15174x15174x15174x15174x15174x151制作:金燕华6P334图6-1DIN[14:7]DIN[6:0,15]DIN[13:6]DIN[5:0,15,14]DIN[0,15:9]DIN[8:1]DIN[15:8]DIN[7:0]DIN[15:0]S[3:0]S[2:0]S374x25174x25174x25174x25174x25174x25174x25174x251利用三态输出74x251DOUT[15:0]基本原理:利用多路复用器,通过控制数据输入端的连接使输出产生移位。负载太大制作:金燕华7方案二:利用74x157GSA4~A0B4~B0Y4~Y074x157DIN[3:0]DIN[2:0,3]如何利用2输入4位多路复用控制移位?基本原理:利用多路复用器,通过控制数据输入端的连接使输出产生移位。当S=0时,Y=A,不移位当S=1时,Y=B,相当于右移一位改变A端输入数据的连接顺序可以使输出:左/右移动一或多位制作:金燕华8通过S0控制16位多路复用器移位74x157A4~A0B4~B0GSY4~Y0YO[3:0]YO[7:4]YO[11:8]YO[15:12]DI[3:0]DI[7:4]DI[11:8]DI[15:12]DI[2:0,15]DI[6:3]DI[10:7]DI[14:11]S0DI[15:0]YO[15:0]A4~A0B4~B0GSY4~Y0A4~A0B4~B0GSY4~Y0A4~A0B4~B0GSY4~Y0制作:金燕华9DI[15:0]74x15774x15774x15774x157S074x15774x15774x15774x157S174x15774x15774x15774x157S274x15774x15774x15774x157S3DO[15:0]S[3:0]Si=1:移动1位移动2位移动4位移动8位Si=0:不移动节省器件,延迟大,P335图6-2制作:金燕华10首先解决的几个问题:⑴如何确定第一个“1”的位置?⑵如何确定3位指数?⑶如何从第一个“1”开始选出4位?浮点编码器11010110100=1101×27+011010000100101111=1001×25+0111100000000010=0010×20+0211121012000从第一个“1”开始取4位由第一个“1”的位置决定3位指数浮点数的表示:B=M×2E+T截位误差——优先编码器——优先编码器的输出——数据选择器制作:金燕华11(1)如何确定第一个“1”的位置?A2A1A0GSEOEII7I1I074x148——优先编码器B10_LB4_LB3_L110101101000010010111100000000010B=M×2E+TE2_LE1_LE0_L通常M3=1只有B10_L~B3_L都无效M3=0(3)如何从第一个“1”开始选出4位M3M2M1M0?(2)如何确定3位指数?(由GS端获得)制作:金燕华12(1)如何确定第一个“1”的位置?——多路复用器只需要选出M2M1M0(3)如何从第一个“1”开始选出4位M3M2M1M0?(2)如何确定3位指数?M2_LE0_LE1_LE2_LB9_LB8_LB2_LENYYABCD0D1D774x151同样的,通过改变数据输入端的连接可以得到M2M1M0通常M3=1只有B10_L~B3_L都无效M3=0(由GS端获得)P337图6-3制作:金燕华13双优先级编码器A2~A0GSEOEI74x148I7~I0利用74x148找出最高优先级如何找第二高优先级?先“排除”最高优先输入再用74x148找一次其他输入不变强制最高优先输入无效——利用译码器和“与门”实现(注意有效电平)可以找出最高和第二高优先级的编码器需要2个优先编码器1个译码器、若干“与门”制作:金燕华14R_L[7:0]A2~A0GSEOEI74x148I7~I0Y7~Y0GI74x138CBAG2A,BA[2:0]AVALID最高优先输入为0,其余输入为1A2~A0GSEOEI74x148I7I0B[2:0]BVALID制作:金燕华15关模比较器输入:两个8位无符号二进制整数X和Y一个控制信号M输出:8位无符号二进制整数Z逻辑功能:M=1,Z=min(X,Y)M=0,Z=max(X,Y)思路:(核心问题)(1)比较X,Y的大小(2)使Z为X,Y之一(3)控制逻辑——比较器(8位)——多路复用器(二选一)——根据M和X,Y大小控制多路复用器的地址选择端。GS1A~4A1B~4B74x1571Y~4Y制作:金燕华16控制逻辑M多路复用器Z比较器XYXY思路:(核心问题)(1)比较X,Y的大小(2)使Z为X,Y之一(3)控制逻辑——比较器(8位)——多路复用器(二选一)——根据M和X,Y大小控制多路复用器的地址选择端。关模比较器原理框图制作:金燕华17控制逻辑M多路复用器Z比较器XYXYGS1A~4A1B~4B74x1571Y~4YGS1A~4A1B~4B74x1571Y~4YP7~0Q7~074x682P=QPQX[7:0]Y[7:0]Z[7:0]S=0Y=AS=1Y=BM制作:金燕华18MMPQ_LS00011011S=0Y=AS=1Y=B0110GS1A~4A1B~4B74x1571Y~4YGS1A~4A1B~4B74x1571Y~4YP7~0Q7~074x682P=QPQX[7:0]Y[7:0]Z[7:0]P341图6-8M=1,min(X,Y)M=0,max(X,Y)制作:金燕华19第6章组合电路设计实例桶式移位器简单浮点编码器双优先级编码器级联比较器关模比较器制作:金燕华20桶式移位器具有n个数据输入和n个数据输出控制输入:指定输入输出之间如何移动数据(移位方向、移位类型、移动的位数)设计一个简单16位桶式移位器(向左移位)16个数据输入和16个数据输出若输入:0123456789101112131415则输出:5678910111213141501234用4位控制输入S[3:0]指定移动位数,例:S=0101,思路:输出的每一位都是从16个输入中选出的——多路复用器(数据选择器)需要解决的问题:(1)需要多少个16选1的多路复用器?(2)如何控制输出移位?制作:金燕华21方案一:利用74x1511、如何扩展路复用器?16个输入端;4个地址选择端;ENCBAYD7~D0ENCBAYD7~D0D[7:0]D[15:8]S3YYENABYCYD0D774x151当S=0101时Y=D5S[2:0]S[2:0]S[3:0]D[15:0]制作:金燕华222、如何产生移位??ENCBAD0D1D2D3D4D5D6D774x151YYDI0DI1DI2DI3DI4DI5DI6DI7ENCBAD0D1D2D3D4D5D6D774x151YYS[2:0]Y0DI1DI2DI3DI4DI5DI6DI7DI0S[2:0]Y1DI2DI3DI4DI5DI6DI7DI0DI1S[2:0]Y2通过控制数据输入端的连接产生移位制作:金燕华23ENABYCYD0D774x1512、如何产生移位??通过控制数据输入端的连接产生移位ENCBAYD7~D0ENCBAYD7~D0DIN[7:0]DIN[15:8]Y0S[2:0]S[2:0]S3DIN[8:1]DIN[0,15:9]Y174x15174x151绿色表示高位红色表示低位制作:金燕华24P334图6-1DIN[14:7]DIN[6:0,15]DIN[13:6]DIN[5:0,15,14]DIN[0,15:9]DIN[8:1]DIN[15:8]DIN[7:0]DIN[15:0]S[3:0]DOUT15DOUT14DOUT1DOUT0DOUT[15:0]S[2:0]S374x15174x15174x15174x15174x15174x15174x15174x151制作:金燕华25P334图6-1DIN[14:7]DIN[6:0,15]DIN[13:6]DIN[5:0,15,14]DIN[0,15:9]DIN[8:1]DIN[15:8]DIN[7:0]DIN[15:0]S[3:0]S[2:0]S374x25174x25174x25174x25174x25174x25174x25174x251利用三态输出74x251DOUT[15:0]基本原理:利用多路复用器,通过控制数据输入端的连接使输出产生移位。并行处理负载太大制作:金燕华26方案二:利用74x157GSA4~A0B4~B0Y4~Y074x157DIN[3:0]DIN[2:0,3]如何利用2输入4位多路复用控制移位?基本原理:利用多路复用器,通过控制数据输入端的连接使输出产生移位。当S=0时,Y=A,不移位当S=1时,Y=B,相当于移动一位改变A端输入数据的连接顺序可以使输出:左/右移动一或多位制作:金燕华2774x157A4~A0B4~B0GSY4~Y0YO[3:0]YO[7:4]YO[11:8]YO[15:12]DI[3:0]DI[7:4]DI[11:8]DI[15:12]DI[2:0,15]DI[6:3]DI[10:7]DI[14:11]S0DI[15:0]YO[15:0]A4~A0B4~B0GSY4~Y0A4~A0B4~B0GSY4~Y0A4~A0B4~B0GSY4~Y0S=0Y=A不移位S=1Y=B移动1位注意移位方向制作:金燕华28DI[15:0]74x15774x15774x15774x157S074x15774x15774x15774x157S174x15774x15774x15774x157S274x15774x15774x15774x157S3DO[15:0]S[3:0]Si=1:移动1位移动2位移动4位移动8位Si=0:不移动串行方式,节省器件,延迟大,P335图6-2制作:金燕华29首先解决的几个问题:⑴如何确定第一个“1”的位置?⑵如何确定3位指数?⑶如何从第一个“1”开始选出4位?浮点编码器11010110100=1101×27+011010000100101111=1001×25+0111100000000010=0010×20+0211121012000从第一个“1”开始取4位由第一个“1”的位置决定3位

1 / 61
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功