只使用0和1两个值的模型称为二值模型。二值模型假定逻辑元件都完成理想的布尔运算,可以检验数字系统的逻辑功能,可以检查电平配合、时序配合等问题。 在二值的基础上再增加一个值X,即形成三值模型。X可以表示下列三种情况: (1)表示不确定状态,如未赋初值的信号值和某些初值。具有相同强度,不同逻辑值的输出端驱动同一个信号节点时,不能区分0或1,该信号值也用'X'表示。 (2)处在跳变过程中的过渡态。信号从一个稳态过渡到另一个稳态,都要经历一段短暂时间。在此期间信号状态值未定,或处于0和1。 (3)表示无关紧要的信号。 根据X 表示或为0或为1,很容易得到关于X的运算规则: 'X' and '0' = '0'; 'X' and '1' = 'X'; 'X' or '0' = 'X'; 'X' or '1' = '1'; not 'X' = 'X'; 表3.1列出了三值模型的运算规则。
三值模型可以用来检测竞争冒险,将在本章后面介绍。 高阻值Z常用在CMOS电路中,晶体管截止时常出现高阻状态。三态门在控制信号为'0'时其输出呈现高阻状态,它相当于把连线断开。 在CMOS电路中,常遇到两个或多个输出端直接连接在一起的情况,称为线或逻辑(Wired Or),或称为线连接(Wired Connection),如图3.4所示。在线或逻辑中通常只允许一个输出端为稳态值,其余端均应为'Z'。这时线或运算的最后结果就等于该稳态值。即 'Z' wor y = y, y?{'0', '1', 'X'} 其中, wor 表示线或运算。很明显,'Z' wor 'Z' ='Z'。
若在门的某一输入端出现Z信号,可以看作该线断开。其逻辑运算规则如表3.2所示(其中S表示另一个信号值0, 1, X)。
|