Synthesizing Optimal Application-Specific DSP Architectures

  • Catherine H. Gebotys
Part of the The Springer International Series in Engineering and Computer Science book series (SECS, volume 257)


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.


Integer Programming Discrete Cosine Transform Functional Unit Directed Acyclic Graph Integer Programming Problem 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 2.
    B. Haroun and M. ElmasryArchitectural Synthesis for DSP Silicon Compilers,” IEEE Transactions on Computer Aided Design of Circuits and Systems, CAD8(4)(April 1989).Google Scholar
  3. 3.
    M. McFarland, A. Parker, and R. Camposano, “Tutorial on High-Level Synthesis,” Design Automation Conference, pp. 330–336 (1988).Google Scholar
  4. 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. 5.
    L.R. Foulds, Optimization Techniques: An Introduction, Springer-Verlag (1981).Google Scholar
  6. 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. 7.
    M.C. Golumbic, Algorithmic Graph Theory and Perfect Graphs,Academic Press (1980).Google Scholar
  8. 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. 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. 10.
    F.J. Kurdahi and A.C. Parker, “REAL: A Program for Register allocation,” Design Automation Conference, pp. 210–215 (1987).Google Scholar
  11. 11.
    P. Marwedel, “A new Synthesis Algorithm for the MIMOLA software system,” Design Automation Conference, pp. 271–277 (1986).Google Scholar
  12. 12.
    L. Stok, “Interconnect Optimization During Data Path Allocation,” Workshop on High Level Synthesis, (1989).Google Scholar
  13. 13.
    GareyandJohnson, Computers and Intractability, Freeman and Co. (1979).Google Scholar
  14. 14.
    E.G. Coffman, Computer and Job Shop Scheduling Theory, J.Wiley and Sons (1976).Google Scholar
  15. 15.
    J.D. Ullman, “NP-Complete Scheduling Problems,” Journal of Computer and Systems Science, 10 pp. 384–393 (1975).MathSciNetMATHCrossRefGoogle Scholar
  16. 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. 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. 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. 19.
    C.H. Papadimitriou and M. Yannakakis, “Analysis of Parallel Algorithms,” SIAM, (1990).Google Scholar
  20. 20.
    E.L. Lawler, Combinatorial Optimization Networks and Matroids, Holt-RinehartWinston (1976).Google Scholar
  21. 21.
    V. Sarkar, Partitioning and Scheduling Parallel Programs for MultiProcessors, MIT Press (1989).Google Scholar
  22. 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. 23.
    K.R. Baker, Introduction to Sequencing and Scheduling, John Wiley & Sons (1974).Google Scholar
  24. 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. 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. 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. 27.
    G.L. Nemhauser and L.A. Wolsey, Integer and Combinatorial Optimization, Wiley Interscience (1988).Google Scholar
  28. 28.
    P. Pfahler, “Automated Datapath Synthesis: A Compilation Approach,” Processing and Microprogramming, 21 pp. 577–584 (1987).CrossRefGoogle Scholar
  29. 29.
    J.A. Nestor and D.E. Thomas, “Behavioral Synthesis with Interfaces,” Intl Conf on Computed Aided Design, (1986).Google Scholar
  30. 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. 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. 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. 33.
    N.D. Dutt and D.D. Gajski, “Designer Controlled Behavioral Synthesis,” Design Automation Conference, pp. 754–757 (1990).Google Scholar
  34. 34.
    D.C. Ku and G. DeMicheli, “Relative Scheduling Under Timing Constraints,” CSL-TR-89–401, Stanford Technical Report (1989a).Google Scholar
  35. 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. 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. 37.
    G. Borriello and E. Detjens, “High-Level Synthesis: Current Status and Future Directions,” Design Automation Conference, pp. 477–482 (1988).Google Scholar
  38. 38.
    Meng and Brodersen, “Asynchronous Circuit Synthesis,” IEEE Transactions on CAD,(1989).Google Scholar
  39. 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. 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. 41.
    W.F. Clocksin and C.S. Mellish, Programming In Prolog, Springer-Verlag (1984).Google Scholar
  42. 42.
    A. Brooke, D. Kendricke, and A. MeerausGAMSIMINOS Users Manual, Scientific Press (1988).Google Scholar
  43. 43.
    B. Cook, “,” Solving General Integer Programming, Talk at University of Waterloo, Canada (May 1990).Google Scholar
  44. 44.
    N. Karmarkar, “An Interior Point Approach to NP-Complete Problems,” Integer Programming and Combinatorial Optimization, pp. 351–366 (May 1990).Google Scholar
  45. 45.
    G.J. Minty, “On Maximal Independent Sets of Vertices in a Claw-Free Graph,” Journal of Combinatorial Theory, B28 pp. 284–304 (1980).MathSciNetMATHCrossRefGoogle Scholar
  46. 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. 47.
    M.W. Padberg “Covering, Packing, and Knapsack Problems,” pp. 265–287 in Annals of Discrete Mathematics, North-Holland (1979).Google Scholar
  48. 48.
    E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooykan, and D.B. ShmoysThe Travelling Salesman Problem, A Guided Tour of Combinatorial Optimization, WileyInterscience (1985).Google Scholar
  49. 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. 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. 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. 52.
    M.W. Padberg, “On the Facial Structure of Set Packing Polyhedra,” Mathematical Programming, 5 pp. 199–215 (1973).MathSciNetMATHGoogle Scholar
  53. 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. 54.
    J.A. Bondy and U.S.R. MurtyGraph Theory with Applications, North Holland (1976).Google Scholar
  55. 55.
    Grimmett and Pulleyblank, “Random Near Regular Graphs and the Node Packing Problem,” Operations Research Letters, 4(4)(1985).Google Scholar
  56. 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. 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. 58.
    E.D. LagneseArchitectural Partitioning for Systems Level Design of Integrated Circuits,” CMUCAD-89–27, PhD Thesis, (1989).Google Scholar
  59. 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. 60.
    C.H. Gebotys and M.I. Elmasry, Optimal VLSI Architectural Synthesis: Area, Performance,Testability, Kluwer Academic Press (1992).CrossRefGoogle Scholar
  61. 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. 62.
    C.H. Gebotys, “Synthesizing Embedded Speed-Optimized Architectures,” IEEE Custom Integrated Circuits Conference, (1992).Google Scholar
  63. 63.
    C.H. Gebotys, “Optimal Scheduling and Allocation of Embedded VLSI Chips,” ACM/IEEE Design Automation Conference,pp. 116–119 (1992).Google Scholar
  64. 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. 65.
    C.H. Gebotys, “Optimal Synthesis of Multi-Chip Architectures,” IEEE ICCAD,(1992).Google Scholar
  66. 66.
    . C.H. Gebotys, “Optimal Synthesis of MultiChip Architectures,” Tech.Rept.UW/VLSI 92-01,VLSI Group,Univ.of Waterloo, (1992). CrossRefGoogle Scholar
  67. 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

Copyright information

© Springer Science+Business Media New York 1994

Authors and Affiliations

  • Catherine H. Gebotys
    • 1
  1. 1.Department of Electrical and Computer EngineeringUniversity of WaterlooWaterlooUSA

Personalised recommendations