数字逻辑教材第3章上半部分_第1页
数字逻辑教材第3章上半部分_第2页
数字逻辑教材第3章上半部分_第3页
数字逻辑教材第3章上半部分_第4页
数字逻辑教材第3章上半部分_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、第3章:数字系统基本概念数字系统是对数字信息进行加工、处理和传输的设备统称,其结构可大可小,没有一个规范和限定。如家庭自动化系统中的煤气安全控制器,就是一个非常小的数字系统,而具有典型数据处理能力的计算机系统,就是一种大型数字系统的代表。所以数字系统,实际上就是由一些逻辑门或逻辑功能模块所组成的一个具有特定智能化功能表现的设备,为此要掌握数字系统的设计就必须对数字系统的一些基本概念和特征有所了解。3.1 数字系统模型概述 对任何一个数字系统来讲,它的组成结构只有两种模式,一种是组合逻辑模式,简称组合逻辑,另一种就是时序逻辑模式,简称时序逻辑。因此,无论多么复杂的数字系统结构,都是这两种不同模式

2、的综合。 数字系统可表示为:组合逻辑数字系统 同步时序逻辑 时序逻辑 异步时序逻辑 组合逻辑特点:在任何时刻逻辑功能部件所产生的稳定输出信号,只与当前逻辑功能部件的输入信号有关,而与以前任何时间段上的输入信号无关。 时序逻辑特点:在任何时刻逻辑功能部件所产生的稳定输出信号,不仅与当前逻辑功能部件的输入信号有关,而且还与该逻辑功能部件因过去输入信号的作用,所产生的记忆状态有关,或者说,逻辑功能部件当前时间的稳定输出,与该时间的输入信号,和功能部件所持有的现行状态相关。在组合逻辑中,对组合逻辑网络来讲,由于它的输出不受到过去发生事件的影响,所以它必须满足两个条件: 1.输出信号“真假”状态,只取决

3、于当前输入信号“真假”组合; 2.从输出到输入不能有任何反馈作用。 由于存在这两个条件,组合逻辑网络如果输入条件一旦发生变化,逻辑网络输出信号将立即出现新的变化值,这些新变化出现的时间是由产生输出信号组合网络所固有时延所决定的,这样输出变化将可能滞后于输入变化。在一定时间内,组合逻辑网络输出可能与输入所需结果不一致。所以组合逻辑部件在工作时,只要能保证组合逻辑网络输入信号在一个足够长的时间内保持不变,这些输入信号最终会使输出变成正常。另外,因组合逻辑网络不具有反馈作用,它保证了输入信号每次变化,只能引起输出信号的唯一变化,它不可能引起组合逻辑网络不稳定性和不确定性。正因为这一特点,组合逻辑设计

4、为设计者带来很多方便,设计者在在设计时只需要将n个输入信号的2n种不同输入组合,与所对应的m个输出组合列成一张表格,然后根据这张表格就可以进行组合逻辑网络的设计了,这张表格就是第一章中所讨论的真值表结构。 真值表在数字系统的传统设计中起着非常重要的作用,无论是组合逻辑设计还是时序逻辑设计,都需要依据真值表来帮助设计。目前,在现代数字系统设计方法和手段中,真值表仍保持着它的重要作用。3.1.1 组合逻辑模型由于组合逻辑表示逻辑功能部件在任何时刻产生的稳定输出值只取决于当前时间的输入信号组合,而与过去输入信号组合无关,所以图3.1描述了组合逻辑功能部件结构。输出信号O1组合逻辑功能部件I1输入信号

5、O2I2IkOm图3.1 典型组合逻辑结构示意图图中用I1、I2、Ik表示组合逻辑功能部件的输入信号组合,而用O1、O2、Om表示组合逻辑功能部件在输入信号的不同组合下所对应的输出,所以组合逻辑只需要用一组方程就可以进行总的描述:Oj( tk ) = j( I1 ( tk ),Ik ( tk ) ), 其中j = 1,2,m从组合逻辑功能部件的一般示意图和函数表示式中可看出逻辑部件的特点。其一,部件中不能记忆任何以前输入信号对它作用所产生影响。其二,这种逻辑部件是对数据信息进行单向加工,加工后数据信息结果不能再通过一些互连关系被反馈到输入端上,即输出直接对后级功能部件产生驱动。在实际工程中,对

6、组合逻辑需要研究的是两个方面,一个是组合逻辑功能部件分析,另一个是对组合逻辑功能部件设计。所谓对组合逻辑功能部件分析就是在一个已知功能部件模式下,通过分析每级输入信号与输出信号之间关系,从而了解功能部件工作原理,这种方式常用于对更为先进产品进行剖析,或对某种引进设备的技术消化。而组合逻辑功能部件设计实际上是针对用户特定需要,按照用户所提供的需求说明,进行具体物理实现,这个过程也称为逻辑功能部件综合。 实际上,逻辑功能部件分析和逻辑功能部件设计是两个互为相反过程,这类似于数学上的一个是方程建立(设计),一个是方程求解(分析)。 组合逻辑技术在数字系统中应用非常广泛,它不但自己能独立完成各种功能复

