Zibb

EDA GRAFFITI, WITH EDA VETERAN PAUL MCLELLAN, DIGS INTO THE WORLD OF DESIGN TO FIND OUT HOW WE GOT HERE, WHERE WE ARE GOING, AND WHY EDA IS DIFFERENT.



   Advertisement

Wednesday, June 17, 2009

Guest blog: Rob Dekker

Jun 17 2009 12:00AM | Permalink |Comments (5) |


Today’s guest blog is Rob Dekker, the President and principal developer at Verific, who produce front-ends used by many EDA tool suppliers both big and small. Prior to founding Verific, Rob was at Exemplar where he was the principal developer of their Leonardo FPGA synthesis product (which was acquired by Mentor in 1995). He started his career at Philips Research in the Netherlands after graduating from Delft University of Technology.

SystemVerilog and the triangle of truth

With the advent of the IEEE 1800-2009 SystemVerilog standard, currently in the proposal stage, we thought it would be a fun exercise to take stock of support for the 1800-2005 version of this mighty hardware description language (HDL).  For this purpose, we compared the two leading SystemVerilog simulators Questa (from Mentor Graphics) and VCS (from Synopsys) with our own Verific SystemVerilog parser, a front end widely used in EDA applications marketed by our customers.

As an aside for those not familiar with Verific Design Automation, we build VHDL, Verilog, and SystemVerilog parsers, analyzers and elaborators, and license those to a wide variety of semiconductor, FPGA and EDA companies.  A representative list of our customers can be found on our website (www.verific.com) and there is no need to bore the reader with those here.  If you do RTL design, chances are you have used one of our parsers.  We never disclose which components our customers’ license from us, but we have our fair share of SystemVerilog licensees and carry the battle scars to prove it.

We also have a SystemVerilog test suite that we run internally to validate our own results, and several of our customers have licensed this test suite as well.  It contains 2,500 tests with positive tests (“this should pass”) and negative tests (“this should fail”).  The majority of these are semantics tests, and 40% is synthesizable.  By no means do we claim that this test suite is complete or even sufficient.  As a matter of fact, its size is dwarfed by our Verilog 2001 and VHDL regression suites.  We are sure that over time we will be able to extend our test suite as more SystemVerilog design activity starts occurring in the industry.

Our experiment was simple.  We took the tests from our SystemVerilog test suite and ran them simultaneously with VCS version 2008.12, Questa version 6.5a, and Verific 2009.01.  We aptly named it the “Triangle of Truth” and categorized the results in eight bins ranging from “0 0 0” (all three tools parse and report the same error on the test) through “1 1 1” (all three tools parse and pass the test).  The good news is that in 73% of the tests, all three parsers fully agreed.  The bad news, of course, is that there are discrepancies in the remaining 27%.  

The bin where Questa and VCS both successfully parsed the test but Verific failed were considered defects and quickly fixed in the Verific parser.  There is also a category where both VCS and Questa reported an error in the design as expected but where Verific failed to flag the error.  These results are called “false positives” and require improved semantic checking in the Verific parser.  They are less onerous but should get fixed over time as well.

And, then there were situations were either Verific and Questa agreed, or Verific and VCS agreed, but not Questa and VCS.  Remember the saying about the person with two watches who never knows what time it is?  Well, that’s how we feel in situations like this.  Predictably, Questa customers nudge us toward their simulator’s implementation and VCS users like it exactly the other way around.  Where does that put us?  Between a rock and a hard place! 

Worse yet are those situations where one of those leading EDA tools clearly violates the standard.  What are the others to do?  Fortunately, that happens only rarely.  Conflicts between the three vertices of the “Triangle of Truth” mainly relate to design checking, where tool A issues an error while tool B parses the same design just fine, or vice versa.  It will be interesting to see what the 1800-2009 version of the SystemVerilog standard will do to the “Triangle of Truth.”  Improved clarity of the standard should make it easier for EDA tools to agree on interpretation, but additions to the language will undoubtedly generate their own category of mismatches.  Whichever way it goes, the “Triangle of Truth” will remain a useful tool to measure SystemVerilog interoperability.


Reader Comments



at 6/18/2009 3:59:17 AM, David Talbot said:
What happens when you put Cadence IUS into another corner?



at 6/18/2009 5:27:22 PM, Rob Dekker said:
We would love to make this a Rectangle of Truth, but unfortunately, Cadence turned us down for their Connections program. We don't have the data.



at 6/19/2009 5:41:53 AM, Nick said:
What's a realistic 'end game', ie do you have comparitive data for a mature HDL (Verilog or VHDL) ?



at 6/23/2009 1:48:20 PM, Rob Dekker said:
Interesting suggestion. Our experience is that most language interpretation differences are caused by SystemVerilog constructs. However, we will run a Verilog 2001 test suite through the Triangle of Truth analysis shortly to validate that statement. We do not have access to Cadence' ncsim, so for VHDL we cannot run a triangle analysis, but VHDL is very precisely defined and we rarely see differences in tool behavior for that language.



at 6/25/2009 4:11:24 PM, Rob Dekker said:
We ran a Verilog 2001 test suite with 1112 tests on the same 3 front ends (VCS, Questa, Verific) and found 94% compliance between the three.


Post a comment



Display Name

Change Image
Before submitting this form, please type the characters displayed above.
Note the letters are NOT case sensitive.


ADVERTISEMENT

©1997-2009 Reed Business Information, a division of Reed Elsevier Inc. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other Reed Business sites