
This is netcmp, a netlist comparison tool written by Mass Sivilotti and
maintained under Unix by John Lazzaro. Netcmp is distributed under the
GNU General Public License; see file COPYING in this directory for more
information.

If you have a web browser, the best way to learn about what Netcmp is
and how to install it is to pick up the latest version of the webdoc
Web pages (webdocX.XX.tar.gz, where X.XX is a version number) from the
same place you picked up this file. Once you have this Web tree
untarred, point your Web browser (examples of Web browsers include
Mosaic, Lynx, Netscape, and tkWWW) to webdoc/index.html for the home
page of the Chipmunk tools, and to webdoc/compile/compile.html for
compilation instructions.

The rest of this file is written assuming that you don't have access
to a Web browser -- all text is copied from webdoc pages
verbatim. I'll do my best to keep this file up to date, but the Web
tree is now the primary documentation for all aspects of the Chipmunk
system.

---------

Netcmp 
------

   Netcmp is a netlist comparison program, that accepts the
   NTK file format for netlists generated by Wol and Analog. A
   different program with a similar name and a similar function,
   Netcomp, is not a part of the Chipmunk tools, but is available
   via anonymous FTP from hobiecat.caltech.edu as part of the
   Netgen package (pub/netgen-1.04.tar.Z). Most people use Netcmp
   to verify a chip layout correctly implements a desired schematic.

Platforms and Requirements 
--------------------------

The Chipmunk tools require an ANSI c compiler (typically GCC) and
X11 (R4, R5, or R6). Color displays with 8 bits per pixel work best for
Chipmunk (other than 8bpp can be problematic), although Log supports
black-and-white displays. An HTML browser (like Mosaic or Lynx or
Netscape) is also necessary to access the Chipmunk documentation.

These are the currently supported platforms, with details of
platform-specific requirements: 

   Apple Macintosh, AU/X. 
   DEC MIPS-based DECstations 
   HP Series 300/400, HPUX. 
   HP Series 700, HPUX. The HP-supplied cc, with extra-cost
   ANSI option, will also compile Chipmunk. 
   IBM PC and Compatibles, FreeBSD. 
   IBM PC and Compatibles, Linux, Slackware. 
   IBM RS/6000. The IBM xlc compiler is known to compile
   Chipmunk; gcc has not been tested. 
   SGI. Chipmunk known to work on Indigo and Challenge, no
   others were tested. The SGI cc is recommended. 
   Sun SPARC, Solaris 1.X (SunOS 4.X). 
   Sun SPARC, Solaris 2.X (SunOS 5.X). 
   IBM PC and Compatibles, OS/2. 

     OS/2 Requirements 

     Only the Log system (diglog, analog and loged) is ported. However,
     porting Log meant porting Psys: if you are an OS/2 user who is 
     interested in porting Netcmp, the Log port gives you a good head
     start. 

     Here are the requirements for Log:

     The icc compiler. Not known if gcc will work also, please let
     me know if you try gcc. 

     OS/2 with TCPIP and X11 (PMX). OS/2 revisions 2.1 and higher
     should work, but all current testing has been done using WARP.
     TCPIP version 2.0 with the "latest CSD's" to the Base kit is also
     needed, as is the X-server (PMX) kit. 

If your configuration is different than the ones described above,
only take the package if you feel confident in your C/Unix abilities
to do the porting required. If you do successfully port to a new
architecture or OS, send us the changes required, and we will
incorporate your port in the next release of the chipmunk tools.

Here is the know status of Chipmunk on popular platforms not currently
supported

   IBM PC-Compatibles, MS-DOS or Windows. Several failed
   porting attempts have occurred. However, a new porting effort
   is underway by a group in Europe. Contact me for details.
 
   IBM PC-Compatibles, NextStep. No ports are in progress, to
   my knowledge. 

   Apple Macintosh, MacOS. No ports are in progress, to my
   knowledge. 

   DEC Alpha, OSF/1 or VMS. Several Alpha ports have failed,
   because of 64-bit compatibility problems with binary file I/O. I
   don't think the port is impossible, just more difficult than the
   successful ports listed above. 

To get netcmp running, first bring over a copy of psys-Y.YY.tar.Z (where
Y.YY is a version number), available at the same place this file was
found. Untar and make psys per instructions in the package.  After
psys is installed, you can start to install netcmp. The major reason
to psys before netcmp is to get various bin and lib directories made,
since netcmp doesn't directly use psys. If netcmp is the only Chipmunk
tool you need, you should be able to hack your way past any problems
you'll find by not having psys installed.

Compiling Netcmp 
----------------

This document assumes that you have successfully compiled the Psys 
libraries. This document also assumes that you have uncompressed
and untarred the Netcmp file, and installed it in the chipmunk
directory. Note that Netcmp has not been ported to OS/2.

Begin by descending to the netcmp directory. Edit the file 
Makefile, and make any necessary changes. Comments in the
Makefile will guide you through these changes; the changes are
labeled with the markers (1), (2), (3), etc. Once these changes are
made, execute the command 

make install 

If things are working correctly, a long series of compilations,
linkings, and file movements should occur without error. This will
create the program chipmunk/bin/netcmp. To do a quick test
of netcmp, execute the following command from the 
chipmunk/netcmp directory: 

netcmp test1.ntk test2.ntk 

Many lines of text should follow, ending with the line 

No differences found. 

To learn more about using netcmp, see the user documentation. 

If you have problems compiling netcmp,I'd be happy to offer
suggestions.Send email to lazzaro@cs.berkeley.edu and include the
following information.

   Complete machine configuration, including machine type, OS
   revision, compilers, and X servers. 

   A listing of the output from the failed compilation process, or
   any messages printed by a Chipmunk program or the OS or X
   when an error occurs.
 
   Details of any changes you have made to the distribution before
   this compilation. 

   The effects of following any advice given in the compilation
   instructions. 

Documentation for Netcmp 
------------------------

All of the documentation for using Netcmp is included in the webdoc
package. See:

webdoc/document/wol/index.html

----

If using the Webdoc documention isn't practical, then you can 
directly look at the complete Postcript manual for wol, included
as wol/wolman/wol.ps. The wolman directory also includes complete
TeX source for this manual. Netcmp is explained as a section of
the Wol manual.

To help understand how to use Wolcomp and Wol in a real chip design,
with the current version of the tools, serious users will want to
check out the examples package, which contains a VLSI chip design done
using Wol and Wolcomp, and LVS'ed with Netcmp. It's available the same
place you picked up the Chipmunk tools, as a tar file that has
"example" in its title, probably examples.tar.gz.

Bug fixes and ports are the major additions to Netcmp in this
release.






