Running LVS from command line?

Skip to first unread message

Jackson Harvey

Nov 6, 2002, 2:27:51 PM11/6/02

Openbook mentions that LVS can be run from the command line, but does
not give any details. Is there some documentation somewhere to tell how
to do this? I am using Cadence 4.4.6.

Thanks in advance,
Jackson Harvey

Bernd Fischer

Nov 6, 2002, 3:11:49 PM11/6/02

If you mean with LVS 'Diva LVS' and with command line
the command line of an UNIX Terminal, use

See bellow, btw. its form cdsdoc
Diva Reference, Product Version 4.4.6,
Chapter 3

If you mean the CIW input pane or Assura LWS come back to me.

Regards Bernd

Executing Diva Verification using UNIX

You can run this verification as a batch program from the UNIX prompt. This
section gives you the syntax, description, and examples for the UNIX


ivVerify ( [cell] [view]
[-lib library]
[-dir directory_name]
[-rsf run_specific_rules_name]
[-set switch_name] ...
[-rl rules_lib_name]
[-rf rules_file_name]
[-ru unix_file_path]
) => t / nil


Runs DRC and extraction from the UNIX environment.

For all optional arguments, you must use a keyword preceded by a minus. You
can abbreviate all the keywords to the first letter.


One of three keywords.

Starts a DRC run.

Starts an extraction run.

Restarts a DRC or Extraction run previously saved using the checkPoint

You must specify the name of the checkpoint directory defined in the
checkPoint command.

restart -dir directory_name

The restart point is at the last checkpoint saved in the directory.

When restarting a run, you cannot change the verification rules command
stream except to add additional checkpoint commands after the
command that created the current checkpoint. You can find the current
checkpoint by viewing the line file in the checkpoint directory. This file
contains the line numbers of the checkpoints in the command file.

When you use restart, you can only specify the restart directory name
and the option -echo.

Name of the cell to be processed. Do not use with restart.

Name of the cellview to be processed. Do not use with restart.

Name of the library of the cell to be processed (top level). If you
don't specify a library, the system uses the first cellview it finds that
the specified name by scanning all libraries specified in the cds.lib

-lib mylib

Used with restart to specify the name of the checkpoint directory.

Name of the file that contains run-specific commands. If you do not use
this option, no run-specific file is used.

-rsf myrules

List of switches to be used in the conditional rules execution. You
must enclose two or more switches in quotation marks and put a space
between the keyword and the opening quote.

-set docap
-set "docap dores"

You must use this option if you have not used the drc? and extract?
commands in the verification rules. Otherwise, no switches are set. If you
have used drc? and extract?, you do not need this option.

Specifies that full analysis is to be performed for DRC. If you do not
use this keyword, the program performs incremental analysis, and checks
only those areas that changed since the last DRC run.

For extraction, this optional keyword is only meaningful during
hierarchical analysis. If used, all cells throughout the hierarchy are analyzed.
If not,
only those cells that have changed since the last extraction are

For flat extraction, a full analysis is always performed.

Performs hierarchical analysis. If not used, flat analysis is

Note: For extraction -hier takes precedence over -macro.

Echoes commands as they are executed when set to t.

Performs macro cell extraction. If not preset, normal extraction is

Applies pattern recognition optimization to the hierarchical analysis.
This option only applies if the keyword -hier is defined.

A fixed point number that defines the cell inclusion-exclusion value.
If not defined, the value is defaulted to zero.

-inc 3

Merges nets with the same name into a single net during connectivity
analysis. If this option is not used, a warning message is generated when
two or more nets have the same name.

Definition of a rectangular area of the circuit to be processed. The
definition has this form

-area "list( 0:0 10:10 )"

The definition is enclosed in quotation marks and consists of the list
function with two pairs of coordinates in parentheses. Each value in the
coordinate pairs is separated by a colon, and the two pairs are
separated by a space.

