Home > Study > CMOS VLSI Design > LAB > CMOS Inverter

CMOS Inverter

CMOS Inverter Simulation with Synopsys Custom Compiler

This guide walks through creating, simulating, and analyzing a CMOS inverter schematic using Synopsys Custom Compiler and PrimeWave.


1. Library and Cell Setup

Create a new library:

  1. New → Library
  2. Set attributes:
    • Name: Library name
    • Technology: Select tech library

library
library


Create a new CellView:

  1. File → New → CellView
  2. Configure:
    • Cell Name: Inverter
    • View Name: schematic

cellview
cellview


Design Settings:

Options → Design → Configure:

  • Snap Spacing (X,Y): Grid spacing
  • Solder Dot Size: Connection point size
  • Fat Wire Width: Thick wire width
  • Default Net Prefix: Signal prefix

design
design


2. Schematic Design

Add Components:

Use the Add tool (I=Instance, W=Wire, L=Label, P=Pin):

add

Add
I W L P
Instance Wire Label Pin

CMOS Inverter Schematic:

  1. Place PMOS and NMOS transistors
  2. Connect to VDD (top) and VSS (bottom)
  3. Add input (VIN) and output (VOUT) pins

cmos_not

CMOS Schematic

Component Properties:

Select components → Press q → Configure:

  • Transistor dimensions (W/L)
  • Net connections

property
property


3. Symbol Creation

Generate Symbol:

symbol
symbol
symbol


Pin Arrangement:

Position Pin Name
Left VIN
Right VOUT
Top VDD
Bottom VSS
Adjust Pins

symbol


Final Inverter Symbol:

Not symbol

4. Test Schematic Setup

Create Testbench:

not_test
not_test


Add Components:

  1. Inverter symbol (Instance)
  2. Ground (GND)
  3. Voltage source (VDC)

instance_not
instance_gnd
instance_vdc


Configure Voltage Sources:

Component Property Value
VDD Voltage 1.8V
VIN Voltage DC variable
VSS Voltage 0V

property


5. Simulation with PrimeWave

Launch PrimeWave:

primewave


Set Model Files:

primewave
primewave
primewave


Configure Simulation:

  1. Model Section: Select (e.g., FF)
  2. Variables: Copy from Design → Set VIN=0 (설정하지 않으면 simulation이 안나올 수 있다)
  3. Simulation Engine: PrimeSim HSPICE

primewave
primewave
primewave
primewave
primewave


Run Analysis:

  1. Setup → Analyses
  2. Analysis Type: dc
  3. DC Analysis → Design Variable
  4. Variable Name, Sweep Type: VIN
  5. Start, Stop, Step Size: e.g., 0, 1.8, 0.01

primewave
primewave
primewave
primewave


Run Simulation:

primewave


Results:

NOT WaveView

primewave


6. Troubleshooting

Schematic Lock Issue:

Delete lock file: *sch.oa.cdslck

del_lck


Advanced Configuration:

  • Variable overrides
  • Simulator options

variable1
variable2
variable3
variable4

tools1
tools2
tools3
tools4


Key Notes

  1. VIN Initialization: Must be set to 0V for DC sweep
  2. Model Selection: Use correct technology corner (e.g., FF)
  3. Port Connections: Verify VDD/VSS connections in test schematic

This structured guide ensures reproducible CMOS inverter simulation with clear visualization at each step.