Magic Tutorial2 : Hierarchical Layout

bug or comment to pgolani@usc.edu

  1. Make sure you have inverter layout
    See Magic Tutorial - Inverter Layout or download inverter.mag file if you don't have.
  2. Execute magic program See Fig 1.
    %magic ring

  3. Get inverter cell See Fig 2.
    ":getcell inverter"

  4. Array it (5,1) See Fig 3.
    ":array 5 1"

  5. 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.

  6. Expand inverter cell(s) See Fig 6.
    select one of the instances of inverter. (type "s" or "f")
    ":expand" (type "x")


  7. Switching the edit cell See Fig 7.
    select one of the instances of inverter.
    ":edit"


  8. Change inverter size See Fig 8.

  9. Save files
    ":write"

  10. 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


  11. Finish layout See Fig 12.

  12. Save.
    ":write"

  13. Run IRSIM or HSPICE simulation to check operation


Copyright Joong-Seok "Jay" Moon