The first coordinate pair defines the lower left corner of the area to
be processed, and the second coordinate pair defines the upper right corner of
the area to be processed.

Sets the halo to be used in area processing to zero. The halo is the
distance added around the checking area to ensure all interactions and
relationships that could affect the data in the area are included.

The halo distance normally used is dependent on the dimensions in the
rules file and the conjuncted relationships between rules. For some rule
sets, the halo can be very large and have a serious impact on run time.

This option can cause true violations to be missed and should only be
used with discretion.

This option is disabled when running in hierarchical or incremental
modes, and is overwritten by the drcZeroHalo command in the run-specific file.

The name of the library from which the rules are read.

If you do not use this option and you use the -rf option, the program
gets the rules from the default technology library.

The path name of the rules file in the library.

The rules file can be referenced in a library only from the library
directory itself, the cell directory, or the view directory.

If you do not use this option and you define the library by the -rl
option, the default rules file name of or are referenced
from the library directory level.

If you do not use this option and you also do not use the -rl and -ru
options, the program gets the rules from the default rules file name in the
default technology library at the location of the techfile.cds file.

The path name of the rules file to be read from the UNIX environment.

This option is not valid in conjuction with the -rl and -rf options.

The name of the cell view for the extracted view. The default name is

The name of the cell view for the excell view. The default name is

Values Returned

Returns t if the execution succeeds.

Returns nil if the execution fails.


The following are examples of the ivVerify command.

ivVerify drc mycell layout -lib mylib -echo -full -join

Runs full flat DRC on mycell layout in the library mylib. Echoes all Diva
verification commands to the CIW and enables joinable nets.

ivVerify restart -dir save_dir -echo

Restarts a DRC using the checkpoint directory save_dir and echoes the this
tool's commands to the CIW.

ivVerify extract mycell layout -lib mylib -macro
rsf myrules

Runs a macro Extraction on a design, using commands in the run-specific
file myrules.

ivVerify extract mycell layout -inc 3 -set "dores docap"

Runs an incremental flat Extraction on the design, using an inclusion value
of 3 only after evaluation of switches dores and docap.

Bernd Fischer

Nov 6, 2002, 3:15:54 PM11/6/02

I should have read the description before.
Regarding the description I believe it's only possible to run
a Diva DRC and Extraction from an UNIX cmd. line.



Bernd Fischer

Manager Xignal Technologies AG
Electronic Design Automation Leipziger Str. 16
D-82008 Unterhaching
Fon: +49 89 32 22 72-184
Fax: +49 89 32 22 72-14

Edward J Kalenda

Nov 6, 2002, 7:27:03 PM11/6/02
If you know what to put in the si.env file, you can create a LVS run
directory and use si -batch to generate the netlists and run LVS. If you
already have the netlists, you can simply run LVS. Try looking at the
si.env in the run directory created by an interactive run.

I just realized I cannot confirm that si.env is the correct file. It's
one of the files in the run directory. Experiment a little.

On Wed, 06 Nov 2002 13:27:51 -0600, Jackson Harvey <>

Andrew Beckett

Nov 6, 2002, 11:53:45 PM11/6/02
Ed is correct about doing the si -batch and it being si.env that
you need to create.

Whether you have the netlists or not though, I'd run it via si rather
than trying to invoke LVS directly (because you have to get the arguments
right, get the rule file and so on).

So, what I've always done is:

1. Create a directory
2. Create an si.env file (look at one from an interactive job run dir
to work out what to put in this file; it's quite straightforward)
3. si -batch <runDir>



Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd

Aisha Meena

Jun 7, 2021, 6:22:19 AM6/7/21
Can we run DRC/LVs calibre on UNIX terminal with just library and cell name

Aisha Meena

Jun 7, 2021, 6:23:43 AM6/7/21
can we run LVS/DRC calibre for a cell on unix terminal using just the library and cell name?
Reply all
Reply to author
0 new messages