Cadence® system design and verification solutions, integrated under our Verification Suite, provide the simulation, acceleration, emulation, and management capabilities.
Verification 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.
More Support Log In
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.
The Cadence Academic Network helps build strong relationships between academia and industry, and promotes the proliferation of leading-edge technologies and methodologies at universities renowned for their engineering and design excellence.
Participate in CDNLive
A huge knowledge exchange platform for academia to network with industry. We are looking for academic speakers to talk about their research to the industry attendees at the Academic Track at CDNLive EMEA and Silicon Valley.
Come & Meet Us @ Events
A huge knowledge exchange platform for academia. We are looking for academic speakers to talk about their research to industry attendees.
Americas University Software Program
Join the 250+ qualified Americas member universities who have already incorporated Cadence EDA software into their classrooms and academic research projects.
EMEA University Software Program
In EMEA, Cadence works with EUROPRACTICE to ensure cost-effective availability of our extensive electronic design automation (EDA) tools for non-commercial activities.
Apply Now For Jobs
If you are a recent college graduate or a student looking for internship. Visit our exclusive job search page for interns and recent college graduate jobs.
Cadence is a Great Place to do great work
Learn more about our internship program and visit our careers page to do meaningful work and make a great impact.
Get the most out of your investment in Cadence technologies through a wide range of training offerings.
Overview All Courses Asia Pacific EMEANorth America
Instructor-led training [ILT] are live classes that are offered in our state-of-the-art classrooms at our worldwide training centers, at your site, or as a Virtual classroom.
Online Training is delivered over the web to let you proceed at your own pace, anytime and anywhere.
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 technology. 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.
Get email delivery of the Cadence blog featured here
There is a new free, open source (FOSS) e language project out there called “CFS Vision” that’s been getting very positive reviews from Specman users as well as our own Application Engineers. For example, their latest release is a really useful “eChart eVC” (actually a mix of e and Java) which allows you to draw charts directly from the verification environment. Given all of this positive excitement, Team Specman decided to catch up with the leader of this initiative, Mr. Cristian Slav, and share with you his story. As you will see, Cristian is a real “programmer’s programmer” that truly practices as well as preaches the FOSS gospel.Team Specman (TSN): Tell us a little bit about yourself, and CFS VisionCristian of CFS (CFS): CFS Vision is a personal project started from my passion for this interesting field of ASIC verification. I entered the field over 5 years ago, and from the beginning Specman has been my verification tool of choice. During this time the majority of my projects have been networking based ASICs, and I have also worked on eVCs for some standard protocols like I2C (which at first glance, looks quite simple, but when you dig down into the details there is an immense space of legal scenarios in which randomness must be the key player.) Currently, I am working as a verification consultant for AMIQ in Romania (makers of the DVT IDE, which Team Specman has been nice enough to profile on your blog – thanks!)TSN: What specifically inspired you to start this project, and how can people join and contribute their time and/or eVCs/UVCs?CFS: First, the idea behind CFS Vision is to give something back to the verification community. There are not so many in-depth information sources out on the internet for the full-time, dedicated verification engineer. You can literally count them on the fingers with Cadence blogs and Specman Yahoo Group being on the top of the list. Granted, there are other blogs that can give a helping hand to the entry level engineers, but that’s it. Hence, the real “hunger” out there is for substantial open source examples because it’s often the quickest way to learn. Furthermore, open source gives one the opportunity to achieve a goal with less effort. I think the best example comes from Java, where most of the time you can find on the Internet all the pieces of the puzzle. Your job is just to put them all together.
The main driver of this project is the verification community. Anybody can send me the bugs they find in the code, suggestions for features they want or even requests for small and simple eVCs – community feedback is quite important for me/CFS Vision. The plan for the future is to evolve to the idea behind Open Cores in which anybody can upload their project to be used by others.
The bottom-line: the verification community is relatively small compared to other fields, and we need to stick together! Hence, if you are interested in contributing some time or code to this cause I invite you to contact me via firstname.lastname@example.orgTSN: What inspired you create the APB eVC you have posted on the CFS Vision site?CFS: The APB eVC came about as a validation tool for the “eVC Generator” tool. The APB protocol is one of the simplest out there, and implementing was easy once the eVC infrastructure was generated.TSN: What makes your APB eVC different from other solutions in the market? Is it OVM compliant?CFS: Ha! Apologies for the laughter, but the APB eVC is not intended to be a commercial solution / product – it is provided as an educational example to whoever is interested. As noted above, I think that one can learn a lot about eVC development when looking at some real code, so I made sure to keep this eVC well organized and fully eRM compliant.
Regarding the specific question on OVM compliance: I haven’t put in any new OVM e features yet, but because it’s eRM compliant it’s fully backward compatible. Additionally, there is a parallel reason why the APB eVC is not OVM compliant: because “eVC Generator” tool I used to make the eVC only creates eRM compliant code at this time, i.e. I haven’t added OVM e updates to the code generator yet.
Of course, this eVC can be used inside a real project, which I strongly encourage; and I am more than happy to offer free support. But it does not compete with commercial IP offerings; it does not come with fancy custom features, or a huge sequence library. It is simply implementing the protocol with the checkers -- no more, no less. Of course, because it’s written in e and is eRM compliant, it can be easily extended to fully comply with anyone's requirements.TSN: Tell us about the "eVC Generator" tool?CFS: The “eVC Generator” tool came from my passion for Java. I am quite a fan of this language for which I learned just by writing small applications myself for fun, or to make my life easier. The idea for the generator was simple: make a visual interface to an ordinary ‘search and replace’ function; and that’s it! It can be easily extended by anybody: just add a new eVC architecture template, make small modifications to the Java files and you’re set. Of course a very simple bash script to do ‘search and replace’ can do the same, but the driving idea for me was to write Java, for fun. If somebody out there finds this eVC Generator useful for their purpose, that can only make me happy that I could help them in this way.TSN: While we would like to do a more detailed post on your "eChart" visualization tool , can you give us a quick preview of it now?CFS: Sure. First, my goal is for the “eChart” tool to be a real helping hand to front-line verification engineers. It allows one to draw two-dimensional charts directly from the ‘e’ code, and charts are a powerful tool when it comes to understating and validating the code. For example, a parameter’s evolution in time – like the ups and downs of bandwidth measurement on a bus – can quickly give you an idea of whether things are on the right track.
Using eChart is quite simple: there is an ‘e’ component that you instantiate in your environment to which you send X and Y axis information during the test. By accessing the API of this component one can start the visual interface to see the charts. The visual interface can also be loaded later on for further analysis.
However, I must emphasize that the big advantage of eChart is that it can be easily customized by other users to draw other types of charts -- not just an X-Y series type of chart. For example, you can extend it to create a pie chart because the engine behind eChart is JFreeChart, which is a free library for drawing charts using Java. In short, I tried to write the ‘e’ component in such a way that extending it should be as simple as possible.
Adding even more capabilities of the eChart tool is the next step for CFS Vision project. The plan is to allow the user to be able to draw more types of charts because JFreeChart has a huge variety.TSN: How can people learn more about your APB eVC and your new "eChart" eVC?CFS: The APB eVC can be downloaded from:http://www.cfs-vision.com/verification/components/evc/apb.html
The eChart eVC can be downloaded from:http://www.cfs-vision.com/verification/components/evc/ech.html
Both are well documented, with presentation videos included on their web pages.
Finally, allow me to take this opportunity to send a message to all the companies out there which develop ‘e’ code or tools for verification. If you have code or tools which are no longer of commercial value to you, make them open source so others can learn from you and your expertise. In the long run you will help create a larger pool of available, more knowledgeable verification engineers, which will be to your benefit as even in this economy the need for verification shows no sign of slowing down.TSN: Thanks, Cristian, for your time today, and for sharing these great utilities and example eVCs with the community!CFS: You are welcome – and thanks to the Specmaniac audience for listening!
P.S. from Team Specman:Do you have an e language-related product, utility, plug-in, or shareware you would like to promote? If so, please contact Team Specman and we’ll work with you to introduce and discuss it via this blog -- and on Twitter too (follow us: @teamspecman ).