Optimizing behavioral transformations using Taylor Expansion Diagrams
Optimization of designs specified at higher levels of abstraction than gate-level or register-transfer level (RTL) has been shown to have the greatest impact on the quality of synthesized hardware. This work presents a systematic method and an experimental software system for behavioral transformations of designs specified at algorithmic and behavioral levels. It targets data-flow and computation-intensive designs used in digital signal processing applications. The system is intended to provide transformations of the initial design specifications prior to architectural and RTL synthesis. It aims at optimizing practical designs while taking into consideration hardware design constraints.
The system is based on canonical, graph-based representation, called Taylor Expansion Diagram (TED). The design, initially specified in C, system C, or behavioral hardware description language (HDL), is translated into a hybrid network composed of islands of functional blocks, represented as TEDs, and structural operators, represented as black boxes. TEDs, constructed from polynomial expressions describing functionality of the arithmetic components, are transformed into a structural data flow graph (DFG) representation through a series of TED transformation steps, such as TED linearization, factorization, common subexpression elimination, and TED decomposition. The resulting DFGs are combined with other operators in a hybrid structural network, which is then further restructured to minimize the design latency, subject to the imposed resource constraints. The behavioral transformation system presented in this work relies on novel TED decomposition and DFG restructuring algorithms to produce minimum-latency DFGs and heuristically minimize the overall TD network under the resource constraints.
The results show that this system can produce high quality results and can be applied to practical industrial designs. To the best of our knowledge this is the first truly behavioral optimization system which performs transformations of the behavioral design descriptions in a systematic fashion.