12.2. Switch Level Predefined Primitives
Basic MOS Primitives
​
Verilog provides built-in primitives for transistor-level modeling:
​
NMOS Switch
​
nmos instance_name (drain, source, gate);
​
PMOS Switch
​
pmos instance_name (drain, source, gate);
​
CMOS Transmission Gate
​
cmos instance_name (output, input, ngate, pgate);
​
Power Supply Primitives
​
Supply1 - Power (VDD)
​
supply1 vdd; // Logic 1, highest drive strength
​​
Supply0 - Ground (GND)
​
supply0 gnd; // Logic 0, highest drive strength
Resistive MOS Primitives
​
RNMOS - Resistive NMOS
​​
rnmos instance_name (drain, source, gate);
​
// Reduced drive strength, models real transistor resistance
​
RPMOS - Resistive PMOS
​
rpmos instance_name (drain, source, gate);
​
// Reduced drive strength
​
RCMOS - Resistive CMOS
​
rcmos instance_name (output, input, ngate, pgate);
​
Pull Gates
​
Pullup - Weak pull to 1
​
pullup (signal); // Weak logic 1
​
Pulldown - Weak pull to 0
​​
pulldown (signal); // Weak logic 0
12.2.1. NMOS and PMOS Behavior
​
12.2.2. CMOS Logic Gates
​
12.2.3 Transmission Gates
​
12.2.4. Resistive MOS Switches
​
