ADD | ADDMODEL | ALIGN | ARC | ASSIGN | ATTRIBUTE | ATTRIBUTE SET | AUTO
Function
Add elements into a drawing.
Add symbols into a device.
Syntax
ADD footprint_name[@library_name] [name] [orientation] ..
ADD device_name[@library_name] [P3D=3d_package] [name [gate]] [orientation] ..
ADD symbol_name [name] [options] ..
Mouse keys
Center mirrors the part.
Right rotates the part.
Shift+Right reverses the direction of rotating.
The ADD command fetches a circuit symbol (gate) or a footprint from the active library and places it into the drawing.
During device definition, the ADD command fetches a symbol into the device.
Usually you click the ADD command and select the footprint or symbol from the menu which opens. If necessary, parameters can now be entered with the keyboard.
If device_name contains wildcard characters ('*' or '?') and more than one device matches the pattern, the ADD dialog will be opened and the specific device can be selected from the list. Note that the Description checkbox in the ADD dialog will be cleared after any ADD command with a device_name has been given in the command line, no matter if it contains wildcards or not. This is because a device_name entered in the command line is only searched for in the device names, not in the descriptions.
The footprint or symbol is placed with the left button and rotated with the right button. After it has been placed, another copy is immediately hanging from the cursor.
If there is already a device or footprint with the same name (from the same library) in the drawing, and the library has been modified after the original object was added, an automatic library update will be started and you will be asked whether objects in the drawing shall be replaced with their new versions. Note: You should always run a Design Rule Check (DRC) and an Electrical Rule Check (ERC) after a library update has been performed!
The ADD command can be used with wildcards ('*' or '?') to find a specific device. The ADD dialog offers a tree view of the matching devices, as well as a preview of the device and package variant. To add directly from a specific library, the command syntax
ADD devicename@libraryname
can be used. devicename may contain wildcards and libraryname can be either a plain library name (like "ttl" or "ttl.lbr"), a full file name (like "/home/mydir/myproject/ttl.lbr" or "../lbr/ttl"), or the URN of a downloaded managed library (like "urn:adsk.eagle:library:462"). If there are blanks in the file name, the whole expression has to be enclosed by apostrophes (like ADD 'DEV1A@/home/my dir/ttl.lbr').
When adding a device to a drawing, the device's 3D package can be specified using the syntax:
ADD devicename[@libraryname] P3D=3d_package
where 3d_package is the name or URN of a 3D package. This will filter the list of devices matched by devicename (and libraryname, if specified) to those containing the specified 3D package. If no 3D package is specified, all 3D packages associated with the matched devices will be shown in the ADD dialog. (If there's a single matching device and that device has zero or one 3D package, that device – and 3D package, if it exists – will be selected and the ADD dialog will not be shown.) The 3d_package term is not case-sensitive and does not support wildcards. Example:
ADD PINHD-1x4 P3D=PINHD-1x4-5.84MM
add the PINHD-1x4 device to the schematic (and board) and assigns it the 3D package PINHD-1x4-5.84MM.
The footprint_name, device_name or symbol_name parameter is the name under which the footprint, device or symbol is stored in the library. It is usually selected from a menu. The name parameter is the name which the element is to receive in the drawing. If the name could be interpreted as an orientation or option, it must be enclosed in single quotes. If a name is not explicitly given, it will receive an automatically generated name. Example:
ADD DIL14 IC1
fetches the DIL14 footprint to the board and gives it the name IC1. If no name is given in the schematic, the gate will receive the prefix that was specified in the device definition with PREFIX, expanded with a sequential number (for example IC1).
Example:
ADD 7400
This places a sequence of five gates from 7400 type components. Assuming that the prefix is defined as "IC" and that the individual gates within a 7400 have the names A..D, the gates in the schematic are named IC1A, IC1B, IC1C, IC1D, IC2A. (If elements with the same prefix already exist in the design, the counting proceeds from the next sequential number.) See also INVOKE.
While an object is attached to the cursor, you can change the name it will have when added to the drawing. This allows you to add several parts of the same type, but with different, explicitly defined names:
Example:
ADD CAP C1 C5 C7
To fetch a particular gate of a newly added device, enter the name of that gate after the part name. Example:
ADD 7400 IC1 A
This is mainly useful if a schematic is to be generated through a script. Note that if a particular gate is added, no other gates with add level MUST or ALWAYS will be fetched automatically, and you will have to use the INVOKE command to invoke at least the MUST gates (otherwise the Electrical Rule Check will report them as missing).
This parameter defines the orientation of the object in the drawing. Objects are normally rotated using the right mouse button. In Script files textual descriptions of this parameter are used: [S][M]Rnnn
S | Sets the Spin flag, which disables keeping text readable from the bottom or right side of the drawing (only available in a board context). |
M | Sets the Mirror flag, which mirrors the object about the y-axis. |
Rnnn | Sets the Rotation to the given value, which may be in the range 0.0...359.9 (at a resolution of 0.1 degrees) in a board context, or one of 0, 90, 180 or 270 in a schematic context (angles may be given as negative values, which will be converted to the corresponding positive value). |
The key letters S, M, and R may be given in upper- or lowercase, and there must be at least R followed by a number.
If the Mirror flag is set in an element as well as in a text within the element's footprint, they cancel each other out. The same applies to the Spin flag.
Examples:
R0 | no rotation | |
R90 | rotated 90° counterclockwise | |
R-90 | rotated 90° clockwise (will be converted to 270°) | |
MR0 | mirrored about the y-axis | |
SR0 | spin texts | |
SMR33.3 | rotated 33.3° counterclockwise, mirrored and spin texts |
Default: R0
ADD DIL16 R90 (0 0);
places a 16-pin DIL footprint, rotated 90 degrees counterclockwise, at coordinates (0 0).
An error message appears if a gate is to be fetched from a device which is not fully defined (see BOARD command). This can be prevented with the "SET CHECK_CONNECTS OFF;" command. Take care: The BOARD command will perform this check in any case. Switching it off is only sensible if no pcb is to be made.
During device definition the ADD command fetches a previously defined symbol into the device. Two parameters (swaplevel and addlevel) are possible, and these can be entered in any sequence. Both can be preset and changed with the CHANGE command. The value entered with the ADD command is also retained as a default value.
The swaplevel is an integer number, to which the following rules apply:
0: | The symbol (gate) can't be swapped with any other in the schematic. | |
>0 | The symbol (gate) can be swapped with any other symbol of the same type in the schematic that has the same swaplevel (including swapping between different devices). |
Default: 0
The following possibilities are available for this parameter:
Next | If a device has more than one gate, the symbols are fetched into the schematic with Addlevel Next. | |
Must | If any symbol from a device is fetched into the schematic, then a symbol defined with Addlevel Must must also appear. This happens automatically. It can't be deleted until all the other symbols in the device have been deleted. If the only symbols remaining from a device are Must-symbols, the DELETE command will delete the entire device. | |
Always | Like Must, although a symbol with Addlevel Always can be deleted and brought back into the schematic with INVOKE. | |
Can | If a device contains Next-gates, then Can-gates are only fetched if explicitly called with INVOKE. A symbol with Addlevel Can is only then fetched into the schematic with ADD if the device only contains Can-gates and Request-gates. | |
Request | This property is usefully applied to devices' power-symbols. Request-gates can only be explicitly fetched into the schematic (INVOKE) and are not internally counted. The effect of this is that in devices with only one gate and one voltage supply symbol, the gate name is not added to the component name. In the case of a 7400 with four gates (plus power supply), the individual gates in the schematic are called, for example, IC1A, IC1B, IC1C and IC1D. A 68000 with only one _Gate_, the processor symbol, might on the other hand be called IC1, since its separate voltage supply symbol is not counted as a gate. |
Example:
ADD PWR 0 REQUEST
fetches the PWR symbol (for example a power pin symbol), and defines a Swaplevel of 0 (not swappable) and the Addlevel Request for it.
Function
Used to convert a single part, or an entire schematic to a spice-compatible schematic.
Syntax
ADDMODEL name ..
See also SIM.
ADDMODEL converts a single part, or the entire current schematic (Select all before starting command) to a spice simulation-capable schematic by modifying parts so they include the necessary attributes and mappings. Where possible, assumptions are made as to what type of device each part represents. This is done by using the first letter of the part reference and assuming it equals the proper spice equivalent. For example, resistors are assumed to have a prefix R, capacitors C, inductors L, and subcircuits X. Users can choose the right device type in the interface provided. See the SIM command for more information on simulation, and see the Berkeley spice page on devices (https://bwrcs.eecs.berkeley.edu/Classes/IcBook/SPICE/UserGuide/elements_fr.html) for a detailed list of spice devices and their syntax. The list of valid spice prefixes are below.
R L C K X S W V I G E F H B T O U D Q J M Z
Function
Aligns selected objects in the Layout editor.
Syntax
ALIGN ..
At the moment, the ALIGN command does not support command line parameters.
The ALIGN command can be used to align selected objects in relation to each other or to move their origin location to the nearest grid point. You can use the command toolbar, the command line, or the Modify menu to start the ALIGN command. The following modes are supported:
The ALIGN command uses axis aligned bounding boxes of objects to be aligned for all modes except for Align Origin to Grid mode (which as the name implies uses the origin of the object to be aligned).
In Distribute Vertically | Horizontally modes at least three selected objects are required - these modes will provide equal spacing between the selected objects.
The ALIGN command can be applied to following object types:
The ALIGN command will ignore other object types even if they were selected before starting the command. The ALIGN command is not applicable if there are no selected applicable objects in the editor.
Function
Draw an arc of variable diameter, width, and length.
Syntax
ARC ['signal_name'] [CW | CCW] [ROUND | FLAT] [width]
Mouse keys
Center selects the layer.
Right changes the orientation.
See also CHANGE, LINE, CIRCLE.
The ARC command, followed by three mouse clicks on a drawing, draws an arc of defined width. The first point defines a point on a circle, the second its diameter. Entering the second coordinate reduces the circle to a semicircle, while the right button alters the direction from first to second point. When you enter a third coordinate, the semicircle truncates to an arc that extends to a point defined by the intersection of the circumference and a line between the third point and the arc center.
The parameters CW and CCW enable you to define the direction of the arc (clockwise or counterclockwise). ROUND and FLAT define whether the arc endings are round or flat, respectively.
The signal_name parameter is intended mainly to be used in script files that read in generated data. If a signal_name is given, the arc will be added to that signal and no automatic checks will be performed.
Use this feature with great care, as it could result in short circuits if an arc is placed in a way that it would connect different signals. It is recommended to run a Design Rule Check after using the ARC command with the signal_name parameter!
The parameter "width" defines the thickness of the drawn line. It can be changed or predefined with the command:
CHANGE WIDTH width;
The adjusted width is identical to the line width for wires. Arcs with angles of 0 degrees, or 360 degrees, or a radius of 0 are not accepted.
Example for text input:
GRID inch 1; ARC CW (0 1) (0 -1) (1 0);
generates a 90-degree arc with the center at the origin.
Function
Modify key assignments.
Syntax
ASSIGN
ASSIGN function_key command..;
ASSIGN function_key;function_key = modifier+key
modifier = any combination of S (Shift), C (Control), A (Alt) and M (Cmd, macOS X only)
key = F1..F12, A-Z, 0-9, BS (Backspace)
See also SCRIPT.
Use the ASSIGN command to define the meaning of the function keys F1 through F12, the letter keys A through Z, the (upper) digit keys 0 through 9 and the Backspace key (each also in combination with modifier keys).
The ASSIGN command without parameters displays the present key assignments in a dialog, which also allows you to modify these settings.
Keys can be assigned a single command or multiple commands. The command sequence to be assigned should be enclosed in apostrophes.
If key is one of A-Z or 0-9, the modifier must contain at least A, C, or M.
![](platforms-mac.png) | The **M** modifier is only available on **macOS X**. |
Note that any special operating system function assigned to a function key will be overwritten by the ASSIGN command. Depending on the operating system, ASSIGN may not be able to overwrite certain function keys (for example Shift+F10 on Windows).
If you assign a command to a letter key together with the modifier A (for example A+F), a corresponding hotkey from the drop-down list will no longer be available.
To remove an assignment from a key, you can enter ASSIGN with only the function_key code, but no command.
ASSIGN F7 'change layer top; route'; ASS A+F7 'cha lay to; rou'; ASSIGN C+F10 menu add mov rou ''';''' edit; ASSIGN CA+R 'route';
The first two examples have the same effect, since EAGLE allows abbreviations not only with commands but also with parameters (as long as they are unmistakable). Note that here, for instance, the change layer top command is terminated by a semicolon, but not the route command. The reason is that in the first case the command already contains all the necessary parameters, while in the second case coordinates still have to be added (usually with the mouse). Therefore the ROUTE command must not be deactivated by a semicolon.
If you want to assign the MENU command to a key, the separator character in the MENU command (semicolon) has to be enclosed in three pairs of apostrophes (see the third example). This semicolon will show up in the new menu.
F1 HELP | Help function | |
Alt+F2 WINDOW FIT | The whole drawing is displayed | |
F2 WINDOW; | Screen redraw | |
F3 WINDOW 2 | Zoom in by a factor of 2 | |
F4 WINDOW 0.5 | Zoom out by a factor of 2 | |
F5 WINDOW (@); | Cursor pos. is new center | |
F6 GRID; | Grid on/off |
Further, many useful key assignments are contained in the initialization script default-assign.scr and can be adjusted to your individual needs.
Function
Definition of attributes for parts.
Syntax
ATTRIBUTE name [ 'value' ] [ options ]
ATTRIBUTE part_name attribute_name
ATTRIBUTE part_name attribute_name 'attribute_value' [ [ orientation ] ]
ATTRIBUTE part_name attribute_name DELETE
ATTRIBUTE element_name attribute_name
ATTRIBUTE element_name attribute_name 'attribute_value' [ [ orientation ] ]
ATTRIBUTE element_name attribute_name DELETE
ATTRIBUTE * [ name [ 'value' ] ]
ATTRIBUTE * name DELETE
ATTRIBUTE ..
See also ATTRIBUTE SET, NAME, VALUE, REPOSITION, TEXT. See the description of orientation at ADD.
An attribute is an arbitrary combination of a name and a value, that can be used to specify any kind of information for a given part.
Attributes can be defined in the library (for individual devices), in the schematic (for an actual part) or in the board (for an actual element). Attributes defined on the device level will be used for every part of that device type in the schematic. In a schematic, additional attributes can be defined for each part, and existing attributes from the devices can be overwritten with new values (if the attributes have been defined as variable). An element in the board has all the attributes of its corresponding part, and can have further attributes of its own.
In a library the ATTRIBUTE command can be used to define the attributes of a given component variant, using the syntax
ATTRIBUTE name [ 'value' ] [ options ]
The name may consist of any letters, digits, '_', '#' and '-' and may have any length; the first character must not be '-', though. Names are not case-sensitive, so PartNo is the same as PARTNO. The value may contain any characters and must be enclosed in single quotes. The valid options are:
delete | Delete the attribute with the given name from all component variants (in this case there must be no 'value'). | |
variable | Mark this attribute as _variable_, so that it can be overwritten in the schematic (this is the default). | |
constant | Attributes marked as _constant_ can't be overwritten in the schematic (unless the user insists). |
Options may be abbreviated and are case insensitive.
An already existing attribute can be switched between variable and constant without the need to repeat its value, as in
ATTRIBUTE ABC '123' | (variable by default) | |
ATTRIBUTE ABC constant | (ABC retains its value '123') |
If the value of an attribute is changed, its constant/variable setting remains unchanged (unless explicitly given). If an attribute is defined as constant, a library UPDATE will reset its value.
In a schematic, the ATTRIBUTE command can be used to assign attributes to a part. The newly-entered attribute value overwrites the library attribute value having the same name (if the device has such an attribute and allows overwriting). A part may also be given attributes that are not defined in the library at all. When you select the ATTRIBUTE command and click on a part, a dialog displays the list of component attributes and allows for editing.
For a fully textual definition of a new attribute the following syntax can be used:
ATTRIBUTE part_name attribute_name 'attribute_value' orientation
For already existing attributes it's only possible to change the value; the following syntax has to be used:
ATTRIBUTE part_name attribute_name 'attribute_value';
Note that in case of a multi-gate part, actually one of the gates (i.e. "instances") is selected. When selecting it with a mouse click, it is already clear which gate is meant, while when selecting it with part_name, the full name consisting of the part and gate name should be given. While a specific part can only have one attribute with a given name, the attribute can be attached to any or all of its gates. If only the part name is given, the first visible gate will be implicitly selected. If no coordinates are given (and the command is terminated with a ';'), the behavior depends on whether the given attribute already exists for that part (either in the device or in the schematic). If the attribute already exists, only its value will be changed. If it doesn't exist yet, a new attribute with the given name and value will be placed at the origin of the selected gate of the part.
To delete an attribute from a part, the command
ATTRIBUTE part_name attribute_name DELETE
can be used. When defining attributes through the command line or a script, use the CHANGE DISPLAY command to define which parts of the attribute (name, value, both or none of these) shall be visible.
In a board, attributes can be assigned to elements with the ATTRIBUTE command, much the same as in schematics. By default elements have all the attributes that are defined for their part in the schematic (and their device in the library). Attributes with the same name for a given element/part pair will always have the same value (through Forward&Back Annotation). Elements can have additional attributes that are not present in the schematic or library. If in a board the graphical representation of an attribute of an element is deleted and the attribute is defined solely in the board or there is no consistent schematic, the attribute is deleted too. In any other case, the attribute is not deleted, but its display mode is changed to OFF (not visible).
Global attributes can be defined in boards and schematics by using '*' as the part name (which implies that this attribute applies to all parts). Alternatively global attributes can be defined through the menu option "Edit/Global attributes...". The global attributes of board and schematic are handled separately and are not connected via Forward&Back Annotation. Such an attribute could, for instance, be the author of a drawing, and can be used in the title block of a drawing's frame. It will be shown on every schematic sheet that has a drawing frame that contains a text variable with the same name.
Names of text variables like NAME or GATE can't be used as attribute names. The only exception is the attribute VALUE, which can be used for assigning a value to each device in a library. If such a device is added to schematic, this value is used as part value regardless if the device set has 'Value On' or 'Value Off'. The attribute VALUE is then no longer available in schematic or board to avoid confusion. Changing the part value can be done in the usual way with the VALUE command. The attribute VALUE is also processed in library update, CHANGE PACKAGE/ATTRIBUTE SET and REPLACE. The part value is replaced by the newer or different value of this attribute if necessary. The attribute name EXTERNAL is reserved for marking of external devices (see PACKAGE).
Unlike other commands (like LINE, for instance), the ATTRIBUTE command keeps track of its last used layer by itself. This has the advantage of making sure that attributes are always drawn into the right layer, no matter what layers other commands draw into. The downside of this is that the usual way of setting the layer in a script, as in
LAYER _layer_; LINE (1 2) (3 4);
doesn't work here. The layer needs to be selected while the ATTRIBUTE command is already active, which can be done like this
ATTRIBUTE _parameters_ LAYER _layer_ _more parameters_;
Note that the ATTRIBUTE line is not terminated with a ';', and that the LAYER command starts on a new line.
The commands
ATTRIBUTE LAYER _layer_;
set the layer to use with subsequent ATTRIBUTE commands.
First the package and attribute set has to be selected (in case there is more than one) and then attributes for that attribute set can be defined:
PACKAGE N; ATTRIBUTE SET LS; ATTRIBUTE PartNo '12345-ABC'; ATTRIBUTE Temp '100K' constant; ATTRIBUTE Remark 'mount manually';
Function
Defines the possible attributeset parts of a device name.
Syntax
TECHNOLOGY name ..;
TECHNOLOGY -name ..;
TECHNOLOGY -* ..;
This command is used in the device editor mode to define the possible technology parts of a device name. In the schematic or board editor the TECHNOLOGY command behaves exactly like "CHANGE TECHNOLOGY".
Exactly one of the names given in the TECHNOLOGY command will be used to replace the '*' in the device set name when an actual device is added to a schematic. The term technology stems from the main usage of this feature in creating different variations of the same basic device, which all have the same schematic symbol(s), the same package and the same pin/pad connections. They only differ in a part of their name, which for the classic TTL devices is related to their different technologies, like "L", "LS" or "HCT".
The TECHNOLOGY command can only be used if a package variant has been selected with the PACKAGE command.
If no '*' character is present in the device set name, the technology will be appended to the device set name to form the full device name. Note that the technology is processed before the package variant, so if the device set name contains neither a '*' nor a '?' character, the resulting device name will consist of device_set_name+technology+package_variant.
The names listed in the TECHNOLOGY command will be added to an already existing list of technologies for the current device. Starting a name with '-' will remove that name from the list of technologies. If a name shall begin with '-', it has to be enclosed in single quotes. Using -* removes all technologies.
Only ASCII characters in the range 33..126 may be used in technologies (lowercase characters will be converted to uppercase).
The special "empty" technology can be entered as two single quotes ('', an empty string).
Note that the Technologies dialog contains all technologies from all devices in the loaded library, with the ones referenced by the current device checked.
In a device named "74*00", the command
TECHNOLOGY -* '' L LS S HCT;
would first remove any existing technologies and then create the individual technology variants
7400 74L00 74LS00 74S00 74HCT00
Function
Starts the Autorouter
Syntax
AUTO;
AUTO signal_name..;
AUTO ! signal_name..;
AUTO ..;
AUTO FOLLOWME
AUTO BGA
AUTO LOAD|SAVE filename;
See also SIGNAL, ROUTE, FANOUT, LINE, RATSNEST, SET.
The AUTO command activates the integrated Autorouter. If signal names are specified or signals are selected with the mouse, only these signals are routed. Without parameters the command attempts to route all signals. If a "!" character is specified all signals are routed except the signals following the "!" character. The "!" character must be the first parameter and must show up only once.
Use the LOAD and SAVE options to load the Autorouter parameters from or save them to the given file. If filename doesn't have the extension ".ctl" it will be appended automatically.
Without any parameters (or if no terminating ';' is given), the AUTO command opens a dialog in which the parameters that control the routing algorithm can be configured. The special option FOLLOWME opens this dialog in a mode where only the parameters controlling the Follow-me router can be modified.
AUTO ! GND VCC;
In every case, the semicolon is necessary as a terminator. A menu for adjusting the Autorouter control parameters opens if you select AUTO from the command menu or type in AUTO from the keyboard (followed by Enter key).
If a signal_name parameter is given, the characters '*', '?' and '[]' are wildcards and have the following meaning:
* | matches any number of any characters | |
? | matches exactly one character | |
[...] | matches any of the characters between the brackets |
If any of these characters shall be matched exactly as such, it has to be enclosed in brackets. For example, abc[]ghi would match abcghi and not abcdefghi.
A range of characters can be given as [a-z], which results in any character in the range 'a'...'z'.
When the Autorouter is started all Polygons are calculated.
A protocol file (name.pro) is generated automatically.
The Autorouter puts a rectangle around all objects in the board and takes the size of this rectangle as the routing area. Wires in the Dimension layer are border lines for the Autorouter. This means you can delimit the route area with closed lines drawn into this layer with the LINE command. In practice you draw the board outlines into the Dimension layer with the LINE command and place the components within this area.
Signals defined with EAGLE's SIGNAL command, polygons, and wires drawn onto the Top, Bottom, and ROUTE2...15 layers are recognized by the Autorouter.
Objects in the layers RestrictTop, RestrictBottom, and RestrictVias are treated as restricted areas for the Top and Bottom side and for vias respectively. If you want the Autorouter not to use a layer, select "N/A" in the preferred direction box.
If you cancel the Autorouter by clicking the STOP button, any airwires that have not yet been routed, are not automatically recalculated. Use the RATSNEST command to do this.
The BGA router is a special kind of autorouter which was designed to route BGAs with a minimal number of layers, and satisfy other specific requirements in BGA routing. The BGA router is useful if you have a limited number of layers or you want to minimize the number of layers in your board. BGA routing might take quite a long time and might consume a significant amount of memory depending on the BGA.
BGA router has several input parameters. These parameters should be assigned to each BGA as a value of the attribute with a name "BGA". Assign the "BGA" attribute only to BGA elements because the behavior of the BGA router is not defined for elements which are not BGA. Assigning an attribute to an element with name "BGA" and empty value means that this element will be routed by the BGA router using all signals which are connected to SMDs, and using all available layers, and placing microvias, if microvias are available in the board's layer stack. If only a subset of signals connected to a BGA element should be routed, the following value has to be assigned to the value of "BGA" attribute:
(NETS "list of signal names")
For example:
(NETS LPC_A1 PWR D0)
It is possible to skip some signals of this BGA. In this case you have to precede the keyword NETS with a - sign:
(-NETS "list of signal names")
For example:
(-NETS LPC_A1 PWR D0)
In this case, all but LPC_A1 PWR D0 signals will be routed.
It is also possible to control signals on each layer. To do this the following description should be added to the attribute value:
(LAYERS (LAYER_NUMBER1 "list1 of signal names") (LAYER_NUMBER2 "list2 of signal names") ...)
In this case, for example, only signals from list1 are allowed to use the layer with number LAYER_NUMBER1. For example:
(LAYERS (2 GND) (3 3V3 2V5 1V2))
The parameters above mean that only signal GND can use layer 2. In layer 3 only wires that belong to the signals 3V3, 2V5 or 1V2 could be created. An empty list like (2) means that in layer 2 no signals can be routed. By setting an empty list for some layers it is possible to switch off routing for these layers.
It is also possible to exclude some signals from a list. To do this the layer number has to be preceded by a minus - sign:
(LAYERS (2 GND) (-3 3V3 2V5 1V2))
Layer 2 can be used only for signal GND, layer 3 can be used for all signals except 3V3 2V5 1V2. The BGA router can use microvias, if they are defined in the board's layer setup. Microvias will be placed on SMDs. It is possible to switch off the usage of microvias by setting the following parameter:
(MICROVIAS OFF)
It is possible to set up all parameters by editing the value of the "BGA" attribute, but it's easier to do this in a dialog. By issuing the 'AUTO BGA" command a pop-up dialog with two lists appears. The list on the left shows elements which might be a BGA. The list on the right contains BGAs you would like to set and save the routing parameters and finally have them routed. You can modify the content of these lists by moving elements from here to there. The list on the right with elements supposed to be routed might have a marker in orange or in green. The green marker indicates that the settings for this element will be saved and it will be routed. Orange indicates that the settings only will be saved. Double-click onto the element to change the marker. The "Edit" button allows you to set parameters for the selected element of the "BGA" list in a new dialog. In this dialog, a list of signals connected to SMDs of this BGA is shown. Here you can define list of layers for each signal. Select one or more signals and click "Edit". In the following dialog, choose the layers that are allowed to be used for the BGA routing.
In the signals dialog you will find an option to switch on/off the usage of micro vias. Just keep in mind: This GUI workflow creates an attribute named "BGA" for each BGA component with appropriate attribute values that are used to instruct the BGA router.