组合逻辑电路分析与设计学习教案_第1页
组合逻辑电路分析与设计学习教案_第2页
组合逻辑电路分析与设计学习教案_第3页
组合逻辑电路分析与设计学习教案_第4页
组合逻辑电路分析与设计学习教案_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1组合逻辑电路分析组合逻辑电路分析(fnx)与设计与设计第一页,共120页。2第1页/共120页第二页,共120页。3第2页/共120页第三页,共120页。4n正确处理不用的输入端。第3页/共120页第四页,共120页。5第4页/共120页第五页,共120页。6第5页/共120页第六页,共120页。7输出低电平VOL 输出高电平VOH 第6页/共120页第七页,共120页。8=2.4V =0.8V=0.5V =2.0V =5V VCCGNDVOHVOHMINVTHVIHVIHMINVILVILMAXVOLOLMAXVVNHVNL NLVVCCGNDNHVVOHMINVVTHOLMAXIL

2、MAXVVIHMIN=1.5VVNHVNL=0.4V=0.3V=4.9V=1.35V=0.1V=3.85V=5V VCCGNDVOHMINVVTHOLMAXILMAXVVIHMIN=2.5VVNHVNL=1.05V=1.25V(a) (b) (c)图25 输入、输出电平和噪声容限示意图(a) 一般关系; (b) 典型TTL; (c) 典型CMOS第7页/共120页第八页,共120页。9第8页/共120页第九页,共120页。10()/2pdpHLpLHttt第9页/共120页第十页,共120页。11第10页/共120页第十一页,共120页。12第11页/共120页第十二页,共120页。13第12

3、页/共120页第十三页,共120页。14第13页/共120页第十四页,共120页。15ZAB CD第14页/共120页第十五页,共120页。16第15页/共120页第十六页,共120页。17法器实现两个(lin )十进制数相加的BCD码加法器带符号数加法器等。第16页/共120页第十七页,共120页。18第17页/共120页第十八页,共120页。19第18页/共120页第十九页,共120页。20第19页/共120页第二十页,共120页。21第20页/共120页第二十一页,共120页。22第21页/共120页第二十二页,共120页。23完全相等。比较器分类:半比较器:只能(zh nn)比较2个一

4、位二进制数的比较器。全比较器:比较2个一位二进制数。当它们相等时,全比较器的比较结果由低位送来的比较结果决定。第22页/共120页第二十三页,共120页。241. 4位二进制数比较器位二进制数比较器7485 7485是采用并行是采用并行(bngxng)比较结构的比较结构的4位二进制数位二进制数比较器比较器第23页/共120页第二十四页,共120页。25v功能表用于描述芯片功能表用于描述芯片(xn pin)(xn pin)功能。功能。第24页/共120页第二十五页,共120页。2627485的级联扩展的级联扩展 7485的三个级联输入端用于连接低位芯片的三个级联输入端用于连接低位芯片(xn pi

5、n)的三个的三个比较输出端,实现比较位数的扩展。比较输出端,实现比较位数的扩展。 第25页/共120页第二十六页,共120页。27第26页/共120页第二十七页,共120页。281. 2n线线n线编码器线编码器 以基本的以基本的8线线3线编码器为例线编码器为例存在问题:存在问题:没有键被按下(即编码输入全为没有键被按下(即编码输入全为0)时,编码输出为)时,编码输出为“000”,无法与,无法与I01的编码输入相区别。的编码输入相区别。若同时若同时(tngsh)有多个键被按下(即有多个编码输入端同有多个键被按下(即有多个编码输入端同时时(tngsh)为为1),编码输出将出现混乱。),编码输出将出

6、现混乱。 输出函数表达式第27页/共120页第二十八页,共120页。29第28页/共120页第二十九页,共120页。30EIEOGS210A A A70I I第29页/共120页第三十页,共120页。313BCD码编码器码编码器 图图222可以用于实现可以用于实现(shxin)各种各种BCD码编码码编码器。器。第30页/共120页第三十一页,共120页。32第31页/共120页第三十二页,共120页。3312A2BG GG100第32页/共120页第三十三页,共120页。34第33页/共120页第三十四页,共120页。35第34页/共120页第三十五页,共120页。36第35页/共120页第三

7、十六页,共120页。37第36页/共120页第三十七页,共120页。38RBI RBO和第37页/共120页第三十八页,共120页。39第38页/共120页第三十九页,共120页。40第39页/共120页第四十页,共120页。41第40页/共120页第四十一页,共120页。423数据数据(shj)分配器分配器 第41页/共120页第四十二页,共120页。43第42页/共120页第四十三页,共120页。44第43页/共120页第四十四页,共120页。45体,任何逻辑函数都可以(ky)写成与或表达式的形式,通过与或阵列实现函数功能。第44页/共120页第四十五页,共120页。46第45页/共120

