.HE //PCLO .FO/# PCLO Amiga/CAD command list Copyright (c)1986 SoftCircuits, Inc ALL RIGHTS RESERVED Written by Charles B. Blish -- { ars N4EJI } Last Updated: January 21st 1987 Documentation for RELEASE-VERSION 3.4r TECHNIQUE Efficient use of PCLO requires the operator to develop a group of techniques in placement and routing. These are best acheived by experimentation and trial-and-error sessions. The user is encouraged to experiment with the system, as some operations are very powerful and can be used in various ways. If you feel you have a neat or handy operations sequence, send it to us... we will test and verify it, and include it in the manual with credit to you, if you wish. The operations that are strongest and respond best to creative use are routing and the copy/move menu operations. Library Items General purpose pcb library items are also welcomed and may be included with the release level software. A good example of this is the DRAMS-8-64K record on the release diskette. This is an array of 8 dynamic rams, with a0-a7 brought out to the left, d0-d7 brought out to the right, CAS as an access line brought out to the left, and full power/ground routing and decoupling. Items like these are useful to anyone, and we will serve as a library center for these items as a service to our customers. A list of current items in the library will be available from the company when the service is initiated. Some of these will be included on the release disk, however we anticipate that there will be far too many for a complete set to be provided with the system. Items from the library are oriented just as they were when they were saved; Once you have reloaded them into the workspace you can then change their orientation with "Pivot", "Flip", or "Swap" from the Operations menu. You could also save several copies of a library item, each oriented differently... this just takes more disk space, while providing a quicker operation overall for the reload into place sequence, as you would not have to re-orient each time. In order to perform a Pivot, you must first mark the block in question. MENUS ----> NOTE! move the cursor INTO THE MENU BAR before you press the right mouse button to request a menu; Most requests for a menu are made after pressing either mouse button in the workspace so as to TAG a location that the menu operation uses in a process. If you press the right button in the workspace in an unplanned manner, the menu operation will then execute referenced to that point. This can be highly inconvienent. Requester Editing: All text formatted input to PCLO is done from a special text requester. Operations allowed in the requester are as follows; 1- entry of text at the cursor position 2- cursor movement via.. A- left arrow (move: 1 char left) B- right arrow (move: 1 char right) C- shifted left arrow (move: left end) D- shifted right arrow (move: right end) E- DEL key (delete under cursor) F- BACKSPACE key (cursor left, delete) 3- RETURN key (completes entry, terminates) 4- Right AMIGA/Q (Undo last editing change) Clicking the mouse's LEFT button IN the text requester is required in order to activate it. Once activated, the above operations become available. Clicking the LEFT mouse button OUTSIDE the text requester once it has been activated is the same as pressing ENTER, and will terminate (fuah) the requester. There are four main menus; Project, Display, Items, and Operations. The Projects menu contains seven items; Load, Save, Reload, Path, Quit, New, and Info. Save: contains two sub-items; Board, and Block. THESE TWO FUNCTIONS ARE NOT AVAILABLE IN SAMPLE VERSIONS Board: This will save the entire board, all layers, and the Silkscreen as well, if there is one.Requster asks for file name info;You must 'click' in the text window for it to become active; Either the 'RETURN' key Or a click outside the requester will terminate input. Teleport memories are saved with board records so returning to the area you were working in is convenient. Block: This will save all board layers, including the the silkscreen, that are within a MARKED area. Usethe "M" keystroke cmd for marking.Requester asks for file name info; You must 'click' in the text window for it to become active; Either the 'RETURN' key Or a click outside the requester will terminate input. Load: Contains two sub-items; Board, and Block For either board or block operations, file names of all available items in the appropriate directory will be displayed above the requester; PCLO should be running from a directory that contains two sub-directories named "BoardLib" and "PartsLib" or else the "Path" operation must be used to tell PCLO where these directories do reside. Board: This will load the entire board, all layers, and the silkscreen as well. Requester asks for file name info; You must 'click' in the text window for it to become active; Either the 'RETURN' key Or a click outside the requester will terminate input. pcb's on the disk will be displayed on screen above the requester. You choose which one to load from this list. Teleport memories are loaded with board records so returning to the area you were working in is convenient. You can create multiple layer boards using the 512k nominal 2-layer version of PCLO via some minimalfile manipulation. Let's say you want to make a four layer board. One possiblility for this is to create the power and ground layers, along with the initial placement of components, first. Once this is done, save normally. At this time exit PCLO and rename BOARDLIB/myboard/.LAYER1 to BOARDLIB/myboard/.LAYER3 ... PCLO will no longer find or load this layer. Now, when you start PCLO and load "myboard", only layer 1 (and the silkscreen, if there is one) will load. the bottom layer in the workspace will contain only pads, and is totally free for routing. This series of operations could be carried as far as you like, for as many layers as you need. Block: This will load a predefined block from disk, justified so as to place the upper left corner at the last location "tagged" by a left or right mouse button click. Requester asks for file name info; You must 'click' in the text window for it to become active; Either the 'RETURN' key Or a click outside the requester will terminate input. blocks on the disk will be displayed on screen above the requester. You choose which one to load from this list. ReLoad: Attempts to reload the last block or PCB record you specified with the "LOAD" menu operation. If no previous LOAD operation has taken place, then this operation will fail. Path: This brings up a sub-menu with three selections; Global: The specification here is placed at the beginning of ALL file access. So if you set the global path to "DF1:", then all paths will start with that string. BOLD: When accessing Boards, the path specification here is Appended to the global path specification, and then the filename you specified is appended to it. This has a default value of "BoardLib/". Parts: When accessing parts, the path specification here is Appended to the global path specification, and then the filename you specified is appended to it. This has a default value of "PartLib/". Quit: Brings up a small window with a verify request in it; If you verify, the program will exit to Amigados(tm), and all data will be lost. You use the mouse and click on one of the two possible actions to terminate the requester. No further action will be taken until you make a choice. NEW: Erases ALL data on ALL planes; Sets up for a new project. Info: Brings up a window containing revision and origin data... The window is removed by moving the pointer up into the screen's menu bar. This window contains either a serial number, or the terms "sample or "Dealer Demo". Copies of PCLO without this information in this window should be destroyed, as they are obsolete. ALL Beta and above versions of PCLO have valid information in this window. Original Demo diskettes do NOT have this window at all, and are valid items. The Display menu contains the following items; Layers, Yield, NoYield, Trace, NoTrace, Silk, Grid, NoOver, Magnify, NoMag, View, and Interlace. Layers: Contains a submenu with six subitems; NoLayers, PadsOnly, Layer1, Layer2, Layer3, and Layer4. NoLayers will disable the display of ALL layers. This is used to view the silkscreen only. PadsOnly causes selected layers to show only pads. This option should be used for observation only -- routing in this mode is inconvienent. Layer1 adds layer 1 to the non-selected display list. This layer will then be displayed only when you select it with the "T" key. Layer2 adds layer 2 to the non-selected display list. This layer will then be displayed only when you select it. (not active in 512k version) Layer3 adds layer 3 to the non-selected display list. This layer will then be displayed only when you select it. (not active in 512k version) Layer4 adds layer 4 to the non-selected display list. This layer will then be displayed only when you select it with the "B" key. Yield: Causes highlight of a tagged trace to be enabled; works with the "Y" keystroke. Yield must be selected for the "Y" key to have any effect. NOYield: Turns Yield off. Trace: Shows areas searched by the routing processor during trace routing. Allows you to place feedthroughs in an informed manner. Notrace: Turns Trace off. Silk: Enables SilkScreen display -- disables grid. Grid: Enables grid display -- disables silkscreen. NoOver: Disables either Grid or SilkScreen. Magnify: Changes display to 4:1 magnify display mode. NoMag: Changes display to 1:1 display mode. View: Changes display to show most of the work area in tiny format; temporary mode only; disabled by moving the cursor into the menu bar. No other operations are possible with View enabled. Interlace: contains a submenu with on and off selections, allowing you to choose the mode you prefer. Interlace offers a more substantial set of graphics elements, while non- Interlaced displays are more stable. The Items menu contains 3 selections; DIP, SIP, and PinGrid. DIP contains two subitems, DIP and w/FILTER DIP/DIP will create a dual inline package pattern only. Direction, total number of pins, and spacing in hundredths. Sample: S 16 3 DIP/w/FILTER will also place a filter cap near pin -1-. Direction, total number of pins, and spacing in hundredths. Sample: S 16 3 (generates a 16 pin DIP) SIP: This will generate a single inline package pattern. Direction, total number of pins. Sample: S 8 (generates an 8 pin sip) PinGrid: This will generate a pingrid 'n' pins on a side. Direction, total number of pins on ONE SIDE. Sample s 8 (Generates a 64 pin grid) The Operations menu contains 10 selections; Open, Print, Move, Copy, DeSilk, DePlane, Pivot, Flip, Swap, and Toss. Open: will actually 'spread' the circuit board open to allow youto insert new components and routes. Brings up a requester with default specifications in it. Enter direction n/s/e/w, and number of .050 grid locations you wish to spread out the board. Traces that are involved in the area where you specify the open center will be stretched... FAT traces are maintained as heavy lands, and thin traces will stay thin. After the open operation takes place, these routes may have to be adjusted to make enough room for the new circuit elements you are planning to insert. Print: will generate a checkplot of the entire board area on an Epson(tm) or compatable printer. Move: will take a marked area and place it, justified upper left to the last location tagged, and then erase the source area. There are two options available under move, "Active" and "All". If "All" is selected, then all layers are moved. If Active is selected, then only the data on the active layer is moved -- items on the other layers are not affected. Pads and other items like shearlines that implicitly exist on more than one layer will not be affected. The marked area is removed after the move operation has taken place. Copy: works identically to move, however it does NOT delete the source area. There are two options available under copy, "Active" and "All". If "All" is selected, then all layers are copied. If Active is selected, then only the data on the active layer is copied -- items on the other layers are not affected. Pads and other items like shearlines that implicitly exist on more than one layer will not be affected. The marked area is left active for possible further copy operations. DeSilk: removes all silkscreen information from a marked area. DePlane: removes pad and/or route information from a marked area. There are two options available under DePlane, "Active" and "All". If "All" is selected, then all data on all layers is deleted. If "Active" is selected instead, then only the trace data on the active layer is deleted -- items on the other layers are not affected. Pads and other items like shearlines that implicitly exist on more than one layer will not be affected. The marked area is disabled after the delete operation. Pivot: takes a marked area and rotates it 90, 180, or 270 degrees. The amount of rotation is selected by choosing from three options in the Pivot submenu, which appears when the pointer is positioned over the pivot menu item. Flip: takes a marked area and flips it horizontally or vertically. Selection of flip type is done from a two entry submenu. Swap: takes a marked area and exchanges the contents of the layers so as to place the bottom on the top, and the top on the bottom. Toss: This function will reverse the orientation of ALL the elements in the workspace; This can be done horizontally or vertically, selected by submenu options. One use for this is to help you maintain a real-world perspective on a circuit board's true physical orientation when copying an already existing board into PCLO for update or integration. If there are no records (mylar, etc) of the board's layout, then you must turn it over to enter the data into PCLO... that would mean that the trace information you are looking at would be backwards as compared to the way it would appear on the screen. The toss operation can adjust the workspace to represent the board as it appears when physically "tossed" onto it's other side, thus making it very easy to copy the features into the workspace. MARKING AREAS Areas are marked using the "m" keystroke command. Place the cursor overany corner of a rectangular area you wish to mark. Click either button, andthen press the 'm' key. This places the first marker. Now move the cursorto a location diagonally opposite your first choice, and repeat theoperation. The system will then display the selected area with a whiteoverlay. If this is not satisfactory, press the 'm' key once more and themarkers will be cleared. Some operations (Move, Delete...) remove the markedarea for you when they complete; others (Copy, Pivot...) do not, as is most often needed. STATUS LINE The status line contains three X:Y number pairs. The first pair indicatesan absolute distance of the last tagged location from the upper left hand corner of the workspace in inches. The second pair will display the difference between the last two tagged locations if the right mouse buttonis used to tag them. The third pair displays the distance from the last tagged location where the "L" keystroke command was given. This is usedto measure distances from arbitrary locations in the workspace. NOTE: moving the cursor out of the display window will turn off the'local' display co-ordinates. You must 'click' in the work area to reactivate them. In addition, any messages or errors occuring during program executionwill be displayed here. In this case, the XY information will disappear. Itwill reappear when you tag the next location, OR if you press the HELP key.If the X:Y data is visible and you press the HELP key, then the last message or error is displayed. The Cursor The cursor consists of a two-layer sprite. The upper layer moves on pixelboundaries, smoothly with the mouse's movements. The second layer, a smallwhite knob, is "locked" to the grid, and so 'hops' from location to locationas the cursor is moved over the grid. When the cursor is brought into themenu bar area, the "knob" will dissapear. This prevents other screens, suchas the Intuition screen, from having a non-related sprite run around in them. The DISPLAY PCLO's display can show several types of information in the work area; A: Traces, pads and associated items that are etched or drilled into the final product. B: Information associated with the silkscreen for the board, which consists of lines delineating component areas, and text describing these areas. C: Information associated with operations on the workspace area, including location grid, trace routing expansion displays, and highlighting effects that indicate areas marked with the "M" key cmd. D: Windows and requesters used to pass detailed information to the program such as file names, detailed component specifications, etc. Use of color within the work area When a layer is selected as current, it will be displayed in GREEN. When it is not selected as current, it is displayed in a color that allows you to determine at a glance which layer the element you are looking at is located upon. The layer colors are as follows; TOP: Blue UPPER: Orange LOWER: Magenta BOTTOM: Red Navigating the workspace PCLO provides Intuition(tm) standard proportional gadgets on the right andbottom of it's Screen. The gadget on the right allows you to move through the workspace vertically, and the gadget on the bottom allows you to move through the workspace horizontally. In addition, at the extreme end of each of these gadgets, there are small gadgets that are represented by arrows pointing in different directions. These will also move you through the workspace, but in very small increments. Clicking in the container of a proportional gadget will move approximately one full screen in that direction; and clicking on and dragging a knob will allow you to move arbitrary amounts through the workspace. Pressing the ESC key followed by one of the function keys F1 thru F10 will 'memorize' your current display window. After this is done, pressing the same function key will move the display window to this memorized area. All ten function keys are available, providing ten individual position memories in addition to the above described arbitrary navigation system. KEYSTROKE Commands A -- ATTACH (marked area) to silkscreen record (requester asks for opt text) B -- BOTTOM of board selected as current (bottom layer displays in green) C -- CLEAR current cell (last spot tagged by click of mouse button) D -- DRILL hole marker to current cell E -- ELIMINATE tagged trace F -- FATCELL to current cell G -- H -- I -- J -- JOG route -- repeat target offset (try this in array routes like ram) K -- L -- LOCAL co-ordinates become relative to last tagged cell M -- MARKER set at current tagged cell N -- NODE to current cell O -- OPPOSITE route direction -- use after routing with spacebar P -- PAD (normal) to current cell location Q -- QRUNCH tagged trace (thin it) R -- S -- SHEAR line - convert tagged trace T -- TOP of board selected as current (top layer displays in green) U -- UP/down silkscreen text entry to the text layer. V -- VIA (feedthru) to current cell W -- WRITE a text string to the silkscreen layer X -- X-PAND selected trace (fatten it) Y -- YIELD the selected trace (highlight it) Z -- ( ... no mnemonic here ) continue routing trace from last node ESC - Memory enter key for function keys F1-F10 - Memory select keys (see navigating the display, above) SPACEBAR set current cell as next node in route (start/end trace) CURSOR keys - navigate the on-screen grid in .050 and .500 steps (shifted)NUMERIC PAD; All keys, -, ENTER, and 0 - 9 will place different pieces of tracesegment in the current cell; This allows you to create any arbitrary trace by hand, if the router will not co-operate with your needs. Routing example A: Place the cursor over the location you wish the route to start or end on B: Click either mouse button C: Press the space bar (observe the message in the status line) D: Move the cursor over the location where the other end of the route goes E: Click either mouse button F: Press the spacebar again. This completes the route. Optional route continue: (Used when the second point does NOT terminate on any other item such as a pad or another trace) G: Move the cursor over the next location in the route H: Click either mouse button J: Press the "Z" key to continue from the last end of the trace HoleCount This program is provided as a simple example of a "layer post-processor". It counts the number of holes to be drilled in a board, asks you for a "cost per hole" value, and calculates a cost for the board. The entire source for this program is included on the release disk, for use as anexample in generating your own layer post-processor routines. The source is NOT included on the sample diskette. This source is in the 'c'language, is well commented, and written in anuncomplicated style. PLOT DMP-52 and compatible plotter driver. This can be run from either the workbench or CLI. Operation is generally self-explanatory, as each option is selected by a choice from a multiple choice list.Also included on the release disk is the source for the plotter driver in the 'c' language. This may be used by registered users to create drivers for other types of plotters. If you do create such a driver, thenplease contact us; Such drivers may be useful to otherusers of PCLO, and it is to your benefit that others use PCLO, as this furthers development here at SoftCircuits, Inc. For correct plot generation, we suggest strongly that a .7mm pen be used. All tolerances are plotted assuming this pen diameter.The plotter runs at 9600 baud. This Software is provided as a tool for the user...No warrantees or guarantees of usefulness for any purpose is provided; We welcome your suggestions -- please feel free to call or write with specifics. Also, please: as a kindness to us; report ANY "bugs" or errors to us at; SoftCircuits, Inc; 401 Sw 75th Terrace North Lauderdale, FL 33068 or call 305-721-2707 Route on! C.B.B.