Electronic Design

Tool Generates RTL Code From Untimed C++

The complexity of compute-intensive applications is driving the move to system design at the algorithmic level. With the release of the Catapult C synthesis tool, Mentor Graphics now offers the core foundation for a C-based design flow.

By raising the level of abstraction to C, a Catapult C-based flow sidesteps the lengthy manual process of RTL coding. Starting from untimed C++ source code, Catapult C users can automatically create a precise, repeatable path from those C models to hardware.

Catapult C produces RTL that is technology-independent. Alternatives use pseudotimed C, which suffers from some of the same drawbacks as hand-coding in RTL. The main problem is that hand-coded RTL tends to assume a given implementation.

A patent-pending interface-synthesis technology enables source code to remain independent of the hardware. As a result, users can quickly analyze performance tradeoffs. Designers can compare the use of single-port versus dual-port memory, with the resulting hardware tuned to the interface bandwidth. This is done by using design constraints, as opposed to altering the C++ source.

The accompanying Catapult C Library Builder tool provides accurate metrics for all operators and bit widths. It automatically characterizes arithmetic components, custom IP, Synopsys DesignWare blocks, and existing RTL code.

Verification is facilitated by wrappers that allow connection between design blocks at varying levels of abstraction. Designers can reuse their original C testbenches in mixed-mode simulations.

Pricing for the Catapult C synthesis tool starts at $89,000 for a one-year license, while the Catapult C Library Builder tool starts at $24,000. Both are available now.

Mentor Graphics Corp.
www.mentor.com

See associated figure

Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish