Using ASM2600 to create TAP and TIX formatTAP and TIX files are the PG files that are in use at UC Berkeley. The TAP file is the actual PG file (David Mann 3600) in EBCDIC format, and the TIX file is the Tape Index file.
The gds2pg creates standard David Mann files but not TAP/TIX files. Due to clients' requests, we have asked and received the source code for a tool that converts our standard PG output to TAP/TIX.
m36gen is a program that creates TAP/TIX files. We received its source code from UC Berkeley and ported it to Windows, Linux and Solaris. Clients can get this utility free of charge.
In this web page, we will show you how to convert GDSII data all the way to TAP/TIX files.
Running gds2pg along with m36genLet's use the GDSII file called rf1.gds - it is located in our examples directory.
We already discussed in a separate web page all the command line options of gds2pg so in this page we will assume you know how to run gds2pg.
The script we can use to convert rf1.gds to TAP/TIX is shown below..
/home/cad/asm2600/bin/gds2pg rf1.gds 0.2 5 = -m1 -s1 -v2 -o5 -p /home/cad/asm2600/bin/mmask -u:mils -s:1 -3600 -p RF105.INT /home/cad/asm2600/bin/mm2gds RF105.DWM -o:RF105.GDS -u:E -3600 -p /home/cad/gds2cif/gds2cif RF105.GDS RF105.cif -ucb /home/cad/asm2600/bin/m36gen -T top61 RF105.cifThe first line of the script converts the GDSII file rf1.gds to intermediate format. We are converting layer 5 with a minimum feature of 0.2 mils.
The second line of the script launches mmask and converts the intermediate file to DavidMann 3600.
The third line converts the MANN file to GDSII. The -p option is used to create path data for each flash. It is necessary to do so in order to get good TAP/TIX files.
The forth line converts the GDSII file to CIF data since m36gen can only convert CIF data to TAP/TIX. Make sure to use the -ucb option which will create CIF file compatible with UC Berkeley's m36gen tool.
The last line converts the CIF file to TAP/TIX files. The output files in this case will be top61.tix (tape index file) and top61.tap (actual PG file which can be viewed with our PGCAM).
In case you are interested in more detailed information about the m36gen utility, please read below..
SYNOPSIS m36gen [ -s ] [ -n name ] [ -c x_center y_center ] [ -t x_trans y_trans ] pattern_file DESCRIPTION m36gen takes pattern_file, the output file from ciftomann(1), and pro- duces a Mann-3600 format pattern generator tape consisting of a direc- tory file and then a separate file/mask for each layer. When the com- mand is executed, m36gen makes one pass over the output to build up a directory and compute the bounding box for the chip. At this point it prints ‚t return when the tape is ready : ‚ Someone must now physi- cally mount a tape on the tape drive. After verifing that the tape drive is ready, hit return and the program will then create the pattern generator tape. m36gen takes the following options : -s m36gen(1) normally produces various short messages as each stage is started. The -s option suppresses them. -n name The name for each mask in the directory is of the form ‚me layer_name‚If not specified, name defaults to your login name (in capital letters). -c x_center y_center The masks are centered about the point (x_center, y_center), where x_center and y_center are integers and their units are those of the pattern generator (for the GCA Mann3600 : .1 microns). -t x_trans y_trans The masks are translated by x_trans in the x direction and y_trans in the y direction, where x_trans and y_trans are inte- gers and their units are those of the pattern generator (for the GCA Mann3600 : .1 microns). EXAMPLE Assuming that infile was produced by ciftomann for the GCA Mann3600 pattern generator (using the -p PG3600 flag), the command : m36gen -c 100000 100000 input_file produces a set of masks from input_file, centering each mask at x = 1 centimeter, y = 1 centimeter. FILES /dev/rmt4 The 800 bpi, no rewind after closing, tape drive. pg_write The utility used to block, convert to EBCDIC, and do the actual tape write. NOTES * For correct conversion to CIF format and operation of m36gen, use the -p option with mm2gds ** For correct conversion to cif and operation of m36gen, use the -ucb option with gds2cif