How to use Trace Macro or trace_obj_connectivity and related commands
How to use Trace Macro or trace_obj_connectivity and related commands
How To...
How can I use Trace Macro or trace_obj_connectivity and related commands?
Answer
The trace_obj_connectivity command traces the connections of all macros, specified macros, selected macros, or specified ports. This can be run anywhere in the flow but is
meant to be run for floorplanning.
Interactive mode
1. Run tracing.
Level 2 : Same + tracing through this 1st level of sequential elements and macros to next level of such elements.
…
iii. Select Netlist Based or Timing Based.
For timing, it will be required to generate a Proto Model using the create_ps_per_micron_model command, which will be prompted for you.
iv. You can set the pins to trace across using the Advanced button.
Set input and output register pins
Macro pins (by default, it is bus pins)
Fanin/fanout clamped at 1000 by default
v. Click on Run.
2. Display lines.
i. Lines are displayed following the default settings after you click Run and study has run.
10 levels possible
Choose if you want to display the “through registers “and “all registers”.
"All registers" also displays the flops not crossed but found during the analysis. It can give information about data flow.
iii. Number of lines is displayed except for one connection (only the line).
iv. You can update the number in the “Min Connection” field to better see larger connections.
3. Save the encrypted DB.
iii. This DB can be reloaded later; so, you do not need to run again.
iv. To load:
a. Click Clear.
d. Click Display.
4. Export the text report file.
ii. Select which instances and/or ports you want a report for.
iv. At the end of the Display form, enter an “Output File” name and click Report.
ROM_512x16_0_INST L1 L2 L3 L4 L5
-CORE_INST/EXECUTE_INST/acc_reg[5] 1 0 0 0 0
-CORE_INST/EXECUTE_INST/acc_reg[7] 1 0 0 0 0
-CORE_INST/EXECUTE_INST/pc_reg[5] 1 0 0 0 0
-CORE_INST/DECODE_INST/decode_reg[5] 0 1 0 0 0
-CORE_INST/EXECUTE_INST/acc_reg[6] 1 0 0 0 0
-CORE_INST/EXECUTE_INST/pc_reg[6] 1 0 0 0 0
-CORE_INST/DECODE_INST/decode_reg[6] 0 1 0 0 0
The report is presented per instance and is based on the selected level of connections through resisters and macros.
You can select the number of levels to report (but according to the level you chose for tracing).
You would be asked to generate a psModel first with the create_ps_per_micron_model command; just use that command and relaunch Trace Macro.
It is recommended that on a design with a lot of macros, you should run trace based on all macros (it will take a few minutes to a few hours), save a DB, and then reload the DB to be
able to display what you want.
Batch mode
1. Run tracing.
set_trace_obj_connectivity_mode [-reset][-macro_pins <list_of_pins>][-max_fanin_fanout <number>][-register_inputs
<list_of_pins>][-register_outputs <list_of_pins>]
Netlist Based:
Timing Based:
2. Display lines.
display_obj_connectivity -insts {RAM_128x16_TEST_INST/RAM_128x16_INST RAM_256x16_TEST_INST/RAM_256x16_INST PLLCLK_INST
ROM_512x16_0_INST} -level 5 -direction all -line_to_ports -through_registers -min_connection 1
Load: