第六章 数值系统的状态模型

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第六章数值系统的状态模型概述用VHDL语言进行数值系统设计时,必须事先知道系统规定的几种逻辑状态。一般情况下常用二态或三态逻辑系统,但随着大规模集成电路技术的发展,在数值系统设计时往往用到混合技术,将ECL、TTL、CMOS、MOS等不同器件连接起来。由于器件逻辑电平不一致,二态或三态逻辑系统显然已经不够描述系统的所有状态。6.1二态数值系统在对数字系统进行初级仿真时,一般采用二态数值系统,逻辑“1”(或者“真”)和逻辑“0”(或者“假)就是系统的两种状态,信号的状态只可能取二者之一。在VHDL语言中通常用BIT数据类型来描述这两种状态。最简单的数值系统是一个信号源的系统,用二态数值系统就能很好地描述这样的系统。例如,由一个反相器构成的数值系统,当输入为“0”时,其输出为“1”;而当输入为“1”时,其输出为“0”。系统的输入和输出,在任何时候其值只能取此两种状态之一。总线冲突电路实例在某一条总线上,如果有多个信号源,以相同的强度值对它进行驱动时,就会产生总线竞争(或总线冲突),此时总线上的信号电平可能是一个不能具体确定的逻辑电平。这样的系统,如果要想用二态数值系统来描述就不行了,因为二态中的“0”和“1”都无法正确地描述其输出。左图,数据总线D0由反向器U1和“与”门U2所驱动,U1的输出为“0”,而U2的输出为“1”。这样D0数据线上到底是“1”还是“0”就很难确定了,也就是说出现了不确定的值“X”。这种状态是一种错误的状态,仅仅利用二态数值系统就不能表示信号的输出错误状态。6.2三态数值系统为了避免在二态数值系统中所发生的问题,在二态数值系统的基础上增加了一个新的状态,这就是未知值状态。通常用字符“X”来表示。未知状态可以取值为“1”,也可以取值为“0”,但是当前到底取值是“1”还是“0”是不确定的。TYPEthreestateIS(‘X’,‘0’,‘1’);三态数值系统(续)在系统设计的仿真中,用“X”值可以表示信号的初始状态值,在系统启动时所有信号都被置为“X”值,此后这个值可以被电路元件的后继状态所改写。在仿真时产生“X”值的一个原因是总线冲突(总线竞争),也就是前面所述的,有多种输出信号线连接在一起,且它们的逻辑值是相反的。此时,电路的输出值将为“X”。通过信号强度确定输出状态在第4章的例4-3中,介绍了一种判决函数表。在该表中定义了9种逻辑状态,其中:“0”(强逻辑低电平);“1”(强逻辑高电平);“L”(弱逻辑低电平);“H”(弱逻辑高电平)。当两个强度相同,而逻辑不同的信号同时出现在一个输出端时,其输出端的值是不确定的。例如“0”和“1”及“L”和“H”同时出现在信号的输出端时,输出端的取值应为“X”。如果不同强度的信号出现在输出端时,输出端的最终取值应由强信号逻辑状态确定。例如,当“1”和“L”出现在输出端时,输出端取值为“1”;当“0”和“H”出现在输出端时,输出端取值为“0”,其它情况依次类推。由此可见,在系统或电路仿真时,给出信号强度的信息是非常重要的。6.3四态数值系统在当前的计算机系统中常常要用到双向数据总线,数据总线驱动器的输出需要有一个特殊的状态,即高阻状态。这是无法用二态数值系统和三态数值系统进行正确描述的。利用这个高阻状态,可以使总线被多个设备所共享,并且可以方便地实现数据总线的双向操作。高阻状态通常用集电极开路门来实现,为表示这种状态,需要引入另一种状态,通常称为“Z”状态。这样就形成了四态数值系统,在VHDL语言中常用如下数据类型来描述这4种状态:TYPEfourstateIS(‘X’,‘0’,‘1’,‘Z’);四态数值系统(续)“Z”状态是三态驱动器的一种输出状态,与一般的门电路不同,它除了具有输入和输出端之外,还有一个允许端,如下图所示的en端。当en端为“0”(低电平)时,无论输入端a的信号值是“0”还是“1”,其输出端b均呈现高阻状态;而当en端为“1”(高电平)时,输出端b的信号值就随输入端a的信号值变化而变化。当a=“1”时,b就为“0”;当a=“0”时,b就为“1”。举例高阻状态“Z”的引入,解决了多个信号源驱动一条信号线以及信号线的双向驱动等问题,下图是一个利用三态门实现总线的双向操作的实例。通过en(允许端)的取值实现控制数据的双向传输。分析过程中利用信号强度比较来确定总线上数据状态。总线状态值关系表举例随着MOS技术的发展,四态数值系统已经不能正确反映系统的实际工作过程,为了表示数值系统的所有状态,人们开始引入九态数值系统,由三种强度(高阻’Z’,电阻’R’,强强度’F’)和三种逻辑(‘0’,’1’,’X’)组成。6.4九态数值系统TYPEninestateIS(Z0,Z1,ZX,RO,R1,RX,F0,F1,FX);1、强强度强强度在3种强度描述中表示强度最强的一个强度,它相当于宫殿电源提供的强度。例如,5V电源的电平可以用F1(强强度的逻辑“1”来表示;电源地可以用F0(强强度的逻辑“0”)来表示。2、电阻强度电阻强度的强度值低于强强度的值,它可以由强强度逻辑电平经过一个电阻后得到。如下图所示,电阻的左端若加一个强强度逻辑电平,那么在电阻的另一端即可得到电阻强度的逻辑电平。例如,5V电源是强强度逻辑电平F1,如果在电路中加一个上拉电阻,那么在上拉电阻的另一端即可得到电阻强度的逻辑电平R1。3、高阻强度高阻强度是3种强度中最弱的一种强度。它所描述的是,NMOS,PMOS,CMOS器件的门电路断开时,在分布电容上所存储的电荷数量。下图就是一个电荷存储电路的实例。图中en=0时,门被断开,信号b失去了驱动源,存储于电容上的电荷就加在U2的输入端。这个存储电荷的逻辑值将一直保持,直到下一个时间周期再对信号b进行驱动为止。此时信号b就处于高阻态,至于是Z0还是Z1,则取决于开关断开时的最后逻辑电平时“0”还是“1”。6.5十二态数值系统输出“X”值存在着通过电路扩散或传递的问题,大多数情况下可以采取措施避免。一种方法是增加一种强度“U”,数值系统变为十二态:“U”表示一个未知强度,可以表示R、Z、F,正像“X”可以表示为“1”或“0”一样。通常用于表示开关门控值为“X”时的输出强度。TYPEninestateIS(’Z0’,’Z1’,’ZX’’R0’,’R1’,’RX’’F0’,’F1’,’FX’’U0’,’U1’,’UX’)在实际所使用的系统中,不同厂家对系统状态的定义及符号的使用都有所不同,在STD_LOGIC_1164中,逻辑状态的定义:TYPESTD_LOGICIS(‘U’——初始状态‘X’——强强度不确定状态‘0’——强强度0‘1’——强强度1‘Z’——高阻‘W’——弱不确定‘L’——弱强度0‘H’——弱强度1‘-’——任意项);‘-’状态表示系统不可能出现的状态,其它状态的概念和前面介绍完全一致。只是所使用符号略有差异。6.6STD_LOGIC_1164中逻辑状态的定义

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功