Recently, Bosch Sensortec has been using Specman for their functional verification needs in their Inertial Measurement Unit, and they’re loving it.
Why is Specman so cool? Well, it’s implementing the familiar UVM in e, which provides the tools and infrastructure to easily build extendable, maintainable, and reusable verification components. If you use Specman, you’ll see big productivity increases. For a lot of common functions, Specman uses less code than other verification languages, speeding up your code writing. Specman is easy to use, and it’s very intuitive—your prior object-oriented programming language knowledge comes in handy here. Beyond that, if you are stuck on something, the excellent Cadence Support is just a click away, and will help you through any Specman-related difficulty you might face.
At Bosch Sensortec, it took only six short months for them to prepare and implement their first verification component using Specman. And that wasn’t a simple component, either—it had interface eVC, agents, monitors, BFMs, drivers, sequencers, and coverage models. Using a different hardware verification language could make something that complicated a hassle—but with Specman, it’s easy.
Artemios Diakogiannis, a verification specialist at Bosch Sensortec, says that his favorite part of Specman is the flexibility—since Specman is aspect-oriented, it’s simple to extend components to add additional functionality.
So—what’s next at Bosch Sensortec? Artemios says he wants to try the reflection API, which provides an interface to program metadata. This would allow him to define user extensions to pre-existing languages, pushing Specman’s flexibility even further.
Bosch Sensortec used both functional and coverage closure methods during verification, which helped ensure that they hit all of their RTL code in their designs.
With another happy Specman user joining the ranks, maybe you should consider giving Specman a try, too. Unless, of course, you’re okay with using a less flexible, less efficient hardware testbench language.