Joint module selection and retiming is a powerful technique to optimize the implementation cost and the speed of a circuit specified using a synchronous data-flow graph (DFG). In implementing high-speed circuits, the use of carry-save signal representation is also a powerful technique to optimize the implementation cost and the speed of arithmetic circuits. This paper is the first to combine these two techniques to solve the joint module selection and retiming problem while allowing the use of carry-save representation. To solve this problem efficiently, we first propose a mixedreprcsentation data-flow graph (MFG) that allows signals to be expressed in carry-save representation. We also propose techniques to ac:curately model the costs associated with different signal representiations. In addition, we propose a solution-space pruning technique that significantly reduces the run-time of our algorithm. Our algorithm, by allowing carry-save representation, can produce a wider range of solutions. In our experiments, our fastest implementation is 28% faster and our smallest implementation is 47% smaller, in comparison to solutions obtained using the previously known joint module selection and retiming technique.
[1]
Sabih H. Gerez,et al.
Range-chart-guided iterative data-flow graph scheduling
,
1992
.
[2]
Keshab K. Parhi,et al.
ILP-based cost-optimal DSP synthesis with module selection and data format conversion
,
1998,
IEEE Trans. Very Large Scale Integr. Syst..
[3]
Taewhan Kim,et al.
Arithmetic optimization using carry-save-adders
,
1998,
DAC.
[4]
Hugo De Man,et al.
Combined hardware selection and pipelining in high-performance data-path design
,
1992,
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..
[5]
Charles E. Leiserson,et al.
Optimizing Synchronous Circuitry by Retiming (Preliminary Version)
,
1983
.