8、页第四十六页,共120页。47第46页/共120页第四十七页,共120页。4812F(A,B)ABABABm(0,1,3)F (A,B)ABABm(1,2)第47页/共120页第四十八页,共120页。49简单简单(jindn)PLD(SPCD)复杂复杂(fz)PLD第48页/共120页第四十九页,共120页。501可编程只读存储器可编程只读存储器PROM和和EPROM 第49页/共120页第五十页,共120页。51n21ikkk 0Dd m第50页/共120页第五十一页,共120页。52取代。2可编程逻辑可编程逻辑(lu j)阵列阵列PLA 第51页/共120页第五十二页,共120页。53式。

9、3可编程阵列可编程阵列(zhn li)逻辑逻辑PAL 第52页/共120页第五十三页,共120页。54第53页/共120页第五十四页,共120页。550123401234090934563456014589014589WM M M M Mmmmmm ABCDABCDABCDABCDABCDXM MmmABCDABCDYM M M Mmmmm ABCDABCDABCDABCDZM M M M M M mmmmmm ABCDABCDABCDABCDABCDABCD4通用通用(tngyng)阵列逻辑阵列逻辑GALGAL在芯片中增加了存储元件,并采用输出逻辑宏单在芯片中增加了存储元件,并采用输出逻辑宏

10、单元元OLMC结构,改善了内部资源使用的灵活性结构,改善了内部资源使用的灵活性,成为低密度可编程逻辑器件的首选。,成为低密度可编程逻辑器件的首选。GAL的的原理与应用在第原理与应用在第4章介绍。章介绍。第54页/共120页第五十五页,共120页。56第55页/共120页第五十六页,共120页。57FAB BC ACABBCAC第56页/共120页第五十七页,共120页。58逻辑功能:一位全加器。其中,J是进位输出(shch),S是本位和输出(shch)。解:表达式为解:表达式为J0 ABC ABC AB1 AB ABCABCABBCACABSC ABC ABC ABC AB ABCABCABC

11、ABCABC 第57页/共120页第五十八页,共120页。59解:由真值表可以看出解:由真值表可以看出(kn ch),该电,该电路实现了路实现了5421码到码到8421码的转换。码的转换。 第58页/共120页第五十九页,共120页。60q(ciyng)适当的化简方法求出与所要求的逻辑门相适应的输出函数的最简表达式。q画出与最简表达式相对应的逻辑电路图。第59页/共120页第六十页,共120页。61第60页/共120页第六十一页,共120页。62第61页/共120页第六十二页,共120页。63 用卡诺图化简法求最简式:用卡诺图化简法求最简式: 用与非门实现用与非门实现(shxin)(shxin

12、)时,应圈时,应圈1 1得最简与或式,再转换为最简得最简与或式,再转换为最简与非式。与非式。 用或非门实现用或非门实现(shxin)(shxin)时,应圈时,应圈0 0得最简或与式,再转换为最简得最简或与式,再转换为最简或非式。或非式。 用与或非门实现用与或非门实现(shxin)(shxin)时,应圈时,应圈0 0得最简或与式,再转换为最得最简或与式,再转换为最简与或非式。简与或非式。 第62页/共120页第六十三页,共120页。64 输出输出(shch)(shch)函数的最简与或式和最简与非式为函数的最简与或式和最简与非式为 输出输出(shch)(shch)函数的最简或与式、最简或非式和最简

13、与或非式函数的最简或与式、最简或非式和最简与或非式为为 12FABCFCDBCA BCCD BC(最简与或式) (最简与或式) (最简与非式) (最简与非式)12F(AB)(AC)FC(BD)ABACCBDABACCBD (最简或与式) (最简或与式) (最简或非式) (最简或非式) (最简与或非式) (最简与或非式)第63页/共120页第六十四页,共120页。65 画出实现该逻辑功能画出实现该逻辑功能(gngnng)的三种不同门电的三种不同门电路形式。路形式。第64页/共120页第六十五页,共120页。66二、设计实例(基于二、设计实例(基于MSI的组合电路设计)的组合电路设计) 例例25

