Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

SpecSyn: an environment supporting the specify-explore-refine paradigm for hardware/software system design

Published: 01 March 1998 Publication History

Abstract

System-level design issues are gaining increasing attention, as behavioral synthesis tools and methodologies mature. We present the SpecSyn system-level design environment, which supports the new specify-explore-refine (SER) design paradigm. This three-step approach to design includes precise specification of system functionality, rapid exploration of numerous systemlevel design options, and refinement of the specification into one reflecting the chosen option. A system-level design option consists of an allocation of system components, such as standard and custom processors, memories, and buses, and a partitioning of functionality among those components. After refinement, the functionality assigned to each component can then be synthesized to hardware or compiled to software. We describe the issues and approaches for each part of the SpecSyn environment. The new paradigm and environment are expected to lead to a more than ten times reduction in design time, and our experiments support this expectation.

References

[1]
D. D. Gajski, N. D. Dutt, C. H. Wu, and Y. L. Lin, High-Level Synthesis: Introduction to Chip and System Design. Boston, MA: Kluwer-Academic, 1991.
[2]
J. Vanhoof, K. VanRompaey, I. Bolsens, and H. DeMan, High-level Synthesis for Real-Time Digital Signal Processing. Boston, MA: Kluwer-Academic, 1993.
[3]
G. DeMicheli, A. Sangiovanni-Vincentelli, and P. Antognetti, Design Systems for VLSI Circuits: Logic Synthesis and Silicon Compilation. Amsterdam, The Netherlands: Martinus Nijhoff, 1987.
[4]
C. A. R. Hoare, "Communicating sequential processes," Commun. ACM, vol. 21, no. 8, pp. 666-677, 1978.
[5]
D. Harel, H. Lachover, A. Naamad, A. Pnueli, M. Politi, R. Sherman, and A. Shtul-Trauring, "STATEMATE: A working environment for the development of complex reactive systems," in Proc. Int. Conf. Software Eng., 1988, pp. 396-406.
[6]
F. Vahid, S. Narayan, and D. Gajski, "SpecCharts: A VHDL front-end for embedded systems," IEEE Trans. Comput., pp. 694-706, 1995
[7]
E. Lee and D. Messerschmitt, "Synchronous data flow," Proc. IEEE, vol. 75, pp. 1235-1245, Sept. 1987.
[8]
D. D. Gajski, F. Vahid, S. Narayan, and J. Gong, Specification and Design of Embedded Systems. Englewood Cliffs, NJ: Prentice-Hall, 1994.
[9]
F. Vahid, "Procedure exlining: A transformation for improved system and behavioral synthesis," in Proc. Int. Symp. Syst. Synthesis, 1995, pp. 84-89.
[10]
F. Vahid, "Procedure cloning: A transformation for improved system-level functional partitioning," in Proc. European Design Test Conf. (EDTC), 1997, pp. 487-492.
[11]
J. Gong, D. Gajski, and S. Narayan, "Software estimation using a generic processor model," in Proc. European Design Test Conf. (EDTC), 1995, pp. 498-502.
[12]
R. Ernst, J. Henkel, and T. Benner, "Hardware-software cosynthesis for microcontrollers," IEEE Design Test Comput., pp. 64-75, Dec. 1994.
[13]
R. Gupta and G. DeMicheli, "Hardware-software cosynthesis for digital systems," IEEE Design Test Comput., pp. 29-41, Oct. 1993.
[14]
M. C. McFarland and T. J. Kowalski, "Incorporating bottom-up design into hardware synthesis," IEEE Trans. Comput., pp. 938-950, Sept. 1990.
[15]
E. D. Lagnese and D. E. Thomas, "Architectural partitioning for system level synthesis of integrated circuits," IEEE Trans. Comput., vol. 10, pp. 847-860, July 1991.
[16]
C. H. Gebotys, "An optimization approach to the synthesis of multichip architectures," IEEE Trans. VLSI Syst., vol. 2, pp. 11-20, Mar. 1994.
[17]
Y. Y. Chen, Y. C. Hsu, and C. T. King, "MULTIPAR: Behavioral partition for synthesizing multiprocessor architectures," IEEE Trans. VLSI Syst., vol. 2, pp. 21-32, Mar. 1994.
[18]
K. Kucukcakar and A. Parker, "CHOP: A constraint-driven system-level partitioner," in Proc. Design Automation Conf., 1991, pp. 514-519.
[19]
R. Gupta and G. DeMicheli, "Partitioning of functional models of synchronous digital systems," in Proc. Int. Conf. Computer-Aided Design, 1990, pp. 216-219.
[20]
P. Eles, Z. Peng, K. Kuchcinski, and A. Doboli, "Hardware-software partitioning with iterative improvement heuristics," in Proc. Int. Symp. Syst. Synthesis, 1996, pp. 71-76.
[21]
F. Vahid and D. Gajski, "Specification partitioning for system design," in Proc. Design Automation Conf., 1992, pp. 219-224.
[22]
F. Vahid, T. D. M. Le, and Y. C. Hsu, "A comparison of functional and structural partitioning," in Proc. Int. Symp. Syst. Synthesis, 1996, pp. 121-126.
[23]
X. Xiong, E. Barros, and W. Rosentiel, "A method for partitioning UNITY language in hardware and software," in Proc. European Design Automation Conf. (EuroDAC), 1994.
[24]
F. Vahid, J. Gong, and D. D. Gajski, "A binary-constraint search algorithm for minimizing hardware during hardware-software partitioning," in Proc. European Design Automation Conf. (EuroDAC), 1994, pp. 214-219.
[25]
P. Eles, Z. Peng, and A. Doboli, "VHDL system-level specification and partitioning in a hardware/software co-synthesis environment," in Proc. Int. Workshop on Hardware-Software Co-Design, 1992, pp. 49-55.
[26]
A. Kalavade and E. A. Lee, "A global criticality/local phase driven algorithm for the constrained hardware/software partitioning problem," in Proc. Int. Workshop on Hardware-Software Co-Design, 1994, pp. 42-48.
[27]
J. G. D'Ambrosio and X. Hu, "Configuration-level hardware/software partitioning for real-time embedded systems," in Proc. Int. Workshop Hardware-Software Co-Design, 1994, pp. 34-41.
[28]
F. Vahid and D. D. Gajski, "Clustering for improved system-level functional partitioning," in Proc. Int. Symp. Syst. Synthesis, 1995, pp. 28-33.
[29]
D. D. Gajski and F. Vahid, "Specification and design of embedded hardware-software systems," IEEE Design Test Comput., vol. 12, pp. 53-67, 1995.
[30]
J. V. Rajan and D. E. Thomas, "Synthesis by delayed binding of decisions," in Proc. Design Automation Conf., 1985.
[31]
F. Vahid and D. Gajski, "Incremental hardware estimation during hardware/software functional partitioning," IEEE Trans. VLSI Syst., vol. 3, pp. 459-464, Sept. 1995.
[32]
J. W. Hagerman and D. E. Thomas, "Process transformation for system level synthesis," Tech. Rep. CMUCAD-93-08, 1993.
[33]
R. A. Walker and D. E. Thomas, "Behavioral transformation for algorithmic level IC design," IEEE Trans. Comput., pp. 1115-1128, Oct. 1989.
[34]
A. Nicolau and R. Potasman, "Incremental tree height reduction for high level synthesis," in Proc. Design Automation Conf., 1991, pp. 770-774.
[35]
M. Girkar and C. D. Polychronopoulos, "Automatic extraction of functional parallelism from ordinary programs," IEEE Trans. Parallel Distrib. Syst., pp. 166-178, 1992.
[36]
F. Vahid, "Port calling: A transformation for reducing I/O during multipackage functional partitioning," in Int. Symp. Syst. Synthesis, 1997.
[37]
S. Narayan and D. D. Gajski, "Synthesis of system-level bus interfaces," in Proc. European Conf. Design Automation (EDAC), 1994.
[38]
S. Narayan and D. D. Gajski, "Protocol generation for communication channels," in Proc. Design Automation Conf., 1994, pp. 547-551.
[39]
G. Borriello and R. H. Katz, "Synthesis and optimization of interface transducer logic," in Proc. Int. Conf. Computer-Aided Design, 1987.
[40]
J. Akella and K. McMillan, "Synthesizing converters between finite state protocols," in Proc. Int. Conf. Computer Design, 1991.
[41]
J. S. Sun and R. W. Brodersen, "Design of system interface modules," in Proc. Int. Conf. Computer-Aided Design, 1992, pp. 478-481.
[42]
D. Becker, R. K. Singh, and S. G. Tell, "An engineering environment for hardware/software co-simulation," in Proc. Design Automation Conf., 1992, pp. 129-134.
[43]
R. Gupta, C. N. Coelho, and G. DeMicheli, "Synthesis and simulation of digital systems containing interacting hardware and software components," in Proc. Design Automation Conf., 1992, pp. 225-230.
[44]
A. Kalavade and E. A. Lee, "A hardware/software codesign methodology for DSP applications," IEEE Design Test Comput., 1993.
[45]
S. Sutarwala and P. Paulin, "Flexible modeling environment for embedded systems design," in Proc. Int. Workshop Hardware-Software Co-Design, 1994, pp. 124-130.
[46]
J. Gong, D. Gajski, and S. Bakshi, "Model refinement for hardwaresoftware codesign," in Proc. European Design Test Conf. (EDTC), 1996.
[47]
L. Ramachandran, D. D. Gajski, S. Narayan, F. Vahid, and P. Fung, "Toward achieving a 100-hour design cycle: A test case," in Proc. European Design Automation Conf. (EuroDAC), 1994, pp. 144-149.
[48]
A. Balboni, W. Fornaciari, and D. Sciuto, "Partitioning and exploration strategies in the TOSCA co-design flow," in Proc. Int. Workshop Hardware-Software Co-Design, 1993, pp. 62-69.
[49]
S. Antoniazzi, A. Balboni, W. Fornaciari, and D. Sciuto, "A methodology for control-dominated systems codesign," in Proc. Int. Workshop Hardware-Software Co-Design, 1994, pp. 2-9.
[50]
W. H. Wolf, "Hardware-software co-design of embedded systems," Proc. IEEE, vol. 82, pp. 967-989, July 1994.
[51]
S. Bakshi and D. D. Gajski, "A component selection algorithm for highperformance pipelines," in Proc. European Design Automation Conf. (EuroDAC), 1994, pp. 400-405.
[52]
S. Bakshi and D. D. Gajski, "A memory selection algorithm for highperformance pipelines," in Proc. European Design Automation Conf. (EuroDAC), 1994, pp. 124-129.

