AATK_V4.1 is on SourceForge. If you have a problem that you can't fix on your own, give me an email and I will see what I can do. I didn't get everything but close! You can Download it from here:
Is AATK useful to you? What functions helped? What is needed? Can you quantify the productivity it saved you or your company?
Table of Contents
1. Introduction for AutoActive ToolKit
All the functions in the AutoActive ToolKit (AATK) for AutoActive Products, such as Board Station RE, Expedition PCB, those are written outside of product development at Mentor Graphics Systems Design Division and as such are Not Supported utilities.
All the functions in the AutoActive ToolKit (AATK) are written by Automation Layer which is available in AutoActive Products.
For Board Station RE users, Automation Basic is as free, but Expedition PCB users are required to purchase Automation Basic license to run most scripts and Pro license to edit the .efm scripts and run the Engines (Gerber, Drill, PDF...) Automation Basic checks out a license when the script is launched and releases it when you exit Expedition. Automation PRO only consumes a license while you are running a PRO script or using the IDF editor.
2. Production Usage
It is highly suggested that AATK be tested on a non-production design and any scripts found useful be tested and copied to a Company Specific menu. I try to test and fix these but since I am doing this as a hobby and get a scripts from other sources I can not guarantee they will work with all designs and environments.
Regarding any issues or problems you may run into the source code is included and you are welcome to change them. As always any comments, suggestions or ideas for AutoActive ToolKit, Please send email to;
Sending bribes, trash and trinkets and such will speed up any help that I can give but, try to work though the problems since I am a limited resource and I actually stink at writing code. (i.e. You will probably do a better job than I anyway!)
This AutoActive ToolKit has been designated and tested by current released version of AutoActive products, version 2007.5 on Windows platform with Windows operating system which is supported by AutoActive tools, such as Board Station RE, XE and Expedition PCB. This will work on another platform and operating system which is supported by AutoActive tools, I just didn’t test it.
4. Install AutoActive ToolKit
Unzip the AATK.zip file to your location. Following is one of examples.
You need to define following environment variables in your system.
AATK <Specify the pathname to the AATK directory>
You would need to use the semi colon “;” for path separator. Following is example.
AATK = C:/AATK
Also add it to your WDIR Variable
WDIR = C:/WDIR; C:/AATK
This allows any tool temp/startup files to go to C:/WDIR but still read the AATK Startup
By adding the directory to your WDIR the Edit pull-down menu in AutoActive tool will be active. You can also copy MGCPCBApplicationStartup.vbs into the pathname which is defined by %HOME% environment variable. This startup script adds the menu for open AutoActive ToolKit main form into Edit pull-down menu in AutoActive tool. You can also just drag the aatk.efm onto Expedition in the Windows environment, in Linux you will have to use the File>Open Script Form… to get it.
In this version, Internet Explore is used as Online Help Viewer. If it is not installed in your system, it is required to install Internet Explorer for viewing Online Help.
AutoActive ToolKit has several categories for utilities, such as Select, Place, Route, Draw, and Report. The menu for open AutoActive ToolKit main form is located at Edit pull-down menu in AutoActive tool. When each category button is selected from the main form, the sub-form of each category will be open. The actual utilities are located in sub-form.
This section introduces the function overview. Regarding functional details and usage example, please refer Online Help which is existed in each function diagonal form. When you enable the toolkit you will see this reminder:
The above exist to acknowledge the dedicated people who write cool scripts but also as a reminder that this is NOT PRODUCTION code and I don’t want to be responsible if you take out Power Grid in your section of the Planet!
New for 4.1 EZ-UserControl
Looks at the Design stackup and creates view for single layers and layer pairs. Thes may be invalid because you have the layers turned off in Editor Control, just hit continue if the form bombs.
It also lets you set the Grids and route with multiple widths from a form with user input to add your own values.
8. Key Definitions
Export Display Scheme Scripts
Allows the saved Display Schemes to be activated by key combinations in the Customize Accelerators scripts
Looks at exported Display schemes and all vb code in the WDIR and allows users to assign key combination shortcuts to them.
9. Select Objects By
Utilities for select function provide the parameterize selection to objects, such as traces, vias, plane shapes and netlines.
Select Netlines (Guides) by Length and Layer
Select netllines by specified minimum and maximum length range values.
Select Netlines By Angle
Specify an angle From low To hi i.e From 30 To 60 or From -45 To -10
Select Netlines By ZAXIS
Select all the nets that only go to pins on the top or to pins on the bottom or only the nets that have through board connections
Select Traces and Vias By Length/Width/Name
Select traces and vias by specified minimum and maximum length range values and layer for traces, and via name and span for vias.
Select traces by specified minimum and maximum length range values, and minimum and maximum trace width values, and layer.
Select Vias By Name
Select vias by specified via name and span for vias.
Select Plane Shapes By Layer and Net Name
Select plane shapes by specified net name and layer.
Export XY Place (as known as xyplace.dat) for selected parts only. To import, use pr –file=<file name> from keyin command line.
New in 4.1 Radial Placement and Fanout of Radial Parts.
Enter your radial Origin and place parts based off that coordinate. Fanout Radial parts or Wire Bonds easily.
Used with DxDesigner to copy Schematic Placement to Expedition. (i.e. If you have an Analog circuit you can use this to place parts in Expedition relatively the same as they were places in DxDesigner)
New in 4.0 Clusters Report
Users can get a list of the comps in each cluster
New in 4.0 Read BoardStation Comps File
Users can read component placement form a Board Station design. Great for XE compatibility.
New in 4.0 Java Place
My own creation. A dynamic placement routine with spring loaded connectivity! Works outside AutoActive in Java, using the Sun Java spring tutorial. Export should open a Java window move your parts around. Shift-LMB locks a part down, Ctrl-LMB movees it to the back of the board. Expedition button writes the output that the Import button reads into AutoActive. (If you don’t have Java loaded you will need it for this)
Replace existing vias by specified via name and span.
Add Via Array
Add an Array of vias. (Were you looking for a better definition?)
Adds user specified Tuning and talks to CES. Note this works in 2004 but is broken in 2005 and 2005SP1.
Attemps to make up the difference in diff pairs by adding a bump..
Bus Route non-CES
For non-CES designs that are privileged enough to use a Bus Route License
Multiple Via Objects
Creates the whacky side file for MVO. It only handles the Master Scheme so if you want more you will have to edit it.
New in 4.0 Delete Duplicate Vias
Creates You guessed it for those odddesigns that wind up with duplicates this can help you get rid of them
An attempt to control directional fanout from surface mount parts (There are more versions of this in the vbs/route directory)
BGA Breakout Orig
Simple form of above.
Change net name for selected plane shapes by selected object, such as pin, trace, via, or netline.
Color Net Dx
Changes the color of the net in Dx and Expedition at the same time. Both tools need to be open to work. Interestingly this script will run from Dx or Expedition. I was going to make a side file that saved the net color and changed it the next time the other tool was invoked but I didn’t.
New in 4.0 Draw Diff Pair Connector
Adds a DiffPair user layer and draws on line on that layer between the differential pairs in each component. Great for visualizing the pairs so you gan get a handle on how to route out of the devices.
New in 4.1 Find and Replace text
Finds all matching User Layer text in the design and replaces it with new value.
Let user beef inner layer short nets between vias (dogbones)
Similar to some of the scripts in the select section but as functionality increases it will route net segments.
Based on BGA pitch it will help you determine the trace and space rules under your BGA’s. SWEEEET!
Report net length for Manhattan vs. routed net length with factor value.
Radius Sweep Angle
This mess will calculate the stuff that the RF propellerhead asks you and you don’t have a clue why.
This will calculate the IPC-256/2221a current for a given trace segment.
Originally written for a competitive benchmark, this script will determine if your 10 lbs of $#!? parts will fit on your board. This is a PRO script which means it uses the MASK engine to do the calculations.
New in 4.0 Nets over Splits
Uses the Analysis>Summary Reports>Nets Over Splits file and puts a GUI on it for interactive editing. I call it 2 degrees from Kevin bacon because if you are more than 2 layers away, the route probably will find another return path for the signal.
New in 4.1 Check Angles
A DRC that will check for odd angle nets. For those who hand edit in Angle Plow this ma come in handy for Acid Traps.
New in 4.1 Length in Area
If you have a DRC that only allows a certain length of routing at a reduced trace width in a Rule Area.
New in 4.1 Short Traces
There is a DRC for this in the DFF module but this will do it interactively..
15. Copy Move Paste
Copy Highlighted Objects
User can copy highlighted nets, vias and fills to a file in c:/temp (This was written before the COPY PASTE functionality that is in Expedition)
Users can paste the previous saved nets, vias, fills into the same or new design. If the net does not exist watch out it is not handled yet. Hack the ascii file in c:/temp to fix. (This was written before the COPY PASTE functionality that is in Expedition)
Grab some vias and use AutoActive to move them. What a concept!
Assign Net Names
This is in the tool, this script just automates the process. (It puts it on an Icon as well)
16. Microsoft Excel
Straight from the included examples (more examples in the vbs/CopyPaste directory)
Change setting in Excel
Similar to ExcelCompList list but works with nets
Trace to Pad Exit
Good for manufacturing rules on 0201 gnat poop parts. Lets the user find traces going into a pad that are larger than a user specified amount.
New in 4.0 2007 User Layer Mapping
Helps add those new user layers. Only works in 2007+..
New in 4.0 Mfg Out Validation Rpt
Can read the report and interactively find the items.
Add FAB Text
A simple example of adding text.
Move Assembly Ref
This script will move the Assembly Ref text to the center of the part.
New in 4.1 Backdrill
Creates a backdrill file for those thick backplanes.
Add Layer Stack
This script reads the board stackup and adds it to graphical layers in Expedition. (This is as close to AMPLE in Fablink as it gets boys and girls)
Run Mitron Gencad
A cool script that uses the replay option. Since Automation will not let the user pick from a list the replay.
Lets Engineers see a 3D view of the board without sending to a mechanical tool. You need to load the VRML viewer in Internet Explorer to get this to work. If your company will not let you load this, have your manager set up a meeting with me and I will visit you boss personally to see why they are impeding productivity. (Call you tell that I am anti-IT/Management and pro-user?)
I am a POV fan so if you do not know what I am talking about go to http://www.povray.org/ and see what you can do with math! Andy Tefft, this is for you!
18. New in 4.0 Design For Test
New in 4.0 Testpoint Flow
A flow guide for testpoints. Everything in green just fires up an existing form to fill out. The Yellow is actual automation to help in inserting or reading Test Points. This can alos read the fixture Data from an existing BoardStation or Expedition design. Could be modified to read any netlist.
New in 4.0 Insert TP’s
Stand alone Insert TP’s form from the above flow.
19. New in 4.0 IDF
New in 4.0 IDF Import
Imports portions of the IDF file that the standard AutoActive EDF Import misses.
New in 4.0 IDF Export
Exports portions of the IDF file that the standard AutoActive EDF Export misses.
New in 4.0 IDF Layer Detail
Allows for some layer mapping of the IDF layers..
20. PRO Engines
Stand alone PRO engine that allows users to set up a common script to output PDF from all stackups.
Stand alone PRO engine that allows users to set up a common script to output Gerber from all stackups.
21. Example Fab Flow
Hit GO or click on any of the icons on the right. For most BoardStation Users, this would be a good start to switch their Fablink Automation to Expedition.
Drawing Editor is a new tool for documentation of Expedition/ Fablink PRO designs. Drawing Editor will be released shortly so you may want to wait for it
before you go nuts with Automation in Expedition like I have done with this example.
New in 4.1 Flip Chip/Advanced Design Support
Allows for some layer mapping of the IDF layers
1. Create New Package from Template
a. Some editing need but a simplified Netlist Flow Create design from Template.
a. Find Diff Pairs based off Pins or Vias. Creates user layer with a line between the pairs to help in planning.
b. Die Breakout similar to BGA breakout but simplified
c. Delete Duplicate Via needed for reading in re-use circuits or data from other vendors
a. Angles, Neck Length in rule area, short traces and a Return Via Check.
4. Test Vehicles
a. Crossprobe between Excel and Expedition
i. Nets (with color option to color the cell in Excel and the net at the same time)
iii. Vendor DRC report (X,Y’s)
b. Add User Layer test to selected Pins
c. Change Width on a GUI
d. Layout Driven Netlist
i. Create/delete Nets on the fly and write a new keyin netlist
e. Offset via creation
f. Create Heater patterns (serpantines).
a. Length report by width/length/layer with number of squares calculation(less the vias, I can’t figure that out)
6. Design Review
a. Report pins of selected net or DXF chain
a. Will need specifics for your flow but create Assembly and Manufacturing Drawing Sheets on the Fly.
Some of the functions have Online Help document inside form. Please refer Online Help regarding functional details and usage examples.
24. Menu Bar Additions
There are 5 new Route Menu Bar additions, these examples execute the following tasks:
v Dyno Filter
o Select nets and hit Dyno Filter the nets are automagically your filtered nets.
o Mash it again and you are back to selecting all nets
v Copy Highlighted to a File
o Highlight Nets, Vias Fills and it will write a file to C:/temp, you can hand edit this and use the paste below with or without an offset.
v Paste from the file
v Rename Nets
o Great for Flex or changing copper names. The net can not be hooked to a pin.
v Flip Chip Menu Form
v AATK Menu Form
25. User Community/Training
There is a MUG forum on Automation that you can ask others questions on scripting. Mentor Graphics also has a training course available to get you started. If you are one of my Global Accounts customers, give me a call and I will be happy to talk to you about your scripts.
Kendall Hiles CID
Global Applications Engineer Consultant
Mentor Graphics 2530 Meridian Pky
Durham, NC 27713 USA