Perfecto: A systemc-based design-space exploration framework for dynamically reconfigurable architectures

To cope with increasing demands for higher computational power and greater system flexibility, dynamically and partially reconfigurable logic has started to play an important role in embedded systems and systems-on-chip (SoC). However, when using traditional design methods and tools, it is difficult to estimate or analyze the performance impact of including such reconfigurable logic devices into a system design. In this work, we present a system-level framework, called Perfecto, which is able to perform rapid exploration of different reconfigurable design alternatives and to detect system performance bottlenecks. This framework is based on the popular IEEE standard system-level design language SystemC, which is supported by most EDA and ESL tools. Given an architecture model and an application model, Perfecto uses SystemC transaction-level models (TLMs) to simulate the system design alternatives automatically. Different hardware-software copartitioning, coscheduling, and placement algorithms can be embedded into the framework for analysis; thus, Perfecto can also be used to design the algorithms to be used in an operating system for reconfigurable systems. Applications to a simple illustration example and a network security system have shown how Perfecto helps a designer make intelligent partition decisions, optimize system performance, and evaluate task placements.

[1]  Wayne Luk,et al.  Evaluation of SystemC modelling of reconfigurable embedded systems , 2005, Design, Automation and Test in Europe.

[2]  Chun-Hsian Huang,et al.  Hardware task scheduling and placement in operating systems for dynamically reconfigurable SoC , 2009, J. Embed. Comput..

[3]  Patrick Schaumont,et al.  A Hardware-Software Partitioning and Scheduling Algorithm for Dynamically Reconfigurable Embedded Systems , 2000 .

[4]  Wayne H. Wolf,et al.  TGFF: task graphs for free , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[5]  Javier Resano,et al.  Specific scheduling support to minimize the reconfiguration overhead of dynamically reconfigurable hardware , 2004, Proceedings. 41st Design Automation Conference, 2004..

[6]  Kostas Masselos,et al.  SystemC and OCAPI-xl Based System-Level Design for Reconfigurable Systems-on-Chip , 2004, FDL.

[7]  Juanjo Noguera,et al.  System-level power-performance trade-offs in task scheduling for dynamically reconfigurable architectures , 2003, CASES '03.

[8]  Pao-Ann Hsiung,et al.  Hardware Task Scheduling and Placement in Operating Systems for Dynamically Reconfigurable SoC , 2005, EUC.

[9]  Marco Platzner,et al.  Operating systems for reconfigurable embedded platforms: online scheduling of real-time tasks , 2004, IEEE Transactions on Computers.

[10]  Sarma B. K. Vrudhula,et al.  Hardware-software bipartitioning for dynamically reconfigurable systems , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[11]  Pao-Ann Hsiung,et al.  UML-Based Design Flow and Partitioning Methodology for Dynamically Reconfigurable Computing Systems , 2005, EUC.

[12]  Yang Qu,et al.  System-Level Modeling of Dynamically Reconfigurable Co-processors , 2004, FPL.

[13]  Scott Hauck,et al.  Reconfigurable computing: a survey of systems and software , 2002, CSUR.

[14]  Pao-Ann Hsiung,et al.  Multi-objective Placement of Reconfigurable Hardware Tasks in Real-Time System , 2009, 2009 International Conference on Computational Science and Engineering.

[15]  B. Earl Wells,et al.  Task Scheduling in a Finite-Resource, Reconfigurable Hardware/Software Codesign Environment , 2006, INFORMS J. Comput..

[16]  Pao-Ann Hsiung,et al.  Exploiting Hardware and Software Low power Techniques for Energy Efficient Co-Scheduling in Dynamically Reconfigurable Systems , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[17]  Malgorzata Marek-Sadowska,et al.  Partitioning Sequential Circuits on Dynamically Reconfigurable FPGAs , 1999, IEEE Trans. Computers.

[18]  Pao-Ann Hsiung,et al.  Energy efficient co-scheduling in dynamically reconfigurable systems , 2007, 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[19]  Malgorzata Marek-Sadowska,et al.  Partitioning sequential circuits on dynamically reconfiguable FPGAs , 1998, FPGA '98.

[20]  Kostas Masselos,et al.  System-level modeling of dynamically reconfigurable hardware with SystemC , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[21]  Diederik Verkest,et al.  Design of Cam-E-leon, a Run-Time Reconfigurable Web Camera , 2002, Embedded Processor Design Challenges.

[22]  Robert K. Brayton,et al.  HW/SW partitioning and code generation of embedded control applications on a reconfigurable architecture platform , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[23]  Steven Trimberger,et al.  Scheduling designs into a time-multiplexed FPGA , 1998, FPGA '98.