数字逻辑电路基本设计方法.docx
《数字逻辑电路基本设计方法.docx》由会员分享,可在线阅读,更多相关《数字逻辑电路基本设计方法.docx(9页珍藏版)》请在冰豆网上搜索。
数字逻辑电路基本设计方法
第10章数字逻辑电路基本设计方法
中、小规模数字集成电路按照逻辑功能的特点分类,可分为组合逻辑电路和时序逻辑电路两大类。
因此,按照逻辑功能的特点,数字逻辑电路基本设计方法分为组合逻辑电路设计方法和时序逻辑电路设计方法。
按照电路使用器件的集成度不同,数字逻辑电路基本设计方法又可分为标准化设计方法和最小化设计方法。
选用SSI器件(小规模集成电路)设计电路的方法称为标准化设计方法。
在标准化设计过程中,系统设计、逻辑设计、器件选择相互比较独立,各器件之间的相互制约较少,设计者可使用卡诺图、布尔代数等成熟的设计技术,其设计目标在于以极少的器件实现所要求的逻辑功能。
选用MSI器件(中规模集成电路)设计电路的方法称为最小化设计方法。
在最小化标设计过程中,系统设计、逻辑设计和器件选择之间紧密联系,相互影响,使电路中逻辑门向数量最少的设计方向努力,已不再是十分重要的工作。
正确地选择MSI器件,更经济的实现所需要的功能,已成为更重要的设计步骤。
此外,MSI器件因其集成度高,能够降低系统的功耗,改善系统可靠性。
总之,设计任务的主要目标是得到一个有正确响应的系统,既能实现所要求的逻辑功能,又能按规定的速度进行操作。
同时,电路简单、降低成本也是追求的目标。
一个简单的数字电路的成本,最方便的计算方法是用实现它的器件的数量来衡量。
所用器件的总数降至最少,也就实现了硬件价格的最低。
10.1组合逻辑电路设计方法
组合逻辑电路的特点就是该电路任一时刻的输出信号仅取决于当时的输入信号,而与电路原来的状态无关。
因此,组合逻辑电路中不含存储器件(例如触发器、寄存器等),且输入端与输出端之间无反馈回路。
设计者应根据给出的实际逻辑问题,设计并实现这一逻辑功能的逻辑电路。
电路设计的基本要求是功能正确,电路简单,在保证实现所有要求的逻辑功能前提下尽量降低电路的成本。
10.1.1组合逻辑电路标准化设计
组合逻辑电路标准化设计时,选用的SSI器件是各种类型的逻辑门。
因此,也常把这个层次的设计又称门级设计。
电路最简的标准是所用的门电路的数目最少,同时,门电路输入端的数目也应最少。
组合逻辑电路的标准化设计工作通常可按以下步骤进行:
一、逻辑抽象,列出电路逻辑真值表
1.根据事件的因果关系,确定输入变量和输出变量。
一般总是把引起事件的原因定为输入变量,而把事件的结果作为输出变量。
2.确定输入、输出变量取值的含意。
3.根据给定的因果关系(逻辑功能)列出电路逻辑真值表。
至此,已将一个实际的逻辑问题抽象成一个组合逻辑函数了,并以逻辑真知表形式给出。
二、写出逻辑函数式
为便于对逻辑函数式进行化简和变换,需要把真值表转换为对应的逻辑函数式。
三、选定器件类型
应根据对电路的具体要求和器件的资源情况决定采用哪一种类型的器件,以便规范电路。
四、逻辑函数式化简与变换
1.化简
为获得最简单的设计结果,应将逻辑函数式化成最简形式,即逻辑函数式中相加的乘积项最少,而且每个乘积项中的因子也最少。
其目的是使电路中所用的器件数量最少。
常用的逻辑函数式化简的方法有:
公式法、卡诺图法和观察法。
2.变换
如果对所用器件的种类有附加的限制(例如只允许用单一类型的与非门),则还应将逻辑函数式变换成与器件类型相对应的形式。
五、画逻辑电路图
根据化简或变换后的逻辑函数式,画出逻辑电路图。
六、软件仿真
通过EDA设计软件(例如Max+PlusII或EWB)对设计电路进行逻辑仿真,验证电路逻辑功能的正确性。
七、工艺设计
包括设计机箱、面板、电源、显示电路、控制开关等等。
最后还必须完成组装、测试。
10.1.2组合逻辑电路最小化设计
组合逻辑电路最小化设计时,选用的MSI器件是组合类型的。
组合逻辑电路最小化设计总的步骤和标准化设计的步骤是一样的,即第一步逻辑抽象、第二步写出逻辑函数式,以及第五步画逻辑电路图、第六步软件仿真、第七步工艺设计,与标准化设计步骤没有区别。
但在第三、四步骤的做法上不完全相同。
第三步,选定器件类型,写出其逻辑函数式。
每种型号中规模集成的组合逻辑电路都有其确定的逻辑功能,并以逻辑真知表形式给出,可将其写成逻辑函数式的形式。
第四步,逻辑函数式变换。
将待产生的逻辑函数式变换成与所用器件的逻辑函数式相同或类似的形式。
上述使用MSI器件设计组合逻辑电路的方法又称为逻辑函数式对照法。
采用组合逻辑电路最小化设计方法还应注意以下两点:
1.如果一个MSI器件规格不够用,可用几个器件进行扩展;
2.MSI器件自身就具有一定的逻辑功能。
有时,只要将MSI器件的逻辑功能真知与所设计电路的逻辑功能真知表进行对照,便可知道如何进行电路的连接。
10.2时序逻辑电路的设计方法
通常,时序逻辑电路由组合逻辑电路和存储电路两部分组成。
有的时序逻辑电路中只有存储电路部分。
时序逻辑电路的结构框图如图10.7所示。
图10.7时序逻辑电路结构框图
由可知,存储电路的输出端反馈到组合逻辑电路输入端,与输入信号一起共同决定组合逻辑电路的输出状态。
因此,时序逻辑电路的特点是任一时刻的输出信号不仅取决于当时的输入信号,而且还取决于电路原来的状态,即与存储电路当时的输出状态有关。
存储电路是由若干个触发器组成。
用输入信号和电路状态(指存储电路的状态)的逻辑函数去描述时序电路逻辑功能的方法也叫时序机。
在设计时序逻辑电路的时候,只要把状态变量(q1~qn)也当作逻辑函数的输入变量,那么设计组合电路的方法仍然可以使用。
10.2.1时序逻辑电路标准化设计
时序逻辑电路标准化设计时,选用的SSI器件是各种类型的触发器(触发器能够保持两个稳定的逻辑状态0或1,或二进制数的0或1)和逻辑门。
电路最简的标准是所用的触发器和门电路的数目最少,而且触发器和门电路的输入端数目也最少。
时序逻辑电路的标准化设计工作通常可按以下步骤进行:
一、逻辑抽象,画出电路状态转换图(表)
1.分析给定的逻辑问题,确定输入变量、输出变量及其取值的含义。
通常都是取原因或条件作为输入逻辑变量,取结果作输出逻辑变量。
2.确定电路的状态数量和每个电路状态的含义,并将电路状态顺序编号。
3.按照题意列出电路的状态转换图(表)。
至此,已将一个实际的逻辑问题抽象成一个时序逻辑函数了,并以状态转换图或状态转换表形式给出。
二、状态化简,画出最简的电路状态转换图
若两个电路状态在相同的输入下有相同的输出,并且在一个时钟信号的作用下转换到同样的另外一个状态,则称这两个电路状态为等价状态。
等价状态是重复的,可以合并为一个。
电路的状态数越少,设计出来的电路也就越简单。
状态化简的目的就在于将等价状态合并,以求得最简的状态转换图。
特别提到的是,若在步骤一对电路的状态数分析的仔细,可以避免等价状态的出现,可以省略该步骤。
三、状态分配,列出详细的电路状态转换图(表)
1.确定触发器数目
时序电路中包含有触发器,因此,电路的状态是用触发器状态的不同组合来表示的。
如果所设计的电路有M个状态,计算电路中所用触发器数目的公式为
2n-1<M≤2n(10.7)
在已知M的情况下,通过式(10.7)可以计算出电路中所需要的触发器数目n。
2.电路状态编码
电路状态用触发器的状态组合Qn-1~Q0表示。
因此,每个电路状态都对应一组二值代码。
规定每个电路状态对应的代码值称为电路状态编码。
在M<2n的情况下,从2n个状态中选取M个状态组合可以有多种不同的方案,而每个方案中又有多种排列顺序。
如果编码方案及排列顺序选择得当,设计的电路简单,反之,电路会变得复杂。
此外,为了便于记忆和识别,一般选用的状态编码和它们的排列顺序都遵循一定的规律。
3.列出电路状态转换表
根据第一步骤列出的电路状态转换图(表)和电路状态编码,列出详细的电路状态转换表。
在该表中,将触发器当前状态(又称初态)用Qi(i=0,1,…,n-1)表示,而将它的下一个状态称为次态,用Qin+1表示。
初态与次态之间转换需要在一个脉冲的作用下才能完成。
四、选定触发器,求出电路状态方程、输出方程和驱动方程
1.确定触发器类型
触发器的类型不同,则逻辑功能不同,驱动方式也就不同。
所以,用不同类型的触发器设计出的电路也不一样。
因此,在设计具体电路之前必须选定触发器的类型。
选择触发器类型时应考虑到器件的供应情况,并应力求减少电路中使用的触发器种类。
2.逻辑函数化简,写出状态方程和输出方程、驱动方程
首先,在电路状态转换表中,将触发器当前状态也看作输入变量,写出触发器次态变量和输出变量的逻辑函数,这些逻辑函数通常用卡诺图或逻辑式形式来表示;然后,对逻辑函数进行化简,写出电路状态方程和输出方程;最后,根据选定的触发器类型对状态方程进行变换,写出电路驱动方程。
五、画出逻辑电路图
根据电路驱动方程和输出方程,画出逻辑电路图。
六、检查设计的电路能否自启动
七、软件仿真
通过EDA设计软件(例如Max+PlusII或EWB)对设计电路进行逻辑仿真,验证电路逻辑功能的正确性。
八、工艺设计
包括设计机箱、面板、电源、显示电路、控制开关等等。
最后还必须完成组装、测试。
10.2.2时序逻辑电路最小化设计
通常情况下,时序逻辑电路是由组合逻辑电路和时序逻辑电路两部分组成。
因此,时序逻辑电路最小化设计时,也要将电路划分成组合逻辑电路部分和时序逻辑电路部分,并分别进行设计。
电路最简单的标准则是使用的器件数目最少、种类最少、而且互相间的连线也最少。
时序逻辑电路的最小化设计工作通常可按以下步骤进行:
一、逻辑抽象,画出电路的状态转换图(表)
与时序逻辑电路标准化设计相同。
二、选择时序MSI器件类型,列出详细的电路状态转换表
1.确定时序MSI器件类型
对于各种类型的时序MSI器件,它的名称能够直接地反映出用途。
而它的的逻辑功能,则以真知表的形式给出。
每种时序MSI器件的内部电路均内置若干个触发器,且提供一定数量的触发器状态组合。
例如74160内置4个触发器,共有10个状态组合。
实际上,电路状态数量就是指触发器状态组合数量。
通过查阅器件的真知表,确定器件类型。
首先,从真知表中查看状态组合的变化是否应符合所设计的电路状态变化特征(如移位、计数、可逆等);然后,再看状态组合数量是否大于或等于所设计的电路状态数量,若小于,则可用几个器件进行扩展。
选定的器件必须同时满足这两个条件。
2.电路状态编码
时序MSI器件中每个状态组合的编码及其排列顺序都是已知的,选择有效的电路状态编码。
3.列出详细的电路状态转换表
根据第一步骤列出的电路状态转换图(表)和电路状态编码,可以列出详细的电路状态转换表。
三、时序逻辑电路部分设计
1.选定工作状态,写出其控制逻辑函数式
通常,时序MSI器件均有几种工作状态。
确定具体的工作状态之后,再根据详细的电路状态转换表,写出工作状态控制逻辑函数式。
2.选定电路状态数量控制方式,写出其控制逻辑函数式
选定器件后,若它的电路状态数量比所要求的数量多时,应对电路状态数量加以控制。
有两种方法可以减少电路状态数量。
(1)置数法或置零法
时序MSI器件一般都设有预置数端或置零端,通过这两个使能端,可以控制电路状态数量。
根据电路工作状态,写出置数或置零逻辑函数式。
置数法又称置位法,置零法又称复位法。
(2)减少状态输出端使用的数量
时序MSI器件的一个状态输出端对应一个触发器,状态输出端使用的数量减少了,所用的触发器数量也就少了,电路状态数量就会自然地减少了。
四、组合逻辑电路部分设计
在电路状态转换表中,将状态变量也作为输入变量,这样状态转换表就变成一个组合逻辑真知表。
接下来可按照9.1.所述的步骤进行设计。
五、画出逻辑电路图
根据已得的逻辑函数式,画出逻辑电路图。
六、软件仿真
通过EDA设计软件(例如Max+PlusII或EWB)对设计电路进行逻辑仿真,验证电路逻辑功能的正确性。
七、工艺设计
包括设计机箱、面板、电源、显示电路、控制开关等等。
最后还必须完成组装、测试。