Cadence® system design and verification solutions, integrated under our System Development Suite, provide the simulation, acceleration, emulation, and management capabilities.
System Development Suite Related Products A-Z
Cadence® digital design and signoff solutions provide a fast path to design closure and better predictability, helping you meet your power, performance, and area (PPA) targets.
Full-Flow Digital Solution Related Products A-Z
Cadence® custom, analog, and RF design solutions can help you save time by automating many routine tasks, from block-level and mixed-signal simulation to routing and library characterization.
Overview Related Products A-Z
Driving efficiency and accuracy in advanced packaging, system planning, and multi-fabric interoperability, Cadence® package implementation products deliver the automation and accuracy.
Cadence® PCB design solutions enable shorter, more predictable design cycles with greater integration of component design and system-level simulation for a constraint-driven flow.
An open IP platform for you to customize your app-driven SoC design.
Comprehensive solutions and methodologies.
Helping you meet your broader business goals.
A global customer support infrastructure with around-the-clock help.
24/7 Support - Cadence Online Support
Locate the latest software updates, service request, technical documentation, solutions and more in your personalized environment.
Cadence offers various software services for download. This page describes our offerings, including the Allegro FREE Physical Viewer.
Get the most out of your investment in Cadence technologies through a wide range of training offerings.
This course combines our Allegro PCB Editor Basic Techniques, followed by Allegro PCB Editor Intermediate Techniques.
Virtuoso Analog Design Environment Verifier 16.7
Learn learn to perform requirements-driven analog verification using the Virtuoso ADE Verifier tool.
Exchange ideas, news, technical information, and best practices.
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.
It's not all about the technlogy. Here we exchange ideas on the Cadence Academic Network and other subjects of general interest.
Cadence is a leading provider of system design tools, software, IP, and services.
I have a lengthy SKILL script on a layout and it would be helpful to be able to see progress as it occurs. Is there a way to have the layout update at selected points in the script?
Also, the CIW is updating but doesn't make its first update visible until part way through the script after several printf statements have executed. Is there a way to force an update to the CIW as printf statements are executed?
Having this capability would help with the user interface so that users can plan their activities better and not be confused by what might look like a frozen script.
Maybe 'hiRedraw' can do the layout window update for you.
I did not understand exactly what update progess you want to be shown in the CIW.
In reply to berndfi:
Maybe hiFlush is what you want? Alternatively use hiDisplayProgressBox() or hiSetProgressBar() - and related functions - to get some visual feedback of progress.
In reply to Andrew Beckett:
Thanks guys for your suggestions, however, neither hiFlush or hiRedraw seemed to have any effect. I placed them thruought the script and it still waits until about 3 out of 5 steps have completed before updating the CIW and the layout display doesn't update until the very end. It is like SKILL just wants to run at full speed without updating the display or CIW until it reaches some point in execution and gets a microsecond to service system display tasks.
In Visual Basic there is a doEvents command that forces servicing Windows commands - that would be nice to have in SKILL.
Maybe if I put some sleep commands in it will allow the display updates to occur.
I will try the progress bar ideas, although that will not be as good as if I could see the actual progress.
In reply to thomas1000:
One issue is that Virtuoso (and SKILL) are not multi-threaded. That said, potentially there might be the opportunity to do some kind of cooperative update - but the problem is that some of those events might require SKILL - and so if it is blocked at the time, they would fail.
So it's not an easy problem to solve. Making a large long-lived application thread-safe is far from trivial and will take some considerable time.
I have a program, much like mark net, for tracing nets. I added a feature that would stop the program at a user defined interval (every 10 seconds, for example) which is useful when tracing large power supplies. Though it is not ideal, since it doesn't dynamically show the hilighting, it does allow us to see incremental highlights of the power rail and we can cancel the command if we have seen what we want without having to wait for it to complete. Basically the skill code pops open a dialog box and asks the user if they want to continue. If your program must always run to completion this may not be acceptable.