14、试用试用(shyng)4位全加器位全加器7483实现实现5421BCD码到码到8421BCD码的转换。码的转换。 解:解: ABCD00004WXYZABCD00115ABCD0000A0ABCD1101A1ABCDAA0A1010;当N时;当N时;当时 ;当时 第65页/共120页第六十六页,共120页。67 例例2 26 6 试用试用4 4位全加器芯片位全加器芯片74837483实现一位实现一位8421BCD8421BCD码加法码加法器。器。 解:两个一位十进制数相加时,和的取值范围是解:两个一位十进制数相加时,和的取值范围是0 01818,将,将该范围内二进制数和该范围内二进制数和842

15、1BCD8421BCD码的取值列表,寻找将二进制结码的取值列表,寻找将二进制结果转换果转换(zhunhun)(zhunhun)为为8421BCD8421BCD码的规律。码的规律。 第66页/共120页第六十七页,共120页。68C432143231DCS (SS ) CS SS S N109 N109时,二进制数与时,二进制数与84218421码码相同相同 N1010 N1010时,时,84218421码比相应码比相应(xingyng)(xingyng)的二进制数大的二进制数大6 6。 判断判断N1010N1010的电路就用表中的的电路就用表中的DCDC。 当当C4=1C4=1时,或时,或S3

16、=1S3=1且且S2S2和和S1S1中中至少有一个为至少有一个为1 1时,时,DC=1DC=1。 DC DC的表达式为的表达式为第67页/共120页第六十八页,共120页。69 由真值表直接写出输出由真值表直接写出输出(shch)(shch)函数函数的最小项表达式。并变换为与的最小项表达式。并变换为与7413874138低低电平有效的输出电平有效的输出(shch)(shch)端相符的形式端相符的形式。 画出电路图画出电路图 例例2 27 7 试用试用3 3线线8 8线译码器线译码器7413874138实现一实现一位二进制全减器。位二进制全减器。 解:一位二进制数全减器就是两个一位二进制数解:一

17、位二进制数全减器就是两个一位二进制数的带借位的减法的带借位的减法(jinf)(jinf)运算。运算。 定义变量定义变量(binling):设被减数、减数和低位的借位:设被减数、减数和低位的借位输入分别为输入分别为X、Y、Bi,运算结果为本位的差,运算结果为本位的差D和向高位和向高位的借位输出的借位输出Bo 列出真值表列出真值表oi123712312377i124712412477B (X,Y,B )mmmm m m m mYY Y YD(X,Y,B )mmmm m m m mYY Y Y第68页/共120页第六十九页,共120页。70 例例2 28 8 试用输出高电平有效的试用输出高电平有效的

18、3 3线线8 8线译码器线译码器实现逻辑函数实现逻辑函数 解:输出高电平有效的译码器的输出函数就是输入变解:输出高电平有效的译码器的输出函数就是输入变量的最小项。量的最小项。 直接实现该最小项表达式需要外接一个直接实现该最小项表达式需要外接一个6 6输入的输入的或门。或门。 对函数表达式稍加变换对函数表达式稍加变换(binhun)(binhun),就可以使电,就可以使电路更简单,如图路更简单,如图2 24949所示。所示。 F(A,B,C)m(0,1,2,4,5,6)01245637337737F(A,B,C)m(0,1,2,4,5,6)YYYYYYM(3,7)M MMMmmYY 第69页/共

19、120页第七十页,共120页。71例例2 29 9 试用试用8 8选选1 1数据数据(shj)(shj)选择器实现逻辑函选择器实现逻辑函数数 F(A,B,C,D)m(0,5,7,9,14,15)解:首先将函数解:首先将函数F写成最小项表达式的变量形式,然后从四个写成最小项表达式的变量形式,然后从四个自变量中选择自变量中选择(xunz)三个作为三个作为MUX的地址变量(本例选的地址变量(本例选ABC),并将表达式写成),并将表达式写成MUX输出函数表达式形式。输出函数表达式形式。 当当MUX的地址变量的地址变量A2A1A0=ABC时,时,输入数据端输入数据端 F(A,B,C,D)ABCDABCD

20、ABCDABCDABCDABCDABC DABC DABC DABC DABC DABC DABC DABC DABC DABC DABC 107D DD,0,D,D,D,0,0,1第70页/共120页第七十一页,共120页。72例例2 210 10 试用试用4 4选选1 1数据数据(shj)(shj)选择器实现例选择器实现例2 29 9中的逻辑函中的逻辑函数。数。解:选解:选AB作为作为MUX的地址变量的地址变量(binling),按,按AB两个变量两个变量(binling)的最小项形式变换函数的最小项形式变换函数F的表达式的表达式 当当4选选1 MUX的地址变量的地址变量(binling)

