Welcome to the Bartels Group of Companies
Bibliotheksbearbeitung - Deutsche Version SCM Library Symbol Design - English Version
Bartels

Bartels System GmbH
Bartels
Bartels AutoEngineer
BAE Product Info
BAE Price List
BAE Downloads
BAE Documentation
BAE Installation Guide
BAE User Manual
Preface
1 Introduction
2 Circuit Design
2.1 General
2.2 SCM Library Symbol Design
2.2.1 Creating SCM Markers
2.2.2 Creating SCM Symbols
2.2.3 Creating SCM Labels
2.3 Designing SCM Circuits
2.4 Special SCM Functions
2.5 SCM Plot Output
2.6 Hierarchical Circuit Design
2.7 Backannotation
3 Packager
4 PCB Design
5 IC/ASIC Design
6 Rule System
7 Utilities
BAE Libraries
User Language Programmer's Guide
BAE Update History
BAE Next Version Release Notes Preliminary
BAE V8.0 Release Notes
BAE V7.8 Release Notes
BAE V7.6 Release Notes
BAE V7.4 Release Notes
BAE V7.2 Release Notes
BAE V7.0 Release Notes
BAE V6.8 Release Notes
BAE V6.6 Release Notes
BAE V6.4 Release Notes
BAE V6.2 Release Notes
BAE V6.0 Release Notes
BAE V5.4 Release Notes
BAE V5.0 Release Notes
BAE V4.6 Release Notes
BAE V4.4 Release Notes
BAE V4.2 Release Notes
BAE V4.0 Release Notes
BAE V3.4 Release Notes
BAE Support
BAE Contributions
BAE Development and Service Companies
Electronics Development
Bartels Sport Service
Company Profile
Corporate Info
Bartels :: Bartels AutoEngineer :: BAE Documentation :: BAE User Manual :: Circuit Design :: SCM Library Symbol Design
Bartels AutoEngineer® - User Manual

2.2 SCM Library Symbol Design

Bartels AutoEngineer® Dokumentation

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: Return/Enter Key (CR) 
>  cd c:\baejobs Return/Enter Key (CR) 
>  bae Return/Enter Key (CR)

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

SchematicLeft Mouse Button (LMB)

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

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:

