Browser policy: we strive to support all recent and popular browsers for proper functioning; using a less recent browser, this site may suffer from visual defects, as well as minor functional defects. | |
| |
home > documentation
| | print |
MATCHNAMESYNOPSISPARAMETERSOPTIONSDESCRIPTIONEXAMPLESREMARKSDIAGNOSTICSRETURN STATUSFILESSEE ALSONAME |
match - a network comparison program
|
SYNOPSIS |
match [options] nominal_network actual_network
|
PARAMETERS |
Name of the nominal network
|
|
Name of the actual network
|
OPTIONS |
Print the release number of this tool.
|
|
Print a binding table on the stdout. Only nets and
terminals are listed.
|
|
Print a full binding table on the stdout. All matched
devices are listed as well.
|
|
Line printer compatible output. The VT100 compatible
graphical characters used to print the binding table are
replaced by ordinary ascii characters. This option is also
set by the -file option.
|
|
-List
|
|
Print a listing of both networks on the stdout.
|
|
Print a listing of both networks on the stdout after they
have been expanded.
|
|
Silent mode. Only error messages are printed.
|
|
Verbose mode. Print additional process information on
stderr.
|
|
Match terminals, nets and devices by name before starting
the actual network comparison. Elements having names
starting with an underscore ('_') or a number
('0'-'9') are not considered in this
stage. This option can be used to assert equivalences
between network elements via their names.
|
|
Ignore capacitors in both network descriptions.
Capacitors are simply removed.
|
|
Specify the allowable relative difference between two
capacitors. This option is equivalent to -range
cap:v,value. v is the name of the parameter to
which the size of a capacitor is assigned in the
database.
|
|
-edif
|
|
Produce output in an edif-like format that can be used
as input for the program highlay(1ICD).
|
|
-files
|
|
Specifies that nominal_network and
actual_network are the names of files that contain
complete sls network descriptions. The last network in each
file is the one that needs to be processed.
|
|
Redirect program output to the specified file name. In
addition the option -Printer is set.
|
|
Specify a primitive element description file. The
terminal permutabilities of primitive elements that are
specified in this file overrule the default terminal
permutability settings. In addition, new primitive elements
can be defined.
|
|
Specify the allowable relative difference between
parameter values of two devices. dev is the name of
the device type, e.g. 'nenh',
'penh', or 'res'. par is the
name of the parameter, e.g. 'w' for
'nenh' or 'v' for 'res'.
'v' is used as the parameter name for unnamed
device values such as resistor values or capacitor values.
value is the allowable relative difference. If
nom is the parameter value of one device, act
the parameter value of another device and val the
relative difference, then the two devices match with respect
to their parameter values if the following (symmetric)
condition is satisfied: |
|
nom <= (1 + val) * act AND act <= (1 + val) * nom
|
|
Ignore resistors in both network descriptions. Resistors
are replaced by a connection.
|
|
Specify the allowable relative difference between two
resistors. This option is equivalent to -range
res:v,value. v is the name of the parameter to
which the size of a resistor is assigned in the
database.
|
|
Only compare transistors (equivalent to -cap -res).
|
|
Options may be abbreviated.
|
DESCRIPTION |
Match is a program that compares two networks. The
program is designed to be used as a connectivity
verification tool for VLSI circuits.
The program expects two input networks which by default
will be read from the database. The networks will be
expanded before the matching process is started.
The two networks are:
|
|
This (hierarchical) network is used as a reference for
the layout connectivity. The nominal network description can
be obtained from a schematic editor or can be made by hand.
In a top down design process, this description is usually
already available as a result of an earlier design step
(e.g. simulator input file).
|
|
This (hierarchical) network is usually directly derived
from the circuit layout using an extractor program.
|
|
The comparison process is completely independent from the
individual labelings of the nets (terminals) and devices in
both network descriptions. A graph theoretical partitioning
algorithm is used to derive a possible isomorphic
equivalence of both networks. If the two networks are found
not to be isomorphic, match tries to determine which
parts of the two networks are equivalent and which parts are
not.
The terminal permutabilities of the primitive network
elements (that is, the way in which the terminals can be
interchanged without altering the topology of the network)
can be defined in a user-specified primitive element file.
For this purpose, the sls language is extended as
follows:
Network definitions preceded by the keyword
primitive consist of exactly one permutability
definition followed by a semicolon. A permutability
definition consists of the keyword perm followed by a
number of classes enclosed by curly brackets. Each class
contains a set of terminals which may be mutually
interchanged. Terminals that are not part of the same class
are not interchangeable.
As an illustration, the default permutability definition
of an NMOS enhancement transistor is given.
primitive network nenh (terminal g, d, s)
{
perm { (g) (d, s) };
}
A standard primitive element file defines the default
permutabilities of all primitive network elements.
After the comparison, the result is printed on the
output. A binding table, which specifies which nets
(terminals) and devices from both network descriptions are
to be associated is available as well as a list of
'unmatched' nets (terminals) and devices in case
the two networks are different.
|
EXAMPLES |
Compare two networks from the database and send binding
information to a file outp:
|
|
match -Bindings netw my_netw -out outp
|
|
Compare two networks that are present in an sls file and
ignore capacitors in both networks:
|
|
match -cap -files handshake.sls flatshake.sls
|
REMARKS |
Match considers terminals and nets as different
elements. It is thus not possible that an (internal) net of
one network matches with a terminal of the other.
Before starting the network comparison, match
removes all unconnected nets and terminals (including
feedthroughs) from both descriptions and issues a warning
about them.
Match compares small and medium sized networks so
fast that it takes more time to read (and expand) the
networks than to compare them.
|
DIAGNOSTICS |
Syntax errors in the sls input specifications and
references to undefined networks are reported. Recursive
network definitions are detected as well.
All other error messages are self-explanatory.
|
RETURN STATUS |
The program returns the following status:
0 = match succeeded. 1 = error. 2 =
match failed. Match was developed by Delft University
of Technology, Department of Electrical Engineering, Delft,
the Netherlands and by ESE Electronic Systems Engineering
B.V.
|
FILES |
ICDPATH/share/lib/process/process/match_prim |
|
(standard primitive element file)
|
SEE ALSO |
T. Vogel, "Connectivity Verification based on
Netlist Comparison", Delft University of
Technology.
Sls: Switch-Level Simulator User's Manual,
|
|
|
|