Help and documentation
[ Home ] [ Design WorkBook ] [ Back to index ]
Contents
- BSIM4 User Manual
Keywords:
Introduction
Help and documentation play a central role in the design activity. EDA tools are generally very complex and setting them up and utilizing them effectively can be less-than-intuitive and time consuming without adequate help and documentation. Furthermore, exhaustive documentation is of primary importance to succesfully work with a specific fabrication technology.
Much of the documentation about various design platforms that can be found browsing the Web is in form of tutorials and HowTo's rather than detailed manuals, often not completely up-to-date with the latest package releases and simulation tools. As a matter of fact the most important source of documentation is offered by the tools themselves. Each design platform as well as stand-alone tools offer a huge amount of documentation which comes with the standard installation, usually in form of html and pdf files. This documentation should be the first source of reference whenever you have a question that is not answered inside these Wiki pages. Please, keep in mind that such kind of information is proprietary and confidential, as discussed below.
In this chapter we describe where you can find the documentation and how to use it, aware that new users may fear seeking help from the other experienced designers, professors and professional researchers, with the result that too often the time is just wasted reinventing the wheel. Even a simple pdf page can be hard to find!
Cadence documentation
The most part of the design tools licensed by INFN for the VLSI laboratory comes from Cadence Design Systems. Actually, tens of different tools for analog, mixed-mode and digital IC design are grouped into various design platforms (also called packages), providing unified front-to-back design environments. Due to the complexity of such platforms, Cadence offers extensive documentation for these tools and each collection of tools comes with its own documentation.
Cadence packages are installed under /usr/cadence/
on the VLSI computing cluster,
which is a symbolic link to /export/elt59xl/disk0/cadence/
on the elt59xl server machine.
The documentation which comes with a package can be found inside the top installation
directory, usually in /usr/cadence/<package>/doc/
(e.g. /usr/cadence/IC_6.1.5/doc/
for Cadence IC 6.1.5). Documents are provided both in form of html pages
and pdf files, in particular you can find one sub directory for each document
inside a /usr/cadence/<package>/doc/
directory. That is, each sub directory contains
the html sources and a single pdf version of a specific document.
Unfortunately these documents have short and quite cryptic file names, requiring that
you gain a little experience in guessing the content.
The html files are used by the Cadence Web-based help system, accessible through
simple graphical interfaces. Help and documentation for Cadence applications are available
'on-fly', because every window that opens up when you run a Cadence tool integrates a Help
button, usually placed at the top-right of main menu bar.
integrated, help system called cdnshelp.
Attenzione che di cdnshelp
executable ce n'e' uno per package!
/usr/cadence/<package>/tools/bin/cdnshelp
quindi uno per IC, uno per MMSIM, uno per RC, Incisive etc. ! ATTENZIONE a scriverlo!
La cosa migliore e' crearsi degli alias al comando nel .cshrc
alias package_help /usr/cadence/<package>/tools/bin/cdnshelp &
e.g.
alias virtuoso_help $IC_DIR/tools/bin/cdnshelp & alias mmsim_help $MMSIM_DIR/tools/bin/cdnshelp & alias incisive_help $IUS_DIR/tools/bin/cdnshelp & ...
Notare che quest alias sono gia' presenti in /usr/local/config/cds_config/CdsIC_615.rc!
alias help_cds_ic '$IC_DIR/tools/bin/cdnshelp &' alias help_cds_assura '$ASSURA_DIR/tools/bin/cdnshelp &' alias help_cds_ext '$EXT_DIR/tools/bin/cdnshelp &'
Oppure posso mettere tutto in uno scriptino cdnshelp.csh
or cadence_doc.csh
, che e' piu' elegante!
#!/bin/csh echo "Select Cadence documentation : " echo " [1] Cadence IC (Virtuoso) 6.1.5" echo " [2] Cadence Incisive 10.20" echo " [3] Cadence RC 9.10" echo " [4] Cadence SOC 8.10" echo " [5] Cadence EDI (Encounter)9.12" echo " [6] Cadence SPB (Allegro) 16.50" set answer = $< if ( $answer == "1" ) then source "/usr/local/config/cds_config/CdsIC_615.rc" /usr/cdsIC443/tools/bin/openbook & else if ( $answer == "2" ) then source "/usr/local/config/cds_config/CdsIC_445.rc" /usr/cdsIC445/tools/bin/openbook & else if ( $answer == "3" ) then source "/usr/local/config/cds_config/CdsPSD_136.rc" /usr/cdsPSD136/tools/bin/openbook & else if ( $answer == "4" ) then echo "Sorry, this option has not been cconfigured yet..." exit source "/usr/local/config/cds_config/CdsPSD_142.rc" /usr/cdsPSD142/tools/bin/openbook & else if ( $answer == "5" ) then echo "Don't forget to open Netscape..." source "/usr/local/config/cds_config/CdsIC_445.rc" /usr/cdsLDV31/tools/bin/cdsdoc & else if ( $answer == "6" ) then echo "Don't forget to open Netscape..." source "/usr/local/config/cds_config/CdsIC_445.rc" /usr/cdsLDV34/tools/bin/cdsdoc & else echo "Option not valid - exiting" endif
Ovviamente IC_DIR etc. devono essere settate, e.g. setenv IC_DIR /usr/cadence/IC_6.1.5
cdnshelp is the help document browser for Cadence. It opens .html files located in the install directory for each tool
virtuoso_help
Esiste anche la documentazione della documentazione in
la Cadence Help User Guide in
/usr/cadence/<package>/doc/cdnshelp/cdnshelp.pdf
for instance /usr/cadence/IC_6.1.5/doc/cdnshelp/cdnshelp.pdf
or /usr/cadence/EDI_9.12/doc/cdnshelp/cdnshelp.pdf
(documents are the same,
they might differ in the minor release number).
The Cadence documentation,on-line helps Html files are used by the Web based help system The pdf version of the web pages. There is also a java front end that can be started on the command line. cdsdoc has been replaced by a much simpler, more By clicking on this button will open the help documentation containing the information relevant to that window. Se also http://cadence.wikispaces.com/Documentation+index
Mentor Graphics documentation
Mentor Graphics stand-alone tools are installed
in the /usr/mentor/
(/export/elt59xl/disk0/mentor/
) directory.
From Mentor Graphics comes the Calibre physical verification tool, which is used for layout design rule checking (DRC), layout-versus-schematic (LVS) and parasitic extraction (PEX). The Calibre documentation is placed under
/usr/mentor/docs/docs_cal_2010.3_19.12/docs/
Html and pdf files are contained into two different sub directories named
htmldocs
and pdfdocs
.
Synopsys documentation
Synopsys stand-alone tools are installed
in the /usr/synopsys/
(/export/elt59xl/disk0/synopsys/
) directory.
From Synopsys comes the Verilog Compiler Simulator (VCS). The relative documentation can be found in
/usr/synopsys/vcs-mx_vD-2010.06/doc/
PDK documentation
The process design kit (PDK) installation for a particular technology is accompained by its own specific documentation. The amount of such documentation varies with the technology and also depends on the PDK source, which can be the manufacturer itself or a third party as Europractice IC fabrication services or CERN.
This documentation is in form of plain text documents (readme files, release notes,
HowTo's, rule files etc.) as well as traditional pdf documents, such as design manuals,
training and references to the usage of the PDK with Cadence or other design environments.
All the documentation is located under the top PDK installation directory.
Inspect the content of this directory and search for some doc/
or documents/
sub directories, text files, pdf files etc.
For more details about your specific technology, please refer to the information contained in the VLSI protected area.
Confidentiality of tools and technology information
Proprietary and confidential information cannot be included inside public VLSI Wiki pages.
All the Cadence tools and the associated documentation contain trade secrets and proprietary information protected by copyright laws, as well as Mentor Graphics and Synopsys applications. Thus any or parts of the documentation accompanying the EDA softwares licensed for the VLSI laboratory cannot be uploaded on these pages or published on the Web.
Technology information, such as device models, library files, datasheets and PDK documentation are very confidential and restricted. No information about technology processes can be disseminated to a third party or published on the Web. Moreover each VLSI user is bound to specific non-disclosure agreement (NDA) contracts with manufacturers (foundries) or third party IC fabrication services depending on the particular technologies involved in the research activity. Never disclose foundry secrets !
Build your own documentation repositories
The best way to to quickly access the documentation is just to make symbolic links to it in your local area, as described in http://cadence.wikispaces.com/Documentation+index.
The ~/scratch
area is a good place in which put the software
documentation. Go to your ~/scratch
and create a doc/
directory:
cd ~/scratch mkdir doc
Under ~/scratch/doc
you can then create further directories which will
contain Cadence, Mentor Graphics and Synopsys documentation:
cd ~/scratch/doc mkdir cadence mentor synopsys
At this point you can recursively make symbolic links (soft links) to all pdf documents
which come with a Cadence package or another tool. Simply run a command in the general form
find /path/to/installation/directory/doc -name "*.pdf" -exec ln -s {} . \;
The command performs a recursively search through all /path/to/installation/directory/doc
sub directories, looking for pdf files. When a pdf is found, brackets {}
are replaced with
the found pdf and a symbolic link pointing to that file is created in the current directory
(where you have run the command).
Follow this procedure for all the tools you are working with.
In particular, for Cadence packages create under ~/scratch/doc/cadence
a new directory for each platform documentation you want to link, e.g.
cd ~/scratch/doc/cadence mkdir virtuoso_6.1.5 cd virtuoso_6.1.5 find /usr/cadence/IC_6.1.5/doc -name "*.pdf" -exec ln -s {} . \;
In the same way you can link the pdf technology documentation.
Keep tools and technology documentation separated, hence link
the technology documents in your working directory:
cd ~/scratch/<tech_dir> mkdir doc cd doc find /path/to/PDK/installation/directory/ -name "*.pdf" -exec ln -s {} . \;
Since no quota limits has been set for VLSI users, in order to save disk space
please don't make unnecessary hard copies of pdf files in your local area,
use symbolic links indeed (the space taken by a symbolic link does not depend
on the space taken by the target!).
Now you have a nice collection of documentation available in your ~/scratch/doc/
and ~/scratch/<tech_dir>/doc/
directories, and accessing the various documents
will be fast and simple using a pdf reader. The default one available on Scientific
Linux distributions is Evince. Each time you need to open a pdf document simply
invoke the evince
executable (/usr/bin/evince
) at the command line followed
by the name of the pdf document, e.g.
cd ~/scratch/doc/cadence/virtuoso_6.1.5 evince anasimhelp.pdf &
If you are working remotely run the command in background with the &
to still
have the command prompt active. By default Adobe Reader may not be installed
on your machine, please check it out with the which acroread
command. If the application
is installed, then you can also use the acroread filename.pdf
command.
See also how to install Adobe Reader in your local area .
As already mentioned Cadence documents have some quite cryptic file names, (some are more clear than others) which require you gain a little experience in guessing the content. For this reason, whenever a new tool will be introduced in the WorkBook tutorials, detailed references to the related documentation will be provided as well.
Note
Do not print VLSI tools documentation ! Such files are hundreds of pages, it would be just a waste of paper.
Furthemore, hardcopies are explicitely denied by copyright laws and policies.
Command line help switches
Many Cadence executables offer additional text information in form of command line helps.
Just invoke in a terminal window a tool executable by adding a -h
or -help
switch:
executable -help
The output typically contains a short description of the available switches and parameters
that can be passed when you launch the executable. If you retrive a Command not found
error the executable has not been included in the UNIX system search path, please check
your environment setup.
If you want to save a local copy of such information you can redirect the screen output
to a text file with >
or >>
operators, e.g.
cd ~/scratch/doc/cadence virtuoso -help > virtuoso.help
BSIM4 User Manual
cd ~/scratch/doc mkdir bsim cd bsim mkdir bsim3 bsim4 bsim6
Download the latest version of the BSIM4 User Manual from
http://www-device.eecs.berkeley.edu/bsim/?page=BSIM4_LR
cd ~/scratch/doc/bsim/bsim4 wget http://www-device.eecs.berkeley.edu/bsim/Files/BSIM4/BSIM470/BSIM470_Manual.pdf
Web resources
The documentation which accompanies each tool is comprehensive and exhaustive, but sometimes dispersive. As a matter of fact, each pdf document consists of hundreds of pages and it might be difficult to quickly find the answer to a specific problem.
That's why you should use the Web extensively too. It is very likely that any questions you face have already been posed (and solved!) in the Web design community. There are lot of forums dedicated to the VLSI IC design, for instance EDAboard and the Designer's Guide community. You can also browse the official Cadence forums. If you don't get a hint with your first search, try various search combination in Google and you are likely to end up with something that answers your questions, whether it is related to a tool or a technology issue. We encourage new users to join these forums themselves (the registration is completely free of charge). Simply post a new thread whenever you have a question that is not answered in the WorkBook pages or with your Google search.
Browsing the Web will turn up tens of tutorials and HowTo's as well, typically published by other research institutes and universities. As already mentioned such documentation is often neither in-depth and nor up-to-date with the latest software releases. Complete lists of these tutorials have been collected and accompain each WorkBook Part. Wherever required, specific references to these resources will be included in the tutorials.
Useful links might be:
- The Designer's Guide Community (people from Cadence are active on this forum)
Reference books
A large amount of literature about microelectronics and VLSI IC design and fabrication has been proposed in the past decades. To save time, a detailed list of various reference books is included in the Wiki and can be found in Books. Titles marked with [x] are available in the VLSI laboratory.
A further list of books and readings recommended by members of the Designer's Guide community can be found here.