Cadence Virtuoso

Schematic

Tips

Using netSet and Net Expressions. In the lower hiererchy cell use Create > Net Expression… and give it a name and a global default value. In the upper hierarchy level use Edit > Net Expression > Available Properties… to connect the net to one existing in the upper hierarchy level. If a component only accepts net connections through netSet, and you want to use a net expression there, use the format [@net_name:%:net_name!].

Using variables as instance parameters. In the instance parameter insert pPar("varname"). Go to the CIW > Tools > CDF > Edit and add the varname to the Base CDF layer. varname will now appear as a parameter you can set when instancing your cell.

Series components. e.g. a ring oscillator with series inverters. Input net: IN,A<0:9>. Output net: A<0:9>,OUT.

Shortcuts

Function

Key

Notes

Draw wire

w

Click the middle mouse button to toggle routing style

Draw thick wire

W

Label wire

l

Separate multiple names with spaces

Add pin

p

Add instance

i

Undo

u

Redo

U

Copy

c

Move

m

Middle click to rotate while moving

Rotate

r

Fit to window

f

Zoom out/in

[ / ]

Zoom to rectangle

z

Previous zoom level

Z

Descend into instance (read)

e

Descend into instance (edit)

E

Return to higher hierarchy level

Ctrl + e

Save

x

Will delete undo history!

Check and save

X

Will delete undo history!

Change display options

o

Magnifier

.

Highlight net

9

Right click on net to remove

Change object properties

q

Text note

Shift + n

Create symbol

Alt + c > c > c

Open symbol

Alt + f > e

Make editable / read only

Alt + m

Layout

Tips

To highlight an electrical net, select Connectivity > Nets > Mark… Then use F3 to select the layers via which you want to trace. Turn off NP, PP, CO to prevent highlighting the substrate.

For labels generated inside scripts it’s usefule to use Tools -> Create Pins From Labels after importing them into a layout.

When creating a cell to mosaic, you can draw a rectangle in the instance;drawing layer to define the instance outline size.

Preferences

E > Dim Major Dots

Options > Selection > Disable “Select objects larger than the window”

Shortcuts

Function

Key

Notes

Options of current tool

F3

Very useful

Draw rectangle

r

Draw path segment

p

Draw polygon

P

Undo

u

Redo

U

Save

F2

Copy

c

Repeat Copy

Alt + e > r r > Enter

Press . to repeat initial copy.

Move

m

Toggle snapping mode

n

Quick align

a

Stretch

s

Rotate

O

Ruler

k

Deselect

Ctrl + d

Delete rulers

K

Display options

e

Layout editor options

E

Zoom in

Ctrl + z

Zoom out

Z

Zoom to rectangle

z

Fit view to window

f

Previous zoom level

w

Next zoom level

W

Create via

o

Add pin label

l

Add instance

i

Change select mode

F4

Edges or complete shapes

Show instance detail

F

Hide instance detail

Ctrl + f

Cut into shape

C

Merge shapes

M

Add to shape

R

Object properties

q

Descend (read/write)

X

Descend (edit in place)

x

Ascend

B

Toggle info baloon

Ctrl + b

Mark net

Alt + n > n m

Remove net highlights

Alt + n > n n

Toggle gravity

g

Draw metal buses

Ctrl + Shift + x

F3 to change spacing and widths. Right click for via options.

Library

Find and delete locks in library

find . -name "*lck*"
find . -name "*lck*" -delete

ADE Explorer

Useful Expressions

Plot a digital bus from analog waveforms

awvCreateBus("SIGNAL" awvAnalog2Digital(list(VT("/SIGNAL<7>") VT("/SIGNAL<6>") VT("/SIGNAL<5>") VT("/SIGNAL<4>") VT("/SIGNAL<3>") VT("/SIGNAL<2>") VT("/SIGNAL<1>") VT("/SIGNAL<0>")) nil nil 0.5 nil "centre") "Unsigned Decimal")

Adjust list() as needed, MSB first. Example for 8 bit signal.

0.5 is the threshold.

“Unsigned Decimal” can be one of: “Binary” “Signed Decimal”

ADE Assembler

Customization Script

https://relyveld.wordpress.com/cadence-page/