
This is mosis, a tool for turning CIF created by wol or wolcomp into a
file suitable for emailing to mosis@mosis.edu. It was written by Mass
Sivilotti and is maintained under Unix by John Lazzaro. Mosis 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 Wolcomp 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.

---------

Mosis 
   Mosis is a program that takes a Wol-generated CIF file as
   input, and creates a mail message to send to the MOS
   Implementation Service to fabricate the chip. The Mosis
   program, as shipped, has fictional names, addresses, and
   account information in its source code; a new user with an
   account with MOSIS should carefully edit these fields to
   reflect their own account information. 

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. 
   Apple Macintosh, OS/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 Mosis, 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 Mosis 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 mosis. The major reason
to psys before mosis is to get various bin and lib directories made,
since mosis doesn't directly use psys. If mosis 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 Mosis 
---------------

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

Begin by descending to the mosis directory. No Makefile
customization is necessary. However, customization of the file 
mosis.c is necessary, since details in the desired mailing file
(account #, name, address, ect) are very site dependent. 

To do this customization, edit the file mosis.c, and search for all
instances of the word CUSTOM. This word will be in comments next
to printf statements that print site-specific parts of the MOSIS
header file. If you have sent a chip out to MOSIS manually you will
recognize these lines; if not, you should ask a more experienced
person for assistance. 

After this customization has been done, execute the command 

make install 

If things are working correctly, a short series of compilations,
linkings, and file movements should occur without error. The
program chipmunk/bin/mosis will be created, ready for use to
send mail messages to MOSIS. To learn about using this program,
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. Mosis is explained as a section of
the Wol manual.

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












MOSIS is a simple program and should compile on anything.  Makefile
changes are needed for the HP series 800, IBM RS/6000, linux, and AU/X
machines. Comments in the Makefiles in this directory and the ana/
directory will guide you through these changes; the changes are
labeled with the markers (1), (2), (3), ect.  Since the desired
mailing file is very site dependent (account #, name, address, etc.),
a moderate amount of C experience is needed to set up the program.
Simply bring mosis.c into your favorite text editor, and search for
all occurences of the word CUSTOM. This word will be in comments next
to printf's that print part of the MOSIS header file. If you have sent
a chip out to MOSIS manually you will recognize these lines; if not,
you may want to ask a more experienced person for assistance.

Given a file from wol or wolcomp, say foo.cif, of technology XXX, one
makes a mosis file simply by typing

mosis -tXXX -iXXX foo

and stand back. When its done, look at the mosis file and see if there
are any problems. Alternatively, you can type "mosis" without 
arguments and let the program completely query you, although this
is tedious. There are more command line options for wol than -t and -i;
to see them, type mosis -help me <return>.

SCG (scalable cmos), SCGE (double-poly), and SCGA (analog low-noise) are
the only options for XXX that people use these days. To send tiny
chips, append TINY- to XXX for the -t option, for example:

mosis -tTINY-SCGE -iSCGE foo

for a double-poly tinychip.

Incidently, the directory includes a tinychip called foo.cif that is SCGE, so
running the command above is a good test of the program.

Please look over your file carefully before sending it off to MOSIS; John
Lazzaro, Mass Sivilotti, the California Institute of Technology, and
the University of Colorado at Boulder are not responsibile for the
content of the files produced by the MOSIS program. This disclaimer does
not take precedence over the text in the file COPYING. 

In this release, the MOSIS program uses the new commands LAYOUT: and
LAYOUT-CHECKSUM, replacing the obsolete CIF: and CIF-CHECKSUM


						--john lazzaro