FileLeft Mouse Button (LMB)
NewLeft Mouse Button (LMB)
MarkerLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?p Return/Enter Key (CR)
Element Width (mm/") ?10 Return/Enter Key (CR)
Element Height (mm/") ?10 Return/Enter Key (CR)

The display now shows a square frame with a cross in the middle. The frame describes the element boundaries of the 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:

GraphicLeft Mouse Button (LMB)
Add Contact AreaLeft Mouse Button (LMB)
Right Mouse Button (RMB)
Jump AbsoluteLeft Mouse Button (LMB)
Absolute X Coordinate (mm/") ?0.5 Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?0.5 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump RelativeLeft Mouse Button (LMB)
Relative X Coordinate (mm/") ?-1 Return/Enter Key (CR)
Relative Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump RelativeLeft Mouse Button (LMB)
Relative X Coordinate (mm/") ?0 Return/Enter Key (CR)
Relative Y Coordinate (mm/") ?-1 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump RelativeLeft Mouse Button (LMB)
Relative X Coordinate (mm/") ?1 Return/Enter Key (CR)
Relative Y Coordinate (mm/") ?0 Return/Enter Key (CR)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

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

TextLeft Mouse Button (LMB)
Add TextLeft Mouse Button (LMB)
Text ?$ Return/Enter Key (CR)
Right Mouse Button (RMB)
Text SizeLeft Mouse Button (LMB)
Text Size ( 4.00mm) ?2 Return/Enter Key (CR)
Right Mouse Button (RMB)
Jump AbsoluteLeft Mouse Button (LMB)
Absolute X Coordinate (mm/") ?-0.5 Return/Enter Key (CR)
Absolute Y Coordinate (mm/") ?0.5 Return/Enter Key (CR)

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:

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

Saving the Marker Symbol

Use the following commands to save the marker symbol:

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

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:

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

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

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

FileLeft Mouse Button (LMB)
NewLeft Mouse Button (LMB)
SymbolLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?cd4081 Return/Enter Key (CR)
Sheet (C)omplex/(L)ogic/(G)ate/(D)iscrete/(M)an. ?g Return/Enter Key (CR)

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:

OptionElement/Symbol Size
Complex
50 × 90 mm
Logic
30 × 30 mm
Gate
15 × 15 mm
Discrete
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:

SettingsLeft Mouse Button (LMB)
SettingsLeft Mouse Button (LMB)
Select Pin SymbolLeft Mouse Button (LMB)
Pin Marker Name (pin) ?p Return/Enter Key (CR)

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:

SymbolsLeft Mouse Button (LMB)
Add SymbolLeft Mouse Button (LMB)
Part Name ?a Return/Enter Key (CR)
Move to [2,10]Left Mouse Button (LMB)
Add SymbolLeft Mouse Button (LMB)
Part Name ?b Return/Enter Key (CR)
Move to [2,2]Left Mouse Button (LMB)
Add SymbolLeft Mouse Button (LMB)
Part Name ?y Return/Enter Key (CR)
Move to [12,6]Left Mouse Button (LMB)

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:

GraphicLeft Mouse Button (LMB)
Add Graphic LineLeft Mouse Button (LMB)
Move to [4,1]Left Mouse Button (LMB)
Move to [4,11]Left Mouse Button (LMB)
Move to [10,11]Left Mouse Button (LMB)
Move to [10,1]Left Mouse Button (LMB)
Move to [4,1]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Use the following commands to draw a graphic line connecting pin A with the symbol outline:

GraphicLeft Mouse Button (LMB)
Add Graphic LineLeft Mouse Button (LMB)
Move to Pin "A", [2,10]Left Mouse Button (LMB)
Move to [4,10]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

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:

GraphicLeft Mouse Button (LMB)
Copy GraphicLeft Mouse Button (LMB)
Move to Pin "A", [2,10]Left Mouse Button (LMB)
Move to Pin "B", [2,2]Left Mouse Button (LMB)
Copy GraphicLeft Mouse Button (LMB)
Move to Pin "A", [2,10]Left Mouse Button (LMB)
Move to [10,6]Left Mouse Button (LMB)

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:

TextLeft Mouse Button (LMB)
Add TextLeft Mouse Button (LMB)
Text ?$ Return/Enter Key (CR)
Right Mouse Button (RMB)
Text SizeLeft Mouse Button (LMB)
Text Size ( 2.00mm) ?3 Return/Enter Key (CR)
Move to [4,11]Left Mouse Button (LMB)

Use the following commands to place the & string (text size 4mm) for denoting the AND gate function of the symbol:

TextLeft Mouse Button (LMB)
Add TextLeft Mouse Button (LMB)
Text ?& Return/Enter Key (CR)
Right Mouse Button (RMB)
Text SizeLeft Mouse Button (LMB)
Text Size ( 3.00mm) ?4 Return/Enter Key (CR)
Move to [6,4]Left Mouse Button (LMB)

Use the following commands to place the gate name CD4081 with a text size of 1mm:

TextLeft Mouse Button (LMB)
Add TextLeft Mouse Button (LMB)
Text ?CD4081 Return/Enter Key (CR)
Right Mouse Button (RMB)
Text SizeLeft Mouse Button (LMB)
Text Size ( 4.00mm) ?1 Return/Enter Key (CR)
Move to [5,1]Left Mouse Button (LMB)

Use the following commands to define a commentary text referring the $plname attribute (text size 1mm is still activated):

TextLeft Mouse Button (LMB)
Add TextLeft Mouse Button (LMB)
Text ?$plname Return/Enter Key (CR)
Right Mouse Button (RMB)
Commentary TextLeft Mouse Button (LMB)
Move to [5,0]Left Mouse Button (LMB)

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 Frame 1, Frame 2 and Open Frames options from the submenu to be activated with the right mouse button whilst moving texts with the Add Text, Move Text and/or Copy Text function. Frame 1 creates a surrounding box at 1/8 text height distance. Frame 2 creates a surrounding box at 1/4 text height distance. Open Frames removes the vertical frame line at the text origin. Open Frames 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 Standard Text option resets all text frame definitions.

The submenus of the Add Text, Move Text and Copy Text functions also provide the No Rotation and Center 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 No Rotation and Center text modes can be reset by applying the Standard Text 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 NameFunction/Meaning
$Reference Name
$$Logical Reference Name
$llnameLogical Library Name
$plnamePhysical Library Name
(and/or Alternate Layout Part Package Types)
$ulnameUsed Library Name
(Alternate Layout Part Package Type Assignment)
$rpnameRequested Part Name
$rbnameRequested Backannotated Part Name
$gpGate Pin
$blknameHierarchical Block Name
$pagerefSCM Label Sheet Reference Name List
$pagecrefSCM Label Sheet Reference Comment List
$orgnameOriginal/internal SCM symbol/part name(s) of layout part
$pagenameSchematic sheet name(s) of layout part
$blkrnameSchematic block symbol reference name(s) of layout part
$rlnameRequested Logical Library Name
$rlextRequested Logical Library Name Extension
$valValue
$powPower
$typeComponent Type
$commentComment (English)
$commentgeComment (German)
$manufacturerComponent Manufacturer
$partsidePart Side (top = unmirrored, bottom = mirrored)
$pltbaeversionBartels AutoEngineer Software Version Number (read-only)
$pltbaebuildBartels AutoEngineer Software Build Number (read-only)
$pltfnameProject File Path Name
$PltfnameProject File Path Name (uppercase)
$pltfsnameProject File Name (without Directory Path)
$PltfsnameProject File Name (uppercase, without Directory Path)
$pltpagecntProject SCM Sheet Count
$pltenameElement Name
$PltenameElement Name (uppercase)
$pltdatedeCurrent Date (German Format)
$pltdateusCurrent Date (US Format)
$pltdate2deCurrent Date (German Format; two-digit year display)
$pltdate2usCurrent Date (US Format; two-digit year display)
$plttimeCurrent Time
$pltsdatedeSCM/Layout Save Date (German Format)
$pltsdateusSCM/Layout Save Date (US Format)
$pltsdate2deSCM/Layout Save Date (German Format; two-digit year display)
$pltsdate2usSCM/Layout Save Date (US Format; two-digit year display)
$pltstimeSCM/Layout Save Time
$pltpnameLayout element name for last Packager run
$PltpnameLayout element name for last Packager run (uppercase)
$pltpdatedeDate (German Format) of last Packager run
$pltpdateusDate (US Format) of last Packager run
$pltpdate2deDate (German Format; two-digit year display) of last Packager run
$pltpdate2usDate (US Format; two-digit year display) of last Packager run
$pltptimeTime of last Packager run
$pltcnameLayout Element Name
$pltcdatedeDate of last name update (German Format)
$pltcdateusDate of last name update (US Format)
$pltcdate2deDate of last name update (German Format; two-digit year display)
$pltcdate2usDate of last name update (US Format; two-digit year display)
$pltctimeTime of last name update
$pltfbnameFile Base Name - Element-specific Project File Name without .ddb extension
$PltfbnameFile Base Name - Element-specific Project File Name without .ddb extension (uppercase)
$pltfbsnameFile Base Short Name - Element-specific Project File Name without .ddb extension and directory path
$PltfbsnameFile Base Short Name - Element-specific Project File Name without .ddb extension and directory path (uppercase)
$pltecommentDDB Element Comment - Element-specific comment text
$drcblkDesign Rule Check Block (Pin/Net Attribute)
$netPin Net Name
$netnameNet Name (Net Attribute)
$nettypeNet Type (Pin/Net Attribute)
$powpinPower Pin Definition (Pin Attribute)
$viastkVia Padstack Type (Net Attribute)
$notestExclusion from Automatic Test Point Generation (Net Attribut)
$routdisExclusion from Autorouting Process (Net Attribute)
$layersAutorouting 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 Backannotation 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 Backannotation 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 Utilities / Report 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 Backannotation.

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 File / Element Comment submenu or, for the currently loaded element, through the Settings / Settings 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 Move Pin 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 Move Attribute function from the Text and/or Symbol menu can be used for moving and/or placing selectable symbol attributes. Attribute text offsets defined through Move Attribute override the global text offset set with Move Name. The attribute to be moved is selected through a mouse-click on the attribute text. Since symbol names are internally stored as attributes, the Move Attribute 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 Assign Value function from the Symbols 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 Assign Value function under Windows and Motif. For symbols with more than 12 attribute definitions, Next and Previous buttons are provided for forward and/or backward scrolling. The dialog box contains a line for each attribute. This line consists of a No Value button, an attribute value input/edit field and the attribute name/label display. The No Value 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:

SymbolsLeft Mouse Button (LMB)
Part Name PatternLeft Mouse Button (LMB)
Part Name Pattern () ?IC?? Return/Enter Key (CR)

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

SettingsLeft Mouse Button (LMB)
Upper/Right BorderLeft Mouse Button (LMB)
Move to [14,14]Left Mouse Button (LMB)

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

SettingsLeft Mouse Button (LMB)
Set OriginLeft Mouse Button (LMB)
Move to Pin "A", [2,10]Left Mouse Button (LMB)

Saving the Symbol

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

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

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 Add Label function from the Symbols 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 Tap Bus function from the Connections menu). The port label symbol is used for defining module ports in hierarchical circuit designs (use the Add Module Port function from the Symbols 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 Project button from the popup menu or by specifying an empty string, i.e., pressing the return key Return/Enter Key (CR) to the file name query):

FileLeft Mouse Button (LMB)
NewLeft Mouse Button (LMB)
LabelLeft Mouse Button (LMB)
File Name ?demo Return/Enter Key (CR)
Element Name ?vss Return/Enter Key (CR)
Sheet (S)tandard/(M)anual ?m Return/Enter Key (CR)
Element Width (mm/") ?6 Return/Enter Key (CR)
Element Height (mm/") ?10 Return/Enter Key (CR)

Placing the Pin Symbol

Use the following commands to place the marker symbol p at coordinate [3,7]:

SymbolsLeft Mouse Button (LMB)
Add SymbolLeft Mouse Button (LMB)
Library Element Name ?p Return/Enter Key (CR)
Move to [3,7]Left Mouse Button (LMB)

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:

GraphicLeft Mouse Button (LMB)
Add Graphic LineLeft Mouse Button (LMB)
Move to Marker, [3,7]Left Mouse Button (LMB)
Move to [3,4]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)
Add Graphic AreaLeft Mouse Button (LMB)
Move to [1,3]Left Mouse Button (LMB)
Move to [1,4]Left Mouse Button (LMB)
Move to [5,4]Left Mouse Button (LMB)
Move to [5,3]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Text

Use the following command to place the label name text string Vss (text size 2mm) at coordinate [1,1]:

TextLeft Mouse Button (LMB)
Add TextLeft Mouse Button (LMB)
Text ?Vss Return/Enter Key (CR)
Right Mouse Button (RMB)
Text SizeLeft Mouse Button (LMB)
Text Size ( 1.00mm) ?2 Return/Enter Key (CR)
Move to [1,1]Left Mouse Button (LMB)

Defining the Origin

Use the following commands to set the label origin to the current marker position (i.e., at coordinate [3,7]):

SettingsLeft Mouse Button (LMB)
Set OriginLeft Mouse Button (LMB)
Move to Marker, [3,7]Left Mouse Button (LMB)

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:

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

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:

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

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:

TextLeft Mouse Button (LMB)
Delete TextLeft Mouse Button (LMB)
Move to [-2,-6]Left Mouse Button (LMB)
GraphicLeft Mouse Button (LMB)
Delete GraphicLeft Mouse Button (LMB)
Move to [-2,-4]Left Mouse Button (LMB)

Use the following commands to move down the vertical graphic line:

GraphicLeft Mouse Button (LMB)
Move GraphicLeft Mouse Button (LMB)
Move to [0,-3]Left Mouse Button (LMB)
Move to [0,-5]Left Mouse Button (LMB)

Use the following commands to move down the marker symbol:

SymbolsLeft Mouse Button (LMB)
Move Symbol/LabelLeft Mouse Button (LMB)
Move to [0,0]Left Mouse Button (LMB)
Move to [0,-5]Left Mouse Button (LMB)

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

GraphicLeft Mouse Button (LMB)
Add Graphic AreaLeft Mouse Button (LMB)
Move to [-1,-2]Left Mouse Button (LMB)
Move to [1,-2]Left Mouse Button (LMB)
Middle Mouse Button (MMB)
Grids/RotationLeft Mouse Button (LMB)
Rotation OffLeft Mouse Button (LMB)
Move to [0,0]Left Mouse Button (LMB)
Right Mouse Button (RMB)
DoneLeft Mouse Button (LMB)

Use the following command to place the label name text string Vdd at coordinate [1,1] (text size 2mm is still activated):

TextLeft Mouse Button (LMB)
Add TextLeft Mouse Button (LMB)
Text ?Vdd Return/Enter Key (CR)
Move to [-2,0]Left Mouse Button (LMB)

Use the following commands to set the origin to the current marker position (i.e., at coordinate [0,-5]):

SettingsLeft Mouse Button (LMB)
Set OriginLeft Mouse Button (LMB)
Move to Marker, [0,-5]Left Mouse Button (LMB)

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

FileLeft Mouse Button (LMB)
Save ElementLeft Mouse Button (LMB)
Bartels :: Bartels AutoEngineer :: BAE Documentation :: BAE User Manual :: Circuit Design :: SCM Library Symbol Design

SCM Library Symbol Design
© 1985-2017 Oliver Bartels F+E • Updated: 11 October 2010, 10:32 [UTC]

© 1985-2017 Oliver Bartels F+E Bartels Homepage Contact and Corporate Info

Web Development by Baumeister Mediasoft Engineering

Bibliotheksbearbeitung - Deutsche Version SCM Library Symbol Design - English Version