21、A1A0=AB时,时,MUX的数据的数据输入端输入端实现实现D0和和D2需要附加两个与门。需要附加两个与门。F(A,B,C,D)AB CDAB CDAB CDAB CDAB CDAB CDAB CDAB (CDCD)AB CDAB (CDCD)AB CDAB DAB CDAB C 0123DCDDDDCDDC,第71页/共120页第七十二页,共120页。73例例2 211 11 试用试用8 8选选1 1数据选择器实现数据选择器实现(shxin)(shxin)逻辑逻辑函数函数 F(A,B,C,D)M(2,3,14)(1,4,5,11,12,15)解:采用降维卡诺图法解:采用降维卡诺图法 选择选择

22、MUXMUX的地址变量的地址变量(binling)A2A1A0=BCD(binling)A2A1A0=BCD,将,将BCDBCD作为卡诺图中的一组作为卡诺图中的一组变量变量(binling)(binling),函数,函数F F中的其它变量中的其它变量(binling)(binling)作为另一组变量作为另一组变量(binling)(binling),画出降维卡诺图。,画出降维卡诺图。 第72页/共120页第七十三页,共120页。74q 数字电路的描述方法数字电路的描述方法q 真值表、表达式、电路图。真值表、表达式、电路图。q 硬件描述语言:硬件描述语言:VHDL、Verilog HDL等。等。

23、q 一、一、VHDL源程序的基本源程序的基本(jbn)结构结构q VHDL源程序源程序5个组成部分个组成部分:实体说明、结构体、库、程:实体说明、结构体、库、程序包和配置。序包和配置。q 实体说明和结构体组成设计实体说明和结构体组成设计实体,简称实体。实体,简称实体。 q 通常,将实体理解为一个逻通常,将实体理解为一个逻辑模块,实体说明用来描述该辑模块,实体说明用来描述该模块的端口。结构体用来描述模块的端口。结构体用来描述该模块的内部功能。该模块的内部功能。第73页/共120页第七十四页,共120页。75v 实体说明实体说明v 实体说明用于描述逻辑实体说明用于描述逻辑(lu j)(lu j)模

24、块的输入模块的输入/ /输出信号,其语输出信号,其语法如下:法如下:v例例2 212 12 用实体说明语句描述用实体说明语句描述2 2输入与非门的输入输出端口。输入与非门的输入输出端口。 第74页/共120页第七十五页,共120页。76 端口说明端口说明 语句格式:语句格式:port port (端口名:(端口名: 端口模式端口模式 数据类型;数据类型;.);); 端口模式指端口的数据传输方向,共有以下端口模式指端口的数据传输方向,共有以下4 4种:种:inin:输入端口,该引脚接收外部信号:输入端口,该引脚接收外部信号outout:输出端口,该引脚向外输出信号:输出端口,该引脚向外输出信号i

25、noutinout:双向端口,可以双向传输信号:双向端口,可以双向传输信号bufferbuffer:缓冲端口,工作于缓冲模式:缓冲端口,工作于缓冲模式 数据类型是端口信号的取值类型,数据类型是端口信号的取值类型,VHDLVHDL有着丰富有着丰富(fngf)(fngf)的数据类型。的数据类型。工业标准逻辑型是最常用的数据类型,该类型的数据工业标准逻辑型是最常用的数据类型,该类型的数据有有 0 0、1 1、X X(未知)、(未知)、Z Z(高阻)等(高阻)等9 9种取值。种取值。 类属说明:类属说明语句用于指定参数,其格式为类属说明:类属说明语句用于指定参数,其格式为genericgeneric(

26、常数名:(常数名: 数据类型:数据类型:= =设定值;设定值;.);); 第75页/共120页第七十六页,共120页。77 例例2 213 13 用类属说明语句定义用类属说明语句定义(dngy)(dngy)总线宽度。总线宽度。 类属说明语句也常用来定义类属说明语句也常用来定义(dngy)(dngy)仿真时需要的时间参数,例如:仿真时需要的时间参数,例如: 实体说明只是指出了输入、输出信号的名称、方向、类型。实体说明只是指出了输入、输出信号的名称、方向、类型。而电路的逻辑功能,即函数关系,是模块的内部信息,由相应的结构体定而电路的逻辑功能,即函数关系,是模块的内部信息,由相应的结构体定义义(dn

27、gy)(dngy)。 第76页/共120页第七十七页,共120页。78v 结构体结构体v 结构体的关键字是结构体的关键字是architecturearchitecture,结构体用于具体,结构体用于具体描述实体的逻辑功能,其语法如下描述实体的逻辑功能,其语法如下(rxi)(rxi):v例例2 214 14 与例与例2 21212中实体说明对应的一种结构体。中实体说明对应的一种结构体。 第77页/共120页第七十八页,共120页。79v 配置配置v 一个实体一个实体(sht)(sht)可以用不同的结构体来描述,配置语句可以用不同的结构体来描述,配置语句用于确定一个具体的实体用于确定一个具体的实体

