IMPORT DESIGN Linux Environment CONFIDENTIAL STEPS FOR PHYSICAL DESIGN – Launch Innovus Step 1: Enter into macro_design directory $ cd macro_design Step 2: create soft link for inputs required for physical design $ ln -s /home/internship/pd/pd_macro/DATA DATA $ ln -s /home/internship/pd/pd_macro/LIBS LIBS $ ln -s /home/internship/pd/pd_macro/SCRIPTS SCRIPTS Step 3 : Create directory for output database and reports $ mkdir DBS Step 4 : invoke the innovus tool in macro_design directory and you should see command prompt innovus> and innovus GUI opened $ innovus CONFIDENTIAL CADENCE INNOVUS SHELL and GUI CONFIDENTIAL STEPS FOR PHYSICAL DESIGN – Source Design Settings Step 5 : source the inputs for the physical design process in innovus command prompt to check if all inputs are in order. leon.globals is created in innovus GUI by providing required settings innovus> source DATA/files/leon.globals • Design global variables and settings are done using this step # Version 1.1 setUserDataValue ::TimeLib::tsgMarkCellLatchConstructFlag 1 setUserDataValue conf_ioOri {R0} setUserDataValue conf_row_height 1.710000 setUserDataValue dcgHonorSignalNetNDR 1 setUserDataValue defHierChar {/} setUserDataValue delaycal_input_transition_delay {0.1ps} setUserDataValue distributed_client_message_echo {1} setUserDataValue distributed_mmmc_disable_reports_auto_redirection {0} setUserDataValue fpIsMaxIoHeight 0 setUserDataValue fp_core_height 654.930000 setUserDataValue fp_core_to_bottom 25.080000 setUserDataValue fp_core_to_left 25.000000 setUserDataValue fp_core_to_right 25.000000 setUserDataValue fp_core_to_top 25.000000 setUserDataValue fp_core_width 938.585000 setUserDataValue gpsPrivate::oigCGFixOutOfCoreChannels 1 setUserDataValue gpsPrivate::oigPBAwareTopoMode 23 setUserDataValue gpsPrivate::oigTopoBCMode 0 setUserDataValue gpsPrivate::oigTopoUseBABInTopLvlNodesInOCP 1 setUserDataValue gpsPrivate::oigUseNewMaxBufDistAPI 1 setUserDataValue init_design_settop 0 setUserDataValue init_gnd_net {VSS} setUserDataValue init_lef_file [list LIBS/lef/gsclib045.fixed2.lef LIBS/lef/MEM2_128X32.lef LIBS/lef/MEM1_256X32.lef LIBS/lef/pads.lef] setUserDataValue init_mmmc_file "DATA/files/viewDefinition.tcl" setUserDataValue init_oa_search_lib {} setUserDataValue init_pwr_net {VDD} setUserDataValue init_verilog "DATA/files/leon.v.gz" setUserDataValue lsgOCPGainMult 1.000000 setUserDataValue pegDefaultResScaleFactor 1.000000 setUserDataValue pegDetailResScaleFactor 1.000000 setUserDataValue timing_library_float_precision_tol 0.000010 setUserDataValue timing_library_load_pin_cap_indices {} setUserDataValue tso_post_client_restore_command {update_timing ; write_eco_opt_db ;} CONFIDENTIAL STEPS FOR PHYSICAL DESIGN – Import the Design Step 6 : Load the design, see if there are any ERRORS in the log innovus> init_design • The init_design command executes a number of checks to validate the design. • It is important that you review the log file to understand and resolve the warnings and error messages that it reports. CONFIDENTIAL STEPS FOR PHYSICAL DESIGN – Santy Checks • Sanity Checks mainly checks the quality of netlist. • It also consists of checking the issues related to Library files, Timing Constraints, IO’s. ❑Library Checks ▪ All Cells have timing data.(.libs for all cells) ▪ All cells have physical data(.lef for all cells) ❑Netlist Checks ▪ Floating Pins ▪ Un-driven I/O Ports ▪ Unloaded I/O Ports ▪ Multiple drivers etc. ❑SDC Checks ▪ Clocks reaching all clock pins of flops. ▪ Ports missing input/output delays. ▪ Ports missing slew/load constraints. ▪ Multiple clocks driving same register. ❑Netlist vs SDC Checks ▪ Pre layout timing. STEPS FOR PHYSICAL DESIGN – Santy Checks – checkDesign command Run this command at any stage of a design to check the following : ❑Physical library ❑Timing library ❑Placement ❑Floorplan ❑Netlist ❑I/O ❑Tie-hi and tie-low pins ❑Power and ground pins innovus> checkDesign [-help] { -all[-danglingNet [highlight]] | [[-io] [-netlist [-danglingNet [highlight]]] [-physicalLibrary] [-timingLibrary] [-powerGround] [ -tieHiLo] [-floorplan] [-place] [-spef] ] } [[-noText] [-outdir directoryName ] [-browser]] | [-noHtml [-outfile fileName ]] checkDesign reports innovus 4> checkDesign -physicalLibrary **WARN: (IMPREPO-205): There are 1 Cells with missing PG PIN. Design check done. Report saved in file checkDesign/leon.main.htm.ascii. *** Summary of all messages that are not suppressed in this session: Severity ID Count Summary WARNING IMPREPO-205 1 There are %d Cells with missing PG PIN. *** Message Summary: 1 warning(s), 0 error(s) innovus 5> checkDesign -timingLibrary Design check done. Report saved in file checkDesign/leon.main.htm.ascii. *** Message Summary: 0 warning(s), 0 error(s) innovus 4> checkDesign -netlist **WARN: (IMPDB-2139): Input netlist has a cell CLKINVX12 which is marked dont_use in the library. This cell will not be used in timing optimization. Use set_dont_use command to change. **WARN: (IMPDB-2139): Input netlist has a cell CLKINVX12 which is marked dont_use in the library. This cell will not be used in timing optimization. Use set_dont_use command to change. **WARN: (IMPDB-2139): Input netlist has a cell CLKINVX12 which is marked dont_use in the library. This cell will not be used in timing optimization. Use set_dont_use command to change. **WARN: (IMPDB-2139): Input netlist has a cell CLKINVX12 which is marked dont_use in the library. This cell will not be used in timing optimization. Use set_dont_use command to change. **WARN: (IMPDB-2139): Input netlist has a cell CLKINVX12 which is marked dont_use in the library. This cell will not be used in timing optimization. Use set_dont_use command to change. **WARN: (IMPDB-2139): Input netlist has a cell CLKINVX12 which is marked dont_use in the library. This cell will not be used in timing optimization. Use set_dont_use command to change. **WARN: (EMS-27): Message (IMPDB-2139) has exceeded the current message display limit of 20. To increase the message display limit, refer to the product command reference manual. # Number of cells of input netlist marked dont_use = 519. Design check done. Report saved in file checkDesign/leon.main.htm.ascii. *** Summary of all messages that are not suppressed in this session: Severity ID Count Summary WARNING IMPDB-2139 519 Input netlist has a cell %s which is mar... WARNING IMPDB-2136 295 %s term '%s' of %s instance '%s' does no... WARNING IMPREPO-200 1 There are %d Floating Ports in the top d... WARNING IMPREPO-202 1 There are %d Ports connected to core ins... WARNING IMPREPO-216 1 There are %d Instances with input pins t... WARNING IMPREPO-218 1 There are %d Floating Instance terminals... WARNING IMPREPO-227 1 There are %d High Fanout nets (>50). *** Message Summary: 819 warning(s), 0 error(s) CONFIDENTIAL STEPS FOR PHYSICAL DESIGN USING CADENCE INNOVUS - OTHERS • Step 7 : Continue in innovus GUI o o o o o o o Floorplan Powerplan Placement CTS Routing PV and Analyse the reports in each stage of the design process CONFIDENTIAL