.TH LAYOUT 10.1 .SH NAME layout, route, gview \- generate and view PCB trace layouts .SH SYNOPSIS .PP .B cda/route [ .B -tm ] [ .I file \&... ] .PP .B cda/layout [ .BI -a stem ] [ .B -gldqrs ] [ .I file \&... ] .PP .B cda/gview .BI -a afile [ .BI -begrR file ] ... [ .I file ... ] .PP .B cda/googoo [ .B -gd ] [ .BI -c "minx miny maxx maxy" ] [ .BI -w "x y" ] .I file ... .SH DESCRIPTION .PP These programs deal with laying out and viewing circuit board traces. .PP .I Route takes a board description and generates a signal layout with the .B Route primitive (see .IR fizz_format (10.6)). .I Route will only route within the bounds of a layer with a name of .BR analog_route . Currently, these routes are the same as generated by .IR wrap (10.1), either an MST .RB ( -m ) or TSP .RB ( -t , and default) route. Signals may cross; it is up to the user to edit the layouts generated so that they don't. For the intended domain of analog circuits, you probably want to edit the layouts anyway. .PP .I Layout takes a board description and layouts and produces various files in either outline form .RB ( -d , and default) or Gerber format .RB ( -g ). By default, the copper layer is produced. The .B -s option generates the silkscreen layer. In this case, bounding boxes are drawn around drillholes and chips, chips are labelled with their name and type (if the .B comment field is specified for a chip, the contents of that field is used instead of the type) and a rectangle is drawn around the board boundary. If the .B -a option is specified, then certain auxillary files, whose names all start with .IR stem , are generated defining drills and apertures and other administrative details. For Gerber outputs, if the .B -l option is given and the .B Board definition includes an .B xymask field, the contents of that field should be two numbers followed by a string; the string will be printed centered on the given point. The .B -r option applies to outlines only; it causes all corners to be rounded. .PP Due to the nature of Gerber plots, .I layout requires a particular style of drill specifications. The drill names .B A through .B Z inclusive are reserved for aperture designations. (Actually, .B Z is a control and not an aperture, see .IR fizz_format (10.6).) Any apertures used should be defined in the .B drillsz field in the .B Board definition. The type letter should be either .B r (round aperture) or .B s (square aperture); in both cases, the size is the diameter of the aperture. Furthermore, any drill used for a pin should specify, as the type field, the drill used make the pad for that pin. .PP .I Gview displays the given Gerber files. It requires an aperture definition file as produced by .IR layout . For each file displayed, you can set the colour (black is .BR -b , grey is .BR -g ) and a horizontal reflection .RB ( -r means reflected, .B -R means unreflected). Normally the plot is scaled to fit the layer; the .B -e option sets the scale to one (exact size). .PP .I Googoo is another Gerber viewer that assumes the same apertures as .IR xymash and displays the Gerber output at a factor of 10 magnification, or more precisely, \&.001 inch to one pixel. You can pan the layer around the plot by using the mouse (depress a button to select a point on the plot and release it when that point is in its desired position on the screen). Typing any character causes .I googoo to exit. You can set a clipping rectangle and the initial position of the layer by the .B -c and .B -w options respectively. The .B -d option causes nothing to be displayed; it is used for mainly for debugging. .SH EXAMPLES These drill specifications give .1 inch wide traces and 200 mil pads around \&.062 drill holes. .EX Board{ ... drillsz { a 62 M A 100 r % regular trace M 200 r % pad } } .EE .PP View the silkscreen for a board overlaying the copper shown in grey. .EX gview -a ex1.gerber -rg ex1.cu.ger -Rb ex1.silk.ger .EE .SH FILES .TF /sys/cda/gerber/ex1.* .TP .B /sys/cda/gerber/ex1.* examples of inputs and outputs of the above programs. .SH BUGS .I Route does a half-hearted job at best. Eventually, it should do a real route that guarantees no crossing nets.