Data Flow Modeling and Transformation

By nature, hardware is parallel and software is sequential. As a result, software models (C programs) are not very well suited to capture hardware implementations, and vice versa, hardware models (RTL programs) are not a good abstraction to describe software. However, designers frequently encounter situations for which a given design may use either hardware or software as a target. Trying to do both (writing a full C program as well as a full hardware design) is not an option; it requires the designer to work twice as hard. An alternative is to use a high-level model, which enables the designer to express a design without committing to a hardware or a software implementation. Using a high-level model, the designer can gain further insight into the specification, and decide on the right path for implementation.

[1]  Sally A. McKee,et al.  Hitting the memory wall: implications of the obvious , 1995, CARN.

[2]  Raj Talluri,et al.  Anatomy of a portable digital mediaprocessor , 2004, IEEE Micro.

[3]  Sandeep K. Shukla,et al.  Design with race-free hardware semantics , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[4]  Erik Brockmeyer,et al.  Data and memory optimization techniques for embedded systems , 2001, TODE.

[5]  Edward A. Lee,et al.  Taming heterogeneity - the Ptolemy approach , 2003, Proc. IEEE.

[6]  Edward A. Lee,et al.  Introduction to Embedded Systems - A Cyber-Physical Systems Approach , 2013 .

[7]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[8]  Christof Paar,et al.  New Lightweight DES Variants , 2007, FSE.

[9]  Gadi Taubenfeld Synchronization Algorithms and Concurrent Programming , 2006 .

[10]  Stephen A. Edwards,et al.  Compiling Esterel , 2007 .

[11]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[12]  David A. Wagner,et al.  TinySec: a link layer security architecture for wireless sensor networks , 2004, SenSys '04.

[13]  R. Engelbrecht,et al.  DIGEST of TECHNICAL PAPERS , 1959 .

[14]  Christof Paar,et al.  Efficient implementation of eSTREAM ciphers on 8-bit AVR microcontrollers , 2008, 2008 International Symposium on Industrial Embedded Systems.

[15]  Jens-Peter Kaps,et al.  Chai-Tea, Cryptographic Hardware Implementations of xTEA , 2008, INDOCRYPT.

[16]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .

[17]  Peter M. Kogge,et al.  The Architecture of Pipelined Computers , 1981 .

[18]  Frank Vahid,et al.  The Softening of Hardware , 2003, Computer.

[19]  Frank Vahid It's Time to Stop Calling Circuits "Hardware" , 2007, Computer.

[20]  Jan M. Rabaey,et al.  Low Power Design Essentials , 2009, Series on Integrated Circuits and Systems.

[21]  K. Sridharan,et al.  50 Years of CORDIC: Algorithms, Architectures, and Applications , 2009, IEEE Transactions on Circuits and Systems I: Regular Papers.

[22]  Andrey Bogdanov,et al.  PRESENT: An Ultra-Lightweight Block Cipher , 2007, CHES.

[23]  Jack E. Volder The CORDIC Trigonometric Computing Technique , 1959, IRE Trans. Electron. Comput..

[24]  Andrew W. Appel Modern Compiler Implementation in ML: Basic Techniques , 1997 .

[25]  Kris Gaj,et al.  FPGA and ASIC Implementations of AES , 2009, Cryptographic Engineering.

[26]  Daniel D. Gajski,et al.  Embedded System Design: Modeling, Synthesis and Verification , 2013 .

[27]  Ingrid Verbauwhede,et al.  High-throughput programmable cryptocoprocessor , 2004, IEEE Micro.

[28]  Gérard Berry,et al.  The foundations of Esterel , 2000, Proof, Language, and Interaction.

[29]  Rainer Leupers,et al.  Customizable Embedded Processors: Design Technologies and Applications , 2006 .

[30]  Mordechai Ben-Ari,et al.  Principles of concurrent and distributed programming , 2005, PHI Series in computer science.

[31]  Steven S. Muchnick,et al.  Advanced Compiler Design and Implementation , 1997 .

