Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Us<strong>in</strong>g</strong> <strong>Modules</strong> <strong>in</strong> <strong>Allegro</strong> <strong>PCB</strong> <strong>Editor</strong><br />
Design Reuse for Performance<br />
George Patrick<br />
Tektronix Inc.<br />
CDNLive! Silicon Valley<br />
Session 5.8 - September 13, 2006<br />
1<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
What is a “Module”<br />
The Cadence def<strong>in</strong>ition (from the 15.5.1 Help Documentation)<br />
“In <strong>Allegro</strong> <strong>PCB</strong> <strong>Editor</strong>, modules are collections of physical<br />
entities that can <strong>in</strong>clude other modules. <strong>Modules</strong> may or may<br />
not have logic (represented by nets, components, and so on.)<br />
or a block (a collection of schematic <strong>in</strong>formation a schematic<br />
tool uses) associated with them. They can be permanently<br />
stored as module def<strong>in</strong>ition databases (modulename.mdd) <strong>in</strong><br />
library files us<strong>in</strong>g the module path (modulepath) environment<br />
variable.”<br />
2<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
What is a “Module” (Part II)<br />
My Def<strong>in</strong>ition (from a <strong>PCB</strong> Designer’s perspective)<br />
“A module is a collection of elements grouped together and<br />
saved externally so as to be used as an <strong>in</strong>dividual unit one or<br />
more times <strong>in</strong>side one or more <strong>Allegro</strong> <strong>PCB</strong> <strong>Editor</strong> designs.<br />
These elements can <strong>in</strong>clude other modules, symbol packages,<br />
l<strong>in</strong>es, shapes, text, and logic that enable their easy reuse <strong>in</strong> the<br />
same or different designs without manipulation or tricks by the<br />
circuit or layout designers.”<br />
3<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
Advantages and Disadvantages<br />
Some Advantages:<br />
– Design Time<br />
– Standardization<br />
– Performance<br />
Some Disadvantages:<br />
– Changes<br />
– Expectations<br />
4<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
Before the design is started<br />
The architecture of the board must be planned.<br />
– Placement<br />
– Busses<br />
– Power considerations.<br />
The stackup of the board should be approved and locked.<br />
– Internal reuse modules need to be identical.<br />
– Non-performance related modules can be different.<br />
5<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
The modules<br />
The example I am us<strong>in</strong>g today<br />
uses three modules:<br />
– The “demux”<br />
– The “digitizer”<br />
– The “vert_sys”<br />
6<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
Tektronix File Directory Structure<br />
projects<br />
Legacy<br />
389000000a<br />
389000000<br />
Concept Files<br />
worklib<br />
demux<br />
Module Logic<br />
Files<br />
packaged<br />
Module Packager<br />
Files<br />
board<br />
demux<br />
digitizer<br />
packaged<br />
<strong>Allegro</strong> Files<br />
Module Data<br />
Files<br />
Module Logic<br />
Files<br />
Module Packager<br />
Files<br />
schem<br />
digitizer<br />
vert_sys<br />
packaged<br />
Packager Files<br />
Module Data<br />
Files<br />
Module Logic<br />
Files<br />
Module Packager<br />
Files<br />
vert_sys<br />
rootsheet<br />
packaged<br />
Module Data<br />
Files<br />
Ma<strong>in</strong> Logic<br />
Files<br />
Ma<strong>in</strong> Packager<br />
Files<br />
modules<br />
Module Import<br />
Files<br />
tlib<br />
Fabrication<br />
Files<br />
Text <strong>in</strong> Red may be different for your design<br />
7<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
Module Layout - Prelim<strong>in</strong>aries<br />
Create the file structure<br />
Create the root board database,<br />
read<strong>in</strong>g <strong>in</strong> the root packager<br />
files and sett<strong>in</strong>g up the stackup<br />
and required constra<strong>in</strong>ts as<br />
necessary. Extract a master<br />
technology file for use later.<br />
Copy the root database <strong>in</strong>to all<br />
the module board directories,<br />
renam<strong>in</strong>g it to the module name<br />
as you go.<br />
projects<br />
Legacy<br />
389000000a<br />
389000000<br />
Concept Files<br />
board<br />
<strong>Allegro</strong> Files<br />
schem<br />
Packager Files<br />
worklib<br />
demux<br />
Module Data<br />
Files<br />
digitizer<br />
Module Data<br />
Files<br />
vert_sys<br />
Module Data<br />
Files<br />
modules<br />
Module Import<br />
Files<br />
tlib<br />
Fabrication<br />
Files<br />
demux<br />
Module Logic<br />
Files<br />
digitizer<br />
Module Logic<br />
Files<br />
vert_sys<br />
Module Logic<br />
Files<br />
rootsheet<br />
Ma<strong>in</strong> Logic<br />
Files<br />
packaged<br />
Module Packager<br />
Files<br />
packaged<br />
Module Packager<br />
Files<br />
packaged<br />
Module Packager<br />
Files<br />
packaged<br />
Ma<strong>in</strong> Packager<br />
Files<br />
Text <strong>in</strong> Red may be different for your design<br />
8<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
Module Layout – Prelim<strong>in</strong>aries (cont<strong>in</strong>ued)<br />
Go <strong>in</strong>to each module board directory and:<br />
– Open the module database <strong>in</strong> <strong>Allegro</strong>.<br />
– Turn OFF on-l<strong>in</strong>e DRC Check<strong>in</strong>g.<br />
– Associate the netlist from the appropriate “packaged” directory.<br />
– Run DBDoctor.<br />
– Save the database.<br />
– Go to the next database.<br />
9<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
Module Layout - Strategy<br />
Module layout should be “bottom-up”.<br />
Include rout<strong>in</strong>g as soon as possible.<br />
Plan ahead.<br />
Don’t connect to outside signals with a stub.<br />
There may be times when everyth<strong>in</strong>g shouldn’t go <strong>in</strong> the<br />
module.<br />
Lay out modules for m<strong>in</strong>imum space<br />
10<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
Module Layout – Place and Route<br />
For each module <strong>in</strong> turn:<br />
– Place parts as required. This <strong>in</strong>cludes any lower-level modules needed for this<br />
module. Once a module is placed <strong>in</strong> its f<strong>in</strong>al place, FIX IT!<br />
– Route the <strong>in</strong>terconnects.<br />
– Insert plane splits and generate the planes.<br />
– Allow the eng<strong>in</strong>eers to comment and make any changes required.<br />
– Adjust silkscreen and assembly reference designators.<br />
– Run DBDoctor.<br />
11<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
Module Creation<br />
Cont<strong>in</strong>u<strong>in</strong>g for each module:<br />
– Display only the layers needed to<br />
create the module.<br />
– Select “Tools > Create Module” on<br />
the menu.<br />
– Select the entities to be <strong>in</strong>cluded <strong>in</strong><br />
the module.<br />
– Type <strong>in</strong> or click the orig<strong>in</strong> of the<br />
module.<br />
– In the file chooser w<strong>in</strong>dow, change<br />
to the “modules” directory, enter<br />
the name of the module, then click<br />
“Save.”<br />
Go to the next module...<br />
12<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
Module Layout – Changes<br />
What if you need to move a part or a<br />
trace on an <strong>in</strong>serted module?<br />
Corrections to one module needs to be<br />
done to all modules of the same type.<br />
– Unfix the module at the po<strong>in</strong>t where the<br />
change needs to be made and make the<br />
change(s).<br />
– Open the affected module’s database and<br />
replicate the changes, repeat<strong>in</strong>g all the steps<br />
from the previous two pages as needed.<br />
– Turn off DRC check<strong>in</strong>g.<br />
– Update the modules <strong>in</strong> the current database.<br />
– Re-fix the module you updated.<br />
– Perform a DBDoctor with all options checked.<br />
This time needs to be accounted for,<br />
especially when us<strong>in</strong>g hierarchical<br />
modules...<br />
13<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
More Changes<br />
What if the stackup changes?<br />
– Make the changes to the root board<br />
stackup.<br />
– Save the “master” technology file.<br />
– Go to each module (“bottom-up”)<br />
and import the changed technology<br />
file.<br />
– Fix any DRC errors<br />
– Repeat on up the l<strong>in</strong>e, follow<strong>in</strong>g the<br />
procedure on the last page for each<br />
module and the root board<br />
More time to be accounted for...<br />
14<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
Archiv<strong>in</strong>g<br />
We are <strong>in</strong> the prelim<strong>in</strong>ary stages of automatically archiv<strong>in</strong>g<br />
modules so they can be easily <strong>in</strong>cluded <strong>in</strong> other designs.<br />
We submit our designs to a third party (MatrixOne) application<br />
that handles all the other tasks needed (revision control,<br />
notification, lifecycle management, etc).<br />
The contents of the module database directories will be<br />
extracted so they can be copied <strong>in</strong>dividually if needed for<br />
another project.<br />
PDF files of the appropriate schematic and layout files will be<br />
available for each module on an <strong>in</strong>tranet web page.<br />
Text descriptions entered by the design eng<strong>in</strong>eer will be on the<br />
page and searchable from the modules “home page:.<br />
15<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved
Questions?<br />
George Patrick<br />
Tektronix, Inc.<br />
PO Box 500, M/S 39-512<br />
Beaverton, OR 97077-0001<br />
George.H.Patrick@tektronix.com<br />
16<br />
9/22/2006 Copyright ©2006 Tektronix, Inc. All Rights Reserved