home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / pcbsrcs2 / pcb.doc < prev    next >
Text File  |  1991-02-07  |  11KB  |  147 lines

  1. Copyright (C) Randy Nevin, 1989, 1990. Version 1.10
  2. See source code for rights granted.
  3.  
  4.  
  5.  
  6. the following types of input lines are legal (spaces and tabs can separate  
  7. tokens, and case is not significant):                                       
  8.                                                                             
  9.  1) a blank line (ignored)                                                  
  10.  2) ';' followed by anything (ignored)                                      
  11.     use semicolon to insert comments.                                       
  12.  3) DIMENSION (row,column)                                                  
  13.     this defines the number of rows and columns on the board, and must be   
  14.     given before any of the lines below. note that the user sees the board  
  15.     coordinate space as being 1-based, but internally it is 0-based.        
  16.  4) HOLE (row,column)                                                       
  17.     this defines a hole location.                                           
  18.  5) CONNECT thing AND thing                                                 
  19.     this declares that two holes are to be electrically connected. a thing  
  20.     can be (row,column), or name1.name2, where name1 is the name of a       
  21.     CHIPAT-defined chip, and name2 is the name of one of its pins, or a     
  22.     number, giving the pin number of the named chip. you can use "TO" or  
  23.     "=" instead of "AND" if you want.                                   
  24.  6) PRIORITY CONNECT thing AND thing                                        
  25.     same as above, except the order of connections will be preserved. the   
  26.     autorouter is free to reorder the non-PRIORITY CONNECTs, and in fact    
  27.     reorders them shortest first. if there are PRIORITY CONNECTs, they will 
  28.     all be routed before non-PRIORITY CONNECTs.                             
  29.  7) INCLUDE filename                                                        
  30.     this causes the input to be temporarily taken from the given filename.  
  31.     when the given filename is completely processed (EOF encountered),      
  32.     control returns to the current file. INCLUDE statements may be nested   
  33.     (they may occur inside the given filename). complete and partial        
  34.     pathnames can be used (C:TTL.INC, ..TTL.INC, TTL.INC, FOOTTL.INC).  
  35.  8) CHIP TYPE=type PINS=number HORIZONTAL=number VERTICAL=number            
  36.     this declares a chip type, which can be used to place chips on the      
  37.     board (see CHIPAT, below), but does not itself place anything on the    
  38.     board. TYPE gives the name that will be used in later CHIPAT            
  39.     statements. PINS declares the number of pins. HORIZONTAL gives the      
  40.     number of 50-mil units separating adjacent pins (along the long side of 
  41.     the chip). and VERTICAL gives the number of 50-mil units separating     
  42.     pins across from each other (across the skinny width of the chip).      
  43.     standard values for HORIZONTAL and VERTICAL are 2 and 6, respectively.  
  44.     all CHIP type names must be unique.                                     
  45.  9) number=name                                                             
  46.     this declares a pin name for the chip that is currently being defined.  
  47.     this statement must follow a CHIP statement. pins not defined will have 
  48.     no name, but you can still refer to them by number. each pin on a chip  
  49.     can be named at most once.                                              
  50. 10) name=number                                                             
  51.     same as above.                                                          
  52. 11) CHIPAT (row,column) NAME=name TYPE=type ORIENTATION=orientation         
  53.     this defines an instance of a chip, and places the appropriate holes on 
  54.     the board. (row,column) is the location of pin 1. NAME defines the name 
  55.     to be used in following CONNECT statements. TYPE declares the           
  56.     CHIPAT-defined type of the chip. ORIENTATION can have the values        
  57.     NORMAL, UP, DOWN, and UPSIDEDOWN.All CUSTOM, INLINE and CHIP names      
  58.     must be unique.                                                         
  59.                                                                             
  60.      NORMAL           UP           DOWN        UPSIDEDOWN                   
  61.                                                                             
  62.       6 5 4          +---+         +---+          3 2 1                     
  63.     +-*-*-*-+      4 *   * 3     1 * | * 6      +-*-*-*-+                   
  64.     |  ->   |      5 * ^ * 2     2 * v * 5      |   <-  |                   
  65.     +-*-*-*-+      6 * | * 1     3 *   * 4      +-*-*-*-+                   
  66.       1 2 3          +---+         +---+          4 5 6                     
  67.                                                                             
  68.     usually the highest-numbered pin (pin N) is Vcc (power) and the pin     
  69.     farthest from it (pin N/2) is GND (ground).                             
  70.                                                                             
  71. The following statements were added by Stephen Smith.                       
  72.                                                                             
  73. 12) INLINE TYPE=type PINS=number HORIZONTAL=number                          
  74.     this declares an inline type, which can be used to place chips on the   
  75.     board (see CHIPAT, above), but does not itself place anything on the    
  76.     board. TYPE gives the name that will be used in later INLINAT           
  77.     statements. PINS declares the number of pins. HORIZONTAL gives the      
  78.     number of 50-mil units separating adjacent pins.  Standard value        
  79.     for HORIZONTAL is 2.  All INLINE type names must be unique.             
  80. 13) INLINEAT (row,column) NAME=name TYPE=type ORIENTATION=orientation       
  81.     this defines an instance of an inline, and places the appropriate       
  82.     holes on the board. (row,column) is the location of pin 1. NAME defines 
  83.     the name to be used in following CONNECT statements. TYPE declares the  
  84.     INLINEAT-defined type of the chip. ORIENTATION can have the values      
  85.     NORMAL, UP, DOWN, and UPSIDEDOWN.  All CUSTOM, INLINE and CHIP          
  86.     names must be unique.                                                   
  87.                                                                             
  88.      NORMAL           UP           DOWN        UPSIDEDOWN                   
  89.                                                                             
  90.      1 2 3            +              +          3 2 1                       
  91.    +-*-*-*-+          * 3          1 *        +-*-*-*-+                     
  92.                       * 2          2 *                                      
  93.                       * 1          3 *                                      
  94.                       +              +                                      
  95.                                                                             
  96. 14) CUSTOM TYPE=type                                                        
  97.     In this case type is predefined in the EXE file and can be one of the   
  98.     following strings:                                                      
  99.         PLCC20, PLCC28, PLCC32, PLCC44, PLCC52, PLCC68, and PLCC84.         
  100.     These strings and the associated arrays that go with them are defined   
  101.     in the file plcc.c.  The numbers in the arrays are offsets from pin     
  102.     number 1 on a fifty mil grid.                                           
  103.                                                                             
  104. 15) CUSTOMAT (row,column) NAME=name TYPE=type ORIENTATION=orientation       
  105.     this defines an instance of an inline, and places the appropriate       
  106.     holes on the board. (row,column) is the location of pin 1. NAME defines 
  107.     the name to be used in following CONNECT statements. TYPE declares the  
  108.     CUSTOMAT-defined type of the chip. ORIENTATION can have the values      
  109.     NORMAL, UP, DOWN, and UPSIDEDOWN.  All CUSTOM, INLINE and CHIP          
  110.     names must be unique.  The directions shown below are for the           
  111.     PLCC chip carriers.                                                     
  112.                                                                             
  113.      NORMAL           UP           DOWN        UPSIDEDOWN                   
  114.                                                                             
  115.       *****          *****         **1**          *****                     
  116.      *******        *******       *******        *******                    
  117.      **   **        **   **       **   **        **   **                    
  118.      1*   **        **   **       **   **        **   *1                    
  119.      **   **        **   **       **   **        **   **                    
  120.      *******        *******       *******        *******                    
  121.       *****          **1**         *****          *****                     
  122.                                                                             
  123.                                                                             
  124.      Note:  The coordinate system is left handed.  ( Positive X values      
  125.      are vertical and positive Y values are to the right.  Cell (1,1)       
  126.      denotes the lower left hand corner of the board. )                     
  127.                                                                             
  128.                                                                             
  129.      X                                                                      
  130.      ^                                                                      
  131.      |                                                                      
  132.      |                                                                      
  133.      +----> Y                                                             
  134.  
  135. usage: ROUTE4 [options] infile outfile [error_file]
  136.  /N    = no sorting of non-PRIORITY CONNECTs
  137.  /M    = Print to stdout the manual of valid input statements
  138.  /0    = Output a ratsnest ony. 
  139.  /Pxxx = Percentage at which to quit trying to route 
  140.          the trace. 
  141.  /S    = single sided printed circuit boards 
  142.  /D    = Diagnal Traces not allowed
  143.  /T    = Route the top side of the board. Only valid if
  144.           S is used. 
  145.  /B    = Route the bottom side of the board. Only valid if
  146.           S is used.  Default Option. 
  147.