[32]  Frank Mueller,et al.  Analyzing and modeling encryption overhead for sensor network nodes , 2003, WSNA '03.

[33]  Theo A. C. M. Claasen,et al.  An Industry Perspective on Current and Future State of the Art in System-on-Chip (SoC) Technology , 2006, Proceedings of the IEEE.

[34]  Karim Yaghmour,et al.  Building Embedded Linux Systems , 2003 .

[35]  Giovanni De Micheli,et al.  Readings in hardware / software co-design , 2001 .

[36]  Nikil Dutt,et al.  On-Chip Communication Architectures: System on Chip Interconnect , 2008 .

[37]  Matthew J. B. Robshaw,et al.  The eSTREAM Project , 2008, The eSTREAM Finalists.

[38]  Sharad Malik,et al.  Flexible and formal modeling of microprocessors with application to retargetable simulation , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[39]  T.A.C.M. Claasen,et al.  High speed: not the only way to exploit the intrinsic computational power of silicon , 1999, 1999 IEEE International Solid-State Circuits Conference. Digest of Technical Papers. ISSCC. First Edition (Cat. No.99CH36278).

[40]  Shahriar Mirabbasi,et al.  System-on-Chip: Reuse and Integration , 2006, Proceedings of the IEEE.

[41]  Çetin Kaya Koç,et al.  About Cryptographic Engineering , 2008, Cryptographic Engineering.

[42]  Keshab K. Parhi,et al.  Static Rate-Optimal Scheduling of Iterative Data-Flow Programs via Optimum Unfolding , 1991, IEEE Trans. Computers.

[43]  Sally A. McKee,et al.  Reflections on the memory wall , 2004, CF '04.

[44]  William Thies,et al.  Language and compiler support for stream programs , 2009 .

[45]  Jan Madsen,et al.  A Sophomore Course in Codesign , 2002, Computer.

[46]  Jean-Pierre Deschamps,et al.  Digital systems, with algorithm implementation , 1983 .

[47]  Steve Leibson,et al.  Engineering the complex SOC : fast, flexible design with configurable processors , 2004 .

[48]  Stephen A. Edwards,et al.  The Challenges of Synthesizing Hardware from C-Like Languages , 2006, IEEE Design & Test of Computers.

[49]  Akashi Satoh,et al.  Hardware-Focused Performance Comparison for the Standard Block Ciphers AES, Camellia, and Triple-DES , 2003, ISC.

[50]  Wei Qin,et al.  Constructing Portable Compiled Instruction-set Simulators-An ADL-driven Approach , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[51]  G. De Micheli,et al.  Guest Editors' Introduction: The Network-on-Chip Paradigm in Practice and Research , 2005, IEEE Des. Test Comput..

[52]  T. Sansaloni,et al.  The use of CORDIC in software defined radios: a tutorial , 2006, IEEE Communications Magazine.

[53]  James C. Hoe,et al.  Operation-centric hardware description and synthesis , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[54]  Wayne H. Wolf A Decade of Hardware/Software Codesign , 2003, Computer.

[55]  Mark N. Wegman,et al.  Efficiently computing static single assignment form and the control dependence graph , 1991, TOPL.

[56]  Karim Yaghmour,et al.  Building embedded linux systems, 2nd edition , 2008 .

[57]  Sumit Gupta,et al.  SPARK: A Parallelizing Approach to the High-Level Synthesis of Digital Circuits , 2004 .

[58]  Majid Sarrafzadeh,et al.  Synthesis Techniques and Optimizations for Reconfigurable Systems , 2003 .

[59]  W. Daniel Hillis,et al.  Data parallel algorithms , 1986, CACM.

[60]  Sharad Malik,et al.  Modeling and description of embedded processors for the development of software tools , 2004 .

[61]  Alberto L. Sangiovanni-Vincentelli,et al.  System-level design: orthogonalization of concerns andplatform-based design , 2000, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[62]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .