Questa è una vecchia versione del documento!
Design hierarchy
[ Home ] [ VLSI Design WorkBook ] [ Back to index ]
Contents
- Introduction
- Libraries
- The
cds.lib
file - Cells
- Cell views
- Using the Library Manager
- Creating a new library
- Creating a new cell
- Opening an existing cell
- Copying and deleting
- Managing libraries with the Library Path Editor
Keywords:
Introduction
bottom-up design approch, from the transistor level a blocks poi riutilizzati e cosi' via in un disegno gerarchico
Libraries
Standard Cadence libraries
tra cui la analogLib which contains ideal components such as
ideal R, L, C, both independent and controlled voltage/current sources
Technology libraries
provided by the process design kit (PDK)
Tipicamente ce ne sono diverse! la standard library con transistors, diodes,
capacitors, resistors etc. ma poi ci sono anche one ore more digital libraries
cosi' come chip-level structures such as input/output pads, power/ground pads
or electrostatic discharge (ESD) protections, guard rings etc.
User libraries
Tutte le altre custom libraries created by the user, che contengono instances
of both Cadence and PDk libraries
Cosa fondamentale, dal punto di vista UNIX sono UNIX directories
The cds.lib file
IMPORTANTE! Sarebbe cosa buona e giusta avere due cds.lib
distinti,
uno nella home con le librerie cadence e uno nella working directory
che include gli altri
# standard Cadence libraries INCLUDE $ID_DIR/../cds.lib # PDK libraries INCLUDE /path/to/technology/cds.lib # user libraries DEFINE libName /path/to/libName DEFINE ... ...
per convenzione le user libraries vanno in una lib
or libs
directory
in the working directory,
cd ~/scratch/<tech_dir> mkdir lib
Nel caso del tutorial una ~/scratch/tutorials
cosi' nel cds.lib sara' del tipo
DEFINE libName /export/eltxxxx/disk0/users/<username>/scratch/<tech_dir>/lib/libName
Cells
Cosa fondamentale, dal punto di vista UNIX sono UNIX directories
Cell views
schematic
symbol
layout
behavioral
extracted
si tratta della extracted netlist
Assura produce una cell view named av_extracted,
Calibre una cell view named calibre
abstract
Fondamentale se si lavora con standars cells released by a manufacturer as
analog or digital intelletual property (IP) blocks,
in pratica non vedo dentro come e' fatto il layout
ma solo i pin di collegamenti
adexl
advanced simulations such as corner analysis and Monte Carlo simulations
in Virtuoso ADE XL e gli stati sono salvati in a particular cell view of the type adexl
dal punto di vista UNIX sono UNIX directories anche queste messe in ./lib/libName/cellName/viewType
e.g. ./lib/libName/cellName/schematic
or ./lib/libName/cellName/layout
poi dentro questa directory ci sono specific Cadence files.
Using the Library Manager
Creating a new library
libraryName/cellName/cellviewName
Library Manager (LM)
types of libraries: Cadence libraries, technology libraries and user libraries
tools e' un link simbolico alla directory tools.lnx86
CIW ⇒ Tools ⇒ Library Manager…
LM ⇒ File ⇒ New ⇒ Library…
New File window
Technology File for New Libarary window
Do not need process information
Se invece si runna il tutorial attaccandosi alla 130 nm scegliere Attach to an existing technology library e poi selezionare cmrf8sf
Creating a new cell
Opening an existing cell
Attenzione anche alle permissions! Io una cell la posso anche aprire da un collega ma solo in read-only mode ! (as a matter of fact a cell view is a UNIX file and follows standard UNIX files rules). Solo se e' nella mia local area la posso aprire in edit mode, pero' posso sempre fare una copia locale della cella
Copying and deleting
Per poter editare libraries and cells placed outside your local area (e.g. you want to use a building block implemented by a collegue) you have to make local copies of them perche' non si hanno UNIX write permissions quindi un
cp -r /path/to/libName ~/scratch/<tech_dir>/lib/libName
or
cp -r /path/to/cellName ~/scratch/<tech_dir>/lib/libName/cellName
Oppure uso il Library Manager, pero' la libreria che voglio copiare
deve essere nel cds.lib
perche' sia visibile
Managing libraries with the Library Path Editor
Solo per dire che il cds.lib
file lo posso editare anche via GUI