7.9
Verilog HDL提供了信号争用、双向通过门、电阻式MOS器件、动态MOS、电荷共享的精确建模,并通过允许标量净信号值具有全范围的未知值和不同强度级别或强度级别的组合来实现其他依赖于技术的网络配置。
强度规格应包含两个组成部分:
A)净值的0部分的强度,称为强度0,指定为以下值之一:supply0 strong0 pull0 weak0 highz0
B)净值的1部分的强度,称为强度1,指定为下列之一:supply1 strong1 pull1 weak1 highz1
组合(Highz0,Highz1)和(Highz1,Highz0)应被视为非法。
尽管强度规格有这样的划分,为了预测信号组合的结果,将强度视为占用连续体区域的属性是很有帮助的。
1, 4个driving strengths
supply strong pull weak
gate output和连续的assign output输出可以使用driving strengths
2, 3种charge storage strengths
large medium small
trireg net类型的可以使用charge storage strengths
net未指定强度的,默认是所有0、1;net值为x的,只有0
7.10 组合信号的strengths和values
因为有的信号strengths是明确的,有的是模糊的,是一个范围值,所以当两个net组合的时候,strengths和values的值是需要重新确认的
7.10.1 明确strengths的组合信号
strengths不同的多个net---strength 强的起主要作用
srtengths相同的多个net---strength 相同
7.10.2 不明确的strength:sources和combinations
不明确信号分为一下几种:
1)具有已知值和多个强度级别的信号
2)值为x的信号,其强度级别由图7-2中强度等级的强度1和强度0的细分部分组成
3)值为L的信号,其强度级别由高阻抗与图7-2中强度等级的强度0部分中的强度级别组成
4)值为H的信号,其强度级别由高阻抗与图7-2中强度等级的强度1部分中的强度级别组成
许多配置可能会产生强度不明确的信号,当两个强度相等且值相反的信号组合时,结果应为值x,以及两个信号的强度级别和所有较小的强度级别。
图7-4显示了具有值1的弱信号和具有值0的弱信号的组合,从而产生具有弱强度和值x的信号。
模糊信号强度可以是一系列可能的值。一个例子是具有未知控制输入的三态驱动器的输出强度,如图7-6所示。
图7-6中bufi1的输出是一个强H,由图7-7中描述的值范围组成。
图7-6中bufi0的输出是一个强L,由图7-8中描述的值范围组成。
两个模糊强度信号的组合将产生一个模糊强度信号;
在图7-9中,模糊强度的信号组合产生的范围包括信号的极值和它们之间的所有强度,如图7-10所示
7.10.3 模糊的strength信号和明确的strength信号组合
规则:
1)结果中将保留大于明确信号的强度级别的模糊强度信号的强度级别
2)根据规则c,模糊强度信号的强度级别小于或等于明确信号的强度级别应从结果中消失
3)If the operation of rule a and rule b results in a gap in strength levels because the signals are of opposite value, the signals in the gap shall be part of the result.
小于明确信号Pu1(5)的去掉;大于Pu1(5)的增加;---得到结果
模糊信号和明确信号如上所示,明确信号的边界比较小,所以,以明确信号作为最小边界,得到结果如上图所示
7.10.4 Wired logic net types
当多个驱动时,网线类型triand, wand, trior, and wor需要解决冲突
7.14 Gate and net delays