7、杂的逻辑操作,而且也是时序逻辑部件的组成部分。因此,它在逻辑设计中占有相当重要地位。实际上,组合逻辑是数字系统功能层集成基础,只有对这部分内容熟练掌握后,后续技术设计就非常容易。3.1.2 时序逻辑模型 时序逻辑在数字系统中又被分成了具有同步变化的同步时序逻辑,以及处于异步变化过程下的异步时序逻辑。计算机系统就是同步时序逻辑应用的一个典型示例,这是因为计算机中所有功能部件都在一个称为系统时钟的控制信号管理下实现数据信息加工、处理和传输。由于数字系统在时钟信号统一作用下实现状态转换,所以数字系统就具备了时序概念。对同步时序逻辑来讲,它必须满足如下三个条件:1.逻辑功能部件输出和输入之间,至少存在

8、着一条以上反馈信号通路; 2.因时间信号的引入,逻辑功能部件必须能将上一时间输入信号,对功能部件所产生的影响保持记忆,以便功能部件能通过该保留状态与当前输入信号共同组合来寻求达到新的状态转换。 3.一旦功能部件使用了时钟脉冲CP(Clock Pulse)作为同步信号,那么对CP信号就有一个严格规定,即下一个时钟信号到来前,必须要保证前一个时钟信号所引起的逻辑响应完全结束,否则逻辑功能将发生混乱。根据前两个条件可以看出,时序逻辑要求实现的逻辑功能部件,必须具有记忆输入序列对功能部件所产生的影响,而组合逻辑功能部件则不需要记忆这个输入序列影响,这就是时序逻辑与组合逻辑之间的主要区别。根据时序逻辑结

9、构的三个条件,可以看出实际上时序逻辑是在组合逻辑基础上,增加了具有记忆能力的存储部件,所以时序逻辑是由两部分构成,一部分是用组合组合逻辑功能部件来实现输出与输入组合函数关系,另一部分是利用存储部件来记忆过去状态,图3.2描述了时序逻辑功能部件典型结构。外部输出外部输入O1I1OmIk组 合 逻 辑功 能 部 件二次输出y1Y1二次输入yrYr存 储部 件图3.2 典型时序逻辑结构示意图图中由I1、Ik组成时序逻辑中外部输入或初始输入,它起着时序逻辑状态转换激励作用,O1、Om表示在当前输入信号不同组合下对外所产生的相应输出,所以它们称为外部输出。Y1Yr称为内部输入或二次输入;y1yr称为内部

10、输出或二次输出。 另外图中y1yr内部变量来自于时序逻辑存储部件,它所提供的r个变量值决定了时序逻辑当前状态(即现态 Existing State),所以r个变量可构成2r种不同组合。因此,在时序逻辑中允许有2r个不同当前状态存在。而二次输入组合取值作为时序逻辑对工作历史的反映,并与外部输入组合取值(2k个不同组合之一)共同决定了当前输入条件。所以这两组输入共同决定了时序逻辑当前全状态,一共有2k+r个当前全状态。二次输出则描述了时序逻辑下一状态,简称为次态(Next State)。时序逻辑组合部分用来产生时序逻辑输出和激励,存储部分(记忆功能)用来记忆时序逻辑过去情况。根据图2.2可看出,时

