Magic Tutorial2 : Hierarchical Layout

bug or comment to jsmoon@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
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