Unified Code Generation for Polymorphic Blocks

James A. Rowson
Alta Group of Cadence

October 24, 1996
Hogan Room, 531 Cory Hall
4:00-5:00 p.m.


Alta has traditionally specialized in tools for DSP design. Users enter their designs in static or dynamic dataflow, simulate, and finally generate code for hardware or software implementation. During the design flow, designers need to be able to refine the number system they use (from ideal floating point to concrete fixed point) and at the same time need to output their design in several forms (C for software and HDL for hardware).

We have built a system in which users describe their blocks polymorphically once, independent of type. C, C++ or HDL type specific implementations can be created automatically. The blocks are described without specifying the type; code generation will optimize away the C++ type overhead when the user specifies a concrete type in the dataflow diagram.

This talk will describe the system, including the optimizations required to produce efficient implementations of polymorphic blocks.