Magic Tutorial2 : Hierarchical Layout
bug or comment to pgolani@usc.edu
- Make sure you have inverter layout
See Magic Tutorial - Inverter Layout or download
inverter.mag file
if you don't have.
- Execute magic program
See Fig 1.
%magic ring
- Get inverter cell
See Fig 2.
":getcell inverter"
- ":getcell" command can be abbreviated as ":getc". So you can
type ":getc inverter" instread.
- If inverter cell is not located at the center, type "v".
- Array it (5,1)
See Fig 3.
":array 5 1"
- Another way to do
See Fig 4 and
Fig 5.
make sure you selected inverter cell.
get width of cell by "b" - in command box, "Box height: 59, width: 22" will appear
":copy r 22"
repeat ":copy r 22" 3 more times by typing "." 3 times.
- Expand inverter cell(s)
See Fig 6.
select one of the instances of inverter. (type "s" or "f")
":expand" (type "x")
- When you have expanded the array, you can see that the paint in inverter cells
is displayed less brightly than in layout you have seen till now. This indicates
that inverter cell is not editable. (Currently, ring is editable cell.) Any attempt
to modify inverter cell is not acceptible at this level.
- To unexpand, type "X" or ":unexpand"
- Switching the edit cell
See Fig 7.
select one of the instances of inverter.
":edit"
- Notice that the paint of inverter cell is brighter than one in
Fig 6. This means
that inverter cell is now editable.
- Any change in layout of inverter cell will affect the whole array.
- Change inverter size
See Fig 8.
- Increase pmos width to 18 lambda and nmos width to 6 lambda.
- All of instances of inverter should be affected by this change.
- Save files
":write"
- It will ask you whether to save inverter and ring layout.
Type "Enter" (default action) to save files.
- Put labels on top layout
See Fig 9,
Fig 10 and
Fig 11.
select top cell(ring) and type ":edit"
"box(4,4)-> :paint m1"
label Vdd on the drawn m1 layer
repeat for GND, z1, z2, z3, z4, z5
- Any label (in, out) inside inverter instance cannot be seen from
the top cell. So you need to put labels on top cell.
- Base layer for top cell labels is required before labeling.
- Finish layout
See Fig 12.
- For correct operation of ring oscillator, draw nmos and metal
lines as shown in Fig 12.
- Save.
":write"
- Run IRSIM or HSPICE simulation to check operation
Copyright Joong-Seok "Jay" Moon
The University of Southern California does not screen or control the content on this website and thus does not guarantee the accuracy, integrity, or quality of such content. All content on this website is provided by and is the sole responsibility of the person from which such content originated, and such content does not necessarily reflect the opinions of the University administration or the Board of Trustees