The layout level is the top hierarchy level of the BAE PCB design system database. On layout level, the PCB contour is defined, the parts (from the subordinate layout part level) are placed, keepout areas, power planes and copper areas are defined, the traces are routed and, finally, the CAM output is generated. Drawing items and text can be created on layout level for such things as plot registration markers, measurement, project identification, etc.
This section explains how to use the basic functions for creating layouts, placing parts, creating text and documentary graphic and performing manual routing. A layout named
Use the following commands to move to the BAE examples directory (i.e. where the example job file
> C: > cd c:\baejobs > bae
Move the menu cursor to themenu item and confirm this choice by pressing the left mouse button:
The Layout Editor is activated and you can start to edit PCB layouts.
4.3.1 Creating and Editing PCB Layouts
Creating a new Layout
Use the following commands to create a new layout in the
A frame designating the element boundaries of the layout appears on the screen. If the system issues an error message such as, then a layout with the specified element name has already been generated. In this case, the requested element cannot be created, but must be loaded (see below). It is strongly recommended to specify a layout element name identical to the name of the net list for which the layout should be designed, because otherwise the system won't be able to correlate the layout data with the net list definitions.
Use the following commands to store the new layout element and return to the BAE main shell:
Editing an existing Layout
Call the Layout Editor again, and use the following commands to reload the previously created layout element (you are now accessing an existing element; thus you can select the file and element name via popup menu and mouse-pick):
The system should load the previously created layout. An error message such asis issued if the requested DDB file is not available. An error message such as is issued if the requested element is not available in the selected DDB file.
When entering the Layout Editor, the system knows the name of the file previously processed in any other BAE module. On subsequent file name queries, this global project name can alternatively be specified by selecting the button of the file name popup menu or by entering an empty string (i.e., by pressing the return key ) to the file name prompt.
The function for loading a layout does not only load the pertinent data from the lower hierarchy levels (parts, padstacks and pads) but also the corresponding net list. The net list data is correlated with all geometrical data on the layout ("Connectivity Generation"). This indeed presupposes identical names for both the layout and the net list. After successfully generating the connectivity, the system is capable of instantly controlling and/or correlating each layout modification with the net list definitions. This highly sophisticated layout design feature is called "Full Copper Sharing" or "True Connectivity". Full copper sharing enables real-time recognition of missing parts, open connections, short-circuits, etc.
The load layout function issues the
Connected pins missing!
warning message if certain net list parts are not yet placed on the layout.
Use the following commands to set the coordinate display mode to inch (which is preferable for the subsequent operations):
From now on, Inch units are used during graphic cursor movement for displaying coordinates in the info field.
The design of a new layout should start with the definition of the board outline. This is a continuous polygon line defining the perimeter of the PCB. Use the following commands to create a board outline as shown in figure 4-2:
The board outline must not be confused with the element boundaries. The element boundaries are used to define the size of the layout data element. The board outline is a continuous line defining the perimeter of the PCB thus describing the area where parts and traces can be placed. The board outline is required by the Autorouter, i.e., the Autorouter call will fail if no board outline is defined or if parts and/or pins are placed outside the board outline.
Use the following commands to define two plot markers as shown in figure 4-2:
Plot markers (or film registration marks) are plot control symbols which are intended for adjusting the plots and/or films later. The plot markers documentary layer can be defined with the bsetup utility program, thus providing a useful feature of including design information on all plot layers with only one definition (see chapter 7.2 for more details).
Thefunction from the menu is used to set the Top Layer (the component side signal layer) of the layout. This layer assignment is most useful when defining (SMT) library symbols for multilayer layouts where the number of layers is not yet determined. The function can be used to assign a Top Layer for the currently loaded layout:
The default Top Layer setting for new layouts is signal layer 2. The Top Layer will also be the mirror position for mirroring parts, i.e., objects placed beyond the Top Layer will not be affected by mirror functions. The default routing layer count for the Autorouter is automatically set to the Top Layer (but can afterwards be modified in the Autorouter).
The Bartels AutoEngineer layout system supports two methods for setting the layout Top Layer. The first is to assign the desired Top Layer to each layout. This method requires all Top Layer library elements such as SMD pads to be assigned to the component side layer and all signal inside layer assignments to be correct. The and signal layers are provided to simplify such library definitions. The second method of defining the Top Layer is to use the default signal layer 2 setting for each layout and to interpret the layers beyond layer 2 as signal inside layers. This might slightly reduce the expense for creating layout elements, but the user must then explicitly set the Autorouter routing layer count when routing layouts with more than two signal layers.
Clearance Check Parameters
Thefunctions from the menu are used to set the clearance check parameters for the currently loaded layout. Different functions can be activated from the menu:
Thefunction is used to set the minimum trace-to-trace distance, is used to set the minimum trace-to-copper distance and is used to set the minimum copper-to-copper distance checking parameter. When creating new layouts, the default spacing value is set to 0.3mm for each clearance check parameter. The distance check parameters are applied by the Design Rule Check and should be set according to manufacturing requirements before starting with the layout design. Note that too tolerant spacing parameters will produce wasted PCBs, thus involving expensive redesign and re-manufacturing requirements.
Non-default net-specific minimum distance settings introduced with the
4.3.2 Parts, Placement
On layout hierarchy level, themenu provides functions for placing, moving and deleting parts, for changing part names and for manually performing pin/gate swaps.
BAE supports arbitrary grids and grid-free input. Nevertheless, it is recommended to use a reasonable grid for part placement, thus avoiding off-grid pin placement and enabling pin channel routing to make the routing job easier and to yield higher routing density. Use the following commands to set a 1/10 inch input grid with grid lock:
Thefunction from the menu is used for selecting the layout library from which the part symbols should be loaded. Use the following commands to check the current library path selection:
The name of the currently selected library is displayed with the library file name prompt. When calling the Layout Editor, a default library path is automatically set according to the system setup (see also chapter 7.2 of this manual for a description of the bsetup utility program).
An empty string input to the library name query does not change the current library path setting. A dash string input
The Bartels AutoEngineer supports a highly flexible hierarchical database concept. This allows for any DDB file to be used as symbol library. When loading a part symbol, the system first checks the job-specific library (i.e., the currently edited DDB file) for the requested library element. If the requested element is not available in the the project file, then the search is expanded to the currently selected library. The Layout Editor automatically creates a complete copy of the requested library symbol in the current project file when loading a part symbol from an external library. Subsequent requests for the same symbol will then refer to the job-specific library. Figure 4-3 illustrates the Layout Editor library access concept.
Changing the library path setting is meaningful only if a series of different part symbols are to be loaded from a library file which is not accessible through the predefined library path. Use the following commands to set the library path to the
With the commands above, the library path is set to the
The net list part name selection popups are also provided with theand functions from the menu. The library element name selection of the function is also implemented for placing pins (i.e., selecting padstacks) on layout part symbol level and for loading pads onto layout padstack level.
Use the following commands to load the part named
Element not found!
if the requested part symbol is not available in the current job file or in the selected library. In this case you should use thefunction from the menu in to check whether the correct library is accessed.
Use the following commands to load and place two parts named
The (constructive) parts
Use the following commands to load and place the plug named
Pressing the right mouse button during part placement activates a submenu which provides functions for specifying absolute placement coordinates, part rotation (even at arbitrary rotation angles) and part mirroring (for placing SMDs on solder side).
Use the following commands to place the next part:
An empty string input (i.e., just pressing the return key
) to the part name query causes the
The facility for loading the next net list part (without knowing the corresponding part name) can also be activated with the
Use the following commands to place the relay part named
Use the following commands to complete the placement, i.e., place part
Thefunction issues the
All parts have been placed already!
message once all net list parts are placed. I.e., thefunction can also be used to check on placement completion.
After correctly executing all work steps of this chapter, the PCB layout example should look like the one shown in figure 4-4.
Moving and Deleting Parts
The figure 4-4.function is used to move parts which are already placed on the layout. Pressing the right mouse button during part movement activates a submenu with special options for rotating and mirroring, absolute or relative placement coordinates input, etc. The function is used to delete placed parts from the layout. You should test these functions on the currently loaded layout and use the and functions for estimating design modifications and returning to the original design stage as shown in
Alternate Part Package Type Assignment
Layout Editor submenus which can be called by pressing the right mouse button during interactive part placement. This option can be used to change the part package type of the currently placed part. The alternate package type can be selected from a list of layout part macros. The alternate part list is
either pre-defined in the logical library using the
loglib utility program (see
or can be defined through an SCM symbol
Mincon Function, Airlines Display
Unrouted net list connections are displayed as airlines. During part placement, thefunction performs dynamic (real-time) recalculation of these airlines to display minimum length airline sets. I.e., the function is a most useful utility for achieving an optimum manual placement. Use the following commands to test different airline calculation methods supported through the function and note how the function type affects the way airlines are displayed:
Thefunction from the menu is used to set the airline display mode to be applied during part movement. switches off the airlines display during part movement. does not recalculate the nearest connection points during part movement. dynamically recalculates the closest connection points (note how the airlines jump to the nearest pins or copper corners during part movement). is the default option.
Theand options allow for a net-specific airline display, i.e., it is possible to fade-out ( ) and/or fade-in ( ) net-specific airlines by selecting the desired net(s) from a net name popup menu which optionally allows for multiple net selections through net name pattern specifications.
Theoption forces the graphical display of all airlines, whilst fades out all airlines.
The context menu which is available through the right mouse button during part placement provides theand options for selecting either part-specific or global airline display.
4.3.3 Text and Graphic
On layout hierarchy level, text (on documentary layers or on signal layers) and graphic (i.e., polygons such as documentary lines, documentary areas, passive copper areas, active copper areas, keepout areas, copper fill workareas) can be defined. For the following operations it is recommended to set the input grid to 1/20 inch (use theand functions from the menu) and to set the coordinate display mode to inch (use function from the menu).
Use the following commands to place the
Use the following commands to place the
Texts placed on signal layers are subject to the design rule check. I.e., the DRC will issue distance errors for intersections between signal layer texts and other objects (pads, traces, copper areas, texts, etc.) placed on the same signal layer.
Moving Part Names and Part Attribute Texts
Part names and part attribute texts of group-selected parts can be reset to their library-defined default positions using the gedgroup User Language program.function implemented with the
Layout Editor automatically activates a measuring function when placing new text with string
Documentary Lines, Documentary Areas
Use the following commands to create a documentary line and two arrow-shaped documentary areas on the( ) documentary layer to indicate the previously defined measuring:
Passive Copper Areas
Use the following commands to create a circle-shaped passive copper area on signal layer 2:
Active Copper Areas
Use the following commands to create an active copper area on signal layer 1 and assign this copper area to net
Use the following commands to define a keepout area on signal layer 1 and a keepout area on signal layer(keepout areas define layer-specific regions on the PCB where no traces, no copper areas, no texts, etc. are allowed to be placed):
4.3.4 Traces, Routing
The Autorouter from rerouting such nets.menu provides functions for interactive routing on layout and/or part hierarchy level, i.e., for manually creating new traces and for modifying or deleting existing traces and/or trace segments. Arbitrary track widths can be defined for individual trace segments or complete routing paths. Special or critical nets such as the power supply can be pre-routed and then fixed to prevent the
Graphic Control Functions, Input Grid, Display
During manual routing, the system provides a highlight on all objects of the currently routed signal. After completing the routing of a certain connection, the corresponding airline is removed from the display. Short-circuits and distance violations introduced by manual routing are immediately indicated by the Online DRC using highlight and/or distance error boxes.
If you fail to connect certain (off-grid) pins with the current input grid settings, then you should use thefunctions for selecting a smaller input grid (or even release the grid lock).
The middle mouse button can be used to activate themenu at any time during manual routing. I.e., important display options such as zoom scale, grids, colors, etc. can be changed without cancelling the currently active trace edit function.
Themenu also provides the function for selecting the pick preference layer. The pick preference layer is used to resolve ambiguities at the selection of trace elements placed at the same position but on different layers. The pick preference layer is also the default routing layer when starting to route from a drilled ("All Layer") pad or from a copper-free position. On default, the pick preference layer is set to signal layer 1 (solder side).
The algorithm for picking trace corners and trace segments picks the trace element with minimum distance from the pick point if more than one possible pick element is within snapping distance. This allows for reliable selection of trace elements even when working in (small) zoom overview display modes. The trace pick snapping distance is automatically adjusted to the trace width. I.e., trace elements (of wide traces or in high zoom display modes) can easily be picked without having to hit the trace center line.
The Layout Editor menu is used to mark all connections of the selected net with a special ("Highlight") color. Any power layer heat-trap circles and isolations of the selected net is included with the highlight display, and isolated pins and active copper areas can also be selected for highlight. Starting a new trace on a passive copper area triggers a highlight for the nets connected to that copper area. The function works as a toggle. To reset the highlight of a certain net, pin or active copper area, simply re-select that object with the function. Advanced color support and highlight reset facilities are provided through the (default mode), (with highlight color selection) and (for clearing all nethighlight) options of the function.function from the
In BAE HighEnd, the function causes a highlight and/or de-highlight of the selected nets in all currently loaded plans of the current project file on layout board and schematic sheet level (global net highlight, cross-probing).
Selecting the Via
Bartels AutoEngineer layout system utilizes special padstack symbols (vias) for connecting different layers of the PCB. At least one via assignment is required before any routing function (i.e. either a trace function or the
Autorouter) can be activated. Use the following commands to insert the
Default via not defined!
The system is capable of processing several different via definitions at a time in order to support blind and buried vias. The via assignment list can be changed at any time. Previously placed vias will not be affected by via list modifications, i.e., the currently defined via list will apply for the interactive routing of new traces. When changing layers during manual routing the Layout Editor will automatically place vias with the least possible layer usage (if padstacks are defined and selected to the via list accordingly). The current via assignment list will also be used by the Autorouter, and, with the use of blind and buried vias, the Autorouter will minimize layer occupancy as well (this is true for all traces except for fixed traces which will not be processed by the Autorouter).
Standard Trace Widths
The trace function submenus provide options for toggling between thin and wide default track widths during manual routing (necking). The standard values for these default track widths can be changed with thefunction from the menu, where the options (default value 0.3mm) and (default value 1.0mm) are provided. The routing of a new trace always starts with the thin default track width.
Use the following commands to route from pin
Each trace corner point is set by pressing the left mouse button. The routing of a trace path is completed with theoption from the submenu available with the right mouse button. This submenu is also available during trace editing with functions such as or where the routing layer or the track width can be changed, arc-shaped trace segments can be created, relative and absolute coordinate input can be specified, etc.
Use the following commands to connect the pins
Use the following commands to create a trace segment on signal layer 1 starting at pin
Use the following commands to deselect
You should now gain more practice by using the trace functions on the currently loaded layout in order to create and/or modify more traces (move, cut and delete trace segments; insert, move and delete trace corner points; change track widths, create arc-shaped traces, etc.). Note the and options provided with the submenu of the function. The default mode just moves the corner points of the processed trace segment, whilst the mode also rearranges adjacent trace segments in order to keep the angles between the processed trace and the adjacent segments constant. Use the considers intersection points between new and neighbouring segments and rearranges neighbouring segments accordingly. This feature is especially useful for moving diagonal segments at trace corners. The option is applied if neighbouring segments cannot be rearranged. and functions to estimate design modifications and return to the original design stage.,
It is recommended to fix pre-routed traces which must not be modified and/or rerouted by the
Autorouter. Use the following commands to fix all prerouted traces of net
The Layout Editor provides a specific highlight for indicating currently fixed elements.function is used to release fixed traces or nets. During fix and release operations the
The Layout Editor trace functions for interactive routing keeps traces and vias fixed when processing pre-routed fixed traces. I.e., when manipulating pre-routed fixed traces, there is no need of re-fixing such traces to prevent the Autorouter from re-routing and/or rejecting pre-routed traces.