Thursday, January 08, 2009     Register | Login | Search | Contact Us
     

Many of you already received communications about the move of the Cadence user community into cadence.com. And many of you have already joined, with over 4000 registrations in the first two weeks.

The new Cadence Community enhances the ability of Cadence users to connect and collaborate. In addition to moving the community into cadence.com -- enabling single sign-on for community, Sourcelink and Cadence events -- the new site is organized around nine technology segments, giving you easy access to product information, training, forums and blogs. Some of the new features include:
  • Ability to respond to posts via e-mail
  • Technology-specific blogs
  • Latest Web 2.0 social networking capabilities
  • Public profile options
  • Private messaging
  • Friends lists
Visit the new Cadence Community today at www.cadence.com/community and join the discussions!

Registration note: Due to the scope of the enhancements and the new SSO registration system, we were not able to migrate existing cdnusers.org member accounts. So new registrations are required, but this enables a broader set of functionality we think you'll enjoy.

Forum note: Under the guidance of forum moderators, we have taken the 20+ cdnusers.org forums and consolidated them into 11 forums on the new site. Posts have been brought over so you can leverage that posting history. CDNusers forums will be set to read only starting 7/30, and cdnusers.org will be redirected to the new community on 8/4.

Best regards,
Mike and Tom

Michael A. Catrambone - Steering Committee Chairman
Distinguished Engineer
PCB/Mechanical
UTStarcom, Inc.

Tom Diederich
Cadence Community Manager
Home
Forums
Subject: printf in IUS6.01
Posting to forums is available to community members only.
Login or Register
Rate this topic:
   
Author Messages
dfechser
Posts: 11
Online: User is Offline
3/12/2007 9:53 AM  
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
tmackett
Posts: 34
Online: User is Offline
3/12/2007 10:19 AM  
use io_printf, which is a VPI function. io_printf prints to the ncsim.log/ncverilog.log file.

Todd Mackett
Cadence Incisive
dfechser
Posts: 11
Online: User is Offline
3/12/2007 10:26 AM  
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?
TAM
Posts: 56
Online: User is Offline
3/12/2007 10:42 AM  
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.
tmackett
Posts: 34
Online: User is Offline
3/12/2007 10:50 AM  
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).

Todd Mackett
Cadence Incisive
g60stu
Posts: 1
Online: User is Offline
4/13/2007 9:19 AM  
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
tmackett
Posts: 34
Online: User is Offline
4/19/2007 12:05 PM  
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.

Todd Mackett
Cadence Incisive
Posting to forums is available to community members only.
Login or Register



ActiveForums 3.6
     
Copyright 2006 Cadence Design Systems, Inc.