Welcome to the Bartels Group of Companies make this page your Homepage... add this page to your Favorites... send this page to a friend... display printer friendly page... display sitemap... display sitemap with all page contents...
Leiterkartenentwurf / CAD - Deutsche Version PCB Design / CAD - English Version
Bartels

Bartels System GmbH
Bartels
Bartels AutoEngineer
BAE Product Info
BAE Price List
BAE Downloads
BAE Documentation
BAE Installation Guide
BAE User Manual
Preface
1 Introduction
2 Circuit Design
3 Packager
4 PCB Design
4.1 General
4.2 Layout Library Symbol Design
4.3 Designing PCB Layouts
4.4 Autoplacement
4.5 Autorouter
4.6 Special Layout Features
4.7 CAM Processor
4.8 CAM View
5 IC/ASIC Design
6 Rule System
7 Utilities
BAE Libraries
User Language Programmer's Guide
BAE Update History
BAE Next Version Release Notes Preliminary
BAE V8.0 Release Notes
BAE V7.8 Release Notes
BAE V7.6 Release Notes
BAE V7.4 Release Notes
BAE V7.2 Release Notes
BAE V7.0 Release Notes
BAE V6.8 Release Notes
BAE V6.6 Release Notes
BAE V6.4 Release Notes
BAE V6.2 Release Notes
BAE V6.0 Release Notes
BAE V5.4 Release Notes
BAE V5.0 Release Notes
BAE V4.6 Release Notes
BAE V4.4 Release Notes
BAE V4.2 Release Notes
BAE V4.0 Release Notes
BAE V3.4 Release Notes
BAE Support
BAE Contributions
BAE Development and Service Companies
Electronics Development
Bartels Sport Service
Company Profile
Corporate Info
Bartels :: Bartels AutoEngineer :: BAE Documentation :: BAE User Manual :: PCB Design
Bartels AutoEngineer® - User Manual

Chapter 4
PCB Design / CAD

Bartels AutoEngineer® Dokumentation

This chapter describes how to use the Layout Editor, the Autorouter, the CAM Processor and CAM View for creating layout library symbols and designing PCB layouts and for generating and processing CAM output and manufacturing data for the PCB production. The examples presented in this chapter introduce the concepts and advanced features of the BAE PCB design system in a logical sequence and will take the user from the creation of layout library symbols and the design and modification of a PCB layout through to the generation of manufacturing data for the PCB production. The PCB design example is based on the circuit drawing and net list data prepared in the preceding chapters and will be subject to further processing in the following chapter. The reader should work through this chapter without missing any sections to gain full understanding of the BAE PCB design system. Once a command has been used and/or explained, the operator is assumed to have understood its function and be able to perform it again. Subsequent instructions containing this command will be less verbose for easier reading and more speedy learning.

 

Contents

4.1General
4.1.1Components and Features
4.1.2Starting the Layout System
4.1.3Layout Editor Main Menu
4.1.4Customized Layout Editor User Interface
4.1.5In-built Layout System Features
4.2Layout Library Symbol Design
4.2.1Creating Layout Pads
4.2.2Creating Layout Padstacks
4.2.3Creating Layout Parts
4.3Designing PCB Layouts
4.3.1Creating and Editing PCB Layouts
4.3.2Parts, Placement
4.3.3Text and Graphic
4.3.4Traces, Routing
4.4Autoplacement
4.4.1Part Set
4.4.2Matrix Placement
4.4.3Initial Placement
4.4.4Placement Optimization
4.5Autorouter
4.5.1Starting the Autorouter
4.5.2Autorouter Main Menu
4.5.3Customized Autorouter User Interface
4.5.4In-built Autorouter System Features
4.5.5Autorouter Options
4.5.6Autorouter Control
4.5.7Autorouter Strategy
4.5.8Autorouter Functions
4.5.9Using the Autorouter
4.6Special Layout Features
4.6.1Batch Design Rule Check, Report
4.6.2Color Setup, Color Tables, Pick Preference Layer
4.6.3Layout Net List Changes
4.6.4SCM Changes, Redesign
4.6.5Defining and Editing Power Layers
4.6.6Autorouter Via Keepout Areas
4.6.7Area Mirror Mode
4.6.8Automatic Copper Fill
4.6.9Library Update
4.6.10Back Net List
4.6.11Blind and Buried Vias
4.6.12Exiting the Layout System
4.7CAM Processor
4.7.1Starting the CAM Processor
4.7.2CAM Processor Main Menu
4.7.3Customized CAM Processor User Interface
4.7.4In-built CAM Processor System Features
4.7.5Plot Parameters
4.7.6Power Layers
4.7.7HP-GL Output
4.7.8HP Laser Output
4.7.9Postscript Output
4.7.10Windows Generic Output
4.7.11Bitmap Plot Output to Windows Clipboard
4.7.12Gerber Photoplot
4.7.13Drill Data
4.7.14Insertion Data
4.8CAM View
4.8.1Starting the CAM View Module
4.8.2CAM View Main Menu
4.8.3Customized CAM View User Interface
4.8.4In-built CAM View System Features
4.8.5Processing Gerber Data
4.8.6Processing Drilling and Milling Data
4.8.7Retrieving Layouts from Gerber Data
Tables
4-1Autorouter Grids
4-2Autorouter Strategy Parameters
4-3Pick Preference Layer Color Tables and Short Layer Names
4-4Gerber Aperture Table "standard"
Figures
4-1Layout Library Symbols
4-2Layout with Board Outline and Plot Markers
4-3Layout Library Access
4-4Layout with Part Placement
4-5Routing with or without Via Offset
4-6Routing Traces Ongrid/Offgrid
4-7Layout after Autorouting
4-8Automatic Copper Fill Complexity
4-9Layout with Filled Copper Areas
4-10CAM Mirror Modes
4-11CAM Power Layer Isolation

 

4.1 General

The Bartels AutoEngineer PCB layout system essentially consists of an interactive Layout Editor with integrated layout symbol editor and functions for automatic part placement and automatic copper fill, the Bartels AutoEngineer for fully automated PCB routing, and CAM Processor and CAM View program modules for generating and processing CAM output and manufacturing data for PCB production. The following sections of this manual describe in detail how to use these modules.

 

4.1.1 Components and Features

Layout Editor

The floating point database used throughout the BAE Layout Editor allows for the mixed specification of metric and imperial coordinate units. All placement coordinates including rotation angles can be specified with floating point values. There are no restrictions at the definition and placement of pads, copper areas, parts, traces, texts, etc. The user interface provides a genuine display even for the more complex structures such as circles or arcs. Area visibility can be defined according to mirror modes, thus supporting SMD pins with different pad shapes for component and solder side.

The Design Rule Check (DRC) operates in grid-free mode with a precision of eight digits behind the decimal point. The DRC provides constant monitoring of copper against net list, with visual indication of distance violations and short-circuits. The system supports both Online and Batch DRC. Online DRC performs incremental checks, i.e., only the modified items are checked real-time thus saving a lot of computation time.

The Undo/Redo facilities allow to use the Layout Editor without fear of causing damage. Up to twenty commands can be reversed or undone by applying the Undo function and then reprocessed with the Redo function. Undo/Redo ensures data security and provides a powerful feature for estimating design alternatives.

Arbitrary parts of the layout can be selected to groups and then moved, rotated, mirrored, copied or saved (and subsequently used as templates).

Fast interactive part placement with instant connections update guarantees an optimum exploitation of the layout area. Part connections (unroutes, airlines) are dynamically calculated and instantly displayed during placement. Parts can be rotated at arbitrary angles, and they can be mirrored for SMT applications. Parts can be placed at arbitrary coordinates and polar coordinates are supported for placing parts on a circle. The part library supports part-specific preferences for part rotation and part mirroring. During manual placement, an alternate package type can be selected for the currently processed part.

The system supports genuine net-orientated Connectivity. This means that electrical connections can be realized through copper areas instead of traces connecting. Traces and copper areas can be created in grid-free mode with floating point precision. Highlight is used to indicate the selected and/or processed signal, and each point of the signal can be connected. The system also supports arc shaped traces as well as blind and buried vias with automatic via type selection.

The BAE layout system provides powerful automatic copper fill functions. Copper areas can optionally be generated with line or cross hatching. The BAE layout system also supports power layer definitions. Arbitrarily shaped active copper areas can be placed on power layers, thus featuring split power planes.

High frequency and analogous applications are supported by useful facilities for shrinking and/or enlarging copper areas at arbitrary expansion values. Trace segment lengths and copper area edge lengths can automatically be determined or measured for test or documentation purposes.

With the Bartels User Language integrated to the Layout Editor the user is able to implement enhanced CAD functions and macros, user-specific post processors, report and test functions, etc. User Language programs can be called by applying the Run User Script function from the File menu or by pressing a key on the keyboard (hot key).

Autoplacement

The BAE layout system is equipped with powerful Autoplacement functions. Parts can be selected and/or deselected for automativ placement according to set principles either by specifying part names (c1, r2, ic15, etc.) or by specifying library symbol names (dil14, so20, plcc44, etc.), where wildcards are also permitted. The user can also select parts from certain blocks of a hierarchical circuit design. The functions for designating the parts to be placed are a useful feature for controlling the placement process in a way that e.g., first the plug(s) can be placed, then the DIL packages, then the capacitors, etc.

The matrix placement facilities are used for the automatic placement of selectable part sets to definable placement grids. Matrix placement is intended especially for the initial placement of homogeneous part types such as memory devices, block capacitors, test points, etc. Of course the matrix placement function also considers the default rotation angle and mirror mode settings.

Initial placement functions are provided for performing a complete placement by automatically placing not yet placed parts inside the board outline. The parts are placed onto the currently selected placement grid, where pre-placed parts such as plugs and LEDs are considered as well as the connectivity derived from the net list. The initial placement algorithm features automatic SMD and block capacitor recognition. The solder side can optionally be used for placing SMDs. Parts are automatically rotated in 90 degree steps, where part rotation can optionally be restricted to provide fault-robust insertion data. A part expansion parameter can be set to support automatic part spacing. The initial placement process is controlled by adjustable heuristic weight factors for evaluating part segment fitting and for considering different net list structures. Intermediate rip-up/retry passes are activated during initial placement to optimize board area exploitation.

The system also provides placement optimization functions for automatic part and pin/gate swap. The part swap facility mutually exchanges identical components at their insertion position to minimize unroutes lengths. The pin/gate swap facility analogously performs an iterative exchange of gates and/or pins and pin groups, where gates or groups can also be swapped between different parts. Fixed parts are excluded from placement optimization. The admissibility of pin/gate swaps is fairly controlled with appropriate library definitions. Either single pass or multi pass optimization can be applied, with the swap method (only part swap, only pin/gate swap or both part and pin/gate swap) to be selected as required. Applying placement optimization will usually cause a significant simplification of the routing problem, thus resulting in a considerable time saving at the subsequent Autorouting process.

Bartels Autorouter

The Bartels Autorouter® is the culmination of years of research and practical routing experience. It has an impressive set of features and has the flexibility to route a wide range of PCB technologies, including analog, multilayer and SMT designs. The Bartels Autorouter® has been incorporated in leading PCB layout systems throughout the world, setting new industrial standards of success, reliability and flexibility and dramatically reducing the requirement for manual routing in all boards. Its incorporation into other systems has varied considerably. With Bartels AutoEngineer, all of the advanced features and capabilities of the Bartels Autorouter® are available. With the Bartels Autorouter®, an experienced BAE user should be able to complete the design of a eurocard PCB including schematic drawing and manufacturing data output in not more than one or two days.

Bartels Autorouter® is based on special backtracking/rip-up/reroute algorithms. These types of routing algorithms have been proven to be the only ones capable of achieving 100% route completion on the majority of today's challenging PCB designs. Extensive artificial intelligence features have been built into the router to produce high quality design results in a reasonable time. The Bartels Autorouter® includes special features for production optimization giving excellent yield in board manufacture. The complete routing process is supervised by a backtracking algorithm, which not only prevents from a deterioration of the result or a dead-lock during rip-up or optimization but also is able to exploit a new and/or better routing solution.

Both the selective rip-up and the cross-net optimizer passes are assisted by a unique intelligent multi-net cleanup algorithm with pattern recognition. This algorithm identifies traces blocking unrouted connections and rips up and reroutes multiple connections or even trees at a time to improve the global routing result. The Autorouter is capable of moving trace bunches to make space for not yet routed connections (push'n'shove routing). Cleanup passes for performing cross-net changes are applied during optimization and will considerably reduce via counts and straighten trace paths. All advanced routing features are supported by a sophisticated array of heuristic cost parameters which are dynamically adapted to produce quality routing results comparable to those made by skilled layout designers.

The Bartels Autorouter® is capable of simultaneously routing up to 28 layers (16 signal layers and 12 power layers; multilayer routing). The Autorouter automatically identifies and connects pre-placed power supply structures thus ensuring correct power and ground routing. The router also utilizes automatic routines for correctly connecting SMD pins to power layers wherever necessary. This feature also supports any split power planes placed on the power layers (split power plane routing). Routing widths are pin-specific rather than net-specific. SMD pins are routed with the anticipated pin routing widths to avoid perpendicular positioning of SMD parts during the soldering process. T-shaped connections are automatically generated (full copper sharing).

The routing progress can be watched both graphically and on statistical readout on the Autorouter user interface. The Autorouter can be stopped at any time and then continued or re-started with changed parameters on demand.

Features are provided for automatically adapting layouts to placement and/or net list changes (re-entrant routing) where the Autorouter evaluates pre-routed traces, identifies and removes wrong and redundant paths, and then routes open connections to achieve a correct 100% solution. Subsequently, the modified layout can be optimized again.

All of today's advanced PCB technologies are fully supported by the Bartels Autorouter®. The Autorouter is able to consider and/or connect arbitrarily shaped pads, traces, copper areas, power planes and keepout areas. The built-in off-grid recognition allows off-grid placement of parts and pre-routed traces. The Autorouter supports standard routing grids with optional half-grid routing (1/20 inch to 1/100 and/or 1/200 inch), arbitrary routing grids for special pin pitches and grid-free routing. Multilayer SMD technologies are supported by the Autorouter's SMD via preplace and BGA (Ball Grid Array) fanout routing algorithms, which can optionally be used if via pre-allocation is required for connecting SMD and/or BGA pins to inside layers with high priority. The Bartels Autorouter® supports microvias (via-in-pad technology) and blind and buried vias with automatic via type selection thus increasing the routability of multilayer layouts and also supporting new PCB manufacturing technologies such as processes for producing plasma-etched vias. Area and block routing methods can be supported by defining keepout routing areas and/or prohibited layers, and the Autorouter is capable of considering via keepout areas.

The Autorouter provides the same initial placement and placement optimization functions as already known from the Layout Editor, allowing for automatic pre-placement and placement optimization before starting the autorouting process.

The Autorouter provides enhanced routing features such as placement optimization (pin/gate swap) during rip-up/retry routing, gridless routing, single net routing, component routing, area routing, mixed-grid routing, etc. The place and route function activates both the Full Autoplacer (including complete initial placement and placement optimization) and the Full Autorouter (including complete Initial Router, rip-up/retry routing and optimizer), thus performing complete placement and routing on the push of a button. The single net routing function of the Autorouter is used for automatically routing selectable nets and/or connections. The single net router can be applied to pre-rout power supply or critical nets with specific preferences for trace widths, clearance, layer assignments, etc. For completeness reasons the single net router also supports an option for selectively deleting already routed nets and/or connections. The Autorouter provides a feature for selectively routing net groups (e.g., busses of a certain circuit block) using specific routing options for preferred routing directions, trace widths, etc. The component routing function can be used to rout selectable parts. The area/block routing function of the Autorouter is used for routing selectable areas and/or circuit blocks. It is possible to define different routing areas according to circuit topology (I/O, memory, digital and/or analog part of the design, etc.) and perform autorouting using block-specific routing options such as routing grid, clearance, preferred routing direction, bus routing preferences, etc. During the rip-up autorouting process the Autorouter utilizes features for automatically performing selective component and/or pin/gate swaps in cases where this might result in better routability of swapped parts, gates or pins.

The Undo/Redo facilities allow to use the Autorouter without fear of causing damage. Up to twenty commands can be reversed or undone by applying the Undo function and then reprocessed with the Redo function. Since this is true even for most complex operations such as complete Autorouter passes, Undo/Redo ensures data security and provides a powerful feature for estimating design alternatives.

With the Bartels User Language integrated to the Autorouter, the user is able to implement enhanced CAD functions and macros, user-specific placement and autorouting procedures, report and test functions, etc. User Language programs can be called by applying the Run User Script function from the File menu or by pressing a key on the keyboard (hot key).

The Autorouter module of the BAE HighEnd system provides advanced autorouting technologies based on patented neural network technology (Neural Autorouter). The BAE HighEnd Autorouter supports skilled analog signal routing, automatic microwave structure generation, grid-less object-orientated routing with automatic placement optimization, etc. The BAE HighEnd Autorouter also provides features for routing problem recognition and/or classification and for learning and automatically applying problem-adapted routing strategies and/or rules.

CAM Processor

The Bartels AutoEngineer layout system allows for the definition and creation of arbitrarily shaped areas and pads which can also be rotated at any angle. All these features are supported by the intelligent CAM Processor, which utilizes a series of automatic fill algorithms with multiple aperture selection and area reduction. I.e., pad definitions are not necessarily restricted to some particular tool set, but may fully support the demanded technology. The CAM Processor automatically optimizes the use of the selected tools and aperture table definitions to generate all structures at highest possible precision with regard to the chosen plot parameters and output tolerance ranges. The system also provides appropriate error messages and highlight features to indicate objects which cannot be plotted using the selected tools and the current plot parameter settings. In-built functions are available for producing HP-GL pen plot, PCL laser print and Postscript output, and for supporting configurable drivers for Gerber photoplotting with freely definable aperture tables. The CAM Processor also provides programming data for auto insertion and pick and place equipment, solder mask, drill data and SMD adhesive masks. CAM output is generated considering general parameters such as tool tolerance, scaling factor, CAM rotation and/or mirroring, freely definable CAM origin, etc. Special plot parameters for generating negative power layer and split power plane plots are also supported. With the flexibility of easily preparing all of the required output data the BAE user has free choice amongst photo plot producers and PCB manufacturers.

With the Bartels User Language integrated to the CAM Processor the user is able to implement enhanced CAM functions and macros, user-specific and/or batch-driven post processors, report and test functions, etc. User Language provides unrestricted access to the BAE design database. The user is able to implement user-specific programs for exporting any data such as part lists, net lists, geometry data, drill data, insertion data, test data, milling data, etc. in freely definable formats. User Language programs can be called by applying the Run User Script function from the File menu or by pressing a key on the keyboard (hot key).

CAM View

The CAM View module provides features for displaying Gerber data, drilling data (Sieb&Meier and/or Excellon) and milling data (Excellon) in order to check CAM data validity and to estimate the efficiency of tool usage. CAM View features multiple input and sorted output with variable offsets and adjustable aperture tables to support panelization. CAM View also provides a powerful function for translating Gerber data to BAE layout design data, i.e., with CAM View the user is able to import Gerber data produced by foreign PCB layout systems.

With Bartels User Language integrated to the CAM View module the user is able to implement enhanced CAM View functions and macros, user-specific batch procedures, report and test functions, etc. User Language programs can be called by applying the Run User Script function from the File menu or by pressing a key on the keyboard (hot key).

 

4.1.2 Starting the Layout System

It is recommended to start the Bartels AutoEngineer from the directory where the design files should be generated since this considerably simplifies job file access. If you intend to process the examples provided with this manual it is recommended to move to the BAE examples directory installed with the BAE software. The Layout Editor can be called from the Bartels AutoEngineer main shell. Start the BAE shell by typing the following command to the operating system prompt:

> bae Return/Enter Key (CR)

The AutoEngineer comes up with the Bartels logo and the following menu (the Setup function is only available under Windows/Motif; the IC-Design and Next Task menu items are available only with special software configurations such as BAE HighEnd or BAE IC Design):

Schematic
Layout
[ IC-Design ]
Packager
CAM-View
[ Setup ]
[ Next Task ]
Exit BAE

Move the menu cursor to the Layout menu item and confirm this choice by pressing the left mouse button:

LayoutLeft Mouse Button (LMB)

The Layout Editor program module is loaded and the Layout Editor menu is activated. Check your BAE software installation if this fails to happen (see the Bartels AutoEngineer® Installation Guide for details on how to perform a correct installation).

It is also possible to call the Layout Editor directly from the Packager. In this case, layout element creation for the net list created by the Packager is automatically suggested for designs not yet containing a corresponding layout.

 

4.1.3 Layout Editor Main Menu

The Layout Editor standard/sidemenu user interface provides a menu area on the right side, consisting of the main menu on top and the currently active menu below that main menu. After entering the Layout Editor the Files menu is active and the menu cursor points to the Load Element function.

The Windows and Motif versions of the Layout Editor can optionally be operated with a pull-down menu user interface providing a horizontally arranged main menu bar on top. The WINMENUMODE command of the bsetup utility program is used to switch between SIDEMENU and PULLDOWN Windows/Motif menu configurations (see chapter 7.2 for more details).

The following main menu is always available whilst processing layout elements with the Layout Editor:

Undo, Redo
Display
Files
Parts
Traces
Areas
Text, Drill
Groups
Parameter
Utilities

Undo, Redo

The functions provided with the Undo, Redo menu allow you to use the Layout Editor without fear of causing damage. Up to twenty commands can be reversed or undone using Undo and then reprocessed with the Redo. This is true even for complex processing such as group functions or User Language program execution. Undo, Redo ensures data security and provides a powerful feature for estimating design alternatives.

Display

The View or Display menu can either be activated by selecting the corresponding main menu item or by pressing the middle mouse button. Activation through the middle mouse button is even possible whilst performing a graphical manipulation such as placing or moving an object. The View or Display menu provides useful functions for changing display options such as zoom window, zoom scale, input and/or display grids, grid and/or angle lock, color settings, etc. The View or Display menu also contains advanced display functions such as Find Part and Query Element.

Files

The Files menu provides functions for creating, loading, saving, copying, replacing and deleting DDB elements. The Files menu also allows to load and/or store color tables or to call important database management functions such as listing DDB file contents and performing library update.

Parts

The Parts provides functions for defining part placement groups, for manual part placement, for part renaming, for automatic part placement (matrix placement, initial placement) and for manual and automatic placement optimization (component swap, pin/gate swap). The function for selecting the via(s) for subsequent routing is also provided in this menu.

On part level, the Parts menu is used for placing, moving, deleting and renaming pins (i.e., padstack symbols). On padstack level, the Parts menu is used for placing, moving and deleting pads.

Traces

The Traces menu provides functions for interactive routing, i.e. for manually creating new traces and for modifying or deleting existing traces and/or trace segments.

Areas

The Areas menu is used for defining the board outline, for generating copper areas and power planes and for creating documentary lines and/or documentary areas. Existing areas can be moved, rotated, mirrored, copied and deleted. The Areas menu also provides the copper fill functions for defining copper fill workareas, for automatic copper fill area generation and/or elimination and for hatched copper area creation.

Text, Drill

The Text, Drill menu is used for creating, moving, changing and deleting texts on any layout hierarchy level. On padstack level, the Text, Drill menu provides additional functions for defining drill holes.

Groups

The Groups menu provides functions for selecting elements to group, for moving, rotating, mirroring, scaling, copying, deleting, fixing, releasing, saving and loading groups, and for replacing symbols in a group.

Parameter

The Parameter menu provides functions for selecting the layout library, setting the origin and the element boundaries of the currently loaded element, defining power layers, selecting the mincon function for the airline display, setting the spacing design rule parameters and activating the automatic design data backup feature.

Utilities

The Utilities menu provides functions for exiting BAE, returning to the BAE main shell, calling the Autorouter or the CAM Processor, starting the batch design rule check, generating net list data from current copper (Back Netlist), defining area mirror visibility and starting User Language programs.

 

4.1.4 Customized Layout Editor User Interface

Menu Assignments and Key Bindings

The BAE software comes with User Language programs for activating a modified Layout Editor user interface with many additional functions (startups, toolbars, menu assignments, key bindings, etc.). The bae_st User Language program is automatically started when entering the Layout Editor. bae_st calls the uifsetup User Language program which activates predefined Layout Editor menu assignments and key bindings. Menu assignments and key bindings can be changed by modifiying and re-compiling the uifsetup source code. The hlpkeys User Language program is used to list the current key bindings. With the predefined menu assignments of uifsetup activated, hlpkeys can be called from the Key Bindings function of the Help menu. Menu assignments and key bindings can be listed with the uifdump User Language program. The uifreset User Language program can be used to reset all currently defined menu assignments and key bindings. uifsetup, uifdump and uifreset can also be called from the menu of the keyprog User Language program which provides additional facilities for online key programming and User Language program help info management.

Context-sensitive Function Menus

Pressing the left mouse button in the graphic workarea activates a context-sensitive menu with specific functions for the object at the current mouse position if no other menu function is currently active. The Load Element and/or Create/New Element file management functions are provided if no element is currently loaded. This feature is implemented through an automated call to the ged_ms User Language program.

Cascading Windows/Motif Pulldown Menus

The Windows and Motif pulldown menu user interfaces of the Layout Editor provide facilities for cascading submenu definitions. I.e., submenus can be attached to other menu items. The uifsetup User Language program configures cascading submenus for the pulldown menu interfaces of the Windows/Motif Layout Editor modules. This allows for easy submenu function location (and activation) without having to activate (and probably cancel) submenus. The function repeat facility provided through the right mouse button supports cascading menus to simplify repeated submenu function calls.

Windows/Motif Parameter Setup Dialogs

The following Windows/Motif parameter setup dialogs are implemented for the Layout Editor:

  • Settings - Settings: General Layout Editor Parameters
  • View - Settings: Display Parameters
  • Parts - Auto Placement - Settings: Automatic Placement Parameters
  • Areas - Copper Fill - Settings: Copper Fill Parameters

The uifsetup User Language program replaces the parameter setup functions of the Windows and Motif pulldown menus with the above menu functions for activating the corresponding parameter setup dialogs.

Windows/Motif Pulldown Menu Konfiguration

When using pulldown menus under Windows and Motif, the uifsetup User Language program configures the following modified Layout Editor main menu with a series of additional functions and features:

File
Edit
View
Parts
Traces
Areas
Text, Drill
Settings
Utilities
Help
 

4.1.5 In-built Layout System Features

Automatic Parameter Backup

The Layout Editor provides an in-built feature for automatically saving important design and operational parameters with the currently processed SCM sheet and/or SCM library hierarchy level. The following parameters are stored to the current design file when activating the Save Element function:

  • Autosave Time Interval
  • Name of the currently loaded Layout Color Table
  • Input Grid
  • Display Grid
  • Grid/Angle Lock
  • Coordinate Display Mode
  • Wide Line Draw Start Width
  • Group Display Mode
  • Part Placement Default Rotation Angle
  • Part Placement Default Mirror Mode
  • Default Text Size
  • Part Airline Display Mode
  • Standard Trace Widths
  • Trace Segment Move Mode
  • Library File Name
  • Mincon Function Type
  • Placement Matrix
  • Placement Matrix Enabled Flag
  • Copper Fill Isolation Distance
  • Copper Fill Minimum Area Structure Size
  • Copper Fill Trace Cutout Mode
  • Copper Fill Island Delete Mode
  • Copper Fill Heat Trap Mode
  • Copper Fill Heat Trap Width
  • Hatching Line Spacing
  • Hatching Line Width
  • Hatching Mode

Parameter sets are stored with special names according to the currently processed layout database hierarchy level. The layout element name is used for layout elements, parameter set name [part] is used for layout part symbol elements, [padstack] is used for layout padstack elements and [pad] is used for layout pad elements. When loading an element, the corresponding parameter set is automatically loaded and/or activated as well, thus providing a convenient way of activating a default parameter set suitable for processing the selected design and/or library element type.

Layer Assignments

The layer assignment is most important for the creation and modification of layout symbols and for the design of layouts. The system provides the following layers and/or display items:

  • Signal Layers 1 - 100
  • Signal Layer "Top Layer"
  • Signal Layer "All Layers"
  • Signal Layer "Middle Layer"
  • Power Layers 1 - 12
  • Documentary Layers 1 - 100
  • Board Outline
  • Airlines
  • Drill Holes
  • Workarea
  • Origin
  • Errors
  • Highlight
  • Drill "-", "A" - "Z"
  • Fixed
  • Glued

The signal layers are subject to the design rule check. On the signal layers the electrical conductivity of the PCB is defined by creating and/or placing traces, pads and passive or active copper areas. Top Layer, All Layers and Middle Layers are special signal layers.

The Top Layer can be dynamically assigned to a certain signal layer during the layout design process. On default, the Top Layer is assigned to signal layer 2. The Top Layer is most useful when generating library symbols for multilayer designs with an arbitrary number of layers. The Set Top Layer function from the Settings menu is used to assign the PCB top layer, thus defining the number of PCB layers. The mirror functions (e.g., for mirroring parts) will always consider the current top layer setting, i.e., signal layers beyond the top layer are not affected by mirror functions.

Note that the menu item text for selecting the Top Layer can be changed with the BAE setup to provide a user-specific menu text such as Component Side or Insertion Layer. See the description of the bsetup utility program for more details on customizing the layout signal layer menus.

The All Layers signal layer includes all signal layers from signal layer 1 (solder side) to the currently defined top signal layer (component side). Objects defined on All Layers are considered to be placed on all signal layers and are checked and plotted accordingly. The All Layers signal layer is most useful for the definition of library symbols such as drilled pins with identical pad shapes on all signal layers.

The Middle Layers signal layer matches all signal inside layers, i.e., the Middle Layers signal layer includes all layers between signal layer 1 (solder side) and the currently defined top signal layer (component side). Objects defined on Middle Layers are considered to be placed on all signal inside layers and are checked and plotted accordingly. The Middle Layers signal layer considerably simplifies pin definitions for multilayer layouts where inside layer pad shapes differ from component and solder side pad shapes.

Up to twelve power layers can be defined with each layout, all of which being negatively displayed and plotted by the system. The Set Power Layers function from the Settings menu is used to assign power layer signal names such as gnd, 0v or vcc to define the power layers of the currently loaded layout. The Layout Editor allows for the DRC-controlled definition of split power planes by (hierarchically) placing active copper on power layers. The CAM Processor automatically generates isolations and heat traps when plotting power layers.

The documentary layers are used to store and/or include documentary information (graphic, text) and special keepout definitions with the layout and/or the layout library symbols. The bsetup utility program can be used to define up to 100 different (or 12 in BAE Professional simultaneously accessible) documentary layers with individual names and characteristics according to special requirements. The system allows for the definition of customer-specific documentary layers for, e.g., silk screen, insertion data, solder resist, glue spots, drill plan and drill overlap control, plot markers, part spacing check, comments, measuring, etc. Each documentary layer consists of the following sides to support double-sided SMD design:

Side 1
Side 2
Both Sides

Each documentary layer side is a sub-layer of the corresponding documentary layer. The Side 1 and Side 2 sub-layers are mutually interchanged when performing mirroring. The CAM Processor can optionally plot the Both Sides sub-layer together with Side 1 and/or Side 2. Documentary layer definitions have fundamental influence on what can be defined in the layout and which CAM output can be produced. Documentary layer definition changes introduced by bsetup only apply to subsequently defined library symbols to enable data exchange between different configurations. It is strongly recommended to become familiar with the features for defining documentary layers (and to define documentary layers according to your specific requirements) before starting with the design of real layouts or layout symbols for productive use. See chapter 7.2 of this manual for a description of the bsetup utility program and for the default documentary layer definitions provided with initial BAE software installations.

The Board Outline layer is used for defining and/or displaying the board outline of the currently loaded layout. The Airlines layer is used for displaying unroutes on the currently loaded layout. The Drill Holes layer is used for displaying drill holes on the currently loaded layout, part or padstack. Workarea, Origin, Errors and Highlight are layers for displaying special layout user interface elements. The Drill layers are used for assigning colors to drill classes. The Fixed and Glued layers are used for the selection of patterns for the display of fixed and/or glued layout elements.

Pick Preference Layer and Element Selection

The pick preference layer is used to resolve ambiguities when selecting objects which are placed at the same position but on different layers (e.g., traces, areas, SMD parts, etc.). The pick functions use the pick preference layer to designate the element to be selected, if more than one object of interest is placed at the pick position. The pick preference layer can be selected with the Set Edit Layer function from the View menu. On default, the pick preference layer is set to signal layer 1 (solder side).

The Settings dialog from the View menu provides the Pick Mode parameter for selecting the element pick method for multiple elements at the same pick position. The Preference Layer default option picks an element from the currently selected preference layer. The Element Selection option provides an element selection facility if more than one element is found at the pick position. A loop for highlighting the selectable elements with status line short description is activated. The highlighted element can be selected through return key or left mouse button click. This element selection can be aborted through escape key or right mouse button input. Any other key switches to the next element at the pick position.

Net List

A net list is usually required for the layout design. In BAE, the net list is commonly created with the Schematic Editor and will then be transferred to the layout using the Packager. Alternatively, ASCII net lists can be imported to the BAE layout system using utility programs such as conconv or redasc. See chapter 3.4 of this manual for more details on net list processing.

The function for loading a layout will 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"). Please note that the element names for both the layout and the net list must be identical for this to work.

After successfully generating the connectivity, the system is capable of instantly controlling and/or correlating each layout modification with the net list definitions. This high-sophisticated layout design feature is called "Full Copper Sharing" or "True Connectivity". Full copper sharing enables real-time recognition of electrical connections, no matter whether connections are created with traces, copper areas or vias. I.e., the system supports advanced routing features such as cross connection recognition, genuine T-connections, lining up traces created with group copying, implementing routes with arbitrarily shaped copper areas, etc.

The BAE HighEnd layout connectivity evaluation system uses special data structures for storing additional information about the structure of electric connections between copper elements. This requires more memory compared to BAE Professional, but results in dramatically shortened response times when manually editing large nets or moving parts since only the elements in the neighborhood of the currently processed object have to be considered by the DRC.

Mincon Function

Not yet routed connections (unroutes) are displayed as airlines. During part placement, the Mincon function performs dynamic (real-time) recalculation of these airlines in order to display minimum length airline sets. This makes the Mincon function an indispensable utility for achieving an optimum placement. The Mincon Function menu item from the Settings menu is used to set the type of airline display, i.e., to choose the method of calculating unroutes from pin-to-pin or corner-to-corner minimization where also the unroute components to be calculated can be selected (horizontal only, vertical only, horizontal + vertical sum, etc.).

BAE HighEnd utilizes modified data structures for internal connectivity representation and airline calculations. The BAE HighEnd Mincon functions run at much higher performance compared to BAE Professional, however, at the cost of higher memory requirements.

Design Rule Check

The BAE design rule check utilizes full copper sharing features to perform real-time recognition of open connections, short-circuits and distance violations. Open connections (unroutes) are displayed as airlines, short-circuits are indicated with highlight, and distance violations are enclosed by a rectangle. The corresponding colors for displaying Airlines, Highlight and Errors can be selected with the Change Colors function from the View menu.

Only modified items are checked real-time by the incremental online design rule check, thus saving a lot of computing time. As board parameters could have changed until post-processing, it is recommended to use the Batch DRC function from the Utilities menu for a final batch design rule check with the current layout parameter settings before releasing the board. The incremental connectivity, however, does not have parameters and thus is always correct. The Report function from the Utilities menu should be used after Batch DRC to check all error counts.

The spacing parameters for the distance checks can either be set from the Settings menu (functions Distance TR/TR, Distance TR/CO and Distance CO/CO) or can be defined as net-specific parameters in the net list using the MINDIST net attribute). Note, however, that these parameter settings need not be the same as for the autorouting since the Autorouter can automatically set minimum distance parameters according to the routing grid selection. Net-specific spacing parameters are individually considered by the Autorouter.

Groups

The Layout Editor group functions provide powerful features for design data manipulation. An arbitrary set of items of the currently loaded layout or part can be selected to a group which then can then be saved, moved, rotated, mirrored, scaled, copied, deleted, fixed or unfixed.

The group functions are featuring set principles. Elements can be added (selected) to or removed (deselected) from the currently defined group. Highlight display is used to indicate group-selected items. The Group Polygon function is used to select and/or deselect parts, traces, areas, texts, visible and/or invisible elements or elements of any type by defining an area around the items to be selected. The Group Elements function is used to select and/or deselect single elements of a certain type (part, trace, area or text) by picking the desired items. The Group Elements function is active as long as valid pick elements are selected, thus allowing for the selection of a series of objects of a certain type). The Reset Group function is used to deselect all items from the current group.

All group-selected elements are subject to subsequent group functions such as Save Group, Move Group, Copy Group and Delete Group. The Fix Group and Unfix Group functions only work on group-selected parts, traces and vias.

The number of modified elements is displayed with the feedback messages of Reset Group, Group Polygon, Delete Group, Fix Group and Unfix Group functions. This information can be used to check whether the group function was applied as intended.

