• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Logic Design
  3. problem with reading TCF - file in RC

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 62
  • Views 2879
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

problem with reading TCF - file in RC

Alex Kli
Alex Kli over 13 years ago

Hi!

I have a problem with reading in TCF- data in the RC (rtl compiler).

I will shortly explain what I do:

I have a Testbench (SystemC) and a DUT (Verilog). For simulation I use "ncsc_run" and in this simulation I generate my TCF - file. This works very good so far. As a result I get a TCF - file that looks fine.

Afterwards I use the RC to synthesize my design, of coure I use a tcl - script for that.

At the end of my tcl - script I do the following:

# Annotate switching activities via TCF - file
read_tcf ../xyz.tcf

# Generate reports
report power -detail -verbose  > ./reports/map_power_tcf.txt
report power -tcf_summary > ./reports/tcf_summary.txt

The tcf_summary.txt looks like this:

-------------------------------------------------------
Total nets in design            : 4045 (100.00%)
Nets asserted                   : 69 (1.71%)
Nets computed                   : 3975 (98.27%)
Default nets                    : 0 (0.00%)
Asserted clock nets             : 0 (0.00%)
Constant nets                   : 1 (0.02%)
Net does not have TCF asserted  : 3976 (98.29%)
-------------------------------------------------------

If I understand this report right, the RC could assign toggeling - activity from the TCF - file only to 1.71% (69) of all nets!? This is very strange to me because when I look in the TCF - file, I see around 3500 entries inside concerning toggeling activity.

Even the RC tells me the following while processing:

Reading file : ../xyz.tcf
Nets/Pins asserted in TCF file : 73
Total Nets/Pins in TCF file    : 3541
-------------------------------------------------------
Asserted Primary inputs in design              : 39 (100.00%)
Total connected primary inputs in design       : 39 (100.00%)
-------------------------------------------------------
Asserted sequential outputs          : 29 (7.27%)
Total connected sequential outputs   : 399 (100.00%)
-------------------------------------------------------
Total nets in design                 : 4045 (100.00%)
Nets asserted                        : 69 (1.71%)
Clock nets                           : 0 (0.00)
Constant nets                        : 1 (0.02)
Nets with no assertions              : 3976 (98.29%)
-------------------------------------------------------
-------------------------------------------------------
Asserted Primary inputs in design              : 39 (100.00%)
Total connected primary inputs in design       : 39 (100.00%)
-------------------------------------------------------
Asserted sequential outputs          : 29 (7.27%)
Total connected sequential outputs   : 399 (100.00%)

It seems that the RC knows that there is a lot more information in my TCF - file, but because of some reason it can't assert it to the proper nets.

Maybe someone has got an idea what I do wrong?

Thanks a lot!

Alex'

  • Cancel
Parents
  • Alex Kli
    Alex Kli over 13 years ago

    hi!

    thanks for your fast answer!

    yes, i think too that the annotation does not line up and I think that I already found the solution for that.

    what I do is that I write out the TCF - file by simulation of the verilog RTL - file. afterwards I synthesize this RTL - file (result = netlist) and THEN I read in the TCF - file. at this point, the RC is not able anymore to map the information from the TCF - file to the current design because the net - names do not match anymore inbetween RTL - file amd NETLIST. this is why I'll try to simulte the pure netlist now and generate the TCF - file out of this simulation. then the annotations should be fine.

     Alex'

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Alex Kli
    Alex Kli over 13 years ago

    hi!

    thanks for your fast answer!

    yes, i think too that the annotation does not line up and I think that I already found the solution for that.

    what I do is that I write out the TCF - file by simulation of the verilog RTL - file. afterwards I synthesize this RTL - file (result = netlist) and THEN I read in the TCF - file. at this point, the RC is not able anymore to map the information from the TCF - file to the current design because the net - names do not match anymore inbetween RTL - file amd NETLIST. this is why I'll try to simulte the pure netlist now and generate the TCF - file out of this simulation. then the annotations should be fine.

     Alex'

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information