28、(sht)(sht)和结构体对。和结构体对。v 配置语句的关键字是配置语句的关键字是configurationconfiguration,语句的一般格式如,语句的一般格式如下下 v 例如,将例例如,将例2 21414的结构体配置给实体的结构体配置给实体(sht)(sht)说明,其配说明,其配置语句如下置语句如下 第78页/共120页第七十九页,共120页。80v 库和程序包库和程序包 v 库和程序包结构用于实现库和程序包结构用于实现(shxin)(shxin)数据类型、常量数据类型、常量和子程序在不同实体中的共享。和子程序在不同实体中的共享。 v 程序包用来存放各个设计都能共享的数据类型、子程

29、序包用来存放各个设计都能共享的数据类型、子程序说明、属性说明和元件说明。程序包由程序包说明程序说明、属性说明和元件说明。程序包由程序包说明和程序包体两部分组成,其语法格式为和程序包体两部分组成,其语法格式为 v 数据类型、常量,以及子程序和元件等首先在程序数据类型、常量,以及子程序和元件等首先在程序包说明中定义,然后在程序包体中描述各项的具体内容包说明中定义,然后在程序包体中描述各项的具体内容。 第79页/共120页第八十页,共120页。81例例2 21515 库是已编译数据的集合库是已编译数据的集合(jh)(jh),它存放包集合,它存放包集合(jh)(jh)定义、实体定义定义、实体定义、结构

30、定义和配置定义。库以、结构定义和配置定义。库以VHDLVHDL源文件形式存在,主要包括:源文件形式存在,主要包括:STDSTD库、库、WORKWORK库、库、IEEEIEEE库、库、ASICASIC库、用户自定义库等库、用户自定义库等 vhdl vhdl的库说明语句格式为:的库说明语句格式为: 第80页/共120页第八十一页,共120页。82二、二、VHDL的基本语法的基本语法(yf) VHDL的语言要素:数据对象、数据类型和的语言要素:数据对象、数据类型和运算操作符运算操作符 数据对象:包括变量、信号和常数。数据对象:包括变量、信号和常数。 变量:变量:VHDL的变量是局部量,只能用于的变量

31、是局部量,只能用于进程和子程序中,变量的使用包括变量定义进程和子程序中,变量的使用包括变量定义语句和变量赋值语句。语句和变量赋值语句。 变量定义语句的语法变量定义语句的语法(yf)格式为格式为 variable 变量名:数据类型变量名:数据类型 := 初始初始值;值;例例216 变量定义语句举例。变量定义语句举例。 第81页/共120页第八十二页,共120页。83变量赋值语句的格式变量赋值语句的格式(g shi)(g shi)为为 变量名变量名 := := 表达式;表达式;例例2 217 17 变量赋值语句举例变量赋值语句举例 信号信号: : 其概念类似于硬件电路中的连接线,与之相关的信号赋值

32、、延时其概念类似于硬件电路中的连接线,与之相关的信号赋值、延时等语句适合于描述硬件电路的一些基本特征。信号的适用范围是实体、结等语句适合于描述硬件电路的一些基本特征。信号的适用范围是实体、结构体和程序包,信号不能用于进程和子程序。信号语句包括信号定义语句构体和程序包,信号不能用于进程和子程序。信号语句包括信号定义语句和信号赋值语句。和信号赋值语句。 第82页/共120页第八十三页,共120页。84信号定义语句的格式为信号定义语句的格式为 signal signal 信号名:信号名: 数据类型数据类型 : 初始值;初始值; 例例2 218 18 信号定义语句举例。信号定义语句举例。信号赋值语句的

33、格式为信号赋值语句的格式为 信号名信号名 = )、大于等于()、大于等于(=)、小于)、小于()、小于等于()、小于等于(=)。)。 第86页/共120页第八十七页,共120页。88v VHDL的语句:并行执行语句和顺序执行语句的语句:并行执行语句和顺序执行语句 v 并行语句:并行语句主要用来描述模块之间的连接关系。并行语句:并行语句主要用来描述模块之间的连接关系。并行语句之间是并行关系,当某个信号发生变化时,受此信号并行语句之间是并行关系,当某个信号发生变化时,受此信号触发的所有触发的所有(suyu)语句同时执行。语句同时执行。 v 常用的并行语句包括信号赋值语句、条件赋值语句和元件常用的并

