Graham is VP of Marketing at Real Intent. He has over 20 years experience in the design automation industry. He has founded startups, brought Nassda to an IPO and previously was Sales and Marketing Director at Internet Business Systems, a web portal company. Graham has a Bachelor of Computer … More »
Does Your Synthesis Code Play Well With Others?
September 25th, 2014 by Graham Bell
Recently, Real Intent put out a new release of our Ascent Lint tool, which checks your RTL to make sure it meets the standards for good coding practices. Linting has the advantages of delivering very quick feedback on troublesome and even dangerous coding style that causes problems that can show up in simulation, but will likely take a much longer time to uncover. With the right lint tool, you can catch the “low-hanging fruit” before tackling functional errors. In a recent blog, we discussed how a staged analysis starting with Initial checks, followed by Mature and Handoff checks, can very efficiently get you to ‘hardened’ RTL code that is ready to be integrated with the rest of the design.
Our latest release of Ascent Lint supports this staged analysis through a series of different policy files, and this is very effective for hand-coded RTL that designers create.
Another important aspect to Linting is the requirement to verify that automatically generated RTL code from high-level synthesis (HLS) tools is ‘clean’, as well. You might think that since the code is automatically generated does not need linting. In fact, the freedom given to designers in their HLS environments, permits them to generate RTL code that should be checked.
One example flow is MathWork’s HDL Coder™. It generates portable, synthesizable Verilog® and VHDL code from MATLAB functions, Simulink models, and Stateflow® charts. We announced in May, that Ascent Lint is integrated with the HDL Coder user interface which automates the setup of files and commands for Ascent Lint. This tight integration enables users to verify that the RTL code generated using HDL Coder is compliant with users’ coding conventions and industry standards, for a safe and reliable implementation flow for digital synthesis tools used by ASIC and FPGA designers.
Another flow is the integration of Calypto’s Catapult high-level synthesis tool with Ascent™ Lint, which we announced last year. Catapult synthesizes ANSI C++ and SystemC to RTL code. The advantage of starting with C-code means verification can be done over 100X faster than at RTL and designers get early feedback on their design architecture in terms of performance, area, and power. By integrating with Calypto’s synthesis tool, Ascent Lint enables designers to quickly go from from the system-level to gates, secure in the knowledge that their RTL code meets all of the industry quality standards in their implementation flow.
Besides our new integration with Mathworks, a number of other features and enhancement were introduced to Ascent Lint to keep it the highest performance linting tool in the marketplace. For a perspective on these new capabilities, please view the video below by Srinivas Vaidyanathan, staff technical engineer at Real Intent.
2 Responses to “Does Your Synthesis Code Play Well With Others?”