


MATCH(1ICD)		    06/10/86		      MATCH(1ICD)



NNNNAAAAMMMMEEEE
     match - a network comparison program

SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
     mmmmaaaattttcccchhhh [options] <nominal_network> <actual_network>

OOOOPPPPTTTTIIIIOOOONNNNSSSS
     The following options are available:


     ----BBBB   Print an extended binding table on the stdout.  All
	  matched devices are listed as well.

     ----EEEE   Print a listing of both input networks on the stdout
	  after they have been expanded.

     ----IIII   Print a listing of both input networks on the stdout.

     ----PPPP   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 ----oooo option.

     ----SSSS   Silent mode. Only error messages are printed.  The pro-
	  gram returns an exit status:
		       0000 = match succeeded.
		       1111 = error.
		       2222 = match failed.

     ----TTTT   Trace the partitioning process. For each iteration of
	  the partitioning process, a line containing a number of
	  statistics is printed on the stderr.

     ----VVVV   Verbose mode. Print additional process information on
	  the stderr.

     ----bbbb   Print the binding table on the stdout.  Only nets and
	  terminals are listed.

     ----cccc   Ignore capacitors in both network descriptions.  Capa-
	  citors are simply omitted.

     ----ffff   Specifies that the nnnnoooommmmiiiinnnnaaaallll____nnnneeeettttwwwwoooorrrrkkkk and aaaaccccttttuuuuaaaallll____nnnneeeettttwwwwoooorrrrkkkk
	  arguments are names of files that contain complete sls
	  network descriptions.  The last network in each file is
	  used as the one that needs to be processed.

     ----oooo <file>
	  The output of the program (stdout) is redirected to the
	  specified destination file. In addition the ----PPPP option
	  is set.




		   The Nelsis IC Design System			1






MATCH(1ICD)		    06/10/86		      MATCH(1ICD)



     ----pppp <file>
	  Specify a primitive element description file.  The ter-
	  minal permutabilities of primitive elements that are
	  specified in this file possibly overrule the default
	  terminal permutability settings.  In addition, new
	  primitive elements can be defined.

     ----rrrr   Ignore resistors in both network descriptions.  Resis-
	  tors are replaced by a connection.

     ----ssss   Prints some statistics about both input networks and
	  the partitioning process on the stdout.

     ----tttt   Only the standard transistors in both network descrip-
	  tions are recognized. This option can be used when the
	  actual network description contains parasitic resistors
	  and capacitors from the layout.  Equivalent to ----rrrrcccc.

DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
     _M_a_t_c_h 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. These networks may also be speci-
     fied by files containing sls descriptions.  The networks
     will be expanded before the matching process is started.

     The two networks are:
     The nnnnoooommmmiiiinnnnaaaallll network.  This (hierarchical) network is used as
     a reference for the layout connectivity.  The nominal net-
     work 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).
     The aaaaccccttttuuuuaaaallll network.  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, mmmmaaaattttcccchhhh tries to determine which parts
     of the two networks are equivalent and which parts are not.

     The terminal permutabilities of the primitive network ele-
     ments (that is, the way in which the terminals can be inter-
     changed 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:



2		   The Nelsis IC Design System






MATCH(1ICD)		    06/10/86		      MATCH(1ICD)



     Network definitions preceded by the keyword pppprrrriiiimmmmiiiittttiiiivvvveeee con-
     sist of exactly oooonnnneeee permutability definition followed by a
     semicolon.  A permutability definition consists of the key-
     word ppppeeeerrrrmmmm 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.

	     pppprrrriiiimmmmiiiittttiiiivvvveeee nnnneeeettttwwwwoooorrrrkkkk nenh ((((tttteeeerrrrmmmmiiiinnnnaaaallll g,,,, d,,,, s))))
	     {{{{
		     ppppeeeerrrrmmmm {{{{ ((((g)))) ((((d,,,, s)))) }}}};;;;
	     }}}}

     A standard primitive element file defines the default permu-
     tabilities 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 (termi-
     nals) and devices in case the two networks are different.

EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
     mmmmaaaattttcccchhhh ----ssssBBBBxxxx netw my_netw ----oooo outp
     mmmmaaaattttcccchhhh ----BBBBPPPPVVVV ----ffff handshake.sls flatshake.sls

AAAAUUUUTTTTHHHHOOOORRRRSSSS
     T. Vogel, A.J. van der Hoeven

RRRREEEEMMMMAAAARRRRKKKKSSSS
     This version reads networks from the database through an
     interface with xxxxssssllllssss (1ICD).  This program must be present in
     the directory 'ICDPATH/bin'
     mmmmaaaattttcccchhhh considers terminals and nets as different elements.
     It is thus not possible that an (internal) net matches with
     a terminal.
     Before starting the network comparison, mmmmaaaattttcccchhhh removes all
     unconnected nets and terminals (including feedthroughs) from
     both descriptions and issues a warning about them.
     mmmmaaaattttcccchhhh compares small and medium sized networks so fast that
     it takes more time to read (and expand) the networks than to
     compare them.

FFFFIIIILLLLEEEESSSS
     ICDPATH/lib/process/pppprrrroooocccceeeessssssss/match_prim (standard primitive element file)
     ICDPATH/bin/xsls (network extraction program)

SSSSEEEEEEEE AAAALLLLSSSSOOOO
     T. Vogel, "Connectivity Verification based on Netlist Com-
     parison", Delft University of Technology.



		   The Nelsis IC Design System			3






MATCH(1ICD)		    06/10/86		      MATCH(1ICD)



     A.C. de Graaf, A.J. van Genderen, "SLS: Switch-Level Simula-
     tor Users Manual", Delft University of Technology.
     xsls(1ICD)

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

BBBBUUUUGGGGSSSS
     All known bugs have been fixed.











































4		   The Nelsis IC Design System



