# Synthesizing Optimal Application-Specific DSP Architectures

## Abstract

This chapter will examine previous research on architectural synthesis for DSP systems including a definition of the problem and a description of some approaches currently being used to solve it. Solution approachs to high level synthesis problems are heuristic-based algorithms, graph-theoretical based algorithms, and integer programming based optimizations. The focus of this chapter is on the later approach. After an introduction to integer programming is presented, two IP models are defined which simultaneously solve several important tasks for DSP architectural synthesis. Results are reported and concluding remarks will be made concerning both models and their impact on this important area of research.

## Keywords

Integer Programming Discrete Cosine Transform Functional Unit Directed Acyclic Graph Integer Programming Problem## Preview

Unable to display preview. Download preview PDF.

## References

- 1.C.H. Gebotys “A Global Optimization Approach to Architectural Synthesis of VLSI Digital Synchronous Systems With Analog and Asynchronous Interfaces,”
*Dept of Electrical & Computer Engineering*,*Univ of Waterloo*,*Waterloo**Ont*,*Canada*,*PhD Thesis*,*(July*1991*)*.Google Scholar - 2.B. Haroun and M. Elmasry
*“*Architectural Synthesis for DSP Silicon Compilers,”*IEEE Transactions on Computer Aided Design of Circuits and Systems*,*CAD8(4)(April*1989).Google Scholar - 3.M. McFarland, A. Parker, and R. Camposano, “Tutorial on High-Level Synthesis,”
*Design Automation Conference*, pp. 330–336 (1988).Google Scholar - 4.M. McFarland, A. Parker, and R. Camposano, “The High Level Synthesis of Digital Systems,”
*Proceedings of IEEE*, 78 pp. 301–318 (1990).CrossRefGoogle Scholar - 5.L.R. Foulds,
*Optimization Techniques: An Introduction*, Springer-Verlag (1981).Google Scholar - 6.C. Tseng and D.P. Siewiorek, “Automated Synthesis of Data Paths in Digital Systems,”
*IEEE Transactions on Computer-Aided Design*, pp. 379–395 (1986).Google Scholar - 7.M.C. Golumbic,
*Algorithmic Graph Theory and Perfect Graphs*,Academic Press (1980).Google Scholar - 8.A. Hashimoto and J. Stevens, “Wire Routing by Optimizing Channel Assignments with Large Apertures,”
*Proc. 8th Design Automation Workshop*, pp. 155–169 (1971).Google Scholar - 9.D.L. Springer and D.E. Thomas, “Exploiting the Special Structure of Conflict and Compatibility Graphs in High Level Synthesis,”
*Int’1 Conf on Computed Aided Design*, pp. 254–257 (1990).Google Scholar - 10.F.J. Kurdahi and A.C. Parker, “REAL: A Program for Register allocation,”
*Design Automation Conference*, pp. 210–215 (1987).Google Scholar - 11.P. Marwedel, “A new Synthesis Algorithm for the MIMOLA software system,”
*Design Automation Conference*, pp. 271–277 (1986).Google Scholar - 12.L. Stok, “Interconnect Optimization During Data Path Allocation,”
*Workshop on High Level Synthesis*, (1989).Google Scholar - 13.GareyandJohnson,
*Computers and Intractability*, Freeman and Co. (1979).Google Scholar - 14.E.G. Coffman,
*Computer and Job Shop Scheduling Theory*, J.Wiley and Sons (1976).Google Scholar - 15.J.D. Ullman, “NP-Complete Scheduling Problems,”
*Journal of Computer and Systems Science*,*10*pp. 384–393 (1975).MathSciNetMATHCrossRefGoogle Scholar - 16.P. Brucker, M.R. Garey, and D.S. Johnson, “Scheduling Equal-Length Tasks Under Treelike Precedence Constraints to Minimize Maximum Lateness,”
*Mathematics of Operations Research*,*2(3)(August*1977).Google Scholar - 17.B.M. Pangrle and D.D. Gajski, “Design Tools for Intelligent Silicon Compilation,”
*IEEE Transactions on Computer-Aided Design*, CAD-6(6) pp. 1098–1112 (1987).CrossRefGoogle Scholar - 18.P.G. Paulin, “Force Directed Scheduling,”
*IEEE Transactions on Computer Aided Design of Circuits and Systems*, 8(6) pp. 661–679 (1989).CrossRefGoogle Scholar - 19.C.H. Papadimitriou and M. Yannakakis, “Analysis of Parallel Algorithms,”
*SIAM*, (1990).Google Scholar - 20.E.L. Lawler,
*Combinatorial Optimization Networks and Matroids*, Holt-RinehartWinston (1976).Google Scholar - 21.V. Sarkar,
*Partitioning and Scheduling Parallel Programs for MultiProcessors*, MIT Press (1989).Google Scholar - 22.L. Hafer and A. Parker, “A Formal Method for the Specification, Analysis and Design of Register-Transfer-Level Digital Logic,”
*IEEE Transactions on Computer Aided Design of Circuits and Systems*, CAD-2(1) pp. 4–17 (Jan 1983).CrossRefGoogle Scholar - 23.K.R. Baker,
*Introduction to Sequencing and Scheduling*, John Wiley & Sons (1974).Google Scholar - 24.J. Lee, Y. Hsu, and Y. Lin, “A New Integer Linear Programming Formulation for the Scheduling Problem in Data Path Synthesis,”
*International Cohference on Computed Aided Design*, pp. 20–23 (1989).Google Scholar - 25.C. Huang, Y. Chen, Y. Lin, and Y. Hsu, “Data Path Allocation Based on Bipartite Weighted Matching,”
*Design Automation Conference*, pp. 499–504 (1990).Google Scholar - 26.S. Devadas and A.R. Newton, “Algorithms for Hardware Allocation in Data Path Synthesis,”
*IEEE Transactions on Computer Aided Design of Circuits and Systems*, 8(7)(July 1989).Google Scholar - 27.G.L. Nemhauser and L.A. Wolsey,
*Integer and Combinatorial Optimization*, Wiley Interscience (1988).Google Scholar - 28.P. Pfahler, “Automated Datapath Synthesis: A Compilation Approach,”
*Processing and Microprogramming*, 21 pp. 577–584 (1987).CrossRefGoogle Scholar - 29.J.A. Nestor and D.E. Thomas, “Behavioral Synthesis with Interfaces,”
*Intl Conf on Computed Aided Design*, (1986).Google Scholar - 30.J.A. Nestor and G. Krishnamoorthy, “SALSA: A New Approach to Scheduling with Timing Constraints,”
*Int’1 Conf on Computed Aided Design*, pp. 262–265 (1990).Google Scholar - 31.C.H. Gebotys and M.I. Elmasry, “Optimal Synthesis of High Performance Architectures,”
*IEEE Journal of Solid-State Circuits*, 27(3) pp. 389–397 (March 1992).CrossRefGoogle Scholar - 32.E.F. Girczyc, R.J.A. Buhr, and J.P. Knight, “Applicability of a Subset of Ada as an Algorithmic Hardware Description Language for Graph-Based Hardware Compilation,”
*IEEE Transactions on Computer-Aided Design*, CAD-4(2) pp. 134–142 (1985).CrossRefGoogle Scholar - 33.N.D. Dutt and D.D. Gajski, “Designer Controlled Behavioral Synthesis,”
*Design Automation Conference*, pp. 754–757 (1990).Google Scholar - 34.D.C. Ku and G. DeMicheli, “Relative Scheduling Under Timing Constraints,” CSL-TR-89–401, Stanford Technical Report (1989a).Google Scholar
- 35.D.C. Ku and G. DeMicheli, “Optimal Synthesis of Control Logic From Behavioral Specifications,” CSL-TR-89–402, Stanford Technical Report (1989b).Google Scholar
- 36.S. Hayati and A. Parker, “Automatic Production of Controller Specifications from Control and Timing Behavioral Descriptions,”
*Design Automation Conference*,pp. 75–80 (1989).Google Scholar - 37.G. Borriello and E. Detjens, “High-Level Synthesis: Current Status and Future Directions,”
*Design Automation Conference*, pp. 477–482 (1988).Google Scholar - 38.Meng and Brodersen, “Asynchronous Circuit Synthesis,”
*IEEE Transactions on CAD*,(1989).Google Scholar - 39.Grossman, “Mixed Integer NonLinear Programming Techniques for the Synthesis of Engineering Systems,” EDRC-6–83–90, Engineering Design Research Center, Carnegie Mellon University (1990).Google Scholar
- 40.Ra and Grossman, “Relation Between MILP Modelling and Logical Inferences for Chemical Process Synthesis,” EDRC-06–87–90, Engineering Design Research Center, Carnegie Mellon University (1990).Google Scholar
- 41.W.F. Clocksin and C.S. Mellish,
*Programming In Prolog*, Springer-Verlag (1984).Google Scholar - 42.A. Brooke, D. Kendricke, and A. Meeraus
*GAMSIMINOS Users Manual*, Scientific Press (1988).Google Scholar - 43.B. Cook, “,” Solving General Integer Programming, Talk at University of Waterloo, Canada (May 1990).Google Scholar
- 44.N. Karmarkar, “An Interior Point Approach to NP-Complete Problems,”
*Integer Programming and Combinatorial Optimization*, pp. 351–366 (May 1990).Google Scholar - 45.G.J. Minty, “On Maximal Independent Sets of Vertices in a Claw-Free Graph,”
*Journal of Combinatorial Theor*y, B28 pp. 284–304 (1980).MathSciNetMATHCrossRefGoogle Scholar - 46.P.L. Hammer, E.L. Johnson, and B.H. Korte,
*Annals of Discrete Mathematics 4*,*Discrete Optimization I*„ North Holland (1979).Google Scholar - 47.M.W. Padberg “Covering, Packing, and Knapsack Problems,”
*pp. 265–287 in**Annals of Discrete Mathematics*, North-Holland (1979).Google Scholar - 48.E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooykan, and D.B. Shmoys
*The Travelling Salesman Problem*,*A Guided Tour of Combinatorial Optimization*, WileyInterscience (1985).Google Scholar - 49.H. Crowder, E.L. Johnson, and M. Padberg, “Solving Large Scale Zero-One Linear Programming Problems,”
*Operations Research*, 31(5) pp. 803–834 (September 1983).MATHCrossRefGoogle Scholar - 50.M. Grotschel, “On the Symmetric Travelling Salesman Problem: Solution of a 120 City Problem,”
*Mathematical Programming Study*, 12 pp. 61–77 (1980).MathSciNetCrossRefGoogle Scholar - 51.M.W. Padberg and S. Hong, “On the Symmetric Travelling Salesman Problem: A computational Study,”
*Mathematical Programming Studies*, 12 pp. 61–77 (1980).MathSciNetCrossRefGoogle Scholar - 52.M.W. Padberg, “On the Facial Structure of Set Packing Polyhedra,”
*Mathematical**Programming*, 5 pp. 199–215 (1973).MathSciNetMATHGoogle Scholar - 53.G.L. Nemhauser and L.E. Trotter, “Properties of Vertex Packing and Independence System Polyhedra,”
*Mathematical Programming*, 6 pp. 48–61 (1974).MathSciNetMATHCrossRefGoogle Scholar - 54.J.A. Bondy and U.S.R. Murty
*Graph Theory with Applications*, North Holland (1976).Google Scholar - 55.Grimmett and Pulleyblank, “Random Near Regular Graphs and the Node Packing Problem,”
*Operations Research Letters*, 4(4)(1985).Google Scholar - 56.C.H. Gebotys and M.I. Elmasry “A Global Optimization Approach to Architectural Synthesis,”
*IEEE International Conference on Computer Aided Design, pp.*258–261 (1990).Google Scholar - 57.C.H. Gebotys and M.I. Elmasry, “Simultaneous Scheduling and Allocation for Cost Constrained Optimal Architectural Synthesis,”
*ACM/IEEE Design Automation Conference*, pp. 2–7 (1991).Google Scholar - 58.E.D. Lagnese
*“*Architectural Partitioning for Systems Level Design of Integrated Circuits,”*CMUCAD-89–27*,*PhD Thesis*, (1989).Google Scholar - 59.C-T. Hwang, Y-C. Hsu, and Y.L. Lin, “Scheduling for Functional Pipelining and Loop Winding,”
*DAC*, pp. 764–769 (1991).Google Scholar - 60.C.H. Gebotys and M.I. Elmasry,
*Optimal VLSI Architectural Synthesis: Area*,*Performance*,*Testability*, Kluwer Academic Press (1992).CrossRefGoogle Scholar - 61.C-T. Hwang, J-H. Lee, and Y-C. Hsu, “A Formal Approach to The Scheduling Problem in High-Level Synthesis,”
*IEEE Transactions on Computer Aided Design of IC and Systems*, 10(4) pp. 464–475 (1991).CrossRefGoogle Scholar - 62.C.H. Gebotys, “Synthesizing Embedded Speed-Optimized Architectures,”
*IEEE Custom Integrated Circuits Conference*, (1992).Google Scholar - 63.C.H. Gebotys, “Optimal Scheduling and Allocation of Embedded VLSI Chips,”
*ACM/IEEE Design Automation Conference*,pp. 116–119 (1992).Google Scholar - 64.F. Depuydt, G. Goossens, J. Van Meerbergen, F. Catthoor, and H. DeMan, “Scheduling of Large Scale Signal Flow Graphs based on Metric Graph Clustering,”
*IFIP Conference on High Level Architectural Synthesis and Logic Synthesis*, (1990).Google Scholar - 65.C.H. Gebotys, “Optimal Synthesis of Multi-Chip Architectures,”
*IEEE ICCAD*,(1992).Google Scholar - 66.
*.*C.H. Gebotys, “Optimal Synthesis of MultiChip Architectures,”*Tech.Rept.UW/VLSI 92-01*,*VLSI Group*,*Univ.of Waterloo*,*(1992).*CrossRefGoogle Scholar - 67.
*.*C.H. Gebotys, “Optimal Loop Winding Using An IP Approach,”*Tech.Rept.UW/VLSI 92-02*,*VLSI Group*,*Univ.of Waterloo*,*(1992).*Google Scholar