This chapter describes in detail how to use the
Schematic Editor for creating SCM library symbols and designing circuits. The examples presented with this chapter introduce the concepts and advanced features of the
BAE Schematic Editor in a logical sequence and will take the user through the design and modification of library symbols and a circuit drawing which will be subject to further processing in the subsequent chapters. The reader should work through this chapter without missing any sections to gain full understanding of the
BAE Schematic Editor. 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
2.1 General
The schematic capture system of the
Bartels AutoEngineer essentially consists of an interactive
Schematic Editor with integrated SCM symbol editor and integrated
and the
Packager program module for converting logical into physical netlists ("Forward Annotation").
The following sections of this manual describe in detail how to use the
Schematic Editor for creating and editing SCM symbols and schematic circuitry.
2.1.1 Components and Features
Schematic Editor
When working with a
Schematic Editor, the user expects the net list to agree exactly with the circuit drawing. The
Schematic Editor of the
Bartels AutoEngineer is not just a simple drawing program but is also capable of instantly controlling and correlating the net list data with the circuit diagram. Every single net list change results in an incremental update of the net list data. Reliability on correct net list data recognition is achieved with an internally managed list of changes which is also used for controlling the
facilities. BAE utilizes contact areas for indicating unconnected pins. Contact areas will automatically disappear with correct connections to the corresponding pins. This feature provides most useful graphical utility for controlling net list data whilst editing circuit diagrams. The system is also able to recognize T-shaped connections, and a junction point marker is automatically placed for the indication of T-connections.
With
Bartels AutoEngineer, SCM symbols can be freely defined without restrictions referring to symbol size, symbol drawing information, number of pins on a part symbol, etc. The user can utilize but is not necessarily restricted to some standard. A series of extensive SCM symbol libraries is delivered with the
Bartels AutoEngineer. The symbol placement functions provide features such as rotating the symbol at any angle, symbol mirroring, specifying arbitrary placement coordinates, etc.
Signal names can be freely defined. Inverted signal names are displayed with a line on top of the corresponding text. User-definable label symbols are automatically loaded when referencing the corresponding signal names, e.g., a ground label symbol can be defined for indicating ground connections.
Bartels AutoEngineer provides full capability of checking connectivity with busses, bus tapping, sub-bus definitions, bus naming, etc. Both numerical and arbitrary alphanumerical names can be used for bus signals. Incremental net list data update is included with all bus definition features. The SCM library even supports bus synthesis on part level, thus providing highest flexibility at the creation of symbols of any complexity.
The BAE system supports hierarchical circuit design. It is possible to define SCM block circuit diagrams which then can be referenced from other SCM plans using special block symbols. For correct net list data management a distinction between global and local signals is possible.
The
facilities allow to use the
Schematic Editor without fear of causing damage. Up to twenty commands can be reversed or undone by applying the
function and then reprocessed with the
function.
ensures data security and provides a powerful feature for estimating design alternatives.
With the
Bartels User Language integrated to the
Schematic Editor the user is able to implement enhanced CAE functions and macros, user-specific post processors, report and test functions, etc.
User Language programs can be called by applying the
function from the
menu or by pressing a key on the keyboard (hot key).
The
Schematic Editor provides a series of enhanced features such as group functions, arbitrary attribute definitions and part and/or net attribute value settings, automatic part naming with definable part name patterns, virtual symbols for company logos or circuit legends, net highlight, automatic reconnection at symbol movement, etc. Net list modifications introduced to the layout such as pin/gate swaps or part name changes are reflected back to the SCM automatically by applying
Backannotation.
2.1.2 Starting the Schematic Editor
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
Schematic 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 
The AutoEngineer comes up with the Bartels logo and the following menu (the
function is only available under Windows/Motif; the
and
menu items are available only with special software configurations such as
BAE HighEnd or
BAE IC Design):
Move the menu cursor to the
menu item and confirm this choice by pressing the left mouse button:
Schematic |  |
Now the
Schematic Editor program module is loaded and the SCM menu will be 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).
2.1.3 Schematic Editor Main Menu
The
Schematic 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
Schematic Editor, the
menu is active and the menu cursor points to the
function.
The Windows and Motif versions of the
Schematic 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 SCM elements with the
Schematic Editor:
Undo, Redo
The functions provided with the
menu allow you to use the
Schematic Editor without fear of causing damage. Up to twenty commands can be reversed or undone using
and then reprocessed with the
. This is true even for complex processing such as group functions or
User Language program execution.
ensures data security and provides a powerful feature for estimating design alternatives.
Display
The
or
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
or
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
or
menu also contains advanced display functions such as
and
.
Files
The
menu provides functions for creating, loading, saving, copying, replacing and deleting DDB elements. The
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.
Symbols
On SCM sheet level, the functions from the
menu are used for placing, moving and deleting symbols, labels, and module ports, for assigning attribute values and for displaying symbol logic definitions from the Logical Library. On symbol and label level, the functions from the
menu are used for placing, moving and deleting pins (i.e., marker symbols), and for defining name patterns for the automatic part naming facility.
Connections
The
menu is used on SCM sheet level to create the logical net list by generating and/or manipulating connections and busses.
Graphic
The
menu is used on any SCM hierarchy level for creating, moving, copying and deleting graphic items such as lines and areas.
Text
The
menu is used on any SCM hierarchy level for defining, changing, moving and deleting text.
Groups
The
menu provides functions for selecting elements to group, for moving, copying, deleting, saving and loading groups, and for replacing symbols in a group.
Parameter
The
menu provides functions for selecting the SCM library, setting the origin of the currently loaded element, defining the element boundaries, selecting the pin symbol and the T-connection marker, defining the SCM sheet hierarchy for hierarchical circuit designs, and activating the automatic design data backup feature.
Plot Output
The
menu provides the functions for generating plot output in HP-GL (Hewlett Packard Graphics Language), HP Laser (PCL, Printer Command Language) or Postscript format.
Utilities
The
menu provides functions for exiting BAE, returning to the BAE main shell, producing a report for the currently loaded element and starting
User Language programs.
2.1.4 Customized Schematic Editor User Interface
Menu Assignments and Key Bindings
The BAE software comes with
User Language programs for activating a modified
Schematic 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
Schematic Editor.
bae_st calls the
uifsetup User Language program which activates predefined
Schematic 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
function of the
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
and/or
file management functions are provided if no element is currently loaded. This feature is implemented through an automated call to the
scm_ms User Language program.
Cascading Windows/Motif Pulldown Menus
The Windows and Motif pulldown menu user interfaces of the
Schematic 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
Schematic 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
Schematic Editor:
- - : General Schematic Editor Parameters
- - : Display Parameters
- - : SCM Plot 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
Schematic Editor main menu with a series of additional functions and features:
2.1.5 In-built Schematic Editor System Features
Automatic Parameter Backup
The
Schematic 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
function:
- Autosave Time Interval
- Name of the currently loaded SCM Color Table
- Input Grid
- Display Grid
- Grid/Angle Lock
- Coordinate Display Mode
- Symbol/Label Placement Default Rotation Angle
- Symbol/Label Placement Default Mirror Mode
- Symbol/Label Placement Signal Routing On/Off Mode
- Default Bus Tap Swap Flag
- Default Text Size
- Symbol Library File Name
- Logical Library File Name
- Plot File Name
Parameter sets are stored with special names according to the currently processed SCM database hierarchy level. Parameter set name
[plan] is used for SCM sheet elements,
[symbol] is used for SCM symbol elements,
[label] is used for SCM label elements and
[marker] is used for SCM marker 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.
User Language
The
Bartels User Language Interpreter is integrated to the
Schematic Editor, i.e.,
User Language programs can be called from the
Schematic Editor, and it is possible to implement any user-specific SCM function required such as status display, parameter setup, reports and test functions (fanout control, electronic rule check), special plot and/or documentation output functions, automatic or semi-automatic symbol edit routines, symbol library management utilities, customer-specific batch procedures, etc.
The
Schematic Editor provides both explicit and implicit
User Language program call facilities.
User Language programs can be started with explicit program name specification using the
function from the
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
scm_1 for digit key
1,
scm_r for standard key
r,
scm_# for standard key
#,
scm_f1 for function key
F1,
scm_f2 for function key
F2, etc.
The
Schematic 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
scm_st at Schematic Editor module startup,
scm_load after loading a design element,
scm_save before saving a design element,
scm_tool when selecting a toolbar item and
scm_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
Schematic 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.1 for the rule system applications provided with the
Schematic Editor.
2.2 SCM Library Symbol Design
The
Bartels AutoEngineer is shipped with a series of extensive SCM libraries. Nevertheless, you might require a certain symbol which has not yet been defined in these libraries. This section shows in detail how to create SCM library symbols. Some example symbols are created step-by-step starting with the lowest DDB hierarchy level. I.e., first of all a pin symbol (on marker level) is defined, subsequently an SCM part symbol (on symbol level) is defined and, finally, two label symbols (on label level) 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:
> cd c:\baejobs
> bae 
The BAE main menu is activated, and you can start the
Schematic Editor with the following command:
Schematic |  |
The
Schematic Editor is actiavted, and you can create SCM library elements. Before generating your own symbols you should familiarize yourself with the conventions used for circuit symbol design. Company-specific conventions are frequently to be considered with regard to symbol size, pin naming and grouping (input, output, clock, reset, etc.), text size, pin placement grids, symbol origin, etc. Most important for the placement of a symbol on superior design levels are the symbol origin and the pin placement grid. It is advisable to choose a pin placement grid (e.g., 2mm) which allows for easy pin connections in the grid used on SCM sheet level (e.g., 1mm); the symbol origin should be set accordingly.
Figure 2-1 shows the SCM library symbols to be created in the following sections.