11、序逻辑必须使用两组方程才能进行完整描述:yi ( tk ) = i ( I1( tk ),Ik ( tk );y1( tk ),yr ( tk ),其中i = 1,2,r Oi ( tk ) = i ( I1( tk ),Ik ( tk );y1( tk ),yr ( tk ),其中i = 1,2,m 第一组方程yi ( tk )称为次态函数,第二组方程Oi ( tk )称为输出函数。在时序逻辑中因组合逻辑部分的输出被分成了两个部分,外部输出(初始输出),用符号 O1、Om表示从时序逻辑输出到其它相关外部网络信号,这些信号作用于其它网络以产生网络间关联部件的驱动和信号发送。Y1Yr是二次输入,

12、它返回到时序逻辑网络中存储部件,这些信号代表下一个操作循环中将要存储到存储部件中的新信息,因此,二次输出信号y1yr描述了时序逻辑下一状态(即次态)。在每个当前状态期间,外部和二次输出信号经过组合运算,决定了外部和二次输入信号值。因此如给出时序逻辑当前状态(由y1yr所定义)和外部输入变量(2k个不同组合之一),时序逻辑组合部分产生出相应外部输出信号,并通过Y1Yr值来确定将要进入的下一状态。因为n个初始输入变量有2n种不同组合,所以对每个当前状态来讲,时序逻辑都有2n个不同的下一状态和输出组合。时序逻辑按工作方式又被分成了同步时序和异步时序两种结构,它们的主要差别是在同步时序逻辑中有一个统一

13、内部时钟信号,同步时序逻辑的所有内部资源部件都在该信号管理下统一实现状态转换。所以在同步时序逻辑中,有时会出现所有输入信号都已准备好,但因时序网络时钟信号未出现,则时序网络状态仍保持在原始状态,而不发生状态转换的情况。异步时序逻辑却没有这样一个时钟信号存在,其发生状态转换,只取决于异步时序逻辑当前输入和原来内部资源的保留状态来共同决定。所以只要当前输入信号一旦确立,它在时序网络原始状态配合下,将立即发生状态转换,图3.3表示了这两种典型结构示意图。 (a) 同步时序逻辑 (b) 异步时序逻辑图3.3 时序逻辑典型结构示意图在同步时序逻辑中,因为时序逻辑在统一时钟信号控制下实现时序逻辑状态转换,

14、即每来一个时钟信号,状态将发生一次转换。但外部输入信号对同步时序逻辑输出有时直接受到外部输入信号影响,所以在同步时序逻辑中,又将时序逻辑结构分成Mealy型和Moore型两种结构。对Mealy型时序逻辑来讲,输出函数不仅与当前外部输入有关,而且还与时序逻辑现态有关。但有时在没有时钟信号情况下,虽然外部输入信号已经发生变化,但内部状态仍保持原态,而外部输出有可能会发生改变。Moore型时序逻辑输出函数只是时序逻辑状态的函数,而与当前输入无关,所以它必须在同步时钟信号作用下,实现时序逻辑内部状态和外部输出同时改变。为保证在同步时序逻辑具有记忆功能,所以在同步时序逻辑中存储元件全部采用了具有高速转换

15、能力的触发器来实现,即静态存储器结构。这些触发器要发生状态转换,都必须在时钟信号统一时标下完成。 而在异步时序逻辑中,具有记忆功能的存储元件可以是触发器也可以是一些信号延迟元件。若采用触发器方式,异步时序逻辑状态转换是在外部输入信号一旦稳定,则状态将立即转换。它的转换过程类同于同步时序逻辑,但不是靠时钟信号统一行动。当利用时序逻辑信号传输延迟来作为记忆功能时,这种情况是利用信号传输时延的一种抽象表现。此时逻辑网络中并没有像触发器这类真正具备存储信息能力的器件,它是利用外部输入与内部信号反馈所产生的一种状态相关,所以异步时序逻辑网络是不需要统一时间信号时标来启动转换过程发生。基于上述描述可以总结

16、出时序逻辑特点如下:同步时序逻辑存储器件由时钟控制的触发器组成,只有在时钟信号到来时,电路二次输出状态y1yr才能变化发生变化,而且只改变一次。如果时钟信号没有到来,即使输入发生变化,电路状态仍维持原来状态。通常将时钟信号到来前时序逻辑状态称为现态,用符号y(n)表示,将时钟信号到来后时序逻辑状态称为次态,用符号y(n+1)表示。 异步时序逻辑存储器件可以是触发器,也可以是利用在时序逻辑中传输信号时间延迟来组成,时序逻辑中没有统一时钟信号,输入变化将直接导致电路状态变化。时序逻辑工作方式如下:当新信息被存入记忆部分时,它将要取代旧信息,时序逻辑就由目前状态转移到下一状态。从目前状态转移到下一状

17、态转换有两种发生方式。 1.若时序逻辑采用抽象记忆功能,即信号传输时延作为现态表现,当时延结束时,时序逻辑就发生从目前状态到次态转换; 2.若时序逻辑采用存储部件来记忆现态,当加入存储部件控制信号的新状态取代旧值后,则发生状态转换。时序逻辑输入信号可以是电平信号方式,也可以是脉冲信号方式。电平与脉冲方式差异是,电平信号持续时间长于脉冲信号持续时间,图3.4是这两种信号典型表示。(b):电平信号模式(a):脉冲信号模式 图3.4 时序逻辑的两种典型外部输入信号示意图对这两种信号方式简单理解是,电平输入信号对电路持续激励时间较长,可以持续几个工作周期。而脉冲输入信号对电路持续激励时间较短,它是一个

18、瞬发工作信号,只能工作于一个工作周期。 由于时序电路使用了记忆元件,所以时序电路分析和设计需要用到图算法,即用状态图和状态表才能实现。为什么组合逻辑只要使用真值表就可以完成对逻辑网络的设计和分析,而时序逻辑却要使用状态图或状态表才能完成设计和分析呢?这主要是组合逻辑描述的是当前输入组合与输出之间一一对应关系,一旦输入信号消失,对应输出状态也立即消失,所以只需要列出真值表就可以将每种输入状态的不同输入组合与输出之间对应关系穷举出来,而真值表恰好就是应对这种对应关系需求的表现形式。 而时序逻辑内部结构增加了记忆元件,因此时序逻辑外部输出除了与当前输入信号组合有关,还与时序逻辑原来所保持状态相关联。

19、这是因为时序逻辑记忆元件记录了以前因输入变化所引起时序逻辑内部状态改变,而下次时序逻辑内部状态改变又与上次状态有关,所以在真值表上是不能反映出这些内在关联关系,只有利用图算法中激励转换路径与节点状态表示才能正确地反映这些关联关系。时序逻辑是现代数字系统中使用得最为广泛的知识结构,现在所面临的很多工程应用都与这种结构紧密相关,所以在本章的后续部分将专门对这些知识展开更加详细的讨论。3.2 组合逻辑模型结构的数字系统分析与设计学习任何一种技术都需要达到两个目的,一个是分析,而另一个就是设计。掌握数字系统组合逻辑技术也同样要实现这两个目的。组合逻辑分析目的主要是:1.剖析数字系统逻辑设计思路,便于掌

20、握系统应用并衍生仿造; 2.购置设备超过维护期后,损坏部件需要用其它部件来替换; 3.评价购置设备经济技术指标; 4.系统重新定位和进行版本更新。根据分析目的4点需求,对组合逻辑功能部件分析实际上就是找出功能部件设计思路函数表示,通过该函数表示而分析出该功能部件所完成的逻辑功能。3.2.1 组合逻辑功能部件分析组合逻辑功能部件分析步骤如下:1.根据给定组合逻辑功能部件,写出功能部件逻辑函数表达式。这个过程需要使用者非常小心和谨慎,不能有丝毫错误。 2.根据逻辑函数表达式,利用公式或卡诺图方法对逻辑函数进行简化,以求出一个最简函数表达式,即尽最大努力寻求资源共享表现。 3.根据化简后逻辑函数表达

21、式列出真值表。 4.最后进行功能部件功能评述。该步骤最难,很多情况下很难说清它是一个什么样的功能部件,它常常需要凭设计经验来完成。例3.1:假设有图3.5的一个逻辑部件,该部件由两个双输入与门电路和一个双输入或门电路构成。解:从部件结构上看它有四个输入信号A、E、和一个输出信号S,因此首先写出该部件逻辑函数表达式:S = A + E。第二步对给出的逻辑函数进行简化,但发现逻辑函数已是最简表示,所以不需要对其简化。 第三步根据输入变量列出该部件的真值表,而真值表的列 图3.5 例3.1功能部件结构出首先需要考虑变量数。分析发现该部件输入表示是4个,但和都是原变量A和E自身反变量,所以它们可以分别

22、看作是同一变量两种输入状态的不同表现。因此功能部件实际上只有两个输入变量A和E。这样该功能部件的真值表输入状态为2,而22 = 4,为此列出如表3.1所示的真值表。 第四步分析逻辑功能部件真值表。当两个输入信号 都为0时,输出为0,两个输入信号处于相异状态时,输出为1,当两个输入信号都处于1时,输出又变成了0,这就像一位二进制数据执行加法操作的过程,只不过加法操作产生的进位位数据不能在这个功能部件中被反映出来,所以把这种只能保留一位二进制加法运算功能部件称为半加器,即这种加法器是不能将进位 表3.1 例3.1真值表信号表现出来。分析还可以对功能部件设计的非完美性进行修正。比如例中实现半加器功能

23、使用了三个逻辑门,但通过对函数的书写得到S = A + E,而该函数表示的正是一个“异或”表达式,所以只要用一个“异或”门就可以替换原设计。从例3.1中可看出,对组合逻辑功能部件的分析理论上应该是四个步骤依序执行,但在应用中,并不一定四个步骤都必须存在,只要能将真值表描述出来即可,而对具体使用步骤并不需要做出严格规定。例3.2:分析图3.6的一个逻辑部件,该部件由三个双输入的或非门构成。解:从功能部件的两个输入信号上看,它仍然是A和E与它们的反变量构成,但该功能部件却具有两个输出信号S和C。因此首先写出功能部件逻辑函数表达式: 第二步对给出的逻辑函数进行简化,第三步根据输入变量列出部件真值表。

24、功能部件与半加器一样,和都是原变量A和E的自身反变量,所以它们可以分别看作是同一变量两种输入状态的不同表现。因此该功能部件实际上只有两个输入变量A和E。但不同的输出信号有两个,表3.2描述了该功能部件真值表。输入变量 输出函数ABSC0000011010101101 图3.6 例3.2功能部件结构 表3.2 例3.2真值表第四步分析逻辑功能部件真值表,当两个输入信号都为0时,输出函数S和C都为0,当两个输入信号处于相异状态时,输出函数S始终为1,但输出函数C却仍保持0不变,而当两个输入信号都处于1时,输出函数S又变成了0,但另一个输出函数C却为1,对输出函数S来讲,它仍保持了一位二进制数据执行

25、加法操作的过程,而输出函数C就表示了这种一位二进制相加后所产生的进位信号,这样这个功能部件完全反映出了一位二进制执行加法操作的正确结果,即这种加法器不仅表现出一位二进制的加法操作,而且也表现出二进制相加的进位。 例3.3:分析图3.7所示功能部件。 按照分析过程的第一步是写出逻辑函数表达式,但功能部件是相对比较复杂,若要一次准确地将其输出函数进行描述显然是不可能的,所以对这些复杂电路分析,应该先从前级,即输入端开始,一级一级地往后写,最后到输出上。abcF000 0001 1010 1011 0100 1101 0110 0111 1图3.7 例3.3的功能部件结构图 表3.3 例3.3的真值

26、表根据图3.7,最左边逻辑门G1是一个“异或”门它可看成是最低层,所以先写出该逻辑门输出表示:G1输出 = bc;第二个写出G5输出表示。因为G5就是一个反相器,它的输入信号是a,则G5输出 = ;第三个写出G2的输出表示。G2是一个双输入“与非”门,它的输入一个来自于G1输出,一个来自于G5输出,所以G2输出 = (bc);第四个写出G3输出。G3也是一个反相器,它的输入信号是G1输出,所以其作用是将G1输出进行反相,G3输出 ;第五个写出G4输出。G4是一个双输入“与非”门,一个输入信号来自于输入变量a,另一个输入信号来自于G3的输出,所以G4输出 ;最后写出输出函数F表示。因为输出函数F

27、是一个双输入“与非”门,它的一个输入来自于G2输出,另一个输入来自于G4输出,所以F = G2与G4的否定,即: 表3.3表示据逻辑函数F列出真值表。由真值表分析逻辑功能部件所实现逻辑输出表示为:1.当输入变量中1的个数为偶数时,输出F将为0;2.当输入变量中1的个数为奇数时,输出F将为1。所以,若将输出F看成是奇偶校验位,则F正好符合偶校验的规则,即当信息位是偶数个1时,校验位应该填入0,反之校验位就应填入1,因此本逻辑功能部件是一个偶校验位发生器。从本例的分析结果可以看出曾经提过的功能部件结构优化问题,现在通过分析后,只需要使用两个“异或”门就可以替换原结构,图3.8是优化后电路结构。图3

28、.8 例3.3的优化结构 图3.9 8位数据奇偶数据校验位发生器这种功能部件常用于数据传输设备中。当传输路径的服务质量QoS(Quality of Service)比较好时,数据传输编码只需要使用简单奇偶校验方式就可以了,图3.9描述了8位数据信息校验码发送器结构。因此在传输设备数据发送端增加这样一个模块后,只要发送数据信息发送前通过该模块进行编码,则发送的数据信息就将按偶(奇)校规则形成偶(奇)校验码,最后将该偶(奇)校验码与原发送数据一起配置成9位数据后发送出去。这些过程都不需要通过程序设计思路来实现,数据装配完全是自动完成,因此整个奇偶数据校验码生成几乎没有任何时延。例3.4:分析图3.

29、10所示功能部件。该例结构相当复杂,而且功能部件输出也达到四个,它们分别是W、X、Y、Z。同样,为完成该功能部件分析,也只能是从输入往输出一级一级地写,最后落实到各个输出上。第一首先写出G1,因为G1就是一个反相器,它的输入信号是C,所以G1= ;G2是将输入信号I反相,所以G2 = = Z;G3是一个双输入“与非”门,它的一个输入来自于G1,而另一个输入来自于G2,G4是一个双输入“与非”门,它的一个输入来自于输入信号E,而另一个输入来自于G3,G5是将输入信号A反相,所以G5 = ;G6是输出信号W,它是一个双输入“与非”门,它的一个输入端来自于G4,另一个输入端来自于G5的输出, = A

30、 + E(O + I) = A + EO + EI;G7是将输入信号E反相,所以G7 = ;G8是一个双输入“与非”门,它的一个输入端来自于G7,另一个输入端来自于G3的输出, G9起着将G3的输出信号反相的作用,所以 G10是一个双输入“与非”门,它的一个输入端来自于G9,另一个输入端来自于输入变量B, G11是输出信号X,它是一个双输入“与非”门,它的一个输入端来自于G8,另一个输入端来自于G10的输出,所以:G12是一个双输入“与非”门,它的一个输入 输入信号 输出信号A E O IW X Y Z0 0 0 00 0 1 10 0 0 10 1 0 00 0 1 00 1 0 10 0

31、1 10 1 1 00 1 0 00 1 1 10 1 0 11 0 0 00 1 1 01 0 0 10 1 1 11 0 1 01 0 0 01 0 1 11 0 0 11 1 0 01 0 1 01 1 0 11 0 1 11 1 1 01 1 0 01 1 1 11 1 0 11 0 0 01 1 1 01 0 0 11 1 1 11 0 1 0来自于输入信号O,而另一个输入来自于输入变量I, G13是输出信号Y,它是一个双输入“与非”门,它的一个输入端来自于G3,另一个输入端来自于G12的输出,所以:输出W = A + EO + EI;X = E(O + I);Y = OI;Z =

32、。 图3.10 例3.4的功能部件结构图 表3.4 例3.4的真值表功能分析: 1.当输入组合从0000到1100时,每个对应的输出数据值刚好比输入组合值多3,为此可初步确定为余3码表示;2.当输入组合从1101到1111时,输出数据不满足余3码表示条件,分析时先将这组表示暂且搁置不管;3.现在再从头分析从0000到1100输入组合,因为从0000到1100刚好表示十进制数的0到12,而输出0011到1100正好表示十进制数的0到9的余3码,所以前10个输入组合与输出正好对应8421BCD码到余3码转换。只要丢弃后六个输入组合与输出的对应表示,理由是这6组码中前3个超出了一位十进制数表示,而后

33、3个没有确定对应序列关系,那么该功能部件就实现了8421BCD到余3码转换机制。上述几个分析示例都是建立在SSI层次上的传统环境,而现代数字系统结构大多采用基于芯片的设计方法,因此用这些知识手段对芯片的功能分析将是非常困难的。3.2.2 组合逻辑功能部件设计组合逻辑功能部件设计与组合逻辑功能部件分析是一个逆过程,因此设计难度将大大超过对功能部件分析。在进行一个功能部件设计前,必须对设计需求要加以仔细分析,才能创建一条清晰的设计思路。组合逻辑功能部件设计过程可简单归结成如下4步: 1.根据用户需求建立真值表; 2.根据真值表写出逻辑函数表达式; 3.简化逻辑函数表达式; 4.根据逻辑函数表达式描

34、绘电路结构图。实际应用中,并不一定要完全遵循这些设计步骤。有时完全是根据实际设计经验和对功能部件设计要求内涵理解,直接采用搭积木方式选取需要的单元电路进行逻辑部件设计。 目前,在基于芯片设计环境技术支持下,逻辑功能部件设计过程更加简单。对于一些简单逻辑功能部件设计,只需要根据功能需求,通过VHDL语言平台中的元件库选出能实现这些功能的基本逻辑门电路,然后根据设计需求画出电路图来,后续的工作就全部由软件平台自动完成,最后通过下载电缆将生成的JEDEC文件代码植入到芯片中,就可以实现组合逻辑功能部件设计。在组合逻辑设计中,传统设计方法中有一个关于多输出组合逻辑设计问题。由于传统设计环境是基于SSI

35、层次,所以这种多输出设计过程需要考虑公共质蕴涵,其目的是可以节省一些门电路,让功能部件结构尽可能简单。但现代数字系统设计是基于芯片环境,一般芯片都可以为设计者提供较大容量资源,因此设计者并不需要过多考虑节省几个门的问题,而应把这种共享设计概念扩充到节约芯片引脚资源上,即输入和输出信号减少。例3.5:设计一个能实现一位二进制加法操作半加器。第一步先建立真值表。要实现一位二进制加法,输入应有两个变量,一个表示被加数,另一个表示加数,这里用A和E表示。另外半加器不需要考虑进位,则只要一个输出,这里用S表示,两个输入变量有4种组合,半加器真值表如表3.1所示。第二步根据真值表写出逻辑函数的表达式。写逻

36、辑函数表达式时,一般按最小项格式写出输出为1的输入组合,当S为1时,输入组合有A和E,所以半加器的逻辑函数表达式S = A + E。 第三步是简化逻辑函数,因已是最简函数,则不需要简化。第四步根据逻辑函数表达式画出图3.11。例3.6:设计一个能实现一位二进制加法操作的全加器。设计分析:全加器是一种除了考虑本位两个二进制数相加外, 图3.11 半加器电路图还需要考虑低位二进制数相加后的结果对本位加法操作产生影响的一种运算功能部件。 在这种功能部件设计中,主要是在基于半加器基础上,增加低位所产生进位(减法器是借位)来共同决定本位二进制运算。 设计时,用Ai和Ei表示第i位要进行计算的二进制数,并

37、利用O i-1来表示低位计算结果所产生的进位,所以全加器有三个输入。由于本位计算结果需要保留,并且计算结果可能会产生进位,所以全加器也具有两个输出,一个表示本位的计算结果S,另一个表示本位产生的进位C。第一步建立真值表。用全加器实现一位二进制加法,输入应有三个变量,一个表示被加数Ai,另一个表示加数Ei,还有一个是低位计算结果产生的 进位位Oi-1。另外全加器要考虑进位,所以输出方面除了表示求和结果输出Si外,还有一个表示本位计算产生的进位位Ci,全加器真值表如表3.6所 图3.12 全加器电路图示。第二步根据真值表写出逻辑函数表达式。这里有两个输出函数,所以要分别写出。 Si = iiOi-

38、1+ iEii-1 + Aiii-1 + AiEiOi-1;Ci = iEiOi-1 + AiiOi-1+ AiEii-1 + AiEiOi-1。第三步对逻辑函数进行简化。Si = iiOi-1+ iEii-1 + Aiii-1 + AiEiOi-1 = iiOi-1 + AiEiOi-1 + Aiii-1 + iEii-1= Oi-1 (ii + AiEi) + i-1 (Aii + iEi) = Oi-1 (iEi) + i-1 (AiEi) Ci= iEiOi-1+ AiiOi-1 + AiEii-1 + AiEiOi-1 = AiEi + EiOi-1+ AiOi-1 利用卡诺图方式简

39、化函数也得到相同结果。第四步根据函数画出图3.12电路结构。例3.7:BCD代码变补器 设计分析:该设计是要求将一个BCD码转换成对9求补逻辑电路。 表3.5 例3.6真值表1.由于输入是8421码,所以输入变量有4个,而24共有16种组合,且BCD码在0到 9范围内,这样有6个状态是不发生的。在数字系统中对不发生状态称为无关状态,用字母d(dont care states)来表示。因为这些状态不可能在数字系统使用中出现,那么它们究竟是用0或1来表示,已经是设计者不关心的了。所以设计中,为帮助逻辑函数简化,这些无关项状态取值都临时决定。 2.由于输出是对输入直接求补,而十进制数补码就是对9求补

40、,所以输出 = 9 输入。 第一步建立真值表。由于输入是BCD码,输出一定也是4位来维持十进制数的二进制 表示。输入变量用A8、A4、A2、A1表示;输出用T8、T4、T2、T1表示,表2.7描述了功能部件输入与输出之间对应关系真值表。表3.6 例3.7的真值表图3.13 输出函数的4个卡诺图和简化结果 图3.14 例3.7功能部件图第二步用卡诺图分别简化表示T8、T4、T2、T1的4个输出函数,图3.13表示简化输出函数的4个卡诺图。 第三步根据简化结果画出图3.14功能部件电路图。在利用卡诺图简化逻辑函数时,无关项d的使用是根据函数简化有利原则视情况而定它们为1或0,只要不用的无关项d都视

41、为0,简化时不包含在大方块内。显示是数字系统中的一个关键部件。一般在数字系统中常用LED(Light Emitting Diode)和LCD(Liquid Crystal Display)这两种方式。由于LED显示方式只能显示数字或特定符号标志,所以它常用于一些低成本监控设备上。LCD显示方式可以显示汉字、标志和数字等,所以在数字系统中它得到广泛应用。LCD显示器有各种尺寸标准,设计者可根据应用对象需求选择不同大小的显示器。为简单起见,以LED作为设计示例。(a) LED显示基本结构 (b) 显示数字5 (c) 显示数字7 (d) 显示数字6 图3.15 LED显示器结构和显示数字示意图LED

42、也称为七段数字显示器,每位LED有7段笔划。这7段笔划实际上由7个发光二极管组成,7个二极管与每段笔划所对应,若哪段有电流通过,则对应段将发光,这样据不同发光段组合,将得到所需显示数字和一些基本符号,如图3.15表示: 如显示5,则需要a、c、d、f、g发光;若显示7,则需要a、b、c发光;若要显示6,则需要a、c、d、e、f、g发光。例3.8:设计一个将8421码转换成十进制数并用7 段数字显示出来的一个专用数字显示驱动器。设计分析:由于LED对数字输入和显示之间对应关系非常明确,所以根据设计要求可以知道,需要显示数字是 表3.7 例3.8真值表 图3.16 例3.8的卡诺图8421码格式,

43、那么输入信号就是4个,而输出是LED,这7个段不能缺少任何一段,所以输出需要7个。 第一步列出如表3.7所示真值表。第二步用卡诺图分别简化表示a、b、c、d、e、f、g的7个输出函数,图3.16表示了简化输出函数的7个卡诺图。 输出a = A8 + A4 A1 + 4 A2 + 41; 输出b = 4 + 24+A2A1;输出c = A8 + A4 + A1 + 2;输出d = 4 A2 + A21 + 41 + A42A1;输出e = A21 + 41;输出f = A8 + A41 + A42 + 21;输出g = A8 + A42 + 4 A2 + A21。画出功能部件图的第三步从略。在上

44、述设计过程中,对所有不发生输入条件,都把它们当作无关项来处理。但在实际应用中,这些理论上应该不发生输入条件,有时会因外界干扰发生错误。这主要是在设计过程中对无关项没有提供任何附加防范措施,结果可能导致系统运行因显示错误而崩溃。 通过上述情况分析可以看出,LED数字显示中有一种情况可被利用,就是任何一个数字在显示时,都不能同时缺少c段和d段。当c、d段同时不发光时,此时所显示的不会是正确数字。所以设计中c、d两段无关项全部不用,也就是说,一旦出现1010到1111的输入,则c、d两段都同时熄灭,表示输入数据已经出现了错误,因此对c、d两段的卡诺图在原无关项的位置全部用0替换,而不是用无关项d。一

45、旦出现这种显示,它实际上是通过一种非数字显示来提请操作人员注意系统已经出现了运行错。上述附加的防范措施在实际应用工程中都要严格考虑,所以在理论知识学习过程中,一定要养成一些好的软、硬件设计习惯,对各种可能出现的不良影响都要在设计过程中得到克服,否则一到应用现场,将会出现令设计者非常尴尬场面。例3.9:列出具有可控功能的原码、补码传送部件真值表。设计分析:1.由于电路具备两种功能,设计时必须提供一个控制变量来实现两种功能变换,本例使用一个开关变量K来表示。假设K = 0,原码传送;K = 1,补码传送。 2.由于传送编码可能是并行情况,所以不能只考虑一位情况,还需要考虑低位在传送过程中对本位的影

46、响。设H-1来表示低位有无1的标志,H表示本位是否为1标志。所以列真值表时可以确定,输入3个变量,K(控制位)、A(信息位)、 H-1 (低位有否1的标志);输出是2个变量,F(本位信息)、H(本位为1标志)。第一步列出如表3.8所示的真值表。 图3.17 例3.9卡诺图和简化后函数 表3.8 例3.9真值表 从真值表中可以看出,在原码传送中,低位是否是1与本位传送F无关,所以对应它的本位标志输出位H应填d。但在补码传送中,我们知道有一种简单求补方法,就是对需要求补数据,从最低位往左数,在遇到第一个1以前的数据位都维持原状态不变,而第一个1后的所有数据(不含第一个1)都要逐位取其否定。所以在K

47、=1时,也就是要实现补码传送时, 低位标志位H-1是否为1,就是一个很重要的判决因素。 第二步根据真值表画出如图3.17的卡诺图和简化后输出函数。第三步根据简化后输出函数画出如图3.18所示电路图。 例3.10:设计一个n位比较器。该设计示例与前面几个设计示例相比,它已经从一个独立单元电路上升到一个真正功能部件结构。这种设计思路过渡,就是将n个独立单元电路通过一个特定链路关系进行连接。例中链路关系是一种称为电路连接直连方式,在后续内容中将接触到更多链路关系,即通常所说的路由技术。 设计分析: 图3.18 例3.9功能部件电路图 1.首先考虑最低位比较情况,对最低位来讲,它只需要实现两个参与比较

48、数据的本位比较结果,即只需要考虑A B或A Bi,此时用一个输出变量Gi+1=1来表示。此时不管Gi和Li是什么值,即两个二进制数比较时,只要高位大时,此时数据比较结果取决于高位,而与低位无关。2)若Ai = 0,Bi = 1,则说明Ai Bi,此时用一个输出变量Li+1=1来表示。此时不管Gi和Li是什么值,即两个二进制数比较时,只要高位小时,此时数据比较结果取决于高位,而与低位无关。 3)若Ai = Bi,则说明Ai = Bi,此时由低位所提供的Gi和Li将保持不变,而通过本位比较器,即两个二进制数比较时,只要本位相等,此时数据比较结果将会取决于更高位或是低位,而与本位数据比较结果无关。

