Home > Community > Forums > Functional Verification > printf in IUS6.01

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

 printf in IUS6.01 

Last post Mon, Mar 12 2007 9:53 AM by archive. 6 replies.
Started by archive 12 Mar 2007 09:53 AM. Topic has 6 replies and 1529 views
Page 1 of 1 (7 items)
Sort Posts:
  • Mon, Mar 12 2007 9:53 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    printf in IUS6.01 Reply

    I'm using a beta version of 6.01 and find that printf in a DPI'd C function no longer prints to the ncverilog log file, it only prints to the screen.  (In 5.83 it printed to both.)

    Does anyone know how to get printf to print to the log file in 6.01?

    Thanks,

    Dave F.
    LSI Logic


    Originally posted in cdnusers.org by dfechser
    • Post Points: 0
  • Mon, Mar 12 2007 10:19 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: printf in IUS6.01 Reply

    use io_printf, which is a VPI function. io_printf prints to the ncsim.log/ncverilog.log file.


    Originally posted in cdnusers.org by tmackett
    • Post Points: 0
  • Mon, Mar 12 2007 10:26 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: printf in IUS6.01 Reply

    Isn't VPI a PLI and therefore slow? If printf doesn't work after 5.83 are there plans to make a DPI equivalent that will?


    Originally posted in cdnusers.org by dfechser
    • Post Points: 0
  • Mon, Mar 12 2007 10:42 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: printf in IUS6.01 Reply

    Any print function requires a call to the operating system, which is by its very nature slow. So I would expect that the difference between printf, io_printf and vpi_printf would be miniscule if there is any difference at all. Of course, buffering the output helps, but even so, as soon as you put any kind of printf in your code, pure speed is no longer an option.

    I don't know for sure, but I would suspect that io_printf and vpi_printf (and any potential dpi_printf) all use the same underlying code. If the 6.1 beta code was printing to the log file, it must have been using that code too. After all, it's the only way it would even know about the existence of the log file.


    Originally posted in cdnusers.org by TAM
    • Post Points: 0
  • Mon, Mar 12 2007 10:50 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: printf in IUS6.01 Reply

    True, in general VPI/PLI calls are slower. BUT - printf has no knowledge of any simulator, but io_printf does. In general io_printf is fairly fast and I'd doubt if you'd really notice much performance hit other than writing to the external screen and the simulator's screen/log. Don't hold your breath for any dpi_printf (that's not an official statement).


    Originally posted in cdnusers.org by tmackett
    • Post Points: 0
  • Fri, Apr 13 2007 9:19 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: printf in IUS6.01 Reply

    Posted By tmackett on 3/12/2007 10:19 AM
    use io_printf, which is a VPI function. io_printf prints to the ncsim.log/ncverilog.log file.

    So, would I be correct in saying that any existing C code using printf's needs to be modified to ensure that messages go to the simulation log?
    If I want to use my C function as part of a UNIX command line program and as a DPI shared object, I need to create some sort of #define macro to use "printf" for command line and "io_printf" for DPI.   Is there any better method of doing this?

    Stuart


    Originally posted in cdnusers.org by g60stu
    • Post Points: 0
  • Thu, Apr 19 2007 12:05 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: printf in IUS6.01 Reply

    That the only way I know to get the DPI output to be incorporated into the ncsim.log file, since io_printf() understands a simulator and printf() does not.


    Originally posted in cdnusers.org by tmackett
    • Post Points: 0
Page 1 of 1 (7 items)
Sort Posts:
Started by archive at 12 Mar 2007 09:53 AM. Topic has 6 replies.