Home > Community > Forums > Logic Design > problem with reading TCF - file in RC

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 problem with reading TCF - file in RC 

Last post Thu, Nov 3 2011 12:44 PM by grasshopper. 3 replies.
Started by Alex Kli 03 Nov 2011 07:59 AM. Topic has 3 replies and 3340 views
Page 1 of 1 (4 items)
Sort Posts:
  • Thu, Nov 3 2011 7:59 AM

    • Alex Kli
    • Not Ranked
    • Joined on Mon, Sep 19 2011
    • Posts 5
    • Points 85
    problem with reading TCF - file in RC Reply

    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'

    • Post Points: 20
  • Thu, Nov 3 2011 10:22 AM

    • grasshopper
    • Top 25 Contributor
    • Joined on Thu, Jul 17 2008
    • Chelmsford, MA
    • Posts 242
    • Points 3,205
    Re: problem with reading TCF - file in RC Reply

     HI Alex,

     in all likelihood your TCF is reference with respect to testbench and not device hence the annotation does not line up. I believe the NC routine as well as the read_tcf command have an option to handle this but that is probably why your annotation is failing and, as you well know, bad annotation renders your results worthless.

     hope this helps,

    gh-

    • Post Points: 20
  • Thu, Nov 3 2011 12:30 PM

    • Alex Kli
    • Not Ranked
    • Joined on Mon, Sep 19 2011
    • Posts 5
    • Points 85
    Re: problem with reading TCF - file in RC Reply

    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'

    • Post Points: 20
  • Thu, Nov 3 2011 12:44 PM

    • grasshopper
    • Top 25 Contributor
    • Joined on Thu, Jul 17 2008
    • Chelmsford, MA
    • Posts 242
    • Points 3,205
    Re: problem with reading TCF - file in RC Reply

     Hi Alex,

    I thinik you may be making this more complicated than it needs to be. I just dug the TCF document and all you probably need i the -scope option to the command

     dumptcf
    [-flatformat] [-internal] [-output filename] [-overwrite]
    [-scope scope_identifier] [-verbose]
    where
    ■ -flatformat requests to generate the TCF file in flat format. By default, the TCF file is
    generated in hierarchical format.
    ■ -internal requests to include internal nets and signals in the probe.
    ■ -output allows you to specify the name of the TCF file. The default file name is
    ncsim.tcf. This file is written to the directory from which the simulator was invoked.
    ■ -overwrite allows overwriting of an existing TCF file.
    ■ -scope specifies the scope of the hierarchy for which the TCF needs to be dumped. By
    default, the top-level scope or the current debug scope is the scope for dumping TCF.
    ■ -verbose displays informational messages during the generation of the TCF file.

     hope this helps,

    gh-

    • Post Points: 5
Page 1 of 1 (4 items)
Sort Posts:
Started by Alex Kli at 03 Nov 2011 07:59 AM. Topic has 3 replies.