Schematic pcell implementation in Virtuoso platform

Post on 30-Nov-2021

10 views 0 download

transcript

October 5, 2004 1

Schematic pcell implementation in Virtuoso® platform

Presenter –Umesh SisodiaOn behalf of: Pranav Bhushan

Cadence Design System

September 2004

October 5, 2004 2

Content

• What are parameterized cells ?• Motivation • Creating a schematic pcell• Pcell architecure• Examples from Virtuoso® analogLib• Future work

October 5, 2004 3

What are parameterized cells ?

• Graphic, programmable, generic cell• Allows customized instances• Layout pcells are in use since many years• Schematic pcell is a relatively new concept• Required for changes in :

– Pins– Size– Structure/Shape

• Independent of underlying database• Open Simulation System (OSS) supports pcells

October 5, 2004 4

Advantages

• Faster library development• Compact and efficient libraries• Less maintenance• Reduces chances of errors• Eliminates hierarchy explosion for small changes

October 5, 2004 5

Creating a schematic pcell

•Steps to create a pcell

•Create and edit skill code

•Compile pcell

•Define CDF parameter(s)

•Test pcell

•Netlisting support

•Post processing support

October 5, 2004 6

Defining a pcellskill code

pcDefnePcell (list( ddGetObj(“libName”) “cellName”

“viewName” “viewType”

)

( ( param1 “defaultValue” )( param2 10 ) ….

)

( ;; Create symbol shape & connectivity)

)

•Compiled skill function < 64 K

•You can call your own functions within pcells

•pcCellView is an internal variable automatically created

•Should be compiled in PD workbenches ( icfb, layoutPlus etc. )

Cell Identifier section

Formal Parameters

Body of pcell

October 5, 2004 7

Specifying parameter values

The order in which system looks for value of parameters

1. On the instance2. In the CDF for cell3. In the CDF for library4. In the pcDefinePcell function ( default values )

October 5, 2004 8

Pcell architecure

•You cannot descend into submaster from an instance of pcell.

•Edits to master does not reflect on instances unless you compile.

October 5, 2004 9

Examples from Virtuoso®

analogLib

• ${CDS_INST_DIR}/tools/dfII/etc/cdslib/artist/analogLib• Some pcells in Virtuoso® analogLib:

– ibis_buffer– mtline– nport– scasubckt– vccsp– vcvsp

October 5, 2004 10

Virtuoso® analogLib:ibis_buffer

• Formal Parameters:– Buffer Variant ( buffervariant )– Buffer Type ( bufferType )

October 5, 2004 11

ibis_buffer cont…

Buffer Type

October 5, 2004 12

Virtuoso® analogLib:mtline

• Formal Parameters:– Number of lines (n)– Use LMG subckt (uselmg )

October 5, 2004 13

Setting Instance Parameters

October 5, 2004 14

Setting Instance Parameters …

October 5, 2004 15

Setting Instance Parameters …

October 5, 2004 16

Setting Instance Parameters …

October 5, 2004 17

Setting Instance Parameters …

October 5, 2004 18

Setting Instance Parameters …

October 5, 2004 19

Setting Instance Parameters …

October 5, 2004 20

Setting Instance Parameters …

October 5, 2004 21

Setting Instance Parameters …

October 5, 2004 22

Setting Instance Parameters …

October 5, 2004 23

Setting Instance Parameters …

October 5, 2004 24

Setting Instance Parameters …

October 5, 2004 25

Setting Instance Parameters …

October 5, 2004 26

Setting Instance Parameters …

October 5, 2004 27

Future work

• Virtuoso® AMS designer does not fully support pcells• Dynamic simInfo (Netlister support)• Dynamic termOrder, termMapping (Post-processing)• New components in Virtuoso® analogLib (on need basis)