7.8 pullup and pulldown sources
上拉或下拉源的实例化声明应该以以下关键词之一开始:
pullup pulldown
一个上拉源应该对连接到它的终端列表中的net赋值1,下拉源应该对连接到它的终端列表中的net赋值0。
在缺少强度的情况下,默认的强度是pull。如果对一个上拉源有strength1的强度或对一个下拉源有strength0的强度,这个信号应该有指定的强度。对一个上拉源的strength0的强度或对一个下拉源的strength1的强度应该被忽略。
对这些源应没有延迟规格。
例如:
以下例子声明两个pullup实例:
pullup (strong1) p1 (neta), p2(netb);
在这个例子中,实例p1用strong强度驱动neta和实例p2用strong强度驱动netb。
7.9 Logic strength modeling
Verilog HDL为信号竞争,双向通过门,电阻MOS器件,动态MOS,电荷分配和通过允许net信号值有一个完整范围的未知值和不同的强度等级或等级的组合
其他依赖于技术的网络配置提供精确建模。这种多级逻辑强度建模解析为已知或未知值,以较高的精度体现硬件的行为。
强度规格有两种元件:
A)net值为0的强度,被称作strength0, 指定为下列之一:
supply0 strong0 pull0 weak0 highz0
B)net值为1的强度,被称作strength1,指定为下列之一:
supply1 strong1 pull1 weak1 highz1
(highz0, highz1)和(highz1,highz0)组合被认为是不合法的。
尽管强度规格有这样的划分,为了预测信号组合的结果,把强度看做一个占据连续区域的属性是有帮助的。
Table 7-7—Strength levels for scalar net signal values
在表7-7,有四种驱动强度:
supply strong pull weak
具有驱动强度的信号应该从门输出和连续赋值输出传播。
在表7-7,有三种电荷存储强度:
large medium small
具有电荷存储强度的信号应该作用于trireg。
我们可以把表7-7中的强度信号看做图7-2中刻度上的位置。
Figure 7-2—Scale of strengths
本节后面对信号组合的讨论使用了类似于图7-2中使用的图形。
如果net的信号值是已知的,它的所有强度等级要么是图7-2中的strength0部分,要么是strength1部分。如果一个net的信号值是未知的,它应该有两种strength0和strength1强度等级。带有信号值z的net应该只在刻度部分的0细分中有一个强度等级。