20.02.2015 Views

Using Modules in Allegro PCB Editor

Using Modules in Allegro PCB Editor

Using Modules in Allegro PCB Editor

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!