4.3 数字系统设计的描述方法
用自顶向下设计方法进行数字系统设计的过程中,不同的设计阶段采用适当的描述手段,正确地定义和描述设计目标的功能和性能,是设计工作正确实施的依据。常用的描述工具有:方框图、定时图、逻辑流程图和MDS图。
1.方框图
方框图用于描述数字系统的模型,是系统设计阶段最常用的重要手段。方框图可以详细描述数字系统的总体结构,并作为进一步详细设计的基础。方框图不涉及过多的技术细节,直观易懂,具有以下优点:
·大大提高了系统结构的清晰度和易理解性;
·为采用层次化系统设计提供了技术实施路线;
·使设计者易于对整个系统的结构进行构思和组合;
·便于发现和补充系统可能存在的错误和不足;
·易于进行方案比较,以达到总体优化设计;
·可作为设计人员和用户之间交流的手段和基础。
方框图中每一个方框定义了一个信息处理、存储或传送的子系统,在方框内用文字、表达式、通用符号或图形来表示该子系统的名称或主要功能。方框之间采用带箭头的直线相连,表示各个子系统之间数据流或控制流的信息通道,箭头指示了信息传送的方向。
方框图的设计是一个自顶向下、逐步细化的层次化设计过程。同一种数字系统可以有不同的结构。在总体结构设计(以框图表示)中,任何优化设计的考虑要比逻辑电路设计过程中的优化设计产生大得多的效益,特别是采用EDA设计工具进行设计时,许多逻辑化简、优化的工作都可用EDA来完成,但总体结构的设计是任何工具所不能替代的,它是数字系统设计过程中最具创造性的工作之一。
一般总体结构设计方框图需要有一份完整的系统说明书。在系统说明书中,不仅需要给出表示各个子系统的方框图,同时还需要给出每个子系统功能的详细描述。
2.定时图
定时图又称时序图或时间关系图。它用来定时地描述系统各模块之间、模块内部各功能组件之间及组件内部各门电路或触发器之间输入信号、输出信号和控制信号的对应时序关系及特征(即这些信号是电平还是脉冲,是同步信号还是异步信号等)。
定时图的描述也是一个逐步深入细化的过程。即由描述系统输入输出信号之间的定时关系的简单定时图开始,随着系统设计的不断深入,定时图也不断地反映新出现的系统内部信号的定时关系,直到最终得到一个完整的定时图。定时图精确地定义了系统的功能,在系统调试时,借助EDA工具,建立系统的模拟仿真波形,以判定系统中可能存在的错误;或在硬件调试及运行时,可通过逻辑分析仪或示波器对系统中重要结点处的信号进行观测,以判定系统中可能存在的错误。
3.逻辑流程图
逻辑流程图简称流程图,是描述数字系统功能的常用方法之一。它是用特定的几何图形(如矩形、菱形、椭圆等)、指向线和简练的文字说明,来描述数字系统的基本工作过程。其描述对象是控制单元,并以系统时钟来驱动整个流程,它与软件设计中的流程图十分相似。
逻辑流程图一般用三种符号:矩形状态框、菱形判别框和椭圆形条件输出框,如图4-4所示。
状态框表示系统必须具备的状态;判别框和条件输出框不表示系统状态,而只是表示某个状态框在不同的输入条件下的分支出口及条件输出(即在某状态下输出量是输入量的函数)。一个状态和若干个判别框,或者再加上条件输出框组成一个状态单元。
逻辑流程图的描述过程是一个逐步深入细化的过程。先从简单的逻辑流程图开始,逐步细化,直至最终得到详细的逻辑流程图。在这一过程中,如果各个输出信号都已明确,则可将各个输出信号的变化情况标注在详细的逻辑流程图上。
如果在某状态下,输出与输入无关即Moore型输出,则该输出可标注在状态框旁的状态表中,用箭头“↑”表示信号有效,“↓”表示信号无效,这里不考虑该信号是高或低有效。
图4-4 逻辑流程图基本符号
4.MDS图
MDS图(Memonic Document State Diagram,可译为助记状态图,或备有记忆文档的状态图)是美国的William Fletcher于1980年提出的一种系统设计方法,MDS图可从详细逻辑流程图直接导出,依据它可较直观、方便地进行电路级的设计。
(1)优点
①MDS图可由详细逻辑流程图按给定规则直接转换得到,形式规范;
②MDS图类似于时序电路的状态图(或称为状态转移图),因而比较容易接受和掌握;
③MDS图与硬件有良好的对应关系,可以清楚地反映出逻辑电路应提供多少个状态值,各个状态之间的转换必须符合什么条件,在状态转换时需要哪些输入信号,何时产生输出信号,输出信号应该以何种方式输出等要求,依据这些要求便可以设计出符合数字系统逻辑关系的逻辑电路。
(2)缺点
①MDS图不能将器件的时延影响反映出来,设计电路时要求设计者在该图反映的逻辑关系之外附加消除时延影响的电路;
②MDS图描述的系统规模不能太大,状态不能太多。
(3)逻辑流程图画转换为MDS图的规则
①将工作框转换为状态助记符
用圆来表示某一状态,称为状态圆,圆中的字母为状态值的助记符,用来区别不同的状态。
②判断框转换为分支助记符
当判断框转换为分支符号后,判断条件中的参数要用字母来表示,判断条件用逻辑表达式表示(与或式),逻辑表达式放置在分支旁边,称为分支条件;若流程图两个相邻的工作框之间没有判断框,则对应的分支旁边无分支表达式,这种分支称为无条件分支。不管原流程图中两个工作框之间有多少个判断框,当转换为MDS图时只允许有一个分支。
③多个判断框转换为条件分支助记符
在流程图中,两个工作框之间如果存在前后连续的多个判断框,表示这些判断条件必须同时满足(即在逻辑上相当“与”运算)时,逻辑操作才能转换至下面的工作框。
④含有异步输入信号的判断条件的转换
在画详细逻辑图时必须对异步输入信号进行同步化处理,并且规定在两个工作框之间只允许存在一个异步输入信号,当两个工作框之间多于一个异步输入信号时,必须增加工作框,以免丢失某些异步输入信号。在详细逻辑流程图中,在判断框中的逻辑符号“*”表明在判断条件中存在异步输入信号,当将详细逻辑流程图转换为MDS图时,应在状态图中标注“*”,表明分支条件中存在异步输入信号。
⑤输出信号转换为助记符
详细逻辑流程图中的输出信号有脉冲输出信号、输出有效、输出无效和条件输出信号等14种。这些输出信号是标注在工作框或条件输出框内的,也可以标注在工作框或条件输出框的框外右侧,在转换为MDS图后,它们均应标注在状态圆的旁边。
脉冲输出信号的助记符形式为Z↑↓,放置在状态圆外侧,它表明进入该状态圆后输出信号Z为1,脱离该状态后Z=0,信号Z输出的脉冲宽度与该状态的存在时间相同。
输出信号有效的助记符形式为Z↑,它表明进入该状态圆后输出Z为l(有效),并一直保持输出为l,直到遇到另一个要求该输出无效的状态圆再变为0,Z有效输出的持续时间(脉冲宽度)为令其有效的状态圆至令其无效的状态圆之间逻辑操作时间的总和。
输出信号无效的助记符形式为Z↓,它表明进入该状态圆后某输出信号为0(无效),并一直保持输出为0,直到遇到另一个要求该输出有效的状态圆为止。
条件输出信号通过逻辑表达式的形式来表示,如条件输出信号Z的存在有两个条件:一是要求逻辑进程己进入某个工作框,二是还必须满足某一条件,如“x=l”,那么在将该条件输出信号转换为MDS图的助记符时,该信号的形式为Z↑↓=S1·X,S1·X是逻辑“与”运算表达式。
⑥输出信号的表格表达形式
在有些情况下,电路设计人员也采用表格形式表达在何时产生输出信号,即将各个状态及对应的输出用表格的形式表达出来。
(4)做MDS图时的注意事项
①两个状态圆符之间只允许有一个分支
MDS图中任意两个相邻的状态圆之间只容许有一个分支。从逻辑关系上讲,状态圆之间并行的分支是“或”运算的关系,故将两个分支合并为一个,再用“或”运算符将两个分支条件合并为一个“与或”表达式。
②条件输出信号标注在当前状态圆旁边
在详细逻辑流程图中,条件输出信号框画在两个工作框之间,在转换为MDS图后必须画在状态圆旁边。另外,还要注意不要错选了状态圆,条件输出信号应画在条件输出框之前的状态圆旁边。
③输入输出实际有效电平的处理
对于初学者,最好先不要考虑实际的有效电平,应该先按规则将详细逻辑流程图转换为MDS图,然后再根据器件的具体型号,逐个明确各个输入和输出信号的实际有效电平。
④详细逻辑流程图中多个相连的判断条件转换为MDS图后,成为MDS图上一个分支条件“与”运算的不同变量。
图4-5是某电路的状态图及其对应的MDS图,图4-6是某电路的详细逻辑流程图及对应的MDS图。
图4-5 某电路的状态图及其对应的MDS图
图4-6 逻辑流程图和MDS图的对应关系
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。