34、行语句包括信号赋值语句、条件赋值语句和元件例化语句。例化语句。 v 条件赋值语句:包括条件赋值语句:包括when_else和和with_select_when v when_else语句的语法格式为语句的语法格式为 第87页/共120页第八十八页,共120页。89 例例222 采用采用when_else语句语句(yj)描述表描述表219所示的所示的24线译码器。线译码器。 with_select_when语句(yj)的语法格式为第88页/共120页第八十九页,共120页。90例例2 223 23 采用采用with_select_whenwith_select_when语句语句(yj)(yj)描

35、述表描述表2 22020所示的所示的4 42 2线编码器。线编码器。 元件例化语句元件例化语句元件例化就是引入一种连接关系,将预先设计好的实元件例化就是引入一种连接关系,将预先设计好的实体定义为一个元件,然后通过体定义为一个元件,然后通过(tnggu)(tnggu)关联将实际信号关联将实际信号与当前实体中指定的端口相连接。与当前实体中指定的端口相连接。第89页/共120页第九十页,共120页。91元件例化分为两部分:元件例化分为两部分: 元件定义语句:将一个已有的设计实体定义为一个元件,实现封装,使之只元件定义语句:将一个已有的设计实体定义为一个元件,实现封装,使之只保留对外的端口,可以被其它

36、模块调用。保留对外的端口,可以被其它模块调用。 元件例化语句:就是元件的调用,方法是将元件端口(输入输出信号、即引元件例化语句:就是元件的调用,方法是将元件端口(输入输出信号、即引脚)映射到需要连接的位置脚)映射到需要连接的位置(wi zhi)(wi zhi)上。上。 语句格式语句格式第90页/共120页第九十一页,共120页。92例例2 224 24 采用元件例化的方式实现采用元件例化的方式实现图图2 25656所示电路。所示电路。解:首先用解:首先用VHDLVHDL描述一个两输入与非描述一个两输入与非门,然后门,然后(rnhu)(rnhu)把该与非门当作把该与非门当作一个已有元件,用元件例

37、化语句结构一个已有元件,用元件例化语句结构实现图实现图2 25656所示的连接关系。所示的连接关系。 第91页/共120页第九十二页,共120页。93第92页/共120页第九十三页,共120页。94 顺序语句:顺序语句按照程序书写顺序执行,顺序语句只能出现在进程顺序语句:顺序语句按照程序书写顺序执行,顺序语句只能出现在进程和子程序中。和子程序中。 顺序语句包括赋值语句、流程顺序语句包括赋值语句、流程(lichng)控制语句、子程序调用语句控制语句、子程序调用语句和等待语句等类别,这里只介绍流程和等待语句等类别,这里只介绍流程(lichng)控制语句中的控制语句中的if和和case语句语句。 i

38、f语句:分为三种,语句:分为三种,if_then_end if、if_then_else_end if和和if_elsif_else_end if。 if_then_end if语句的语法格式是语句的语法格式是 当条件(tiojin)成立时,执行顺序语句,否则跳过该语句。 例例225 if_then_end if语句语句(yj)举例举例 第93页/共120页第九十四页,共120页。95 if_then_else_end if语句的语法(yf)格式是 若条件(tiojin)成立,就执行顺序语句1;否则,就执行顺序语句2。 例例2 226 26 用用ifif语句语句(yj)(yj)描述一个表描述一

39、个表2 22121所示的三态非门。所示的三态非门。 第94页/共120页第九十五页,共120页。96 if_elsif_else_end if语句的语法(yf)格式是 若条件成立,就执行then后的顺序语句;否则,检测后面的条件,并在条件满足(mnz)时,执行相应的顺序语句。 if语句至少有一个条件句,条件句必须是boolean表达式,当条件句的值为ture时(即条件成立),执行then后的顺序语句。方括号中的内容是可选项,用于多个条件的情形。第95页/共120页第九十六页,共120页。97case语句语句case语句根据表达式的取值直接从多组顺序语句中选语句根据表达式的取值直接从多组顺序语句

40、中选择择(xunz)一组执行。一组执行。 语句格式为语句格式为例例227 用用case语句语句(yj)描述一个表描述一个表222所示的所示的1线线4线分线分配器。配器。 第96页/共120页第九十七页,共120页。98v 结构体功能描述语句的结构类型结构体功能描述语句的结构类型 v 用结构体进行功能描述可以用结构体进行功能描述可以(ky)(ky)采用五种不同类型的语句结构,如图所示采用五种不同类型的语句结构,如图所示。v 块语句块语句v 块语句将结构体中的并行描述语句块语句将结构体中的并行描述语句组成一个模块,类似于电路图中的模块划组成一个模块,类似于电路图中的模块划分,用于改善并行语句的结构

