数字电路逻辑设计方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字电路系统设计方法
在数字电路基本实验中,对常用数字基本部件,如门电路、加法器、比较器、数据分配器与比较器、计数器、编码器及译码器等单元电路的设计工作详细论述。
在本课程所述的设计主要是指由若干数字部件构成的小型数字电路系统。
也就是说要根据每一保课题给定的总体要求,合理选择或独立设计与选择逻辑部件,并将各逻辑部件相互连接,组成一个有机整体,实现一种或几种操作任务的小型数字电路系统。
第一节数字系统概述
一、数字系统的组成
在电于技术领域里,用来对数字信号进行采集、加工、传送、运算和处理的装置称为数字系统。
一个完整的数字系统包括输入电路、输出电路、控制电路、时基电路和若干子系统等五个部分组成,如图l所示。
各部分具有相对的独立性,在控制电路的协调和指挥下完成各自的功能,其中控制电路是整个系统的核心。
当然,并非每一个数字电路系统都能严格划分成五个部分。
1.输入电路
输入电路的任务是将各种外部信号变成数字系统能够接收和处理的数字信号,外部信号通常可分成模拟信号和开关信号两大类,如声、光、电、温度、湿度、压力及位移等物理量属于模拟量,而开关的闭合与打开、管子的导通与截止、继电器的得电与失电等均属于开关量。
这些信号都必须通过输入电路变成数字电路能够接收和处理的二进制逻辑电平。
向外部输出
图3-1-1 数字电路系统的逻辑划分
2.输出电路
输出电路将径过数字电路处理之后的数字信号便成模拟信号或开关信号推动执行机机构。
当然,在输出电路和执行机构之间常常还需要设置功放电路,以提供负载所要求的电压和电流。
3.子系统E
子系统是对二进制信号进行算术运算或逻辑运算以及信号传输等功能的电路.每个子系统完成一项相对独立的任务,即某种局部的工作。
子系统又常称为单元电路。
4.控制电路用控制电路将外部输入信号以及各子系统送来的信号进行综合、分析,发出控制命令去管理输入、输出电路及各个子系统,使整个系统同步协调、有条不紊地工作。
5.时基电路
时基电路(矩形波发生器)产生系统工作的同步时钟信号,使整个系统在时钟信号的作用下一步一步地顺序完成各种操作。
二、数字系统的类型
1.在数字电路系统中,有的全是由硬件电路来完成全部任务,有的除硬件电路外,还需要加上软件,即使用可编程器件,采用软硬结合的方法完成电路功能。
后者的功能要比前者强得多,而且能使硬件投资减少,使用灵活方便,是数字电路应用的一个重要方面。
根据系统中有无可编程器件,数字系统可分为可编程和不可编程两大类。
可编程器件最典型的是微处理器,一片微处理器配上若干外围总片构成硬件电路,再加上相应的软件就可以构成一个功能很强的应用系统,其优点是单纯的硬件电路无法比拟的。
除微处理器之外,如存贮器ROM、EPROM、E’PROM、RAM、可编程逻辑器件PLD、可编程门阵列GAL,以及各种可编程接口电路,这些器件的功能均可以通过软件来设置。
一片GAL就能代替20~50片小规模集成芯片,而且可以使系统的可靠性大大提高,可见可编程芯片的功能之神奇,因而,在当今的应用中倍受欢迎。
2.由于微处理器在可编程器件中具有一定的特殊性,因而,根据系统中是否使用微处理器,又可将数字系统分成有微处理器控制和无微处理器控制两大类。
以微处理器为核心的数字系统应用十分广泛。
关于应用微处理器设计的数字电路系统,本课程设计课题均不涉及微处理器。
3.根据数字电路系统所完成的任务性质还可将其分成数字测量系统、数字通信系统和数字控制系统三大类,三者各是自己的特点。
第二节数字系统设计方法
一、自顶向下设计方法
自顶向下的设计方法是从整体系统功能出发,按一定原则将系统划分为若干子系统,再将每个子系统分为若干功能块,再将每个模块分成若干较小的模块………………直至分成多基本模块实现。
根据自顶向下的设计方法,数字系统的设计过稷大致可以分为三步:①确定初步方案,进行系统设计和描述;②系统划分,进行子系统功能描述;③逻辑描述,完成具体设计。
1.系统设计的描述。
拿到一个数字系统的课题后,应首先明确课题的任务、要求、原理和使用环境,搞清楚外部输人信号特性,输出信号特性,系统需要完成的逻辑功能、技术指标等,然后确定初步方案。
这部分的描述方法有:方框图、定时图(时序图) 和逻辑流程图。
2.系统划分
将系统划分为控制器和受控电路两部分,而受控电路又是用各种模块即子系统实现。
这一步的任务是根据上一步确定的系统功能,决定使用哪些子系统,以及确定这些子系统与控制器之间的关系。
这一过程是一个逐级分解的过程,随着分解的进行,每个子系统的功能越来越专一和明确,因而系统的总体结构也越来越清晰。
最终分解的程度以能清晰地表示出系统的总体结构,而又不为下一步的设计增加过多的限制为原则。
分解完成后,对各个子系统及控制器进行功能描述,可以用硬件描述语言或ASM图等手段,定义和描述硬件结构的算法,并由算法转化成相应的结构。
此阶段描述和定义的是抽象的逻辑模块。
不涉及具体的器件。
3.具体电路设计
这一步的任务是设计具体电路。
传统的设计方法是将上面对各子系统的描述转换成逻辑电路或基本逻辑组件,选择具体器件如各种标准的SSI,MSI,LSI或PLD来实现受控电路对于控制器,由于控制器是时序逻辑电路,它的实现,可以用时序机设计方法,借助ASM图或MDS图写出激励函数,进行逻辑化简,求出控制函数方程,然后合理选择具体器件实现控制器。
现代数字系统的设计,可以用 EDA具,选择 PLD器件来实现电路设计。
这时可以将上面的描述直接转换成EDA工具使用的硬件描述语言,送入计算机,由EDA完成逻辑描述、逻辑综合及仿真等工作,完成电路设计。
用PLD实现片上系统。
自顶向下的设计过程并非是一个线性过程,在下一级的定义和描述中往往会发现上一级
的定义和描述中的缺陷或错误,因此必须对上一级的定义和描述加以修正,使其更真实地
反映系统的要求和客观的可能性。
整个设计过程是一个反复修改和补充的过程,是设计人员追求自己的设计目标日臻完善的积极努力的过程。
二、试凑设计法
试凑设计就是用试探的方法按给定的功能要求,选择若干模块(功能部件)来拼凑一个数字系统。
试凑法主要是凭借设计者对逻辑设计的熟练技巧和经验来构思方案,划分模块,Z
选择器件,拼接电路。
试凑法适用于小型数字系统的设计,对于复杂的数字系统,这种设计方法就不再适用。
试凑并不是盲目的,通常接下述步骤进行:(
1.分析.系统设计要求,确定系统总体方案g
消化设计任务书,明确系统功能,如数据的输人输出方式,系统需要完成的处理任务等。
拟定算法,即选定实现系统功能所遵循的原理和方法。
2.划分逻辑单元,确定初始结构,建立总体逻辑图
逻辑单元划分可采用由粗到细的方法,先将系统分为处理器和控制器,再按处理任务或控制功能逐一划分。
逻辑单元的大小要适当,以功能比较单一,易于实现且便于进行方案比较为原则。
3. 电路实现
将上面划分的逻辑单元进一步分解成若干相对独立的模块(功能部件),以便直接选用标准SSI,MSI,LSI器件来实现。
器件的选择应尽量选用MSI和LSI,这样可以提高电路的可靠性,便于安装调试,简化电路设计。
也可以使用PLD可编程逻辑器件实现电路。
连接各个模块.绘制总体电路图。
画图时应综合考虑各功能块之间的配合问题,如时序上的协调、负载匹配、竞争与冒险的消除、初始状态设置、电路启动等等。
数字电路系统分析及设计的一般步骤
由于每个课题的设计任务各不相同,则设计的数字系统规模有大有小,电路的结构也有繁有简,而课程设计一般只能做规模不大的小系统,在应用中,小系统的设计是很有用的。
而且,掌握了数字小系统的设计可以为更大规模的系统设计奠定基础。
无论系统规模的大小,其设计步骤是大体一致的,数字系统设计的一般程序如下。
1.分析设计要求,明确性能指标
具体做设计之前,必须仔细分析课题要求、性能、指标及应用环境等。
分清楚要设计的电路属于何种类理,输入信号如何获得,输出执行装置是什么,工作的电压、电流参数是多少,主要性能指标如何等等。
然后查找相关的各种资料,广开思路,构思出各种总体方案,绘制结构框图。
2.确定总体方案
对各种方案进行比较,以电路的先进性、结构的繁简、成本的高低及制作的难易等方面作综合比较,并考虑各种元器件的来源,最后敲定一种可行的方案。
3. 设计各子系统
将总体方案化整为零,分解成若干子系统或单元电路,然后逐个进行设计。
每一子系统一般均能归结为组合电路和时序电路两大类,这些电路的设计在数字电路基础中已做了设计,所以在课程设计时,应尽可能选用合适的现成电路单元,芯片选用应优选中、大规模电路,这样不仅能简化设计,而且有利于提高系统的可靠性。
若选用小规模电路,则先分清设计的电路是属于组合电路还是时序电路,然后按不同方法分别作具体设计。
4. 设计控制思路
控制电路的功能诸如系统清零、复位、安排各子系统的时序先后及启动停止等,在整个系统中起核心作用。
设计时最好画出时序图,根据控制电路的任务和时序关系反复构思电路,选用合适的器件,使且达到功能要求。
5. 组成系统
各部分子系统设计完成后,要绘制总系统原理图。
在一定幅面的图纸上合轴布局,通常是按信号的流向,采用左进右出的规律摆布各部分电路,并标出必要的说明。
6. 安装调试,反复修改,直至完善。
7. 总结设计报告。
第三节数字系统设计的描述方法
在用自顶向下设计方法进行数字系统设计的过程中,在不同的设计阶段采用适当的描述手段,正确地定义和描述设计目标的功能和性能,是设计工作正确实施的依据。
常用的描述工具有:方框图、定时图、逻辑流程图和MDS图。
一、方框图
方框图用于描述数字系统的模型,是系统设计阶段最常用的重要手段。
方框图可以详细描述数字系统的总体结构,并作为进一步详细设计的基础。
方框图不涉及过多的技术细节,直观易懂,因此具有以下优点:
(1)大大提高了系统结构的清晰度和易理解性。
(2)为采用层次化系统设计提供了技术实施路线。
(3)使设计者易于对整个系统的结构进行构思和组合。
(4)便于发现和补充系统可能存在的错误和不足。
(5)易于进行方案比较,以达到总体优化设计。
(6)可作为设计人员和用户之间交流的手段和基础。
方框图中每一个方框定义了一个信息处理、存储或传送的子系统,在方框内用文字、表达式、通用符号或图形来表示该子系统的名称或主要功能。
方框之间采用带箭头的直线相连,表示各个子系统之间数据流或控制流的信息通道,箭头指示了信息传送的方向。
方框图的设计是一个自顶向下、逐步细化的层次化设计过程。
同一种数字系统可以有不同的结构。
在总体结构设计(以框图表示)中,任何优化设计的考虑要比逻辑电路设计过程中的优化设计产生大得多的效益,特别是采用EDA设计工具进行设计时,许多逻辑化简、优化的工作都可用EDA来完成,而总体结构的设计是任何工具所不能替代的,它是数字系统设计过程中最具创造性的工作之一。
一般总体结构设计方框图需要有一份完整的系统说明书。
在系统说明书中,不仅需要给出表示各个子系统的方框图,同时还需要给出每个子系统功能的详细描述。
二、定时图
定时图又叫时序图或时间关系图。
它用来定时地描述系统各模块之间、模块内部各功能组件之间及组件内部各门电路或触发器之间输人信号、输出信号和控制信号的对应时序关系及特征(即这些信号是电平还是脉冲,是同步信号还是异步信号等)。
定时图的描述也是一个逐步深入细化的过程。
即由描述系统输人输出信号之间的定时关系的简单定时图开始,随着系统设计的不断深人,定时图也不断地反映新出现的系统内部信号的定时关系,直到最终得到一个完整的定时图。
定时图精确地定义了系统的功能,在系统调试时,借助EDA工具,建立系统的模拟仿真波形,以判定系统中可能存在的错误;或在硬件调试及运行时,可通过逻辑分析仪或示波器对系统中重要结点处的信号进行观测,以判定
系统中可能存在的错误。
三、逻辑流程图
逻辑流程图简称流程图,是描述数字系统功能的常用方法之一。
它是用特定的几何图形(如矩形、菱形、椭圆等)、指向线和简练的文字说明,来描述数字系统的基本工作过程。
其描述对象是控制单元,并以系统时钟来驱动整个流程,它与软件设计中的流程图十分相似。
1.基本符号
逻辑流程图一般用三种符号:矩形状态框、菱形判别框和椭圆形条件输出框。
见图2。
(a)状态框 (b)条件判别框 (c)条件输出框
图2 逻辑流程图基本符号
(1)状态框表示系统必须具备的状态;判别框和条件输出框不表示系统状态,而只是表示某个状态框在不同的输人条件下的分支出口及条件输出(即在某状态下输出量是输人量的函数)。
一个状态和若干个判别框,或者再加上条件输出框组成一个状态单元。
(2)逻辑流程图的描述过程是一个逐步深入细化的过程。
先从简单的逻辑流程图开始,逐步细化,直至最终得到详细的逻辑流程图。
在这一过程中,如果各个输出信号都已明确,则可将各个输出信号的变化情况标注在详细的逻辑流程图上。
(3)如果在某状态下,输出与输人无关即 MOOER。
型输出,则该输出可标注在状态框旁的状态表中,用箭头“+”表示信号有效,“+”表示信号无效,这里不考虑该信号是高或低有效,如图3所示。
图中 Z;t表示进人状态 A,输出已有效。
马J表示
进人状态 A,输出 Z,尤效。
乙 t4表示进人状态 A.输出
已有效:退出状态A后.输出z无效n通常仅标注进人状态
或退出该状态时需要时亦的输出。
不容影响的输出不必注出,
这样可以使图形更加简明。
2.逻辑流程图的应用
逻辑流程图可以描述整个数字系统对信息的处理过程,以
及控制单元所提供的控制步骤,它便于设计者发现和改进信息处图 3 状态输出表理过程中的错误和不足,又是后续电路设计的依据。
3.从状态图得到逻辑流程图
状态图是以单个状态为单位,从一个状态到另一个状态转换是在一系列条件发生后完成的,同时产生系统的输出。
在逻辑流程图中,一个状态框和若干个条件框及输出条件框组成一个状态单元。
因此,状态图上一个状态及输出对应逻辑流程图中一个状态单元。
如果一个状态的输出与输人有关,则逻辑流程图中对应的状态单元必定包括有条件输出框;反之,为无条件输出框。
四、MDS图
MDS(Mnemonic Documented State Diagrams)图是设计数字系统控制器的一种简洁的方法。
MDS图类似于状态转换图,可以很容易地由描述数字系统的详细流程图转换而来。
1.MDS图说明
MDS图是用一个圆圈表示一个状态,状态名标注在圆圈内,圆圈外的符号或逻辑表达式表示输出,用定向线表示状态转换方向,定向线旁的符号或逻辑表达式表示转换条件。
MDS图中符号的涵义是:
@:表示状态A。
@一③:表示状态A无条件转换到状态B。
③、③:表示状态A在满足条件X时转换到状态B。
X表示输人条件,它可以是一个字
母(即一个输人变量),也可以是一个积项,还可以是一个复杂的布尔表达式。
@t:表示进入状态A时,Z变为有效。
如果Z的有效电平是H,则可以表示为
@Z=H t。
③ZI:表示进人状态A时,Z变为无效。
如果Z的有效电平是H,则可以表示为
@Z=HI。
④Zt J:表示进人状态A时S变为有效;退出状态AS变为无效。
如果Z的有效电
平是q,则可以表示为④Z=Htl。
③Z ti二 A·X:表示如果满足条件 X,则进人 A时 Z有效,退出 A时 Z无效。
③一:表示X是一个异步输人变量,④一表示A在异步输人作用下退出A状态。
MDS图和一般状态图的不同在于输人输出变量的表示方法。
在MDS图中,标注在定向线旁的输人变量是用简化项表示。
举例见图4。
当输人xZX;=of和11时,状态都由A转换到B,则在MDS图中从A到B的定向线旁就标注一个X;。
对于输出马Z;来讲,在状态A到状态 B时,ZZZ由10变为 11,而由状态 B到状态 C时,林;又由11变为 00,因此,对于 Z来说,它只有进人状态B时有效,退出状态B则无效,这样,在MDS图中,在状态B的外标为Z1ti。
对于输出ZZ来说,进人状态A有效,只有进人状态C无效,因此,在状态A外标注Z2,在状态C外标注ZZL。
图4 状态图和MDS图。
2.由逻辑流程图导出MDS图
我们用逻辑流程图来描述数字系统的工作原理,并规定了控制器的功能,可从流程图导出与之相应的MDS图,使MDS图成为描述数字系统的工具。
下面讨论二者之间的关系及转换规则。
(1)流程图中的状态框表示系统的状态,表示了系统应完成的一组动作,它对应于MDS 图中的一个状态;流程图中的判别框表示系统控制器应进行的判断与决策,它对应于MDS 图中的一个分支,其中判别变量是MDS图中转换条件或分支条件的一部分或全部;流程图中状态框旁表示的状态输出,表示在这一状态下发出的控制输出信号,对应于MDS图中的一个状态输出。
如图26所示。
图5 逻辑流程图和MDS图对应关系之一
(2)流程图中的条件输出框与MDS图中的条件输出相对应,如图2石所示。
注意,如果START 是同步变量,则启动脉冲RUN t j的持续时间与状态A的保持时间相同;如果START为异步变量,则RUN ti的持续时间将是不确定的。
所以,在条件输出的输出条件中,不应该包含有异步变量。
图 6 逻辑流程图和 MDS图对应关系之二
(3)在流程图的每一个分支上,应只有一个异步变量。
3.控制器的实现
控制器是由一组触发器和作为次态激励电路、输出电路的组合电路组成的时序电路。
在进行控制器的设计时,由流程图导出的MDS图是一个原始的MDS图。
设计者应根据原始的MDS图,列出实现控制器功能的多种MDS图进行比较,找出最佳的MDS图。
如果用EDA工具,这时就可以将MDS图转化成EDA所要求的硬件描述语言,并送人计算机,由EDA自动完成控制器的设计。
如果用人工进行设计,实现控制器的具体步骤可归纳如下:
(1)对MDS图进行状态分配。
状态分配的原则与一般时序电路相同。
(2)由编码后的MDS图填写触发器激励函数的卡诺图。
(3)求输出函数方程。
在MDS图中每个状态的外侧标明了该状态的输出,其中包括条件输出,因此,由MDS图写出输出函数方程十分便捷,但应特别注意输出脉冲的极性问题。
(4)画出控制器的逻辑电路图。
实现激励方程和输出方程的方案可以有很多种选择主要的是合理选择器件型号,使电路简单可靠。
五、数字系统设计举例
以乒乓游戏机为例。
两人乒乓游戏机是用8个发光二极管代表乒乓球台,中间两个发光二极管兼作乒乓球网,用点亮的发光二极管按一定方向移动来表示球的运动。
在游戏机的两侧各设置发球和击球开关 S;。
,SZ^,S;。
,SZs,甲乙双方按乒乓球比赛规则来操作开关S;。
,S;。
,SZ^,SZ。
当甲方按动发球开关 S1。
时,靠近甲方的第一个发光二极管亮,然后发光二极管由甲方向乙方依次点亮,代表乒乓球在移动。
当球过网后按设计者规定的球位乙方就可以击球。
若乙方提前击球或未击到球,则甲方得分。
然后重新发球进行比赛,直到一方记分达到ZI分为止肥分清零,重新开始新一局比赛。
如图7所示。
在确定两人乒乓游戏机的逻辑功能时,需要明确以下几点:
(1)输人、输出信号的特征,格式及传送方式。
乒乓游戏机的外输人信号是发球和击
球的开关信号S;。
,SZ。
,S;B,%。
,这些信号是机械开关发出的短暂异步输人信
号。
输出信号是模拟乒乓球向左或向右运动的信号及自动记分信号。
图7 乒乓游戏机结构图
(2)控制信号的作用及相互之间的关系。
控制信号的作用是使乒乓游戏机按约定的比赛规则有序地工作。
这里规定球移动到对方第二个发光二极管时允许击球。
通过分析设计任务,可以得到乒乓游戏机的方框图8和逻辑流程图9。
图8 乒乓游戏机逻辑划分方框图
示球到位可以击球的标志信号;m表示记分器已记满一局的信号;CNT为记分器时钟信号/为记分器清零信号油为决定乒乒球位置及移动方向的信号;SA、SB为开关控制的外输入发球和击球信号;soro为球台清除信号。
根据流程图到MDS图的转换规则,由图8 乒乓游戏机逻辑划分方框图出发。
并设定等状态为A,甲方发球L1灯亮的状态为B,甲发球后球向乙移动的状态为C,允许乙方击球状态为D,乙方发球k灯亮的状态为E,乙发球后球向甲移动的状态为F,允许甲方击球状态为G一方失误另一方(胜方)加二分状态为 H,则可画出乒乓游戏机的 MDS囹,如图10所示。
得到MDS图后,对MDS图进行状态分配,由编码后的MDS图填写触发器激励函数的卡7 矢诺国。
在此简略地介绍一下填写方法。
设图中状态 B,C,D,H的编码分别为 100,110,010,001。
状态 B转换到状态 C 是无条件的,因此,在次态 Q3””’QZ”“0””‘的卡诺图中,对应于原状态 B就直接填 c 状态编码而状态C有状态分支,当SZ。
到来时,状态C转换到状态H(001),当C7&条件满足时,状态 C转换到状态D(010),当C7SZB条件满足时人保持原状态。
由此看出在卡诺图中对应原状态C,无论满足哪个条件,其Q3都由“二”变为“0”。
因此,在C状态对应的Q3””‘卡诺图上应填入C两句工身高s。
对应C状态,当满足条件时,&由“广变为“o”,故在c状态对应的 QZ””‘卡诺图上应填人、。
当满足条件%B时l 由“0”变为“l”,故在 C状态对应的QI””’卡诺图上应填人为。
其余部分由同学自己完成。
输出函数方程可根据 MDS图写出。
最后应画出总体逻辑电路图。
以上介绍的是自顶向下的数字系统的设计方法。
可以看出,这种方法的关键在于设计1控制器,其余部分只是选用不同的功能模块而已,这就将一个复杂的数字系统设计简化为一个时序机的设计。
而控制器的设计关键在于建立逻辑流程图,即关键是对系统初始方案的
图9乒乓游戏机逻辑流程图
图10 乒乓游戏机的MDS图。