Homework_6 -- Implementing a Macro

Revised 10/04/10 by D. Bouldin

Macro and Leafcell Properties

A macro consists of two or more leafcells.
A soft-macro can be "hypenated" or decomposed for global optimization
whereas a hard-macro or leafcell is fixed to preserve area/delay.

This semester we will compare 3 methods for implementing layouts:


2009-homework_6

Encounter Reference Manual (10 MByte pdf)

Layout with cells placed and then with 4 metal layers routed:

General Procedure

A. Invoke virtuoso to draw a schematic which uses multiple leaf_cells.
(or synthesize using Synopsys Design Compiler.)

B. Generate the net-list for HSPICE and simulate.

C. Generate the structural verilog net-list from the schematic or the
synthesizer or manually.

Note that the structural verilog for each standard cell (with timing)
is included in:

     /sw/cadence/FreePDK45-1.3/osu_soc/lib/files/gscl45nm.v

   where * = AND2X1, FAX1   etc.

D. Use SOC_Encounter to perform placement and routing.

Execute the following:

1. login to ada8.eecs.utk.edu 2. cp ~bouldin/webhome/protected/651-hw6.tar.gz . 3. gunzip 651-hw6.tar.gz; tar -xvf 651-hw6.tar 4. cd 651-hw6 You should have the following files: adder4.v circuit.v encounter.conf multiplyadd.v nand2.v parta1.tcl parta2.tcl parta3.tcl partb1.tcl partb2.tcl partb3.tcl partc.tcl results.html source4encounter Note parta schematic Note in parta1.tcl: floorplan -r 0.5 1.0 (Floorplan options: aspect ratio of H/W; core utilization) 5. source source4encounter 6. encounter -init parta1.tcl 7. In the graphical window, add rulers and save the layout as "parta1.jpg". 8. Then, type exit in the terminal window: encounter 1> exit 9. Rename the log file as "parta1.log". 10. Continue for the other parts below. For partb, cp adder4.v circuit.v For partc, cp multiplyadd.v circuit.v etc. 11. Post your hw6-results on your protected webpage. 12. Fill in the missing entries by looking in the log file.

Part D (Your own unique circuit):

Draw a schematic consisting of multiple instances of at least three different OSU standard cells (with a complexity of about 50 fets) plus two shaping inverters on one input and a fanout of 4 inverters on one output. Create the structural verilog netlist. If necessary, copy partb.v to partd.v and edit to produce the structural verilog netlist. Perform pre-layout simulation using HSPICE. Post your partd.v, HEIGHT, WIDTH, etc. and simulation results on your protected website. Try various floorplans to achieve a near fully utilized one-row solution and a near fully utilized two-row or three-row solution. Use a ruler to indicate the dimensions of each solution. Capture each result that you try (even the ones that are not fully utilized) and post the layout images on your protected webpage. Add rows and links to the results table as needed.

Update hw.html

dbouldin@tennessee.edu