41、,增加可读分,用于改善并行语句的结构,增加可读性,或用来限制某些信号的使用范围。性,或用来限制某些信号的使用范围。v block block语句的格式为语句的格式为 v 第97页/共120页第九十八页,共120页。99例例228 由半加器和或门构成的一位二进制全加器电路如图所示由半加器和或门构成的一位二进制全加器电路如图所示,试采用,试采用block语句结构描述该电路。语句结构描述该电路。解:在解:在VHDL描述时,采用描述时,采用block语句结构将两个半加器语句结构将两个半加器H_ADDER和或门和或门OR2分别分别(fnbi)实现,可以使实现,可以使VHDL源程序更源程序更加清晰易懂。加

42、清晰易懂。第98页/共120页第九十九页,共120页。100第99页/共120页第一百页,共120页。101 进程进程(jnchng)(jnchng)语句语句 进程进程(jnchng)(jnchng)语句结构采用顺序语句描述事件,其语法结构为语句结构采用顺序语句描述事件,其语法结构为例例2 2 29 29 一个一个2 2选选1 1多路选择器多路选择器MUX2MUX2的进程的进程(jnchng)(jnchng)描述语句描述语句。 第100页/共120页第一百零一页,共120页。102 子程序调用语句子程序调用语句 在被主程序调用后,子程序可以将处理结果返回主程序。子程序中只在被主程序调用后,子程

43、序可以将处理结果返回主程序。子程序中只能使用能使用(shyng)(shyng)顺序语句。顺序语句。VHDLVHDL中的子程序有两种类型:过程和函数。中的子程序有两种类型:过程和函数。 函数函数 函数的语句格式为函数的语句格式为 在在VHDLVHDL中,中,functionfunction语句只能计算数值,不能改变其参数的值,所语句只能计算数值,不能改变其参数的值,所以其参数的模式只能是以其参数的模式只能是inin,常省略不写。通常,各种功能的函数语句的程,常省略不写。通常,各种功能的函数语句的程序都被集中放置在包集合中,并且可以在结构体中直接调用。序都被集中放置在包集合中,并且可以在结构体中直

44、接调用。 第101页/共120页第一百零二页,共120页。103 例例2 30 函数函数MIN的功能的功能(gngnng)是比较两个变量是比较两个变量X、Y的的大小,并返回两数中较小的一个。大小,并返回两数中较小的一个。 在在VHDL中,中,function语句只能计算数值,不能改变其参数的值语句只能计算数值,不能改变其参数的值,所以其参数的模式只能是,所以其参数的模式只能是in,常省略不写。通常,各种功能,常省略不写。通常,各种功能(gngnng)的函数语句的程序都被集中放置在包集合中,并且可以在的函数语句的程序都被集中放置在包集合中,并且可以在结构体中直接调用。结构体中直接调用。 第102

45、页/共120页第一百零三页,共120页。104 过程过程 过程的语句格式过程的语句格式(g shi)(g shi)为为例例2 231 31 用过程语句结构实现用过程语句结构实现2 24 4线译码器线译码器 第103页/共120页第一百零四页,共120页。105第104页/共120页第一百零五页,共120页。106三、用三、用VHDL描述组合逻辑电路描述组合逻辑电路 VHDL结构体的功能描述有三种方式:行为结构体的功能描述有三种方式:行为描述方式、数据流描述方式描述方式、数据流描述方式(RTL描述描述)、结构、结构化描述方式。化描述方式。 行为描述方式属于高级描述方式,通过对电行为描述方式属于高

46、级描述方式,通过对电路行为的描述实现设计。这种描述方式不包含路行为的描述实现设计。这种描述方式不包含与硬件结构有关的信息,易于实现系统优化,与硬件结构有关的信息,易于实现系统优化,易于维护。易于维护。 数据流描述方式的特点是采用逻辑函数表达数据流描述方式的特点是采用逻辑函数表达式形式表示信号关系。式形式表示信号关系。 结构化描述方式通过元件结构化描述方式通过元件(yunjin)例化来例化来实现,这种方法类似电路图的描述方式,将电实现,这种方法类似电路图的描述方式,将电路的逻辑功能分解为功能单元,每个功能单元路的逻辑功能分解为功能单元,每个功能单元都被定义为一个元件都被定义为一个元件(yunji

47、n),通过元件,通过元件(yunjin)说明和元件说明和元件(yunjin)调用的方式调用的方式,构成电路中各元件,构成电路中各元件(yunjin)的连接关系。的连接关系。第105页/共120页第一百零六页,共120页。107例例2 232 32 分别用数据流描述、结构化描述和行为描述方式分别用数据流描述、结构化描述和行为描述方式(fngsh)(fngsh)设设计一个三人表决电路。计一个三人表决电路。 解:三人表决电路的电路图和真值表如下面的图表所示。解:三人表决电路的电路图和真值表如下面的图表所示。 第106页/共120页第一百零七页,共120页。108第107页/共120页第一百零八页,共