The Save Group function is used to save the currently defined group. The Save Group function prompts for a group origin selection which becomes the origin of the new element> The group origin is also used as the reference point for group load commands. Saved groups are stored as an element of the same type as that from which the group was selected. To prevent from unintentionally overwriting existing database elements, Save Group prompts for confirmation if the specified element already exists in the destination file. The Load Group function can be used to reload previously saved groups (as well as layout and/or part elements) to different layouts and/or parts. The save and load group facilities can be used for a variety of tasks such as replicating tracking, saving and loading PCB templates, stealing from existing and proven designs, etc.

The Copy Group and Load Group functions do not perform automatic part and/or pin renaming when copying and/or loading groups including parts (on layout level) or padstacks (on part level). Naming conflicts are resolved by assigning # names to parts and/or pins, and manual renaming is required to correct the name list (or some special User Language program must be implemented for solving such name list problems automatically).

Pressing the right mouse button during group movement operations such as Move Group, Copy Group or Load Group activates a submenu with functions for placing the group to relative or absolute coordinates (Jump Relative, Jump Absolute), rotating the group (Rotate Left, Rotate Right, Set Angle), mirroring the group (around the X-axis using either Mirror Off and/or Mirror On) or even scaling the group element dimensions and placement coordinates (Scale, applied after placing the currently processed group). The Move Group submenu provides the Set Quadrant option for automatically rerouting traces between the moved group and the rest of the layout after selecting the start point for the group move operation. Set Quadrant first expects an interactive selection of a quadrant origin and then prompts for the quadrant (Upper Right, Upper Left, Lower Left, Lower Right). Subsequent group move operations are only applied on group-selected elements and/or points placed within the selected quadrant. It is possible to move parts of a layout and to reroute the connections to the moved group. Note, however, that the algorithm applied by the group move functions for rearranging traces is not a genuine routing algorithm and is designed to be applied on horizontal and/or vertical move operations only. For more complex group shift operations it is recommended to discard the routing and perform a re-routing using the appropriate Autorouter procedures.

The Load Group function first resets the currently defined group to deselect all group elements before performing the load operation. After successfully loading a group, all loaded group elements are automatically group-selected. I.e., only loaded group elements are subject to subsequent group functions.

The Layout Editor supports different options for displaying group-selected elements during group movement operations. The behavior of this feature can be controlled with the Display Mode function which provides the following display modes:

GroupsLeft Mouse Button (LMB)
Display ModeLeft Mouse Button (LMB)
Moving Picture Off
Display Layer Only
Moving Picture On
Moving Picture All

Moving Picture Off deactivates the group movement display. Display Layer Only displays upper level group-selected elements which are assigned to the group display layer; the group display layer is a BAE setup parameter defined with the LAYGRPDISPLAY command of the bsetup utility program (see chapter 7.2 for a description of bsetup). Moving Picture On displays all group-selected elements except for traces, vias and drill holes during group movement. Moving Picture All displays all group-selected elements including traces, vias and drill holes during group movement. Moving Picture On is the default setting.

The Group Macro function is used to replace group-selected part macros (on layout level) or padstack macros (on part level). This function is most useful for fast pin type replacement (technology change) on part level. On layout level, the Group Macro function supports alternate part package type assignments for net list parts which include the specified part macro in their alternate part package type list. Package types for non-netlist parts, however, are changed without this check.

Fixing/Releasing Elements

Certain layout elements such as parts or traces can be fixed. Fixed objects are not changed by subsequent automatic processes such as placement optimization, automatic pin/gate swap or autorouting. It is strongly recommended to fix critical elements such as parts (e.g., plugs, switches, LEDs, etc.) which are to be excluded from the placement optimization or manually pre-routed traces (e.g., for power supply) which must not be changed by the Autorouter. A specific highlight for indicating fixed elements is activated during fix and release operations.

All functions for manipulating and/or copying fixed elements (parts, traces, vias) preserve and/or copy existing fixed modes. This also means that the Layout Editor trace functions for interactive routing keep traces fixed flags 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.

Polygons, Areas

In the Layout Editor, the functions from the Areas menu are used to create and/or modify polygons and/or pad shapes. Each polygon definition is associated with a layer and/or a polygon type and can contain an arbitrary number of arcs. The definition of an arc is applied by selecting either the Arc Left or the Arc Right option from the submenu to be activated after specifying the arc start point; subsequently, the system expects the arc center point specification, and the arc definition is completed with the arc end point selection. The system provides instant display of the resulting circle and/or arc during interactive input of the arc center and end points. At the definition of full circles, the input of the arc end point is superfluous, i.e., the full circle definition can be completed with the Done submenu function to be activated after setting the arc center point.

The algorithm for picking polygon corners and polygon segments picks the polygon 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 polygon elements even when working in (small) zoom overview display modes.

Project and Version Control Attributes

The $pltfname (element file path name), $pltfsname (element file name) and $pltename (element name) texts can be placed to display the project file path name, the project file name (without directory path) and the element name of the currently loaded element.

The $plttime (current time), $pltdatede (current date, German notation) and $pltdateus (current date, US notation) system attributes are substituted with the current time and/or date when displayed and/or plotted on layout level.

The $pltstime (save time), $pltsdatede (save date, German notation) and $pltsdateus (save date, US notation) system attributes are substituted with the time and date at which the currently loaded layout was last saved.

Automatic time and date substitutions are applied throughout all database hierarchy levels (pad, padstack, part, layout), unless other attribute values are explicitly set for these attributes.

Measuring

