Get email delivery of the Cadence blog featured here
We all know that a common language is the basis for every collaborative activity. This is true of natural languages and formal languages alike. In engineering, and specifically in the domain of hardware design/verification, domain languages and formats have always been the means to achieve major breakthroughs. But a language cannot thrive, or even live long, without a large enough community around it. Therefore, aligning the industry – users and vendors – behind a standard has been recognized by all EDA players as an essential step in these technology leaps.
The effort around the Accellera Portable Test and Stimulus Standard (PSS) was no different. It’s objective, like other Accellera standards such as SystemVerilog, SystemC, and UVM, was to establish a rigorous common basis for a new generation of solutions. The interest of users in the standard is clear. They should be able to leverage the new paradigm without being dependent on any one specific vendor. The investment a company puts into a new approach should not be at risk even as it outlives a certain EDA product. Users should be able to choose the best tools and technologies from multiple sources. And a free market of knowledge should be available to companies as well as professionals. The benefit for vendors is also clear – with a standard they are free to focus on technology innovation in a market that is wide and self-sustained.
Standardization is a demanding process for everyone. Vendors and users need to establish a common understanding on the foundations of the new solution paradigm and flesh out the fine details. Vendors need to then align their technologies with the details of such an agreement. Users of these new technologies, who have already put investment into proprietary solutions, may need to align their existing code base with the standard. But the history of EDA demonstrates that this massive effort is simply the only way forward. A language or format that has not achieved a critical mass of eco-system around it will rarely succeed in the long run.
We, at Cadence, started by contributing to Accellera our knowledge and insights, accumulated over years of joint hard work with our customers. We worked hard to establish common understanding with all parties, negotiating agreements with our competitors in this domain. And we put the development resources to align our tools with the standard, following its definitions by the letter. We believe this is our responsibility, and the responsibility of all vendors who participate in this effort, to be true to the standard, and advance the alignment of the industry. A Portable Stimulus tool should behave in the way defined by the Portable Stimulus Standard.
Surely vendors work on supporting the PSS Language Reference Manual (LRM) according to their own plans and priorities, and tools have their specific modes and controls that are not covered by the LRM. However, vendors should resist the temptation to promote non-standard language constructs within the PSS code base, or assign meaning to constructs that conflicts with their definitions in the LRM. Doing so undermines the whole value of the standard for users. Users, on their part, should be suspicious of features that “go beyond the standard” if these involve intrusive syntax or semantics. Sometimes such features are used as stop-gaps for missing support for existing language constructs, or cover up for weaknesses of engines. But in all cases, using non-standard constructs immediately excludes the source code from the PSS eco-system, and couples it with a specific tool. The way to introduce enhancements to the PSS language is through the Accellera standardization committee, which has proven itself to be very open to requirements and solution proposals from all parties.
The PSS language is not perfect. We all can point out deficiencies here and there, or even wrong turns taken by the committee. And this is not different with other standards. But the importance of an official standard backed by the entire industry outweighs a hundredfold any minor issues. Now, with the long awaited PSS2.0 officially out, there are no more excuses. We, vendors and users alike, should stand united behind the standard to ensure the success of the big vision behind it.
Do take time to educate yourself on PSS2.0 –