48、120页。109第108页/共120页第一百零九页,共120页。110 例例233 用用VHDL描述一个三态输出总线电路,总线宽度描述一个三态输出总线电路,总线宽度(kund)BUS_WIDTH为为8位,数据输入和输出分别用位,数据输入和输出分别用D_IN和和D_OUT表示,使能输入信号表示,使能输入信号OE高电平有效。高电平有效。 第109页/共120页第一百一十页,共120页。111 例例234 用用VHDL描述一个描述一个8线线3线优先编码器,该编码器的编码输入线优先编码器,该编码器的编码输入(shr)端是端是I(7)I(0),编码优先顺序由高到低是,编码优先顺序由高到低是I(7)到到I

49、(0),编码输出端是,编码输出端是A(2)A(0),该电路还有一个高电平有效的编码有效输出端,该电路还有一个高电平有效的编码有效输出端GS。 第110页/共120页第一百一十一页,共120页。112 例例2 235 35 用用VHDLVHDL描述一个将一位描述一个将一位8421BCD8421BCD码转换码转换(zhunhun)(zhunhun)为高电为高电平有效的七段显示码的七段显示译码器。平有效的七段显示码的七段显示译码器。 第111页/共120页第一百一十二页,共120页。113第112页/共120页第一百一十三页,共120页。114q 逻辑门的传输逻辑门的传输(chun sh)(chun

50、 sh)时延、以及多个输入信号变化时延、以及多个输入信号变化时刻不同步可能引起短暂的输出差错,这种现象称为逻辑电路时刻不同步可能引起短暂的输出差错,这种现象称为逻辑电路的冒险现象,简称险象。的冒险现象,简称险象。q 电路中出现的短暂的错误输出称为毛刺。电路中出现的短暂的错误输出称为毛刺。q 险象的持续时间虽然短暂,危害却不可忽视。险象的持续时间虽然短暂,危害却不可忽视。 q一、险象的来源、种类与识别方法一、险象的来源、种类与识别方法 q 逻辑险象:信号的传输逻辑险象:信号的传输(chun sh)(chun sh)时延引起的险象。时延引起的险象。q 逻辑险象可以通过修改逻辑设计来消除。逻辑险象可

51、以通过修改逻辑设计来消除。 q 功能险象:多个输入信号的变化时刻不同步引起的险象。功能险象:多个输入信号的变化时刻不同步引起的险象。q 功能险象无法通过逻辑设计来清除,只能通过适当选择输功能险象无法通过逻辑设计来清除,只能通过适当选择输出信号的读取时间避开险象。出信号的读取时间避开险象。第113页/共120页第一百一十四页,共120页。115 静态险象:若输入信号的变化只引起一个毛刺,这静态险象:若输入信号的变化只引起一个毛刺,这种险象称为静态险象。种险象称为静态险象。 动态险象:若输入信号的变化引起多个毛刺,这种动态险象:若输入信号的变化引起多个毛刺,这种险象称为动态险象。险象称为动态险象。

52、 根据毛刺的不同根据毛刺的不同(b tn)(b tn)极性,可以把险象分为极性,可以把险象分为0 0型险象和型险象和1 1型险象。型险象。 0 0型险象:输出信号中的毛刺为负向脉冲的险象称型险象:输出信号中的毛刺为负向脉冲的险象称为为0 0型险象,通常出现在与或、与非、与或非型电路中型险象,通常出现在与或、与非、与或非型电路中。 1 1型险象:输出信号中的毛刺为正向脉冲的险象称型险象:输出信号中的毛刺为正向脉冲的险象称为为1 1型险象,通常出现在或与、或非型电路中。型险象,通常出现在或与、或非型电路中。 静态逻辑险象可以用两种方法来识别:代数法和卡静态逻辑险象可以用两种方法来识别:代数法和卡诺图法。诺图法。 第114页/共120页第一百一十五页,共120页。116v 代数识别法代数识别法v 对于一个逻辑表达式,若在给定对于一个逻辑表达式,若在给定(i dn)(i dn)了其它了其它自变量适当的逻辑值后,出现了下列两种情形之一,则自变量适当的逻辑值后,出现了下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论