home *** CD-ROM | disk | FTP | other *** search
- Copyright (C) Randy Nevin, 1989, 1990. Version 1.10
- See source code for rights granted.
-
-
-
- the following types of input lines are legal (spaces and tabs can separate
- tokens, and case is not significant):
-
- 1) a blank line (ignored)
- 2) ';' followed by anything (ignored)
- use semicolon to insert comments.
- 3) DIMENSION (row,column)
- this defines the number of rows and columns on the board, and must be
- given before any of the lines below. note that the user sees the board
- coordinate space as being 1-based, but internally it is 0-based.
- 4) HOLE (row,column)
- this defines a hole location.
- 5) CONNECT thing AND thing
- this declares that two holes are to be electrically connected. a thing
- can be (row,column), or name1.name2, where name1 is the name of a
- CHIPAT-defined chip, and name2 is the name of one of its pins, or a
- number, giving the pin number of the named chip. you can use "TO" or
- "=" instead of "AND" if you want.
- 6) PRIORITY CONNECT thing AND thing
- same as above, except the order of connections will be preserved. the
- autorouter is free to reorder the non-PRIORITY CONNECTs, and in fact
- reorders them shortest first. if there are PRIORITY CONNECTs, they will
- all be routed before non-PRIORITY CONNECTs.
- 7) INCLUDE filename
- this causes the input to be temporarily taken from the given filename.
- when the given filename is completely processed (EOF encountered),
- control returns to the current file. INCLUDE statements may be nested
- (they may occur inside the given filename). complete and partial
- pathnames can be used (C:TTL.INC, ..TTL.INC, TTL.INC, FOOTTL.INC).
- 8) CHIP TYPE=type PINS=number HORIZONTAL=number VERTICAL=number
- this declares a chip type, which can be used to place chips on the
- board (see CHIPAT, below), but does not itself place anything on the
- board. TYPE gives the name that will be used in later CHIPAT
- statements. PINS declares the number of pins. HORIZONTAL gives the
- number of 50-mil units separating adjacent pins (along the long side of
- the chip). and VERTICAL gives the number of 50-mil units separating
- pins across from each other (across the skinny width of the chip).
- standard values for HORIZONTAL and VERTICAL are 2 and 6, respectively.
- all CHIP type names must be unique.
- 9) number=name
- this declares a pin name for the chip that is currently being defined.
- this statement must follow a CHIP statement. pins not defined will have
- no name, but you can still refer to them by number. each pin on a chip
- can be named at most once.
- 10) name=number
- same as above.
- 11) CHIPAT (row,column) NAME=name TYPE=type ORIENTATION=orientation
- this defines an instance of a chip, and places the appropriate holes on
- the board. (row,column) is the location of pin 1. NAME defines the name
- to be used in following CONNECT statements. TYPE declares the
- CHIPAT-defined type of the chip. ORIENTATION can have the values
- NORMAL, UP, DOWN, and UPSIDEDOWN.All CUSTOM, INLINE and CHIP names
- must be unique.
-
- NORMAL UP DOWN UPSIDEDOWN
-
- 6 5 4 +---+ +---+ 3 2 1
- +-*-*-*-+ 4 * * 3 1 * | * 6 +-*-*-*-+
- | -> | 5 * ^ * 2 2 * v * 5 | <- |
- +-*-*-*-+ 6 * | * 1 3 * * 4 +-*-*-*-+
- 1 2 3 +---+ +---+ 4 5 6
-
- usually the highest-numbered pin (pin N) is Vcc (power) and the pin
- farthest from it (pin N/2) is GND (ground).
-
- The following statements were added by Stephen Smith.
-
- 12) INLINE TYPE=type PINS=number HORIZONTAL=number
- this declares an inline type, which can be used to place chips on the
- board (see CHIPAT, above), but does not itself place anything on the
- board. TYPE gives the name that will be used in later INLINAT
- statements. PINS declares the number of pins. HORIZONTAL gives the
- number of 50-mil units separating adjacent pins. Standard value
- for HORIZONTAL is 2. All INLINE type names must be unique.
- 13) INLINEAT (row,column) NAME=name TYPE=type ORIENTATION=orientation
- this defines an instance of an inline, and places the appropriate
- holes on the board. (row,column) is the location of pin 1. NAME defines
- the name to be used in following CONNECT statements. TYPE declares the
- INLINEAT-defined type of the chip. ORIENTATION can have the values
- NORMAL, UP, DOWN, and UPSIDEDOWN. All CUSTOM, INLINE and CHIP
- names must be unique.
-
- NORMAL UP DOWN UPSIDEDOWN
-
- 1 2 3 + + 3 2 1
- +-*-*-*-+ * 3 1 * +-*-*-*-+
- * 2 2 *
- * 1 3 *
- + +
-
- 14) CUSTOM TYPE=type
- In this case type is predefined in the EXE file and can be one of the
- following strings:
- PLCC20, PLCC28, PLCC32, PLCC44, PLCC52, PLCC68, and PLCC84.
- These strings and the associated arrays that go with them are defined
- in the file plcc.c. The numbers in the arrays are offsets from pin
- number 1 on a fifty mil grid.
-
- 15) CUSTOMAT (row,column) NAME=name TYPE=type ORIENTATION=orientation
- this defines an instance of an inline, and places the appropriate
- holes on the board. (row,column) is the location of pin 1. NAME defines
- the name to be used in following CONNECT statements. TYPE declares the
- CUSTOMAT-defined type of the chip. ORIENTATION can have the values
- NORMAL, UP, DOWN, and UPSIDEDOWN. All CUSTOM, INLINE and CHIP
- names must be unique. The directions shown below are for the
- PLCC chip carriers.
-
- NORMAL UP DOWN UPSIDEDOWN
-
- ***** ***** **1** *****
- ******* ******* ******* *******
- ** ** ** ** ** ** ** **
- 1* ** ** ** ** ** ** *1
- ** ** ** ** ** ** ** **
- ******* ******* ******* *******
- ***** **1** ***** *****
-
-
- Note: The coordinate system is left handed. ( Positive X values
- are vertical and positive Y values are to the right. Cell (1,1)
- denotes the lower left hand corner of the board. )
-
-
- X
- ^
- |
- |
- +----> Y
-
- usage: ROUTE4 [options] infile outfile [error_file]
- /N = no sorting of non-PRIORITY CONNECTs
- /M = Print to stdout the manual of valid input statements
- /0 = Output a ratsnest ony.
- /Pxxx = Percentage at which to quit trying to route
- the trace.
- /S = single sided printed circuit boards
- /D = Diagnal Traces not allowed
- /T = Route the top side of the board. Only valid if
- S is used.
- /B = Route the bottom side of the board. Only valid if
- S is used. Default Option.
-