Symbolic algebra and timing driven data-flow synthesis

The growing market of multi-media applications has required the development of complex ASICs with significant data-path portions. Unfortunately, most high-level synthesis tools and methods cannot automatically synthesize data paths such that complex arithmetic library blocks are intelligently used. Symbolic computer algebra has been previously used to automate mapping data flow into a minimal set of complex arithmetic components. In this paper, we present extensions to the previous methods in order to find the minimal critical path delay (CPD) mapping. A new algorithm is proposed that incorporates symbolic manipulations such as tree-height-reduction, factorization, expansion, and Horner transformation. Such manipulations are used as guidelines in initial library element selection. Furthermore, we demonstrate how substitution can be used for multi-expression component sharing and critical path delay optimization.

[1]  S. Moshier,et al.  Computer approximations , 1986 .

[2]  Alexandru Nicolau,et al.  Incremental tree height reduction for high level synthesis , 1991, 28th ACM/IEEE Design Automation Conference.

[3]  David A. Cox,et al.  Ideals, Varieties, and Algorithms , 1997 .

[4]  임종인,et al.  Gröbner Bases와 응용 , 1995 .

[5]  Robert K. Brayton,et al.  MIS: A Multiple-Level Logic Optimization System , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[7]  Kevin W. Bowyer Book review of The structure of computers and computations: volume one by David J. Kuck. John Wiley & Sons 1978. , 1979, CARN.

[8]  Giovanni De Micheli,et al.  Using symbolic algebra in algorithmic level DSP synthesis , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[9]  Keith O. Geddes,et al.  Algorithms for computer algebra , 1992 .

[10]  David L. Kuck,et al.  The Structure of Computers and Computations , 1978 .

[11]  Nikil D. Dutt,et al.  Integrating Program Transformations In The Memory-based Synthesis Of Image And Video Algorithms , 1994, IEEE/ACM International Conference on Computer-Aided Design.

[12]  G. de Micheli,et al.  Polynomial methods for component matching and verification , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[13]  Bruno Buchberger,et al.  Some properties of Gröbner-bases for polynomial ideals , 1976, SIGS.

[14]  Giovanni De Micheli,et al.  Polynomial methods for allocating complex components , 1999, DATE '99.

[15]  Yoichi Muraoka,et al.  On the Number of Operations Simultaneously Executable in Fortran-Like Programs and Their Resulting Speedup , 1972, IEEE Transactions on Computers.

[16]  Alexandru Nicolau,et al.  The Strict Time Lower Bound and Optimal Schedules for Parallel Prefix with Resource Constraints , 1996, IEEE Trans. Computers.