PadFrame Generator Tutorial
The procedure for running the padframe generator:
PadFrame Environment Setup
setenv PadFrameGen /projects/mpl/cddd/tools/src/padframe_gen/src
set path = ($path /projects/mpl/cddd/tools/src/padframe_gen/src)
(if you are using the ERC admin 'swsetup' tool, the path setting
above should be:
set tpath = (/projects/mpl/cddd/tools/src/padframe_gen/src)
)
Hierarchic Schematic Creation
1. Your top level schematic must have 8 padframe blocks surrounding the core:
left block, top-left block, top block, top-right block,
right block, bottom-right block, bottom block, and bottom-left block
of which top-left, top-right, bottom-left, and bottom-right blocks are corner blocks.
-- Each of the side blocks are made up of Pad/Buffer instances (icons of the schematic)
-- INOUT terminals have to be placed on the sides of each side block for routes
that run around the corners of the chip (i.e. ngnd).
2. The cell name of a schematic must be the same as its corresponding layout.
-- It is case sensitive.
3. Terminal names in a schematic cell must be same as those in a layout cell.
-- It is case sensitive.
-- It is not necessary to create the layouts for the side blocks (i.e. left,right,etc.)
the generator will create these for you.
4. The orientation of an instance in the schematic cell of a pad must be the
same as in its corresponding layout cell.
NOTE: #2,#3, and #4 are the cause for most of the problems encountered in
PadFrameGen.
Be sure to pay close attention to these.
Core Layout
The core layout should be created and saved as cells and leaves.
(see the AutoCells tutorial)
Preparing to Run PadFrameGen
In your working directory, You should have the following five files before
running padframe generator. One of these files is technology dependent.
Make sure you get MicroRoute.par for the appropriate technology.
MicroRoute.par -- contains information about the technology for MicroRoute.
it can be obtained from :
/projects/mpl/cddd/cell_libs/scmos/mentor/MicroRoute
NOTE: This same file can be used for scmos and gcmos cell libraries.
assemble_chip.m -- copy it from the tutor directory:
/projects/mpl/cddd/tools/src/padframe_gen/tutor/scn12hp
layout_inc -- a user created file that batch loads all the layout cells for a design
an example is included in the tutor directory
schematic_inc -- batch loads schematic cells for a design
an example is included in the tutor directory
pad_location.par -- pad location and power parameter file created by user.
an example is included in the tutor directory
For a minimum size padframe, the flag in the file is set to 0.
For a core limited design, you have to set the flag to 1.
NOTE: Padframe Generator only recognizes the pad_location.par file (filename and
format is important in this file).
Starting PadFrame Generator
Enter the following command on the command line
run_padframe technology design_name
i.e.
run_padframe scn12hp chip
Debugging
After running Padframe generator, Led creates a bunch of information under
the Debug subdirectory. It may be helpful for debuging your design.
Did you test your layout_inc and schematic_inc files to make sure all
cells are getting loaded?
Did you pay any attention to #2, #3, and #4 above?
Check to make sure everything corresponds.
Some Notes on designing a Pad Library for use with PadFrame Generator
Layers can't extend past the terminals on the edge of the Pad cells.
Make sure that after a pad instance and a buffer instance are tiled together they are
still on grid. This is a very easy mistake to make. This also goes for tiling side-by-side.
Make sure the corner layout is large enough to keep the top/bottom and left/right sides
from overlapping.
good luck ;)
Double PadFrame Generator
Double PadFrame Environment Setup
setenv PadFrameGen /projects/mpl/cddd/tools/src/padframe_gen/doublepad/src
set tpath = (/projects/mpl/cddd/tools/src/padframe_gen/doublepad/src)
You'll be using a different set of pad schematics and layouts. All of the necessary files
can be found in:
/projects/mpl/cddd/tools/src/padframe_gen/doublepad/tutor
Starting Double PadFrame Generator
Enter the following command on the command line
run_double_padframe technology design_name
i.e.
run_double_padframe scn06hp chip
Differences in PadFrame_Gen and Double PadFrame_Gen
As far as functionality goes everything stays the same except for an added feature. This
feature can be noted in the pad_location.par file. The double padframe generator can support
multiple vdd/gnd/ngnd pads. I strongly urge the user of the double padframe generator to be
very familiar with the way padframe generator works before attempting to use the double
padframe generator.