Home > Community > Forums > Functional Verification > forcing the creation of a vcd file

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: *

 forcing the creation of a vcd file 

Last post Tue, Nov 27 2012 3:05 AM by Sumeet Shresth. 9 replies.
Started by freitas 15 Jun 2012 02:44 AM. Topic has 9 replies and 5251 views
Page 1 of 1 (10 items)
Sort Posts:
  • Fri, Jun 15 2012 2:44 AM

    • freitas
    • Top 500 Contributor
    • Joined on Wed, Nov 23 2011
    • Posts 24
    • Points 315
    forcing the creation of a vcd file Reply

    Hello,

    How do I instruct simvision to force the creation of a vcd file?

    I am trying to create tcl script to dump signals into a vcd file and then immediately post-process this very vcd.

    These are the two lines I want to run in sequence from a ncsim tcl script : 

    simvision -submit "database export $my_signals -format vcd -name my_vcd.vcd"

    file copy my_vcd.vcd ${my_dir}/myvcd.vcd

    The problem that I am experiencing is that simvision seems to postpone the creation of the vcd file. Therefore, at the moment the second line is executed the vcd file is not yet available.

    I get the following error:

    ncsim> *E,TCLERR: error copying "driver.vcd": no such file or directory

    However, if I run the two lines separately (i.e., not in a script) it works.So It seems that I have to force the creation of the vcd, but I don't know how.

    I would appreciate your help.

    Thanks!

     

     

    Filed under:
    • Post Points: 35
  • Fri, Jun 15 2012 3:36 AM

    • StephenH
    • Top 25 Contributor
    • Joined on Tue, Sep 2 2008
    • Bristol, Avon
    • Posts 268
    • Points 4,310
    Re: forcing the creation of a vcd file Reply

    I expect the problem is that because the "simvision -submit" just passes the request to the simvision process, ncsim carries on executing Tcl commands before simvision even processes the request.

    How about getting SimVision to execute the file copy as well, as part of the same command?

    ncsim> simvision -submit "database export $my_signals -format vcd -name my_vcd.vcd ; file copy my_vcd ${my_dir}/myvcd.vcd"

    Alternatively, why not just set a probe straight into a VCD file?
    NCSim lets you open multiple waveform databases and set multiple probe commands, either into the same database or different ones.

    ncsim> database -open my_vcd -vcd -into ${my_dir}/myvcd.vcd 
    ncsim> probe -create -database my_vcd $my_signals

      

    Steve Hobbs / Applications Engineer / Cadence Functional Verification
    • Post Points: 5
  • Fri, Jun 15 2012 3:43 AM

    • StephenH
    • Top 25 Contributor
    • Joined on Tue, Sep 2 2008
    • Bristol, Avon
    • Posts 268
    • Points 4,310
    Re: forcing the creation of a vcd file Reply
    Hello Freitas.

    Try putting the file copy through SimVision as well. I think the issue
    you face is that the "simvision -submit" just passes the request to
    SimVision then carries on in ncsim without waiting for the result.
    So, this might work:

    ncsim> simvision -submit "database export $my_signals -format vcd -name
    my_vcd.vcd ; file copy ${my_dir}/my_vcd.vcd"

    Perhaps you could also generate the probe natively in VCD?

    ncsim> database -open my_vcd -vcd -into $my_dir/my_vcd.vcd
    ncsim> probe -create -database my_vcd $my_signals

    This would not stop you also opening a SHM database and probing other
    signals int he same run, for interactive debug.

    Steve.
    Steve Hobbs / Applications Engineer / Cadence Functional Verification
    • Post Points: 35
  • Fri, Jun 15 2012 4:43 AM

    • freitas
    • Top 500 Contributor
    • Joined on Wed, Nov 23 2011
    • Posts 24
    • Points 315
    Re: forcing the creation of a vcd file Reply

    Voila! It works!! thanks a lot!

     

    Filed under:
    • Post Points: 5
  • Sun, Nov 25 2012 6:35 PM

    Re: forcing the creation of a vcd file Reply

    Hi Stephen,

     

    I am trying to create the VCD for the system verilog varible being defined as struct using the following command:

    probe -create -vcd bench.ydec_i -depth all

    but I am facing the issue showing the following error:

     ncsim: *E,DBOBBD: Cannot create VCD probe for bench.ydec_i.

    I am using the simvision 10.20-s105

     

    Regards,

    Sumeet Shrestha 

    • Post Points: 20
  • Mon, Nov 26 2012 1:49 AM

    • StephenH
    • Top 25 Contributor
    • Joined on Tue, Sep 2 2008
    • Bristol, Avon
    • Posts 268
    • Points 4,310
    Re: forcing the creation of a vcd file Reply

    Hi Sumeet.

    The VCD format itself doesn't support complex types like structs, which is why ncsim is telling you it cannot probe the object. As an aside, you may want to try the command "nchelp ncsim DBOBBD" at your Linux prompt to see a detailed explanation of the error message.

    Unless you absolutely require VCD format you'd do better to use the native SHM format because it supports structs, classes and other types that VCD cannot. In addition it's faster than VCD and takes a lot less disk space...

     

    Steve Hobbs / Applications Engineer / Cadence Functional Verification
    • Post Points: 20
  • Mon, Nov 26 2012 2:32 AM

    Re: forcing the creation of a vcd file Reply

    Hi Stephen,

     Thanks for the reply.

     I strictly need it to be in VCD format as I am passing this file to analog team so that they can use is to see if there is any problem in the signal change and in the signal itself. Also we use it in the tester to test the chip.

     If there is any way around to probe the struct in VCD? Is is possible to have an externally defined wire and assign the struct value to the wire?

     Regards,

    Sumeet Shrestha  

    • Post Points: 20
  • Mon, Nov 26 2012 2:35 AM

    • StephenH
    • Top 25 Contributor
    • Joined on Tue, Sep 2 2008
    • Bristol, Avon
    • Posts 268
    • Points 4,310
    Re: forcing the creation of a vcd file Reply
    Yes, I expect that assigning the important struct members to wires, then probing those wires would work.
    Steve Hobbs / Applications Engineer / Cadence Functional Verification
    • Post Points: 20
  • Mon, Nov 26 2012 2:40 AM

    Re: forcing the creation of a vcd file Reply
    Thanks, I will try that.... will let you know once I am done by tomorrow . Thanks a lot. Regards, Sumeet Shrestha
    • Post Points: 5
  • Tue, Nov 27 2012 3:05 AM

    Re: forcing the creation of a vcd file Reply

    Hi Stephen,

     

    Assiging it to the wire, worked.

     

    Thanks!

    Sumeet Shrestha 

    • Post Points: 5
Page 1 of 1 (10 items)
Sort Posts:
Started by freitas at 15 Jun 2012 02:44 AM. Topic has 9 replies.