Company applies software techniques to hardware coding.
Hardware engineers always have looked at software tools and methodologies with a certain degree of envy. While the hardware side has embraced the discipline necessary to get products right prior to release, in large part because it’s too expensive to fix an error in hardware, the tools and languages are generally clunkier and the methodologies are much more rigid. Like software, they have to include complex dependencies, but unlike software they also must work with a set of design rules provided by foundries to ensure they can be manufactured with sufficient yield.
There has been much talk over the years about the need for new approaches, such as applying Agile techniques, as well as new languages in hardware to simplify hardware development. But so far those improvements have been limited. It’s difficult to incorporate these ideas into well-understood design flows, and it’s hard to get an entire industry to experiment with new ways of doing things.
Enter Sigasi, a Belgian hardware-software co-design company that leverages some of the concepts used in software to improve hardware code.
“What we’ve done is redefine design by stealing ideas from the software guys,” said Philippe Faes, the company’s CEO and co-founder. “We are software engineers, not digital hardware engineers.”
The approach is to parse VHDL and Verilog, run it through a database, and provide feedback information about data mismatches.
“With existing parsers, the code needs to be complete before you parse it,” said Faes. “Our parser works in real time, so if you’re halfway through a sentence you can skip over it. This is what Microsoft does in Visual Studio. It updates the state machine while you type. You can find syntax errors, and you can draw block diagrams and get feedback earlier. We also integrate with linting tools from Aldec and OneSpin Solutions.
Eclipse, which underlies Sigasi’s tools, and Visual Studio both fall into the category of integrated development environments for software. These generally include a source code editor, debugger and tools to automate a software build. Faes said these kinds of approaches have not been available to hardware engineers, but enough people know Eclipse that the learning curve is low. This becomes particularly important for code-re-use, he noted, because the code can be checked before it is recompiled to determine if anything is broken.
One of the areas where the company has seen success is in documentation. Modesto Casas, head of Sigasi’s North America sales and business development, said this is critical in markets such as medical devices and for legacy designs that are being used in new markets. “If a medical implant breaks, it can kill a person,” he said. “In the defense industry, the damage can be much wider. This applies to anything that is safety-critical.”