0% found this document useful (0 votes)
2 views

How to use Trace Macro or trace_obj_connectivity and related commands

The document provides instructions on using the Trace Macro and trace_obj_connectivity commands for tracing macro connections in a design flow, particularly for floorplanning. It details both interactive and batch modes, including steps for running traces, displaying results, saving databases, and exporting reports. Users can select levels of tracing and whether to base it on netlist or timing, with specific commands and options outlined for each mode.

Uploaded by

Quang Tiến
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

How to use Trace Macro or trace_obj_connectivity and related commands

The document provides instructions on using the Trace Macro and trace_obj_connectivity commands for tracing macro connections in a design flow, particularly for floorplanning. It details both interactive and batch modes, including steps for running traces, displaying results, saving databases, and exporting reports. Users can select levels of tracing and whether to base it on netlist or timing, with specific commands and options outlined for each mode.

Uploaded by

Quang Tiến
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

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.

Tracing using this command is netlist or timing based.


This supports different levels; that is, tracing across levels of flops and macros.
It can run in Interactive mode through the GUI (Floorplan > Trace Macro) or in batch mode.

Interactive mode

1. Run tracing.

i. Select your macros and/or ports.

ii. Select the desired level.

Level 1: Trace is done up to 1st level of flops and macros.

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.

ii. Now, you can display different levels of lines.

To do so, (un)select the lines’ level checkboxes in the Display section.

10 levels possible

Choose if you want to highlight the selected traced macro.

Choose if you want to display lines to ports.

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.

i. Enter a name in the “Output File” field in the Trace section.

ii. Click on the “Save All” button.

iii. This DB can be reloaded later; so, you do not need to run again.

iv. To load:

Click on the Load button and select DB.

Click Display; it displays all that was saved.

Now, to display only one macro’s lines:

a. Click Clear.

b. Choose “Selected Macros/Ports”.

c. Select one instance.

d. Click Display.
4. Export the text report file.

i. For one or all macros/ports

ii. Select which instances and/or ports you want a report for.

iii. Select the “Through Registers” option or not.

iv. At the end of the Display form, enter an “Output File” name and click Report.

v. In the example shown in the above picture, one instance is picked:

# Generated by: Cadence Innovus 17.11-s080_1


# Generated on: Mon Sep 4 05:19:16 2017
# Design: dtmf_recvr_core
# Command: report_obj_connectivity

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).

If you pick "Timing Based" display, the process is the same.

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 creates some timing tables and is MMMC aware.

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

Here is a list of examples of commands:

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:

trace_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 -mode netlist_based -out_file test_all_macros_lvl5

Timing Based:

trace_obj_connectivity -insts {RAM_128x16_TEST_INST/RAM_128x16_INST RAM_256x16_TEST_INST/RAM_256x16_INST PLLCLK_INST


ROM_512x16_0_INST} -level 2 -mode timing_based -out_file test_all_macros_TB

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

3. Save DB and load DB.


Save:

trace_obj_connectivity -selected -level 2 -mode timing_based -out_file test_all_macros_TB

Load:

trace_obj_connectivity -in_files test_all_macros_lvl5

4. Export the text report file.


For all macros:

report_obj_connectivity -insts {RAM_128x16_TEST_INST/RAM_128x16_INST RAM_256x16_TEST_INST/RAM_256x16_INST PLLCLK_INST


ROM_512x16_0_INST} -through_registers -level 5 -direction all -file dtmf_recvr_core-rom.tmcrpt

For selected macro(s):

report_obj_connectivity -selected -through_registers -level 3 -direction all -file dtmf_recvr_core-rom_selectedRAM512.tmcrpt


Return to the top of the page

You might also like