add specification
This commit is contained in:
		
							parent
							
								
									5d939157ed
								
							
						
					
					
						commit
						29750ce192
					
				
							
								
								
									
										337
									
								
								spec.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										337
									
								
								spec.html
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,337 @@
 | 
				
			|||||||
 | 
					<HTML>
 | 
				
			||||||
 | 
					<HEAD><TITLE>Computer Aids for VLSI Design</TITLE></HEAD>
 | 
				
			||||||
 | 
					<BODY BGCOLOR="#FFFFFF">
 | 
				
			||||||
 | 
					<HR BREAK>
 | 
				
			||||||
 | 
					<CENTER><FONT SIZE=6><B>Computer Aids for VLSI Design</B></FONT></CENTER>
 | 
				
			||||||
 | 
					<CENTER><FONT SIZE=5><B><I>Steven M. Rubin</I></B></FONT></CENTER>
 | 
				
			||||||
 | 
					<CENTER><FONT SIZE=4><B>Copyright © 1994</B></FONT></CENTER>
 | 
				
			||||||
 | 
					<HR>
 | 
				
			||||||
 | 
					<H1><CENTER>Appendix C: <A NAME="GDSFormat">GDS II Format</A></CENTER></H1>
 | 
				
			||||||
 | 
					<CENTER><TABLE BORDER=0><TR><TD><A HREF="chapb.html"><IMG SRC="../images/iconbackarrow.gif" ALT="Prev" BORDER=0></A></TD>
 | 
				
			||||||
 | 
					<TD><B><CENTER><A HREF="../index.html">Appendix 3 of 7</A></CENTER></B></TD>
 | 
				
			||||||
 | 
					<TD><A HREF="chapd.html"><IMG SRC="../images/iconforearrow.gif" ALT="Next" BORDER=0></A></TD></TR></TABLE></CENTER>
 | 
				
			||||||
 | 
					<HR>
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					In the design of integrated circuits, the most popular format for
 | 
				
			||||||
 | 
					interchange is the Calma <B>GDS II</B> stream format (GDS II is a trademark
 | 
				
			||||||
 | 
					of Calma Company, a wholly owned subsidiary of General Electric Company, U.S.A.).
 | 
				
			||||||
 | 
					For many years, this format was the only one of its kind and many other
 | 
				
			||||||
 | 
					vendors accepted it in their systems.
 | 
				
			||||||
 | 
					Although Calma has updated the format as their CAD systems have developed,
 | 
				
			||||||
 | 
					they have maintained backward compatibility so that no GDS II files
 | 
				
			||||||
 | 
					become obsolete.
 | 
				
			||||||
 | 
					This is important because
 | 
				
			||||||
 | 
					GDS II is a binary format that makes assumptions about integer and
 | 
				
			||||||
 | 
					floating-point representations.
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					A GDS II circuit description is a collection of cells that may contain
 | 
				
			||||||
 | 
					geometry or other cell references.
 | 
				
			||||||
 | 
					These cells, called <B><A NAME="GDSStructure">structures</A></B> in GDS II parlance, have alphanumeric
 | 
				
			||||||
 | 
					names up to 32 characters long.
 | 
				
			||||||
 | 
					A library of these structures is contained in a file that consists of
 | 
				
			||||||
 | 
					a library header, a sequence of structures, and a library tail.
 | 
				
			||||||
 | 
					Each structure in the sequence consists of a structure header, a sequence
 | 
				
			||||||
 | 
					of <B><A NAME="GDSElement">elements</A></B>, and a structure tail.
 | 
				
			||||||
 | 
					There are seven kinds of elements: <B>boundary</B> defines a filled polygon,
 | 
				
			||||||
 | 
					<B>path</B> defines a wire, <B>structure reference</B> invokes a subcell,
 | 
				
			||||||
 | 
					<B>array reference</B> invokes an array of subcells, <B>text</B> is for
 | 
				
			||||||
 | 
					documentation, <B>node</B> defines an electrical path, and <B>box</B>
 | 
				
			||||||
 | 
					places rectangular geometry.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<P><HR><BR><H2>C.1   Record Format</H2><P>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					In order to understand the precise format of the above GDS II components,
 | 
				
			||||||
 | 
					it is first necessary to describe the general record format.
 | 
				
			||||||
 | 
					Each GDS II record has a 4-byte header that specifies the record size and
 | 
				
			||||||
 | 
					function.
 | 
				
			||||||
 | 
					The first 2 bytes form a 16-bit integer that contains the record length
 | 
				
			||||||
 | 
					in bytes.
 | 
				
			||||||
 | 
					This length includes the 4-byte header and must always be an even
 | 
				
			||||||
 | 
					number.
 | 
				
			||||||
 | 
					The end of a record can contain a single null byte if the record contents
 | 
				
			||||||
 | 
					is an odd number of bytes long.
 | 
				
			||||||
 | 
					The third byte of the header contains the type of the record and the
 | 
				
			||||||
 | 
					fourth byte contains the type of the data.
 | 
				
			||||||
 | 
					Since the data type is constant for each record type, this 2-byte field
 | 
				
			||||||
 | 
					defines the possible records as shown in Figs. C.1 and C.2.
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					<CENTER><TABLE BORDER=2><TR><TD><TABLE>
 | 
				
			||||||
 | 
					<TR><TD><B>File Header Records:</B></TD><TD><B>Bytes 3 and 4</B>  </TD><TD><B>Parameter Type</B></TD></TR>
 | 
				
			||||||
 | 
					<TR><TD COLSPAN=3><HR></TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>HEADER</TD><TD><CENTER>0002</CENTER></TD><TD>2-byte integer</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>BGNLIB</TD><TD><CENTER>0102</CENTER></TD><TD>12 2-byte integers</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>LIBNAME</TD><TD><CENTER>0206</CENTER></TD><TD>ASCII string</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>REFLIBS</TD><TD><CENTER>1F06</CENTER></TD><TD>2 45-character ASCII strings</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>FONTS</TD><TD><CENTER>2006</CENTER></TD><TD>4 44-character ASCII strings</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>ATTRTABLE</TD><TD><CENTER>2306</CENTER></TD><TD>44-character ASCII string</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>GENERATIONS</TD><TD><CENTER>2202</CENTER></TD><TD>2-byte integer</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>FORMAT</TD><TD><CENTER>3602</CENTER></TD><TD>2-byte integer</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>MASK</TD><TD><CENTER>3706</CENTER></TD><TD>ASCII string</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>ENDMASKS</TD><TD><CENTER>3800</CENTER></TD><TD>No data</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>UNITS</TD><TD><CENTER>0305</CENTER></TD><TD>2 8-byte floats</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD COLSPAN=3> </TD></TR>
 | 
				
			||||||
 | 
					<TR><TD><B>File Tail Records:</B></TD><TD><B>Bytes 3 and 4</B></TD><TD><B>Parameter Type</B></TD></TR>
 | 
				
			||||||
 | 
					<TR><TD COLSPAN=3><HR></TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>ENDLIB</TD><TD><CENTER>0400</CENTER></TD><TD>No data</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD COLSPAN=3> </TD></TR>
 | 
				
			||||||
 | 
					<TR><TD><B>Structure Header Records:  </B></TD><TD><B>Bytes 3 and 4</B></TD><TD><B>Parameter Type</B></TD></TR>
 | 
				
			||||||
 | 
					<TR><TD COLSPAN=3><HR></TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>BGNSTR</TD><TD><CENTER>0502</CENTER></TD><TD>12 2-byte integers</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>STRNAME</TD><TD><CENTER>0606</CENTER></TD><TD>Up to 32-characters ASCII string</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD COLSPAN=3> </TD></TR>
 | 
				
			||||||
 | 
					<TR><TD><B>Structure Tail Records:</B></TD><TD><B>Bytes 3 and 4</B></TD><TD><B>Parameter Type</B></TD></TR>
 | 
				
			||||||
 | 
					<TR><TD COLSPAN=3><HR></TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>ENDSTR</TD><TD><CENTER>0700</CENTER></TD><TD>No data</TD></TR>
 | 
				
			||||||
 | 
					</TABLE></TD></TR><TR><TD><B>FIGURE C.1 </B>GDS II header record types.</TD></TR></TABLE></CENTER>
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					Magnetic tapes containing GDS II files will have 2048 byte blocks that
 | 
				
			||||||
 | 
					contain these records.
 | 
				
			||||||
 | 
					The block size is standardized but has no bearing on record length or
 | 
				
			||||||
 | 
					position.
 | 
				
			||||||
 | 
					There is also a capability for circuits that require multiple
 | 
				
			||||||
 | 
					reels of tape.
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					<CENTER><TABLE BORDER=2><TR><TD><TABLE>
 | 
				
			||||||
 | 
					<TR><TD><B>Element Header Records:</B></TD><TD><B>Bytes 3 and 4  </B></TD><TD><B>Parameter Type</B></TD></TR>
 | 
				
			||||||
 | 
					<TR><TD COLSPAN=3><HR></TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>BOUNDARY</TD><TD><CENTER>0800</CENTER></TD><TD>No data</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>PATH</TD><TD><CENTER>0900</CENTER></TD><TD>No data</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>SREF</TD><TD><CENTER>0A00</CENTER></TD><TD>No data</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>AREF</TD><TD><CENTER>0B00</CENTER></TD><TD>No data</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>TEXT</TD><TD><CENTER>0C00</CENTER></TD><TD>No data</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>NODE</TD><TD><CENTER>1500</CENTER></TD><TD>No data</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>BOX</TD><TD><CENTER>2D00</CENTER></TD><TD>No data</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD COLSPAN=3> </TD></TR>
 | 
				
			||||||
 | 
					<TR><TD><B>Element Contents Records:  </B></TD><TD><B>Bytes 3 and 4</B></TD><TD><B>Parameter Type</B></TD></TR>
 | 
				
			||||||
 | 
					<TR><TD COLSPAN=3><HR></TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>ELFLAGS</TD><TD><CENTER>2601</CENTER></TD><TD>2-byte integer</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>PLEX</TD><TD><CENTER>2F03</CENTER></TD><TD>4-byte integer</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>LAYER</TD><TD><CENTER>0D02</CENTER></TD><TD>2-byte integers</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>DATATYPE</TD><TD><CENTER>0E02</CENTER></TD><TD>2-byte integer</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>XY</TD><TD><CENTER>1003</CENTER></TD><TD>Up to 200 4-byte integer pairs</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>PATHTYPE</TD><TD><CENTER>2102</CENTER></TD><TD>2-byte integer</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>WIDTH</TD><TD><CENTER>0F03</CENTER></TD><TD>4-byte integer</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>SNAME</TD><TD><CENTER>1206</CENTER></TD><TD>Up to 32-character ASCII string</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>STRANS</TD><TD><CENTER>1A01</CENTER></TD><TD>2-byte integer</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>MAG</TD><TD><CENTER>1B05</CENTER></TD><TD>8-byte float</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>ANGLE</TD><TD><CENTER>1C05</CENTER></TD><TD>8-byte float</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>COLROW</TD><TD><CENTER>1302</CENTER></TD><TD>2 2-byte integers</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>TEXTTYPE</TD><TD><CENTER>1602</CENTER></TD><TD>2-byte integer</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>PRESENTATION</TD><TD><CENTER>1701</CENTER></TD><TD>2-byte integer</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>ASCII STRING</TD><TD><CENTER>1906</CENTER></TD><TD>Up to 512-character string</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>NODETYPE</TD><TD><CENTER>2A02</CENTER></TD><TD>2-byte integer</TD></TR>
 | 
				
			||||||
 | 
					<TR><TD>BOXTYPE</TD><TD><CENTER>2E02</CENTER></TD><TD>2-byte integer</TD></TR>
 | 
				
			||||||
 | 
					</TABLE></TD></TR><TR><TD><B>FIGURE C.2 </B>GDS II element record types.</TD></TR></TABLE></CENTER>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<P><HR><BR><H2>C.2   <A NAME="GDSLibrary">Library</A> Head and Tail</H2><P>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A GDS II file header always begins with a HEADER record the parameter of which
 | 
				
			||||||
 | 
					contains the GDS II version number used to write the file.
 | 
				
			||||||
 | 
					For example, the bytes 0, 6, 0, 2, 0, 1 at the start of the file constitute
 | 
				
			||||||
 | 
					the header record for a version-1 file.
 | 
				
			||||||
 | 
					Following the HEADER comes a BGNLIB record that contains the date of the
 | 
				
			||||||
 | 
					last modification and the date of the last access to the file.
 | 
				
			||||||
 | 
					Dates take six 2-byte integers to store the year, month, day, hour, minute, and
 | 
				
			||||||
 | 
					second.
 | 
				
			||||||
 | 
					The third record of a file is the LIBNAME, which identifies the name of
 | 
				
			||||||
 | 
					this library file.
 | 
				
			||||||
 | 
					For example, the bytes 0, 8, 2, 6, "C", "H", "I", "P" define a
 | 
				
			||||||
 | 
					library named "CHIP."
 | 
				
			||||||
 | 
					Following the LIBNAME record there may be any of the optional header records:
 | 
				
			||||||
 | 
					REFLIBS to name up to two reference libraries, FONTS to name up to four
 | 
				
			||||||
 | 
					character fonts, ATTRTABLE to name an attribute file, GENERATIONS to
 | 
				
			||||||
 | 
					indicate the number of old file copies to keep, and FORMAT to indicate the
 | 
				
			||||||
 | 
					nature of this file.
 | 
				
			||||||
 | 
					The strings in the REFLIBS, FONTS, and ATTRTABLE records must be the
 | 
				
			||||||
 | 
					specified length, padded with zero bytes.
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					The parameter to FORMAT has the value 0 for an archived file and the
 | 
				
			||||||
 | 
					value 1 for a filtered file.
 | 
				
			||||||
 | 
					Filtered files contain only a subset of the mask layers and that subset
 | 
				
			||||||
 | 
					is described with one or more MASK records followed by an ENDMASK
 | 
				
			||||||
 | 
					record.
 | 
				
			||||||
 | 
					The string parameter in a MASK record names layers and sequences of layers;
 | 
				
			||||||
 | 
					for example, "1 3 5-7."
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					The final record of a file header is the UNITS record and it is not optional.
 | 
				
			||||||
 | 
					The parameters to this record contain the number of user units per
 | 
				
			||||||
 | 
					database unit (typically less than 1 to allow granularity of user
 | 
				
			||||||
 | 
					specification) and the number of meters per database unit (typically much
 | 
				
			||||||
 | 
					less than 1 for IC specifications).
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					Eight-byte floating-point numbers have a sign at the top of the first
 | 
				
			||||||
 | 
					byte, a 7-bit exponent in the rest of that byte, and 7 more bytes that
 | 
				
			||||||
 | 
					compose a mantissa (all to the right of an implied decimal point).
 | 
				
			||||||
 | 
					The exponent is a factor of 16 in excess-64 notation (that is, the mantissa
 | 
				
			||||||
 | 
					is multiplied by 16 raised to the true value of the exponent, where the
 | 
				
			||||||
 | 
					true value is its integer representation minus 64).
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					Following the file header records come the structure records.
 | 
				
			||||||
 | 
					After the last structure has been defined, the file terminates with
 | 
				
			||||||
 | 
					a simple ENDLIB record.
 | 
				
			||||||
 | 
					Note that there is no provision for the specification of a root
 | 
				
			||||||
 | 
					structure to define a circuit; this must be tracked
 | 
				
			||||||
 | 
					by the designer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<P><HR><BR><H2>C.3   Structure Head and Tail</H2><P>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Each structure has two header records and one tail record that sandwich
 | 
				
			||||||
 | 
					an arbitrary list of elements.
 | 
				
			||||||
 | 
					The first structure header is the BGNSTR record, which contains the creation
 | 
				
			||||||
 | 
					date and the last modification date.
 | 
				
			||||||
 | 
					Following that is the STRNAME record, which names the structure using
 | 
				
			||||||
 | 
					any alphabetic or numeric characters, the dollar sign, or the underscore.
 | 
				
			||||||
 | 
					The structure is then open and any of the seven elements can be listed.
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					The last record of a structure is the ENDSTR.
 | 
				
			||||||
 | 
					Following it must be another BGNSTR or the end of the library, ENDLIB.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<P><HR><BR><H2>C.4   <A NAME="GDSBoundary">Boundary Element</A></H2><P>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The boundary element defines a filled polygon.
 | 
				
			||||||
 | 
					It begins with a BOUNDARY record, has an optional ELFLAGS and PLEX record,
 | 
				
			||||||
 | 
					and then has required LAYER, DATATYPE, and XY records.
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					The ELFLAGS record, which appears optionally in every element, has two
 | 
				
			||||||
 | 
					flags in its parameter to indicate template data (if bit 16 is set)
 | 
				
			||||||
 | 
					or external data (if bit 15 is set).
 | 
				
			||||||
 | 
					This record should be ignored on input and excluded from output.
 | 
				
			||||||
 | 
					Note that the GDS II integer has bit 1 in the leftmost or most significant
 | 
				
			||||||
 | 
					position so these two flags are in the least significant bits.
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					The PLEX record is also optional to every element and defines element
 | 
				
			||||||
 | 
					structuring by aggregating those that have common plex numbers.
 | 
				
			||||||
 | 
					Although a 4-byte integer is available for plex numbering, the
 | 
				
			||||||
 | 
					high byte (first byte) is a flag that indicates the head of the plex if its least
 | 
				
			||||||
 | 
					significant bit (bit 8) is set.
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					The LAYER record is required to define which layer (numbered 0 to 63) is to
 | 
				
			||||||
 | 
					be used for this boundary.
 | 
				
			||||||
 | 
					The meaning of these layers is not defined rigorously and must be
 | 
				
			||||||
 | 
					determined for each design environment and library.
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					The DATATYPE record contains unimportant information and its argument should
 | 
				
			||||||
 | 
					be zero.
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					The XY record contains anywhere from four to 200 coordinate pairs
 | 
				
			||||||
 | 
					that define the outline of the polygon.
 | 
				
			||||||
 | 
					The number of points in this record is defined by the record length.
 | 
				
			||||||
 | 
					Note that boundaries must be closed explicitly, so the first and last
 | 
				
			||||||
 | 
					coordinate values must be the same.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<P><HR><BR><H2>C.5   <A NAME="GDSPath">Path Element</A></H2><P>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A path is an open figure with a nonzero width that is typically used
 | 
				
			||||||
 | 
					to place wires.
 | 
				
			||||||
 | 
					This element is initiated with a PATH record followed by the optional ELFLAGS
 | 
				
			||||||
 | 
					and PLEX records.
 | 
				
			||||||
 | 
					The LAYER record must follow to identify the desired path material.
 | 
				
			||||||
 | 
					Also, a DATATYPE record must appear and an XY record to define the coordinates
 | 
				
			||||||
 | 
					of the path.
 | 
				
			||||||
 | 
					From two to 200 points may be given in a path.
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					Prior to the XY record of a path specification there may be two
 | 
				
			||||||
 | 
					optional records called PATHTYPE and WIDTH.
 | 
				
			||||||
 | 
					The PATHTYPE record describes the nature of the path segment
 | 
				
			||||||
 | 
					ends, according to its parameter value.
 | 
				
			||||||
 | 
					If the value is 0, the segments will have square ends that terminate
 | 
				
			||||||
 | 
					at the path vertices.
 | 
				
			||||||
 | 
					The value 1 indicates rounded ends and the value 2 indicates
 | 
				
			||||||
 | 
					square ends that overlap their vertices by one-half of their width.
 | 
				
			||||||
 | 
					The width of the path is defined by the optional WIDTH record.
 | 
				
			||||||
 | 
					If the width value is negative, then it will be independent of any
 | 
				
			||||||
 | 
					structure scaling (from MAG records, see next section).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<P><HR><BR><H2>C.6   <A NAME="GDSStructureRef">Structure Reference Element</A></H2><P>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Hierarchy is achieved by allowing structure references (instances)
 | 
				
			||||||
 | 
					to appear in other structures.
 | 
				
			||||||
 | 
					The SREF record indicates a structure reference and is followed
 | 
				
			||||||
 | 
					by the optional ELFLAGS and PLEX records.
 | 
				
			||||||
 | 
					The SNAME record then names the desired structure and an XY record
 | 
				
			||||||
 | 
					contains a single coordinate to place this instance.
 | 
				
			||||||
 | 
					It is legal to make reference to structures that have not yet been
 | 
				
			||||||
 | 
					defined with STRNAME.
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					Prior to the XY record there may be optional transformation records.
 | 
				
			||||||
 | 
					The STRANS record must appear first if structure transformations are desired.
 | 
				
			||||||
 | 
					Its parameter has bit flags that indicate mirroring in <I>x</I> before rotation
 | 
				
			||||||
 | 
					(if bit 1 is set), the use of absolute magnification (if bit 14 is set),
 | 
				
			||||||
 | 
					and the use of absolute rotation (if bit 15 is set).
 | 
				
			||||||
 | 
					The magnification and rotation amounts may then be specified in the
 | 
				
			||||||
 | 
					optional MAG and ANGLE records.
 | 
				
			||||||
 | 
					The rotation angle is in counterclockwise degrees.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<P><HR><BR><H2>C.7   <A NAME="GDSArray">Array of Structures Element</A></H2><P>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For convenience, an array of structure instances can be specified with
 | 
				
			||||||
 | 
					the AREF record.
 | 
				
			||||||
 | 
					Following the optional ELFLAGS and PLEX records comes the SNAME to identify
 | 
				
			||||||
 | 
					the structure being arrayed.
 | 
				
			||||||
 | 
					Next, the optional transformation records STRANS, MAG, and ANGLE give
 | 
				
			||||||
 | 
					the orientation of the instances.
 | 
				
			||||||
 | 
					A COLROW record must follow to specify the number of columns and
 | 
				
			||||||
 | 
					the number of rows in the array.
 | 
				
			||||||
 | 
					The final record is an XY with three points: the coordinate of the
 | 
				
			||||||
 | 
					corner instance, the coordinate of the last instance in the columnar
 | 
				
			||||||
 | 
					direction, and the coordinate of the last instance in the row direction.
 | 
				
			||||||
 | 
					From this information, the amount of instance overlap or separation
 | 
				
			||||||
 | 
					can be determined.
 | 
				
			||||||
 | 
					Note that flipping arrays (in which alternating rows or columns are mirrored
 | 
				
			||||||
 | 
					to abut along the same side) can be implemented with multiple arrays that
 | 
				
			||||||
 | 
					are interlaced and spaced apart to describe alternating rows or columns.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<P><HR><BR><H2>C.8   <A NAME="GDSText">Text Element</A></H2><P>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Messages can be included in a circuit with the TEXT record.
 | 
				
			||||||
 | 
					The optional ELFLAGS and PLEX follow with the mandatory LAYER record
 | 
				
			||||||
 | 
					after that.
 | 
				
			||||||
 | 
					A TEXTTYPE record with a zero argument must then appear.
 | 
				
			||||||
 | 
					An optional PRESENTATION record specifies the font in bits 11 and 12,
 | 
				
			||||||
 | 
					the vertical presentation in bits 13 and 14 (0 for top, 1 for
 | 
				
			||||||
 | 
					middle, 2 for bottom), and the horizontal presentation in bits 15 and 16
 | 
				
			||||||
 | 
					(0 for left, 1 for center, 2 for right).
 | 
				
			||||||
 | 
					Optional PATHTYPE, WIDTH, STRANS, MAG, and ANGLE records may appear to
 | 
				
			||||||
 | 
					affect the text.
 | 
				
			||||||
 | 
					The last two records are required: an XY with a single coordinate to
 | 
				
			||||||
 | 
					locate the text and a STRING record to specify the actual text.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<P><HR><BR><H2>C.9   <A NAME="GDSNode">Node Element</A></H2><P>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Electrical nets may be specified with the NODE record.
 | 
				
			||||||
 | 
					The optional ELFLAGS and PLEX records follow and the required LAYER
 | 
				
			||||||
 | 
					record is next.
 | 
				
			||||||
 | 
					A NODETYPE record must appear with a zero argument, followed by an XY record
 | 
				
			||||||
 | 
					with one to 50 points that identify coordinates on the electrical net.
 | 
				
			||||||
 | 
					The information in this element is not graphical and does not affect the
 | 
				
			||||||
 | 
					manufactured circuit.
 | 
				
			||||||
 | 
					Rather, it is for other CAD systems that use topological information.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<P><HR><BR><H2>C.10   <A NAME="GDSBox">Box Element</A></H2><P>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The last element of a GDS II file is the box.
 | 
				
			||||||
 | 
					Following the BOX record are the optional ELFLAGS and PLEX records,
 | 
				
			||||||
 | 
					a mandatory LAYER record, a BOXTYPE record with a zero argument,
 | 
				
			||||||
 | 
					and an XY record.
 | 
				
			||||||
 | 
					The XY must contain five points that describe a closed, four-sided box.
 | 
				
			||||||
 | 
					Unlike the boundary, this is not a filled figure.
 | 
				
			||||||
 | 
					Therefore it cannot be used for IC geometry.
 | 
				
			||||||
 | 
					<P>
 | 
				
			||||||
 | 
					<HR>
 | 
				
			||||||
 | 
					<TABLE COLSPEC="L40 L40 L40 L40 L40 L40 L40 L40 L40 L40" BORDER=0><TR>
 | 
				
			||||||
 | 
					<TD><A HREF="chapb.html"><IMG SRC="../images/iconbackarrow.gif" ALT="Prev" BORDER=0></A></TD>
 | 
				
			||||||
 | 
					<TD><A HREF="chapb.html">Previous</A></TD>
 | 
				
			||||||
 | 
					<TD>   </TD>
 | 
				
			||||||
 | 
					<TD><A HREF="../index.html"><IMG SRC="../images/iconcontarrow.gif" ALT="Contents" BORDER=0></A></TD>
 | 
				
			||||||
 | 
					<TD><A HREF="../index.html">Table of Contents</A></TD>
 | 
				
			||||||
 | 
					<TD>   </TD>
 | 
				
			||||||
 | 
					<TD><A HREF="chapd.html">Next</A></TD>
 | 
				
			||||||
 | 
					<TD><A HREF="chapd.html"><IMG SRC="../images/iconforearrow.gif" ALT="Next" BORDER=0></A></TD>
 | 
				
			||||||
 | 
					<TD>   </TD>
 | 
				
			||||||
 | 
					<TD><ADDRESS><A HREF="mailto:strubin@rulabinsky.com"><CENTER>Steven M. Rubin</CENTER></A></ADDRESS></TD>
 | 
				
			||||||
 | 
					<TD>   </TD>
 | 
				
			||||||
 | 
					<TD><A HREF="http://www.staticfreesoft.com">Static Free Software</A></TD>
 | 
				
			||||||
 | 
					<TD><A HREF="http://www.staticfreesoft.com"><IMG SRC="../images/iconsfs.gif" ALT="SFS" BORDER=0></A></TD>
 | 
				
			||||||
 | 
					</TR></TABLE>
 | 
				
			||||||
 | 
					</BODY>
 | 
				
			||||||
 | 
					</HTML>
 | 
				
			||||||
							
								
								
									
										2357
									
								
								spec_2.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2357
									
								
								spec_2.html
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user