Register Generation Tools Provide Great Value
The ebb and flow of the EDA industry shifts where a semiconductor company would use commercial tools for each task in a semiconductor design process – to developing internal tools where commercial tools had gaps – and back again to commercial tools once the EDA industry catches on to the need.
Many of the best niche tools that fill these gaps originate from startups who have experience with chip design and saw an unmet need. One area where there is a lot of homegrown scripting is happening in the area of management and automatic generation of register and memory map definitions for a chip and IP that is integrating with it.
There have been attempts by the industry to establish standards, like IP-XACT and SystemRDL, but these standards only address part of the need. There are no open standards that enable companies to define a specification, auto generate HDL registers, SV/UVM code, C-header files and the resulting documentation in one unified environment.
Could a very sharp engineer inside of a semiconductor company build one? Of course they could, because we all know that anyone who is able to design a chip can write code to solve a problem in most steps in the chip design process. The real question is why would you if there are commercially available tools?
Here are the 9 ways a commercial register generation tool provides higher value than a custom script based approach:
- Custom crafted techniques do not keep pace with changes in industry standards – there is a move to enhance SystemRDL so that there is a standard to follow. Commercial vendors are focused on the standard and the workflow their customers need.
- Homegrown scripting methods tend to be slow – as SoC’s become much larger and more complex, so does the complexity of the registers and the Design Verification code. Faster and more streamlined commercial products make the use of register generation tools.
- The development and documentation rigor that is used to develop internal tools is below that of commercial tools – Companies must rely on specific employee knowledge to maintain the tool and enhance it as requirements change.
- Open source pearl scripts do not come with support when problems arise and are out of date with modern standards – Open source tools are a great way to start a homegrown project but seldom come close enough to commercial tools to do the trick.
- Homegrown tools miss key features like automatic checking of register mapping and the consistency of the specification, or have checks to prevent errors in the initial specification – it is very difficult for home grown tools to handle every corner case feature that makes a tool robust. They generally provide a solution that is right down the middle of what is minimally needed.
- Homegrown register generator tools are focused to enable HDL design but seldom support automatic generation of C header files for software, SV/UVM code for Design Verification or Chip Documentation – it really depends on which project team is doing the development and they seldom develop for other groups or down-stream processes.
- Homegrown tools do not readily keep up support for new interfaces (example ARM based busses) or have to be continuously modified to do so – the pace of IP development is frenetic and the difficulty to keep up with the change in IP company updates is difficult for the commercial company who have teams focused on this very product.
- Since we as a tool vendor deal with a large number of customers, we have a more complete solution. Our solution is more robust because it has to go thru more rigors, and we evolve the product at a faster pace because of requirements from a variety of customers. Chances are that a new feature that you want is already implemented in the tool, as per some other customer’s request.
- Homegrown tools can deal with simple structural transformation. They will be lacking advanced feature like:
- Multi-dimensional register structures
- Special registers like Aliased registers, RO and WO at the same address, shadow registers, interrupt registers, gateways and so on.
- Dealing with these features for various outputs like RTL, UVM and C API in a consistent manner is a grave challenge for any homegrown script or open source solution.
There may be more benefits of commercial tools versus homegrown tools, especially when you drill into the features they deliver.
The bottom line about commercial register generation tools:
Commercial EDA tools provide significant value. Trading off an engineer’s time from design to internal homegrown tool development may be necessary when no commercial tools are available but it never pays off when a commercial offering is available.