Cited By

View all
  • (2020)Accelerating a Classic 3D Video Game on Heterogeneous Reconfigurable MPSoCsApplied Reconfigurable Computing. Architectures, Tools, and Applications10.1007/978-3-030-44534-8_11(136-150)Online publication date: 1-Apr-2020
  • (2016)Fuzzy logic based energy and throughput aware design space exploration for MPSoCsMicroprocessors & Microsystems10.1016/j.micpro.2015.08.00140:C(113-123)Online publication date: 1-Feb-2016
  • (2015)Towards closing the specification gap by integrating algorithm-level and system-level designDesign Automation for Embedded Systems10.1007/s10617-015-9161-119:4(389-419)Online publication date: 1-Dec-2015
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image IEEE Transactions on Very Large Scale Integration (VLSI) Systems
IEEE Transactions on Very Large Scale Integration (VLSI) Systems  Volume 6, Issue 1
March 1998
179 pages

Publisher

IEEE Educational Activities Department

United States

Publication History

Published: 01 March 1998
Revised: 03 July 1996
Received: 17 March 1995

Author Tags

  1. embedded systems
  2. estimation
  3. exploration
  4. hardware/software codesign
  5. hierarchical modeling methodology
  6. partitioning
  7. refinement
  8. specification
  9. system design

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2020)Accelerating a Classic 3D Video Game on Heterogeneous Reconfigurable MPSoCsApplied Reconfigurable Computing. Architectures, Tools, and Applications10.1007/978-3-030-44534-8_11(136-150)Online publication date: 1-Apr-2020
  • (2016)Fuzzy logic based energy and throughput aware design space exploration for MPSoCsMicroprocessors & Microsystems10.1016/j.micpro.2015.08.00140:C(113-123)Online publication date: 1-Feb-2016
  • (2015)Towards closing the specification gap by integrating algorithm-level and system-level designDesign Automation for Embedded Systems10.1007/s10617-015-9161-119:4(389-419)Online publication date: 1-Dec-2015
  • (2013)Near-Optimal Microprocessor and Accelerators Codesign with Latency and Throughput ConstraintsACM Transactions on Architecture and Code Optimization10.1145/2459316.245931710:2(1-25)Online publication date: 1-May-2013
  • (2011)A Model-Driven Design Framework for Massively Parallel Embedded SystemsACM Transactions on Embedded Computing Systems10.1145/2043662.204366310:4(1-36)Online publication date: 1-Nov-2011
  • (2009)Design and implementation of a MicroBlaze-based warp processorACM Transactions on Embedded Computing Systems10.1145/1509288.15092948:3(1-22)Online publication date: 22-Apr-2009
  • (2009)Float-to-fixed and fixed-to-float hardware converters for rapid hardware/software partitioning of floating point software applications to static and dynamic fixed point coprocessorsDesign Automation for Embedded Systems10.1007/s10617-009-9044-413:3(139-157)Online publication date: 1-Sep-2009
  • (2008)Scalability and parallel execution of warp processingInternational Journal of Parallel Programming10.5555/1515858.151586136:5(478-492)Online publication date: 1-Oct-2008
  • (2008)Hardware/software partitioning of floating point software applications to fixed-pointed coprocessor circuitsProceedings of the 6th IEEE/ACM/IFIP international conference on Hardware/Software codesign and system synthesis10.1145/1450135.1450148(49-54)Online publication date: 19-Oct-2008
  • (2008)Exploring Partitions Based on Search Space Smoothing for Heterogeneous Multiprocessor SystemIEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences10.1093/ietfec/e91-a.9.2456E91-A:9(2456-2464)Online publication date: 1-Sep-2008
  • Show More Cited By

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media