Magma ASIC Design Flow - Stage 3
Magma For You in Three Hours (MYTH) - Hour III
MYTH is not a myth
V. Kamakoti and Shankar Balachandran
Reconfigurable Intelligent Systems Engineering Lab
Department of CSE, IIT Madras

 

Stage 3 : Physical Optimization, Clock Design and Detailed Routing

Physical Optimization

During physical optimization, the tool performs placement, global routing, and further logic optimization.

Step - 37: "fix cell" will Converts SuperCell models to standard cells with optimization and coarse placement.The man pages list the primitive commands included in this command script.

mantle[62]:> fix cell $m $l

To See the mantle Report click here

Step - 38: "fix opt global" will Performs post-sizing optimization for timing. The man pages list the primitive commands included in this command script.

mantle[62]:> fix opt global $m $l

To See the mantle Report click here

Step - 39: "report model" Checks the model for basic netlist and floorplan integrity (for example, cell overlap and dangling input pins, timing information, etc.,).

mantle[62]:>report model $m

To See the mantle Report click here

Step - 40: "report timing summary" will Generates a timing analysis summary report for the model.

mantle[62]:> report timing summary $m

To See the mantle Report click here

Step - 41: If timing is not met, then run following command Gate size optimization otherwise skip this command.

mantle[62]:> run gate size $m -effort high

To See the mantle Report click here

Step - 42: if still there is a problem, then try following Placement timing and placement details (Step - 43).

mantle[62]:> run place timing $m

To See the mantle Report click here

Step - 43: Run place details of the model

mantle[62]:> run place detail $m

To See the mantle Report click here ,The layout is shown in the Figure 5.31 and Power plan is shown in Figure 5.32.

Clock Design

During clock design, the tool preroutes and buffers the clock nets.

Step - 44: "fix Clock" To view the primitive commands included in this command script, see the man pages.

mantle[62]:> fix clock $m $l -effort medium

To See the mantle Report click here

Step - 45: Reports the timing path and clock details.

mantle[73]:> report timing path $m -clock_path_detail all

To See the mantle Report click here

Step - 46: Report timing Path

mantle[74]:> report timing path $m

To See the mantle Report click here

Step - 47: "report clock skew" will reports clock routing statistics.

mantle[74]:> report clock skew $m

To See the mantle Report click here

Step - 48: "report timing summary" will generates a timing analysis summary report for the model.

mantle[74]:> report timing summary $m

To See the mantle Report click here

Step - 49: "run gate sweep" will successively eliminates all unreachable cells, single-input cells, and constant cells from the design.

mantle[80]:> run gate sweep $m -hier

To See the mantle Report click here

Step - 50: "report timing summary" will generates a timing analysis summary report for the model.

mantle[81]:> report timing summary $m

To See the mantle Report click here

Step - 51: "run place timing" will fixes the timing.

mantle[81]:> run place timing $m -step 10

To See the mantle Report click here

Step - 52: Placement details

mantle[81]:> run place detail $m -eco

To See the mantle Report click here

Step - 53: "report timing summary" will generates a timing analysis summary report for the model.

mantle[81]:> report timing summary $m

To See the mantle Report click here

Step - 54: "report model" Checks the model for basic netlist and floorplan integrity (for example, cell overlap and dangling input pins, timing information, etc.,).

mantle[81]:> report model $m

To See the mantle Report click here, The clock design is shown in the Figure 5.33.

Detailed Routing

Step - 55: "fix wire" will Fixes all wire optimization and routing steps for the design. The man pages list the primitive commands included in this command script.

mantle[81]:> fix wire $m $l

To See the mantle Report click here

Step - 56: "check route drc" will check DRC for the entire design.

mantle[81]:> check route drc $m

To See the mantle Report click here

Step - 57: If there are any DRC errors then run the following command.

mantle[81]:> run route refine $m

To See the mantle Report click here

Step - 58: Final routing.

mantle[81]:> run route final -incremental $m -effort high

To See the mantle Report click here

Step - 59: check the antenna effect in routing.

mantle[81]:> check route antenna $m

To See the mantle Report click here

Step - 59: Routing antenna effect optimization

mantle[81]:> run route antenna $m

To See the mantle Report click here

Step - 60: "export volcano" Saves the data model information to disk.

mantle[81]:> export volcano aes_final.volcano

To See the mantle Report click here.

The lay congestion is shown in the Figure 5.34.
The lay DRC is shown in the Figure 5.35.
The lay layout is shown in the Figure 5.36.

END OF TUTORIAL

Script of All commands to run magma in text mode. Magma Script.

<<PREV [MAIN] END