Skip to main content
Log in

DesertFD: a finite-domain constraint based tool for design space exploration

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

As the complexity of computer based systems increases, designers are faced with the task of balancing a variety of design choices and parameters against conflicting optimization criteria. Design space exploration seeks to automate or partially automate the process of evaluating tradeoff decisions at design time. DesertFD is a domain-independent design space exploration tool which facilitates the representation and pruning of a design space using constraint satisfaction. DesertFD offers a formal tree-based view of a family of systems related through common structure, together with a flexible scripting language for modeling mathematical expressions governing property composition. User-specified constraints applied to the design space representation result in a pruning of the space. We discuss the reduction of the design space, property composition formulas and constraints into a constraint satisfaction problem using finite domain constraints. We examine two example design space exploration problems to evaluate DesertFD: the generation of a high level custom computer architecture for supporting H.264-based motion estimation, and the reliability-driven mapping of tasks to distributed embedded control units in a steer-by-wire automotive application.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Ascia G, Catania V, Palesi M (2005) A multi-objective genetic approach for system-level exploration in parameterized systems-on-a-chip. IEEE Trans Comput-Aided Des Integr Circuits Syst 24(4):635–645

    Article  Google Scholar 

  2. Bakshi A, Prasanna VK, Ledeczi A (2001) MILAN: A model based integrated simulation framework for design of embedded systems. In: LCTES ’01: proceedings of the ACM SIGPLAN workshop on languages, compilers and tools for embedded systems. ACM, New York, pp 82–93

    Chapter  Google Scholar 

  3. Balarin F, Watanabe Y, Hsieh H, Lavagno L, Passerone C, Sangiovanni-Vincentelli A (2003) Metropolis: an integrated electronic system design environment. Computer 36(4):45–52

    Article  Google Scholar 

  4. Bapty T, Neema S, Scott J, Sztipanovits J, Asaad S (2000) Model-integrated tools for the design of dynamically reconfigurable systems. VLSI Des 10(3):281–306

    Article  Google Scholar 

  5. Bazargan K, Kastner R, Sarrafzadeh M (2000) 3-D floorplanning: simulated annealing and greedy placement methods for reconfigurable computing systems. Des Autom Embed Syst 5:329–338

    Article  Google Scholar 

  6. Bleuler S, Laumanns M, Thiele L, Zitzler E (2003) PISA: a platform and programming language independent interface for search algorithms. In: EMO, pp 494–508

  7. Blickle T, Teich J, Thiele L (1998) System-level synthesis using evolutionary algorithms. Des Autom Embed Syst 3:23–58

    Article  Google Scholar 

  8. Bryant R (1986) Graph-based algorithms for boolean function manipulation. IEEE Trans Comput C 35(8):677–691

    Article  MATH  Google Scholar 

  9. Burns A, Wellings A (2001) Real-time systems and programming languages, 3rd edn. Addison Wesley, Longmain

    Google Scholar 

  10. Densmore D, Passerone R, Sangiovanni-Vincentelli A (2006) A platform-based taxonomy for ESL design. IEEE Des Test 23(5):359–374

    Article  Google Scholar 

  11. Eames B (2006) On the use of DesertFD as a reconfiguration engine for embedded systems. In IEEE mountain workshop on adaptive and learning systems, pp 127–132

  12. Fonseca C, Fleming P (1995) An overview of evolutionary algorithms in multiobjective optimization. Evolut Comput 3(1):1–16

    Article  Google Scholar 

  13. Fornaciari W, Sciuto D, Silvano C, Zaccaria V (2002) A sensitivity-based design space exploration methodology for embedded systems. Des Autom Embed Syst 7:7–33

    Article  MATH  Google Scholar 

  14. Givargis T, Vahid F (2002) Platune: a tuning framework for system-on-a-chip platforms. IEEE Trans Comput-Aided Des Integr Circuits Syst 21(11):1317–1327

    Article  Google Scholar 

  15. Glover F, Taillard E (1993) D. de Werra. A user’s guide to tabu search. Ann Oper Res 41:3–28

    Article  MATH  Google Scholar 

  16. Gries M (2004) Methods for evaluating and covering the design space during early design development. Integr VLSI J 38:131–183

    Article  Google Scholar 

  17. Hamann A, Jersak M, Richter K, Ernst R (2004) Design space exploration and system optimization with SymTA/S symbolic timing analysis for systems. In: RTSS ’04: Proceedings of the 25th IEEE International Real-Time Systems Symposium. IEEE Computer Society, Washington, pp 469–478

    Chapter  Google Scholar 

  18. Kaul M, Vemuri R (2000) Design-space exploration for block-processing based temporal partitioning of run-time reconfigurable systems. J VLSI Signal Process Syst Signal Image Video Technol 24(2–3):181–209

    Google Scholar 

  19. Kirkpatrick S, Gelatt C, Vecchi M (1983) Optimization by simulated annealing. Science 220(4598):671–680

    Article  MathSciNet  Google Scholar 

  20. Koga T, Iinuma K, Hirano A, Iijima Y, Ishiguro T (1981) Motion-compensated interframe coding for video conferencing. In: Proceedings of IEEE NTC, pp G5.3.1–G5.3.5

  21. Kogekar S, Neema S, Eames B, Koutsoukos X, Ledeczi A, Maroti M (2004) Constraint-guided dynamic reconfiguration in sensor networks. In: Information processing in sensor networks, Berkeley, CA, pp 379–387

  22. Kuchcinski K (2001) Constraints-driven design space exploration for distributed embedded systems. J Syst Arch 47(3-4):241–261

    Article  Google Scholar 

  23. Kuchcinski K (2003) Constraints-driven scheduling and resource assignment. ACM Trans Des Autom Electron Syst 8(3):355–383

    Article  Google Scholar 

  24. Liu CL, Layland J (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM 20(1):46–61

    Article  MathSciNet  MATH  Google Scholar 

  25. Magyari E, Bakay A, Lang A, Paka T, Vizhanyo A, Agrawal A, Karsai G (2003) UDM: an infrastructure for implementing domain-specific modeling languages. In: Proceedings of the 3rd OOPSLA workshop on domain specific modeling, Anaheim, CA

  26. Marriott K, Stukey P (1998) Programming with constraints. MIT Press, Cambridge

    MATH  Google Scholar 

  27. Mohanty S, Prasanna VK (2007) A model-based extensible framework for efficient application design using FPGA. ACM Trans Des Autom Electron Syst 12(2):13

    Article  Google Scholar 

  28. Mouhoub RB, Hammami O (2006) Multiprocessor on chip: beating the simulation wall through multiobjective design space exploration with direct execution. In: IPDPS

  29. http://www.mozart-oz.org/, May 2003

  30. Neema S (2001) System-level synthesis of adaptive computing systems PhD dissertation, Vanderbilt University

  31. Neema S, Sztipanovits J, Karsai G, Butts K (2003) Constraint-based design-space exploration and model synthesis. Embed Softw Proc 2855:290–305

    Article  Google Scholar 

  32. Nikolov H, Stefanov T, Deprettere E (2008) Systematic and automated multiprocessor system design, programming, and implementation. IEEE Trans Comput-Aided Des Integr Circuits Syst 27(3):542–555

    Article  Google Scholar 

  33. Object constraint language specification, version 1.1. Technical report, Object Management Group, September 1997

  34. Prakash S, Parker A (1991) Synthesis of application-specific multiprocessor architectures. In: Proceedings of the Design Automation Conference. ACM Press, San Francisco, pp 8–13

    Google Scholar 

  35. Hamann A, Racu R, Ernst R (2007) Automotive system optimization using sensitivity analysis. In: IFIP international federation for information processing, vol 231. Springer, Boston, pp 57–70

    Google Scholar 

  36. Saraswat R, Eames B (2008) On the use of DesertFD to generate custom architectures for H.264 motion estimation. In: Proceedings of the 15th annual conference and workshop on the engineering of computer based systems (ECBS)

  37. Schild K, Wurtz J (1998) Off-line scheduling of a real-time system. In: ACM symposium on applied computing. ACM Press, Atlanta, pp 29–38

    Google Scholar 

  38. Schrijver A (1986) Theory of linear and integer programming. Wiley, New York

    MATH  Google Scholar 

  39. Wang G, Gong W, DeRenzi B, Kastner R (2006) Design space exploration using time and resource duality with the ant colony optimization. In: DAC ’06: proceedings of the 43rd annual conference on design automation. ACM, New York, pp 451–454

    Chapter  Google Scholar 

  40. Wang G, Gong W, DeRenzi B, Kastner R (2007) Ant colony optimizations for resource- and timing-constrained operation scheduling. IEEE Trans Comput-Aided Des Integr Circuits Syst 26(6):1010–1029

    Article  Google Scholar 

  41. Wiegand T, Sullivan GJ, Bjontegaard G, Luthra A (2003) Overview of the H.264/AVC video coding standard. IEEE Trans Circuits Syst Video Technol 13:560–574

    Article  Google Scholar 

  42. Wurtz J (1996) Oz scheduler: A workbench for scheduling problems. In: IEEE international conference on tools with artificial intelligence. IEEE Computer Society Press, Toulouse, pp 132–139

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Brandon K. Eames.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Eames, B.K., Neema, S.K. & Saraswat, R. DesertFD: a finite-domain constraint based tool for design space exploration. Des Autom Embed Syst 14, 43–74 (2010). https://doi.org/10.1007/s10617-009-9049-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-009-9049-z

Navigation