link

Built-in Primitives

正式定义

内置原语提供了一种门和开关建模方法。

简化语法

对于and、nand、 or、nor、 xor、xnor、 buf、not

  门(drive_strength)#(2delays)instance_name[range](list_of_ports);

对于bufif0、bufif1、 notif0、notif1

  gate (drive_strength) #(3delays) instance_name[range] (list_of_ports);

对于nmos、pmos、 rnmos、rpmos、 cmos、rcmos、 rtranif0、rtranif1、 tranif0、tranif1

  门#(3delays) instance_name[range] (list_of_ports);

对于tran , rtran

  门 instance_name[范围] (list_of_ports);

  pullup (pullup_strength) instance_name[range] (list_of_ports);

  pulldown (pulldown_strength) instance_name[range] (list_of_ports);

描述

门或开关声明以确定门或开关类型的关键字开头,后跟强度和延迟声明、实例名称、范围以及到门或开关端口的连接列表。强度和延迟声明是可选的。实例的名称和范围也是可选的。各个门类型的实例化并不相同。

and, nand, or, nor, xor, xnor门

这些逻辑门(示例 1)的实例化可以包含零个、一个或两个延迟。强度声明应包含两个指定的强度 - strength1 和strength0(有关更多说明,请参阅强度 )。

这些门有一个输出和一个或多个输入。端口列表中的第一个端口是输出端口。







0

1个

X

z

0

0

0

0

0

1个

0

1个

X

X

X

0

X

X

X

z

0

X

X

X







与非

0

1个

X

z

0

1个

1个

1个

1个

1个

1个

0

X

X

X

1个

X

X

X

z

1个

X

X

X

表 1 逻辑门的真值表

buf 而不是门

这些逻辑门的实例化(示例 2)可以包含零个、一个或两个延迟。强度声明应包含两个指定的强度 - strength1 和strength0(有关更多说明,请参阅强度)。

这些门有一个输入和一个或多个输出。端口列表中的最后一个端口是输入端口。