The Layout Editor automatically activates a measuring function when placing new text with the hash character as text string (#). This measuring function determines the distance between the two input coordinates subsequently to be specified. The resulting text string is built from the corresponding distance value with length units (inch or mm) retrieved from the current coordinate display mode as selected with the Coordinate Display function from the Settings menu.

Considering CAM Output Restrictions

The Layout Editor supports the definition of arbitrarily shaped areas and pads which can also be rotated at any angle. All these features are supported by the intelligent CAM Processor, which utilizes a series of automatic fill algorithms with multiple aperture selection and area reduction. The CAM Processor automatically optimizes the use of the selected tools and aperture table definitions in order to generate all structures at highest possible precision with regard to the chosen plot parameters and output tolerance ranges. The system also provides appropriate error messages and highlight to indicate objects which cannot be plotted using the selected tools and the current plot parameter settings.

As mentioned above, the CAM Processor is able to construct arbitrary polygons. When defining pads, consideration should, however, be given to the way in which Gerber photo plot data is generated. A flash code containing only one set of coordinates is used for areas that match apertures such as circles and squares. For areas that don't match apertures efficient drawing techniques generating few coordinates are used where possible (e.g., with rectangles), but with some shapes and sizes much more coordinates are needed. With careful design of pads and appropriate aperture tables and plot parameter settings, much smaller Gerber data files can be generated, making them quicker to copy, cheaper to send by modem, less expensive to plot and require less media space, thus considerably reducing the costs incurred by the CAM and manufacturing process.

User Language

The Bartels User Language Interpreter is integrated to the Layout Editor, i.e., User Language programs can be called from the Layout Editor, and it is possible to implement any user-specific Layout Editor function required such as status display, parameter setup, reports and test functions, CAD/CAM input/output functions, symbol library management utilities, automatic or semi-automatic placement and/or routing functions, customer-specific batch procedures, etc.

The Layout Editor provides both explicit and implicit User Language program call facilities. User Language programs can be started with explicit program name specification using the Run User Script function from the File menu (empty string or question-mark (?) input to the program name query activates a User Language program selection menu).

User Language programs can also be called by simply pressing special keys of the keyboard. This method of implicit User Language program call is supported at any time unless another interactive keyboard input request is currently pending. The name of the User Language program to be called is automatically derived from the pressed key, i.e. pressing a standard and/or function key triggers the activation of a User Language program with a corresponding name such as ged_1 for digit key 1, ged_r for standard key r, ged_# for standard key #, ged_f1 for function key F1, ged_f2 for function key F2, etc.

The Layout Editor User Language Interpreter environment also features event-driven User Language program calls, where User Language programs with predefined names are automatically started at certain events and/or operations such as ged_st at Layout Editor module startup, ged_load after loading a design element, ged_save before saving a design element, ged_tool when selecting a toolbar item and ged_zoom when changing the zoom factor. The module startup User Language program call method is most useful for automatic system parameter setup as well as for key programming and menu assignments. The element save and load program call methods can be used to save and restore element-specific parameters such as the zoom area, color setup, etc. The toolbar selection event must be used to start User Language programs which are linked to toolbar elements. The zoom event can be used to apply an update request to a design view management feature.

Bartels User Language also provides system functions for performing key programming, changing menu assignments and defining toolbars. These powerful features can be applied for user interface modifications. Please note that a large number of additional functions included with the Layout Editor menu are implemented through the User Language programs delivered with the BAE software.

See the Bartels User Language Programmer's Guide for a detailed description of the Bartels User Language (chapter 4.2 lists all User Language programs provided with the BAE software).

Neural Rule System

A series of advanced Bartels AutoEngineer features are implemented through the integrated Neural Rule System. See chapter 6.3.2 for the rule system applications provided with the PCB layout system.

 

4.2 Layout Library Symbol Design

The Bartels AutoEngineer is shipped with an extensive layout library. Nevertheless, you might require a certain layout symbol which has not yet been defined in these libraries. This section shows in detail how to create layout library symbols. The example symbols are created starting with the lowest DDB hierarchy level. I.e., first of all some pad and padstack symbols are defined, and, subsequently, some layout part symbols are defined. All these symbols will be stored to a DDB file named demo.ddb. Use the following commands to move to the BAE examples directory (e.g., c:\baejobs) and start the Bartels AutoEngineer:

>  C: Return/Enter Key (CR) 
>  cd c:\baejobs Return/Enter Key (CR) 
>  bae Return/Enter Key (CR)

The BAE main menu is activated, and you can start the Layout Editor with the following command:

LayoutLeft Mouse Button (LMB)

The Layout Editor is activated, and you can create layout library elements. You should become familiar with the conventions used for layout symbol design before generating your own symbols. Technology-dependent and manufacturing-specific conventions are usually to be considered with regard to pad shape definitions, part insertion pick points, identification of part pin 1, pin placement grids, part placement origin, minimum text sizes, drill symbols, part spacing parameters for SMDs, etc. The layer assignment is most important for the creation and modification of layout symbols and for the design of layouts in order to provide correct and complete CAM data output later (see chapter 4.1.5 for more details).

Figure 4-1 shows the layout library symbols to be created in the following sections.

Figure 4-1: Layout Library Symbols

Figure 4-1: Layout Library Symbols

 

4.2.1 Creating Layout Pads

On layout pad level the pad shapes (i.e., the pin contact areas) are defined by creating passive copper areas. Different pad symbols can be assigned to different layers on a single padstack symbol thus defining a particular layout pin type.

It is recommended to refrain from assigning layers to the copper areas created on pad level, i.e., layer assignment should be disabled on pad level (this is the default setting introduced by bsetup). The layer assignment can later be applied on padstack level to minimize the expenditure for adapting layout libraries to different manufacturing technologies.

Creating a Pad Symbol

Use the following commands to create a new pad symbol named via with an element size of 1*1mm in DDB file demo.ddb:

FileLeft Mouse Button (LMB)
NewLeft Mouse Button (LMB)
PadLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?via Return/Enter Key (CR)
Element Width (mm/") ?1 Return/Enter Key (CR)
Element Height (mm/") ?1 Return/Enter Key (CR)

The display now shows a square frame with a cross in the middle. The frame describes the element boundaries of the pad, and the cross marks the position of the element origin.

Defining a Copper Area

Use the following commands to define a circle-shaped copper area with a diameter of 0.9mm on the currently loaded pad element:

AreasLeft Mouse Button (LMB)
Add Passive CopperLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump AbsoluteLeft Mouse Button (LMB)
Absolute X Coordinate (mm/") ?0.45 Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
Arc LeftLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump AbsoluteLeft Mouse Button (LMB)
Absolute X Coordinate (mm/") ?0 Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Setting the Element Boundaries

The pad symbol's element boundaries should be reduced to enclose the pad definition as densely as possible. This is accomplished with the following commands:

SettingsLeft Mouse Button (LMB)
Upper/Right BorderLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump Absolute
Absolute X Coordinate (mm/") ?0 Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Lower/Left BorderLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump Absolute
Absolute X Coordinate (mm/") ?0 Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?0 Return/Enter Key (CR)

Saving the Element

You can also place documentary information such as text, documentary lines or documentary areas on pad level. However it is recommended to refrain from placing documentary items on pad level since this would result in a very specific pad definition which could be used in quite few superior layout symbols. Use the following commands to save the pad symbol:

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)

Now the new pad symbol named via is completely defined and stored to the DDB file demo.ddb. This pad will later be loaded to a padstack thus defining a via for manual and automatic routing.

Defining Square Pads

Use the following commands to define a pad named q1.4 with a square-shaped copper area (edge length 1.4mm) in DDB file demo.ddb:

FileLeft Mouse Button (LMB)
NewLeft Mouse Button (LMB)
PadLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?q1.4 Return/Enter Key (CR)
Element Width (mm/") ?2 Return/Enter Key (CR)
Element Height (mm/") ?2 Return/Enter Key (CR)
AreasLeft Mouse Button (LMB)
Add Passive CopperLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump AbsoluteLeft Mouse Button (LMB)
Absolute X Coordinate (mm/") ?0.7 Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?0.7 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump RelativeLeft Mouse Button (LMB)
Relative X Coordinate (mm/") ?-1.4 Return/Enter Key (CR)
Relative Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump RelativeLeft Mouse Button (LMB)
Relative X Coordinate (mm/") ?0 Return/Enter Key (CR)
Relative Y Coordinate (mm/") ?-1.4 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump RelativeLeft Mouse Button (LMB)
Relative X Coordinate (mm/") ?1.4 Return/Enter Key (CR)
Relative Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)
FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)

With the commands above, a pad named q1.4 has been defined which will be used on a padstack for parts with plated-through pins. This pin definition will require a corresponding pad symbol for the solder resist mask, which should be same as q1.4 except for a slightly expanded copper area. Use the following commands to copy the (still loaded) pad named q1.4 to a pad symbol named q1.4sr (square 1.4mm, solder resist), then load pad q1.4sr and enlarge the copper area of q1.4sr by 0.1mm:

FileLeft Mouse Button (LMB)
Save Element AsLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ?q1.4sr Return/Enter Key (CR)
Load ElementLeft Mouse Button (LMB)
PadLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ?q1.4sr Return/Enter Key (CR)
AreasLeft Mouse Button (LMB)
Resize AreaLeft Mouse Button (LMB)
Move to Area Corner/EdgeLeft Mouse Button (LMB)
Expansion Distance (mm/") ?0.1 Return/Enter Key (CR)
FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)

Defining Finger Pads

Use the following commands to define a pad named so with a finger-shaped copper area (width 0.7mm, length 1.7mm) in the demo.ddb DDB file:

FileLeft Mouse Button (LMB)
NewLeft Mouse Button (LMB)
PadLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?so Return/Enter Key (CR)
Element Width (mm/") ?1 Return/Enter Key (CR)
Element Height (mm/") ?2 Return/Enter Key (CR)
AreasLeft Mouse Button (LMB)
Add Passive CopperLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump AbsoluteLeft Mouse Button (LMB)
Absolute X Coordinate (mm/") ?0.35 Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?0.5 Return/Enter Key (CR)
Right Mouse Button (RMB)
Arc LeftLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump RelativeLeft Mouse Button (LMB)
Relative X Coordinate (mm/") ?-0.35 Return/Enter Key (CR)
Relative Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump RelativeLeft Mouse Button (LMB)
Relative X Coordinate (mm/") ?-0.35 Return/Enter Key (CR)
Relative Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump RelativeLeft Mouse Button (LMB)
Relative X Coordinate (mm/") ?0 Return/Enter Key (CR)
Relative Y Coordinate (mm/") ?-1 Return/Enter Key (CR)
Right Mouse Button (RMB)
Arc LeftLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump RelativeLeft Mouse Button (LMB)
Relative X Coordinate (mm/") ?0.35 Return/Enter Key (CR)
Relative Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump RelativeLeft Mouse Button (LMB)
Relative X Coordinate (mm/") ?0.35 Return/Enter Key (CR)
Relative Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)
FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)

With the commands above, a pad named so has been defined which will be used to define a standard SMD pin for SO (small outline) package types. Use the following commands to copy the (still loaded) pad named so to a pad symbol named sosr (small outline pad, solder resist), load the sosr pad and enlarge the copper area of sosr by 0.05mm:

FileLeft Mouse Button (LMB)
Save Element AsLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ?sosr Return/Enter Key (CR)
Load ElementLeft Mouse Button (LMB)
PadLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ?sosr Return/Enter Key (CR)
AreasLeft Mouse Button (LMB)
Resize AreaLeft Mouse Button (LMB)
Move to Area Corner/EdgeLeft Mouse Button (LMB)
Expansion Distance (mm/") ?0.05 Return/Enter Key (CR)
FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)

Checking the File Contents

Within this section we have created a series of pad symbols which we stored to DDB file demo.ddb. Use the following commands to list the pad(s) defined in the demo.ddb DDB file:

FileLeft Mouse Button (LMB)
File ContentsLeft Mouse Button (LMB)
PadLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)

An empty string input (i.e., pressing the return key Return/Enter Key (CR)) to the file name prompt causes the system to use the file name of the currently loaded element, which in our example is demo.ddb. The system now produces the following listing of the pads contained in demo.ddb:

Type : Pad / File : demo.ddb

: q1.4 : q1.4sr : so : sosr : via - End -

Hit the spacebar to continue.

 

4.2.2 Creating Layout Padstacks

On layout padstack level the layout pin symbols and vias are defined by placing symbols from the subordinate pad level. Each pad can be assigned to a signal and/or documentary layer thus designating contact areas for the routing or defining pad shapes for solder resist, SMD masks, etc. A drill hole and drill plan info can be created optionally for the definition of vias or drilled pins. Keepout areas can be utilized for controlling the pin contact mode. Documentary lines or areas can serve as pin designators on the silk screen or insertion plan, and reference texts can be used for displaying pin names on part and/or layout level.

In this section the pad symbols defined in the previous section are used to generate some padstack symbols. To provide visual input control it is recommended to use the following commands to change the color setup in order to display the Drill Holes as well as the Drill Plan (Both Sides) and the Solder Mask (all sides) documentary layers during padstack definition:

Middle Mouse Button (MMB)
Change ColorsLeft Mouse Button (LMB)
Drill HolesLeft Mouse Button (LMB)
Move to Desired Color, whiteLeft Mouse Button (LMB)
-> Doc.-LayerLeft Mouse Button (LMB)
Drill Plan/Both SidesLeft Mouse Button (LMB)
Move to Desired Color, light blueLeft Mouse Button (LMB)
Solder Mask/Both SidesLeft Mouse Button (LMB)
Move to Desired Color, grayLeft Mouse Button (LMB)
Solder Mask/Side 1Left Mouse Button (LMB)
Move to Desired Color, dark grayLeft Mouse Button (LMB)
Solder Mask/Side 2Left Mouse Button (LMB)
Move to Desired Color, light grayLeft Mouse Button (LMB)
ExitLeft Mouse Button (LMB)

Changing some item-specific color is accomplished by selecting the desired display item using the left mouse button and then selecting the desired color button from the Change Colors function from the View menu. In the layout system, the Change Colors menu provides a feature for fast display item fade-out/fade-in. Activating and/or deactivating some item-specific display is accomplished by selecting the desired display item entry with the right mouse button which works as a toggle between fade-out and fade-in. The system won't loose information on currently defined colors of faded-out display items; strike-through color buttons are used for notifying currently faded-out display items.

Use the following commands to store the currently defined color table with name stackedit to the ged.dat system file (in the BAE programs directory):

ViewLeft Mouse Button (LMB)
Save ColorsLeft Mouse Button (LMB)
Element Name ?stackedit Return/Enter Key (CR)

Once a color table has been saved it can be reloaded at any time using the Load Colors function from the View menu. Special color tables (e.g., for library edit, for finding unroutes, etc.) can be defined and reloaded on request. The default color table to be loaded after startup is the one named standard.

Creating a Padstack Symbol

Use the following commands to create a padstack symbol named via with an element size of 1*1mm in DDB file demo.ddb:

FileLeft Mouse Button (LMB)
NewLeft Mouse Button (LMB)
PadstackLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?via Return/Enter Key (CR)
Element Width (mm/") ?1 Return/Enter Key (CR)
Element Height (mm/") ?1 Return/Enter Key (CR)

The display now shows a square frame with a cross in the middle. The frame describes the element boundaries of the padstack, and the cross marks the position of the element origin.

Loading Pads

The Add Part function from the Parts menu is used for placing pads onto the current padstack symbol. The system prompts for the library element name, i.e., the name of the pad symbol to be loaded. Popup menus are provided with the library element name query for selecting the library file and the pad symbol name. The library file name list is derived from the layout library path defined with the BAE setup, i.e., all DDB files available in the directory of the layout library path are listed. Pad symbols can optionally be selected by typing both the library file name (i.e., one of the names displayed with the library file name popup), a slash (/), and the pad symbol name to the library element name prompt (typing ? for the element name will activate a popup menu providing the list of pad symbols from the specified library file). An empty string input to the library element name query causes the system to use the pad symbol previously selected with the Add Part function (if there was already one specified).

Use the following commands to load the pad symbol via, place it at the padstack origin and assign it to the All Layers signal layer:

PartsLeft Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Library Element Name ?via Return/Enter Key (CR)
Select Input LayerLeft Mouse Button (LMB)
All LayersLeft Mouse Button (LMB)
DoneLeft Mouse Button (LMB)

Defining the Drill Hole

Use the following commands to define a drill hole with a diameter of 0.5mm:

Text, DrillLeft Mouse Button (LMB)
Place Drill HoleLeft Mouse Button (LMB)
Drill size ( 0.00mm) ?0.5 Return/Enter Key (CR)
DoneLeft Mouse Button (LMB)

The Drilling Class option from the Place Drill Hole function allows for the assignment of a non-default drilling class to support and/or process blind and buried via definitions (see also chapter 4.6.11). The Mirr. Drill. Class option allows for the assignment of a mirror mode drill class definition. The mirror mode drill class is activated when the part on which the drill hole is defined is mirrored, thus supporting mirroring of parts with blind and buried pins. On padstack level, the mirror mode drill class indicator is displayed below the standard drill class. On layout level, only the currently active drill class is displayed.

Defining a Drill Symbol

Use the following commands to define a drill symbol by creating a documentary line on the Drill Plan (Both Sides) documentary layer (it is recommended to select the inch coordinate display mode and to set the input grid to 1/80 inch; during polygon definition the polygon corner point coordinates can be taken from the info field displayed on the right top of the user interface):

SettingsLeft Mouse Button (LMB)
Coordinate DisplayLeft Mouse Button (LMB)
Display InchLeft Mouse Button (LMB)
Middle Mouse Button (MMB)
Grids/RotationLeft Mouse Button (LMB)
Set Input GridLeft Mouse Button (LMB)
1/80 InchLeft Mouse Button (LMB)
Grid+Rotation OnLeft Mouse Button (LMB)
AreasLeft Mouse Button (LMB)
Add Document LineLeft Mouse Button (LMB)
Drill PlanLeft Mouse Button (LMB)
Move to [0.0125",0.0125"]Left Mouse Button (LMB)
Move to [-0.0125",0.0125"]Left Mouse Button (LMB)
Move to [0.0125",-0.0125"]Left Mouse Button (LMB)
Move to [-0.0125",-0.0125"]Left Mouse Button (LMB)
Move to [0.0125",0.0125"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Defining a Keepout Area

Use the following commands to create a circle-shaped keepout area with a diameter of 0.9mm on the Drill Plan (Both Sides) documentary layer:

AreasLeft Mouse Button (LMB)
Add Keep Out AreaLeft Mouse Button (LMB)
Document LayerLeft Mouse Button (LMB)
Drill PlanLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump AbsoluteLeft Mouse Button (LMB)
Absolute X Coordinate (mm/") ?0.45 Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
Arc LeftLeft Mouse Button (LMB)
Move to Origin [0,0]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

The Design Rule Check will mutually check keepout areas on documentary layers. I.e., the keepout area definition from the example above will cause the DRC to indicate distance errors at via drill hole overlaps inadvertently introduced by manual routing.

Saving the Element

The definition of the via padstack symbol is completed now. Do not forget to save this symbol with the following commands:

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)

Creating a Padstack Symbol for plated-through Pins

Use the following commands to create a padstack symbol named q1.4 with an element size of 2*2mm in DDB file demo.ddb:

FileLeft Mouse Button (LMB)
NewLeft Mouse Button (LMB)
PadstackLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?q1.4 Return/Enter Key (CR)
Element Width (mm/") ?2 Return/Enter Key (CR)
Element Height (mm/") ?2 Return/Enter Key (CR)

Use the following commands to place the pad symbols q1.4 (on All Layers signal layer) and q1.4sr (on Solder Mask / Both Sides documentary layer):

PartsLeft Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Library Element Name ?q1.4 Return/Enter Key (CR)
Select Input LayerLeft Mouse Button (LMB)
All LayersLeft Mouse Button (LMB)
DoneLeft Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Library Element Name ?q1.4sr Return/Enter Key (CR)
Select Input LayerLeft Mouse Button (LMB)
Document LayerLeft Mouse Button (LMB)
Solder MaskLeft Mouse Button (LMB)
Both SidesLeft Mouse Button (LMB)
DoneLeft Mouse Button (LMB)

Use the following commands to create a documentary line on the Insertion Plan (Side 2) documentary layer for indicating the pin outline:

AreasLeft Mouse Button (LMB)
Add Document LineLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Move to [0.025",0.025"]Left Mouse Button (LMB)
Move to [-0.025",0.025"]Left Mouse Button (LMB)
Move to [-0.025",-0.025"]Left Mouse Button (LMB)
Move to [0.025",-0.025"]Left Mouse Button (LMB)
Move to [0.025",0.025"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Use the following commands to define a drill hole with a diameter of 0.9mm:

Text, DrillLeft Mouse Button (LMB)
Place Drill HoleLeft Mouse Button (LMB)
Drill size ( 0.00mm) ?0.9 Return/Enter Key (CR)
DoneLeft Mouse Button (LMB)

Use the following commands to define a drill symbol by creating a documentary line on the Drill Plan (Both Sides) documentary layer:

AreasLeft Mouse Button (LMB)
Add Document LineLeft Mouse Button (LMB)
Drill PlanLeft Mouse Button (LMB)
Move to [0.0125",0.0125"]Left Mouse Button (LMB)
Move to [-0.0125",0.0125"]Left Mouse Button (LMB)
Move to [-0.0125",-0.0125"]Left Mouse Button (LMB)
Move to [0.0125",-0.0125"]Left Mouse Button (LMB)
Move to [0.0125",0.0125"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Use the following commands to set the input grid to 1/200 inch, and define four small square-shaped keepout areas (on signal layer All Layers) at the corners of the pin:

Middle Mouse Button (MMB)
Grids/RotationLeft Mouse Button (LMB)
Set Input GridLeft Mouse Button (LMB)
1/200 InchLeft Mouse Button (LMB)
Grid+Rotation OnLeft Mouse Button (LMB)
AreasLeft Mouse Button (LMB)
Add Keep Out AreaLeft Mouse Button (LMB)
All LayersLeft Mouse Button (LMB)
Move to [0.0250",0.0250"]Left Mouse Button (LMB)
Move to [0.0300",0.0250"]Left Mouse Button (LMB)
Move to [0.0300",0.0300"]Left Mouse Button (LMB)
Move to [0.0250",0.0300"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)
Copy AreaLeft Mouse Button (LMB)
Move to [0.0250",0.0250"]Left Mouse Button (LMB)
Move to [-0.0300",0.0250"]Left Mouse Button (LMB)
Copy AreaLeft Mouse Button (LMB)
Move to [-0.0300",0.0250"]Left Mouse Button (LMB)
Move to [-0.0300",-0.0300"]Left Mouse Button (LMB)
Copy AreaLeft Mouse Button (LMB)
Move to [-0.0300",-0.0300"]Left Mouse Button (LMB)
Move to [0.0250",-0.0300"]Left Mouse Button (LMB)

The keepout areas created with the commands above define a special pin contact mode for padstack q1.4 to allow only orthogonal connections. This restriction is considered by the Autorouter.

The definition of padstack symbol q1.4 is completed now. Do not forget to save this symbol with the following commands:

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)

Creating a Padstack Symbol for SMD Pins

Use the following commands to create a padstack symbol named so with an element size of 1*2mm in DDB file demo.ddb:

FileLeft Mouse Button (LMB)
NewLeft Mouse Button (LMB)
PadstackLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?so Return/Enter Key (CR)
Element Width (mm/") ?1 Return/Enter Key (CR)
Element Height (mm/") ?2 Return/Enter Key (CR)

Use the following commands to place the pad symbols so (on component side, Layer n (Parts.)) and sosr (on Solder Mask, Side 2 documentary layer):

PartsLeft Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Library Element Name ?so Return/Enter Key (CR)
Select Input LayerLeft Mouse Button (LMB)
Layer n (Parts.)Left Mouse Button (LMB)
DoneLeft Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Library Element Name ?sosr Return/Enter Key (CR)
Select Input LayerLeft Mouse Button (LMB)
Document LayerLeft Mouse Button (LMB)
Solder MaskLeft Mouse Button (LMB)
Side 2Left Mouse Button (LMB)
DoneLeft Mouse Button (LMB)

Use the following commands to create a documentary line on the Insertion Plan (Side 2) documentary layer for indicating the pin outline:

AreasLeft Mouse Button (LMB)
Add Document LineLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Move to [0.0150",0.0350"]Left Mouse Button (LMB)
Move to [-0.0150",0.0350"]Left Mouse Button (LMB)
Move to [-0.0150",-0.0350"]Left Mouse Button (LMB)
Move to [0.0150",-0.0350"]Left Mouse Button (LMB)
Move to [0.0150",0.0350"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

The definition of padstack symbol so is completed now. Do not forget to save this symbol with the following commands:

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)

Creating a Padstack Drill Symbol

Use the following commands to create a padstack symbol named drill3.0 with an element size of 3*3mm in DDB file demo.ddb:

FileLeft Mouse Button (LMB)
NewLeft Mouse Button (LMB)
PadstackLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?drill3.0 Return/Enter Key (CR)
Element Width (mm/") ?3 Return/Enter Key (CR)
Element Height (mm/") ?3 Return/Enter Key (CR)

Use the following commands to create a drill hole with a diameter of 3.0mm and assign that drill hole to drilling class Z (this drilling class can be utilized in the CAM Processor to perform selective output of non-plated drills; see chapter 4.7.13 for details on producing drill data output):

Text, DrillLeft Mouse Button (LMB)
Place Drill HoleLeft Mouse Button (LMB)
Drill size ( 0.00mm) ?3.0 Return/Enter Key (CR)
Drilling ClassLeft Mouse Button (LMB)
New Drilling Class (-,A..Z) (-) ?Z Return/Enter Key (CR)
DoneLeft Mouse Button (LMB)

A dash string (-) input to the drilling class prompt can be used to refrain from any drilling class assignment (this is the default for drill hole definitions).

Use the following commands to define a drill symbol by creating a documentary line on the Drill Plan (Both Sides) documentary layer:

AreasLeft Mouse Button (LMB)
Add Document LineLeft Mouse Button (LMB)
Drill PlanLeft Mouse Button (LMB)
Move to [0.00",0.05"]Left Mouse Button (LMB)
Move to [-0.05",0.00"]Left Mouse Button (LMB)
Move to [0.00",-0.05"]Left Mouse Button (LMB)
Move to [0.05",0.00"]Left Mouse Button (LMB)
Move to [0.00",0.05]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Use the following commands to define a keepout area on the All Layers signal layer with size and position corresponding with the drill hole definition:

AreasLeft Mouse Button (LMB)
Add Keep Out AreaLeft Mouse Button (LMB)
All LayersLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump AbsoluteLeft Mouse Button (LMB)
Absolute X Coordinate (mm/") ?1.5 Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
Arc LeftLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump AbsoluteLeft Mouse Button (LMB)
Absolute X Coordinate (mm/") ?0 Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

The keepout area defined with the commands above will prevent the Autorouter from routing over the drill hole.

The definition of padstack symbol drill3.0 is completed now. Do not forget to save this symbol with the following commands:

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)
 

4.2.3 Creating Layout Parts

On layout part level the layout part symbols (i.e., the part package types) are defined (and stored to a layout part library). A particular layout part symbol is usually defined by placing elements from the subordinate padstack level in order to define the types and positions of the physical pins of the corresponding part. Keepout areas (for performing clearance checks on placed parts, defining via keepout areas, etc.), copper areas, drawing information (component outline on insertion plan) and text (for part name reference, insertion data pick point, attribute value display, etc.) can be created optionally.

The BAE layout system also allows for placing traces and vias on part hierarchy level. The layout level design rule check is deactivated between different traces on part level to allow for the correct representation of special devices such as printed inductors. I.e., pin connections on printed inductors can be created by introducing two connecting traces. Short-circuits and distance violations to other traces on layout level will still be recognized by the design rule check. Since the layout level design rule check will not perform checks between traces defined on the same part, it is strongly recommended to apply part level design rule checks at the definition of such parts with the clearance parameters set to the smallest minimum distance(s) intended for the use of such parts on layout level.

In this section, a resistor part with drilled pins, a 14-pin SMD part and a constructive part symbol representing a drill hole are created. The padstack symbols from the preceding section are used for pin definitions.

For the following operations it is recommended to set the input grid to 1/20 inch (use the Grids/Rotation and Set Input Grid functions from the View menu), and to set the coordinate display mode to inch (use function Coordinate Display from the Settings menu).

Creating a Part Symbol

Use the following commands to create a new part symbol named r04a25 with an element size of 0.6*0.2 inch in DDB file demo.ddb:

FileLeft Mouse Button (LMB)
NewLeft Mouse Button (LMB)
PartLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?r04a25 Return/Enter Key (CR)
Element Width (mm/") ?0.6" Return/Enter Key (CR)
Element Height (mm/") ?0.2" Return/Enter Key (CR)

The display now shows a rectangle-shaped frame with a cross at the lower left corner. The frame describes the element boundaries of the part, and the cross marks the position of the element origin.

Placing the Pins

The Add Part function from the Parts menu is used for placing pins on the current layout part symbol. The system prompts for the pin name and the library element name, i.e., the name of the padstack symbol to be loaded. Note that part pin names must be unique, i.e., when specifying a pin name already used on the current part, then the user must confirm to replace the existing pin. Popup menus are provided with the library element name query for selecting the library file and the padstack symbol name. The library file name list is derived from the layout library path defined with the BAE setup, i.e., all DDB files available in the directory of the layout library path are listed. Padstack symbols can optionally be selected by typing both the library file name (i.e., one of the names displayed with the library file name popup), a slash (/), and the padstack symbol name to the library element name prompt (typing ? for the element name activates a popup menu providing the list of padstack symbols from the specified library file). An empty string input to the library element name query causes the system to use the padstack symbol previously selected with the Add Part function (if there was already one specified).

Use the following commands to place two q1.4 padstack symbols to define pins 1 and 2 of the part:

PartsLeft Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?1 Return/Enter Key (CR)
Library Element Name ?q1.4 Return/Enter Key (CR)
Move to [0.1",0.1"]Left Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?2 Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)
Move to [0.5",0.1"]Left Mouse Button (LMB)

The padstack q1.4 is one of the symbols created in chapter 2.2.2. An empty string input (i.e., pressing the return key Return/Enter Key (CR)) to the library element name prompt causes the system to use the name of the previously loaded padstack symbol. With all required pins placed on the part the part package definition is basically completed. What still might be missing is drawing and/or text information required for documentation purposes or CAM output.

Creating Drawing Information for the Insertion Plan

Use the following commands to create a documentary line on the Insertion Plan (Side 2) documentary layer for indicating the part contour:

AreasLeft Mouse Button (LMB)
Add Document LineLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Move to [0.15",0.05"]Left Mouse Button (LMB)
Move to [0.45",0.05"]Left Mouse Button (LMB)
Move to [0.45",0.15"]Left Mouse Button (LMB)
Move to [0.15",0.15"]Left Mouse Button (LMB)
Move to [0.15",0.05"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Use the following commands to create two Insertion Plan (Side 2) documentary lines connecting the part contour with the pins:

AreasLeft Mouse Button (LMB)
Add Document LineLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Move to [0.10",0.10"]Left Mouse Button (LMB)
Move to [0.15",0.10"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)
Copy AreaLeft Mouse Button (LMB)
Move to [0.10",0.10"]Left Mouse Button (LMB)
Move to [0.45",0.10"]Left Mouse Button (LMB)

Defining the Part Name Reference

Use the following commands to place the text string $ on the Insertion Plan (Side 2) documentary layer:

Text, DrillLeft Mouse Button (LMB)
Add TextLeft Mouse Button (LMB)
Document LayerLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Text ?$ Return/Enter Key (CR)
Move to [0.15",0.05"]Left Mouse Button (LMB)

The $ text string is utilized as a variable for indicating the name of corresponding references on superior hierarchy levels. I.e., a $ text string placed on layout part level will display pertinent part reference names (e.g., IC01, R20, V2) on the PCB layout. Such reference text definitions can also be placed on a special layer for generating insertion data. The CAM Processor Insertion Output function can then be used to print all insertion data layer texts with coordinates and rotation angles. I.e., the insertion data text position must exactly match the appropriate part pick point for the automatic insertion equipment, and it is also recommended to disable reference text movement by setting the PHYSICAL text mode for the insertion data documentary layer (see chapter 7.2 for the description of the bsetup utility program and how to define documentary layers).

Defining the Origin

Use the following commands to set the part symbol origin to pin 1:

SettingsLeft Mouse Button (LMB)
Set OriginLeft Mouse Button (LMB)
Move to Pin "1",[0.1",0.1"]Left Mouse Button (LMB)

The part origin is the reference point for placing the part on the layout. On packages with drilled pins usually the first pin position is used, whilst on SMD packages the origin is usually set to the part center point (i.e., the pin gravity point). It is recommended to refrain from off-grid origin settings in order to avoid off-grid pin placement on the layout since on-grid items make the job much easier for the Autorouter (and of course for the manufacturing process).

Saving the Element

The definition of the r04a25 part symbol is completed now. Do not forget to save this symbol with the following commands:

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)

Creating an SMD Part

Use the following commands to create a new part symbol named so14 (14-pin small outline package) with an element size of 0.5*0.4 inch in DDB file demo.ddb:

FileLeft Mouse Button (LMB)
NewLeft Mouse Button (LMB)
PartLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?so14 Return/Enter Key (CR)
Element Width (mm/") ?0.5" Return/Enter Key (CR)
Element Height (mm/") ?0.4" Return/Enter Key (CR)

Use the following commands to define the pins 1 through 7 by loading and placing the so padstack symbol which was created in chapter 4.2.2:

PartsLeft Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?1 Return/Enter Key (CR)
Library Element Name ?so Return/Enter Key (CR)
Move to [0.10",0.10"]Left Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?2 Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)
Move to [0.15",0.10"]Left Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?3 Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)
Move to [0.20",0.10"]Left Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?4 Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)
Move to [0.25",0.10"]Left Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?5 Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)
Move to [0.30",0.10"]Left Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?6 Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)
Move to [0.35",0.10"]Left Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?7 Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)
Move to [0.40",0.10"]Left Mouse Button (LMB)

Use the following commands to define the pins 8 through 14 by loading and placing the so padstack symbol:

PartsLeft Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?8 Return/Enter Key (CR)
Library Element Name ?so Return/Enter Key (CR)
Move to [0.40",0.30"]Left Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?9 Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)
Move to [0.35",0.30"]Left Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?10 Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)
Move to [0.30",0.30"]Left Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?11 Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)
Move to [0.25",0.30"]Left Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?12 Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)
Move to [0.20",0.30"]Left Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?13 Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)
Move to [0.15",0.30"]Left Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?14 Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)
Move to [0.10",0.30"]Left Mouse Button (LMB)

Use the following commands to create two Insertion Plan (Side 2) documentary lines for indicating the part contour:

AreasLeft Mouse Button (LMB)
Add Document LineLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Move to [0.100",0.100"]Left Mouse Button (LMB)
Move to [0.425",0.100"]Left Mouse Button (LMB)
Move to [0.425",0.300"]Left Mouse Button (LMB)
Move to [0.075",0.300"]Left Mouse Button (LMB)
Move to [0.075",0.125"]Left Mouse Button (LMB)
Move to [0.100",0.100"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)
Add Document LineLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Move to [0.075",0.125"]Left Mouse Button (LMB)
Move to [0.425",0.125"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Frequently certain distances between SMD parts are required by the manufacturing process to avoid solder bridging. An appropriate SMD part clearance check can be supported by defining corresponding keepout areas on a certain documentary layer. The Layout Editor DRC will then mutually check these keepout areas and indicate distance violations in case of overlaps. Use the following commands to define a keepout area on documentary layer Insertion Plan (Side 2) for the SMD part clearance check:

AreasLeft Mouse Button (LMB)
Add Keep Out AreaLeft Mouse Button (LMB)
Document LayerLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Move to [0.05",0.05"]Left Mouse Button (LMB)
Move to [0.45",0.05"]Left Mouse Button (LMB)
Move to [0.45",0.35"]Left Mouse Button (LMB)
Move to [0.05",0.35"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Use the following commands to set the part origin to the part center point (i.e., to the pin gravity point):

SettingsLeft Mouse Button (LMB)
Set OriginLeft Mouse Button (LMB)
Move to [0.25",0.20"]Left Mouse Button (LMB)

Use the following commands to place the text string $ at the part origin with a text size of 0.05 inch on the Insertion Plan (Side 2) documentary layer:

Text, DrillLeft Mouse Button (LMB)
Add TextLeft Mouse Button (LMB)
Document LayerLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Text ?$ Return/Enter Key (CR)
Right Mouse Button (RMB)
Text SizeLeft Mouse Button (LMB)
Text Size ( 2.54mm) ?0.05" Return/Enter Key (CR)
Move to [0.0",0.0"]Left Mouse Button (LMB)

The definition of the so part symbol is completed now. Do not forget to save this symbol with the following commands:

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)

Creating a Constructive Part Symbol

Use the following commands to create a new part symbol named hole3mm (drill hole with 3mm diameter) with an element size of 4*4mm in DDB file demo.ddb:

FileLeft Mouse Button (LMB)
NewLeft Mouse Button (LMB)
PartLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?hole3mm Return/Enter Key (CR)
Element Width (mm/") ?4 Return/Enter Key (CR)
Element Height (mm/") ?4 Return/Enter Key (CR)

Use the following commands to set the part origin and to change the upper/right element boundary:

SettingsLeft Mouse Button (LMB)
Set OriginLeft Mouse Button (LMB)
Move to [0.075",0.075"]Left Mouse Button (LMB)
Upper/Right BorderLeft Mouse Button (LMB)
Move to [0.075",0.075"]Left Mouse Button (LMB)

Use the following commands to place the drill hole padstack symbol drill3.0 which was created in chapter 4.2.2 ("dummy" pin name x can be used since the hole3mm part symbol is a constructive definition without any logical counterpart):

PartsLeft Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?x Return/Enter Key (CR)
Library Element Name ?drill3.0 Return/Enter Key (CR)
Move to [0,0]Left Mouse Button (LMB)

Use the following commands to create a circle-shaped documentary line on the Insertion Plan (Side 2) documentary layer for indicating the part contour:

AreasLeft Mouse Button (LMB)
Add Document LineLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump Absolute
Absolute X Coordinate (mm/") ?1.6 Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
Arc RightLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump AbsoluteLeft Mouse Button (LMB)
Absolute X Coordinate (mm/") ?0 Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

The definition of the hole3mm part symbol is completed now. Do not forget to save this symbol with the following commands:

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)
 

4.3 Designing PCB Layouts

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 board will be created in the demo.ddb DDB file, and the layout symbols generated in the preceding chapters will be used on that layout.

Use the following commands to move to the BAE examples directory (i.e. where the example job file demo.ddb resides, e.g., c:\baejobs) and start the Bartels AutoEngineer:

>  C: Return/Enter Key (CR) 
>  cd c:\baejobs Return/Enter Key (CR) 
>  bae Return/Enter Key (CR)

Move the menu cursor to the Layout menu item and confirm this choice by pressing the left mouse button:

LayoutLeft Mouse Button (LMB)

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 demo.ddb DDB file with an element size of 3.2*2.9 inch:

FileLeft Mouse Button (LMB)
NewLeft Mouse Button (LMB)
LayoutLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?board Return/Enter Key (CR)
Element Width (mm/") ?3.2" Return/Enter Key (CR)
Element Height (mm/") ?2.9" Return/Enter Key (CR)

A frame designating the element boundaries of the layout appears on the screen. If the system issues an error message such as Element does already exist!, 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:

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)
FileLeft Mouse Button (LMB)
Main MenuLeft Mouse Button (LMB)

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):

FileLeft Mouse Button (LMB)
Load ElementLeft Mouse Button (LMB)
LayoutLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?board Return/Enter Key (CR)

The system should load the previously created layout. An error message such as File not found! is issued if the requested DDB file is not available. An error message such as Element not found! 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 Project button of the file name popup menu or by entering an empty string (i.e., by pressing the return key Return/Enter Key (CR)) to the file name prompt.

Selecting the Project button of the element name popup menu or entering an empty string (i.e., pressing the return key Return/Enter Key (CR)) to the element name prompt causes the system to use the default layout element name defined with the setup (see also chapter 7.2 for a description of the bsetup utility program and how to use the LAYDEFELEMENT command).

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):

SettingsLeft Mouse Button (LMB)
Coordinate DisplayLeft Mouse Button (LMB)
Display InchLeft Mouse Button (LMB)

From now on, Inch units are used during graphic cursor movement for displaying coordinates in the info field.

Board Outline

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:

AreasLeft Mouse Button (LMB)
Add Board OutlineLeft Mouse Button (LMB)
Move to [0.1",0.3"]Left Mouse Button (LMB)
Move to [0.2",0.3"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
Arc LeftLeft Mouse Button (LMB)
Move to [0.4",0.3"]Left Mouse Button (LMB)
Move to [0.6",0.3"]Left Mouse Button (LMB)
Move to [2.8",0.3"]Left Mouse Button (LMB)
Move to [2.8",2.2"]Left Mouse Button (LMB)
Move to [2.3",2.7"]Left Mouse Button (LMB)
Move to [0.4",2.7"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
Arc LeftLeft Mouse Button (LMB)
Move to [0.4",2.5"]Left Mouse Button (LMB)
Move to [0.2",2.5"]Left Mouse Button (LMB)
Move to [0.1",2.5"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

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.

Plot Markers

Use the following commands to define two plot markers as shown in figure 4-2:

AreasLeft Mouse Button (LMB)
Add Document LineLeft Mouse Button (LMB)
Plot MarkersLeft Mouse Button (LMB)
Move to [0.1",0.1"]Left Mouse Button (LMB)
Move to [0.1",0.2"]Left Mouse Button (LMB)
Move to [0.2",0.1"]Left Mouse Button (LMB)
Move to [0.2",0.2"]Left Mouse Button (LMB)
Move to [0.1",0.1"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)
Copy AreaLeft Mouse Button (LMB)
Move to [0.1",0.1"]Left Mouse Button (LMB)
Move to [2.7",2.6"]Left Mouse Button (LMB)

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).

Figure 4-2: Layout with Board Outline and Plot Markers

Figure 4-2: Layout with Board Outline and Plot Markers

Top Layer

The Set Top Layer function from the Settings 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 Set Top Layer function can be used to assign a Top Layer for the currently loaded layout:

SettingsLeft Mouse Button (LMB)
Set Top LayerLeft Mouse Button (LMB)
Layer 1
Layer 2
Layer 3
Layer 4
Select Layer
Abort

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 All Layers and Middle Layers 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

The Distance functions from the Settings menu are used to set the clearance check parameters for the currently loaded layout. Different Distance functions can be activated from the Settings menu:

SettingsLeft Mouse Button (LMB)
Distance TR/TR
Distance TR/CO
Distance CO/CO

The Distance TR/TR function is used to set the minimum trace-to-trace distance, Distance TR/CO is used to set the minimum trace-to-copper distance and Distance CO/CO 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 MINDIST net attribute are also considered by the Design Rule Check when performing clearance checks on traces and/or active copper areas.

 

4.3.2 Parts, Placement

On layout hierarchy level, the Parts menu provides functions for placing, moving and deleting parts, for changing part names and for manually performing pin/gate swaps.

Input Grid

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:

ViewLeft Mouse Button (LMB)
Grids/RotationLeft Mouse Button (LMB)
Set Input GridLeft Mouse Button (LMB)
1/10 InchLeft Mouse Button (LMB)
Grid+Rotation OnLeft Mouse Button (LMB)

Library Access

The Select Library function from the Settings 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:

SettingsLeft Mouse Button (LMB)
Select LibraryLeft Mouse Button (LMB)
Library Name ('c:/baelib/laylib.ddb') ? Return/Enter Key (CR)

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 (-) resets the library path setting (no library selected). ! and/or . input restores the default library path defined with the setup. Under Windows, the library file name is specified through file dialog box. Use the following commands to check the library path settings:

SettingsLeft Mouse Button (LMB)
Select LibraryLeft Mouse Button (LMB)
Library Name ('c:/baelib/laylib.ddb') ?- Return/Enter Key (CR)
Select LibraryLeft Mouse Button (LMB)
Library Name ('') ?! Return/Enter Key (CR)

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.

Figure 4-3: Layout Library Access

Figure 4-3: Layout Library Access

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 demolib.ddb DDB file of the current directory:

SettingsLeft Mouse Button (LMB)
Select LibraryLeft Mouse Button (LMB)
Library Name ('c:/baelib/stdsym.ddb') ?demolib Return/Enter Key (CR)

With the commands above, the library path is set to the demolib.ddb DDB file of the working directory, i.e., requested part symbols on subsequent load operations will be copied from demolib.ddb.

Placing Parts

The Add Part, Place Next Part and Place Parts functions from the Parts menu are used for placing parts. These functions work on the selected part set. Initially after loading a layout, all parts are selected, i.e., the system behaves as usual. The functions from the Part Set submenu can be used to restrict and/or redefine the set of parts selected for placement. The Place Next Part function issues a All parts have been placed already! message if all parts are already placed or a All selected parts have been placed! message if all selected parts are already placed, but there are still unselected parts which have not yet been placed. The part set selection popup window displays placed selected parts as [ name ], placed unselected parts as ( name ), unplaced selected parts as : name and unplaced unselected parts as < name >. See chapter 4.4.1 for more information on part set definitions.

The Add Part function is used to load and place parts on the current layout. On layout hierarchy level, the Add Part function activates a net list part name popup menu with the part name prompt. This popup menu displays placed net list parts in brackets ([, ]). Unplaced net list parts are preceded by a colon (:). When selecting or specifying an unplaced net list part name, this part is loaded for placement. Selecting an already placed net list part prompts for confirmation to replace the placed part. Entering an empty string to the part name prompt or selecting the Unplc. button loads the next unplaced net list part. This feature is also provided with the Place Next Part function and works until all net list parts (from the part set) are placed. The system prompts for the library element name when specifying a part name which is not defined in the net list (e.g., when placing a constructive part). Popup menus are provided with the library element name query for selecting the library file and the library element name. The library file name list is derived from the layout library path defined with the BAE setup, i.e., all DDB files available in the directory of the layout library path are listed. The Lib. button or > input to the library file name prompt selects the standard layout library defined through the Select Library function from the Settings menu. The Project button in the library file name popup selects the current project file. A library element name query is activated after selecting the library file. Library elements can optionally be selected by typing both the library file name (i.e., one of the names displayed with the library file name popup), a slash (/), and the library element name to the library element name prompt (typing ? for the element name activates a popup menu providing the list of library elements from the specified library file). An empty string input to the library element name query causes the system to use the library element previously selected with the Add Part function (if there was already one specified).

The net list part name selection popups are also provided with the Change Part Name and Netlist Part Name functions from the Parts menu. The library element name selection of the Add Part 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 IC10 and place it at coordinate [1.2",1.8"]:

PartsLeft Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?ic10 Return/Enter Key (CR)
Move to [1.2",1.8"]Left Mouse Button (LMB)

The Add Part function checks whether a part with the specified name exists in the net list. If the part is defined in the net list, then the system knows the package to be used for this part and automatically loads the corresponding part symbol (i.e., dil14 in the example above). The system issues an error message such as

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 the Select Library function from the Settings menu in to check whether the correct library is accessed.

Use the following commands to load and place two parts named hole1 and hole2 using the hole3mm package type which was created in chapter 4.2.3 in DDB file demo.ddb:

PartsLeft Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?hole1 Return/Enter Key (CR)
Library Element Name ?hole3mm Return/Enter Key (CR)
Move to [0.4",0.3"]Left Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?hole2 Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)
Move to [0.4",2.5"]Left Mouse Button (LMB)

The (constructive) parts hole1 and hole2 are not defined in the net list, i.e., the system does not know the corresponding package types. The Add Part function activates a library element name query with a popup menu providing access to all library files available through the predefined default library path. The Project button of this menu can be used for accessing the job-specific library of the currently processed DDB file. After selecting the library file, another popup menu with a list of all symbols available in the selected library file is activated. An empty string input (i.e., just pressing the return key Return/Enter Key (CR)) to the library element name query causes the system to use the part symbol loaded with the preceding Add Part call.

Use the following commands to load and place the plug named x1000:

PartsLeft Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?x1000 Return/Enter Key (CR)
Right Mouse Button (RMB)
Rotate LeftLeft Mouse Button (LMB)
Move to [2.4",1.0"]Left Mouse Button (LMB)

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:

PartsLeft Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ? Return/Enter Key (CR)
Right Mouse Button (RMB)
Mirror OnLeft Mouse Button (LMB)
Move to [1.8",1.4"]Left Mouse Button (LMB)

An empty string input (i.e., just pressing the return key Return/Enter Key (CR)) to the part name query causes the Add Part function to load the next unplaced net list part. In the example above, the system automatically loads the SMD capacitor named c100, which then is placed on solder side.

The facility for loading the next net list part (without knowing the corresponding part name) can also be activated with the Place Next Part function. Use this command to place the part named c101 as in

PartsLeft Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Mirror OnLeft Mouse Button (LMB)
Move to [1.4",1.4"]Left Mouse Button (LMB)

Use the following commands to place the relay part named k1, the resistor parts named r100, r101, r102, r103, r104, r105 and the switch named s1000:

PartsLeft Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [0.8",0.8"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [1.0",2.4"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [1.6",2.4"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Rotate LeftLeft Mouse Button (LMB)
Move to [1.6",1.2"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Rotate LeftLeft Mouse Button (LMB)
Move to [1.4",1.2"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [2.1",2.1"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [2.1",1.8"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Rotate RightLeft Mouse Button (LMB)
Move to [0.2",2.3"]Left Mouse Button (LMB)

The Set Default Angle function can be utilized for subsequently placing a series of parts at certain rotation angles and/or mirror modes (e.g., SMD parts). Use the following commands to set the standard placement rotation angle to 270 degrees and place the switches named s1001 through s1009:

PartsLeft Mouse Button (LMB)
Set Default AngleLeft Mouse Button (LMB)
270 Degrees LeftLeft Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [0.2",2.1"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [0.2",1.9"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [0.2",1.7"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [0.2",1.5"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [0.2",1.3"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [0.2",1.1"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [0.2",0.9"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [0.2",0.7"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [0.2",0.5"]Left Mouse Button (LMB)

Use the following commands to complete the placement, i.e., place part v1 (with absolute placement coordinates and 45 degree rotation angle) and part v1000:

PartsLeft Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Set AngleLeft Mouse Button (LMB)
Angle (Deg./(R)ad) ?-45 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump AbsoluteLeft Mouse Button (LMB)
Absolute X Coordinate (mm/") ?0.825" Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?1.225" Return/Enter Key (CR)
Place Next PartLeft Mouse Button (LMB)
Move to [1.2",1.6"]Left Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)

The Place Next Part function issues the

All parts have been placed already!

message once all net list parts are placed. I.e., the Place Next Part function 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.

Figure 4-4: Layout with Part Placement

Figure 4-4: Layout with Part Placement

Moving and Deleting Parts

The Move Part 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 Delete Part function is used to delete placed parts from the layout. You should test these functions on the currently loaded layout and use the Undo and Redo functions for estimating design modifications and returning to the original design stage as shown in figure 4-4.

Alternate Part Package Type Assignment

The Alternate Part option is provided with the 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 chapter 7.11) or can be defined through an SCM symbol $plname attribute value assignment such as [package1,package2,...]. An error message such as No alternate part macros defined! is issued if no alternate package types are defined for the currently processed part. An error message such as Connected pins missing! is issued if the pin definitions on the selected alternate package type do not match the net list, i.e., if net list pins are missing on the selected macro. Alternate part package type assignments create a backannotation request which triggers automatic Backannotation when loading SCM plans to the Schematic Editor (see chapter 2.7). Backannotation requests also prevent the Packager from forward annotation without confirmation (see chapter 3.2.3).

Mincon Function, Airlines Display

Unrouted net list connections are displayed as airlines. During part placement, the Mincon function performs dynamic (real-time) recalculation of these airlines to display minimum length airline sets. I.e., the Mincon 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 Mincon function and note how the Mincon function type affects the way airlines are displayed:

SettingsLeft Mouse Button (LMB)
Mincon FunctionLeft Mouse Button (LMB)
Corners HorizontalLeft Mouse Button (LMB)
Mincon FunctionLeft Mouse Button (LMB)
Pins VerticalLeft Mouse Button (LMB)
Mincon FunctionLeft Mouse Button (LMB)
Mincon OffLeft Mouse Button (LMB)
Mincon FunctionLeft Mouse Button (LMB)
Corners H+V SumLeft Mouse Button (LMB)

The Airlines Display function from the Parts menu is used to set the airline display mode to be applied during part movement. No Airlines switches off the airlines display during part movement. Static Airlines does not recalculate the nearest connection points during part movement. Dynamic Airlines dynamically recalculates the closest connection points (note how the airlines jump to the nearest pins or copper corners during part movement). Dynamic Airlines is the default Airlines Display option.

The Net Visible and Net Invisible Mincon options allow for a net-specific airline display, i.e., it is possible to fade-out (Net Invisible) and/or fade-in (Net Visible) 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.

The All Nets Visible Mincon option forces the graphical display of all airlines, whilst All Nets Invisible fades out all airlines.

The context menu which is available through the right mouse button during part placement provides the All Nets and Part Nets 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 the Grids/Rotation and Set Input Grid functions from the View menu) and to set the coordinate display mode to inch (use function Coordinate Display from the Settings menu).

Placing Text

Use the following commands to place the DEMO text string adjacent to the right top of the board outline with a text size of 4mm on the Insertion Plan (Side 2) documentary layer:

Text, DrillLeft Mouse Button (LMB)
Add TextLeft Mouse Button (LMB)
Document LayerLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Text ?DEMO Return/Enter Key (CR)
Right Mouse Button (RMB)
Set AngleLeft Mouse Button (LMB)
Angle (Deg./(R)ad.) ?-45 Return/Enter Key (CR)
Right Mouse Button (RMB)
Text SizeLeft Mouse Button (LMB)
Text Size ( 2.54mm) ?4 Return/Enter Key (CR)
Move to [2.4",2.6"]Left Mouse Button (LMB)

Use the following commands to place the Component Side text string with text size 2.54mm on the PCB component side signal layer (Top Layer, Layer n (Parts.)):

Text, DrillLeft Mouse Button (LMB)
Add TextLeft Mouse Button (LMB)
Layer n (Parts.)Left Mouse Button (LMB)
Text ?Component Side Return/Enter Key (CR)
Right Mouse Button (RMB)
Text SizeLeft Mouse Button (LMB)
Text Size ( 4.00mm) ?2.54 Return/Enter Key (CR)
Move to [1.00",2.55"]Left Mouse Button (LMB)

The Text Size function which can be activated whilst placing texts sets the default text size for subsequent calls to the Add Text function. Use the following commands to place a rotated and mirrored text with string Solder Side on the PCB solder side (signal layer 1):

Text, DrillLeft Mouse Button (LMB)
Add TextLeft Mouse Button (LMB)
Layer 1Left Mouse Button (LMB)
Text ?Solder Side Return/Enter Key (CR)
Right Mouse Button (RMB)
Set AngleLeft Mouse Button (LMB)
Angle (Deg./(R)ad.) ?180 Return/Enter Key (CR)
Right Mouse Button (RMB)
Mirror OnLeft Mouse Button (LMB)
Move to [1.80",2.55"]Left Mouse Button (LMB)

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

The Move Name function from the Text and/or Parts menu is used to move part names. Use the following commands to move the names of the SMD resistors named r104 and r105 on top of the parts:

Text, DrillLeft Mouse Button (LMB)
Move NameLeft Mouse Button (LMB)
Move to "r104",[2.1",2.1"]Left Mouse Button (LMB)
Move to [2.1",2.15"]Left Mouse Button (LMB)
Move NameLeft Mouse Button (LMB)
Move to "r105",[2.1",1.8"]Left Mouse Button (LMB)
Move to [2.1",1.85"]Left Mouse Button (LMB)

The Move Attribute function from the Parts and/or Text menu can be used for moving and/or placing selectable part attributes. Attribute text offsets defined through Move Attribute override the global text offset set with Move Name. The attribute to be moved is selected through a mouse-click on the attribute text. Since part names are internally stored as $ attributes, the Move Attribute function can also be used to move part names without changing the placement of other part attributes.

Part names and part attribute texts of group-selected parts can be reset to their library-defined default positions using the Part Texts Reset function implemented with the gedgroup User Language program.

Measuring

The Layout Editor automatically activates a measuring function when placing new text with string #. This function determines the distance between the two input coordinates subsequently to be specified. The resulting text string emerges from the corresponding distance value; the length units (inch or mm) result from the current coordinate display mode selected with the Coordinate Display Settings menu function. Use the following commands to apply measuring on the bottom right board outline edge and place the resulting distance value (2.2") on the Insertion Plan (Side 2) documentary layer:

Text, DrillLeft Mouse Button (LMB)
Add TextLeft Mouse Button (LMB)
Document LayerLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Text ?# Return/Enter Key (CR)
Move to Left Coordinate,[0.6",0.3"]Left Mouse Button (LMB)
Move to Right Coordinate,[2.8",0.3"]Left Mouse Button (LMB)
Move to [1.50",0.15"]Left Mouse Button (LMB)

Documentary Lines, Documentary Areas

Use the following commands to create a documentary line and two arrow-shaped documentary areas on the Insertion Plan (Side 2) documentary layer to indicate the previously defined measuring:

AreasLeft Mouse Button (LMB)
Add Document LineLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Move to [0.6",0.15"]Left Mouse Button (LMB)
Move to [0.8",0.15"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)
Add Document AreaLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Move to [0.6",0.15"]Left Mouse Button (LMB)
Move to [0.65",0.2"]Left Mouse Button (LMB)
Move to [0.65",0.1"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)
Add Document AreaLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Move to [2.8",0.15"]Left Mouse Button (LMB)
Move to [2.75",0.2"]Left Mouse Button (LMB)
Move to [2.75",0.1"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Passive Copper Areas

Use the following commands to create a circle-shaped passive copper area on signal layer 2:

AreasLeft Mouse Button (LMB)
Add Passive CopperLeft Mouse Button (LMB)
Layer 2Left Mouse Button (LMB)
Move to [0.95",1.6"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
Arc LeftLeft Mouse Button (LMB)
Move to [0.8",1.6"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Active Copper Areas

Use the following commands to create an active copper area on signal layer 1 and assign this copper area to net Vdd:

AreasLeft Mouse Button (LMB)
Add Active CopperLeft Mouse Button (LMB)
Net Name ?vdd Return/Enter Key (CR)
Layer 1Left Mouse Button (LMB)
Move to [2.4",1.7"]Left Mouse Button (LMB)
Move to [2.7",1.7"]Left Mouse Button (LMB)
Move to [2.7",2.2"]Left Mouse Button (LMB)
Move to [2.6",2.3"]Left Mouse Button (LMB)
Move to [2.4",2.3"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Keepout Areas

Use the following commands to define a keepout area on signal layer 1 and a keepout area on signal layer All Layers (keepout areas define layer-specific regions on the PCB where no traces, no copper areas, no texts, etc. are allowed to be placed):

AreasLeft Mouse Button (LMB)
Add Keep Out AreaLeft Mouse Button (LMB)
Layer 1Left Mouse Button (LMB)
Move to [1.8",1.2"]Left Mouse Button (LMB)
Move to [2.2",1.2"]Left Mouse Button (LMB)
Move to [2.2",0.9"]Left Mouse Button (LMB)
Move to [1.7",0.9"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)
Add Keep Out AreaLeft Mouse Button (LMB)
All LayersLeft Mouse Button (LMB)
Move to [0.6",2.6"]Left Mouse Button (LMB)
Move to [0.6",2.1"]Left Mouse Button (LMB)
Move to [0.9",2.1"]Left Mouse Button (LMB)
Move to [0.9",2.6"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)
 

4.3.4 Traces, Routing

The Traces 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 Autorouter from rerouting such nets.

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 the View functions for selecting a smaller input grid (or even release the grid lock).

The middle mouse button can be used to activate the View menu 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.

The View menu also provides the Set Edit Layer 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.

Highlight Net

The Highlight Net function from the Layout Editor Traces 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 Highlight Net 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 Highlight Net function. Advanced color support and highlight reset facilities are provided through the Highlight Net (default mode), Color Nets (with highlight color selection) and Reset All (for clearing all nethighlight) options of the Highlight Net function.

In BAE HighEnd, the Highlight Net 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

The 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 estk padstack symbol to the currently active via list:

PartsLeft Mouse Button (LMB)
Select ViaLeft Mouse Button (LMB)
New/Delete: Via Name ?estk Return/Enter Key (CR)
New/Delete: Via Name ? Return/Enter Key (CR)

The estk padstack symbol is used as pin symbol on the already placed part v1000 (package type d04a25). I.e., estk is available in the current job file. A series of via padstack definitions are provided with the layout libraries shipped with the BAE software. Usually the padstack symbol named via can be used as standard via. The via assignments introduced with Select Via are stored with the layout element. The Add Trace function issues the following error message if no via is selected:

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 the Set Trace Width function from the Settings menu, where the options Set Thin Default (default value 0.3mm) and Set Wide Default (default value 1.0mm) are provided. The routing of a new trace always starts with the thin default track width.

Manual Routing

Use the following commands to route from pin A1 of part K1 to pin C1 of the same part (both pins are connected to net Vdd):

TracesLeft Mouse Button (LMB)
Add TraceLeft Mouse Button (LMB)
Move to "K1.A1",[0.8",0.8"]Left Mouse Button (LMB)
Move to Corner Point,[0.8",0.95"]Left Mouse Button (LMB)
Move to Corner Point,[1.6",0.95"]Left Mouse Button (LMB)
Move to "K1.C1",[1.6",0.8"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Each trace corner point is set by pressing the left mouse button. The routing of a trace path is completed with the Done option from the submenu available with the right mouse button. This submenu is also available during trace editing with functions such as Insert Corner or Move Segment 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 C2 and C1 of part K1 with a trace segment on signal layer 2:

TracesLeft Mouse Button (LMB)
Add TraceLeft Mouse Button (LMB)
Move to "K1.C2",[1.6",0.5"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
Layer 2Left Mouse Button (LMB)
Move to "K1.C1",[1.6",0.8"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Use the following commands to create a trace segment on signal layer 1 starting at pin 9 of the plug named X1000 and ending with a via to connect to the previously generated trace:

TracesLeft Mouse Button (LMB)
Add TraceLeft Mouse Button (LMB)
Move to "X1000.9",[2.45",0.85"]Left Mouse Button (LMB)
Move to Corner Point,[2.45",0.65"]Left Mouse Button (LMB)
Move to Vertical Trace Segment,[1.6",0.65"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
Layer 2Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Use the following commands to deselect estk from the via list, select the padstack symbol via (which has been created in chapter 4.2.2 in the demo.ddb DDB file) to the via list, and then route a trace on signal layer 2 starting at pin K of the diode named V1000 and ending with a via connecting to the horizontal trace between the pins A1 and C1 of part K1:

PartsLeft Mouse Button (LMB)
Select ViaLeft Mouse Button (LMB)
New/Delete: Via Name ?estk Return/Enter Key (CR)
Please confirm (Y/N) ?y Return/Enter Key (CR)
New/Delete: Via Name ?via Return/Enter Key (CR)
New/Delete: Via Name ? Return/Enter Key (CR)
Middle Mouse Button (MMB)
Set Edit LayerLeft Mouse Button (LMB)
Layer 2Left Mouse Button (LMB)
TracesLeft Mouse Button (LMB)
Add TraceLeft Mouse Button (LMB)
Move to "V1000.K",[1.2",1.6"]Left Mouse Button (LMB)
Move to Corner Point,[1.1",1.6"]Left Mouse Button (LMB)
Move to Horizontal Trace Segment,[1.1",0.95"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
Layer 1Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

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 Move without Neighbour, Move with Neighbour and Adjust neighbours options provided with the submenu of the Move Segment function. The Move without Neighbour default mode just moves the corner points of the processed trace segment, whilst the Move with Neighbour mode also rearranges adjacent trace segments in order to keep the angles between the processed trace and the adjacent segments constant. Adjust neighbours 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 Move w.out neighb. option is applied if neighbouring segments cannot be rearranged. Use the Undo and Redo functions to estimate design modifications and return to the original design stage.

Fixing Traces

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 Vdd:

TracesLeft Mouse Button (LMB)
Fix Trace/NetLeft Mouse Button (LMB)
NetLeft Mouse Button (LMB)
Move to Signal/Net "Vdd",e.g.[2.0",0.65"]Left Mouse Button (LMB)
Right Mouse Button (RMB)

The Unfix Trace/Net function is used to release fixed traces or nets. During fix and release operations the Layout Editor provides a specific highlight for indicating currently fixed elements.

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.

 

4.4 Autoplacement

The BAE layout system is equipped with powerful Autoplacement functions. The part set functions are used for selecting and/or deselecting parts for subsequent placement operations. The matrix placement facilities are used for placing selectable part sets onto definable placement grids. Initial placement functions are provided for performing fully automated part placement. The system also provides placement optimization functions for automatic part and pin/gate swap.

The Autoplacement functions are available from the Part Set, Auto Placement and Matrix Placement submenus of the Layout Editor Parts menu.

Start the Layout Editor if it is not yet active and load the layout board from the demo.ddb DDB file.

Use the Delete Part function from the Parts menu to delete the resistors named r100 and r101, and apply group functions to delete the switches named s1000 through s1009:

PartsLeft Mouse Button (LMB)
Delete PartLeft Mouse Button (LMB)
Move to "r100",[1.0",2.4"]Left Mouse Button (LMB)
Delete PartLeft Mouse Button (LMB)
Move to "r101",[1.6",2.4"]Left Mouse Button (LMB)
GroupsLeft Mouse Button (LMB)
Group PolygonLeft Mouse Button (LMB)
PartsLeft Mouse Button (LMB)
SelectLeft Mouse Button (LMB)
Move to [0.1",0.4"]Left Mouse Button (LMB)
Move to [0.6",0.4"]Left Mouse Button (LMB)
Move to [0.6",2.4"]Left Mouse Button (LMB)
Move to [0.1",2.4"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)
Delete GroupLeft Mouse Button (LMB)

Autoplacement features and functions are used throughout the following sections to place the deleted parts back onto the layout.

 

4.4.1 Part Set

The Part Set submenu provides features for selecting the parts to be subsequently placed. Parts can be selected and/or deselected according to set principles either by specifying part names (c1, r2, ic15, etc.) or by specifying package types (dil14, so20, plcc44, etc.), where wildcards are also permitted. The user can also select parts from certain blocks of a hierarchical circuit design. With the Part Set functions the user is able to control the placement process in a way that e.g., first the plug(s) can be placed, then the DIL packages, then the capacitors, etc.

Use the following commands to deselect all unplaced parts:

PartsLeft Mouse Button (LMB)
Part SetLeft Mouse Button (LMB)
AllLeft Mouse Button (LMB)
DeselectLeft Mouse Button (LMB)
Deselect all parts ?j Return/Enter Key (CR)
AbortLeft Mouse Button (LMB)

Now you might want to use the List Parts command to have a look at the part list:

PartsLeft Mouse Button (LMB)
Part SetLeft Mouse Button (LMB)
List PartsLeft Mouse Button (LMB)

The List Parts function provides verbose output of all net list parts:

File : demo.ddb  Layout : board  Parts : 23

: c100 chip1210 P : c101 chip1206 P : ic10 dil14 P : k1 relais P : r100 r04a25 U : r101 r04a25 U : r102 r04a25 P : r103 r04a25 P : r104 minimelf P : r105 chip1206 P : s1000 s1dilo U : s1001 s1dilo U : s1002 s1dilo U : s1003 s1dilo U : s1004 s1dilo U : s1005 s1dilo U : s1006 s1dilo U : s1007 s1dilo U : s1008 s1dilo U : s1009 s1dilo U : v1 to92 P : v1000 d04a25 P : x1000 xsubd9bl P - End -

Each part is listed with part name, library name and placement status, respectively. The placement status is indicated using either of the characters U, P or S. U indicates that the part is neither placed nor selected for placement. P indicates that the part is already placed on the layout. S indicates that the part is not yet placed but selected for subsequent placement operations. Press X and the return key Return/Enter Key (CR) to exit from the parts list.

Use the following commands to select all unplaced parts with part names starting with an r:

PartsLeft Mouse Button (LMB)
Part SetLeft Mouse Button (LMB)
Part(s)Left Mouse Button (LMB)
SelectLeft Mouse Button (LMB)
Part Name ?r* Return/Enter Key (CR)
Part Name ? Return/Enter Key (CR)

The Select and Deselect part set selection options from the Part(s) function also provide a popup menu for part selections. With the Select option, the popup menu only displays unselected parts, whilst with the Deselect option, only selected parts are displayed. A part name pattern can be entered for part set selections.

The above commands selected the two resistors r100 and r101 for subsequent placement operations. You can check this with the List Parts function (see placement status S for these two parts).

The All function can be used to select all unplaced parts for placement. The Macro(s) function can be used to select parts with library names (such as so16 for all unplaced 16 pin small outline package types or dil* for all unplaced dual-in-line package types). The Deselect option can be used to deselect parts from the set of parts to be subsequently placed.

The List Blocks and Block functions from the Part Set menu can be used for selecting and/or deselecting parts which are defined in certain blocks of a hierarchical circuit design. I.e., parts are selected or deselected through block names. Part block names are automatically transferred and stored by the Packager utilizing the internal $blkname part attribute.

It has already been mentioned that the Add Part and Place Next Part functions work on the part set (see section Placing Parts in chapter 4.3.2). Use the following commands to set the coordinate display mode to inch, and place all parts of the currently defined part set (i.e., the two resistors named r100 and r101):

SettingsLeft Mouse Button (LMB)
Coordinate DisplayLeft Mouse Button (LMB)
Display InchLeft Mouse Button (LMB)
PartsLeft Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [1.0",2.4"]Left Mouse Button (LMB)
PartLeft Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)
Move to [1.6",2.4"]Left Mouse Button (LMB)
PartsLeft Mouse Button (LMB)
Place Next PartLeft Mouse Button (LMB)

The Place Next Part function issues the

All selected parts have been placed already!

message if no more part is selected for subsequent placement operations anymore (i.e., all parts of the previously defined part set are already placed).

 

4.4.2 Matrix Placement

Matrix placement is a special initial placement process for automatically placing selected parts on certain matrix-defined insertion positions.

Use the following commands to select all parts with library name s1dilo (i.e., the switches named s1000 through s1009) for subsequent placement operations:

PartsLeft Mouse Button (LMB)
Part SetLeft Mouse Button (LMB)
Select MacroLeft Mouse Button (LMB)
SelectLeft Mouse Button (LMB)
Library Element Name ?s1dilo Return/Enter Key (CR)
Library Element Name ? Return/Enter Key (CR)

Set the default placement rotation angle to 270 degree (without mirroring (the Default Angle option is probably located in the Parts group of the Settings dialog from the Settings menu when working with customized BAE user interfaces):

PartsLeft Mouse Button (LMB)
Default AngleLeft Mouse Button (LMB)
270 Degrees LeftLeft Mouse Button (LMB)

Use the following commands to define a placement matrix, place all selected parts onto this matrix and delete the placement matrix definition again:

PartsLeft Mouse Button (LMB)
Matrix PlacementLeft Mouse Button (LMB)
Define MatrixLeft Mouse Button (LMB)
Move to Matrix Origin,[0.2",2.3"]Left Mouse Button (LMB)
Move to Matrix Element Size Designation,[0.3",2.1"]Left Mouse Button (LMB)
Move to Matrix Size Designation,[0.2",0.5"]Left Mouse Button (LMB)
Place MatrixLeft Mouse Button (LMB)
Delete MatrixLeft Mouse Button (LMB)

The Place Matrix function automatically places all parts of the currently defined part set onto the placement matrix, also considering the current default placement rotation angle and mirror mode settings.

Now all net list parts are placed. You might want to check this with the List Parts function.

 

4.4.3 Initial Placement

The system provides full automatic initial placement algorithms. The initial placement functions automatically place all unplaced net list parts inside the board outline onto the currently selected input (placement) grid, considering pre-placed parts (connectors, LEDs, etc.), keepout areas and net list preferences, and also featuring automatic block capacitor and SMD device recognition. Automatic SMD part mirroring can optionally be enabled to allow SMD placement on the solder side. Either unrestricted or restricted automatic part rotation in 90 degree steps can be applied; restricted part rotation can be used to simplify subsequent insertion processes. A generally applicable part expansion value can optionally be defined to ensure minimum clearance between adjacent parts. The placement algorithms are guarded by adjustable strategy parameters for net list preference control and for the consideration of part segment matching/fitting. Rip-up and retry passes are automatically applied during the placement process to optimize board area yield.

The initial placement routines are integrated to the Auto Placement submenu which provides the following functions:

PartsLeft Mouse Button (LMB)
Auto PlacementLeft Mouse Button (LMB)
Full Autoplacer
Cluster Placer
Area Placer
Single Pass Optimizer
Multi Pass Optimizer
Part Pin Factor
Segment Fit
Mirroring Mode
Rotation Mode
Part Expansion
Number of Retries
Number of Passes
P/G Swap Method

The Full Autoplacer, Cluster Placer and Area Placer function can be used to perform automatic part placement. Only the parts from the current part set (see chapter 4.4.1) are placed. Placed parts which are not selected to the current part set are treated like fixed parts. This feature allows for automatic placement of selectable part groups.

The first part selected for placement will be positioned at the placement start point. The Full Autoplacer function automatically designates the placement start point. The Cluster Placer and Area Placer functions prompt the user for the placement start point (prompt Select placement start point!). The placement of the first part determines the placement of subsequent parts. I.e., the selected placement start point position has crucial meaning for the complete placement process (with regard to 100% completion success and/or the quality of the achieved placement). If the first part cannot be placed at the placement start point, then no subsequent part can be placed either. If the placement start point is selected outside the board outline, then no part can be placed at all. If no board outline is defined then there are no restrictions on selecting the placement start point, however parts could then be placed even outside the boundaries of the currently loaded layout element.

After starting an initial placement function the placement progress is indicated in the status line by a progress message such as Pass : 1/1 Part : <p>/<n>. The autoplacement process can be stopped by keystroke. Each autoplacement stop request is verified with user confirmation and will be denoted by a message such as Autoplace aborted!. Note that there might be a short delay on stop requests since any currently active autoplacer rip-up and retry pass must be completed.

A message such as Operation completed without errors. is issued after completing an initial placement function to indicate that all parts have been successfully placed. If the autoplacer fails to complete 100% part placement using the current parameter settings, then a message such as <n> parts could not be placed! is issued, denoting the number <n> of yet unplaced parts. On incomplete initial placement it is recommended to change placement parameters (use smaller placement grid, reduce part expansion, use unrestricted part rotation, allow SMD mirroring; see below on how to set placement parameters) and restart the autoplacer (after Undo and/or selecting a different placement start point) to achieve 100% part placement.

Full Autoplacer

The Full Autoplacer function performs cluster placement (see below) with automatic placement start point selection and subsequently applies multi-pass placement optimization (see chapter 4.4.4 below) using the currently selected placement optimization parameters (number of passes and the pin/gate swap method). The placement start point results from the board outline gravity point. No part can be placed using the Full Autoplacer function, if the board outline gravity point is outside the board outline (e.g., on L-shaped PCBs) then ; in this case either Cluster Placer or Area Placer must be used instead of Full Autoplacer.

If no board outline is defined, then the placement start point results from the absolute origin of the currently loaded layout element. In this case it is recommended to zoom to overview after completing the placement process since parts can be placed beyond the currently defined and/or visible layout element boundaries.

Cluster Placer

After activating the Cluster Placer function the user is expected to select the placement start point interactively. The first part selected for placement is positioned at the placement start point.

The Cluster Placer function analyzes the net list to classify the nets and parts contained in the net list. Parts are grouped to clusters, and these clusters are subsequently placed on the layout with respect to pre-calculated cluster-dependent placement priorities. Each cluster is grouped by selecting a multi-pin part and a series of connected parts with less than four pins. Parts which are connected to power signals only (such as block capacitors) are postponed during cluster generation and will be assigned to clusters with corresponding power connections afterwards. This method of cluster building automatically involves block capacitor recognition, thus featuring appropriate block capacitor placement nearby corresponding ICs. Parts and/or part clusters are assigned and/or processed due to alphabetical part name order. It is recommended to introduce part type grouping by choosing appropriate type-specific part name patterns, i.e., to insert connectors at the end of the part name list to avoid block capacitor assignment to connectors and/or plugs (e.g., by using name pattern x??? for connectors and/or plugs, ic??? for integrated circuits, etc.).

Area Placer

The Area Placer function performs area placement with interactively selectable placement start point. Area placement does not consider any net list preferences, i.e., only part dimensions are considered as placement criteria. The Area Placer function can be used to estimate part placement area requirements, i.e., to check whether the board area is large enough to place all parts.

Part Pin Factor

The part pin factor is used to control the sequence of parts and/or clusters to be placed. The next part to be placed is selected by applying a combination of two strategies. The first strategy simply selects the part with the maximum number of pins connected to already placed parts. The second strategy selects the part with the maximum ratio of number of part pins connected to already placed parts to total part pin count. The part pin factor value designates which strategy has higher priority. Use the

PartsLeft Mouse Button (LMB)
Auto PlacementLeft Mouse Button (LMB)
SettingsLeft Mouse Button (LMB)
Part Pin FactorLeft Mouse Button (LMB)
Pin Count Weight [0.0,1.0] (0.90) ?

function to set the desired part pin factor value in the range 0.0 (for considering connection counts only) to 1.0 (for considering connection count to total pin count ratios only). On default the part pin factor value is set to 0.9. A high part pin factor value usually results in a better distribution of nets, but could cause excessive placement area fragmentation on high-density layouts by early placement of small parts, which might prevent from placing larger parts afterwards.

Segment Fit

The segment fit value is used to control on how much part edge length matching should be considered by the placement algorithm, i.e., whether preference should be given on placing parts with equal edge lengths side by side. Use the

PartsLeft Mouse Button (LMB)
Auto PlacementLeft Mouse Button (LMB)
SettingsLeft Mouse Button (LMB)
Segment FitLeft Mouse Button (LMB)
Segment Fit [0.0,1.0] (0.10) ?

function to set the weight factor for considering part edge length matching. Valid segment fit values are in the range 0.0 (no segment fit preference) to 1.0 (high segment fit preference). On default the segment fit value is set to 0.1. High segment fit values usually result in better looking layouts, and can increase the routability of layouts with many bus connections. Better routability of high-density layouts with a "random" connection distribution however can be achieved using smaller segment fit values.

Mirroring Mode

The part mirroring mode has effect on the placement of SMD parts only. With the No SMD Mirroring default option, SMD parts can only be placed on the PCB part side. SMD Mirroring is used to allow unrestricted placement of SMD parts on both the part side and the solder side. The SMD 2 Pin Mirroring option restricts automatic part mirroring to 2-pin SMDs only, thus allowing for solder side placement of small parts such as block capacitors whilst placement of SMDs with more than 2 pins is forced onto the PCB part side. Use the

PartsLeft Mouse Button (LMB)
Auto PlacementLeft Mouse Button (LMB)
SettingsLeft Mouse Button (LMB)
Mirroring ModeLeft Mouse Button (LMB)
No SMD Mirroring
SMD Mirroring
SMD 2 Pin Mirroring

function to select the desired SMD mirroring option.

Rotation Mode

The part rotation mode is used to apply either unrestricted or restricted automatic part rotation in 90 degree steps. With the 0-270 Degree Rotation default option all parts can be placed at arbitrary 90 degree rotation steps. Option 0-90 Degree Rotation can be used to restrict part rotation, i.e., to allow no rotation or 90 degree left rotation only. Restricted part rotation can be used to simplify subsequent insertion processes which will also result in a reduction of CPU time required by the placement algorithms. Use the

PartsLeft Mouse Button (LMB)
Auto PlacementLeft Mouse Button (LMB)
SettingsLeft Mouse Button (LMB)
Rotation ModeLeft Mouse Button (LMB)
0- 90 Deg. Rot.
0-270 Deg. Rot.

function to select the desired part rotation mode.

Part Size, Part Expansion, Block Capacitors, Placement Grid

The parts are placed onto the currently selected input grid (to be set using the Input Grid function from the View menu). The placement area required for each part (i.e., the part size) emerges from the element boundaries of the corresponding part macro. This should be taken into consideration at the definition of element boundaries when creating part macro symbols. It is recommended to refrain from defining unnecessarily large part macro element boundaries to avoid redundant placement area occupancy.

A generally applicable part expansion value can optionally be defined in order to ensure minimum clearance between adjacent parts (on low-density layouts). Use the

PartsLeft Mouse Button (LMB)
Auto PlacementLeft Mouse Button (LMB)
SettingsLeft Mouse Button (LMB)
Part ExpansionLeft Mouse Button (LMB)
Expansion Value ( 0.00mm) ?

function to set the desired part expansion value. On default the part expansion value is set to 0.0mm (i.e., no part expansion is applied). Note that the specified part expansion value with no regard to different part macro type dimensions is equally applied on each part macro type except for block capacitors. Block capacitors are automatically recognized and will be placed as close as possible to the ICs to be supplied. The Full Autoplacer preferably places block capacitors either on top or on the right-hand side of the integrated circuits, according to the ICs orientation.

The Full Autoplacer features a function for automatically reducing part expansion settings by 25 percent steps until either complete placement is achieved or part expansion is reduced to zero.

Rip-up and Retry Passes

The initial placement algorithms are designed to consider only connections to/between already placed parts. Intermediate placement results might show up with alternate positions to be more optimum for a series of previously autoplaced parts. For this reason, rip-up and retry passes are activated for replacing already placed parts in order to find a more optimum placement. Note that preplaced unfixed parts are also processed by the rip-up and retry passes. It is strongly recommended to fix those preplaced parts which must not be replaced. Parts can be fixed using Layout Editor group functions. Use the

PartsLeft Mouse Button (LMB)
Auto PlacementLeft Mouse Button (LMB)
SettingsLeft Mouse Button (LMB)
Number of RetriesLeft Mouse Button (LMB)
Number of Retries [0,9] ( 2) ?

function to specify the number of retry passes to be applied during the autoplacement process. Two retry passes are used on default; i.e., one rip-up and retry pass is applied after placing half of the unplaced parts and one rip-up and retry pass is applied at the end of the autoplacement process. It is recommended to refrain from specifying too many retry passes since this not only increases CPU time requirements but also can result in a deterioration of intermediate placement results since small parts such as block capacitors might not be correctly replaced with their clusters.

 

4.4.4 Placement Optimization

The placement optimization features of the BAE layout system include functions for automatic part and pin/gate swap. The part swap facility mutually exchanges identical components at their insertion position in order to minimize unroutes lengths. The pin/gate swap facility analogously performs an iterative exchange of gates and/or pins and pin groups, where gates or groups can also be swapped between different parts. The admissibility of pin/gate swaps is fairly controlled with appropriate library definitions. Either single pass or multi pass optimization can be applied. Different swap methods can be selected through the P/G Swap Method function, with the default Both Swap Methods option to perform both component and pin/gate swap, Only Part Swap to switch off pin/gate swap and Only Pin/Gate Swap to switch off component swap. Applying placement optimization usually causes a significant simplification of the routing problem, thus considerably reducing runtime at the subsequent Autorouting process.

Use the following commands to perform a triple-pass placement optimization with both component and pin/gate swaps:

PartsLeft Mouse Button (LMB)
Auto PlacementLeft Mouse Button (LMB)
SettingsLeft Mouse Button (LMB)
Number of PassesLeft Mouse Button (LMB)
Number of Passes : 2 (1..99) ?3 Return/Enter Key (CR)
Multi Pass OptimizerLeft Mouse Button (LMB)

During optimization a status line message instantly reports the number of parts processed by the current optimizer pass. Placement optimization can be interrupted at any time by pressing an arbitrary key on the keyboard.

Wait until all optimizer passes are completed and use the Undo function to estimate how placement optimization did change the complexity of the "ratsnest" (unroutes).

Fixed parts are excluded from placement optimization. It is strongly recommended to fix critical parts before running the placement optimization. Critical parts are those which must not be replaced (e.g., plugs, switches, LEDs, etc.) or where pin/gate swaps are not allowed (e.g., relays, multi-opamps, etc.). Parts can be fixed using Layout Editor group functions. Please note that automatic pin/gate swap should only be performed if all of the swap definitions stored with the logical library are permitted. Select the Only Part Swap option from the P/G Swap Method function to switch off automatic pin/gate swap if you are in doubt about the correctness of swap definitions. Consider please that usually no pin/gate swap is allowed for plugs. Swaps for parts with special attribute values (e.g., resistor networks with attribute $val must be defined internal to prevent the system from swapping gates between parts with different values. See chapter 7.11 of this manual for a description of the loglib utility program and how to introduce pin/gate swap definitions to the logical library.

 

4.5 Autorouter

With real jobs you should make sure that all of the required power layers are defined (use the Set Power Layers function from the Layout Editor Settings menu), the top signal layer setting is correct (use the Set Top Layer function from the Layout Editor Settings menu) and pre-routed critical traces such as power supply are fixed, before starting the autorouting process. After finishing the autorouting, you should always run a Batch DRC from the Layout Editor before generating manufacturing data with the CAM Processor.

The user interface of the Bartels Autorouter is similar to the one of the Layout Editor. The Bartels Autorouter provides standard autorouting functions (full and initial routing, rip-up and retry routing, optimizer) and a series of enhanced placement and routing features such as automatic pre-placement with placement optimization, single net routing, net-group routing, component routing, area and/or block routing, mixed-grid routing, selective component and pin/gate swap during rip-up routing, etc. The Autorouter version provided with the BAE HighEnd system provides powerful autorouting technologies based on patented neural network technology. The BAE HighEnd Autorouter supports skilled analogue signal routing, automatic microwave structure generation, grid-less object-orientated routing with automatic placement optimization, etc. The BAE HighEnd Autorouter also provides features for routing problem recognition and/or classification and for learning and automatically applying problem-adapted routing strategies and/or rules.

 

4.5.1 Starting the Autorouter

The Autorouter function from the Layout Editor File menu is used to start the Autorouter. After activating this function, the system automatically saves the currently loaded layout and the Autorouter program module starts. The Autorouter automatically re-loads any previously loaded layout. The layout requires a board outline definition (to be defined with the Add Board Outline function from the Layout Editor Areas menu) and a valid via assignment list (use function Select Via from the Layout Editor Parts menu). Before starting any autorouter procedure, all net list parts must be placed with correct package types inside the board outline (no part or pin neither any pre-routed trace or via can be placed outside the board outline).

The following error messages might be issued when activating an Autorouter procedure:

Board outline not defined!
Cause:PCB board outline definition is missing
Fix:Layout Editor - Areas - Add Board Outline - ...
Default via not defined!
Cause:no via assignment
Fix:Layout Editor - Parts - Select Via(s) - ...
Parts not found or of different type!
Cause:not all net list parts are placed on the layout or there are net list parts placed with wrong package types
Fix:use Layout Editor - Parts - Delete Update to remove net list parts with wrong package types; then use manual or interactive placement functions to complete the part placement
Pin out of border (<partname>) !
Cause:net list part(s) and/or net list part pin(s) placed outside board outline
Fix:correct part placement
Via out of border!
Cause:pre-placed, fixed via(s) placed outside board outline
Fix:unfix and/or delete via(s) outside board outline
Trace out of border!
Cause:pre-routed, fixed trace(s) placed outside board outline
Fix:unfix and/or delete trace(s) outside board outline
Invalid via padstack (cannot use it)!
Cause:via list contains invalid via definition(s)
Fix:correct via definition(s); there must be at least one via for connecting all signal layers, and each via must contain a drill hole and pads for at least two adjacent signal layers
Double defined padstack!
Cause:layout contains ambiguous library part definition(s) such as part(s) with more than one padstack placed at the same pin position
Fix:correct library part definition(s)
Double defined pad!
Cause:layout contains ambiguous library pad and/or padstack definition(s) such as pad(s) with more than one copper/connection area or padstack(s) with more than one pad placed on same layer
Fix:correct library pad and/or padstack definition(s)

Other error messages might be issued if the layout contains short circuits caused by pre-routed fixed traces.

 

4.5.2 Autorouter Main Menu

The Autorouter standard/sidmenu user interface provides a menu area on the right side, consisting of the main menu on top and the currently active menu below that main menu. After entering the Autorouter the menu cursor points to the Load Element function.

The Windows and Motif versions of the Autorouter can optionally be operated with a pull-down menu user interface providing a horizontally arranged main menu bar on top. The WINMENUMODE command of the bsetup utility program is used to switch between SIDEMENU and PULLDOWN Windows/Motif menu configurations (see chapter 7.2 for more details).

The following main menu is always available whilst processing layouts with the Autorouter:

Undo, Redo
Display
Preplacement
Autorouter
Interaction
Options
Control
Strategy
Parameter
Utilities

The functions provided with the Undo, Redo menu allow to use the Autorouter without fear of causing damage. Up to twenty commands can be reversed or undone using Undo and then reprocessed with Redo. This is true even for complex processing such as complete autorouting passes or User Language program execution. Undo, Redo ensures data security and provides a powerful feature for estimating design alternatives.

The View or Display menu can either be activated by selecting the corresponding main menu item or by pressing the middle mouse button. Activation through the middle mouse button is even possible whilst performing a graphical manipulation such as selecting a net or component for routing. The View or Display menu provides useful functions for changing display options such as zoom window, zoom scale, input and/or display grids, grid and/or angle lock, color settings, etc.

The Preplacement menu of the Autorouter is equal to the Autoplacement menu of the Layout Editor (see chapters 4.4.3 and 4.4.4). The Autorouter provides the same initial placement and placement optimization functions as already known from the Layout Editor, allowing for initial placement and placement optimization to be applied in the Autorouter without having to go back to the Layout Editor.

The Autorouter menu provides the functions for activating autorouting procedures such as Full Autorouter, Optimizer, Load Layout, Batch Setup and Batch Start. The Batch Start function is used to run a series of router passes previously defined with the Batch Setup function.

The Interaction menu provides the functions for activating special routing operations such as single net routing, net group routing, component routing, area/block routing, etc.

The Options menu is used to set fundamental Autorouter options for subsequent router passes. These parameters define the design rules and technology requirements to be considered by the Autorouter (signal layer count, layer assignment, routing grid with half-grid routing option, standard trace width, standard minimum distance, maximum via count, via grid, on-grid or off-grid trace bending, pin contact mode). The parameters defined from the Options menu are stored with the layout. Changes to basic routing option parameters (signal layer count, routing grid, toggle half-grid option, standard trace width, standard minimum distance, pin contact mode) cause an automatic router restart (with discard of current routing results) when re-entering some standard autorouting process such as Full Autorouter, initial routing, SMD fan out routing, rip-up routing, optimizing and Load Traces.

The Control menu provides basic functions for controlling the routing process such as setting the optimizer passes count, activate/deactivate multi-net pattern recognition during rip-up and/or optimization, set the persistence of the rip-up router, activate automatic SMD fan out routing and turn on or turn off automatic security copy.

The Strategy menu provides functions for setting the strategy parameters and heuristic cost factors to be used by subsequent router and optimizer passes (optimizer routing direction, via costs, pin channel costs, counter direction costs, direction change costs, packing costs, dynamic density cost factor, bus bending costs, rip-up distance costs, trace crossing costs, diagonal routing costs, off-grid routing costs).

The Parameter menu provides functions for selecting the layout library, setting the coordinate display mode, selecting the Mincon function for the airline display and activating the automatic design data backup feature.

The Utilities menu provides functions for exiting BAE, returning to the BAE main shell, calling the Layout Editor and starting User Language programs. This menu also provides important file management functions such as load and save layout elements or list DDB file contents.

 

4.5.3 Customized Autorouter User Interface

The BAE software comes with User Language programs for activating a modified Autorouter user interface with many additional functions (startups, toolbars, menu assignments, key bindings, etc.). The bae_st User Language program is automatically started when entering the Autorouter bae_st calls the uifsetup User Language program which activates predefined Autorouter menu assignments and key bindings. Menu assignments and key bindings can be changed by modifying and re-compiling the uifsetup source code. The hlpkeys User Language program is used to list the current key bindings. With the predefined menu assignments of uifsetup activated, hlpkeys can be called from the Key Bindings function of the Help menu. Menu assignments and key bindings can be listed with the uifdump User Language program. The uifreset User Language program can be used to reset all currently defined menu assignments and key bindings. uifsetup, uifdump and uifreset can also be called from the menu of the keyprog User Language program which provides additional facilities for online key programming and User Language program help info management.

The Windows and Motif pull down menu user interfaces of the Autorouter provide facilities for cascading submenu definitions. I.e., submenus can be attached to other menu items. The uifsetup User Language program configures cascading submenus for the pulldown menu interfaces of the Windows/Motif Autorouter modules. This allows for easy submenu function location (and activation) without having to activate (and probably cancel) submenus. The function repeat facility provided through the right mouse button supports cascading menus to simplify repeated submenu function calls.

The following Windows/Motif parameter setup dialogs are implemented for the Autorouter:

  • Settings - Settings: General Autorouter Parameters
  • View - Settings: Display Parameters
  • Preplacement - Settings: Automatic Placement Parameters
  • Autorouter - Options: Autorouting Options
  • Autorouter - Control Parameters: Autorouting Control Parameters
  • Autorouter - Strategy: Autorouting Strategy Parameters
  • Autorouter - Batch Setup: Autorouting Batch Setup

The uifsetup User Language program replaces the parameter setup functions of the Windows and Motif pulldown menus with the above menu functions for activating the corresponding parameter setup dialogs.

When using pulldown menus under Windows and Motif, the uifsetup User Language program configures the following modified Autorouter main menu with a series of additional functions and features:

File
Edit
View
Preplacement
Autorouter
Settings
Utilities
Help
 

4.5.4 In-built Autorouter System Features

Automatic Parameter Backup

The Autorouter provides an in-built feature for automatically saving important design and operational parameters with the currently processed SCM sheet and/or SCM library hierarchy level. The following parameters are stored to the current design file when activating the Save Element function:

  • Autosave Time Interval
  • Name of the currently loaded Layout Color Table
  • Input Grid
  • Display Grid
  • Grid/Angle Lock
  • Coordinate Display Mode
  • Wide Line Draw Start Width
  • Part Airline Display Mode
  • Library File Name
  • Mincon Function Type

Parameter sets are stored using the current layout element name. When loading a layout, the corresponding parameter set is automatically loaded and/or activated, thus providing a convenient way of activating a default parameter set suitable for processing the selected design.

Graphical Output and Status Displays

The current routing result is displayed graphically and through statistical readouts whilst routing is in progress. Graphic output and statistical readout during routing can be deactivated by pressing key d. The Router working. Press 'd' to activate display... message is displayed whilst router graphic output is deactivated. Pressing the 'd' key again reactivates the graphic output and the statistical readout. The routing process accelerates by up to 10 percent if graphic output is deactivated. A screen redraw is automatically performed after the routing process has finished.

The number of currently routed connections (compared to the total connection count) and the global via count are continuously reported in the status line whilst during Autorouting processes. Additionally, a routing pass info window for displaying internal routing procedure information is provided on the right side of the Autorouter user interface. This info window contains a status line for identifying the currently active router pass type (L - Load Layout, S - SMD Via Preplacement Pass, I - Initial Routing Pass, R - Rip-Up Pass, P - Optimizer Pattern Search Pass, O - Optimizer Pass) and the number n of processed elements in relation to the total number m of elements to be processed by the current router pass (display n/m). The status line ends with the current pass number c and the total number p of passes to be processed (display c/p). The values displayed with the router pass status line cannot be used for accurate total routing time predictions since the required time for completing the routing of each net and/or connection strongly depends on the current routing complexity.

The View menu is used to set parameters for controlling graphical output. The zoom functions (Zoom All, Zoom In, Zoom Out) are used to select the workspace to be displayed. Usually, one would use Zoom All to display the complete Autorouter work area (i.e. the workspace designated by the board outline). Zoom All is the default setting after starting the Autorouter. The functions for changing the zoom factor (Zoom In and Zoom Out) and the Redraw function can only be executed if layout data is already loaded.

The Change Colors function is used to change the current color setup. The Load Colors function is used to load a predefined color table. On default, the Autorouter uses the color table named standard (from the ged.dat system file of the BAE programs directory). It is recommended to use a color setup which displays all routing layers. When routing with blind and buried vias, it is also a good idea to change the color setup to distinguish different via types.

The Set Clipping function is used to set the width at which circuit traces are displayed with their true widths. All traces having a screen width greater than the clipping width are displayed with their true widths. All traces having a screen width less than the clipping width are displayed as center lines. The default clipping width value is 1.5mm.

The Potential Display function is used to display connections to active copper areas using either cross-shaped markers on connected pins (option Cross) or airlines connecting pins and copper area gravity points (option Box). On default the Cross option is used.

User Language

The Bartels User Language Interpreter is integrated to the Autorouter, i.e., User Language programs can be called from the Autorouter, and it is possible to implement any user-specific Autorouter function required such as status display, parameter setup, reports and test functions, CAD/CAM input/output functions, automatic or semi-automatic placement and/or routing functions, customer-specific batch procedures, etc.

The Autorouter provides both explicit and implicit User Language program call facilities. User Language programs can be started with explicit program name specification using the Run User Script function from the File menu (empty string or question-mark (?) input to the program name query activates a User Language program selection menu).

User Language programs can also be called by simply pressing special keys of the keyboard. This method of implicit User Language program call is supported at any time unless another interactive keyboard input request is currently pending. The name of the User Language program to be called is automatically derived from the pressed key, i.e. pressing a standard and/or function key triggers the activation of a User Language program with a corresponding name such as ar_1 for digit key 1, ar_r for standard key r, ar_# for standard key #, ar_f1 for function key F1, ar_f2 for function key F2, etc.

The Autorouter environment also features event-driven User Language program calls, where User Language programs with predefined names are automatically started at certain events and/or operations such as ar_st at Autorouter module startup, ar_load after loading a design element, ar_save before saving a design element, ar_tool when selecting a toolbar item and ar_zoom when changing the zoom factor. The module startup User Language program call method is most useful for automatic system parameter setup as well as for key programming and menu assignments. The element save and load program call methods can be used to save and restore element-specific parameters such as the zoom area, color setup, etc. The toolbar selection event must be used to start User Language programs which are linked to toolbar elements. The zoom event can be used to apply an update request to a design view management feature.

Bartels User Language also provides system functions for performing key programming, changing menu assignments and defining toolbars. These powerful features can be applied for user interface modifications. Please note that a large number of additional functions included with the Autorouter menu are implemented through the User Language programs delivered with the BAE software.

See the Bartels User Language Programmer's Guide for a detailed description of the Bartels User Language (chapter 4.2 lists all User Language programs provided with the BAE software).

Neural Rule System

A series of advanced Bartels AutoEngineer features affecting Autorouter behaviour and procedures are implemented through the Neural Rule System. See chapter 6.3.2 for the rule system applications provided with the PCB layout system.

 

4.5.5 Autorouter Options

The Options menu is used to define the design rules and technology requirements to be considered by the Autorouter. Option parameters can only be set before starting the Autorouting process (unless otherwise mentioned). On Autorouter security copies the current option parameter settings are stored to the currently processed job file. I.e., Autorouter options need not be redefined on subsequent Autorouter calls, unless parameter changes are really required for the layout to be automatically routed.

Routing Grid, Standard Trace Width, Standard Minimum Distance

The Bartels AutoEngineer works as a grid-based router unless the gridless router of the Autorouter (see below) is activated. The Routing Grid function from the Options menu is used to define the routing grid before starting the Autorouting process. Table 4-1 lists the selectable standard routing grids.

Table 4-1: Autorouter Grids

Routing GridVia OffsetStandard Trace WidthStandard Minimum Distance
[mm][mil][mm][mil]
1/20 Inch std.-0.3714.60.2911.4
1/40 Inch std.x0.3212.60.2911.4
1/50 Inch std.-0.259.90.239.1
1/60 Inch std.x0.218.30.197.5
1/80 Inch std.x0.166.30.135.1
1/100 Inch std.-0.135.10.103.9
1/40 Inch no ofs.-0.322.60.291.4
1/60 Inch no ofs.-0.218.30.197.5
1/80 Inch no ofs.-0.166.30.135.1
1/100 Inch w. ofs.x0.135.10.103.9

The default routing grid setting at the first Autorouter call for a particular layout is 1/40 Inch std.. Each routing grid change is stored with the layout and also sets the standard trace width and minimum clearance distance values to the default settings for that grid (see table 4-1 for the grid-specific default values). Both the standard trace width and the standard minimum distance can be changed after specifying a new routing grid (use functions Trace Width and Minimum Distance, respectively). Note however that the sum of trace width + minimum distance must not exceed the current routing grid; otherwise the Autorouter issues an Incompatible options selected! error message when starting the routing process (note warnings such as Accepted for smaller default trace width! and/or Accepted for smaller minimum distance!, and modify trace width and/or minimum distance until either of the messages Minimum distance value accepted! or New default trace width accepted! is issued). You should set the trace width and minimum distance values to 0.2mm each if you intend to route an SMD layout with 1/40 inch routing grid, since this allows the Autorouter to use the pin channels of SO packages.

Note that the 1/60 inch routing grid (i.e., the complete routing matrix) is internally shifted by 1/120 inch, thus enabling the Autorouter to place two traces between adjacent pins of DIL packages which are placed on 1/10 or 1/20 inch grid.

The Other Grid option of the Routing Grid function can be used to specify arbitrary routing grids such as some metric grid for special pin grids. Arbitrary routing grid settings will set both the standard trace width and the minimum distance to half the value of the routing grid. I.e., a routing grid specification of e.g., 1.1mm will set the trace width and the minimum distance to 0.55mm each.

The built-in off-grid recognition of the Bartels AutoEngineer allows for off-grid placement of pins and pre-routed traces. I.e., the Autorouter is able to connect objects which are not placed on the routing grid (e.g., plug pins on metric grid). Note however that on-grid items make the job much easier for the Autorouter since off-grid routing is quite time-consuming and could even prevent the Autorouter from connecting certain items in a simple way. It is recommended to use a reasonable grid for part placement to avoid off-grid pin placement and to enable pin channel routing for better routing results.

Please note that smaller routing grids result in quadratic growth of memory requirements for the routing matrix, and that CPU time usage during the Autorouting process rises even more dramatically (due to a non-polynomial growth of the number of possible routing solutions). It is recommended to refrain from selecting unnecessary small routing grids.

Some routing grid options support routing with via offset (see table 4-1). No via offset means that vias are placed in-line with the traces (i.e., on the routing grid). Routing with via offset means that vias can be shifted by half the routing grid at their placement. The choice to offset or not must be calculated by the user taking into consideration the routing grid, trace width, clearance distance and via size. Routing with via offset may well allow to use channels which would otherwise be occupied by in-line placed vias on adjacent grid channels. This can have a significant negative effect on the routing success (see figure 4-5 for an illustration). The via offsets are calculated for via diameters smaller than 1mm. It is recommended to refrain from routing with via offset when using larger vias since this could cause poor routing results.

Figure 4-5: Routing with or without Via Offset

Figure 4-5: Routing with or without Via Offset

The standard trace width is the track width to be used for routing the connections. The standard trace width applies for all nets except for those where certain net attributes are defined. If a routwidth net attribute value is set for a particular net, then the entire net is routed with that routing width. If a powwidth value is set for a particular net, then all library-defined power supply pins of that net are connected with that power width. The standard minimum distance sets the default minimum clearance distance to be considered by the Autorouter when routing the connections. The standard minimum distance applies for all nets, except for those where non-default minimum distance values are assigned with the mindist net attribute. The Autorouter automatically performs high priority processing of nets with net attribute values set. The priority net attribute can be used to specify explicit net-specific routing priorities. See the loglib utility program description in chapter 7.11 of this manual for more details on how to use net attributes for controlling the routing process.

Signal Layer Count and Layer Assignment

The Signal Layer Count function from the Options menu is used to specify the number of signal layers to be simultaneously routed by the Autorouter. The signal layer count can range from 2 to 12. The default signal layer count for a particular layout corresponds with the top layer setting of that layout.

The Layer Assignment function is used to set the preferred routing direction (horizontal, vertical or all directions) for each routing layer. With the Layer Assignment function it is also possible to define trace keepout layers (i.e., layers where routing is prohibited) or to remove layers from the routing layer list (which will decrement the signal layer count). The default layer assignments are horizontal for layer 1, vertical for layer 2, horizontal for layer 3, vertical for layer 4, etc. Changing the routing layer count with function Signal Layer Count resets the layer assignments.

Routing layer numbering starts with signal layer 1 (solder side). The Autorouter simultaneously routes all routing layers. Single-layer boards can be routed with routing layer count 2 and routing layer 1 defined as prohibited layer.

All objects placed on prohibited layers are considered by the Autorouter. I.e., via keepout areas on a double-sided layout can be defined by placing keepout areas on signal layer 3 of the layout, setting the routing layer count to 3, and defining routing layer 3 to be prohibited. The Autorouter would then use signal layers 1 and 2 for routing the traces and refrain from placing vias at positions where via pads would intersect with keepout areas on layer 3.

The layer assignments (except for the signal layer count) can be changed between different router passes, i.e., without the need of restarting the complete routing process. Note however that restrictions introduced with layer assignment changes will never cause a deterioration of the current routing result at subsequent router passes. I.e., the Autorouter will try to but not necessarily remove all previously routed traces from prohibited layers, if those layers were available for routing before.

Changing layer assignments between different router passes introduces highest flexibility at the routing of complex PCB technologies. Best success at the routing of certain multilayer SMT boards is often achieved when using outside layers (solder and component side) with highest priority for connecting SMD pins to inside signal layers. This can be accomplished with SMD Via Pre-Place passes to be subsequently activated with dynamically adapted layer assignments and increasing routing channel widths (use the Batch Setup and Batch Start functions to apply single router passes). After completing the SMD Via Pre-Placement some Initial passes (with via and/or channel width restrictions) can be applied to route the signal inside layers only (prohibit the outside layers). Finally the outside layers can be released again for subsequent router passes such as Complete Initial pass, Optimizer, rip-up routing, etc.

The Bartels AutoEngineer is capable of routing up to 12 power layers in addition to the signal layers. I.e., the Bartels AutoEngineer can rout multilayer designs with a total of up to 24 layers. The power layer routing algorithms are equipped with intelligent power plane detection features for split power plane routing. When routing power layers, the Autorouter correctly connects SMD pins to power layers and/or active copper areas defined on such power layers.

Maximum Via Count

The Maximum Via Count function is used to set the maximum number of vias per circuit trace. The default maximum via count is 20. A maximum via count of 0 forces the Autorouter to rout the layout without vias. The maximum via count can be changed between different router passes, i.e., without the need of restarting the complete routing process. Note however that restrictions introduced with maximum via count changes will never cause a deterioration of the current routing result at subsequent router passes. I.e., the Autorouter will try to but not necessarily remove all previously placed vias.

Via Grid

The Via Grid function is used to set the grid for placing vias to 1/10 or 1/20 inch. The No Grid option is used on default, thus allowing unrestricted via placement according to the current Routing Grid setting (see above). The via grid can be changed between different router passes without the need of restarting the complete routing process. Note however that restrictions introduced with the via grid changes will never cause a deterioration of the current routing result at subsequent router passes, i.e., the Autorouter will try to but not necessarily replace previously placed vias.

Sub-Grid Routing

The Routing Sub-Grid function is used to activate half-grid routing (option Half Grid 1:2). On default half-grid routing is deactivated (option Standard 1:1). Half-grid routing means that the Autorouter can alternatively use a routing grid shifted by half of the selected routing grid, e.g., half-grid routing with 1/40 inch routing grid can also utilize the 1/80 inch grid routing grid. The current standard trace width and minimum distance settings are not affected by the sub-grid routing option. Half-grid routing yields better use of regions nearby off-grid placed objects such as pin channels at off-grid placed parts, thus considerably increasing routability of dense layouts.

Gridless Routing Option

A rule-driven gridless router is integrated to the Autorouter. Gridless routing is deactivated on default (option Gridbased Routing of the Gridless Routing function from the Options menu). The rule-driven gridless router can be activated through the Gridless Routing option from the Gridless Routing function. The gridless router performs selective gridless routing, i.e., gridless routing is only applied locally where this yields better results in terms of routability and manufacturing optimization. With gridless routing activated, there are much more options for using off-grid pin channels, which might significantly increase the routability of complex layouts. Gridless routing generates straighter connections to off-grid placed pins, thus preventing from blocking adjacent pin channels and also performing more optimization for manufacturing.

The Gridless Routing mode allows for traces to leave the routing grid under virtually any condition and for minimum distance routing between off-grid pins, thus achieving significantly better routing results especially for dense SMT boards.

The Gridless Pins/Vias mode straightens connections to gridless placed pins and vias only locally and resumes and/or applies gridbased routing for normal traces. This mode is not capable of routing between offgrid placed pins where this otherwise would be possible in Gridless Routing mode.

Warning

Note that gridless routing requires more main memory and computing power due to additional data structures (gridless priority tree) to be maintained during the routing process.

Traces On-Grid/Off-Grid

The Traces On-Grid function is used to set the trace corner cutting mode. On default trace corner cutting falls on half grid points (option Traces On-Grid Off). The Traces On-Grid On option forces trace corner angles onto the routing grid only, thus ensuring correct spacing between diagonal trace segments and pad corners. Figure 4-6 illustrates the effects of off-grid and on-grid trace corner cutting.

Figure 4-6: Routing Traces Ongrid/Offgrid

Figure 4-6: Routing Traces Ongrid/Offgrid

Pin Contact Mode

The Pin Contact Mode function is used to allow (option Use Pin Corners, default) or avoid (option Lock Pin Corners) pin corner routing. This feature works on approximately rectangle-shaped pads and controls whether traces can exit such pads at 45 degree angles or not. Routing with pin corner obstruction can produce better looking layouts, but could also impede 100% routing. Note that connecting pins with a size approximately equal to or smaller than the trace width could fail. The Lock Pin Corners option should not be used with designs that include thick traces. Note also that bus routing can produce unpredictable results when switched to pin corner obstruction.

 

4.5.6 Autorouter Control

The Control menu provides a series of functions for controlling the routing process.

Optimizer Passes

The Optimizer Passes function is used to set the number of Optimizer routing passes to be automatically activated by the Full Autorouter function after obtaining a 100% routing. The Optimizer passes count can range from 0 to 99; 2 Optimizer passes are activated on default.

Router Cleanup, Optimizer Cleanup

The Router Cleanup function is used to activate (default option Rip-Up Cleanup On) or deactivate (option Rip-Up Cleanup Off) cleanup passes during rip-up routing. The Optimizer Cleanup function is used to activate (default option Optimizer Cleanup On) or deactivate (option Optimizer Cleanup Off) cleanup passes during optimization. When running cleanup passes (note message Pattern Search issued by the routing progress report), the Autorouter makes use of a unique pattern search recognition algorithm for identifying disturbing traces during rip-up and cross-net optimization. The Autorouter is able to select and remove disturbing traces during rip-up and perform cross-net changes during optimization. Cleanup during cross-net optimization requires more computing time, but dramatically reduces via counts and thus is also called if the rip-up router (temporarily) fails to find an acceptable solution. It is recommended to refrain from turning off cleanup when running rip-up on complex designs or optimizing dense boards. Turning cleanup off results in sequential processing of the connections and can produce contenting results when running final Optimizer passes on certain layouts (however, more passes are then required for pushing and/or straightening trace bunches).

Rip-Up Trees, Rip-Up Depth, Rip-Up Retries

The Rip-Up Trees function sets the maximum number of traces allowed to be simultaneously ripped up per rip-up cycle. The rip-up trees number is set to 2 on default, and can range from 1 to 9. The Rip-Up Depth function is used to control the persistence of the rip-up process. A high value will result in higher persistence. The rip-up depth value can range from 1 to 999, and is set to 50 on default. The Rip-Up Retries function sets the maximum number of rip-up retries for routing a particular trace, thus defining the local rip-up router intensity. The rip-up retries number is set to 2 on default, and can range from 0 to 99. Higher rip-up control parameters increase the persistence and intensity of the rip-up routing process, and thus can be used for special problems such as completing 100% routing without intermediate optimizer passes or for routability check.

Once 99.5% routing completion is achieved, the Rip-Up parameters are automatically increased to Rip-Up Trees 6, Rip-Up Level 200 and Rip-Up Retries 10, unless higher values are already set. This helps to avoid the time-consuming Optimizer cleanup passes between Rip-Up passes if only a few open connections are left.

SMD Via Pre-Place

The SMD Via Pre-Place function is used to activate (option Via Pre-Place On) or deactivate (default option Via Pre-Place Off) the initial routing algorithm for connecting SMD pins to signal inside layers. With SMD via pre-placement activated the Full Autorouter function will start with the SMD via pre-place initial routing pass. The SMD via pre-placer will - as far as possible and/or meaningful - generate short trace connections to vias for those SMD pins to be wired. At SMD fanout routing, routing directions result from the shapes and positions of the corresponding SMD pads; i.e., the SMD fanout routing algorithm ignores layer-specific routing direction preferences to refrain from blocking PLCC/SMD pin channels and or PLCC/SMD pins. The SMD via pre-routing pass is intended for preventing the Autorouter from extensively using the SMD outside layers at an early stage of the routing process, thus involving earlier 100% routing success in a wide range of SMT designs. The SMD via router does not (re-)rout SMD pins which are already connected to fixed traces, and redundant SMD via connections are later eliminated by the Optimizer.

Placement Optimization during Rip-Up Routing

A feature for performing placement optimizations is integrated to the rip-up router of the Autorouter. The Router P/G-Swap Control menu function can be used to activate (option Router Pinswap On) or deactivate (option Router Pinswap Off) placement optimization during rip-up routing. With Router Pinswap On, the rip-up router performs pin/gate/groups swaps to increase routability. This can significantly reduce the time required for achieving a 100% autorouting completion. Placement optimization is selective, i.e., swaps with a high potential to simplify the routing problem are carried with higher priority. Swap operations which cause a deterioration of the current routing result rejected by the router's backtracking process. Only unfixed parts are subject to swap operations, and the admissibility of any pin/gate swap is controlled through the corresponding logical library part definitions.

Pin/gate swaps create a backannotation request which triggers automatic Backannotation when loading SCM plans to the Schematic Editor (see chapter 2.7). Backannotation requests also prevent the Packager from forward annotation without confirmation (see chapter 3.2.3).

Security Copy

The Security Copy function is used to activate (default) or deactivate automatic security copy of intermediate routing results.

 

4.5.7 Autorouter Strategy

The Strategy menu provides functions for setting routing strategies such as via cost, pin channel cost, packing cost, bus bending cost, dynamic density cost, etc. These settings should be used with care. Only change one or two at a time. Poor routing results are often found to be caused by random strategy parameter settings. The default settings will work best in the vast majority of cases. It is strongly recommended to change strategy parameters in special cases only and to refrain from using extreme values.

There are strong mutual dependencies between different Autorouter strategy parameters. A high via cost value (for eliminating vias) will necessarily result in more ignorance of routing direction preferences, thus compensating the cost factor for keeping preferred routing directions. Note also that strategy parameters only define subordinate options for the Autorouting process, due to the fact that it is much more important to achieve a 100% routing result instead of, e.g., keeping preferred routing directions. I.e., some cost factors may be completely ignored during initial routing and rip-up and will only be considered by the Optimizer. Tabelle 4-2 provides an overview to all of the routing parameters which can be set from the Strategy menu.

Table 4-2: Autorouter Strategy Parameters

Strategy ParameterValue RangeDefault ValueEffect on
Router
Effect on
Optimizer
Optimize DirectionNormal
Preferred
Diagonal
Normal-x
Via Cost2..2010xx
Pin Channel Cost0..103x-
Counter Dir. Cost0..51xx
Dir. Change Cost0..52-x
Packing Cost0..51x-
Dyn. Density Cost0..5010x-
Bus Bending Cost0..52x-
Distance-1 Cost0..105x-
Distance-2 Cost0..102x-
Trace Cross. Cost2..10020xx
Diagonal Cost0..105-x
Off-Grid Cost0..52xx
Prefered Grid0..70xx
Anti-Prefered Grid Cost0..101xx
Outside Net Type Area Cost
(BAE HighEnd)
0..51xx

Optimize Direction

The Optimizer Direction function is used to designate the Optimizer strategy. The Normal default option causes the Optimizer to ignore layer-specific preferred routing directions in order to obtain the greatest reduction of vias. The Preferred option causes the Optimizer to consider layer-specific preferred routing directions, which could increase the number of vias. The Diagonal option causes the Optimizer to prefer diagonal (45 degree) routing where appropriate.

Via Cost

The Via Cost setting is used by the Router and the Optimizer. A high via cost factor results in fewer vias but more complex circuit traces. A low via cost factor permits more vias within the restraint of the maximum via count (see above). The via cost value can range from 2 to 20; the default value is 10.

Pin Channel Cost

The Pin Channel Cost setting is used by the Router only. A high pin channel cost factor results in infrequent use of pin channels. A low pin channel cost factor permits the frequent use of pin channels. Pin channels are the regions between adjacent part pins. The pin channel cost value can range from 2 to 20; the default value is 10.

Counter Direction Cost

The Counter Dir. Cost setting is used by the Router and the Optimizer. A high counter direction cost factor results in strict adherence to the layer-specific preferred routing directions. A low cost factor permits frequent variations from the preferred direction. The counter direction cost value can range from 0 to 5; the default value is 1.

Direction Change Cost

The Dir. Change Cost setting is used by the Optimizer only. A high direction change cost factor results in less circuit corners. A low direction change cost factor permits frequent changes in routing directions. The direction change cost value can range from 0 to 5; the default value is 2.

Packing Cost

The Packing Cost setting is used by the Router only. A high packing cost factor results in high bundling of circuit traces. A low packing cost factor will result in wider distribution of circuit traces. The packing cost value can range from 0 to 5; the default value is 1.

Dynamic Density Cost

The Dyn. Density Cost setting is used by the Router only. The dynamic density cost factor controls the global distribution of circuit traces over the entire layout. A high dynamic density cost factor results in a more even distribution of the circuit traces. A low cost factor gives more influence to routing costs. The dynamic density cost value can range from 0 to 50; the default value is 10.

Bus Bending Cost

The Bus Bending Cost setting is used by the Router only. The bus bending cost factor controls the bending of traces after passing a pin channel. A high bus bending cost factor results in high priority of bending. A low bus bending cost factor results in less bending. The bus bending cost value can range from 0 to 5; the default value is 2.

Rip-Up Distance Cost

The Distance-1 Cost and Distance-2 Cost settings are used by the Router during rip-up.

The rip-up distance-1 cost factor controls the use of channels left by ripped up traces in the near distance (0 to 1 grid point). A high distance-1 cost factor results in less use of these channels, thus forcing more local changes during rip-up and retry routing. The rip-up distance-1 cost value can range from 0 to 10; the default value is 5.

The rip-up distance-2 cost factor controls the use of channels left by ripped up traces in the far distance (2 grid points). A high distance-2 cost factor results in less use of these channels, thus forcing more global changes during rip-up and retry routing. The rip-up distance-2 cost value can range from 0 to 10; the default value is 2.

Trace Crossing Cost

The Trace Cross. Cost is used to set the trace transition cost factor, which is considered by the Router and the Optimizer to control cleanup pattern recognition during multi-net optimization. A high trace crossing cost factor allows for a more complex routing with more traces crossing each other, thus also producing more vias. A low trace crossing cost factor leads to increased (and more time-consuming) analysis during cross-net optimization, thus eliminating more vias. The trace crossing cost value can range from 2 to 100; the default value is 10.

Diagonal Routing Cost

The Optimizer considers the Diagonal Cost setting on routing layers where the Diagonal routing option is selected (see Optimize Direction function above). A high diagonal routing cost factor causes the Optimizer to use more diagonal routes. A low diagonal routing cost factor results in less diagonal routing. The diagonal cost value can range from 0 to 10; the default value is 5.

Off-Grid Routing Cost

The Off-Grid Cost setting is used by the Router and the Optimizer, and is considered when routing with the half-grid option (see above). A high off-grid routing cost factor results in less use of the sub-grid. A low off-grid routing cost factor permits frequent use of the sub-grid. The off-grid routing cost value can range from 0 to 5; the default value is 2.

Prefered Grid, Anti-Prefered Grid Cost

The Prefered Grid parameter is used for setting a prefered routing grid. Prefered Grid values range from 0 to 7; 0 switches the prefered grid of, higher values cause the router to pefer the use of every 2nd, 4th, 8th, 16th, 32nd, 64th or 128th grid point. The Anti-Prefered Grid Cost parameter (value range 1 to 10, default value 1) is used to set a cost factor for routing outside the prefered grid. Prefered grid routing spreads the routing density and takes only effect on layouts with (large) unoccupied areas. Prefered grid routing parameters should be set before the first Autorouter run. Later changes to these parameters require multiple time-consuming optimizer runs. Note also that high cost factors could cause detouring routes.

Outside Net Type Area Cost (BAE HighEnd)

The Outside Net Type Area Cost strategy parameter is only supported in BAE HighEnd. A high cost factor prevents nets from being routed outside their net-specific routing areas, a low cost factor allows for nets to be routed outside their routing areas more frequently. The net area cost factor can range from 0 to 5; the default value is 1.

 

4.5.8 Autorouter Functions

The Autorouter supports various routing algorithms and autorouter procedures such as Full Autorouter, initial routing, SMD fanout routing, rip-up/retry routing, Optimizer, re-entrant routing, etc. These routing procedures can be activated from the Autorouter menu (functions Full Autorouter, Optimizer, Load Layout, Batch Setup, Batch Start), the Control menu (SMD Via Pre-Place function) and the Interaction menu (Route Single Net, Route Single Part Place and Route). Activating an autorouting procedure after changing basic routing parameters such as signal layer count, routing grid, half-grid option, standard trace width, standard minimum distance, or pin contact mode discards the currently unfixed traces and vias and (re-)routes the layout with changed options.

The autorouting procedures in BAE HighEnd are some 30 percent faster than in BAE Professional. This performance boost is mainly achieved by optimized internal data structures (HighSpeed Kernel) in BAE HighEnd.

The current routing result is displayed graphically and through statistical readouts whilst routing is in progress. The routing process can be stopped at any time by pressing a key, causing the Autorouter to revert to the (currently best) routing result.

Single-Pass Initial Routing

The single-pass Initial Router performs signal trace routing considering preferred routing directions, a certain channel width and a maximum via count per two-point connection. The channel width is the maximum permitted deviance from preferred directions. The channel width is specified in routing grid steps. A zero channel width removes the restraints on deviating from the preferred direction, i.e., the entire board area is then released for routing. The maximum via count used by the Initial Router will never exceed the value set with the Maximum Via Count function from the Options menu (see above). The Initial Router places traces close together, thus using minimum space in order to leave more room for subsequent traces (trace hugging). The Initial Router also uses advanced techniques of copper sharing where appropriate. The Initial Router processes power layer connections and attributed nets (with non-default routing widths, minimum distance settings and routing priorities) with highest priority.

Complete Initial Routing

The Complete Initial Router automatically activates four Initial Router passes to rout all open connections which can be routed without rip-up and retry. With each Initial Router pass the channel width and the maximum via count is increased. The first Initial Router pass runs with maximum via count zero. The last Initial Router pass runs with channel width zero and a maximum via count according to the parameter set with the Maximum Via Count function from the Options menu (see above).

Rip-Up/Retry Router

The Rip-Up/Retry Router attempts to route all open connections until the board is completely routed. Connections which can be routed without rip-up are routed first. Then the Rip-Up/Retry Router selects and eliminates traces (rip-up) and re-routes them to create space for the unroutes. For this purpose, the router gathers information on dense board areas and increases the cost of routing in such areas. The Rip-Up/Retry Router is supported by a sophisticated array of heuristic strategy parameters. The cost factors can be dynamically adapted to the current routing problem, thus controlling the "price" of strategies such as via placement, routing against preferred directions, using pin channels, etc. It is strongly recommended to refrain from modifying these strategies, unless the routing success is not what would be expected. When changing cost factors, slight adjustments to a few can make significant improvements or make things much worse. The Rip-Up/Retry Router is guarded by a unique backtracking algorithm, which not only prevents from a deterioration of the result or a dead-lock during rip-up or optimization but also is able to exploit a new and/or better routing solution. The Rip-Up/Retry Router automatically activates intermediate Optimizer passes if a single rip-up pass fails to achieve 100% routing success.

Optimizer

The Optimizer function is used to start a single Optimizer pass. The Optimizer usually is applied after 100% routing to optimize the layout for manufacturing. The Optimizer eliminates redundant vias, smoothes traces and attempts to rout open connections. Channel width zero is used during optimization and the maximum via count is set to the same value as defined with the Maximum Via Count function from the Options menu (see above).

SMD Via Pre-Placement

SMD Via Pre-Place is a special initial routing algorithm for connecting SMD pins to signal inside layers. The SMD via pre-placer generates short trace connections to vias for those SMD pins to be wired. With SMD fanout routing passes, a channel width setting is required and routing directions result from the shapes and positions of the corresponding SMD pads. The SMD via pre-routing pass prevents the Autorouter from extensively using the SMD outside layers at an early stage of the routing process. This strategy achieves earlier 100% routing success in a wide range of SMT designs. Redundant via connections created by SMD Via Pre-Place are later eliminated by the Optimizer.

Full Autorouter

The Full Autorouter main menu function is used to start a complete Autorouting process including all router passes such as SMD Via Pre-Placement (optionally), complete initial routing, rip-up/retry routing (if necessary) and optimization. This is the standard procedure for performing complete routing of a board. The number of final Optimizer passes can be set with the Optimizer Passes function from the Control menu (see above). The SMD Via Pre-Placer will only be activated if the Via Pre-Place On option has been selected with the SMD Via Pre-Place function from the Control menu.

Batch Setup and Batch Start

The Batch Start function from the Standard Autorouter main menu is used to start a routing process with different user-defined router passes. The Batch Setup function is used to schedule up to ten of the following autorouting procedures to be subsequently processed with the Batch Start function:

Command Routing Pass/Procedure
LLoad Traces
FFull Autorouter
ISingle-Pass Initial Routing
CComplete Initial Routing
RRip-Up/Retry Router
OOptimizer
SSMD Via Pre-Placement
-none (remove router pass from batch)

Single-Pass Initial Routing pass requires a routing channel width specification and a maximum via count setting. SMD Via Pre-Placement requires a routing channel width specification. Optimizer requires the number of required Optimizer passes (up to 999).

Single Net Routing

The Route Single Net function from the Autorouter Interaction menu activates the single net router. The net and/or connection to be autorouted by the single net router can be selected by mouse-clicking some pin or pre-routed trace of the desired net. The single net router is commonly used for pre-routing power supply signals or critical nets with specific preferences for trace widths, clearance, layer assignments, etc.

Component Routing

The Route Single Part function from the Interaction menu can be used to rout mouse-selectable parts, i.e., to autoroute all nets connected to the selected component.

Fully Automated Placement and Routing

The Place and Route function from the Interaction can be used to activate the Full Autoplacer and Full Autorouter function sequence. thus allowing for fully automated layout placement and routing.

Net-specific Airline Display and Net Group Routing

The Mincon Function from the Settings menu provides options for controlling net-specific airline display. Nets which are faded-out from airline display are excluded from the autorouting process. Net-specific airline display settings can be changed between router passes. This allows for consecutive router passes to route different groups of nets such as busses of a certain circuit block or signals with certain attributes with specific routing options for preferred routing directions, maximum via counts, etc..

Area/Block Routing in BAE HighEnd

The Autorouter of BAE HighEnd considers net-specific routing areas to be defined as documentary areas on signal layers with rule assignments containing a net_type predicate for the net type. See the nettype.rul file in the User Language programs directory (baeulc) for net type rule definitions. Up to eight different routing area net types can be assigned to each layout. Routing areas and rule assignments (with the gedrule User Language program) must be defined in the Layout Editor. Within a routing area, the Autorouter can only route nets with a matching $nettype attribute. Nets without $nettype value or with a $nettype value different to the net_type assignment of a certain routing area must not be routed in that area unless they connect to pins inside the routing area. Nets of a certain net type are not restricted to net-specific routing areas, however, they are preferably routed in the corresponding routing areas. Routing outside the net-specific routing area can be controlled with the new Outside Net Type Area Cost Factor (0..5) option to be set through the Strategy menu.

 

4.5.9 Using the Autorouter

Starting the Autorouter

You should first start the Layout Editor and load the layout board from the demo.ddb DDB file. The Autorouter command from the Layout Editor File menu is used to call the Autorouter:

FileLeft Mouse Button (LMB)
AutorouterLeft Mouse Button (LMB)

Setting Autorouter Options

The following operations will show how to apply certain router passes for routing our example job using three signal layers. Use the following commands to set the signal layer count to 3:

OptionsLeft Mouse Button (LMB)
Signal Layer CountLeft Mouse Button (LMB)
3 Signal LayersLeft Mouse Button (LMB)

Use the following commands to select 1/40 inch routing grid without via offset, and set the standard trace width and the minimum distance to 0.3mm each:

OptionsLeft Mouse Button (LMB)
Routing GridLeft Mouse Button (LMB)
1/40 Inch no ofs.Left Mouse Button (LMB)
Trace WidthLeft Mouse Button (LMB)
New Default Trace Width ( 0.32mm) ?0.3 Return/Enter Key (CR)
Minimum DistanceLeft Mouse Button (LMB)
New Minimum Distance ( 0.29mm) ?0.3 Return/Enter Key (CR)

View, Layout Display

Use the following commands to change trace clipping to 0.1mm and activate the Zoom All function:

V|iewLeft Mouse Button (LMB)
Set ClippingLeft Mouse Button (LMB)
Display Traces wider than ( 1.50mm) ?0.1 Return/Enter Key (CR)
Zoom AllLeft Mouse Button (LMB)

Router Batch

Use the following commands to define a router batch process consisting of SMD Via Pre-Placement with channel width 4, Complete Initial Routing, and a single Optimizer pass:

AutorouterLeft Mouse Button (LMB)
Batch SetupLeft Mouse Button (LMB)
1: ---Left Mouse Button (LMB)
New Batch Pass (L/F/I/S/C/R/O/-) ?s Return/Enter Key (CR)
Initial Pass Channel Width ?4 Return/Enter Key (CR)
2: ---Left Mouse Button (LMB)
New Batch Pass (L/F/I/S/C/R/O/-) ?c Return/Enter Key (CR)
3: ---Left Mouse Button (LMB)
New Batch Pass (L/F/I/S/C/R/O/-) ?o Return/Enter Key (CR)
Optimizer Passes ?1 Return/Enter Key (CR)
No ChangeLeft Mouse Button (LMB)

A dash string input ("-") to the New Batch Pass prompt can be used to remove the selected router pass from the batch. The sequence of router passes to be processed by Batch Start corresponds with the sequence of router passes defined with Batch Setup. Use the Batch Start command to run all router passes previously defined with the Batch Setup function:

AutorouterLeft Mouse Button (LMB)
Batch StartLeft Mouse Button (LMB)

Router batches can also be started with the Start button from the Batch Setup dialog without having to leave the Batch Setup dialog and subsequently calling the Batch Start function.

The routing process for our example starts with SMD Via Pre-Placement. Subsequently, a Complete Initial Routing pass is performed. The Initial Router will end up with 100% routing success. Finally, one Optimizer pass is activated. Each routing pass automatically saves its routing result. The following message is displayed in the status line after finishing the last pass:

Max. 53 of 53 Routes (Pins: 76, Vias: 5)

The layout is now completely routed with 5 vias placed by the Autorouter.

Optimizer

Use the following commands to run an additional Optimizer pass (without pattern recognition, but with high priority for considering preferred routing directions):

ControlLeft Mouse Button (LMB)
Optimizer CleanupLeft Mouse Button (LMB)
Optimizer Cleanup OffLeft Mouse Button (LMB)
StrategyLeft Mouse Button (LMB)
Optimizer DirectionLeft Mouse Button (LMB)
PreferredLeft Mouse Button (LMB)
Counter Dir. CostLeft Mouse Button (LMB)
Counter Direction Cost Factor : 1 (0..5) ?4 Return/Enter Key (CR)
AutorouterLeft Mouse Button (LMB)
OptimizerLeft Mouse Button (LMB)

Note how the Optimizer pass routes traces according to preferred routing directions, albeit at the price of an increased via count of 13.

Exiting the Autorouter

You can exit the Autorouter using one of the Exit BAE, Main Menu or Layout Editor functions from the File menu.

Exit BAE exits to the operating system. Main Menu saves the currently processed layout and returns to the BAE main shell. Layout Editor saves the currently processed layout and returns to the Layout Editor.

Use the Layout Editor function from the File menu to return to the Layout Editor:

FileLeft Mouse Button (LMB)
Layout EditorLeft Mouse Button (LMB)

Re-entrant Routing

Using three routing layers for our simple example appears to be rather wasteful. We want to route the layout again, now with two routing layers instead of three. We also want to apply Load Traces to keep as much of the current routing result as possible.

Use the following commands to switch back to the Autorouter:

FileLeft Mouse Button (LMB)
AutorouterLeft Mouse Button (LMB)

Use the following commands to reduce the signal layer count to 2 and reload the data produced by the preceding router pass:

OptionsLeft Mouse Button (LMB)
Signal Layer CountLeft Mouse Button (LMB)
2 Signal LayersLeft Mouse Button (LMB)
AutorouterLeft Mouse Button (LMB)
Load TracesLeft Mouse Button (LMB)

The Load Traces function fails to load the traces previously routed on layer 3 since the signal layer count is now set to 2. I.e., the router progress message in the status line will indicate 9 open connections (max. 44 of 53 routes) and a via count of 8 (instead of 13) after finishing the Load Traces function.

Use the following commands to switch off preferred routing direction optimization and start the Full Autorouter to complete the routing:

StrategyLeft Mouse Button (LMB)
Optimizer DirectionLeft Mouse Button (LMB)
NormalLeft Mouse Button (LMB)
AutorouterLeft Mouse Button (LMB)
Full AutorouterLeft Mouse Button (LMB)

The Full Autorouter completes the routing, now on two instead of three signal layers and with 6 vias. Use the following commands to return to the Layout Editor:

FileLeft Mouse Button (LMB)
Layout EditorLeft Mouse Button (LMB)

After correctly performing all operations of this chapter, the PCB layout example should look like the one shown in figure 4-7.

Figure 4-7: Layout after Autorouting

Figure 4-7: Layout after Autorouting

 

4.6 Special Layout Features

This section describes advanced features and special functions provided with the BAE PCB design system.

 

4.6.1 Batch Design Rule Check, Report

The Batch DRC function from the Layout Editor Utilities menu is used to run a complete design rule check on the currently loaded layout. It is strongly recommended to use Batch DRC before generating CAM data and/or passing CAM data to the PCB manufacturer to avoid design rule violations such as short-circuits, unrouted nets or clearance violations. Use the following commands to perform a batch design rule check on the currently loaded layout board of the demo.ddb DDB file:

UtilitiesLeft Mouse Button (LMB)
Batch DRCLeft Mouse Button (LMB)
Please confirm (Y/N) ?y Return/Enter Key (CR)

After performing the design rule check, the Batch DRC function implicitly activates the Report function from the Utilities menu to display the checking results and the design state. The Report function can also be called explicitly using the following commands:

UtilitiesLeft Mouse Button (LMB)
ReportLeft Mouse Button (LMB)

The following listing is displayed by the Report function or after Batch DRC (zero error lines might be omitted):

File : demo.ddb
Type : Layout / Element : board

Number of Nets .................: 22 Number of Open Connections .....: 0 Number of Short Circuits .......: 0 Copper Distance Violations .....: 0 Documentary Distance Violations : 0 Number of Power Layer Errors ...: 0 Number of Missing Parts ........: 0 Number of Wrong Type Parts .....: 0 Number of Missing Netlist Pins .: 0 Height Distance Violations .....: 0 Power Layers in Use.............: - Signal Layers in Use............: 1-2

The Number of Nets report entry displays number of nets defined in the net list of the currently loaded layout. The Number of Open Connections entry denotes the number of not yet routed (two-point) connections on the currently loaded layout. The Number of Short Circuits entry denotes the number of short-circuits encountered by the Design Rule Check. The Copper Distance Violations entry denotes the number of copper layer clearance distance violations online-encountered by the Design Rule Check on the currently loaded element. The Documentary Distance Violations entry denotes the number of clearance distance violations on documentary layers. The Number of Power Layer Errors entry denotes number of copper area cross-intersections on split power planes. The Number of Missing Parts report entry denotes the number of net list parts not yet placed on the currently loaded layout. The Number of Wrong Type Parts report entry denotes the number of net list parts placed with a wrong part package type (macro) on the currently loaded layout. The Number of Missing Netlist Pins entry denotes the number of unplaced and/or missing net list pins. Missing net list pins can cause an erroneous open connections count. An indicator is added to the open connections count if net list pins are missing. The checklnl User Language program can be used to track missing net list pins. The Height Distance Violations entry denotes the number of (part) height design rule violations. The Power Layers in Use and Signal Layers in Use report entries display the used power and signal layers. Signal layer 1 to top layer are always assumed to be in use. These entries help to identify power layers without global net assignment, hence with split power planes to be considered by connectivity.

DRC Error Display

The Settings dialog from the Layout Editor View menu provides the DRC Error Display parameter for selecting DRC distance and height rule violation error display modes and/or colors. The Error Color option displays error boxes using the error color selected with the Change Colors function, the default of which is white. The Highlight Layer setting displays error rectangles using the color selected for the layer on which the erroneous element is placed. Errors on layers which are faded-out through Change Colors are not displayed.

The Layout Editor Utilities menu provides the DRC Error List function for displaying the DRC distance and height rule violation error lists. The DRC errors are listed in a popup menu, indicating error type, error layer and error coordinates for each error. A Zoom Window to the error position ist triggered when selecting an error from the list using the left mouse button. The + and - keys can be used to move the zoom window through the error position list in either direction.

Note that the modified BAE HighEnd data structure for storing the layout connectivity data allows for a selective shortcut display, i.e., shortcuts between two nets are displayed by highlighting only those elements causing the shortcut, whilst BAE Professional highlights the whole connection tree affected by the short-circuit.

Hit the spacebar to return to the Layout Editor menu.

 

4.6.2 Color Setup, Color Tables, Pick Preference Layer

The Change Colors function from the View menu activates a popup menu for modifying the current color settings. This color setup menu simultaneously can be utilized for displaying the current color assignments. Changing some item-specific color is accomplished by selecting the desired display item using the left mouse button and then selecting the desired color button from the Change Colors function. In the layout system, Change Colors provides a feature for fast display item fade-out/fade-in. Activating and/or deactivating some item-specific display is accomplished by selecting the desired display item entry with the right mouse button which works as a toggle between fade-out and fade-in. The system won't loose information on currently defined colors of faded-out display items; strike-through color buttons are used for notifying currently faded-out display items.

At overlaps of different elements the resulting mixed color is displayed. The highlight color is also mixed with the color of the element to be marked, thus resulting in a brighter display of that element.

The Save Colors function from the View menu is used to save the current color settings with a user-specified name to the ged.dat system file in the BAE programs directory. When starting the Layout Editor (or any other layout program module), the color table named standard is automatically loaded. Any other color table available in ged.dat can be loaded using the Load Colors function from the View menu.

It is a good idea to define color tables for certain tasks such as stackdef for padstack editing (i.e., with drill holes and drill plan visible) or unroutes for fast open connections recognition (i.e., with airlines visible only). At the definition of color tables it is to be considered that screen redraw functions will take longer if more objects must be displayed. It is recommended to define task-specific color tables to display only those objects which are important for the corresponding task.

The Set Edit Layer function is usually used to allow selection on a specific layer. It also has the useful hidden function of loading a layer-specific color table. These color tables have specific names, and if they don't exist there will be no change in the color display. See table 4-3 for the color table names assigned to the pick preference layers (<n> is the layer number, respectively). Table 4-3 also lists short layer names which can optionally be used in certain layer menus for selecting layers via keyboard input.

Table 4-3: Pick Preference Layer Color Tables and Short Layer Names

LayerPick Preference Layer
Color Table Name
Short
Layer Name
Signal Layer <n>layer_<n><n>
Signal Layer All Layerslayer_alla
Signal Layer Middle Layerslayer_defm
Signal Layer Top Layerlayer_def 
Power Layer <n> p<n>
Documentary Layer <n> Side 1layer_d<n>_1d<n>s1
Documentary Layer <n> Side 2layer_d<n>_2d<n>s2
Documentary Layer <n> Both Sideslayer_d<n>_ad<n>sa
Board Outline b
Airlines u

When selecting a certain pick preference layer (e.g., signal layer 2) using the Set Edit Layer function, the color table with the corresponding name (e.g., layer_s2) is automatically loaded if available in ged.dat. This feature is most useful for e.g., manual routing.

 

4.6.3 Layout Net List Changes

The Layout Editor provides functions for performing pin/gate swaps to simplify the routing problem. Alternate package types can be assigned to layout parts, and net list part names can be changed for better legibility of the insertion plan (for manual insertion). These modifications are net list changes which must be backward annotated to the schematics using the Backannotation function from the Schematic Editor (see also chapter 3.3).

In this section we will apply some pin/gate swaps and change a couple of part names. First of all, use the following commands to set the coordinate display mode to inch and apply group functions to delete all traces from the currently loaded layout:

SettingsLeft Mouse Button (LMB)
Coordinate DisplayLeft Mouse Button (LMB)
Display InchLeft Mouse Button (LMB)
GroupsLeft Mouse Button (LMB)
Group PolygonLeft Mouse Button (LMB)
TracesLeft Mouse Button (LMB)
SelectLeft Mouse Button (LMB)
Move to [0.1",0.1"]Left Mouse Button (LMB)
Move to [2.8",0.1"]Left Mouse Button (LMB)
Move to [2.8",2.7"]Left Mouse Button (LMB)
Move to [0.1",2.7"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)
Delete GroupLeft Mouse Button (LMB)

The Pin/Gate Swap function from the Parts menu is used to perform manual pin/gate swaps. Use the following commands to swap the pins 1 and 2 of the switches named s1000, s1001, s1002 and s1003, respectively:

PartsLeft Mouse Button (LMB)
Pin/Gate SwapLeft Mouse Button (LMB)
Move to "s1000.1",[0.2",2.3"]Left Mouse Button (LMB)
Move to "s1000.2",[0.5",2.3"]Left Mouse Button (LMB)
Pin/Gate SwapLeft Mouse Button (LMB)
Move to "s1001.1",[0.2",2.1"]Left Mouse Button (LMB)
Move to "s1001.2",[0.5",2.1"]Left Mouse Button (LMB)
Pin/Gate SwapLeft Mouse Button (LMB)
Move to "s1002.1",[0.2",1.9"]Left Mouse Button (LMB)
Move to "s1002.2",[0.5",1.9"]Left Mouse Button (LMB)
Pin/Gate SwapLeft Mouse Button (LMB)
Move to "s1003.1",[0.2",1.7"]Left Mouse Button (LMB)
Move to "s1003.2",[0.5",1.7"]Left Mouse Button (LMB)

Note how the Pin/Gate Swap function provides graphical pin/gate swap indicators. A circle (0.6mm diameter, Workspace color) is displayed for every pin/gate swap enabled pin when the Pin/Gate Swap function is activated. The indicator for the first selected pin turns into a filled square, leaving only swappable pins marked by circles and character codes for the possible swap operations. The character codes are P for pin swap, G for gate swap and A (Array) for gate group swap. Selecting black for the Workspace color deactivates the pin/gate swap indicator display.

Each pin/gate swap is performed using the corresponding pin/gate swap definition from the Logical Library (see also chapter 7.11 for a description of the loglib utility program and chapter 3.2 for a description of the Packager program module). The following error message is issued if no swap is allowed for the selected pins and/or gates:

Not allowed to swap these pins!

Use the following commands to swap the gates (1,2,3) and (5,6,4) as well as the pins 12 and 13 of the part named IC10:

PartsLeft Mouse Button (LMB)
Pin/Gate SwapLeft Mouse Button (LMB)
Move to "ic10.(1,2,3)",[1.4",1.8"]Left Mouse Button (LMB)
Move to "ic10.(5,6,4)",[1.5",1.8"]Left Mouse Button (LMB)
Pin/Gate SwapLeft Mouse Button (LMB)
Move to "ic10.12",[1.4",2.1"]Left Mouse Button (LMB)
Move to "ic10.13",[1.3",2.1"]Left Mouse Button (LMB)

Use the following commands to perform a part swap for the resistor parts named R101 and R103 (this is allowed because the same attribute values are assigned to these parts):

PartsLeft Mouse Button (LMB)
Pin/Gate SwapLeft Mouse Button (LMB)
Move to "r101",[1.6",2.4"]Left Mouse Button (LMB)
Move to "r103",[1.4",1.2"]Left Mouse Button (LMB)

The Netlist Part Name function from the Parts menu is used to change part names in the net list. Use the following commands to change the net list part name of connector X1000 to filenameX1, and also change the net list part name of diode V1000 to V2:

PartsLeft Mouse Button (LMB)
Netlist Part NameLeft Mouse Button (LMB)
Move to "x1000",[2.4",1.5"]Left Mouse Button (LMB)
Part Name (X1000) ?X1 Return/Enter Key (CR)
Netlist Part NameLeft Mouse Button (LMB)
Move to "v1000",[1.2",1.2"]Left Mouse Button (LMB)
Part Name (V1000) ?V2 Return/Enter Key (CR)

The Netlist Part Name function issues the following error message if you try to assign a part name which is already in use for another part:

Part name already in use!

Use the following commands to apply the Change Part Name function to change the name of part IC10 to IC1:

PartsLeft Mouse Button (LMB)
Change Part NameLeft Mouse Button (LMB)
Move to "ic10",[1.2",1.8"]Left Mouse Button (LMB)
Part Name (IC10) ?IC1 Return/Enter Key (CR)

The airlines previously connected to IC10 have been disappeared from IC1. I.e., the Change Part Name function not only performs a part name change, but also replaces the selected part. With the commands above the part named IC10 has been replaced with the part IC1 which is not defined in the net list. Use the following commands to reset this part name change and apply the Netlist Part Name function to change the net list part name to IC1 (note how the airlines connected to IC1 will appear again):

PartsLeft Mouse Button (LMB)
Change Part NameLeft Mouse Button (LMB)
Move to "ic1",[1.2",1.8"]Left Mouse Button (LMB)
Part Name (IC1) ?ic10 Return/Enter Key (CR)
Netlist Part NameLeft Mouse Button (LMB)
Move to "ic10",[1.2",1.8"]Left Mouse Button (LMB)
Part Name (IC10) ?ic1 Return/Enter Key (CR)

It is recommended to use the Change Part Name function with caution. Multiple misuse of the Change Part Name function can cause short circuits on routed layouts, and it might get very laborious to backtrack part name changes for design corrections.

The layout net list changes accomplished with the previous operations must be backannotated to the schematics and the logical net list. Use the following commands to save the currently loaded layout and return to the BAE main menu:

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)
FileLeft Mouse Button (LMB)
Main MenuLeft Mouse Button (LMB)

The BAE main menu is activated. Use the following commands to switch to the Schematic Editor and run Backannotation to transfer the physical net list named board in in demo.ddb back to the schematics:

SchematicLeft Mouse Button (LMB)
UtilitiesLeft Mouse Button (LMB)
BackannotationLeft Mouse Button (LMB)
Design File Name ?demo Return/Enter Key (CR)
Layout Element Name ?board Return/Enter Key (CR)

Backannotation displays the following messages:

==============================
BARTELS BACKANNOTATION UTILITY
==============================

Design File Name ........: 'demo' Layout Element Name .....: 'board' No error occurred!

The No error occurred! message means that Backannotation has been successfully completed, and the logical net list in project file demo.ddb has been annotated with the physical net list named board. Hit any key to return to the Schematic Editor main menu and use the following commands to load the SCM sheet sheet1 from DDB file demo.ddb:

FileLeft Mouse Button (LMB)
LoadLeft Mouse Button (LMB)
SheetLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?sheet1 Return/Enter Key (CR)

You can now examine the currently loaded SCM sheet for modifications introduced by Backannotation. Particularly note the part name changes (IC1 instead of IC10, V2 instead of V1000, etc.) and the pin assignment changes (e.g., at the gates of IC1 or at the switches S1000 through S1003).

 

4.6.4 SCM Changes, Redesign

Bartels AutoEngineer provides features for modifying SCM sheets of an already completed design, without the need to prepare a completely new layout. This section describes how perform a redesign by making changes to the currently loaded SCM sheet.

Use the following commands to change the $plname attribute value of the resistor R104 from minimelf to chip1206:

SymbolsLeft Mouse Button (LMB)
Assign ValueLeft Mouse Button (LMB)
Move to "r104",[210,130]Left Mouse Button (LMB)
$plnameLeft Mouse Button (LMB)
Attribute Value ?chip1206 Return/Enter Key (CR)
ReturnLeft Mouse Button (LMB)

With the commands above the package type assignment for the resistor part R104 has been changed. Use the following commands to assign value so14 to the $plname attribute of each gate of part IC1, thus defining a non-default package type for IC1 (the default package type was dil14):

SymbolsLeft Mouse Button (LMB)
Assign ValueLeft Mouse Button (LMB)
Move to "ic1.5",[60,110]Left Mouse Button (LMB)
$plnameLeft Mouse Button (LMB)
Attribute Value ?so14 Return/Enter Key (CR)
Assign ValueLeft Mouse Button (LMB)
Move to "ic1.1",[100,110]Left Mouse Button (LMB)
$plnameLeft Mouse Button (LMB)
Attribute Value ?so14 Return/Enter Key (CR)
Assign ValueLeft Mouse Button (LMB)
Move to "ic1.8",[140,110]Left Mouse Button (LMB)
$plnameLeft Mouse Button (LMB)
Attribute Value ?so14 Return/Enter Key (CR)
Assign ValueLeft Mouse Button (LMB)
Move to "ic1.13",[180,110]Left Mouse Button (LMB)
$plnameLeft Mouse Button (LMB)
Attribute Value ?so14 Return/Enter Key (CR)

Use the following commands to save the currently loaded SCM sheet and load sheet2:

FileLeft Mouse Button (LMB)
SaveLeft Mouse Button (LMB)
LoadLeft Mouse Button (LMB)
SheetLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ?sheet2 Return/Enter Key (CR)

The currently loaded SCM sheet contains some Autorouter control parameter settings (net attribute assignments), which should be modified. Use the following commands to change the ROUTWIDTH net attribute of NET from 0.5mm to 0.3mm, change the ROUTWIDTH attribute of net Vss from 0.6mm to 0.45mm and change the MINDIST attribute for net Vdd from 0.4mm to 0.3mm:

SymbolsLeft Mouse Button (LMB)
Assign ValueLeft Mouse Button (LMB)
Move to "NET"/Routwidth SymbolLeft Mouse Button (LMB)
$valLeft Mouse Button (LMB)
Attribute Value ?0.3 Return/Enter Key (CR)
Assign ValueLeft Mouse Button (LMB)
Move to "Vss"/Routwidth SymbolLeft Mouse Button (LMB)
$valLeft Mouse Button (LMB)
Attribute Value ?0.45 Return/Enter Key (CR)
Assign ValueLeft Mouse Button (LMB)
Move to "Vdd"/Mindist SymbolLeft Mouse Button (LMB)
$valLeft Mouse Button (LMB)
Attribute Value ?0.3 Return/Enter Key (CR)

Use the following commands to return to the BAE main menu (the currently loaded SCM element is automatically saved):

FileLeft Mouse Button (LMB)
Main MenuLeft Mouse Button (LMB)

Now the BAE main menu is activated. Use the following commands to run the Packager to transfer the SCM changes to the layout, i.e., to the physical net list named board (the demo.ddb job file can be used as design library since it contains all of the information required for packaging):

PackagerLeft Mouse Button (LMB)
Design File Name ?demo Return/Enter Key (CR)
Design Library Name ?demo Return/Enter Key (CR)
Layout Element Name ?board Return/Enter Key (CR)

The Packager issues the No error occurred! message after successfully completing the forward annotation to the layout. Hit any key to return to the BAE main menu and use the following command to start the Layout Editor:

LayoutLeft Mouse Button (LMB)

Now the Layout Editor is activated. Use the following commands to load the annotated layout:

FileLeft Mouse Button (LMB)
Load ElementLeft Mouse Button (LMB)
LayoutLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?board Return/Enter Key (CR)

A connectivity generation is accomplished after loading the layout. Note that there are no airlines connected anymore to the parts IC1 and R104, since the package types have been changed for these parts. Use the following commands to delete all parts with changed package type assignments introduced by net list modifications:

PartsLeft Mouse Button (LMB)
Delete UpdateLeft Mouse Button (LMB)
Please confirm (Y/N) ?y Return/Enter Key (CR)

The confirm prompt is only activated if there are parts placed with wrong package types. The Delete Update function can be used for checking the layout for wrong package types (simply type n to the confirm prompt if you want to abort the Delete Update function). The Delete Update call from above deletes the parts R104 and IC1 from the layout and issues the following message:

2 Parts deleted!

Use the following commands to place the previously deleted parts with correct package types:

PartsLeft Mouse Button (LMB)
Add PartLeft Mouse Button (LMB)
Part Name ?ic1 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump AbsoluteLeft Mouse Button (LMB)
Absolute X Coordinate (mm/") ?1.6" Return/Enter Key (CR)
Absolute X Coordinate (mm/") ?2.0" Return/Enter Key (CR)
Place Next PartLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Mirror OnLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Rotate RightLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump AbsoluteLeft Mouse Button (LMB)
Absolute X Coordinate (mm/") ?0.35" Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?2.0" Return/Enter Key (CR)

Now all parts are placed again on the layout. You can check this with the Place next Part function which should issue the All parts have been placed already! message.

 

4.6.5 Defining and Editing Power Layers

The Bartels AutoEngineer layout system provides features for defining power layers and/or power planes. Use the following commands to define a power layer for signal Vss:

SettingsLeft Mouse Button (LMB)
Set Power LayersLeft Mouse Button (LMB)
1: ---Left Mouse Button (LMB)
Net Name ?vss Return/Enter Key (CR)
EndLeft Mouse Button (LMB)

Note how the above-mentioned power layer definition removes the airlines connected to the drilled pins of signal Vss. Drilled pins are automatically connected to the corresponding power layer (i.e., the CAM Processor will later generate heat traps at the drillings of power layer pins). The airlines connected to the SMD pins of signal Vss won't be deleted, i.e., the Autorouter will automatically connect these pins to the power layer using vias.

Power layer definitions can be displayed in the BAE layout system. Use the following commands to set the color for power layer 1 to dark blue:

Middle Mouse Button (MMB)
Change ColorsLeft Mouse Button (LMB)
Power 1Left Mouse Button (LMB)
Move to Desired Color, dark blueLeft Mouse Button (LMB)
ExitLeft Mouse Button (LMB)

On the display of drilled pin definitions there is a distinction whether the pin is connected to a power layer or not. Power layer connections are displayed as circle outlines; isolations, i.e., drills which are not to be connected to any power layer, are displayed as filled circles.

The layer selection menus of the Add Active Copper function from the Areas menu allow for the selection of power layers. Power planes or isolated areas (net name -) can be placed on power layers to perform split power plane editing, i.e., to define more than one signal on a single power layer. Power planes are displayed with their outlines which will later be interpreted as isolation line by the CAM Processor (see also chapter 4.7.6 of this manual). There is a restriction that no power plane can overlap any other power plane partially since this would cause an ambiguity in the power plane tree detection algorithms. Partial power plane overlaps will cause the design rule check to issue power layer errors; the number of power plane errors detected by the DRC is shown with the Power Layer Errors entry of the Report Utilities function. Power planes completely enclosed by other power planes are allowed; the power plane tree detection will always match the "innermost" power plane for connecting.

The layer selection menus of the Add Text function from the Text, Drill menu allow for the selection of power layers. Text can be placed on power layers to add documentary information to the power layers. When placing text on power layers, the design rule check will perform distance checking against the All Layers and Middle Layers signal layers. Power layer text is visible on the PCB only if the corresponding power layer is configured as board outside layer (i.e., as either solder side or component side layer). Usually power layers are defined as board inside layers of a multilayer design. Text placed on power layers can serve as control information (e.g., for the layout designer or as plot or film archive information).

 

4.6.6 Autorouter Via Keepout Areas

There is often the need to define areas where the Autorouter is allowed to rout traces but must not place vias (e.g., underneath special parts). Via keepout areas can be defined on a routing layer which is not required for the real layout. This "via keepout layer" should then be prohibited with the Autorouter layer assignment. The Autorouter considers all objects placed on prohibited layers, and vias and/or via drill holes are assumed to be defined on all layers. I.e., the Autorouter refrains from placing vias at positions where via pads would intersect with keepout areas on prohibited routing layers.

Use the following commands to place a keepout area on layer 3 matching the region underneath the switches s1000 through s1009:

AreasLeft Mouse Button (LMB)
Add Keep Out AreaLeft Mouse Button (LMB)
Layer 3Left Mouse Button (LMB)
Move to [0.25",0.4"]Left Mouse Button (LMB)
Move to [0.45",0.4"]Left Mouse Button (LMB)
Move to [0.45",2.4"]Left Mouse Button (LMB)
Move to [0.25",2.4"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Use the following commands to start the Autorouter (the currently loaded layout will automatically be saved):

FileLeft Mouse Button (LMB)
AutorouterLeft Mouse Button (LMB)

Use the following commands to define routing layer 3 to be prohibited and start the Full Autorouter (the Autorouter options such as routing grid, trace width, clearance, etc., have already been defined with the previous Autorouter session):

OptionsLeft Mouse Button (LMB)
Layer AssignmentLeft Mouse Button (LMB)
Select Layer Number ?3 Return/Enter Key (CR)
Select Layer Type (P/H/V/A/-) ?p Return/Enter Key (CR)
Select Layer Number ? Return/Enter Key (CR)
AutorouterLeft Mouse Button (LMB)
Full AutorouterLeft Mouse Button (LMB)

The Full Autorouter will a find 100% routing solution with no vias placed inside the via keepout area. Note also how the SMD pins of the previously defined power layer Vss (see above) are automatically connected using short traces with vias.

Use the following command to return to the Layout Editor after successfully completing the autorouting:

FileLeft Mouse Button (LMB)
Layout EditorLeft Mouse Button (LMB)
 

4.6.7 Area Mirror Mode

The Mirror Display function from the Layout Editor Areas menu is used to set special display attributes for selectable areas. The Visible always option is the default display mode for any area. Visible always defines the selected area to be always visible. The Visible unmirrored option defines the selected area to be visible only when unmirrored (i.e., when placed on the component side). The Visible mirrored option defines the selected area to be visible only when mirrored (i.e., when placed on the solder side). The Mirror Display function can be used on part, padstack and pad level. It is possible to define SMD parts with differently shaped pads or keepout areas depending on which side of the board the part is placed (for supporting different soldering processes on solder and/or component side).

Use the following commands to load the pad symbol p1206 from the demo.ddb DDB file:

FileLeft Mouse Button (LMB)
Load ElementLeft Mouse Button (LMB)
PadLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?p1206 Return/Enter Key (CR)

There is finger-shaped contact area defined on the currently loaded p1206 pad. Use the following commands to define this copper area to be visible only when unmirrored (i.e., when placed on the component side):

AreasLeft Mouse Button (LMB)
Mirror DisplayLeft Mouse Button (LMB)
Move to Area EdgeLeft Mouse Button (LMB)
Visible unmirroredLeft Mouse Button (LMB)

Now the component side pad shape is defined. Use the following commands to define a rectangle-shaped passive copper area to be visible only when mirrored (i.e., when placed on the solder side):

AreasLeft Mouse Button (LMB)
Add Passive CopperLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump AbsoluteLeft Mouse Button (LMB)
Absolute X Coordinate (mm/") ?0.6 Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?0.9 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump RelativeLeft Mouse Button (LMB)
Relative X Coordinate (mm/") ?-1.2 Return/Enter Key (CR)
Relative Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump RelativeLeft Mouse Button (LMB)
Relative X Coordinate (mm/") ?0 Return/Enter Key (CR)
Relative Y Coordinate (mm/") ?-1.8 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump RelativeLeft Mouse Button (LMB)
Relative X Coordinate (mm/") ?1.2 Return/Enter Key (CR)
Relative Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)
AreasLeft Mouse Button (LMB)
Mirror DisplayLeft Mouse Button (LMB)
Move to Area Corner/EdgeLeft Mouse Button (LMB)
Visible mirroredLeft Mouse Button (LMB)

Use the following commands to save the currently loaded pad symbol and re-load the layout:

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)
Load ElementLeft Mouse Button (LMB)
LayoutLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ?board Return/Enter Key (CR)

The system accomplishes a connectivity generation to correlate the library modifications with the current net list definition. The p1206 pad is used on the s1206 padstack symbol, which, in turn, is used on the chip1206 part symbol. Note how the layout system uses different pad shapes for the mirrored parts R104 and C101 and for the unmirrored part R105.

The Mirror Display function can be applied on any copper, keepout or documentary polygon defined on a library element which can be mirrored. You can also use this feature to define part keepout areas on documentary layers to perform different part clearance checks depending on which side of the board the parts are placed.

Reflow-Reflow SMT/SMD Soldering Support

A control for setting the Area Mirror Display parameter is provided in the Settings dialog from the Settings menu to support reflow-reflow SMD/SMT soldering techniques. On default, the Mirror Display parameter is activated, and polygons with the Visible unmirrored, attribute are only visible when not mirrored, whilst polygons with the Visible mirrored attribute are only visible when mirrored. However, with the Mirror Display, parameter deactivated, all polygons declared as Visible unmirrored, are always visible, and all polygons declared as Visible mirrored, are never visible, independently of any (part) mirroring. Mirror Display, deactivation allows for SMD libraries designed for conventional SMD soldering to be re-used for reflow-reflow SMD soldering.

 

4.6.8 Automatic Copper Fill

The BAE layout system provides powerful automatic copper fill functions with user-definable minimum structure size and isolation distance. The copper fill algorithm support isolated copper area elimination and automatic heat trap generation with adjustable connection widths and heat-trap-specific isolation distances.

The copper fill functions are available through the Copper Fill submenu of the Layout Editor Areas menu.

Copper Fill Parameters

Depending on the current BAE menu setup, copper fill parameters can either be set from the Settings dialog of the Copper Fill submenu or through dedicated menu functions in that same menu.

The Set Fill Clearance function is used to set the copper fill isolation distance parameter for the copper fill algorithm (default 0.3mm). The copper fill clearance distance is applied on default unless some net-specific minimum distance settings are defined through MINDIST net attributes (see chapter 7.11). Net-specific minimum distance attribute settings are considered individually.

The Min. Fill Size function is used to define the minimum structure size for area generation (default 0.1mm). This value should correspond with the smallest Gerber aperture size to ensure valid Gerber photoplot data generation without overdraw errors.

The Round Corners option of the Traces Cut Mode function causes the copper fill algorithm to generate arc-shaped concave area borders during trace segment isolation; on default octagonal circle interpolation is applied (option Octagonal Corners).

The Keep Islands option of the Insol. Area Mode function switches off isolated copper area recognition (i.e., the copper washes over the pad that it is to connect to); on default, isolated copper areas are automatically eliminated during active copper generation (option Delete Islands). The Select Islands option keeps isolated areas and automatically selects them to the current group as they are created.

The Heat Trap Mode options also support for different processing modes for pins and vias. It is possible to decide whether heat-trap connections should be generated for both pins and vias (option Pin & Via Heat Traps), for pins only (option Pin Heat Traps), for vias only (option Via Heat Traps), or if direct connections only should be generated (option Direct Connect).

The Direct Connect option of the Heat Trap Mode function deactivates automatic heat trap generation when filling active copper. The default Heat Trap Mode option Use Heat Traps is used to activate automatic heat trap generation, i.e., to create thermal relieves for copper area connections. With Use Heat Traps selected, the system prompts for the heat-trap junction width and an optional heat-trap-specific clearance distance, where invalid inputs won't change current settings. On default, the heat trap junction width is set to 0.3mm and the heat-trap clearance is set to zero (i.e., heat-traps are isolated using standard minimum clearance settings).

BAE HighEnd provides the HT-Junction option for specifying the maximum heat-trap connections count (1, 2, 3 or 4). The default heat-trap generation sequence is left, right, bottom, top.

Copper Fill Workarea Definition

Copper fill workareas are required for copper fill functions to operate. Use the following Layout Editor commands to define a rectangle-shaped copper fill workarea on layer 1 for the signal named net:

AreasLeft Mouse Button (LMB)
Copper Fill
Add Cop.-Fill AreaLeft Mouse Button (LMB)
Net Name ?net Return/Enter Key (CR)
Layer 1Left Mouse Button (LMB)
Move to [0.6",0.4"]Left Mouse Button (LMB)
Move to [1.7",0.4"]Left Mouse Button (LMB)
Move to [1.7",1.7"]Left Mouse Button (LMB)
Move to [0.6",1.7"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

A dash string input (-) to the net name prompt of the Add Cop.-Fill Area function creates a copper fill workarea which is not assigned to any net. This feature can be used for generating pure shielding areas.

Passive copper areas with signal net connections (e.g., teardrops created as passive copper) are treated like active copper areas of that net and won't be isolated from copper fill areas of that net.

Automatic Copper Fill

The Fill all areas, Fill single area, Clear all areas and Clear single area functions are used to activate automatic copper fill procedures. Fill all areas performs automatic copper fill on all copper fill workareas. Clear all areas deletes copper areas from all copper fill workareas. With Fill single area and Clear single area, the user is expected to select the desired copper fill workarea.

Use the following commands to set the isolation distance to 0.35mm, specify a minimum structure size of 0.15mm, deactivate the automatic isolated copper area elimination and fill the predefined workarea:

AreasLeft Mouse Button (LMB)
Copper FillLeft Mouse Button (LMB)
Set Fill ClearanceLeft Mouse Button (LMB)
Copper Clearance Distance ( 0.30mm) ?0.35 Return/Enter Key (CR)
Min. Fill SizeLeft Mouse Button (LMB)
Min. Fill Structure Size ( 0.10mm) ?0.15 Return/Enter Key (CR)
Insol. Area ModeLeft Mouse Button (LMB)
Keep IslandsLeft Mouse Button (LMB)
Fill single areaLeft Mouse Button (LMB)
Move to Copper Fill WorkareaLeft Mouse Button (LMB)

The system fills the selected workarea with active copper assigned to the signal named net and isolated from other signal levels. The copper fill process is very laborious and might last a few moments to complete. You should perform a screen redraw and examine the results after the copper fille procedure is completed. You can reset the copper fill, change the copper fill parameters and re-apply the copper fill function if you are not satisfied with the results (maybe because of either too small or too large structures being generated).

Use the following commands to reset the copper fill from above and re-apply the copper fill with automatic isolated area generation:

AreasLeft Mouse Button (LMB)
Copper FillLeft Mouse Button (LMB)
Clear single areaLeft Mouse Button (LMB)
Insol. Area ModeLeft Mouse Button (LMB)
Delete IslandsLeft Mouse Button (LMB)
Fill all areasLeft Mouse Button (LMB)

The minimum structure size (i.e., the smallest area size to be generated with copper fill) has basic meaning for subsequent CAM Processor. The copper fill algorithm uses the minimum structure size for automatically rounding off convex corners to avoid acute-angled areas. You should specify the minimum structure size according to the size of the smallest round aperture defined for Gerber output to ensure that Gerber photoplot data can be generated without overdraw errors (see also chapter 4.7 of this manual).

Copper Fill Complexity

The CPU time and memory requirements of the copper fill algorithm strongly depend on the quantity and complexity of the structures to be isolated and/or generated. Orthogonal structures make the job much easier than e.g., arc-shaped objects since a lot more time consuming geometric distance calculations and complex floating point operations are required for the latter. Figure 4-8 elucidates how the complexity of the objects to be isolated and particularly their mutual positioning strongly affects memory requirements during copper fill. Note, however, that figure 4-8 does not show what large amount of temporary data is required for the area reduction and expansion algorithms used for generating correct copper fill areas. Defining more smaller copper fill workareas instead of a few large ones can often be the workaround when running into memory problems using the copper fill function on main memory limited PC systems.

Figure 4-8: Automatic Copper Fill Complexity

Figure 4-8: Automatic Copper Fill Complexity

You can use one of the Octagonal Corners, Octagonal Circles and Octagonal Corners+Circles options instead of the Round Corners default option from the Traces Cut Mode function to reduce the complexity and number of fill areas. This allows for trace corners and/or full circles to be isolated like octagons, thus also reducing the amount of Gerber data if no Gerber arc commands can be used.

To avoid long response times after unintentionally activating the copper fill function, automatic copper fill can be canceled by pressing any key and confirming the abort request with a verification menu. Note, however, that canceling is not possible anymore at the final stage of connectivity generation, and that areas generated before the abort request must be explicitly eliminated using the Undo function.

Using the copper fill function considerably increases the number of copper areas and polygon points. This raises the CPU time requirements for the Mincon function if the Mincon function type is set to a corner to corner airline calculation (see chapter 4.3.2 of this manual). In such cases it can be worthwhile to use a pin to pin calculation method to reduce Mincon CPU time requirements. The Mincon Function from the Layout Editor Settings menu is used to set the Mincon function type.

Copper Area Hatching

The Copper Fill submenu provides the Hatch Copper Area function for transforming copper areas into line or cross hatched areas with user-definable hatching width and hatching clearance.

Hatching is accomplished through trace segments generation. The width of the produced trace segments can be set with the Hatching Width function (default 0.3mm) whilst the spacing between produced trace segments can be set with the Hatching Spacing function (default 1/20 inch).

The Hatching Mode function is used to designate the hatching type. The default Line Hatching option generates hatch areas with diagonal trace segments. The Grid Hatching option generates hatch areas with crosswise intersecting diagonal trace segments.

The hatching process is activated by calling the Hatch Copper Area function and selecting the copper area to be hatched.

Use the following commands to set the coordinate display mode to inch, and transform the circle-shaped copper area on signal layer 2 of the layout to a line-hatched area with a hatching distance of 1mm:

SettingsLeft Mouse Button (LMB)
Coordinate DisplayLeft Mouse Button (LMB)
Display InchLeft Mouse Button (LMB)
AreasLeft Mouse Button (LMB)
Copper FillLeft Mouse Button (LMB)
Hatching DistanceLeft Mouse Button (LMB)
Hatching Line Spacing ( 1.27mm) ?1 Return/Enter Key (CR)
Hatch Copper AreaLeft Mouse Button (LMB)
Move to Passive Copper Area/Signal Layer 2, [0.8",1.8"]Left Mouse Button (LMB)

Use the following commands to set the hatching width to 0.2mm and transform the active copper area (signal vdd) on signal layer 1 of the layout into a cross-hatched area:

AreasLeft Mouse Button (LMB)
Copper FillLeft Mouse Button (LMB)
Hatching WidthLeft Mouse Button (LMB)
Hatching Line Width ( 0.30mm) ?0.2 Return/Enter Key (CR)
Hatching ModeLeft Mouse Button (LMB)
Grid HatchingLeft Mouse Button (LMB)
Hatch Copper AreaLeft Mouse Button (LMB)
Move to Active Copper Area "vdd"/Signal Layer 1, [2.5",2.0"]Left Mouse Button (LMB)

The Hatch Copper Area function generates a special layout polygon type called hatched copper area. The hatching and the hatching area outline are generated using traces with a trace width according to the hatching width setting. The traces are strongly connected with the hatched copper polygon to support general Layout Editor polygon functions such as Move Area or Delete Area.

The PCB layout example should now look like the one shown in figure 4-9 if you correctly executed all operations.

Figure 4-9: Layout with Filled Copper Areas

Figure 4-9: Layout with Filled Copper Areas

This might be a good time to save the layout:

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)
 

4.6.9 Library Update

The Update Library function is one of the most powerful features of the Bartels AutoEngineer. Update Library is usually used to update a job-specific library in order to correlate it with the contents of some master library.

Use the following commands to copy the currently loaded layout to the democopy.ddb DDB file (with default layout element name), and load the copied layout:

FileLeft Mouse Button (LMB)
Save Element AsLeft Mouse Button (LMB)
File Name ?democopy Return/Enter Key (CR)
Element Name ? Return/Enter Key (CR)
Load ElementLeft Mouse Button (LMB)
LayoutLeft Mouse Button (LMB)
File Name ?democopy Return/Enter Key (CR)
Element Name ? Return/Enter Key (CR)

Now the copied layout appears on the screen. However, this layout contains only those objects which are directly defined on the layout. The lower level library elements (parts, padstacks, pads) are not displayed since they have not been copied with the Save Element As function to prevent from overwriting existing library elements in the democopy.ddb destination file. The system will issue either the

Connected pins missing!

message or the

Cannot load all elements (display not complete)!

message in the status line. Use the following commands to correlate the job-specific library of DDB file democopy.ddb with the contents of DDB source file demo.ddb:

FileLeft Mouse Button (LMB)
Update LibraryLeft Mouse Button (LMB)
LayoutLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ? Return/Enter Key (CR)
Source File Name ?demo Return/Enter Key (CR)

After a few moments the system should issue a Library elements replaced! message which means that all library elements referenced from the currently loaded layout have been copied from the specified library source file. Use the following commands to re-load the layout in order to display the library update (Update Library works on DDB file level, it doesn't affect elements in main memory):

FileLeft Mouse Button (LMB)
Load ElementLeft Mouse Button (LMB)
LayoutLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ? Return/Enter Key (CR)

The Update Library function can also be used to correlate the job-specific library with the contents of a different layout library file. Use the following commands to perform a library update for the currently loaded layout using the library source file demolib.ddb, and re-load the layout (note how the r04a25 resistor package type is updated with the definition from demolib.ddb):

FileLeft Mouse Button (LMB)
Update LibraryLeft Mouse Button (LMB)
LayoutLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ? Return/Enter Key (CR)
Source File Name ?demolib Return/Enter Key (CR)
Load ElementLeft Mouse Button (LMB)
LayoutLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ? Return/Enter Key (CR)

The Replace Element function is used for substituting selectable library elements with definitions from a certain library source file. Use the following commands to replace the r04a25 part symbol and the p1206 pad symbol of the current democopy.ddb DDB file with the corresponding definitions from the demo.ddb DDB file, and re-load the layout (Replace Element works on DDB file level, it doesn't affect elements in main memory):

FileLeft Mouse Button (LMB)
Replace ElementLeft Mouse Button (LMB)
PartLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ?r04a25 Return/Enter Key (CR)
Source File Name ?demo Return/Enter Key (CR)
Please confirm (Y/N) ?y Return/Enter Key (CR)
Replace ElementLeft Mouse Button (LMB)
PadLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ?p1206 Return/Enter Key (CR)
Source File Name ?demo Return/Enter Key (CR)
Please confirm (Y/N) ?y Return/Enter Key (CR)
Load ElementLeft Mouse Button (LMB)
LayoutLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ? Return/Enter Key (CR)
 

4.6.10 Back Net List

The Back Netlist function from the Utilities menu is most useful for certain applications such as high frequency design, where net list data is requested to be automatically generated from the copper located on the PCB.

The mode of operation of this function should be demonstrated using the currently loaded layout from DDB file democopy.ddb. Delete the trace which connects the pins NO1 and 4 of the parts named K1 and X1, and reset the definition of power layer vss:

TracesLeft Mouse Button (LMB)
Delete TraceLeft Mouse Button (LMB)
Move to Trace,e.g.[2.35",0.9"]Left Mouse Button (LMB)
SettingsLeft Mouse Button (LMB)
Set Power LayersLeft Mouse Button (LMB)
1: vssLeft Mouse Button (LMB)
Net Name ?- Return/Enter Key (CR)
EndLeft Mouse Button (LMB)

Note how the deleted trace and power layer definition are replaced with airlines. Use the following commands to add a trace to connect the pins 2 and 1 of the parts named R100 and R101:

TracesLeft Mouse Button (LMB)
Add TraceLeft Mouse Button (LMB)
Move to "R100.2",[1.4",2.4"]Left Mouse Button (LMB)
Move to "R101.1",[1.6",2.4"]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

The system now indicates a short-circuit error. Use the following commands to save the layout, run Back Netlist to generate a net list with the same file and element name, and immediately re-load the layout again (Back Netlist stores to DDB file without changing the currently loaded net list data):

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)
UtilitiesLeft Mouse Button (LMB)
Back NetlistLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ? Return/Enter Key (CR)
FileLeft Mouse Button (LMB)
Load ElementLeft Mouse Button (LMB)
LayoutLeft Mouse Button (LMB)
File Name ? Return/Enter Key (CR)
Element Name ? Return/Enter Key (CR)

Now the system performs a connectivity generation to correlate the layout with the net list which was previously generated with Back Netlist. Note that there are no airlines displayed anymore after completing the connectivity generation. The layout does not contain any open connections and/or short-circuits anymore (you can check this with Batch DRC and Report from the Utilities menu). Deleting the trace which was previously causing a short-circuit would now result in an airline display.

Another useful application of the Back Netlist function net list generation from Gerber data which was previously loaded with the CAM View module (for more details see chapter 4.8 of this manual).

 

4.6.11 Blind and Buried Vias

Blind and buried vias are partial vias which can be used for layer changes when routing multilayer layouts. Routing with blind and buried vias can considerably increase the routability of multilayer layouts with four or more signal layers.

The BAE Layout Editor features arbitrary pad layer assignment (see also chapter 4.2.2 for more details on creating padstacks) and drill classes to support the definition of blind and buried vias. Drill classes should be assigned to certain layer-sets to support CAM drill data output for selectable layer-sets (see also chapter 4.7 for more details on drill data output). There are no system-imposed restrictions on how to define and/or assign drill classes. You can, e.g., use drill class A for layer-set 1-2, drill class B for layer-set 2-3, drill class C for layer-set 3-4, etc. Note, however, that the drill class assignment must be considered for correct drill data output by the CAM Processor, and that the layout top layer setting (see also chapter 4.3.1) gains special meaning when using blind and buried vias.

A typical configuration for 4-layer layouts is the definition of the vias via (for all layers), via_12 (for layer-set 1-2), via_23 (for layer-set 2-3) and via_34 (for layer-set 3-4). All these vias are simultaneously available for routing when selected to the via list (see also chapter 4.3.4 for details on how to select vias)

The Change Layer Layout Editor command used during interactive routing automatically selects the via with the least possible layer occupancy. The same principle is applied by the Autorouter. At least one via for all signal layers required for autorouting. Additionally, the Autorouter can e.g., simultaneously use vias for the layer-sets 1-2-3, 1-2, 2-3, etc. However, to avoid backtracking ambiguities, the Autorouter is restricted in that it can not use vias with multiple mutually intersecting layers. I.e., the Autorouter refuses to use a via for layer-set 1-2-3 and another via for layer-set 2-3-4 at the same time (error message Invalid via padstack (cannot use it)!).

Using the CAM Processor for generating drill data output for the drill holes defined on partial vias requires corresponding drill class(es) to be specified.

The production of PCBs with blind and buried vias is usually more expensive than the production of standard multilayer boards. However, using blind and buried vias increases the routability of multilayer layouts and also supports advanced PCB manufacturing technologies such as plasma-etched via production processes.

 

4.6.12 Exiting the Layout System

Don't forget to save the currently edited layout element before exiting the Layout Editor:

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)

Returning to Main Menu

The following commands can be used from each program module of the BAE layout system (except for the Autorouter) to return to the BAE Main Menu (BAE Shell):

FileLeft Mouse Button (LMB)
Main MenuLeft Mouse Button (LMB)

The Main Menu function automatically saves the currently loaded layout element. From the BAE Shell, the following command can be used to return to the operating system:

Exit BAELeft Mouse Button (LMB)

Exiting BAE

The following commands can be used from each program module of the BAE layout system to return to the operating system, i.e., to exit the Bartels AutoEngineer:

FileLeft Mouse Button (LMB)
Exit BAELeft Mouse Button (LMB)

The Exit BAE function activates a confirmation request if the currently loaded element has not yet been saved. In this case you should abort the Exit BAE function, save the current element, and then call Exit BAE again, as in:

FileLeft Mouse Button (LMB)
Exit BAELeft Mouse Button (LMB)
Please confirm (Y/N) ?n Return/Enter Key (CR)
FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)
FileLeft Mouse Button (LMB)
Exit BAELeft Mouse Button (LMB)
 

4.7 CAM Processor

 

4.7.1 Starting the CAM Processor

Before starting the CAM Processor for generating real project manufacturing data, you should always perform a complete design rule check using the Batch DRC function from the Layout Editor Utilities menu. Subsequently the DRC result should be examined with the Report function. It is strongly recommended to refrain from generating and/or releasing any CAM Processor output if clearance violations, short circuits or open connections are indicated since this will (almost certainly) result in the production of faulty PCBs.

It is recommended to start the Bartels AutoEngineer from in the directory where the design files should be generated since this considerably simplifies job file access. If you intend to process the examples provided with this manual it is recommended to move to the BAE examples directory installed with the BAE software. The Layout Editor can be called from the Bartels AutoEngineer main shell. Start the BAE shell by typing the following command to the operating system prompt:

> bae Return/Enter Key (CR)

Move the menu cursor to the Layout menu item and confirm this choice by pressing the left mouse button:

LayoutLeft Mouse Button (LMB)

Now the Layout Editor program module is loaded and the Layout Editor menu is activated. If this fails to happen then check your BAE software installation (see the Bartels AutoEngineer® Installation Guide for details on how to perform a correct installation).

Use the CAM Processor command from the Layout Editor File menu to call the CAM Processor:

FileLeft Mouse Button (LMB)
CAM ProcessorLeft Mouse Button (LMB)

If a layout element was previously processed in the Layout Editor, then this element will automatically be saved and re-loaded to the CAM Processor. Within the CAM Processor the Load Element function from the File menu is used to load layout elements of any hierarchy level. Use the following commands to load the layout named board from DDB file demo.ddb:

FileLeft Mouse Button (LMB)
Load ElementLeft Mouse Button (LMB)
LayoutLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?board Return/Enter Key (CR)

The system issues the Cannot load character font! error message, if the font used in the loaded element is not available in the ged.fnt font file from the BAE programs directory.

Without character font data, the CAM Processor fails to plot any text defined on the currently loaded layout element. You should either supply the requested character font (e.g., use the fontconv utility program) or assign an existing font to the layout element using the Select Font function from the Layout Editor Text menu before producing any CAM output.

 

4.7.2 CAM Processor Main Menu

The CAM Processor standard/sidemenu user interface provides a menu area on the right side, consisting of the main menu on top and the currently active menu below that main menu. After entering the CAM Processor the Utilities menu is active and the menu cursor points to the Load Element function.

The Windows and Motif versions of the CAM Processor can optionally be operated with a pull-down menu user interface providing a horizontally arranged main menu bar on top. The WINMENUMODE command of the bsetup utility program is used to switch between SIDEMENU and PULLDOWN Windows/Motif menu configurations (see chapter 7.2 for more details).

The following main menu is always available whilst processing layout data with the CAM Processor:

Display
Control Plot
Gerber Photoplot
Drilling+Insertion
Plot Parameters
Utilities

Display

The View or Display menu can either be activated by selecting the corresponding main menu item or by pressing the middle mouse button. The View or Display menu provides useful functions for changing display options such as zoom window, zoom scale, input grid, color settings, etc.

Control Plot

The Control Plot menu provides the functions for generating HP-GL pen plots, PCL HP-laser prints and Postscript output.

Gerber Photoplot

The Gerber Photoplot menu provides the functions for generating Gerber photo plots, also including facilities for defining and managing Gerber aperture tables.

Drilling+Insertion

The Drilling+Insertion menu provides the functions for generating drill data output (format Sieb&Meier and/or Excellon ) and insertion data output (generic format).

Plot Parameters

The Plot Parameters menu is used to set general plot parameters (plot tolerance, CAM origin, CAM rotation, CAM mirror mode) and to define special parameters for generating negative power layer plots. The Plot Parameters menu also provides features for controlling the processing of special layers such as the All Signal, Middle Layers, Board Outline and Plot Markers layers.

Utilities

The Utilities menu provides functions for exiting BAE, returning to the BAE main shell, calling the Layout Editor and starting User Language programs. The Utilities menu can also be used for loading layout elements, listing DDB file contents, setting the display grid and the coordinate display mode, or removing error markers.

 

4.7.3 Customized CAM Processor User Interface

Menu Assignments and Key Bindings

The BAE software comes with User Language programs for activating a modified CAM Processor user interface with many additional functions (startups, toolbars, menu assignments, key bindings, etc.). The bae_st User Language program is automatically started when entering the CAM Processor. bae_st calls the uifsetup User Language program which activates predefined CAM Processor menu assignments and key bindings. Menu assignments and key bindings can be changed by modifiying and re-compiling the uifsetup source code. The hlpkeys User Language program is used to list the current key bindings. With the predefined menu assignments of uifsetup activated, hlpkeys can be called from the Key Bindings function of the Help menu. Menu assignments and key bindings can be listed with the uifdump User Language program. The uifreset User Language program can be used to reset all currently defined menu assignments and key bindings. uifsetup, uifdump and uifreset can also be called from the menu of the keyprog User Language program which provides additional facilities for online key programming and User Language program help info management.

Cascading Windows/Motif Pulldown Menus

The Windows and Motif pulldown menu user interfaces of the CAM Processor provide facilities for cascading submenu definitions. I.e., submenus can be attached to other menu items. The uifsetup User Language program configures cascading submenus for the pulldown menu interfaces of the Windows/Motif CAM Processor modules. This allows for easy submenu function location (and activation) without having to activate (and probably cancel) submenus. The function repeat facility provided through the right mouse button supports cascading menus to simplify repeated submenu function calls.

Windows/Motif Parameter Setup Dialogs

The following Windows/Motif parameter setup dialogs are implemented for the CAM Processor:

  • Settings - Settings: General CAM/Plot Parameters
  • View - Settings: Display Parameters
  • Control Plot - Settings: Control Plot Parameters
  • Gerber Photoplot - Settings: Gerber Photoplot Parameters
  • Drilling+Insertion - Settings: Drilling Data Output Parameters

The uifsetup User Language program replaces the parameter setup functions of the Windows and Motif pulldown menus with the above menu functions for activating the corresponding parameter setup dialogs.

Windows/Motif Pulldown Menu Konfiguration

When using pulldown menus under Windows and Motif, the uifsetup User Language program configures the following modified CAM Processor main menu with a series of additional functions and features:

File
View
Control Plot
Gerber Photoplot
Drilling+Insertion
Settings
Utilities
Help
 

4.7.4 In-built CAM Processor System Features

Automatic Parameter Backup

The CAM Processor provides an in-built feature for automatically saving important operational and plot parameters with the currently processed layout and/or part symbol. The following parameters are stored to the current design file when changing to the BAE main menu or to the Layout Editor (i.e., CAM parameter backup can only be suppressed when exiting BAE):

  • Name of the currently loaded Layout Color Table
  • Input Grid
  • Display Grid
  • Coordinate Display Mode
  • Wide Line Draw Start Width
  • Output Mode Board Outline
  • Output Mode All Signal Layers
  • Output Mode Plot Marker Layer
  • Plot/CAM Accuracy/Symbol Tolerance
  • Plot/CAM Origin Coordinate
  • Plot/CAM Rotation Mode
  • Plot/CAM Mirroring Mode
  • Power Layer Heat Trap Minimum Distance
  • Power Layer Isolation Minimum Distance
  • Power Layer Heat Trap Range/Tolerance
  • Power Layer Isolation Range/Tolerance
  • Power Layer Border Width
  • Power Layer Isolation Drawing Width
  • Control Plot Output File Name/Device
  • Control Plot Scaling Factor
  • HP-GL Plot Pen Width/Standard Line Width
  • HP-GL Plot Speed
  • HP-GL Plot Filling Mode
  • Gerber Output File Name/Device
  • Gerber Aperture Table Name
  • Gerber Format/Plotter Units
  • Gerber Standard Line Width
  • Gerber Fill Mode
  • Gerber Arc Plotting Mode
  • Drilling Data Output File Name/Device
  • Drilling Tool Table Output File Name/Device
  • Drilling Tool Tolerance/Accuracy
  • Insertion Data Output File Name/Device

Parameter sets are stored with special names according to the currently processed layout database hierarchy level. The layout element name is used for layout elements, parameter set name [part] is used for layout part symbol elements, [padstack] is used for layout padstack elements and [pad] is used for layout pad elements. When loading an element, the corresponding parameter set is automatically loaded as well, thus providing a convenient way of activating a default parameter set suitable for processing the selected design and/or library element type.

Output Device

The Plot Device functions from the Control Plot and Gerber Photoplot menus are used to specify the CAM data output device. The output can either be written to a file, or directly to the plotter and/or printer. When plotting to a file, the desired output file name must be specified. When writing directly to the plotter, the name of the output port where the plotter is connected (e.g., com2, lpt1 under DOS) must be specified. Take care that enough disk space is available when writing to a file and that the corresponding interface is correctly initialized when directing output to a hardware device. CAM output aborts with one of the following error message if neither of these requirements are met:

Error creating file!
Error writing ASCII file!

The CAM Processor will prompt for the output device name after activating the desired output function, if no default plot device has been been specified with the Plot Device function. Popup menus for fast output file selection are integrated to the Plot Device, HP-GL Output, Postscript Output, HP Laser Output, Dump Aperture Table, Gerber Output, Drill Data Device, Tool Table Device, Drill Output, Tool Table Output and Insertion Output functions of the Control Plot, Gerber Photoplot and Drilling+Insertion menus. Files ending on .ass, .con, .ddb, .def, .exe, .fre, .ulc and .usf are faded out from the output file menus for data security reasons. New output file names can optionally be typed in via keyboard.

User Language

The Bartels User Language Interpreter is integrated to the CAM Processor, i.e., User Language programs can be called from the CAM Processor, and it is possible to implement any user-specific CAM Processor function required such as status display, parameter setup, reports and test functions, special CAD/CAM output and plot functions, customer-specific batch procedures, etc.

The CAM Processor provides both explicit and implicit User Language program call facilities. User Language programs can be started with explicit program name specification using the Run User Script function from the File menu (empty string or question-mark (?) input to the program name query activates a User Language program selection menu).

User Language programs can also be called by simply pressing special keys of the keyboard. This method of implicit User Language program call is supported at any time unless another interactive keyboard input request is currently pending. The name of the User Language program to be called is automatically derived from the pressed key, i.e. pressing a standard and/or function key triggers the activation of a User Language program with a corresponding name such as cam_1 for digit key 1, cam_r for standard key r, cam_# for standard key #, cam_f1 for function key F1, cam_f2 for function key F2, etc.

The CAM Processor User Language Interpreter environment also features event-driven User Language program calls, where User Language programs with predefined names are automatically started at certain events and/or operations such as cam_st at CAM Processor module startup, cam_load after loading a design element, cam_save before saving a design element, cam_tool at the selection of a toolbar item and cam_zoom at the change of the zoom factor. The module startup User Language program call method is most useful for automatic system parameter setup as well as for key programming and menu assignments. The element save and load program call methods can be used to save and restore element-specific parameters such as the zoom area, color setup, etc. The toolbar selection event must be used to start User Language programs which are linked to toolbar elements. The zoom event can be used to apply an update request to a design view management feature.

Bartels User Language also provides system functions for performing key programming, changing menu assignments and defining toolbars. These powerful features can be applied for user interface modifications. Please note that a large number of additional functions included with the CAM Processor menu are implemented through the User Language programs delivered with the BAE software.

See the Bartels User Language Programmer's Guide for a detailed description of the Bartels User Language (chapter 4.2 lists all User Language programs provided with the BAE software).

Neural Rule System

A series of advanced Bartels AutoEngineer features are implemented through the integrated Neural Rule System. See chapter 6.3.2 for the rule system applications provided with the Bartels AutoEngineer. Some of these applications allow for special manufacturing data outputs and for extended control over manufacturing data generation processes.

 

4.7.5 Plot Parameters

The CAM Processor supports a series of general parameters for controlling the CAM output such as plot tolerance, CAM rotation, CAM mirror mode, etc. These parameters can be changed using the functions provided with the Plot Parameters menu. It is strongly recommended to set appropriate plot parameters before generating CAM output.

Each input prompt at the specification of plot parameters includes a parentheses-enclosed display of the current parameter value setting. On invalid parameter input values the CAM Processor issues an error message such as Invalid numeric value!, and the current parameter value is left unchanged.

Plot Parameter Save/Load

CAM plot parameter settings are automatically stored with the currently processed design file when switching to another BAE module (see above, chapter 4.7.4). The CAM Processor File menu also provides the Save Parameters and Load Parameters functions. Save Parameters can be used to save the current CAM plot parameter settings to a different DDB file. Load Parameters can be used to load CAM parameter settings from a selectable DDB file.

Plot/CAM Origin

The Plot/CAM Origin function is used to set the origin of the output coordinate system. When loading a layout element the CAM origin is automatically set to the lower left corner of that element. When selecting the plot rotate or the plot mirror option (see below), then the CAM origin is automatically moved from the lower left to the upper left corner of the currently loaded element (or vice versa). The Plot/CAM Origin function can be used to set the CAM origin to an arbitrary point inside the element boundaries. It is always possible to avoid negative output coordinates which certain output devices might not be able to understand and/or process.

The plot parameter dialog of the CAM Processor Windows and Motif versions provides a button for resetting the CAM origin to its default position.

Plot/CAM Rotate

The Plot/CAM Rotate function provides the options No Rotate and Left Rotate. The No Rotate option sets the 0 degree plot rotation (which is the default). The Rotate Left option produces a 90 degree counter-clockwise rotated plot output. Negative output coordinates might be produced when rotating plots. Some printers or plotters refuse to process negative coordinates. The Rotate Left option automatically moves the CAM origin from the lower left to the upper left corner of the element (or vice versa), thus ensuring positive output coordinates only. However, Rotate Left does not change arbitrary CAM origin settings, i.e., positive output coordinates must then be enforced by replacing the CAM origin manually (see above).

To indicate CAM rotation mode settings, a mirror mode specific example text and an arrow are placed at the CAM origin marker if CAM mirroring and/or rotation is selected.

Plot/CAM Mirror

The Plot/CAM Mirror function provides options for mirroring the CAM output:

Plot ParametersLeft Mouse Button (LMB)
Plot/CAM MirrorLeft Mouse Button (LMB)
Mirroring Off
Mirroring On
X-Backside (M:Off)
X-Backside (M:On)
Y-Backside (M:Off)
Y-Backside (M:On)

Mirroring Off produces output as displayed on the screen. Mirroring On produces output mirrored at the X-axis crossing the CAM origin. X-Backside (M:Off) mirrors all coordinates at the X-axis crossing the CAM origin, except for the texts which are plotted unmirrored. X-Backside (M:On) performs X-axis text mirroring only. Y-Backside (M:Off) mirrors all coordinates at the X-axis crossing the CAM origin, and additionally performs Y-axis text mirroring. Y-Backside (M:On) performs Y-axis text mirroring only. Figure 4-10 illustrates the effects of the different mirror options.

Figure 4-10: CAM Mirror Modes

Figure 4-10: CAM Mirror Modes

With all mirror modes, the position of the CAM origin must be considered. With mirroring activated, the CAM origin should be set to the upper left corner of the layout element to ensure positive coordinates output. With the CAM origin set to default, Plot/CAM Mirror automatically replaces the CAM origin to produce positive output coordinates only.

To indicate CAM mirror mode settings, a mirror mode specific example text and an arrow are placed at the CAM origin marker if CAM mirroring and/or rotation is selected.

All Layers Mode

The All Layers Mode function is used to designate how objects should be treated, which are placed on signal layers All Layers and Middle Layers or on both sides of documentary layers. With documentary layers, the All Layers Mode refers to side 1 and side 2 and corresponds with the Both Side options of the documentary layer menus. With signal layers, the All Layers Mode refers to the All Layers and Middle Layers signal layer selections. With option Plot Separate, all layer objects are only plotted when selecting the corresponding plot layer (All Layers, Middle Layers or Both Sides with documentary layers). With option Plot Together, all layer objects are plotted together with the selected plot layer. I.e., when plotting signal layer 1 with Plot Together the objects on signal layer All Layers are also plotted, when plotting Side 2 of documentary layer Insertion Plan the objects on Insertion Plan - Both Sides are also plotted, etc. On default, the Plot Together option is used.

The All Layer Mode plot parameter of the BAE HighEnd CAM Processor also provides the Plot Connected, Pins & connected Vias and Vias & connected Pins options. These modes restrict the output of inside layer pin and/or via pads to only those pads which have connections to other elements on the selected inside layer. Plot connected plots only connected inside layer pin and via pads. Pins & connected Vias plots all inside layer pin pads and only connected inside layer via pads. Vias & connected Pins plots all inside layer via pads and only connected inside layer pin pads. Inside layers are all signal layers except for layer 1 and the signal layer selected with the Set Top Layer function.

Symbol Tolerance

The Symbol Tolerance function is used to set the plot accuracy for filling areas and/or creating structures using the available set of tools. It allows to plot elements to be smaller by the specified plot tolerance value if this creates more efficient output. E.g., when photoplotting a round pad with 0.062 inch diameter and the plot tolerance set less than 0.002 inch, then the 0.060 inch aperture is used to draw in a circle to produce the correct size; if the tolerance is set greater than 0.002 inch then the 0.060 inch aperture is flashed, since it is smaller than the required size but within the tolerance and much more efficient.

The plot tolerance is only calculated to the inside of the structures to be plotted since, otherwise, short-circuits might be produced. The default plot tolerance value is 0.15mm. For structures which cannot be plotted correctly using the smallest aperture and/or pen width, the CAM Processor uses the smallest available tool to generate that structure. Such structures produce overdraw plot errors which are reported and/or indicated with highlight. It is strongly recommended to refrain from passing CAM output with overdraw errors to the PCB manufacturer since this could produce PCBs containing short-circuits. The Remove Error Marks function from the Utilities menu can be used to reset the overdraw error display.

Board Outline and Plot Markers

The Border Mode and Reg. Marks Mode functions are used to designate whether the board outline and/or the plot markers should be plotted together with other layers. With the Plot Border Off option of the Border Mode function the board outline can be plotted only when selecting the Border plot layer. With the Plot Border On option, the board outline is plotted together with any other plot layer. With the Plot Reg.Marks Off option of the Reg. Marks Mode function, the plot markers can be plotted only when selecting the corresponding plot markers documentary layer. With the Plot Reg.Marks On option, the plot markers are plotted together with any other plot layer. The plot markers documentary layer can be defined with the LAYPLTMARKLAY command of the bsetup utility program (see chapter 7.2 for more details). On default the Plot Border On and the Plot Reg.Marks On options are used.

 

4.7.6 Power Layers

When plotting power layers, the CAM Processor automatically generates negative plots using special power layer plot parameters. Text placed on power layers is plotted using the standard line width or the selected pen width.

When editing power layers, the Layout Editor obviously does not know about the power plot parameters which will later be set in the CAM Processor. I.e., the Layout Editor's DRC cannot perform complete electric checking on power layer plot data generated in the future. It is strongly recommend to perform extensive visual checks on power layer plots before passing such plot data to the film and/or PCB manufacturer (use the CAM View module). Connectivity-changing isolations might be produced, if the power plot isolation width parameters are set too large.

Power Layer Border

The Power Layer Border function from the Plot Parameters menu is used to define the PCB power layer border width, i.e., the copper-free PCB boundary area to be generated when plotting power layers. The default value for the power layer border width is 2.1mm. If the PCB board outline contains arc-shaped segments, then an appropriate tool (aperture, standard line width or pen) for drawing the board outline with the specified power layer border width is required.

Split Power Planes and Power Plane Isolation

Both active and passive power planes placed on power layers are generated by plotting the power plane outline which then is the isolation line of the power plane. Processing active power planes with specific net assignment generates split power planes, whilst passive power planes without net assignment result in isolated areas on the power layer. The width of the power plane isolation can be adjusted with the Power Layer Isolation function from the Plot Parameters menu. The default power plane isolation width is 0.3mm.

Power Layer Pin Isolation

Pins not connected to the power layer and/or the power plane net are isolated by placing filled circles at the corresponding pin drill holes. The isolation circle diameters are calculated from the drill hole diameters and the plot parameters to be set with the P-IS Min. Distance and P-IS Tolerance functions from the Plot Parameters menu. The P-IS Min. Distance function is used to specify the minimum distance between the edge of the drill hole and the outside of the isolation circle placed in the power layer. The default value for the power layer isolation minimum distance is 0.4mm. The P-IS Tolerance function is used to specify the outward tolerance of the isolation area. The default value for the power layer isolation is 0.5mm. The minimum isolation circle diameter is calculated as in

Drill Diameter + 2 × (P-IS Min. Distance)

The maximum isolation circle diameter is calculated as in

Drill Diameter + 2 × (P-IS Min. Distance) + 2 × (P-IS Tolerance)

Figure 4-11 illustrates the effects of the minimum isolation distance and the isolation tolerance power plot parameter settings.

Figure 4-11: CAM Power Layer Isolation

Figure 4-11: CAM Power Layer Isolation

Heat Traps

Pin connections into power layers or to power planes placed on power layers are automatically generated with heat trap construction. A heat trap is constructed with four 45 degree isolation circle segments placed round the drill hole of the pin, thus preventing from too much heat flow. The heat trap circle diameters are calculated from the drill hole diameters and the plot parameters to be set with the P-HT Min. Distance and P-HT Tolerance functions from the Plot Parameters menu. The P-HT Min. Distance function is used to specify the minimum distance between the edge of the drill hole and the outside of the heat trap circle. The default value for the heat trap minimum distance is 0.4mm. The P-HT Tolerance function is used to specify the outward tolerance of the heat trap. The default value for the heat trap tolerance is 0.5mm. The heat trap circle diameters are calculated analogously to the isolation circles (see above).

With Gerber photoplot, the CAM Processor checks if there is a thermal aperture available with a diameter matching the calculated tolerance range, which can be used to flash the heat trap. Otherwise, the heat trap is drawn using the smallest round aperture valid for line strokes.

Use the following commands to set the power layer border width to 0.3mm, the power plane isolation width to 0.25mm, the minimum pin isolation width to 0.35mm with a tolerance of 0.4mm (i.e., maximum pin isolation width 0.75mm) and the heat trap distance to 0.35mm with 0.45 tolerance (i.e. maximum heat trap distance 0.8mm):

Plot ParametersLeft Mouse Button (LMB)
Power Layer BorderLeft Mouse Button (LMB)
Power Layer Border Width ( 2.10mm) ?0.3 Return/Enter Key (CR)
Power Layer Isol.Left Mouse Button (LMB)
Power Layer Isolation Width ( 0.30mm) ?0.25 Return/Enter Key (CR)
P-IS Min. DistanceLeft Mouse Button (LMB)
Min. Distance Isolation to Drill Hole ( 0.40mm) ?0.35 Return/Enter Key (CR)
P-IS ToleranceLeft Mouse Button (LMB)
Tolerance Isolation to Drill Hole ( 0.50mm) ?0.4 Return/Enter Key (CR)
P-HT Min. DistanceLeft Mouse Button (LMB)
Min. Distance Heat Trap to Drill Hole ( 0.40mm) ?0.35 Return/Enter Key (CR)
P-HT ToleranceLeft Mouse Button (LMB)
Tolerance Heat Trap to Drill Hole ( 0.50mm) ?0.45 Return/Enter Key (CR)
 

4.7.7 HP-GL Output

The HP-GL Output function from the Control Plot menu is used to produce pen plots in HP-GL (Hewlett-Packard Graphics Language) format.

The Plotter Pen Width function is used to define the pen width for generating HP-GL output data. Structures smaller than the plotter pen width cannot be drawn without overdraw errors. The default plotter pen width is 0.3mm. Pen width value specifications can range from 0.01mm to 10.0mm.

The Plotter Speed function is used to control the pen plotter speed, i.e., the speed at which the pen can be moved by the HP-GL plotter. The system accepts either S input for maximum speed or non-negative integer plotter speed values in cm/s units. The default plotter speed corresponds with S (maximum speed). The maximum speed value specification is 99cm/s.

The HP-GL coordinates are written in plotter units where 40.2 plotter units are 1 millimeter. Some HP-GL "compatible" plotters are based on 40 plotter units per millimeter. The Plot Scale function can be used to specify a scale factor for producing true to scale output with non-default plotter units. The default plot scale value is 1.0 for true to scale output. Plot scale specifications can range from 0.1 to 100.0.

The Fill Mode HP-GL function provides the options Fill Mode Off and Fill Mode On. Fill Mode Off causes the system to refrain from filling the plot structures, i.e., only outlines are drawn for filled areas. Switching off the fill mode is most useful for fast control plots. Fill Mode On is used to select the default fill mode.

The HP-GL Output function is used to produce HP-GL pen plots. The user is prompted for the plot layer and the pen number (1..99), and for the name of the output file (if no default output device was specified with Plot Device). Note the Multiple Layers option provided with the layer selection menu of the HP-GL Output function. This option can be used for writing the plot data of multiple selectable layers to a single output file. With the Multiple Layers option a popup menu is provided for selecting and/or deselecting the plot data output layers using the right mouse button. Layer selections with the left mouse button also allow for layer-specific pen number selections (on default pen 1 is used for each layer). The Col. button is used to select all currently visible layers for output, with the pen numbers automatically set to modulo eight of the corresponding layer colors.

Use the following commands to set the plotter pen width to 0.2mm, set the plotter speed to 10cm/s, switch off the fill mode and plot the documentary layer Insertion Plan - Side 2 of the currently loaded layout to an HP-GL plot file named demo_bs2.plt using pen number 1:

Control PlotLeft Mouse Button (LMB)
Plotter Pen WidthLeft Mouse Button (LMB)
Plotter Pen Width ( 0.30mm) ?0.2 Return/Enter Key (CR)
Plotter SpeedLeft Mouse Button (LMB)
Plotter Speed (cm/s,S) ?10 Return/Enter Key (CR)
Fill Mode HP-GLLeft Mouse Button (LMB)
Fill Mode OffLeft Mouse Button (LMB)
Plot ScaleLeft Mouse Button (LMB)
Plot Scale Factor ( 1.00) ?0.5 Return/Enter Key (CR)
HP-GL OutputLeft Mouse Button (LMB)
Document LayerLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Side 2Left Mouse Button (LMB)
Plotter Pen Number (1..99) ?1 Return/Enter Key (CR)
Plot File Name ?demo_bs2.plt Return/Enter Key (CR)

After successfully generating the HP-GL plot file, the CAM Processor issues a HP-GL plot done (<n> errors)! message where <n> is the number of overdraw errors. Overdraw errors are highlighted on the layout.

A PG HPGL command is added to the end of HPGL output files to force a page eject and to prevent from subsequent plots being plotted onto the same sheet. The Multiple Layers option must be used for plotting multiple layers onto the same sheet.

 

4.7.8 HP Laser Output

The HP Laser Output function is used to produce HP Laser plots in PCL (Printer Command Language) format. HP Laser plots are automatically scaled to A4 paper size, i.e., neither plot scaling factor nor pen width settings have effect. Use the following commands to generate an HP Laser plot for documentary layer Insertion Plan - Side 1 of the currently loaded layout, and direct the output to lpt1 (e.g., for interfacing an appropriate DOS-connected laser writer device):

Control PlotLeft Mouse Button (LMB)
HP Laser OutputLeft Mouse Button (LMB)
Document LayerLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Side 1Left Mouse Button (LMB)
Plot File Name ?lpt1 Return/Enter Key (CR)

Note the Multiple Layers menu item provided with the layer selection menu of the HP Laser Output function. This option can be used for writing the plot data of multiple selectable layers to a single output file. With the Multiple Layers option a popup menu is provided for selecting and/or deselecting the plot data output layers using the left or right mouse button. The Col. button is used to select all currently visible layers for output.

The CAM Processor issues a HP Laser output done (scale 1:...)! message after successfully generating the PCL plot. The scale information in the status message indicates any non-default scaling factor being used for automatic plot to sheet size scaling.

Binary copy mode is required for transferring PCL plot data to the desired output device. I.e., the /b option must be used when sending PCL files from hard disk to laser printer with the DOS COPY command as in

> copy pclplot lpt1 /b Return/Enter Key (CR)

with pclplot being the name of the previously written PCL plot file and lpt1 designating the output device.

 

4.7.9 Postscript Output

The Postscript Output function from the Control Plot menu is used to produce output in Postscript format. Use the following commands to generate a Postscript output file named demo_l1.ps for signal layer 1 of the currently loaded layout with the standard line width set to 0.25mm and the scaling factor set to 0.75:

Control PlotLeft Mouse Button (LMB)
Plotter Pen WidthLeft Mouse Button (LMB)
Plotter Pen Width ( 0.20mm) ?0.25 Return/Enter Key (CR)
Plot ScaleLeft Mouse Button (LMB)
Plot Scale Factor (0.50) ?0.75 Return/Enter Key (CR)
Postscript OutputLeft Mouse Button (LMB)
Layer 1Left Mouse Button (LMB)
Plot File Name ?demo_l1.ps Return/Enter Key (CR)

Note the Multiple Layers option provided with the layer selection menu of the Postscript Output function. This option can be used for writing the plot data of multiple selectable layers to a single output file. With the Multiple Layers option a popup menu is provided for selecting and/or deselecting the plot data output layers using the left or right mouse button. The Col. button is used to select all currently visible layers for output.

The CAM Processor issues a Postscript output done! message after successfully generating the Postscript output.

 

4.7.10 Windows Generic Output

A generic print/plot output function is implemented with the Windows versions of the BAE PC software. I.e., any print/plot output feature supported by the current Windows operating system configuration is also supported with the CAM Processor of the BAE Windows software.

Use the following commands to activate the Windows print/plot menu:

Control PlotLeft Mouse Button (LMB)
Generic OutputLeft Mouse Button (LMB)

Note the Multiple Layers option provided with the layer selection menu of the Generic Output function. This option can be used for writing the plot data of multiple selectable layers to a single output file. With the Multiple Layers option, a popup menu is provided for selecting and/or deselecting the plot data output layers using the right mouse button. Layer selections with the left mouse button also allow for layer-specific color selections for color plots by assigning pen numbers which correspond with indices to the current color table. The Col. button is used to select all currently visible layers for output, with the color table indices automatically set to modulo-8 layer color numbers.

The Windows printer dialog specifications for the number of copies, page sorting mode and page range are considered by the Generic Output function.

The All Pages option from the Windows printer dialog of the Generic Output function plots all elements of the currently loaded database class. This allows for the output of, e.g., all layouts of a project. All layouts are plotted according to layout-specific plot parameter settings such as plot rotation modes.

The Selection option from the Windows printer dialog allows for the selection of the print area for generic outputs.

The generic output is automatically scaled to the print page format selected through the Windows printer setup if the size of the element to be plotted exceeds the paper size. The page aspect ratio is maintained when automatic plot scaling is applied. The status message of the Generic Output function provides information to indicate any non-default scaling factor being used for automatic plot to sheet size scaling.

 

4.7.11 Bitmap Plot Output to Windows Clipboard

The Output to Clipboard function from the Control Plot menu can be used under Windows for plotting a bitmap of the currently loaded element into the clipboard ready to be imported (e.g., with Paste) to other Windows applications capable of processing bitmaps. The whole element is plotted on default. The Clipping On option can be used to restrict the output to a mouse-selectable rectangle. The plot dialog box also allows for bitmap size specifications and plot rotation mirror mode selections.

A black on white plot is generated for single output layer selections. With Multiple Layers plot output, the selected layers are plotted with their currently assigned colors (and mixed color display) on black background.

 

4.7.12 Gerber Photoplot

Aperture tables are required for Gerber photoplot outputs. The Gerber Photoplot menu of the CAM Processor provides functions for the definition and administration of Gerber aperture tables. Aperture tables are stored to the cam.dat system file in the BAE programs directory. When installing new BAE software versions you should take care not to overwrite cam.dat (either use update install mode or make a backup of the cam.dat system file before installing the BAE software; see the Bartels AutoEngineer® Installation Guide for more details).

Gerber Construction Techniques

It is important to make the Gerber aperture tables as efficient as possible to minimize the Gerber photoplot data. The reason for this is that an unnecessarily large Gerber file takes up more media space, takes longer to transfer by modem, and takes longer to copy. If the plot is produced by a vector plotter it will also take longer to produce, and cost more. To make the Gerber data more efficient it is important to take into consideration the way the photoplotter plots pads and tracking. The photoplotter has two drawing modes, called line draw and flash. A flash is one single flash of light of a size specified with the aperture, which produces an image of the same size on the plot film. For areas that match apertures, a flash code containing only one set of output coordinates is used. For areas that don't match apertures efficient drawing techniques are used where possible, generating few coordinates but with some shapes and sizes more coordinates are needed. With careful design of pads and appropriate Gerber apertures selected very much smaller Gerber data files can be generated making them quicker to copy, cheaper to send by modem, and require less media space.

For orthogonally placed square and rectangular pads that have a matching aperture a flash is used. For rectangular pads that have sides along the X and Y axis and the smaller side matching a square aperture, that aperture is used to draw the pad. For rectangular pads (and square pads that don't have an aperture that matches) that have sides along the X and Y axis and a square aperture exists that is bigger than half the shortest side, that aperture is used to draw the pad with two strokes. For rectangular pads that don't have their sides along the X and Y axis, area fill techniques are used. For round pads that have an aperture that matches a flash is used. For round pads where no aperture matches, area fill techniques are used where line fill will use the nearest smaller aperture to draw the pad by moving in a circular path. Finger pads (rectangles with semi-circles at two opposite sides) are plotted like trace segments, i.e., line draws with matching circular apertures are applied on finger pads.

Area fill techniques are applied for pads which don't meet the above specification. A draw is used for trace widths matching a round aperture. For trace widths that don't match an aperture, overlapping lines are drawn using the next smallest round aperture. Irregularly shaped areas are always generated using fill techniques.

Gerber Aperture Table

The Load Aperture Table, Save Aperture Table and Del. Aperture Table functions from the Gerber Photoplot menu are used to load, save and delete Gerber aperture tables. The List Aperture Tables function provides a list of all of the available Gerber aperture tables. The Load Aperture Table function issues an error message such as

Gerber aperture table overflow!

when trying to load aperture tables containing more than 900 apertures. Such errors indicate a corrupt cam.dat file since the Bartels AutoEngineer it is not capable of creating and/or processing aperture tables with more than 900 apertures. When starting the CAM Processor, the aperture table named standard is automatically loaded. Table 4-4 lists all apertures defined with the standard aperture table.

Table 4-4: Gerber Aperture Table "standard"

D-CodeAperture TypeAperture SizeDrawing Mode
[mil][mm]
D10round7.870.200ALL
D11round8.270.210ALL
D12round9.840.250ALL
D13round11.810.300ALL
D14round15.750.400ALL
D15round19.690.500ALL
D16round23.620.600ALL
D17round27.560.700ALL
D18round31.500.800ALL
D19round35.430.900ALL
D20round39.371.000ALL
D21round43.311.100ALL
D22round47.241.200ALL
D23round51.181.300ALL
D24round59.061.500ALL
D25round62.991.600ALL
D26round66.931.700ALL
D27round78.742.000ALL
D28round90.552.300ALL
D29round98.432.500ALL
D30round102.362.600ALL
D31round110.242.800ALL
D32round118.113.000ALL
D33round129.923.300ALL
D34round137.803.500ALL
D35round149.613.800ALL
D36round157.484.000ALL
D37round169.294.300ALL
D38square15.750.400ALL
D39square19.690.500ALL
D40square23.620.600ALL
D41square29.530.750ALL
D42square31.500.800ALL
D43square39.371.000ALL
D44square43.311.100ALL
D45square47.241.200ALL
D46square51.181.300ALL
D47square59.061.500ALL
D48square62.991.600ALL
D49square78.742.000ALL
D50square86.612.200ALL
D51square118.113.000ALL
D52square129.923.300ALL
D53thermal70.871.800ALL
D54thermal86.612.200ALL
D55thermal98.432.500ALL

The Edit Aperture Table function is used to edit entries in the currently loaded aperture table. After activating the Edit Aperture Table function, the system provides a listing of the currently loaded aperture table where + and - keys can be used to scroll forward and/or backward in this list, and the return key Return/Enter Key (CR) can be used to return to the CAM Processor main menu. For changing a certain aperture table entry the appropriate aperture table index must be entered. Empty string inputs (i.e., pressing the return key Return/Enter Key (CR)) on subsequent aperture specification prompts causes the system to accept predefined values. The first prompt is used to specify the aperture type and/or shape, where r defines a round aperture, q defines a square-shaped aperture, a defines a rectangular aperture, t defines a thermal aperture and s defines a special aperture. Note that special apertures are not utilized by the CAM Processor (special aperture types are reserved for future functions). A dash string input (-) to the aperture type prompt causes the system to delete the selected entry from the aperture table. After specifying the aperture type, the system prompts for the diameter and/or the edge length(s) of the aperture. The aperture size can be input in either mm or inch units and is automatically be converted to mm units in the aperture table. The next prompt is used for specifying the aperture drawing mode, where f (Flash) defines the aperture to be used for flashes only, l (Line) defines the aperture to be used for line drawing only and a (All) defines for either flash or line drawing whatever is appropriate. The last aperture definition prompt is used for specifying the Gerber D-Code number of the aperture, where valid D-Codes range from 10 to 999. It is strongly recommended to ensure unique D-Codes in each Gerber aperture table to prevent the CAM Processor from random use of multiple defined D-Codes.

Note that square-shaped and rectangular aperture can be used for flashing orthogonal placed pads only. It is also strongly recommended to check whether the PCB manufacturer supports rectangular apertures.

Use the following commands to define a round line aperture with 0.3mm diameter and D-Code 10 at aperture table index 1:

Gerber PhotoplotLeft Mouse Button (LMB)
Edit Aperture TableLeft Mouse Button (LMB)
Gerber Aperture Table Index (1..900,+,-) ?1 Return/Enter Key (CR)
Aperture (R)ound/S(Q)uare/(T)hermal/(S)pecial/(A)rea/(-) ?r Return/Enter Key (CR)
Aperture Diameter/Side Length (0.127mm) ?0.3 Return/Enter Key (CR)
Drawing Mode (A)ll/(F)lash/(L)ine ?l Return/Enter Key (CR)
Gerber D-Code Number (10-999) ?10 Return/Enter Key (CR)
Gerber Aperture Table Index (1..900,+,-) ? Return/Enter Key (CR)

An empty string input (i.e., pressing the return key Return/Enter Key (CR)) to the aperture table index prompt causes the system to return to the CAM Processor main menu. The Dump Aperture Table function is used to generate an ASCII listing of the currently loaded aperture table. The Save Aperture Table function is used to save the currently loaded aperture table with a selectable name in the cam.dat system file.

Gerber Format, Optimized Gerber Output

The Gerber Format function is used to specify the Gerber output format. The Gerber 2.3 Format option produces 1/1000 inch integer coordinates. The Gerber 2.4 Format option produces 1/10000 inch integer coordinates. Gerber 2.3 Dormat is selected on default.

The Gerber optimized 2.3 and Gerber optimized 2.4 options are provided for optionally generating optimized Gerber output with redundant D01 ("light off") plotter control commands eliminated, thus significantly reducing the amount of Gerber output plot data. However, it is strongly recommended to check whether the PCB manufacturer supports optimized Gerber format.

Standard Line Width

The Default Line Width function is used to define the standard line width for Gerber output. The standard line width is used for drawing graphic lines and texts. A round aperture for line drawing is required for the standard line width; otherwise the CAM Processor issues an error message such as

Cannot realize the default line width!

when trying to generate Gerber photoplots. The standard line width is set to 0.3mm on default.

Gerber Fill Mode

The Gerber Fill Mode function is used to select the technique for filling irregularly shaped areas (i.e., those areas not matching any aperture for flash or line stroke).

Option Line Fill is used to select the single-aperture line fill technique which uses the smallest line aperture for filling irregularly shaped areas with line strokes.

Option Multi Aperture Fill selects the multi-aperture fill technique, which is the default. The algorithm used by the multi-aperture fill technique fills areas from the area outline using the smallest aperture and proceeds using larger apertures when moving to the inner of the area. This results in distinct reduction of Gerber data output when using appropriate Gerber aperture tables for layouts with many irregularly shaped areas.

With the G36/G37 Fill mode option activated, non-flashable structures are stored with their outline contour, and will be filled by the photo plotter. This feature significantly reduces the amount of Gerber plot data and also eliminates plot overdraw errors. However, it is strongly recommended to check with the PCB manufacturer whether the photo plotter is capable of processing G36/G37 Gerber data.

Gerber Arc Mode

The Gerber Arc Mode function is used to enable Gerber I/J arc commands (option Gerber Arcs) instead of applying arc interpolation (default option Approx. Arcs). Gerber arc commands should always be used if the photo plotter is capable of interpreting these commands since this feature results in considerably reduced amounts of Gerber output data.

Extended Gerber

The Extended Gerber function can be used for optionally generating RS-274-X format Gerber output (Extended Gerber with Embedded Apertures). Extended Gerber provides the options No Extended Gerber, Extended Gerber fixed and Extended Gerber dynamic.

No Extended Gerber is the default mode for generating standard Gerber data without embedded apertures. With Extended Gerber mode selected, the Gerber aperture table and the Gerber format selection are included (i.e., embedded) with the Gerber output plot file. The Gerber aperture table to be used and/or embedded can either be the currently active aperture table (option Extended Gerber fixed) or a dynamically (i.e., automatically) generated aperture table (option Extended Gerber dynamic). Note that the dynamic aperture table is generated for the whole layout data rather than for the currently plotted layer only. With Extended Gerber the aperture table is automatically transferred to the PCB manufacturer as an integral part of the plot file, and no extra aperture table information file must be generated and/or transferred. With the Extended Gerber dynamic option, there is also no need for defining and/or activating an aperture table before starting the Gerber plot output.

Warning

It is strongly recommended to check whether the PCB manufacturer supports Extended Gerber format before applying this feature. It is also recommended to refrain from using the Extended Gerber dynamic option with multi-aperture fill mode activated since automatically generated aperture tables usually are not appropriate for multi-aperture filling.

Gerber Photoplot Output

The Gerber Output function is used to start Gerber photoplot output for a selectable plot layer. Note the Multiple Layers option provided with the layer selection menu of the Gerber Output function. This option can be used for writing the photoplot data of multiple selectable layers to a single output file. With the Multiple Layers option a popup menu is provided for selecting and/or deselecting the plot data output layers using the left or right mouse button. The Col. button is used to select all currently visible layers for output.

Use the following commands to generate a Gerber photoplot output file named demo_l2.ger for signal layer 2 of the currently loaded layout, using the currently loaded Gerber aperture table with standard line width 0.254mm, Gerber format 2.4 and line fill mode:

Gerber PhotoplotLeft Mouse Button (LMB)
Default Line WidthLeft Mouse Button (LMB)
Gerber Default Line Width ( 0.30mm) ?0.254 Return/Enter Key (CR)
Gerber FormatLeft Mouse Button (LMB)
Gerber 2.4 FormatLeft Mouse Button (LMB)
Gerber Fill ModeLeft Mouse Button (LMB)
Line FillLeft Mouse Button (LMB)
Gerber OutputLeft Mouse Button (LMB)
Layer 2Left Mouse Button (LMB)
Plot File Name ?demo_l2.ger Return/Enter Key (CR)

The following report is issued by the Gerber Output function after successfully generating the Gerber plot file:

Number of Flash Structures .............: <f>
Number of Rectangle Drawn Areas ........: <r>
Number of Circle Drawn Areas ...........: <c>
Number of Multi Aperture Areas .........: <m>
Number of Line Filled Areas ............: <l>
Number of Heat Traps ...................: <w>
Number of Overdraw Errors ..............: <e>

<f> is the number of structures which have been generated using a flash aperture. <r> is the number of rectangular-shaped areas which have been generated using a square line aperture. <c> is the number of circles which have been generated with a circular draw of a smaller round line aperture. <m> is the number of structures which have been generated using multi-aperture fill techniques. <l> is the number of structures which have been generated using line fill techniques. <w> is the number of heat traps which have been drawn using the smallest round line aperture. <e> is the number of structures which could not be generated within the specified plot tolerance using the smallest aperture.

It is strongly recommended to refrain from passing Gerber photoplot output with overdraw errors to the PCB manufacturer since there might be PCBs produced containing short-circuits.

The CAM View module of the Bartels AutoEngineer can be used to perform visual checks and panelization on the generated Gerber data (see chapter 4.8 for a description of the CAM View module).

 

4.7.13 Drill Data

The Drilling+Insertion menu provides functions for generating drilling data output in Excellon II and/or Sieb&Meier format. The CAM View module can be used to perform visual checks, coordinates sorting and panelization on the generated drilling data (see chapter 4.8 for more details).

Excellon

The Excellon Drill Out function from the Drilling+Insertion menu is used for generating drilling data in Excellon II format. With Excellon II format, both the drilling data and the drilling tool table are stored to a single output file.

The Drill Data Device function can be used to specify a default name for the Excellon output file. The Tool Range function is used to define the tolerance for selecting drill tools. The default value for the drill tolerance is 0.10mm.

With the Excellon Drill Out function, the drill class must be specified, thus providing a feature for selecting different types of drill holes for output such as plated and/or non-plated drill holes or drill holes defined on blind and buried vias (whichever is assigned with the selected drill class). A dash string input ("-") to the drilling class prompt selects those drill holes for output which are not assigned to any specific drill class.

Sieb & Meier

The Drill Output and Tool Table Output functions from the Drilling+Insertion menu are used for generating drilling data and drilling tool table output in Sieb&Meier format.

The Drill Data Device and Tool Table Device functions can be used to specify default names for the Sieb&Meier output files. The Tool Range function is used to define the tolerance for selecting drill tools. The default value for the drill tolerance is 0.10mm.

The tool table file to be generated with the Tool Table Output function provides a listing of all drill diameters used for output, with a drill tool number assigned to each drill diameter. Up to 99 different drill diameters can be processed. The output function aborts with the Too many drill diameters defined! error message if more than 99 different drill diameters are defined on the current layout.

With Sieb&Meier format, each drill hole is listed in a single line providing drill coordinates in 1/100mm integer units. With each drill diameter change, the appropriate drill tool number is appended to the end of the corresponding drill data line, thus representing a command for selecting and/or changing the drill tool.

With the Drill Output function, the drill class must be specified, thus providing a feature for selecting different types of drill holes for output such as plated and/or non-plated drill holes or drill holes defined on blind and buried vias (whichever is assigned with the selected drill class).

Use the following commands to set the drill tool tolerance to 0.05mm, generate the drill data output file demo.drl for the drill class Z which is used on the currently loaded layout, and write the drill tool table file demo.tol:

Drilling+InsertionLeft Mouse Button (LMB)
Tool RangeLeft Mouse Button (LMB)
Drill Tolerance Range ( 0.1mm) ?0.05 Return/Enter Key (CR)
Drill OutputLeft Mouse Button (LMB)
New Drilling Class (-,A..Z) (-) ?Z Return/Enter Key (CR)
Drill Data File Name ?demo.drl Return/Enter Key (CR)
Tool Table OutputLeft Mouse Button (LMB)
Tool Table File Name ?demo.tol Return/Enter Key (CR)

A dash string input ("-") to the drilling class prompt selects those drill holes for output which are not assigned to any specific drill class. The CAM Processor issues a Drill data write done. message after successfully generating the drill data output.

With the commands above, a drill tool table file named demo.tol with the following contents is generated:

/* Drill(Number) Drill Diameter(mm) */
1     0.50
2     0.80
3     0.90
4     1.00
5     1.30
6     3.00

With the commands above, a drill data file named demo.drl with the following contents is generated:

%
X1016Y762T6
X1016Y6350
M30
 

4.7.14 Insertion Data

The Drilling+Insertion menu provides functions for generating output data for automatic insertion equipment and pick and place machines. The CAM Processor produces insertion data in generic format where all texts placed on a selectable insertion data layer are listed with coordinates (in 1/100mm integer units) and rotation angles (in degree units).

It is recommended to define a special documentary layer for insertion data output and to place the $ text string on that layer on each part symbol, thus representing the part name placed at the pick point for the automatic insertion equipment (e.g., at pin 1 for parts with drilled pins or at the part pin gravity point for SMDs). The insertion data documentary layer should be defined with the PHYSICAL text attribute to fix the positions of insertion data text strings. See also chapter 7.2 of this manual for a description of the LAYDOCLAYER command of the bsetup utility program.

The Insertion Output function from the Drilling+Insertion menu is used to generate insertion data output. After activating the Insertion Output function, the user is prompted for the insertion data layer and the insertion data output file name. Note the Multiple Layers option provided with the layer selection menu of the Insertion Output function. This option can be used for writing the insertion data of multiple selectable layers to a single output file. With the Multiple Layers option, a popup menu is provided for selecting and/or deselecting insertion data output layers using the left or right mouse button. The Col. button is used to select all currently visible layers for output.

Use the following commands to generate insertion data output for the solder side of the currently loaded layout (select documentary layer Insertion Plan - Side 1 for output, and direct the output data to a file named demo.id1):

Drilling+InsertionLeft Mouse Button (LMB)
Insertion OutputLeft Mouse Button (LMB)
Document LayerLeft Mouse Button (LMB)
Insertion PlanLeft Mouse Button (LMB)
Side 1Left Mouse Button (LMB)
Insertion Data File Name ?demo.id1 Return/Enter Key (CR)

The CAM Processor issues the

Insertion data write done!

message after successfully generating the insertion data output, and the insertion data file demo.id1 should have the following contents:

/* Name X(mm) Y(mm) Angle(Degrees) */

C100          4635    3651      0
C101          3619    3651      0
R104           984    5016    270
 

4.8 CAM View

The CAM View module provides features for displaying Gerber data ("Gerber View"), Sieb&Meier and/or Excellon drilling data and Excellon milling data in order to check CAM data validity and to estimate the efficiency of tool usage. CAM View features multiple input, selective data set movement and sorted output with variable offsets, optional mirroring and adjustable aperture tables, thus supporting panelization. CAM View also provides a powerful function for translating Gerber data to BAE layout design data, i.e., with CAM View the user is able to import Gerber data produced by foreign PCB layout systems.

 

4.8.1 Starting the CAM View Module

It is recommended to start the Bartels AutoEngineer from the directory where the design files should be generated since this considerably simplifies job file access. If you intend to process the examples provided with this manual it is recommended to move to the BAE examples directory installed with the BAE software. The CAM View module can be called from the Bartels AutoEngineer main shell. Start the BAE shell by typing the following command to the operating system prompt:

> bae Return/Enter Key (CR)

Move the menu cursor to the CAM View menu item and confirm this choice by pressing the left mouse button:

CAM ViewLeft Mouse Button (LMB)

The CAM View program module is loaded and the CAM View menu is activated. If this fails to happen then check your BAE software installation (see the Bartels AutoEngineer® Installation Guide for details on how to perform a correct installation).

 

4.8.2 CAM View Main Menu

The CAM View standard/sidemenu user interface provides a menu area on the right side, consisting of the main menu on top and the currently active menu below that main menu. After entering CAM View, the Files menu is active and the menu cursor points to the Load Gerber Data function.

The Windows and Motif versions of the CAM View module can optionally be operated with a pull-down menu user interface providing a horizontally arranged main menu bar on top. The WINMENUMODE command of the bsetup utility program is used to switch between SIDEMENU and PULLDOWN Windows/Motif menu configurations. See chapter 7.2 for more details.

The following main menu is always available whilst processing CAM data with CAM View:

Display
Files
Parameter
Utilities

Display

The View or Display menu can either be activated by selecting the corresponding main menu item or by pressing the middle mouse button. The View or Display menu provides useful functions for changing display options such as zoom window, zoom scale, input and display grid, color settings, drawing mode, coordinate display mode, etc.

Files

The File menu provides functions for loading, moving and writing Gerber, drilling or milling data sets, for generating layouts from Gerber data and for deleting the currently loaded CAM data from main memory.

Parameter

The Parameter menu provides functions for setting input offsets and mirror modes for subsequent data load processes, defining the via D-Code for generating layouts from Gerber data, selecting the Gerber format, the circle mode, the coordinate format, and activating and/or deactivating Extended Gerber format or Gerber optimization when loading and/or writing Gerber data.

Utilities

The Utilities menu provides functions for exiting BAE, returning to the BAE main shell, sorting drill data, reporting aperture usage and listing DDB file contents.

 

4.8.3 Customized CAM View User Interface

Menu Assignments and Key Bindings

The BAE software comes with User Language programs for activating a modified CAM View user interface with many additional functions (startups, toolbars, menu assignments, key bindings, etc.). The bae_st User Language program is automatically started when entering the CAM View module. bae_st calls the uifsetup User Language program which activates predefined CAM View menu assignments and key bindings. Menu assignments and key bindings can be changed by modifiying and re-compiling the uifsetup source code. The hlpkeys User Language program is used to list the current key bindings. With the predefined menu assignments of uifsetup activated, hlpkeys can be called from the Key Bindings function of the Help menu. Menu assignments and key bindings can be listed with the uifdump User Language program. The uifreset User Language program can be used to reset all currently defined menu assignments and key bindings. uifsetup, uifdump and uifreset can also be called from the menu of the keyprog User Language program which provides additional facilities for online key programming and User Language program help info management.

Cascading Windows/Motif Pulldown Menus

The Windows and Motif pulldown menu user interfaces of the CAM View module provide facilities for cascading submenu definitions. I.e., submenus can be attached to other menu items. The uifsetup User Language program configures cascading submenus for the pulldown menu interfaces of the Windows/Motif CAM View modules. This allows for easy submenu function location (and activation) without having to activate (and probably cancel) submenus. The function repeat facility provided through the right mouse button supports cascading menus to simplify repeated submenu function calls.

Windows/Motif Parameter Setup Dialogs

The following Windows/Motif parameter setup dialogs are implemented for the CAM View module:

  • Settings - Settings: General CAM View Parameters
  • View - Settings: Display Parameters

The uifsetup User Language program replaces the parameter setup functions of the Windows and Motif pulldown menus with the above menu functions for activating the corresponding parameter setup dialogs.

Windows/Motif Pulldown Menu Konfiguration

When using pulldown menus under Windows and Motif, the uifsetup User Language program configures the following modified CAM View main menu with a series of additional functions and features:

File
Edit
View
Settings
Utilities
Help
 

4.8.4 In-built CAM View System Features

User Language

The Bartels User Language Interpreter is integrated to the CAM View module, i.e., User Language programs can be called from CAM View. It is possible to implement any user-specific CAM View function required such as status display, parameter setup, reports and test functions, customer-specific batch procedures, etc.

CAM View provides both explicit and implicit User Language program call facilities. User Language programs can be started with explicit program name specification using the Run User Script function from the File menu (empty string or question-mark (?) input to the program name query activates a User Language program selection menu).

User Language programs can also be called by simply pressing special keys of the keyboard. This method of implicit User Language call is supported at any time unless another interactive keyboard input request is currently pending. The name of the User Language program to be called is automatically derived from the pressed key, i.e. pressing a standard and/or function key triggers the activation of a User Language program with a corresponding name such as cv_1 for digit key 1, cv_r for standard key r, cv_# for standard key #, cv_f1 for function key F1, cv_f2 for function key F2, etc.

The CAM View User Language Interpreter environment also features event-driven User Language program calls, where User Language programs with predefined names are automatically started at certain events and/or operations such as cv_st at CAM View module startup, cv_tool when selecting a toolbar item and cv_zoom when changing the zoom factor. The module startup User Language program call method is most useful for automatic system parameter setup as well as for key programming and menu assignments. The toolbar selection event must be used to start User Language programs which are linked to toolbar elements. The zoom event can be used to apply an update request to a design view management feature.

Bartels User Language also provides system functions for performing key programming, changing menu assignments and defining toolbars. These powerful features can be applied for user interface modifications. Please note that a large number of additional functions included with the CAM View menu are implemented through the User Language programs supplied with the BAE software.

See the Bartels User Language Programmer's Guide for a detailed description of the Bartels User Language (chapter 4.2 lists all User Language programs provided with the BAE software).

 

4.8.5 Processing Gerber Data

General Parameters

The Input Offset, Gerber Format, Circle Mode, Mirror Mode, Trailing/Leading Zeros, Extended Gerber, Optimization and Coord.-Spec. functions from the Settings menu are used to set global parameters for loading and/or writing Gerber and/or drilling/milling data sets.

The input offset is added to the input coordinates when loading CAM data. Different input offsets can be specified to load the same layout at different positions, and, subsequently, the whole data can be written to Gerber and/or drill data output files to support panelization. CAM View can hold Gerber data from different layers and drill data in main memory at the same time. I.e., only one input offset specification is required for each panel element. The Clear Memory function from the File menu can be used to delete previously loaded CAM data from memory before loading new CAM data for panelization.

The Gerber Format function from the Settings menu is used to specify the Gerber format for loading and/or writing Gerber data. The default option Gerber 2.3 Format selects 1/1000 inch integer units. Option Gerber 2.4 Format selects 1/10000 inch integer units. With option Other Format the user is prompted for the length of one plotter unit, thus supporting arbitrary Gerber format specifications.

The Circle Mode function from the Settings menu is used to select the mode of processing arc segments when loading Gerber data. With the All Arc Values default option, arbitrary arc definitions can be loaded without modification. This is valid for the Gerber data generated by the BAE CAM Processor and most of the known foreign systems. Some foreign systems can only generate arcs of up to 90 degrees where the length of the arc center point vector is also specified. In this case, the Max. 90 Degree Arcs option of the Circle Mode function is only furnished for correct Gerber data processing.

The Mirror Mode function from the Settings menu is used for optionally mirroring the input data set(s) to be subsequently loaded. The mirror modes provided with the Mirror Mode function are Mirroring Off (default), Mirror at X-Axis, Mirror at Y-Axis and Mirror at Origin, respectively. Note that input data mirroring is always done before any input data offset specification applies.

The Trailing/Leading Zeros function from the Settings menu is used to specify whether Gerber coordinate specifications are to be interpreted with trailing and/or leading zeros suppressed. On default, the Trailing Zeros mode for expecting trailing zeros and suppressing leading zeros is used. The Leading Zeros mode for suppressing trailing zeros and expecting leading zeros is only valid with Gerber Format 2.3 and Gerber Format 2.4, i.e., any other Gerber format specification defaults to the Trailing Zeros mode.

The Extended Gerber function can be used for optionally generating RS-274-X format Gerber output (Extended Gerber with Embedded Apertures). On input, RS-274-X Gerber format is automatically recognized by CAM View.

The Optimization function can be used for optionally generating optimized Gerber output with redundant D01 ("light off") plotter control commands eliminated, thus significantly reducing the amount of Gerber output plot data. On input, optimized Gerber data is automatically recognized by CAM View.

The Coord.-Spec. function can be used to select the coordinate input mode for Gerber and/or Excellon data load operations. With the Abs. Coordinates option, input coordinates are assumed to be absolute, whilst with option Inc. Coordinates, input coordinates are assumed to be relative and/or incremental.

Aperture Tables

For correctly loading and displaying Gerber data the same aperture table is required as was used when generating the Gerber plot. Both the CAM Processor and the CAM View module provide functions for the definition and administration of Gerber aperture tables. Aperture tables are stored to the cam.dat system file in the BAE programs directory. The aperture table named standard is loaded automatically when starting CAM View. The Load Aperture Table function from the File menu can be used to load any other aperture table available in cam.dat. The Edit Aperture Table function from the Settings menu can be used to change aperture definitions in the currently loaded aperture table. The Load Aperture Table and Edit Aperture Table functions can also be used after loading Gerber data, which would cause a Gerber data display update according to changed aperture definitions. The Save Aperture Table function from the File menu can be used to save the currently loaded aperture table with a selectable name to the cam.dat system file.

Use the following commands to define a round line aperture with 0.3mm diameter and D-Code 10 at aperture table index 1:

Edit Aperture TableLeft Mouse Button (LMB)
Gerber Aperture Table Index (1..900,+,-) ?1 Return/Enter Key (CR)
Aperture (R)ound/S(Q)uare/(T)hermal/(S)pecial/(A)rea/(-) ?r Return/Enter Key (CR)
Aperture Diameter/Side Length (0.127mm) ?0.3 Return/Enter Key (CR)
Drawing Mode (A)ll/(F)lash/(L)ine ?l Return/Enter Key (CR)
Gerber D-Code Number (10-999) ?10 Return/Enter Key (CR)
Gerber Aperture Table Index (1..900,+,-) ? Return/Enter Key (CR)

Loading Gerber Data

The Load Gerber Data function from the File menu is used to load Gerber photoplot data files. The user is prompted for the Gerber plot file name after specifying layers for line drawn structures and flashed structures, respectively. The line draw and flash layer assignment is required by the features for decoding Gerber data to BAE layout data (see below). Gerber input layer assignments can also be utilized for panelization where Gerber data from different layers must be written to separate data files.

Layer assignments can also be used for comparing different Gerber file versions of the same layout. When loading different Gerber files versions to different layers, then the common structures are displayed with mixed colors resulting from the colors assigned to the input layers (if the Layer Assignment option is selected with the Color Assignment function from the View menu).

Use the following commands to select Gerber format 2.4, and load the Gerber plot file demo_l2.ger which has been generated in chapter 4.7.11 (select layer 2 for both the line drawn and the flashed structures):

SettingsLeft Mouse Button (LMB)
Gerber FormatLeft Mouse Button (LMB)
Gerber 2.4 FormatLeft Mouse Button (LMB)
FileLeft Mouse Button (LMB)
Load Gerber DataLeft Mouse Button (LMB)
Layer 2Left Mouse Button (LMB)
Layer 2Left Mouse Button (LMB)
Plot File Name ?demo_l2.ger Return/Enter Key (CR)

Use the following commands to repeat the Gerber load from above with an input offset of 3.2 inch in X direction:

SettingsLeft Mouse Button (LMB)
Input OffsetLeft Mouse Button (LMB)
X-Offset (0.000 mm) ?3.2" Return/Enter Key (CR)
Y-Offset (0.000 mm) ?0 Return/Enter Key (CR)
FileLeft Mouse Button (LMB)
Load Gerber DataLeft Mouse Button (LMB)
Layer 2Left Mouse Button (LMB)
Layer 2Left Mouse Button (LMB)
Plot File Name ?demo_l2.ger Return/Enter Key (CR)

View, Display

The View menu provides functions for changing general display options such as zoom window, zoom scale, display grid, color settings, etc.

The Display Mode function is used to select the mode for displaying Gerber data. The Display Areas Only default option displays structures as pure areas. Option Display Outlines also displays aperture outlines, thus providing most information about how areas have been filled.

The Color Assignment function is used to select the mode of color assignment. With default option D-Code Assignment colors can be assigned to D-Codes and aperture drawing modes. With option Layer Assignment colors can be assigned to layers.

The Change Colors function operates according to the current Color Assignment. With Layer Assignment, the Change Colors function provides a layer selection menu. With D-Code Assignment, the Change Colors function prompts for a D-Code number and a drawing mode, where f (Flash) selects flashed structures, l (Line) selects line drawn structures and b (Border) selects drawing area outlines. The default D-Code color setup is light gray for flashed structures, gray for line drawn structures and red for border lines.

Use the following commands to select the yellow color for the line drawn structures which have been generated using D-Code 10:

ViewLeft Mouse Button (LMB)
Color AssignmentLeft Mouse Button (LMB)
D-Code AssignmentLeft Mouse Button (LMB)
Change ColorsLeft Mouse Button (LMB)
Gerber D-Code Number (10-999) ?10 Return/Enter Key (CR)
Mode (f)lash/(l)ine/(b)order ?l Return/Enter Key (CR)
Move to Desired Color,yellowLeft Mouse Button (LMB)

Black color assignments can be used to suppress the display of selected elements.

Report

The Report function from the Utilities menu provides a statistical report on what apertures and/or D-Codes are how often used for what kind of structures.

Use the following commands to activate the Report function:

UtilitiesLeft Mouse Button (LMB)
ReportLeft Mouse Button (LMB)

After activating the command above the following listing should appear in the graphic workarea:

D10  0.30 mm  Rnd. :
      Lines   : 58
D11  0.25 mm  Rnd. :
      Lines   : 454
D16  1.52 mm  Rnd. :
      Flashed : 64
D18  2.54 mm  Rnd. :
      Flashed : 16
      Lines   : 4
D29  1.40 mm  Sqr. :
      Flashed : 20 ...

Structures reported with a Lines of length zero mode are unexposed Gerber coordinates.

Moving Gerber Data

The Move Data Set function from the File menu can be used for moving previously loaded Gerber data sets. The data to be moved can be selected from a popup menu where available data sets are listed according to the load sequence. Each data set entry of the popup menu displays the layer(s), the offset to origin, the mirror mode and the input data file name. After selecting the desired data set, the user must specify the movement vector by selecting the start and end point of the movement. During these selections, the input grid corresponds with the current display grid settings. Pressing the right mouse button during data set movement activates a context menu with functions for performing absolute and/or relative jumps.

Writing Gerber Data

The Save Gerber Data function from the File menu is used to write currently loaded Gerber data of a selectable layer to a named file.

Use the following commands to select Gerber format 2.3, and write the Gerber data currently loaded to layer 2 to a Gerber file named demo_l2.g25:

SettingsLeft Mouse Button (LMB)
Gerber FormatLeft Mouse Button (LMB)
Gerber 2.3 FormatLeft Mouse Button (LMB)
FileLeft Mouse Button (LMB)
Save Gerber DataLeft Mouse Button (LMB)
Layer 2Left Mouse Button (LMB)
Plot File Name ?demo_l2.g25 Return/Enter Key (CR)

The Clear Memory function from the File menu is used to delete the currently loaded data from memory and to re-initialize the display to prepare for loading other data. Use the following commands to clear the memory:

FileLeft Mouse Button (LMB)
Clear MemoryLeft Mouse Button (LMB)
 

4.8.6 Processing Drilling and Milling Data

Loading Drilling/Milling Data

The Load Drill Data function from the File menu is used to load drilling and/or milling data. The Load Tool Table function for loading a drill tool table must be applied before loading Sieb&Meier drill data; otherwise the Load Drill Data function issues a No tool table loaded! error. Take care that the tool table corresponds with the drill data to ensure complete and correct drill data management. Note that the Load Tool Table function deletes previously loaded drill data from memory.

The Load Drill Data function allows for the selection of either Sieb&Meier or Excellon format. Both input units and processing of trailing and/or leading spaces are automatically derived from the input data file. The current Gerber input parameter and/or format specifications are automatically used for input data not providing corresponding format commands. Excellon input Inch unit specifications are processed using the currently selected Gerber format (Gerber Format 2.3, Gerber Format 2.4, etc.).

The function for loading Excellon data features automatic milling data recognition, i.e., Excellon milling data is automatically recognized and/or processed. With Excellon output function the output data type (i.e., either drilling data or milling data) must be specified since each drill class can contain both milling and drilling data.

The drilling and/or milling data sets are loaded and saved with drill class specification, respectively. It is possible to load drilling and/or milling data sets with different drill classes and to generate drilling and/or milling data output with selectable drill classes. With milling data the drill class can be used to differ between plated and non-plated. Drill holes and milling puncture points not assigned to the standard (-) drill class are indicated with the corresponding drill class letter (A, B, ..., Z).

The Load Drill Data function automatically activates the color table entry for the drilling data display. This color table entry is set to white if it is still undefined (i.e., black and/or invisible). This ensures that drilling data load operations can be visually monitored.

Use the following commands to load the Sieb&Meier drill data file demo.drl to drill class - using the corresponding drill tool table demo.tol (see also chapter 4.7.12, where these files have been generated):

FileLeft Mouse Button (LMB)
Load Tool TableLeft Mouse Button (LMB)
Tool Table File Name ?demo.tol Return/Enter Key (CR)
Load Drill DataLeft Mouse Button (LMB)
Drill Data File Name ?demo.drl Return/Enter Key (CR)
New drill class (-,A..Z) (-) ?- Return/Enter Key (CR)
Sieb & MeierLeft Mouse Button (LMB)

View, Display

Currently loaded drilling and/or milling data can be displayed using the layer color assignment with a non-black color (e.g., white) selected for the drill holes, as in:

ViewLeft Mouse Button (LMB)
Color AssignmentLeft Mouse Button (LMB)
Layer AssignmentLeft Mouse Button (LMB)
Change ColorsLeft Mouse Button (LMB)
Drill HolesLeft Mouse Button (LMB)
Move to Desired Color,whiteLeft Mouse Button (LMB)
ExitLeft Mouse Button (LMB)

Moving Drilling/Milling Data

The Move Data Set function from the File menu can be used for moving previously loaded drilling and/or milling data sets. The data to be moved can be selected from a popup menu where available data sets are listed according to the load sequence. Each data set entry of the popup menu displays the layer(s), the offset to origin, the mirror mode and the input data file name. After selecting the desired data set the user must specify the movement vector by selecting the start and end point of the movement. During these selections, the input grid corresponds with the current display grid settings. Pressing the right mouse button during data set movement activates a context menu with functions for performing absolute and/or relative jumps.

Writing Drilling/Milling Data

The Save Drill Data function from the File menu is used to write currently loaded drilling and/or milling data to a named file.

Use the following commands to write the currently loaded drilling data in Excellon format with drill class - to output file demo.exc:

FileLeft Mouse Button (LMB)
Save Drill DataLeft Mouse Button (LMB)
Drill Data File Name ?demo.exc Return/Enter Key (CR)
New drill class (-,A..Z) (-) ?- Return/Enter Key (CR)
ExcellonLeft Mouse Button (LMB)
Drill DataLeft Mouse Button (LMB)

Sorting Drill Data

The Sort Drill Data function from the Utilities menu is used to activate an algorithm for sorting the currently loaded drill data to minimize the distances between subsequent drill holes. Note that Sort Drill Data performs separate sorting on each of the currently loaded drilling data sets. Overall sort on multiple drill data sets can be applied by loading all data sets, save them as single data set, clear the memory, reload the single data set and run the Sort Drill Data function on the reloaded data set. Note also that the complexity of the drill sort algorithm grows quadratically with the number of drillings per tool, thus raising CPU time requirements enormously when working on large layouts and/or panels (>1000 drill holes).

Use the following commands to sort the currently loaded drill data, and write the sorted drill data to a file named demosort.drl:

UtilitiesLeft Mouse Button (LMB)
Sort Drill DataLeft Mouse Button (LMB)
FileLeft Mouse Button (LMB)
Save Drill DataLeft Mouse Button (LMB)
Drill Data File Name ?demosort.drl Return/Enter Key (CR)
 

4.8.7 Retrieving Layouts from Gerber Data

Loading Gerber Data

All of the required Gerber data must be loaded to the CAM View module before generating a layout from that Gerber data. When loading Gerber data for layout generation, the line drawn structures should be loaded to their respective layers whilst the flashed structures can be loaded to either signal layers or documentary layers. In most cases it is advisable to load the flashed structures onto documentary layers since flashed structures usually represent pads which, when placed on signal layers, would create redundant copper at the layout pin positions once the corresponding parts are loaded. Pad info retrieved from the flashed structures should rather serve as an aid for placing the parts on the layout. It is a good idea to select a special documentary layer such as Part Groups for loading flashed structures. Certain documentary Gerber plots such as the Insertion Plan can also be loaded to the corresponding BAE documentary layer to support subsequent part placement procedures.

Creating a Layout

After loading all Gerber data to CAM View, the Create Layout function from the File menu can be used to generate a layout from that Gerber data. With the Create Layout function first a via D-Code must be specified. Use the Report function and/or appropriate D-Code color assignments to find out which D-Code is used for vias. Flashed structures generated with the specified via D-Code are translated to via definitions. Automatic via translation is only carried out for the first Gerber data input file to avoid multiple via placement at the same coordinates. The Create Layout function automatically generates a via padstack using an all layer pad with the size of the selected via aperture and a drill hole with half that aperture size.

After specifying the via D-Code, the Create Layout function prompts for the file and element name where the layout should be written to. Note that Create Layout overwrites previously existing layout elements (nevertheless, you can use the Layout Editor group functions to mix different layouts retrieved from Gerber data).

Further Layout Processing

The sequence of the following operations is crucial for the creation of valid layout data.

After successfully running the Create Layout function from the CAM View File menu, you should return to the BAE main menu (use function Main Menu from the File menu) and start the Layout Editor. Within the Layout Editor you should load the layout and place all of the required parts (use the Add New Part function from the Parts menu). Note that User Language programs can be used for automatic placement instead of interactive placement if placement data ASCII files are available with appropriate formats. After completing the placement the layout should be saved, and then the Back Netlist function from the Utilities menu should be used to generate a net list with the same file and element names as were specified when creating the layout. Back Netlist generates a net list from the copper placed on the currently loaded layout. However, Back Netlist works only on DDB file level, i.e., it won't change the currently loaded net list. You should re-load the layout immediately after running Back Netlist (refrain from activating any function which could store the still empty net list currently held in main memory). A connectivity generation is automatically carried out after re-loading the layout, and then the layout is ready for processing by the Bartels AutoEngineer.

Bartels :: Bartels AutoEngineer :: BAE Documentation :: BAE User Manual :: PCB Design

PCB Design / CAD
© 1985-2025 Oliver Bartels F+E • Updated: 05 March 2007, 17:39 [UTC]

© 1985-2025 Oliver Bartels F+E Bartels Homepage Contact and Corporate Info

Web Development by Baumeister Mediasoft Engineering

make this page your Homepage... add this page to your Favorites... send this page to a friend... display printer friendly page... display sitemap... display sitemap with all page contents... Leiterkartenentwurf / CAD - Deutsche Version PCB Design / CAD - English Version