49、所以根据以上所考虑的3点,比较器真值表如表3.9所示。利用卡诺图得到简化的输出函数为: Gi+1 = Ai + Gi Ai + Gi ;Li+1 = Bi + Li Bi + Li 。在列真值表中,考虑到Gi 、Li 不能同时为1,即低位比较过程中,出现了低位又大于,又小于的情况,所以输入变量为1100到1111这4种情况,此时输出用无关项表示。但在实际应用环境中,经常需要对这类非正确表示的输入组合进行纠正,所以在设计中可以将后四种输出表示进行修改,即这四种输出对应关系不要使用无关项,而是根据本位比较结果进行修正传输。当低位出现了Gi = Li的情况时,若本位比较能确定大小,则根据本位比较结果

50、来填写 Gi+1和Li+1,这是因为高位比较能确定结果时,低位比较结果大小取值将不影响高位比较,这样在本位就将低位比较错误进行了隔离,即错误没有继续向后级蔓延。若本位比较出现 Ai = Bi 的情况,那么由低位流来的错误继续向高位流动,即错误将移交给高位比较器进行自动纠正。若出现从本位开始,后续各位都是相等的情况,且低位又流来错误比较结果,此时比较结果将被放弃。早期数字系统设计中,还要考虑无反变量输入组合逻辑功能部件设计问题,即当输入信号x不是以原变量的形式出现,而是以反变量x形式出现时,如何实现信号需求。虽然现在有些设计中局部环节还是采用MSL 和LSI技术,但这些地方都直接利用器件生产商所提供的非定制器件来解决该问题。而在基于VLSI或ULSI技术时,现在VLSI已在输入“与”阵中同时为用户提供了输入变量的原变量和反变量输入端口,所以这个问题已经不需要在数 表3.9 例3.10真值表字系统设计中再作这种设计考虑了。前面大部分例子都是针对独立功能部件,或称为单元电路进行设计,这些设计手段只限于在SSI层次,目前只限于一些特定环境下使用。3.3 时序逻辑模型下的数字系统分析与设计有的数字电路形式也可以通过函数形式进行描述,但这类函数

温馨提示

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

评论

0/150

提交评论