INTRODUCTION INTRODUCTION Installation First, place the distribution diskette into one of your floppy drives. Log onto that drive and type QINSTAL QINSTAL followed by {Enter}. You will be prompted for the destination drive and path to receive the QiCAD files. When installation is completed, store the distribution diskette in a safe place. Before running QiCAD, you should edit the file DEVICE.SET to contain the drive letter of your RAM drive. QiCAD requires a RAM drive running above system memory for optimum operation. Many third party RAM drives are available, and all DOS versions beyond 3.0 include a RAM drive, named RAMDRIVE.SYS. For information, please consult your DOS manual or RAM drive user's manual. If you encounter any problems installing QiCAD, please contact Customer Support at Voice: (702) 423-1653 0900-1700 PST FAX: (702) 423-1654 24 hours Typographical Conventions Throughout this Manual, we use the following conventions for representing user interaction: Menu items are shown between square brackets, e.g., [PLACE] Menu items in other than the current menu are shown with the menu name, followed by a slash, followed by the menu item, e.g., EDIT/[ChgLyr] Printing keys are shown in double quotes, e.g., "/" (the Pan function). Non-printing keys are depicted with their key cap legends or functional descriptions between angle brackets, e.g., {Enter} or {Backspace}. In cases where key combinations are meant, they are shown juxtaposed, e.g., {Ctrl}"x" (the Exit function) Mouse buttons are defined as {MouseR} = the rightmost mouse button {MouseL} = the leftmost mouse button {MouseLR} = {MouseL} and {MouseR} pressed together Overview The QiCAD PC Design System consists of the QiCAD Layout Editor, a programmable batch autorouter, and an appropriate Library of components. QiCAD's unique database combines physical size and shape information with electrical wiring information to enhance the PC design process. With QiCAD's approach, it is possible to design a layout either from a netlist, or from "scratch," without any reference to the electrical database. For some types of designs, such as test fixtures, this is the preferred method. In either case, the QiCAD Editor provides a rich set of tools for creating printed circuit designs. Designing with the electrical database involves adhering to a predetermined sequence of steps. First, you prepare a netlist of all the electrical connections in the layout, and a parts list of all components used. You may either type the netlist or extract it from one of the many schematic drawing programs on the market. QiCAD can convert netlists in popular "Schema" format; one product, SuperCAD, can emit netlists in GAV format. Refer to the Tutorial section for details on using netlists. Second, you "read" the netlist into a blank layout to load the parts and their connections. This process creates a "ratsnest drawing," which is a collection of parts used in a layout, connected by lines representing the electrical wiring. Next, you use the positioning functions of QiCAD to move, rotate and mirror the components into appropriate locations within the board layout. The object of this step is to achieve a minimum of wire cross-overs. An efficient placement results in much easier routing later. At this point, you may either begin routing the wires manually using track bending and point-to-point autorouting, or submit the ratsnest drawing to the batch autorouter. To run the Autorouter you define a routing window, build the autorouter interface files, and exit QiCAD. Now, you are ready to autoroute. The AR Autorouter loads the interface files and proceeds to insert routing tracks and vias into the layout. When the Autorouter has completed as many routes as possible, you run re-enter QiCAD and load the autorouter data into routing window. Finally, you use QiCAD's editing functions to make last-minute modifications. If you wish to bypass the electrical database and design manually, you need only enter QiCAD, draw the board outline, and begin work. In manual layout, you select parts from the Library using QiCAD's Menus, drag the parts into place, and connect them using QiCAD's point-to-point autorouter. If you are designing with repeated cells or arrays, you may choose to exploit QiCAD's array features. Once you have completed your layout, you may want to generate data for photoplotting or drilling using QiCAD's CAM capabilities, such as Gerber and Excellon output. AUTOROUTING The AR Autorouter included with QiCAD is quite powerful and flexible. Nevertheless, AR will not do your thinking for you; there is no substitute for careful design. What AR will do is ____ perform a large percentage of the wiring hookups for you. Chances are, you would be able to produce a better looking layout manually; autorouting is a trade-off between time and aesthetics. In a typical autorouted design, AR will complete about 80-90 percent of the connections in ten percent of the time it would take you to do them. In order to exploit AR, you need to understand the autorouting process and how AR approaches it. Autorouters are programs which automatically convert from-to wiring information into an orderly layout. Using a list of wires and pad locations as input, autorouters follow various rules and algorithms to create tracks and via pads. The routing process poses a number of concerns: first, there must be a method for representing the layout in memory; second, there must be some means of detecting clearances between elements; third, there must be a strategy for finding a free path; lastly, there must exist criteria for selecting layers. Computer scientists have developed numerous algorithms to address these concerns; GAV has selected the venerable Lee Algorithm in implementing AR. The algorithm, proposed by C.Y. Lee in 1961, envisions the layout as represented by a rectangular array of points resembling a sheet of graph paper. Each point of the layout can contain only one of three things: empty space, a pad, or a track vertex. The algorithm functions by searching in an ever-widening spiral for free cells, leaving a marked trail back to the search origin. The most common complaint about the Lee Algorithm is that it must search n2 cells to find a route for a wire of length n; the search n2 cells to find a route for a wire of length n; the algorithm is slow. The AR ripup Autorouter uses a variant of the Lee Algorithm: the search path can be constrained within user-defined bounds. AR thus permits considerable control over the routing process by allowing the user to alter the search characteristics as well as other routing rules during a session. To accomplish this, AR provides a batch programming script language. AR reads control commands from a file named ROUTER.CTL. Commands in this file set various rules, such as the number of vias, the layers to be used, and so on. For detailed information on each of the controls, consult the Reference section entitled, "Autorouter Controls." The most important rules which AR uses in routing are layer assignment and Sidetrack/Backtrack. BR assigns a wire to either a layer containing mostly horizontal wires or mostly vertical wires. Sidetrack and Backtrack control how far AR searches to locate a route for a given wire. When Side-and-Backtrack are both small, routing will be confined within fairly tight channels, but rather many wires may be rejected for routing. If Sidetrack and Backtrack are loose, routes will tend to "meander," and the board will tend to become clogged with tracks. A fuller discussion of these important parameters is located in the Reference section. QiCAD Database QiCAD stores its working data in a file called QICAD.$$$. In normal operation, this file resides on a RAM drive above system memory. Consequently, data is preserved between sessions (unless you reboot in the meantime). When you exit QiCAD or when you select FILE/Save, QiCAD copies the file in the RAM drive to a job file on the hard drive. When you select FILE/Load, the RAM drive file is overwritten with the new job file. Each entry in the database is either a Pad, a Track, a Window, a Part Reference, a Label Tag, or a Signal. Pads and tracks represent the physical information in the layout, while part references and signals represent the electrical information. In addition, pads and tracks may have electrical attributes. For example, a pad can have a pin number attribute, a part reference attribute, and a signal attributes. Tracks may have either part reference attributes or signal attributes, but not both. Pads or tracks with no attributes are considered to be neutral _______ electrically. Each pad and track also carries physical information (size and layer), and status information (selected, visible, or deleted). An element's size actually describes the dimensions and shape of an imaginary tool used to construct it. A track, for example, might be defined with a round tool 0.010" x 0.010" in diameter. The resulting track drawn with such a tool would be 0.010" wide and would have rounded ends. A pad might be described with a 0.055" x 0.070" rectangular tool; the resulting pad would be a 0.055" x 0.070" rectangle. This tool concept is based on the photoplotter data format, RS- 274. Following the photoplotting conventions, the tools are called apertures, and the tool numbers used to refer to them are _________ called Dcodes. In photoplotter jargon, tracks are called draws ______ _____ and pads are called flashes. The technique of using defined tools yields enormous advantages. First of all (assuming you have the layout photoplotted), you have a built-in photoplot viewer. Second, and more important, you have a tokenized database. This means, for example, that you can change all 0.015" tracks into 0.012" tracks simply by editing the tool definitions. Finally, tokenization lets you exploit certain advanced features of modern photoplotters, such as flood fills and automatic groundplane generation. Elements are located within a space of +/- 32000 units in X and Y. Normally, units are construed to be mils (0.001"); all QiCAD ____ library parts are constructed in mil units. QiCAD assumes the following layer conventions: A is the pads layer B is the component side C is the solder side B..G are autorouting layers M is the routing window layer N is the bottom silkscreen O is the top silkscreen P is the wire layer REFERENCE How to... How to... ...select an element In order to add an element to the selection set you must use one of the selectors, [Next], [All], [Wndo], or [EWndo]. _________ Use the [Next] selector by either picking it or typing the "+" key. The next item in the database will be selected, and ____ everything in the prior selection set will be deselected. everything in the prior selection set will be deselected. Use the [All] selector by either picking it or by typing the "*" key. All items in the database at the current cursor location ___ will be added to the selection set. For the [Next] and [All] selectors, the search diameter is one-tenth the current grid setting. Use the [Wndo] selector by picking it or by typing the {End} key. All items with at least one vertex within the window will be added to the selection set. Use the [EWndo] selector by picking it or by typing the "e" key. All items with at least one vertex within the window, and which are of the current data mode type, and which are on the current layer, will be added to the selection set. ...get help Move the cursor to the menu item for which you want help and click {MouseR}. Then, move the cursor out of the menu sidebar and type the "?" key. ...zoom Move the cursor to the position in the display which you want to be the center of the new view and click {MouseL}. You may stop the redraw by typing {Esc}. ...pan Move the cursor to the position in the display which you want to be the center of the new view and click {MouseR}. You may stop the redraw by typing {Esc}. ...set the width display Pick the [Width] selection or type the "w" key. ...set the grid interval Select UTIL/[Grid] or type the "g" key. Supply the grid interval in units and whether grid dots should be displayed. ...set gridsnap Pick the [Snap] selection or type the "c" key. ...measure Select UTIL/[Meas.] or type the "v" key. When prompted, move the cursor to the beginning point of the distance to be measured and click {MouseL}. Move the cursor to the other end of the distance and read the dX,dY co-ordinates from the status line. Click {MouseL} to save the measurement into the Skew Vector or {MouseR} to discard it. ...load Select FILE/[Load] and supply the job name without extents. The contents of the present database are lost. ...save Select FILE/[Save] and supply the job name without extents. The contents of the present database are copied into the file jobname.DB. The prior contents of jobname.DB are overwritten. ...quit Select FILE/[Quit] or type the {Ctrl}"x" key. The contents of the present database are preserved. ...change layers Select the elements to be changed and pick [Layer] or type the "L" key. Type the letter of the layer onto which the selection is to be placed. Then, select EDIT/[ChgLyr] or type the "\" key. This operation does not clear the selection set. ...change sizes Select the elements to be changed and pick [Size]] or type the "d" key. Type the number of the Dcode (tool) to which the selection is to be set, followed by ""Q" to exit the Dcode Editor. Then, select EDIT/[ChgSiz] or type the {Tab} key. This operation does not clear the selection set. ...change data mode Select LIBR/[ModeT] or type the "t" key to set the Track Data Mode; select LIBR/[ModeP} or type the "p" key to set the Pad Data Mode. ...add a pad Set the size, layer, and gridsnap appropriately, and set the Pad Data Mode. Select LIBR/[Add] or type the {Ins} key. Move the cursor to the pad location and click {MouseL}. Continue until you are finished adding pads and click {MouseR} to terminate the command. ...add a track Set the size, layer, and gridsnap appropriately, and set the Track Data Mode. Select LIBR/[Add] or type the {Ins} key. Move the cursor to the beginning point of the track and click {MouseL}. Move to the end point of the track and click {MouseL}. Continue until you are finished adding Tracks and click {MouseR} to terminate the command. ...add a part Select LIBR/[Insert] or type the "i" key. Supply the part name with extent, move the cursor to the desired insertion point, and click {MouseL}. If the part requires a reference designator, supply it when prompted. The contents of the part are added to the selection set. ...create heat reliefs There are two methods. The preferred is to place tie bars on a special connection layer for each plane. The final plane artwork is created at the photoplotter by (1) plotting the pad set oversize and negative, and then (2) plotting the pad set right size, positive, and finally, (3) plotting the appropriate tie bars right size positive. This entire operation can be done without removing the film from the plotter. The second method is to create a non-electrical thermal pad(on the plane layer) using tracks and superimpose it on the appropriate part pin. ...add text Set the size, layer, and gridsnap appropriately, and select UTIL/[Text] or type the "$" key. Supply the text string to be inserted and move the cursor to the insertion point. Click {MouseL} to insert the text, which is added to the selection set. ...list selected elements Select UTIL/[List]. When the listing is complete, type any key to return to the display. ...list the database Select FILE/[DBList]. When the listing is complete, type any key to return to the display. ...move elements Select the elements to be moved and then pick EDIT/[Move] or type the {Space} bar. Click {MouseL} at the datum point of the move and again at the new location. The selection set is not cleared. ...delete elements Make sure that only those items which are to be deleted are in the selection set. Select EDIT/[Del] or type the {Del} key. Deleted items may be recovered with UTIL/[Undel] until the database is purged. ...rotate elements Select the elements to be rotated and move the origin to the desired center of rotation by picking [Orig.] or typing the "o" key. Then, pick EDIT/[Rot90] ("{") or EDIT/[Rot...]. ...mirror elements Select the elements to be mirrored and move the origin to the desired reflection point by picking [Orig.] or typing the "o" key. Then, select EDIT/[Mirror]. ...change an element's shape Select [Size] or type the "d" key. Enter the Dcode (tool) number of the element in question. Use the X, Y, and Shape fields of the Dcode Editor to re-define the tool. Type "Q" to exit the Dcode Editor, and the display will be redrawn to reflect the change. Note that all elements using this tool will be changed; to change just one element, use EDIT/[ChgSiz] to change it to another tool. ...set the part reference Select PLACE/[SelPrt] or the "q" key and enter the part reference to set. Note that this function is case-sensitive. The contents of the part is added to the selection set; type "u" to clear the selection set, if desired. Setting the part reference to "NULL" makes the current part reference neutral. ...set the current signal Select ROUTE/[SelSgl] or the "j" key and enter the signal name to set. Note that this function is not case sensitive. All elements of this signal are added to the selection set; type "u" to clear the selection set, if desired. Setting the signal reference to "NULL" makes the current signal reference neutral. ...add label tags Select LIBR/[Tag] or type the key "_" ({Underscore}). From the Tag Submenu, type "L" and click {MouseL} to indicate the desired label location. Supply the height of the label text, label rotation, and the desired label layer. QiCAD inserts the word "LABEL" at the selected location. The label tag will remain until it is processed during LIBR/[Create] or until the database is purged. Type "Q" to quit the Tag Submenu. ...add pin number tags Select LIBR/[Tag] or type the key "_" ({Underscore}). From the Tag Submenu, type "P", click {MouseL} to select a pad to tag, and supply the pin number. QiCAD draws the pin number. Type "Q" to quit the Tag Submenu. ...set or change an element's part reference Use one of the selectors to choose the element to be tagged. Pick LIBR/[Tag] or type the key "_" ({Underscore}). From the Tag Submenu, type "R" and supply the reference designator with which the element is to be tagged. Type "Q" to exit the Tag Submenu. ...set or change an element's signal reference Use one of the selectors to choose the element to be tagged. Pick LIBR/[Tag] or type the key "_" ({Underscore}). From the Tag Submenu, type "S" and supply the signal reference with which the element is to be tagged. Type "Q" to exit the Tag Submenu. ...create a part Use one of the selectors to choose the elements to be included in the part. If the part is to be referenced, be sure that a label tag is included in the selection. Make sure that all pads are tagged with appropriate pin numbers, if necessary. Pick LIBR/[Create] or type the "a" key and supply the part name (including extent) in which the elements are to be stored. The part is stored in the library subdirectory, and any previous part bearing the same name is overwritten. If the part is to be called from a netlist, the extent must be .PRT. ...create surface mount parts Draw the part to be created with the component outline on the appropriate layer and place the lands on the corresponding etch layer. Note that layer B is considered to be the component etch layer and C the solder etch layer. The main issue with SMD parts is how the lands are constructed. If you use pads with PLCC-type devices, you must use a separate Dcode for each orientation, if you use tracks, you will get obround lands, rather than rectangular ones, and you will have to include a pad at the end of each land to indicate a connection point and hold pin numbers. If you intend to use the autorouter with SMD's you will also have to include via connections with the part. Once you have drawn all the elements in the part, use LIBR/[Create] in the normal manner. ...make an electrical part Electrical parts must have label tags and pin numbers. Use LIBR/[Tag] to add these and then use LIBR/[Create] in the normal manner to create the part. ...read a netlist First, zoom out so that the entire board outline, and a few inches beyond it, is visible. Pick PLACE/[RdNets] and supply the netlist name, including extent. As the parts are called from the netlist, click {MouseL} to position them loosely around the outside of the board outline, being careful not to overlap them. When all the parts have been called, QiCAD will draw the ratsnest. ...change a part reference Select PLACE/[UpdPrt] or type the {Alt} "N" key. Enter the reference designator to set and then type {Enter} when prompted for the new reference. ...change a part name Select PLACE/[UpdPrt] or type the {Alt}"N" key and supply the name to changed, followed by the new name. You will be reminded to update any label text. ...change a signal name Select ROUTE/[UpdSgl] or type the {Ctrl}"V" key and supply the name of the signal to change, followed by the new signal name. ...move a part and its wires If the part is an electrical part, use PLACE/[SelPrt] to select it, otherwise, use the [Wndo] selector to enclose the part. Pick PLACE/[Move] or type the {Space} bar to move the selected elements. ...bend a wire Use ROUTE/[SelSgl] to set the signal, followed by "U" to clear the selection set. Then, use one of the selectors to pick the wire to bend. Select ROUTE/[Bend] and click {MouseL} to set the location of the added vertex. ...unbend a wire Use ROUTE/[SelSgl] to set the signal, followed by "U" to clear the selection set. Use one of the selectors to choose two adjoining tracks and then ROUTE/[UnBend]. the coincident vertex will be removed and a single track created. ...Autoroute point-to-point Zoom up so that grid dots are visible, making sure that the width display and gridsnap are on. Pick ROUTE/[Aroute] and click {MouseL} to set the first point of the track to be routed. Click {MouseL} again to set the other end of the track. If a route exists within the displayed window, QiCAD will create it. ...add a via Select ROUTE/[Via] and click {MouseL} at the desired via location. QiCAD will insert a D27 pad at this location. To change the default via tool, edit the file VIA.SET. ...make a routing window Select ROUTE/[RWndow] and enclose the area to be windowed. Be sure that the grid is set to some multiple of the desired routing grid and that gridsnap is on. ...create autorouter data select the window to be used by moving the cursor inside it and typing the "*" key (the All selector). Pick ROUTE/[Make] and supply the job name for the window data. ...load autorouted data select the window to be used by moving the cursor inside it and typing the "*" key (the All selector). Pick ROUTE/[Pour] and supply the job name for the data to be loaded into the window. ...program the autorouter Edit the file ROUTER.CTL to contain the desired program. Consult the section entitled "Batch Script Command Language" for details. ...adjust the routing grid Edit the file ROUTER.INI to adjust the grid setting. Consult the heading "Global Settings" under the "Autorouter Rules" section for details. ...adjust the router settings Edit the file ROUTER.INI to adjust the setting. Consult the heading "Global Settings" under the "Autorouter Rules" section for details. ...create curves Select UTIL/[Curve] and click {MouseL} once at each control point for the curve. QiCAD will construct a Bezier spline within the control points, made of electrically neutral joined tracks on the current layer. ...create corners Use UTIL/[Curve] such that the third and fourth control point coincide. If distances 1-2 and 2-3 are equal, the result will approximate a 90 degree arc section. You must tag the tracks making up the corner with the appropriate signal or part information. ...create doglegs Use UTIL/[Curve] such that the control points describe a stair step, where distances 1-2, 2-3, and 3-4 are equal. The result will be a smooth dogleg between point 1 and 4. You must tag the tracks making up the corner with the appropriate signal or part information. ...create circles Pick UTIL/[Circle] and click {MouseL} at the desired center point. Supply the radius is units and QiCAD draws a circle made up of tangent tracks. You must tag the tracks making up the corner with the appropriate signal or part information. ...create solid areas Use LIBR/[Add], UTIL/[Curve], or UTIL/[Circle] to create an enclosed polygon. Tag the polygon with the appropriate electrical information and then select it with one of the selectors. Pick UTIL/[Hatch] and supply the fill pitch in units. QiCAD adds fill tracks of the same layer and electrical value as the polygon. Alternatively, if you will be photoplotting on equipment which supports flood fills, you may construct the bounding polygon with a Dcode of D100. QiCAD will depict the inside of this area as solid, but will not perform gap checking within it. You must tell your photoplotting vendor that D100 is a flood fill boundary. ...create arrays Choose the elements to be arrayed with one of the selectors. Pick UTIL/[Array] and provide the information prompted for. QiCAD clears the selection set and then constructs the array, adding the new elements to the selection set. ...perform gap checks Select UTIL/[Check] and supply the clearance to be checked for. QiCAD will insert a cross on layer M at each violation. ...change all of one size to another Set the size code to change TO, and then pick UTIL/[Xcode] or type {Shift}{Tab}. Supply the tool number of the size to changed FROM. Every element with the FROM size will be changed to the TO size. ...scale elements Choose the elements to be scaled with one of the selectors and pick UTIL/[Scale]. Supply the new X and Y scale to apply to the selection set. QiCAD will change the co-ordinates of all elements in the selection set relative to the origin. Note that due to round-off errors, this operation is not always exactly reversible. ...create Gerber files Select a layer which is not to be output and pick OUTPUT/[Freeze] ___ to disable it. Repeat this process for all unwanted layers. Then, pick OUTPUT/[Gerber] and supply the file name to receive the data. You are given the option of writing an aperture list. ...create checkplots Select a layer which is not to be output and pick OUTPUT/[Freeze] ___ to disable it. Repeat this process for all unwanted layers. Then, pick OUTPUT/[CkPlot] and from the Plot Submenu, set the pen width, scale factor, and language. Type "B" to begin plotting. The plot data is sent to the file QICAD.PLT. ...create PostScript files Select a layer which is not to be output and pick OUTPUT/[Freeze] ___ to disable it. Repeat this process for all unwanted layers. Then, pick OUTPUT/[PostSc] and supply the job name to receive the data. You are given the option of creating groundplane. Data is sent to the file jobname.PSC. ...create drilling programs Pick OUTPUT/[Drill] and supply the job name to receive the data. QiCAD creates the file jobname.DRL. _______ ...export layouts to AutoCAD Pick OUTPUT/[Acad] and supply the job name to receive the data. QiCAD creates the file jobname.SCR. This file can be loaded into _______ an AutoCAD drawing by issuing the SCRIPT command.