Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > EDA/IP

Website offers free open source C++ IC verification tools

Posted: 06 Sep 2006 ?? ?Print Version ?Bookmark and Share

Keywords:C++? Truss? Teal? verification tools? Mike Mintz?

Website offers free open source C++ IC verification tools

Many IC verification teams use C++, but there are few resources or tools to help them develop verification environments. Two engineers have launched a website with open-source tools that can help, and they've also co-authored a book on the topic.

Mike Mintz, verification engineer with a large systems company that prefers to remain unnamed, developed Teal, a C++ class library that adapts C++ to Verilog and provides threading support. He also created Truss, an applications framework for C++ verification that sits on top of Teal.

Along with Robert Ekendahl, principal verification engineer at Sun Microsystems, Mintz launched the website to offer the open-source tools. Additionally, Mintz and Ekendahl have just published "Hardware Verification with C++: A Practitioners Handbook," available now from Teal and Truss are provided in a companion CD.

"So far as I know there are no books on verification with C++, and a lot of people are using C++ for verification," said Mintz.

"It's clear to me that object oriented verification is becoming an industry best practice," Ekendahl said. The new book, he said, covers basic through advanced uses of object-oriented programming, and is directly applicable to languages such as SystemVerilog, Vera or Specman.

Mintz, who had previously spent 15 years as a software engineer, wrote Teal at his first verification job six years ago. After re-implementing it a number of times, he asked his current employer if he could put it in the public domain.

Truss came about last year when Mintz and Ekendahl were both working at Freescale Semiconductor, and Ekendahl suggested that Mintz offer some of the methodology he'd developed internally. Mintz compared Truss to the Synopsys-ARM Verification Methodology Manual (VMM) or Mentor Graphics Advanced Verification Methodology (AVM), "except it's out there, it's free and it's C++," Mintz said.

Mintz describes Teal as a "gasket" that connects C++ code to Verilog simulation environments through the Verilog programming language interface (PLI). Further, Teal provides a wrapper around portable Posix threads, thus providing multithreading support. Other features of Teal include stable random number generators, a flexible logging facility, and a dictionary namespace for passing parameters among different parts of the verification system.

Truss consists of a set of classes, templates and conventions that sit on top of Teal. It describes how tests, testbenches and drivers should function. Truss, said Mintz, is really all about the "dance" between the top-level controller, testbench and watchdog timer.

- Richard Goering
EE Times

Article Comments - Website offers free open source C++ ...
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top