Help and documentation

Contents

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!

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.

FIXME
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 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 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/

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.

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 !

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.

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
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

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:

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.



Last update: Luca Pacher - Mar 8, 2013