We have all dealt with the pain of inaccurate and out-of-date register information. Registers and bits are modified in hardware, but the documents are not updated. Documents are updated but firmware is not changed. Or typos are introduced along the way. Failure to catch these problems typically results in hours wasted on debugging that could and should have been avoided.
Design teams have attempted to solve this problem by using scripts to extract register information from hardware Verilog and VHDL files and converting them into firmware C header files. One that I saw only extracted register names and addresses but not bit information. It also did not produce documentation. Maintaining these in-house tools adds an additional burden to the team.
At the Design Automation Conference (DAC) last week, I saw four products that claim to address this issue:
Product | Company | URL |
---|---|---|
Bitwise | Duolog Technologies Ltd | www.duolog.com |
Blueprint | Denali Software | www.denali.com |
csrCompiler | Semifore, Inc. * | www.semifore.com |
SpectaReg | PDTi | www.productive-eda.com |
The key feature of each product is the ability to keep all pertinent files in sync. Each requires the user to maintain register and bit information, including addresses and descriptions, in an input file (or files.) The user must then use the provided tools to process the input file(s) to generate a variety of hardware, firmware, and documentation files. Lastly, the user can re-synthesize the generated hardware files and re-compile the generated firmware files to update their respective components. To change the hardware design, the user presumably needs only to update the input file(s) and rerun these steps, rather than undertake the arduous and error-prone task of manually updating the various hardware, firmware, and documentation files.
These tools have the potential added benefit in that they encourage interdisciplinary interactions between hardware and firmware engineers by improving communication between them and allowing firmware engineers a chance to review the designs sooner in document format. This collaboration leads to better product development.
- Best Practice: Use automated tools to generate hardware documentation and firmware header files from chip design files.
Until the next compile…
*Full disclosure: Gary Stringham & Associates is a business partner with Semifore, Inc.