开关级建模17 Mar 2025 | 4 分钟阅读 开关级建模提供了逻辑级和模拟晶体管级之间的一个抽象层。它描述了传输门的互连,传输门是单个 MOS 和 CMOS 晶体管的抽象。 开关级晶体管被建模为开启或关闭,导通或不导通。互连携带的值从整个范围的模拟电压或电流抽象为少量离散值。 这些值被称为信号强度。 Verilog 也提供对晶体管级建模的支持。 然而,由于电路的复杂性要求他们转向更高的抽象级别,而不是使用开关级建模,所以现在设计人员很少使用这些。 通常,晶体管级建模是指使用具有模拟输入和输出信号值的晶体管模型来建模硬件结构。 另一方面,门级建模是指使用具有数字输入和输出信号值的门模型来建模硬件结构,这两种建模方案之间被称为开关级建模。 晶体管仅表现出数字行为,并且它们在晶体管级的输入和输出信号值仅限于数字值。 Verilog 使用 4 值逻辑值系统,因此 Verilog 开关输入和输出信号可以采用四种0、1、Z 和 X 逻辑值中的任何一种。 开关级原语开关是单向或双向的,并且对于每个组而言是电阻性的或非电阻性的,那些使用正栅极(例如 NMOS 晶体管)打开的图元和那些使用负栅极(例如 PMOS 晶体管)打开的图元。
MOS 开关可以使用关键字 nmos 和 pmos 定义两种类型的 MOS 开关。
在 Verilog 中,nmos 和 pmos 开关显示如下 由于开关是 Verilog 原语(例如逻辑门),因此实例的名称是可选的。 因此,可以实例化一个开关而不分配实例名称。 out 信号的值由数据和控制信号的值确定。 数据和控制信号的某些组合会导致门输出 1 或 0 或 z 值,而对任何一个值都没有偏好。 符号 L 代表 0 或 Z; H 代表 1 或 z。 因此,当 nmos 开关的控制信号为 1 时,它会导通。 如果控制信号为 0,则输出假定为高阻抗值。 类似地,如果控制信号为 0,则 pmos 开关导通。 CMOS 开关CMOS 开关使用 cmos 关键字声明。 可以使用 nmos 和 pmos 设备来建模 cmos 设备。 CMOS 开关的实例化如下所示,例如 ncontrol 和 pcontrol 通常互为补充。 当 ncontrol 信号为 1 且 pcontrol 信号为 0 时,开关导通。 如果 ncontrol 为 0 且 pcontrol 为 1,则开关的输出为高阻抗值。 cmos 门本质上是两个门的组合:一个 nmos 和一个 pmos。 因此,上面显示的 cmos 实例化等效于以下内容。 双向开关NMOS、PMOS 和 CMOS 门从漏极到源极导通。 拥有双向导通的设备非常重要。 在这种情况下,设备任一侧的信号都可以是驱动信号。 为此目的提供了双向开关。 三个关键字用于定义双向开关,例如 1. tran: tran 开关充当两个信号 inout1 和 inout2 之间的缓冲器。 inoutl 或 inout2 都可以是驱动信号。 2. tranif0: 仅当 control 信号为逻辑 0 时,tranif0 开关才连接两个信号 inout1 和 inout2。 如果控制信号为逻辑 1,则非驱动信号获得高阻抗值 z。 驱动信号保留其驱动器的值。 3. Tranif1: 如果 control 信号为逻辑 1,则 tranif1 开关导通。 当信号通过电阻性开关时,会降低信号强度。 常规开关保留从输入到输出的信号强度级别。 下一个主题用户定义的原语 |
我们请求您订阅我们的新闻通讯以获取最新更新。