Figure 2-1: SCM Library Symbols
2.2.1 Creating SCM Markers
Creating a new Marker Symbol
Use the following commands to create a new marker element named
p with a size of 10 by 10 mm in the
demo.ddb DDB file:
File |  |
New |  |
Marker |  |
File Name ? | demo  |
Element Name ? | p  |
Element Width (mm/") ? | 10  |
Element Height (mm/") ? | 10  |
The display now shows a square frame with a cross in the middle. The frame describes the element boundaries of the marker, and the cross marks the position of the element origin.
Defining the Contact Area
Contact areas on pin symbols are utilized for displaying net list changes on SCM sheet level. As soon as a pin is connected correctly, the contact area defined on the corresponding pin marker will disappear. Contact areas will not be plotted.
Use the following commands to define a square contact area with an edge length of 1mm on the currently loaded marker element:
Graphic |  |
Add Contact Area |  |
Jump Absolute |  |
Absolute X Coordinate (mm/") ? | 0.5  |
Absolute Y Coordinate (mm/") ? | 0.5  |
Jump Relative |  |
Relative X Coordinate (mm/") ? | -1  |
Relative Y Coordinate (mm/") ? | 0  |
Jump Relative |  |
Relative X Coordinate (mm/") ? | 0  |
Relative Y Coordinate (mm/") ? | -1  |
Jump Relative |  |
Relative X Coordinate (mm/") ? | 1  |
Relative Y Coordinate (mm/") ? | 0  |
Done |  |
Defining the Reference Designator
The graphical design of the marker symbol is completed now. Nevertheless a pin reference designator should be defined on the marker. For this purpose 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 marker level displays pertinent pin reference names on symbol level, a
$ text string placed on symbol level displays pertinent part reference names on SCM sheet level, etc.
Use the following commands to place the
$ text with a size of 2mm at coordinate [-0.5,0.5]:
Text |  |
Add Text |  |
Text ? | $  |
Text Size |  |
Text Size ( 4.00mm) ? | 2  |
Jump Absolute |  |
Absolute X Coordinate (mm/") ? | -0.5  |
Absolute Y Coordinate (mm/") ? | 0.5  |
Modifying the Element Boundaries
The marker symbol's element boundaries should be reduced in order to enclose the marker definition as densely as possible. This is accomplished with the following commands:
Settings |  |
Upper/Right Border |  |
Absolute X Coordinate (mm/") ? | 0  |
Absolute Y Coordinate (mm/") ? | 0  |
Lower/Left Border |  |
Absolute X Coordinate (mm/") ? | 0  |
Absolute Y Coordinate (mm/") ? | 0  |
Saving the Marker Symbol
Use the following commands to save the marker symbol:
File |  |
Save Element |  |
Now the new marker symbol named
p is completely defined and stored to the DDB file
demo.ddb . Use the following commands to list the marker(s) defined in
demo.ddb :
File |  |
File Contents |  |
Marker |  |
File Name ? |  |
An empty string to the file name prompt causes the system to use the file name of the currently loaded element (i.e., demo.ddb in our example). The system should produce the following listing of the markers contained in
demo.ddb :
Type : Marker / File : demo.ddb
:p - End -
Hit the spacebar to continue.
2.2.2 Creating SCM Symbols
In this section we will create a new SCM library symbol named
CD4081 . This symbol can be created in a new or in an already existing library and/or job file. In our example we will store the new symbol to the currently processed DDB file named
demo.ddb .
With the
CD4081 , it is advisable not to create an SCM symbol for the complete part, but to define the
CD4081 as single gate which then occurs four times in the corresponding package. The operations in the following section will produce the symbol definition shown in
figure 2-2.

Figure 2-2: SCM Symbol CD4081
Creating a new SCM Symbol
Use the following commands to create a new symbol named
CD4081 in the DDB file
demo.ddb (an empty string input is sufficient for the specification of the DDB file name if an element of file
demo.ddb is still loaded):
File |  |
New |  |
Symbol |  |
File Name ? | demo  |
Element Name ? | cd4081  |
Sheet (C)omplex/(L)ogic/(G)ate/(D)iscrete/(M)an. ? | g  |
The symbol size determines the element's size and boundary. The system does not allow for the placement of objects outside the element boundaries, however, the boundary can modified lateron. You can either enter the element width and element height manually, or simply select one of the following predefined symbol sizes:
Option | Element/Symbol Size |
| 50 × 90 mm |
| 30 × 30 mm |
| 15 × 15 mm |
| 15 × 10 mm |
Selecting the Pin Symbol
In the previous section, we defined a marker symbol with the name
p . Use the following commands to select this marker as pin symbol for subsequent pin definitions on the currently loaded SCM symbol:
Settings |  |
Settings |  |
Select Pin Symbol |  |
Pin Marker Name (pin) ? | p  |
Parameter settings as shown above can be utilized for assigning different pin symbols on a single SCM part symbol. On default, the system uses the marker named
pin (make sure that this marker is available in the currently accessed SCM default symbol library; see also the
SCMDEFLIBRARY command of the
bsetup utility program).
Placing the Pins
Now the pins of the symbol are to be defined. The
CD4081 part contains 4 equivalent AND gates with input pins
A and
B and output pin
Y . These are the logical pin names (other logical pins could be named
INPUT ,
OUT ,
CLK , etc.). Logical to physical pin assignment is applied with a corresponding logical library definition which can be translated with the
loglib utility program (see the
Packager description in
chapter 3.2 of this manual for more details). Equal names for logical and physical pins (1:1 pin assignments) are also allowed.
The marker level is the lowest SCM database hierarchy level. Each SCM part symbol consists of markers defining the part pins. I.e., the marker is the part symbol to be used on symbol level. This principle is applied on all database levels, thus enabling basic functions such as symbol placement to work in different database levels. Placing markers on symbol level will produce SCM part symbols, whilst placing SCM symbols on SCM sheet level produces circuitry.
Use the following commands to place the pins
A ,
B and
Y at coordinates [2,10], [2,2] and [12,6] on the currently loaded symbol:
Symbols |  |
Add Symbol |  |
Part Name ? | a  |
Move to [2,10] |  |
Add Symbol |  |
Part Name ? | b  |
Move to [2,2] |  |
Add Symbol |  |
Part Name ? | y  |
Move to [12,6] |  |
The markers placed with the commands above are representing the pins
A ,
B and
Y of the
CD4081 gate. Instant placement coordinates display is provided in the status line and/or info field whilst performing interactive placement operations.
A slash
/ preceding the part name causes a line to be displayed on top of the name and/or text. This feature can be used to name negated signals and/or pin names such as
/y . This also works for normal text.
Graphic
The symbol now consists of all pin definitions required for the
CD4081 gate, but symbol geometry and/or graphical information for documentation purposes such as symbol outline, pin connection designators, function indicator, etc. is still missing.
Use the following commands to define a symbol outline for the
CD4081 :
Graphic |  |
Add Graphic Line |  |
Move to [4,1] |  |
Move to [4,11] |  |
Move to [10,11] |  |
Move to [10,1] |  |
Move to [4,1] |  |
Done |  |
Use the following commands to draw a graphic line connecting pin
A with the symbol outline:
Graphic |  |
Add Graphic Line |  |
Move to Pin "A", [2,10] |  |
Move to [4,10] |  |
Done |  |
With the commands above a horizontal line has been drawn from pin
A to the symbol outline, thus indicating that pin
A is defined on symbol
CD4081 . Use the following commands to connect also pin
B and pin
Y with the symbol outline:
Graphic |  |
Copy Graphic |  |
Move to Pin "A", [2,10] |  |
Move to Pin "B", [2,2] |  |
Copy Graphic |  |
Move to Pin "A", [2,10] |  |
Move to [10,6] |  |
Text and Attributes
The graphical design of the
CD4081 part symbol is completed now. Nevertheless, some texts should be defined on the symbol. First of all a reference designator should be placed on the symbol. For this purpose, 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 symbol level will display pertinent part reference names (e.g.,
IC01 ,
R20 ,
V2 ) on the circuit drawing.
Use the following commands to place the
$ text string with a size of 3mm on the symbol:
Text |  |
Add Text |  |
Text ? | $  |
Text Size |  |
Text Size ( 2.00mm) ? | 3  |
Move to [4,11] |  |
Use the following commands to place the
& string (text size 4mm) for denoting the AND gate function of the symbol:
Text |  |
Add Text |  |
Text ? | &  |
Text Size |  |
Text Size ( 3.00mm) ? | 4  |
Move to [6,4] |  |
Use the following commands to place the gate name
CD4081 with a text size of 1mm:
Text |  |
Add Text |  |
Text ? | CD4081  |
Text Size |  |
Text Size ( 4.00mm) ? | 1  |
Move to [5,1] |  |
Use the following commands to define a commentary text referring the
$plname attribute (text size 1mm is still activated):
Text |  |
Add Text |  |
Text ? | $plname  |
Commentary Text |  |
Move to [5,0] |  |
The
Schematic Editor distinguishes between standard and commentary text. Both standard text and commentary text are displayed on the screen, but only standard text will be plotted, thus featuring a mechanism of fading out certain text and/or attributes on the generation of plot data.
Texts can also be defined with frames. Such definitions are possible with the
,
and
options from the submenu to be activated with the right mouse button whilst moving texts with the
,
and/or
function.
creates a surrounding box at 1/8 text height distance.
creates a surrounding box at 1/4 text height distance.
removes the vertical frame line at the text origin.
can be applied to define labels with dynamically adjusted text frames to be attached to connections. Using large pens for plot outputs can cause the negation lines of small texts being merged with text frames. The
option resets all text frame definitions.
The submenus of the
,
and
functions also provide the
and
options for switching the selected text into norotate mode and/or center aligning the text at its placement position. Text in norotate mode is displayed and/or plotted without rotation on any database hierarchy level. The
and
text modes can be reset by applying the
option from the same submenu.
Bartels AutoEngineer supports arbitrary part attributes on symbol level. A particular attribute is defined by a text consisting of the
$ character followed by the (lowercase) attribute name. Attributes are like variables, i.e., on SCM sheet level, values can be assigned to attributes. The attributes listed in
table 2-1 have special meanings due to BAE-specific conventions.
Table 2-1: Special BAE Attributes
Attribute Name | Function/Meaning |
$ | Reference Name |
$$ | Logical Reference Name |
$llname | Logical Library Name |
$plname | Physical Library Name (and/or Alternate Layout Part Package Types) |
$ulname | Used Library Name (Alternate Layout Part Package Type Assignment) |
$rpname | Requested Part Name |
$rbname | Requested Backannotated Part Name |
$gp | Gate Pin |
$blkname | Hierarchical Block Name |
$pageref | SCM Label Sheet Reference Name List |
$pagecref | SCM Label Sheet Reference Comment List |
$orgname | Original/internal SCM symbol/part name(s) of layout part |
$pagename | Schematic sheet name(s) of layout part |
$blkrname | Schematic block symbol reference name(s) of layout part |
$rlname | Requested Logical Library Name |
$rlext | Requested Logical Library Name Extension |
$val | Value |
$pow | Power |
$type | Component Type |
$comment | Comment (English) |
$commentge | Comment (German) |
$manufacturer | Component Manufacturer |
$partside | Part Side (top = unmirrored, bottom = mirrored) |
$pltbaeversion | Bartels AutoEngineer Software Version Number (read-only) |
$pltbaebuild | Bartels AutoEngineer Software Build Number (read-only) |
$pltfname | Project File Path Name |
$Pltfname | Project File Path Name (uppercase) |
$pltfsname | Project File Name (without Directory Path) |
$Pltfsname | Project File Name (uppercase, without Directory Path) |
$pltpagecnt | Project SCM Sheet Count |
$pltename | Element Name |
$Pltename | Element Name (uppercase) |
$pltdatede | Current Date (German Format) |
$pltdateus | Current Date (US Format) |
$pltdate2de | Current Date (German Format; two-digit year display) |
$pltdate2us | Current Date (US Format; two-digit year display) |
$plttime | Current Time |
$pltsdatede | SCM/Layout Save Date (German Format) |
$pltsdateus | SCM/Layout Save Date (US Format) |
$pltsdate2de | SCM/Layout Save Date (German Format; two-digit year display) |
$pltsdate2us | SCM/Layout Save Date (US Format; two-digit year display) |
$pltstime | SCM/Layout Save Time |
$pltpname | Layout element name for last Packager run |
$Pltpname | Layout element name for last Packager run (uppercase) |
$pltpdatede | Date (German Format) of last Packager run |
$pltpdateus | Date (US Format) of last Packager run |
$pltpdate2de | Date (German Format; two-digit year display) of last Packager run |
$pltpdate2us | Date (US Format; two-digit year display) of last Packager run |
$pltptime | Time of last Packager run |
$pltcname | Layout Element Name |
$pltcdatede | Date of last name update (German Format) |
$pltcdateus | Date of last name update (US Format) |
$pltcdate2de | Date of last name update (German Format; two-digit year display) |
$pltcdate2us | Date of last name update (US Format; two-digit year display) |
$pltctime | Time of last name update |
$pltfbname | File Base Name - Element-specific Project File Name without .ddb extension |
$Pltfbname | File Base Name - Element-specific Project File Name without .ddb extension (uppercase) |
$pltfbsname | File Base Short Name - Element-specific Project File Name without .ddb extension and directory path |
$Pltfbsname | File Base Short Name - Element-specific Project File Name without .ddb extension and directory path (uppercase) |
$pltecomment | DDB Element Comment - Element-specific comment text |
$drcblk | Design Rule Check Block (Pin/Net Attribute) |
$net | Pin Net Name |
$netname | Net Name (Net Attribute) |
$nettype | Net Type (Pin/Net Attribute) |
$powpin | Power Pin Definition (Pin Attribute) |
$viastk | Via Padstack Type (Net Attribute) |
$notest | Exclusion from Automatic Test Point Generation (Net Attribut) |
$routdis | Exclusion from Autorouting Process (Net Attribute) |
$layers | Autorouting Layers (Net Attribute) |
$@ | Layout Part Name (Padstack Attribute) |
The
$pltbaeversion and
$pltbaebuild display the
Bartels AutoEngineer software version and build numbers. This allows for the inclusion of software version information on schematic plans as required for ISO certification.
The
$ ,
$llname ,
$plname ,
$gp ,
$ulname and
$blkname attributes are automatically processed by the system. The reference designator attribute
($ ) is replaced with the name of the referenced symbol on the superior hierarchy level. On SCM sheet level, the part and/or pin names produced by the
Packager are displayed through the
$ attribute.
$$ attribute definitions on SCM symbol level can be used to retain logical SCM part name display on SCM sheet level after
Packager processing.
$$ attribute definitions on SCM marker level can be used to retain logical SCM symbol pin names display on SCM sheet level
after Packager processing.
Symbol level
$llname text definitions are substituted with symbol macro names on SCM plan level. The
Packager automatically assigns the
$llname attribute value, i.e., the
$llname attribute is not available for interactive and/or explicit attribute value assigments. Symbol name display through
$llname text definitions on SCM symbol label eliminate the need for redefining symbol name texts when creating new SCM symbols from existing SCM symbols.
The logical library name
($llname ) can also be used for displaying SCM symbol names on the layout. The
Packager automatically transfers SCM symbol pin names to the
$llname pin attribute, thus allowing logical pin name display in the layout through
$llname text definitions on padstack level.
The physical library name
($plname ) is used for assigning non-default layout packages
and/or alternative layout part package types.
I.e., selectable SCM symbols can be assigned to layout packages different from the logical library default assignment (e.g., a
so14 SMD package could be used instead of the default
dil14 by assigning the value
so14 to the
$plname attribute,
or a choice of layout package types could be passed to the layout system through a
[dil14,so14] $plname attribute value assignment; see the descriptions of the
loglib utility program and the
Packager for more details).
The
transfers layout part package type assignments back onto
$ulname (Used Library Name) SCM symbol attributes, thus allowing for alternate layout part package type assignments display and/or query on SCM plan level.
The requested part name
($rpname ) is used for forcing the packaging of certain SCM symbols to certain layout parts (e.g., assignment to part
IC28 instead of the automatically generated assignment); this function is required for special part definitions consisting of different SCM symbols such as relays with strip and contact, opamps with variable power supply, etc.
The requested backannotated part name
($rbname ) provides the same functionality like
$rpname , but without prohibiting subsequent layout part name changes. I.e., the
Layout Editor allows for
$rbname part names to be changed and the
transfers changed layout part names back onto the
$rbname attributes of the corresponding SCM symbols.
The gate pin
($gp ) attribute can be used to assign SCM symbols to layout gate positions by setting the
$gp value to the desired gate's first pin name from the
xlat command of the corresponding logical library definition (see also
loglib). When using
$gp assignments, the
$gp value should be set for all gates of the layout part to avoid gate assignment conflicts. The
$gp attribute allows for specific assignments of dual operation amplifier components, and it can even be used to define connector pin symbols for single pins of multi-pin connectors where each pin is defined as a gate and the
$gp attribute specifies the name of the connector pin. Gate and pins assigned through the
$gp attribute are excluded from layout pin/gate swaps.
The hierarchical block name
($blkname ) is used for hierarchical circuit design; corresponding attribute values are automatically set by the
Packager denoting the name of the hierarchical block where a certain part is referenced from.
The
$pltpagecnt can be used in the schematics to display the total number of schematic sheets of the current project.
On SCM sheet level, label level
$pageref text definitions are substituted with the list of all SCM sheets on which the corresponding net is used.
On SCM sheet level, label level
$pagecref text definitions are substituted with the list of comments of all SCM sheets on which the corresponding net is used.
The
Packager automatically assigns the
$orgname (original/internal SCM symbol/part name(s) and/or SCM (sub-)net name(s)),
$pagename (schematic sheet name(s)) of layout part') and
$blkrname (schematic block symbol reference name(s)) attributes for schematic sub-block tracking information to layout parts.
$rlname (Requested Logical Library Name) symbol attribute value assignments cause the
Packager to transfer symbols using non-default logical library definitions. This allows for the selection of part definitions with, e.g., manufacturer-specific library attribute settings or non-default package assignments. The non-default
loglib entry assigned through
$rlname must refer to the same part class like the default
loglib definition (for
loglib part class definitions see also
chapter 7.11).
mainpart/subpart symbol sets must be assigned to corresponding parts. I.e., heterogeneous symbol definitions such as
amain/asub and
bmain/bsub can be assigned to
amain/asub or
bmain/bsub , but not to
amain/bsub or
bmain/asub .
$rlext (Requested Logical Library Name Extension) symbol attribute value assignments work similar to
$rlname assignments.
$rlext assignments cause the
Packager to transfer symbols using non-default logical library definitions with specific name extensions (separated from the base name by an underscore _ ). This allows for the selection of part definitions with, e.g., standardized manufacturer-specific library attribute settings or non-default standardized package assignments.
The predefined attributes
$val (value),
$pow (power),
$type ,
$comment ,
$commentge and
$manufacturer are optionally used throughout the delivered BAE libraries. The user is free to apply these attribute definitions and/or to assign corresponding attribute values on demand.
The
$partside part system attribute can be used to block (attribute value
top ) or force (attribute value
bottom ) part mirroring. These settings have priority over any other mirror modes during interactive and automatic part placement operations. Parts violating these placement preferences are marked by the DRC, and the
/ functions list such parts in a part side error list. The
ROUTE library provides the
tag_sym_partside tag symbol for assigning
$partside attribute values.
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 the current date when displayed and/or plotted on SCM sheet or layout level.
The
$pltstime (layout save time),
$pltsdatede (layout save date, German Notation) and
$pltsdateus (layout save date, US notation) system attributes are substituted with the time and/or the date the currently loaded layout was last saved. Automatic time and date substitutions are applied throughout all database hierarchy levels (marker, symbol, label, sheet and/or pad, padstack, part, layout), unless other attribute values are explicitly set for these attributes.
The
$pltpname (layout element name),
$pltpdatede (date, German Notation),
$pltpdateus (date, US notation) and
$pltptime (time) system attributes are substituted with the layout element name and/or the date and/or the time of the last
Packager run when displayed and/or plotted on SCM sheet or layout level.
The
$pltdate2de ,
$pltdate2us ,
$pltsdate2de ,
$pltsdate2us ,
$pltpdate2de and
$pltpdate2us attributes are two-digit year display versions of the
$pltdatede ,
$pltdateus ,
$pltsdatede ,
$pltsdateus ,
$pltpdatede and
$pltpdateus attributes.
The
$pltcname ,
$pltcdatede ,
$pltcdate2de ,
$pltcdateus ,
$pltcdate2us and
$pltctime attributes are substituted with the layout element name and the date and time of the last name update. These attributes are not only updated by the
Packager but also by the
.
The
$pltfbname (File Base Name) and
$pltfbsname (File Base Short Name) system attributes can be used for displaying the current element's project file name.
$pltfbname displays the project file name without the
.ddb extension.
$pltfbsname displays the project file name without the
.ddb extension and without the directory path.
The
$pltecomment system attribute can be used to assign and display DDB element comments. Element comments can be assigned through the
/ submenu or, for the currently loaded element, through the
/ dialog. The element selection dialogs are displaying element comments together with the element names. The SCM PDF output functions are displaying
SCM sheet comments rather than SCM sheet element names when creating tables of contents for SCM plans.
The
Packager supports net name assignments through the
$netname net attribute. Such net names have priority over net name assignments through label connections. I.e., the
$netname attribute can be used to control net name assignments for nets with different labels which would otherwise be named after the label which comes first in the alphabet.
$nettype pin attributes are automatically transferred to connected nets. The
$nettype value
mixed is assigned to nets with different
$nettype attribute values. The
BAE HighEnd
Packager automatically transfers
$drcblk pin attributes to connected nets. The
$drcblk attribute value addresses a
BAE HighEnd design rule check parameter block to be assigned to the corresponding net.
The
$powpin pin attribute setting causes the system to
set a symbol pin's connection width to the power pin connection width defined through the
net command and power width net attribute. The
tag_pin_powerpin tag symbol from the
ROUTE symbol library can be used for
$powpin pin attribute assignments. Alternatively, the system supports fixed
$powpin assignments through the logical definition of the symbol:
newattr "$powpin" = "1" : (pinname);
The
$viastk net attribute can be used to assign non-default via types to nets. Net-specific via padstack assignments are considered by the
Autorouter.
$notest net attribute assignments can be used to deactivate automatic test point generation by the
Packager for specific nets.
$routdis net attribute assignments can be used to exclude specific nets from the autorouting process. The
$layers net attribute can be used to assign net-specific routing layers (comma-separated signal layer numbers) for the autorouting process in
BAE HighEnd.
The
$@ attribute is padstack-specific. Text on padstack level is on layout level subsituted with the name of the part on which the padstack is placed. This feature can be useful if part names need to be displayed for pins which are placed outside the part body (e.g. during
operations).
BAE supports not only the attributes listed in
table 2-1, but also arbitrary user-defined attributes such as
$tolerance ,
$identno ,
$partnumber ,
$price ,
$supplier ,
$delay ,
$insertion_height , etc.
The
function from the
and/or
menu can be used for moving and/or placing selectable symbol attributes. Attribute text offsets defined through
override the global text offset set with
. The attribute to be moved is selected through a mouse-click on the attribute text. Since symbol names are internally stored as attributes, the
function can also be used to move symbol names without changing the placement of other symbol attributes.
Attribute value setting is performed either in the
Schematic Editor (using the
function from the
menu) or by fixed attribute value assignment in the logical library.
A dialog box for simultaneously displaying up to 12 symbol attributes is provided with the
function under Windows and Motif. For symbols with more than 12 attribute definitions,
and
buttons are provided for forward and/or backward scrolling. The dialog box contains a line for each attribute. This line consists of a
button, an attribute value input/edit field and the attribute name/label display. The
button can be used to clear the attribute value setting which is indicated through a
!not_set! attribute value display. Clearing the attribute value is different from specifying an empty string. Empty string attribute values are assigned and transferred as such to the net list, whilst clearing an attribute value prevents the system from assigning and/or transferring any attribute value to the net list.
Attributes are part of the net list and are annotated by the
Packager, thus providing access from the layout (e.g., by appropriate text definitions on selectable documentary layers). The
userlist utility program and
Bartels User Language can be utilized for performing automatic attribute value assignments and/or for evaluating attributes for cost analysis, production planning, manufacturing control, purchasing and ordering management, producing output data for third party systems, etc.
Part Name Pattern
BAE supports patterns for symbol names to follow if a name is not specified when the symbol is placed on the SCM sheet. Use the following commands to define a part name pattern for the currently loaded CD4081 symbol:
Symbols |  |
Part Name Pattern |  |
Part Name Pattern () ? | IC??  |
With the commands above a part name pattern consisting of the string
IC and two digits for the numbering is defined. The default pattern for symbols without a part name pattern definition is
N???? , i.e., the default pattern consists of
N and four digits for the numbering. The start number for automatic part numbering emerges from 10 with pattern
?? , 100 with pattern
??? , 1000 with pattern
???? , etc. This helps to avoid conflicts when renaming layout parts afterwards. Parts are renamed on the layout e.g., for improving the legibility of the insertion plan (for manual insertion). This is usually more important than designating SCM parts according to some devised rules since adequate SCM documentation is achieved by displaying the part and/or circuit function with appropriate symbol definitions. We recommend to apply the automatic part naming features at the placement of SCM symbols and to perform renaming on the layout only. Functions for changing net list part names and/or for automatic part numbering are provided with both the
Layout Editor and the
Autoplacement.
Modifying the Element Boundaries
Use the following commands to set the upper right corner of the element boundaries to coordinate [14,14]:
Settings |  |
Upper/Right Border |  |
Move to [14,14] |  |
The symbol origin refers to the pick point in superior hierarchy levels. This is the point of the SCM symbol where it is picked for placement and/or movement on the SCM sheet. Usually, it makes sense to set the origin at a certain pin coordinate (e.g., left top or left bottom). Use the following commands to define the origin on pin
A (coordinate [2,10]) of the currently loaded
CD4081 symbol:
Defining the Origin
Settings |  |
Set Origin |  |
Move to Pin "A", [2,10] |  |
Saving the Symbol
The definition of symbol
CD4081 is completed now. Do not forget to save this symbol with the following commands:
File |  |
Save Element |  |
2.2.3 Creating SCM Labels
Label symbols are used on SCM sheet level to define signals and/or net names. Labels can be utilized to connect signals from different schematic sheets of the same job file. The
function from the
menu is used for placing labels onto the currently loaded SCM sheet. If a label symbol is available with the same name as specified for the signal name, then the corresponding label symbol is loaded (thus displaying special graphic e.g., for the ground signal). If no label symbol with the specified net name is available, then the label symbol named
standard is used on default. The
standard label symbol should always contain a reference text
($ ) for displaying the net name. BAE uses two more predefined label symbols named
bustap and
port , respectively. The
bustap label symbol is used for tapping bus connections (use the
function from the
menu). The
port label symbol is used for defining module ports in hierarchical circuit designs (use the
function from the
menu). In this section we will create two label symbols named
vss and
vdd in DDB file
demo.ddb . These symbols are intended especially for CMOS ground and power supply.
Creating a new Label Symbol
Use the following commands to produce a new label symbol (i.e. a new element of type label) named
vss in the DDB file
demo.ddb (if an element of
demo.ddb is currently loaded, then the file name can be specified either by selecting the
button from the popup menu or by specifying an empty string, i.e., pressing the return key
to the file name query):
File |  |
New |  |
Label |  |
File Name ? | demo  |
Element Name ? | vss  |
Sheet (S)tandard/(M)anual ? | m  |
Element Width (mm/") ? | 6  |
Element Height (mm/") ? | 10  |
Placing the Pin Symbol
Use the following commands to place the marker symbol
p at coordinate [3,7]:
Symbols |  |
Add Symbol |  |
Library Element Name ? | p  |
Move to [3,7] |  |
Graphic
Use the following commands to draw a graphic line (starting at the marker and ending at coordinate [3,4]) and a rectangle-shaped graphic area:
Graphic |  |
Add Graphic Line |  |
Move to Marker, [3,7] |  |
Move to [3,4] |  |
Done |  |
Add Graphic Area |  |
Move to [1,3] |  |
Move to [1,4] |  |
Move to [5,4] |  |
Move to [5,3] |  |
Done |  |
Text
Use the following command to place the label name text string
Vss (text size 2mm) at coordinate [1,1]:
Text |  |
Add Text |  |
Text ? | Vss  |
Text Size |  |
Text Size ( 1.00mm) ? | 2  |
Move to [1,1] |  |
Defining the Origin
Use the following commands to set the label origin to the current marker position (i.e., at coordinate [3,7]):
Settings |  |
Set Origin |  |
Move to Marker, [3,7] |  |
Saving the Label Symbol
The definition of the label symbol
vss is completed now. Do not forget to save this symbol with the following commands:
File |  |
Save Element |  |
Creating a new Label Symbol from an existing
In this section we will create the label symbol
vdd from the previously defined label symbol
vss . Use the following commands to copy the currently loaded label symbol
vss to
vdd and load the copied label symbol
vdd :
File |  |
Save Element As |  |
File Name ? |  |
Element Name ? | vdd  |
Load Element |  |
Label |  |
File Name ? |  |
Element Name ? | vdd  |
The display now shows the
vdd label symbol, which still looks like the
vss label symbol. We will now make some modifications to create the desired
vdd symbol design.
Use the following commands to delete the text
Vss and the rectangle-shaped graphic area:
Text |  |
Delete Text |  |
Move to [-2,-6] |  |
Graphic |  |
Delete Graphic |  |
Move to [-2,-4] |  |
Use the following commands to move down the vertical graphic line:
Graphic |  |
Move Graphic |  |
Move to [0,-3] |  |
Move to [0,-5] |  |
Use the following commands to move down the marker symbol:
Symbols |  |
Move Symbol/Label |  |
Move to [0,0] |  |
Move to [0,-5] |  |
Use the following commands to create a V-shaped graphic area, i.e., an arrow-head pointing to top (the angle lock display option must be switched off to create this irregularly shaped triangle):
Graphic |  |
Add Graphic Area |  |
Move to [-1,-2] |  |
Move to [1,-2] |  |
Grids/Rotation |  |
Rotation Off |  |
Move to [0,0] |  |
Done |  |
Use the following command to place the label name text string
Vdd at coordinate [1,1] (text size 2mm is still activated):
Text |  |
Add Text |  |
Text ? | Vdd  |
Move to [-2,0] |  |
Use the following commands to set the origin to the current marker position (i.e., at coordinate [0,-5]):
Settings |  |
Set Origin |  |
Move to Marker, [0,-5] |  |
The definition of the
vdd label symbol is now completed. Do not forget to save this symbol with the following commands:
File |  |
Save Element |  |
2.3 Designing SCM Circuits
This section describes how to create SCM plans using the
BAE Schematic Editor. Two example SCM sheets named
sheet1 and
sheet2 will be edited in the
demo.ddb DDB file.
sheet1 will contain the circuit logic. On
sheet2 , the plug pin assignment and some net attributes for the
Autorouter will be defined.
The following paragraphs will introduce the basic functions for creating SCM plans, placing symbols, assigning attribute values, creating connections, placing labels, defining busses, placing texts and drawing graphic. This section also shows how to use special features such as virtual symbol definitions, group functions, defining plug pin assignments, setting net attribute values, using templates, etc.
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:
> cd c:\baejobs
> bae 
Use the following command to start the Schematic Editor:
Schematic |  |
The
Schematic Editor is activated and you can start to edit SCM plans.
2.3.1 Creating and Editing SCM Plans
Creating a new SCM Sheet
Use the following commands to create a new schematic sheet named
sheet1 with paper size A4 in the DDB file
demo.ddb :
File |  |
New |  |
Sheet |  |
File Name ? | demo  |
Element Name ? | sheet1  |
A4 Landscape |  |
A frame designating the element boundaries of the SCM sheet will appear on the screen. If the system issues an error message such as
Element does already exist! , then an SCM sheet with the specified element name has already been generated. In this case the requested element cannot be created, but must be loaded (see below). The element name query is indispensable due to the fact that a schematic circuit drawing can consist of multiple sheets. You can specify arbitrary sheet names such as
sheet1 ,
sheet2 ,
plan_1 ,
1 ,
2 ,
io ,
memory ,
plug_pinning , etc. An options menu for selecting the sheet size is activated after specifying the file and element names. This allows for the selection of predefined A0, A1, A2, A3, A4, Letter (8.5*11 Inches) and Tabloid (11*17 Inches) formats in either portrait or landscape orientation. The
option can be used to specify any other sheet size through subsequently activated element width and height prompts.
Use the following commands to store the new SCM sheet and return to the BAE main shell:
File |  |
Save Element |  |
File |  |
Main Menu |  |
Editing an existing SCM Sheet
Start the
Schematic Editor and use the following commands to reload the previously created SCM sheet element (you can select the file and element name via popup menu and mouse-pick since you are now accessing an existing element):
File |  |
Load |  |
Sheet |  |
File Name ? | demo  |
Element Name ? | sheet1  |
The system now loads the previously created SCM sheet. 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
Schematic Editor, the system knows the name of the file previously processed in any other BAE module. On subsequent file name queries this global project name can alternatively be specified by selecting the
button from the file name popup menu or by entering an empty string (i.e., by pressing the return key
) to the file name prompt.
2.3.2 Symbols
On SCM sheet level, the appropriate functions from the
menu are used for placing, moving and deleting symbols, labels and module ports, for assigning attribute values and for querying symbol logic definitions. The symbol placement routines support access to different, selectable SCM symbol libraries. The functions provided with the Symbols menu are essentially applied for generating the part list and for defining signal names.
Input Grid
BAE supports arbitrary grids and also grid-free input. Nevertheless, it is recommended to use a reasonable grid for placing the symbols to enable easy pin connections. Use the following commands to set a 2mm input grid with grid lock (this is intended for subsequently creating pin connections in a 1mm grid):
View |  |
Grids/Rotation |  |
Set Input Grid |  |
2.0 mm |  |
Grid+Rotation On |  |
Library Access
The
function from the
menu is used for selecting the SCM library, from which the symbols should be loaded. Use the following commands to check on how the library path is currently set:
Settings |  |
Select Library |  |
Library Name ('c:/baelib/stdsym.ddb') ? |  |
The name of the currently selected library is indicated with the library name prompt. When calling the
Schematic 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:
Settings |  |
Select Library |  |
Library Name ('c:/baelib/stdsym.ddb') ? | -  |
Select Library |  |
Library Name ('') ? | !  |
The Bartels AutoEngineer supports a most flexible database concept. This concept allows any DDB file to be used as symbol library. When loading a symbol the system will first check the job-specific library (i.e., the currently edited DDB file) for the requested library element. If the element is not contained in the project file, then the search is expanded onto the currently selected library. When loading a symbol from an external library file the
Schematic Editor will automatically create a complete copy of the requested library symbol in the current project file, and subsequent requests for the same symbol will from then on refer to the job-specific library.
Figure 2-3 illustrates the
Schematic Editor library access concept.

Figure 2-3: SCM Library Access
Changing the library path setting is meaningful only if a series of different 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:
Settings |  |
Select Library |  |
Library Name ('c:/baelib/stdsym.ddb') ? | demolib  |
With the commands above the library path is set to the
demolib.ddb DDB file of the working directory, i.e., requested symbols on subsequent load operations are copied from
demolib.ddb .
Placing Symbols
Use the following commands to load the transistor symbol
tr_bc517 with part name
V1 , and place it at coordinate [240,130]:
Symbols |  |
Add Symbol |  |
Part Name ? | v1  |
Library Element Name ? | tr_bc517  |
Move to [240,130] |  |
The part name query is used for specifying the symbol reference (e.g.,
IC10 ,
R8 ,
U004 , ...). If the user types in an empty string (by pressing the return key
), then the system will automatically generate a part name according to the part name pattern defined with the corresponding symbol (see also
chapter 2.2.2, Creating SCM Symbols). An empty string input to the part name query can also be activated by pressing a mouse button. The system will issue an error message when the part name space defined with the part name pattern is exhausted, i.e., if no new part name corresponding to the name pattern can be generated automatically any more.
The part names used throughout a schematic design must be unique to avoid conflicts in subsequent
Packager and
processes. Part name uniqueness is implicitly ensured when using the automatic part naming facilities. With explicit part naming the system performs special part name uniqueness checks to avoid name conflicts. If the specified part name is already used on the currently loaded SCM sheet, then the user must confirm to use this part name. If the part name is used on the currently loaded sheet, then the corresponding part is deleted and/or replaced with the new part (with a different SCM symbol on request and without any attribute value settings). However, if the specified part name is used on a different sheet, then the corresponding part will not be deleted automatically, i.e., it is up to the user to delete this part later to avoid name conflicts on subsequent
Packager processes.
The library element name query is used for selecting the library symbol (e.g.,
74as00 ,
c ,
led ,
pal_20r4 ,
i80286 , etc.). A mouse-click or a question-mark input string
(? ) to the library element name query activates a popup menu with a list of all library files available with the predefined default library path. The
button or
> input to the library file name prompt selects the standard SCM library defined through the
function from the
menu. The
button from this menu provides optional access to the job-specific library in 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.
Use the following commands to place one capacitor symbol
c and one resistor symbol
r , both with automatically generated part name:
Symbols |  |
Add Symbol |  |
Part Name ? |  |
Library Element Name ? | c  |
Move to [140,190] |  |
Add Symbol |  |
Part Name ? |  |
Library Element Name ? | r  |
Move to [60,130] |  |
The
function is used to place an automatically named part which refers the same symbol as with the preceding symbol load operation. Use the following commands to place three more resistor symbols on the circuit diagram:
Symbols |  |
Next Symbol/Label |  |
Move to [100,130] |  |
Next Symbol/Label |  |
Move to [140,130] |  |
Next Symbol/Label |  |
Move to [180,130] |  |
Next Symbol/Label |  |
Move to [210,130] |  |
Pressing the right mouse button during symbol placement will activate a submenu which provides functions such as specifying absolute placement coordinates, symbol rotation and symbol mirroring. Use the following commands to load another resistor symbol, rotate it and place it at coordinate [170,170]:
Symbols |  |
Next Symbol/Label |  |
Rotate Left |  |
Move to [170,170] |  |
The
Schematic Editor provides a function for setting a default rotation angle for symbol placement operations. If you intend to place a series of symbols at a special rotation angle (and/or mirror mode) it is most useful to set the default rotation angle accordingly, thus avoiding the need of explicitly specifying the rotation angle for each symbol. Use the following commands to set the default symbol placement rotation angle to 90 degree:
Symbols |  |
Set Default Angle |  |
90 Degrees Left |  |
The standard rotation angle setting above will cause symbols to be automatically rotated by 90 degree on subsequent load operations. Use the following commands to place some more symbols at 90 degree rotation angles:
Symbols |  |
Add Symbol |  |
Part Name ? |  |
Library Element Name ? | c  |
Move to [30,80] |  |
Add Symbol |  |
Part Name ? |  |
Library Element Name ? | d  |
Move to [220,180] |  |
Add Symbol |  |
Part Name ? |  |
Library Element Name ? | s_1dil  |
Move to [50,140] |  |
Next Symbol/Label |  |
Move to [90,140] |  |
Next Symbol/Label |  |
Move to [130,140] |  |
Next Symbol/Label |  |
Move to [170,140] |  |
Use the following commands to reset the standard rotation angle to 0 degree, and place some more symbols:
Symbols |  |
Set Default Angle |  |
0 Degrees Left |  |
Next Symbol/Label |  |
Move to [80,70] |  |
Next Symbol/Label |  |
Move to [80,50] |  |
Next Symbol/Label |  |
Move to [80,30] |  |
All library symbols stored to the project file are directly available for repeated load operations. I.e., we can also place the symbol CD4081 (which was created in
chapter 2.2.2 and stored to the project file
demo.ddb ) without accessing an external library file. Use the following commands to place some CD4081 symbols; note that mouse-click and popup menu features are utilized for specifying the part name and selecting the library element, i.e., no keyboard input is necessary for performing the following operations:
Symbols |  |
Add Symbol |  |
Part Name ? |  |
Library Element Name ? |  |
Select Button |  |
Select Element "cd4081" |  |
Move to [60,110] |  |
Next Symbol/Label |  |
Move to [100,110] |  |
Next Symbol/Label |  |
Move to [140,110] |  |
Next Symbol/Label |  |
Move to [180,110] |  |
The popup menu for selecting the SCM library file provides access to all library files of the predefined library path as well as to the job-specific library selectable with the
button. The subsequently activated popup menu for selecting the library symbol simultaneously provides access to the table of contents of the selected SCM symbol library (the symbol load function can be canceled by selecting the
button).
The system also provides features for directly accessing certain library files of the predefined library path. Use the following commands to access the symbol
z80 from the library file
zilog.ddb :
Symbols |  |
Add Symbol |  |
Part Name ? |  |
Library Element Name ? | zilog/z80  |
Now the symbol
z80 is picked with the graphic cursor and can be placed. Use the following commands to abort this operation:
Abort |  |
Aborting the symbol load function will prevent the system from copying the symbol from the library file to the currently edited project file, thus avoiding redundant database entries in the job file.
The general syntax for specifying the library element name is:
<library_file_name>/<library_element_name>
If the user hits a mouse button or types a question-mark
(? ) to the library element name prompt, then the system will activate a popup menu for selecting the library file. If a question-mark is specified for the library element name, then the system will activate the popup menu for selecting symbols from the given library file (i.e.,
zilog/? activates the popup menu for selecting symbols from the
zilog.ddb library file).
Bartels AutoEngineer provides features for assigning different schematic symbol types to the same layout package type (see the descriptions of the
Packager and the
loglib utility program for more details). Use the following commands to place one coil symbol
rels and two contact symbols
relc :
Symbols |  |
Add Symbol |  |
Part Name ? |  |
Library Element Name ? | rels  |
Move to [240,180] |  |
Add Symbol |  |
Part Name ? |  |
Library Element Name ? | relc  |
Move to [210,80] |  |
Next Symbol/Label |  |
Move to [210,60] |  |
The symbols placed with the commands above are assigned to a single relay part according to their logical library definition (see also the contents of the
demolib.def logical library file). Note that the
Packager will allocate a single layout package for these symbols.
Attribute Value Assignment
On SCM sheet level, attribute values can be assigned to all parts where the corresponding symbols contain attribute definitions (i.e., lowercase text starting with a dollar sign, such as
$val ,
$plname ,
$pow , etc.). Use the following commands to assign values to the
$val attribute defined on
c100 ,
r100 and
v1000 :
Symbols |  |
Assign Value |  |
Move to "c100", [140,190] |  |
$val |  |
Attribute Value ? | 10uF  |
Return |  |
Assign Value |  |
Move to "r100", [60,130] |  |
$val |  |
Attribute Value ? | 100k  |
Return |  |
Assign Value |  |
Move to "v1000", [220,180] |  |
$val |  |
Attribute Value ? | 1N4001  |
Return |  |
Apply commands such as shown above to assign values to the
$val attribute defined with the parts
r101 ,
r102 ,
r103 (set value
100k , respectively),
r104 (value
10k ),
r105 (value
1M ) and
c101 (value
100pF ). Note that part and symbol name (e.g.,
Log. Name: c100, Macro: c ) is displayed in the status line during attribute name queries, thus indicating the symbol currently selected for attribute value assignment.
The attributes submenu provides a list of the attributes defined on the selected symbol, respectively. I.e., this submenu can vary for different symbols. The
option is only provided for symbols containing more than one attribute definition.
is used to end the attribute value assignment function.
With the
rels and
relc symbols, only one attribute named
$rpname is defined. This attribute is used to designate the requested part name, i.e. the
$rpname value will cause the
Packager to allocate a physical part with a user-defined part name for assigning the logical parts referring to that requested part name. This feature should be applied to force the
Packager to assign different symbols to the same part whenever necessary (e.g., for op-amps with power supply, relays, etc.). Use the following commands to set the
$rpname attribute of the symbol
k10 to
k1 , i.e. to assign the logical part named
k10 to the physical part named
k1 :
Symbols |  |
Assign Value |  |
Move to "k10", [240,180] |  |
$rpname |  |
Attribute Value ? | k1  |
Perform the same attribute value assignment as above (value
k1 for attribute
$rpname ) also for the parts
KK100 and
KK101 (relay contacts
relc ). This will cause the
Packager to pack these two symbols together with the relay coil
K10 into a physical part named
K1 .
The
$plname attribute is used for assigning non-default package types to logical parts. Setting the
$plname attribute value for a certain logical part will cause the
Packager to assign this logical part to the layout package type defined with the
$plname value instead of the default package definition from the logical library. Use the following commands to set
$plname attribute values in order to change the default (standard) package type assignments of the logical parts
c100 ,
c101 ,
r104 and
r105 to SMD package types:
Symbols |  |
Assign Value |  |
Move to "c100", [140,190] |  |
$plname |  |
Attribute Value ? | chip1210  |
Return |  |
Assign Value |  |
Move to "c101", [30,80] |  |
$plname |  |
Attribute Value ? | chip1206  |
Return |  |
Assign Value |  |
Move to "r104", [210,130] |  |
$plname |  |
Attribute Value ? | minimelf  |
Return |  |
Assign Value |  |
Move to "r105", [170,170] |  |
$plname |  |
Attribute Value ? | chip1206  |
Return |  |
If you have executed all work steps of this paragraph correctly, then your circuit diagram should look like the one shown in
figure 2-4.

Figure 2-4: SCM Sheet with Symbols
Moving Symbols, Deleting Symbols, Changing Symbol Names
The
function is used to move symbols already placed on the sheet. The
Schematic Editor applies an built-in signal router for automatically rerouting connections to the moved symbol (see below). Pressing the right mouse button during symbol movement will activate a submenu with special options for rotating and mirroring, absolute coordinates input, activate and/or deactivate the signal router, etc. The
function is used to delete symbols. Part names and/or references can be changed with the
function. You should test these functions on the currently loaded sheet and use the
and
functions for estimating design modifications and returning to the original design stage. Please note that the symbol pick function picks the symbol which is placed inside other symbols at the pick position to prevent from unintentionally selecting frame symbols.
2.3.3 Connections, Labels, Busses
The Connections menu provides functions for creating, modifying, and deleting connections and/or busses on SCM sheet level.
Selecting the Connection Point Marker
Use the following commands to select the marker symbol
tconnector to be the connection point marker for indicating T-shaped connections:
Settings |  |
Set Junction Point |  |
Please confirm (Y/N) : | y  |
Junction Point Name (junction) ? | tconnector  |
The connection point marker is a special marker symbol. The connection point marker symbol should contain a normal graphic area instead of a contact area as with the pin marker symbols. The connection point marker symbol
junction is assigned on default (note that the system expects this marker symbol to be available in the SCM standard symbol library; see also the description of the
SCMDEFLIBRARY command supported by the
bsetup utility program).
Graphic Control Function, Input Grid
Contact areas on pin symbols are utilized for displaying net list changes on SCM sheet level. As soon as a pin is connected correctly, the contact area defined on the corresponding pin marker will disappear, thus providing most useful graphical indication of net list changes. This feature is required, since BAE allows connections ending at any point (as to be utilized for bus definitions; see below). Note that single-segment pin connections will also cause the pin contact area to fade out, thus providing a convenient way of marking pins which should not be connected as already being processed. Contact areas attached to open connections consisting of more than one segment, however, are displayed with error highlight, and the
function from the
menu counts such an open connection as drawing error.
If you have problems connecting certain pins at the current input grid settings, then you should use the Display functions for selecting a smaller input grid (or even release the grid lock).
Use the following commands to select 1mm input grids for subsequent pin connection interactions:
View |  |
Grids/Rotation |  |
Set Input Grid |  |
1.0 mm |  |
Grid+Rotation On |  |
View, Display
The middle mouse button can be used to activate the
menu at any time during symbol placement and/or the drawing of geometry and connections. Particularly the zoom functions are very helpful at the generation of connections. The following example shows how to zoom to a certain window:
Zoom Window |  |
Move to Window Start Point |  |
Move to Window End Point |  |
The following commands can be used to restore the full view display:
Zoom All |  |
Creating Connections
The first connection to be created should connect part
S1000 with part
IC10 . Use the following commands to zoom to the workspace around these two symbols:
Zoom Window |  |
Move to Window Start Point, [40,80] |  |
Move to Window End Point, [110,170] |  |
Use the following commands to connect pin
1 of part
S1000 with pin
A of part
IC10 :
Connections |  |
Add Connection |  |
Move to Pin "S1000.1", [50,140] |  |
Move to Connection Corner Point, [50,110] |  |
Move to Pin "IC10.A", [60,110] |  |
function and try again (if necessary use a finer input grid). If the connection is completed correctly, then use the following commands to connect pin
1 of the resistor
R100 to this connection:
Each connection corner point is set by pressing the left mouse button, and a connection is completed by pressing the right mouse button. After correct completion of the above-mentioned work step the pin markers should have become invisible. If this is not true, then step back using the
Connections |  |
Add Connection |  |
Move to Pin "R100.1",[60,130] |  |
Move to Connection,[50,130] |  |
A T-shaped connection has been created. Note how the system places a junction point marker to indicate the connection cross point.
Now you should create further connections to get a circuit drawing as shown in
figure 2-5. You can also experiment with the functions for moving, cutting and deleting segments and for deleting connection and/or nets. Apply the
and
functions for estimating design modifications and returning to the original design stage. Please consider the
function for automatically connecting two selectable points on the currently loaded SCM sheet if at all possible with up to three connection segments.

Figure 2-5: SCM Sheet with Symbols, Connections
Labels
Labels are special symbols to be utilized for defining net names. Labels can be applied for assigning certain signal names to connections. Label-defined signal names are known throughout all sheets of the schematics, i.e., labels can also be applied for connecting nets on different sheets.
In
chapter 2.2.3 we created the two label symbols
vss (0V CMOS supply) and
vdd (positive CMOS supply) in our job file
demo.ddb . I.e., these two symbols are available in the currently edited project file and can be loaded to the sheet using the
function from the
menu.
Use the following commands to define the signal
Vss by placing the label symbol
vss on the circuit drawing:
View |  |
Zoom All |  |
Zoom Window |  |
Move to Window Start Point, [120,160] |  |
Move to Window End Point, [180,200] |  |
Symbols |  |
Add Label |  |
Net Name ? | vss  |
Move to [130,190] |  |
Use the following commands to connect pin
1 of capacitor
C100 with signal
Vss by creating a connection between the capacitor pin and the previously placed label:
Connections |  |
Add Connection |  |
Move to Label Pin,[130,190] |  |
Move to Pin "C100.1",[140,190] |  |
Take care that the contact area of the label pin will extinguish in order to ensure a correct connection between the capacitor and signal
Vss .
It is not necessary to explicitly connect a label if the label is placed to a connection corner point. Use the following commands to load the label symbol
Vdd , and connect this label to the connection between capacitor
C100 and resistor
R105 :
Symbols |  |
Add Label |  |
Net Name ? | vdd  |
Move to Connection Corner Point, [170,190] |  |
Again take care that the contact area of the label pin will extinguish.
If no special label symbol for the requested net name is defined and/or available, then the system uses the default label symbol named
standard (presuming that at least this label symbol is available in the project file or in the selected library). Use the following commands to assign signal name
NET to the connection at pin
1 of switch
S1004 :
Zoom All |  |
Zoom Window |  |
Move to Window Start Point, [10,40] |  |
Move to Window End Point, [100,100] |  |
Symbols |  |
Add Label |  |
Net Name ? | net  |
Set Angle |  |
Angle (Deg./(R)ad.) ? | 180  |
Move to Connection Corner Point, [70,70] |  |
On default, the
standard label symbol is used when placing labels for net names without name-matching label symbol. This default label symbol can be changed through the
parameter setting of the
dialog from the
menu. This feature allows for the assignment of different label symbols to certain net names and/or net types without having to define a net-specific label symbol for each of these nets.
As shown in the example above the same placement functions apply for labels and symbols. I.e., you can rotate labels, set a standard placement angle, specify absolute placement coordinates, etc.
Now you should load and place further labels to get a circuit drawing as shown in
figure 2-6 (connect label
Vss to pins
V1.E ,
C101.1 and
S1006.2 ; connect label
Vdd to pins
K10.A1 and
KK100.C ; connect label
NET to pin
IC10.B ). It is recommended to apply the
function for the repeated placement of the same label. You should also utilize the popup menu for selecting the label and/or signal name. This net name popup menu is activated when pressing a mouse button or typing the question-mark string
(? ) to the net name query. The net name popup offers a menu with all signal names of the currently loaded SCM sheet, i.e., the net name menu does contain all those labels which are already connected to pins of the currently defined net list. The
button of the net name popup menu is used for activating the
function.

Figure 2-6: SCM Sheet with Symbols, Connections, Labels
The BAE design system instantly updates the net list with the circuit drawing. I.e., the
Schematic Editor is capable of controlling and correlating the net list data with the circuit diagram at any stage of the design process. Use the following commands to test this most important feature:
Highlight Net |  |
Move to Connection |  |
The
function from the
menu is used to mark all connections of the selected net with a special ("Highlight") color. The
function works as a toggle; to reset the highlight of a certain net simply re-select that net with the
function. In
BAE HighEnd, the
function causes a highlight and/or de-highlight of the selected nets in all currently loaded plans of the current project file on schematic sheet and layout board level (global net highlight, cross-probing).
Signal Router
The
Schematic Editor provides an built-in signal router for performing automatic connection re-routing when moving symbols and/or labels
or groups on SCM sheet level. Signal routing can be activated and/or deactivated
through the
dialog from the
menu or with the
and/or
options from the
function submenu to be activated by pressing the right mouse button whilst moving a symbol or label. The selected signal routing mode is saved with the currently loaded SCM sheet (see also
chapter 2.1.5).
Warning
Please note that the signal router should be considered "as-is", i.e., it is straight-forward designed with the intention to simplify work rather than to provide an academically optimum SCM autorouter solution with a long time-to-application/user period. We are aware of the fact that the signal router could produce unpredictable results (e.g., elimination of connections) in cases where symbol movement might cause net list conflicts. It is recommended to move symbols in a step-by-step approach rather than to move long distances and to refrain from placing symbols onto each other. You can always use the
function and retry in cases where you are not pleased with the result.
Busses
The next operation is to connect the pins on the right side of the relay contacts
KK100 and
KK101 to a bus. First of all use the following commands to zoom to a suitable workspace:
Zoom Window |  |
Move to Window Start Point, [190,40] |  |
Move to Window End Point, [290,100] |  |
Use the following commands to define a bus:
Connections |  |
Add Connection |  |
Move to Connection Start Point,[240,90] |  |
Move to Connection Corner Point,[240,50] |  |
Move to Connection End Point,[250,50] |  |
Define Bus |  |
Move to Connection |  |
The definition of a bus is accomplished by defining a connection without pin contacts and then selecting that connection with the
function. The system uses beam-shaped outlines for displaying bus connections.
Use the following commands to define the bus tap
OUT0 and connect that bus tap with pin
N0 of part
KK100 :
Connections |  |
Tap Bus |  |
Net Name (Range) ? | out0  |
Move to Bus,[240,80] |  |
Mirror |  |
Move to Level of Pin "KK100.N0" |  |
Add Connection |  |
Move to Bus Tap "OUT0" |  |
Move to Pin "KK100.N0" |  |
After specifying the bus pin net name the system will load the
bustap label symbol, which then can be placed on the bus; the submenu available during bus tap placement provides the
option which can be used for mirroring the bus tap to the opposite side of the bus. The
bustap symbol is a special label symbol, which is always used for displaying bus pins thus defining sub-signals on the corresponding bus (ensure that the
bustap label symbol is available in the preset library)
The bus tap net name query also accepts net name range specifications. Use the following commands to place three more bus taps named
OUT1 ,
OUT2 and
OUT3 (the previously selected bus tap mirror mode is still activated):
Connections |  |
Tap Bus |  |
Net Name (Range) ? | out(1-3)  |
Move to Bus,[240,80] |  |
Move to Level of Pin "KK100.NC" |  |
Move to Level of Pin "KK101.N0" |  |
Move to Level of Pin "KK101.NC" |  |
You should now connect the bus taps
OUT1 (to pin KK100.NC ),
OUT2 (to pin KK101.N0 ) and
OUT3 (to pin KK101.NC ).
Please note also the special
menu functions for manipulating busses and/or bus taps
(,
,
).
The
Schematic Editor provides features for assigning bus signal names to support bus connections between different sheets of the schematics. Use the following commands to load a label named
BUS , and connect that label to the previously defined bus (take care that the contact area of the label extinguishes to ensure a correct connection):
Symbols |  |
Add Label |  |
Net Name ? | bus  |
Move to Bus,[250,50] |  |
Figure 2-7 illustrates the
Bartels AutoEngineer features for bus definitions. The two bus signals
S1 in
figure 2-7a are not connected since they are tapped to different busses. In
figure 2-7b the bus signals
S1 are tapped to the same bus, i.e., they are connected.
Figure 2-7c illustrates how to define sub-busses
(DATA and
ADDR ); the bus signals
S1 are not connected since they are tapped to different sub-busses.
Figures 2-7d and 2-7e show how to use labels for the assignment of bus signal names. The signals
S1 in
figure 2-7d are tapped to busses with the same label
(BUS ) and thus are connected, whilst in
figure 2-7e the signals
S1 are tapped to busses with different labels
(BUS1 and
BUS2 ) and thus are not connected.

Figure 2-7: SCM Bus Connections
2.3.4 Text and Graphic
Text and graphic can be defined on SCM sheet level. Use the following commands to draw a graphic frame with a legend box around your circuit drawing:
Graphic |  |
Add Graphic Line |  |
Move to [10,10] |  |
Move to [290,10] |  |
Move to [290,200] |  |
Move to [10,200] |  |
Move to [10,10] |  |
Done |  |
Add Graphic Line |  |
Move to [290,40] |  |
Move to [220,40] |  |
Move to [220,10] |  |
Done |  |
Add Dot Line |  |
Move to [290,20] |  |
Move to [220,20] |  |
Done |  |
Use the following commands to enter the text strings
DEMO (with text size 10mm) and
sheet1 (with text size 4mm) to the previously defined legend box:
Text |  |
Add Text |  |
Text ? | DEMO  |
Text Size |  |
Text Size ( 4.00mm) ? | 10  |
Move to [230,25] |  |
Add Text |  |
Text ? | sheet1  |
Text Size |  |
Text Size (10.00mm) ? | 4  |
Move to [230,13] |  |
2.4 Special SCM Functions
2.4.1 Virtual Symbols
Special design items such as legend boxes, company logos, etc. can also be defined as virtual symbols, and then placed to the circuit drawing. Use the following commands to place the
logo symbol for displaying the Bartels company logo:
Symbols |  |
Add Symbol |  |
Part Name ? |  |
Library Element Name ? | logo  |
Move to [190,10] |  |
2.4.2 Groups
Group functions belong to the most powerful BAE features. These functions can be used for tasks such as move, copy, delete or replicate arbitrarily selectable parts of the design.
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
function is used to select and/or deselect parts, traces, areas, texts or elements of any type by defining an area around the items to be selected. The
function is used to select and/or deselect single elements of a certain type (symbols/labels, connections, graphic or text) by picking the desired items. The
function will stay active with its parameter settings as long as valid pick elements are selected (thus omitting the need of reactivating the
function when selecting a series of objects of a certain type). The
function is used to deselect all items which are selected to the currently defined group. All group-selected elements are subject to subsequent group functions such as
,
,
and
.
The
function is used to save the currently defined group. The
function requires a group origin definition which becomes the origin of the new element and is used as the reference point for group load commands
When saving groups they 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,
prompts for confirmation if the specified element already exists in the destination file.
The
function can be used to reload previously saved groups (as well as SCM sheet and/or symbol/label elements) to different SCM plans and/or symbols/labels. I.e., the
and
functions can be used for a variety of tasks such as replicating circuitry, saving and loading SCM templates, stealing from existing and proven designs, etc.
Pressing the right mouse button during group movement operations such as
,
or
will activate a submenu which provides functions for placing the group to relative or absolute coordinates
(,
), or rotating and/or mirroring the group
(,
,
,
,
).
The
function is used to replace group-selected symbol macros (on SCM sheet level) or marker macros (on symbol level). This function is most useful for fast part or pin type replacement (technology change). Attribute assignments and text positions from the original elements are transferred to the new elements if possible.
The
function first resets the currently defined group to deselect all currently group-selected elements before performing the load operation. After successfully loading a group, all loaded group elements are automatically group-selected. The advantage of this feature is that loaded group elements (and only these objects) can be subject to subsequent group functions without the need to perform any group selection and/or deselection.
Use the following commands to select a group containing the switches
S1004 ,
S1005 and
S1006 and copy that group to the right:
Groups |  |
Group Polygon |  |
All |  |
Select |  |
Move to [50,10] |  |
Move to [110,10] |  |
Move to [110,80] |  |
Move to [50,80] |  |
Done |  |
Copy Group |  |
Move to [70,70] |  |
Move to [130,70] |  |
Reset Group |  |
With the commands above three symbols and two labels have been placed, and a series of connections have been generated. Note that the system has performed automatic part naming on the copied symbols.
If you have executed all operations of this paragraph correctly, then
sheet1 of your circuit diagram should look like the one shown in
figure 2-8.

Figure 2-8: SCM Sheet Demo/Sheet1
Don't forget to save the circuit drawing with the following commands:
File |  |
Save Element |  |
The save operation can be activated at any time. It is recommended to save the design generally after a certain time of editing to minimize any possible loss of data caused by power failure, hardware crash, etc.
Group Symbol Numbering
The submenus to be activated during group placement with the
,
and
functions provide the
option. This option renames and/or renumbers all currently selected parts according to their symbol part name patterns with part numbering starting at 1, and collisions with existing part names being avoided. This feature can be used for creating consecutive part numbering for the currently selected symbol group.
2.4.3 Plug Pin Assignment
With the operations above we have defined the complete (logical) circuitry of our project on
sheet1 of the schematic drawing. What still is missing is the plug pin assignment, which we can define on a second schematic sheet of the project file.
Use the following commands to create a second sheet named
sheet2 in job file
demo.ddb and place the text string
Plug Pin Assignment: ; also place the
x_subd9b plug symbol and assign value
xsubd9bl to the
$plname attribute of that symbol:
File |  |
New |  |
Sheet |  |
File Name ? | demo  |
Element Name ? | sheet2  |
A4 Landscape |  |
Text |  |
Add Text |  |
Text ? | Plug Pin Assignment:  |
Place |  |
Symbols |  |
Add Symbol |  |
Part Name ? |  |
Library Element Name ? | x_subd9b  |
Place |  |
Assign Value |  |
Move to Symbol |  |
$plname |  |
Attribute Value ? | xsubd9bl  |
You now should connect the signals
Vss ,
Vdd and the bus signals
OUT(0-3) of
BUS to the plug symbol (see
figure 2-9 for pin assignments).

Figure 2-9: SCM Sheet Demo/Sheet2
2.4.4 Net Attributes
Bartels AutoEngineer supports net-specific attributes for controlling the
Autorouter such as trace width, minimum distance, net routing priority, and power supply routing width.
Place both the label
NET and the symbol
att_rw (net attribute
ROUTWIDTH ) as shown in
figure 2-9, connect the pins of the
NET label and the
att_rw symbol with each other and assign a value of "0.5" to the
$val attribute of the
att_rw symbol. This net attribute assignment will cause the
Autorouter to route the net named
NET with a trace width of 0.5mm.
Place the label
Vdd as shown in
figure 2-9 and connect this label to the
att_rw symbol (with value "0.5" for the
$val
ROUTWIDTH attribute) and to the
att_md symbol (with value "0.4" for the
$val
MINDIST attribute). These net attribute assignments will cause the
Autorouter to route the net named
Vdd with a trace width of 0.5mm and a minimum distance (i.e., spacing) of 0.4mm.
Use the same procedure as described above to define a trace width of 0.6mm for the net named
Vss (place label
Vss and connect it to symbol
att_rw with a value of "0.6" for the
$val attribute).
Bartels AutoEngineer also supports the
PRIORITY and
POWWIDTH net attributes for controlling the
Autorouter. See the description of the
loglib utility program for more details on net attribute definitions.
Finally, place the
Net Attributes: text string to the circuit diagram as shown in
figure 2-9 and don't forget to save the circuit drawing.
2.4.5 Tag Symbols
Tag symbols can be used for assigning attributes and/or attribute sets to (groups of) parts, pins or nets. This feature can also be used to introduce more complex design information such as preferences for test procedures or logical relations between parts, pins and/or nets.
The
function from the
menu can be used to change the currently loaded symbol to either a
or a
.
assignments are transferred to the physical net list.
assignments are only processed on SCM sheet level.
The SCM color setup provides the
and
entries for displaying tags and/or tag assignments. Usually, tags are not plotted.
Tag symbol pins of certain types are required for assigning tag symbol entries to nets, symbols or pins, respectively.
from the submenu to be activated with the right mouse button during pin placement can be used to define the pin mode. The pin modes provided are
(for standard symbols and labels),
(for assigning tags to symbols),
(for assigning tags to pins) and
(for assigning tags to nets).
At least one attribute should be defined with each tag symbol by either placing the required attribute name on tag symbol level or by defining a fixed attribute value assignment with the logical library definition of the tag symbol. In the logical library definition of tags each tag symbol pin must be referred by a
loglib pin command. Pure attribute definition tags must be defined virtual.
On SCM sheet level, tags can be placed using the
function from the
menu. Once a tag is placed, the
function can be used for assigning tags. The target objects to be selected with the
function must correspond with the tag pin types of the selected tag symbols, i.e., either a symbol, a pin or a net named by label can be assigned to each tag pin. The attribute value assignments of net list tag symbols are automatically transferred to the assigned target objects by the
Packager. Special processing of predefined attributes such as
$plname ,
$rpname ,
$routwidth ,
$powwidth , etc. stays in effect. The
$routwidth attribute can be tagged to pins to define pin-specific routing widths by assigning the required millimeter distance value.
2.4.6 Templates
Certain parts of the circuitry such as legends, plug pin assignments or router control definitions often are quite similar or even equal for different designs. The
Bartels AutoEngineer data base concept supports multiple use of such circuit design templates, i.e., templates can be defined and referred as if they would be library elements. Templates can be saved and copied either by using group functions
(,
) or by applying the
function from the
menu and utilizing the
copyddb utility program for copying requested SCM elements to desired project files.
2.4.7 Exiting the Schematic Editor
Don't forget to save the currently edited SCM element before exiting the
Schematic Editor:
File |  |
Save Element |  |
Returning to Main Menu
Use the following commands to return from the
Schematic Editor module to the BAE Main Menu (BAE Shell):
File |  |
Main Menu |  |
The currently loaded SCM element will automatically be saved when returning to the BAE Shell. Use the following commands to return from the BAE Shell to the operating system:
Exit BAE |  |
Exiting BAE
Use the following commands if you wish to exit BAE from the
Schematic Editor:
File |  |
Exit BAE |  |
The
function activates a confirmation prompt if the element currently loaded to the
Schematic Editor has not yet been saved. In this case you should abort the
function, save the current element, and then call
again, as in:
File |  |
Exit BAE |  |
Please confirm (Y/N) : | n  |
File |  |
Save Element |  |
File |  |
Exit BAE |  |
Subsequent Tasks
Use the following command from operating system level (e.g., under DOS) to list the project file(s) created in this chapter.
> dir demo.* 
The job file
demo.ddb contains the all SCM sheets of the schematic circuit as well as a logical, unpacked net list. The next task of the design cycle would be to apply the
Packager for translating the logical net list into a physical, packed net list (see
chapter 3.2). After successfully packaging the net list the printed circuit board design can be created using the BAE Layout modules (see
chapter 4).
2.5 SCM Plot Output
The SCM functions for generating HP-GL, HP Laser, or Postscript output are provided with the
menu of the
Schematic Editor. SCM plots can only be generated with an element loaded. I.e., you should first start the
Schematic Editor, and load the SCM sheet
sheet1 from the
demo.ddb file using the following commands:
File |  |
Load |  |
Sheet |  |
File Name ? | demo  |
Element Name ? | sheet1  |
2.5.1 General Plot Parameters
Plot Device
The
function is used for specifying the plot 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 to (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. The plot functions will abort with error messages such as
Error writing ASCII file!
if neither of these requirements are met.
The system will prompt for the output device name after activating the desired output function if no default plot device is specified with the
function. Popup menus for fast plot file selection are integrated to the
,
,
and
functions of
menu. Files ending on
.ass ,
.con ,
.ddb ,
.def ,
.exe ,
.fre ,
.ulc and
.usf are faded out from the plot file menus for data security reasons. New plot file names can be typed in via keyboard.
Plot Scale
The
function is used to specify a scale factor for the plot output. The default scale factor value is 1.0. Plot scale factor value specifications can range from 0.1 to 100.0.
Plot Rotate
The
function provides the options
and
. The
option sets the 0 degree plot rotation (which is the default). The
option will produce 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. Positive output coordinates can be enforced however by replacing the origin of the plot element. I.e., the
function from the
menu can be used to set the origin to the upper left element corner before producing a rotated plot.
2.5.2 HP-GL Pen Plot
The
function is used to define the pen width for generating the HP-GL output data. The default plotter pen width is 0.3mm. Pen width value specifications can range from 0.01mm to 10.0mm.
The
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
function provides the options
and
.
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.
is used to select the default fill mode.
The
function is used to produce pen plots in HP-GL (Hewlett-Packard Graphics Language). The user is prompted for the pen number (1..99) and for the name of the output file (if no default output device was specified with
). Use the following commands to switch off the fill mode, set the plotter pen width to 0.1mm, and then plot the currently loaded SCM sheet to an HP-GL plot file named
demo_s1.plt using pen number 4:
Plot Output |  |
Plotter Pen Width |  |
Plotter Pen Width ( 0.30mm) ? | 0.1  |
Fill Mode HP-GL |  |
Fill Mode Off |  |
HP-GL Output |  |
Plotter Pen Number (1..99) ? | 4  |
Plot File Name ? | demo_s1.plt  |
The system will issue the following message after successfully generating the HP-GL plot:
HP-GL plot done!
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.
2.5.3 HP-Laser Output
The
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 of the currently loaded SCM sheet and direct the output to
lpt1 (e.g., for interfacing an appropriate DOS-connected laser writer device):
Plot Output |  |
HP Laser Output |  |
Plot File Name ? | lpt1  |
The system will issue the following message after successfully generating the PCL plot:
HP Laser output done (scale 1:...)!
The scale information in the status messages 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 
with
pclplot being the PCL plot file name and
lpt1 designating the output device.
2.5.4 Postscript Output
The
function is used to produce output in Postscript format. Use the following commands to set the standard line width to 0.25mm and the scaling factor to 0.75, and generate a Postscript output file named
plot1.ps for the currently loaded SCM sheet:
Plot Output |  |
Plotter Pen Width |  |
Plotter Pen Width ( 0.10mm) ? | 0.25  |
Plot Scale |  |
Plot Scale Factor (1.0) ? | 0.75  |
Postscript Output |  |
Plot File Name ? | plot1.ps  |
The system issues the following message after successfully generating the Postscript output:
Postscript output done!
2.5.5 Generic Output under Windows
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
Schematic Editor of the BAE Windows software.
Use the following commands to activate the Windows print/plot menu:
Plot Output |  |
Generic Output |  |
The Windows printer dialog specifications for the number of copies, page sorting mode and page range are considered by the
function.
The
option from the Windows printer dialog of the
function plots all elements of the currently loaded database class. This allows for the output of, e.g., all sheets of a schematic circuit. All SCM sheets are plotted according to specific plot parameter settings such as plot rotation modes.
The
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
function provides information to indicate any non-default scaling factor being used for automatic plot to sheet size scaling.
2.5.6 Bitmap Plot Output to Windows Clipboard
The
function from the
menu can be used under Windows for plotting a bitmap of the currently loaded element into the clipboard ready to be imported
(d) to other Windows applications capable of processing bitmaps. The whole element is plotted on default. The
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 mode selection.
2.6 Hierarchical Circuit Design
The
Schematic Editor provides functions for creating hierarchical schematic designs. Through these functions it is possible to define schematic sheets to be sub-blocks and to reference sub-blocks from higher level schematic plans. This high-sophisticated SCM design feature is recommended especially for experienced users designing large projects with replicated parts of the circuitry. Hierarchical circuit design usually is applied for the development of integrated circuits such as gate arrays, standard cells or ASICs.
2.6.1 Sub-block Circuit Drawing
The schematics for the sub-block can be defined on one or more sheets. The
option of the
function from the
dialog is used for assigning a sub-block name to the sub-block circuit drawing. Identical sub-block names must be set for different sheets defining the same sub-block.
Figure 2-10 shows an example for a sub-block circuit drawing named
BLOCK . Connections to higher hierarchy levels (i.e., the sub-block's pins) are defined by module ports. The system uses a standard label symbol named
port for module ports. The
function from the
menu is used for defining and placing module ports. The
and
functions from the
menu can be used for moving and/or deleting module ports. In
figure 2-10 the module ports
S ,
R ,
Q ,
/Q and
HYPER are defined. Within hierarchical circuit design there is a difference between global and local net names. A local net is defined by preceding the net name with an ampersand
(& ) character. Hence the nets named
&ABC and
/&ABC in
figure 2-10 are defined locally in all sheets with the same blockname. Standard net name allocation (such as at
VCC ) introduces a global net definition which connects on all sheets, no matter what hierarchy level the net name is defined on. When using a global net name in a sub-block, all matching nets from multiple referenced sub-blocks are connected as well.

Figure 2-10: Hierarchical Circuit Design; Sub-Block SCM Sheet "BLOCK"
The
parameter setting also provides the
option for block diagramming support. Whilst there are multiple references to a standard
allowed, a
sheet can only be referenced once. Single sub-blocks are treated like normal SCM sheets by
Packager and
. I.e., the
Packager transfers symbol/part names from single sub-blocks without
[Pn] prefices to the layout, and
transfers part name changes and pin/gate swaps on single sub-blocks back to the schematics.
2.6.2 Sub-block Reference Symbol and Logical Sub-block Reference
A special SCM symbol is required for referencing any sub-block on higher hierarchy levels. The pin names of that symbol must match the names of the module ports defined on the corresponding sub-block circuit drawing.
The
Packager needs a logical reference for any sub-block reference symbol used throughout the schematics. This logical reference must be created in the Logical Library by defining a logical library file entry for the sub-block reference symbol. This
loglib entry must define a virtual part with the name of the sub-block reference symbol. For referencing the sub-block, the
loglib command call (with the blockname of the sub-block as argument) must be used. See also
chapter 7.11 of this manual for a more detailed description of the
loglib utility program.
Figure 2-11 shows the sub-block reference symbol
DFF and the corresponding logical sub-block reference for the sub-block circuit drawing in
figure 2-10. Note that
figure 2-11 also illustrates how to define busses on sub-block reference symbols.

Figure 2-11: Hierarchical Circuit Design; Block Symbol "DFF" with Loglib Definition
2.6.3 Top Level Circuit Drawing
Figure 2-12 shows how the sub-block symbol
DFF from
figure 2-11 is used in a higher level schematic drawing. The circuit drawing in
figure 2-12 contains three
DFF symbols named
DFF_1 ,
DFF_2 and
DFF_3 , each referencing one
BLOCK sub-block circuit drawing.

Figure 2-12: Hierarchical Circuit Design; Top Level SCM Sheet
2.7 Backannotation
Backward annotation with the
is always required after performing layout net list modifications such as part name changes, pin/gate swaps or alternate part package type assignments. Part names can be changed using the
function from the menus for interactive part placement. Interactive pin/gate swaps are applied with the
function from the manual part placement menu. Automatic pin/gate swap is performed with the
,
and
autoplacement functions, and can also be performed when using the
option with the rip-up router of the
Autorouter module. Alternate package types can be assigned using the
submenu function during manual part placement. Note that any of the net list modifications mentioned above will get lost when re-editing the schematic without running the
.
is fully integrated to the
and can be explicitely started using the
command from the
menu. A feature for automatically processing pending
requests is also integrated to the
functions for loading schematic plans.
requests are generated when saving layouts with net list modifications such as pin/gate swaps or changed part names. Loading an SCM sheet with a pending
request automatically activates a verification menu which allows to backannotate the currently processed design. The
request is deleted after successfully running the
.
See
chapter 3 for a detailed description on how
is applied.
Circuit Design / CAE © 1985-2025 Oliver Bartels F+E • Updated: 02 December 2006, 15:51 [UTC]
|