A runtime adaptive controller for supporting hardware components with variable latency

Nowadays, the design of hardware cores has to necessarily deal with unpredictable components, due to process variation or to the interaction with external modules (e.g., memories, sensors, IP cores). Adaptive systems are, thus, one of the most important solutions to substitute traditional approaches, based on analysis at design time, especially in critical environments. In this paper, we present an innovative lightweight controller architecture able to automatically adjust its behavior at run-time. It interacts with the surrounding environment by means of a simple token-based communication schema. We examine the capabilities of the proposed architectural model to adapt its behavior during the execution, compared to classical ones, such as the finite state machine.

[1]  Reinaldo A. Bergamaschi,et al.  Behavioral network graph: unifying the domains of high-level and logic synthesis , 1999, DAC '99.

[2]  Yuan Xie,et al.  Tolerating process variations in high-level synthesis using transparent latches , 2009, 2009 Asia and South Pacific Design Automation Conference.

[3]  David Blaauw,et al.  Statistical Analysis and Optimization for VLSI: Timing and Power , 2005, Series on Integrated Circuits and Systems.

[4]  Erik L. Dagless,et al.  Synchronous parallel controller synthesis from behavioural multiple-process VHDL description , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

[5]  Emmanuel Casseau,et al.  High-Level Synthesis for Designing Multimode Architectures , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  Srinivas Devadas,et al.  Decomposition and factorization of sequential finite state machines , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[7]  Erik L. Dagless,et al.  Parallel controller synthesis from a Petri net specification , 1994, EURO-DAC '94.

[8]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[9]  Niraj K. Jha,et al.  Wavesched: a novel scheduling technique for control-flow intensive designs , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  Emmanuel Casseau,et al.  High-Level Synthesis for Designing , 2010 .

[11]  Andreas Koch,et al.  A Flexible Compute and Memory Infrastructure for High-Level Language to Hardware Compilation , 2010, 2010 International Conference on Field Programmable Logic and Applications.

[12]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[13]  Christos A. Papachristou,et al.  A method of distributed controller design for RTL circuits , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[14]  Yuan Xie,et al.  A Variation Aware High Level Synthesis Framework , 2008, 2008 Design, Automation and Test in Europe.

[15]  Srinivas Devadas,et al.  Optimum and heuristic algorithms for an approach to finite state machine decomposition , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  Jianwen Zhu,et al.  A unified formal model of ISA and FSMD , 1999, CODES '99.

[17]  Fernanda Gusmão de Lima Kastensmidt,et al.  Evaluating one-hot encoding finite state machines for SEU reliability in SRAM-based FPGAs , 2006, 12th IEEE International On-Line Testing Symposium (IOLTS'06).

[18]  Alberto José Proença,et al.  VHDL generation from hierarchical Petri net specifications of parallel controllers , 1997 .

[19]  Jose E. Moreira,et al.  On the implementation and effectiveness of autoscheduling for shared-memory multiprocessors , 1996 .