High-Level Synthesis of Dataflow Programs for Heterogeneous Platforms: Design Flow Tools and Design Space Exploration

Total Page:16

File Type:pdf, Size:1020Kb

High-Level Synthesis of Dataflow Programs for Heterogeneous Platforms: Design Flow Tools and Design Space Exploration High-level synthesis of dataflow programs for heterogeneous platforms: design flow tools and design space exploration THÈSE NO 6653 (2015) PRÉSENTÉE LE 29 MAI 2015 À LA FACULTÉ DES SCIENCES ET TECHNIQUES DE L'INGÉNIEUR GROUPE SCI STI MM PROGRAMME DOCTORAL EN MICROSYSTÈMES ET MICROÉLECTRONIQUE ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE POUR L'OBTENTION DU GRADE DE DOCTEUR ÈS SCIENCES PAR Endri BEZATI acceptée sur proposition du jury: Dr J.-M. Sallese, président du jury Dr M. Mattavelli, directeur de thèse Prof. G. De Micheli, rapporteur Dr J. Janneck, rapporteur Dr M. Raulet, rapporteur Suisse 2015 The philosophers have only interpreted the world, in various ways. The point, however, is to change it. — Karl Marx To my parents for giving me the chance to pursue my dreams. Acknowledgements First of all I would like to thank my parents, Dhimiter and Pavlina Bezati for their strong efforts as immigrants to support me during my studies in France. I would like to thank my brother, Dr. Feliks Bezati for helping me with guidance all those years. I thank my uncle Dr. Anesti Duka for his proposition to pursue my studies in France, my path would have been completely different today. I would like to thank my partner Franziska Thoms for all those years of love, happiness, and support. I wish to express my gratitude to my supervisor Dr. MER Marco Mattavelli for his guidance, support, advice, and criticism during the last four years. I would like to thank Dr. Mickaël Raulet for believing in me and suggesting me to Marco for pursuing a PhD in my Lab. I wish also to express my gratitude to my spiritual mentor Dr. Jörn Janneck for his help and guidance. I would like to thank Dr. Ghislain Roquier for his patience and help that he provided me during the first years of my thesis. Also, I would like to thank Dr. Matthieu Wipliez for the Orcc compiler infrastructure, Herve Yviquel and Antoine Lorence for their maintenance and advancement in Orcc. In addition, I would like to thank all previous developers of OpenForge for their excellent work and Xilinx Inc. for open sourcing it. I would like to thank my partner in crime Simone Casale Brunet, both of us have built tools that are working in perfect coordination. Also, I would like to thank all my past and present lab members. Finally, I would like to thank the Swiss National Science Foundation for founding my research. Lausanne, 29 April 2015 Endri Bezati v Abstract The growing complexity of digital signal processing applications implemented in programmable logic and embedded processors make a compelling case the use of high-level methodologies for their design and implementation. Past research has shown that for complex systems, raising the level of abstraction does not necessarily come at a cost in terms of performance or resource requirements. As a matter of fact, high-level synthesis tools supporting such a high abstraction often rival and on occasion improve low-level design. In spite of these successes, high-level synthesis still relies on programs being written with the target and often the syn- thesis process, in mind. In other words, imperative languages such as C or C++, most used languages for high-level synthesis, are either modified or a constrained subset is used to make parallelism explicit. In addition, a proper behavioral description that permits the unification for hardware and software design is still an elusive goal for heterogeneous platforms. A promis- ing behavioral description capable of expressing both sequential and parallel application is RVC-CAL. RVC-CAL is a dataflow programming language that permits design abstraction, modularity, and portability. The objective of this thesis is to provide a high-level synthesis solu- tion for RVC-CAL dataflow programs and provide an RVC-CAL design flow for heterogeneous platforms. The main contributions of this thesis are: a high-level synthesis infrastructure that supports the full specification of RVC-CAL, an action selection strategy for supporting parallel read and writes of list of tokens in hardware synthesis, a dynamic fine-grain profiling for syn- thesized dataflow programs, an iterative design space exploration framework that permits the performance estimation, analysis, and optimization of heterogeneous platforms, and finally a clock gating strategy that reduces the dynamic power consumption. Experimental results on all stages of the provided design flow, demonstrate the capabilities of the tools for high-level synthesis, software hardware Co-Design, design space exploration, and power optimization for reconfigurable hardware. Consequently, this work proves the viability of complex systems design and implementation using dataflow programming, not only for system-level simulation but real heterogeneous implementations. Key words: High-level synthesis, Dataflow Programing, Clock-Gating, Co-Design, Design Flow, Design Space Exploration vii Résumé De nos jours, les applications de traitement numérique du signal sont de plus en plus com- plexes dans leurs mises en œuvre et leurs conceptions pour des implantations sur des proces- seurs embarqués contenant de la logique programmable. Ceci demande le développement de nouvelles méthodologies basées sur un langage à haut niveau d’abstraction. Des recherches antérieures ont montré que pour les systèmes complexes, l’élévation du niveau d’abstraction n’augmente pas nécessairement les coûts en termes de ressources ou la dégradation des per- formances. En général, des outils de synthèse haut niveau avec une telle abstraction, souvent concurrentiels, améliorent dans certains cas la conception de systèmes de niveau hiérarchique très bas. En dépit de ces succès, la synthèse haut niveau s’appuie toujours sur le principe que les programmes doivent s’adapter à la cible souhaitée sans oublier les particularités du système de synthèse. En d’autres termes, les langages impératifs tels que C ou C ++, les plus utilisés pour la synthèse haut niveau, sont soit modifiés ou soit adaptés en un sous-ensemble de langages pour faire un parallélisme explicite. De plus, une description comportementale appropriée qui permet l’unification de conception de systèmes hétérogènes est toujours un objectif difficile à atteindre. Une des plus prometteuses, capable d’exprimer à la fois l’applica- tion séquentielle et parallèle, est exprimée en RVC-CAL. Ce dernier est donc un langage de programmation en flux de données qui permet l’abstraction de la conception, de la modularité et de la portabilité. Les objectifs de cette thèse sont de fournir une solution de synthèse haut niveau pour des programmes écrits en RVC-CAL et de fournir une solution d’implantation pour des plates-formes hétérogènes. Les principales contributions de cette thèse sont : une infrastructure de synthèse de haut niveau qui prend en charge la spécification complète de RVC-CAL, une stratégie de sélection d’action pour la synthèse haut niveau pour permettre la lecture et l’écriture en parallèle de la liste des jetons, un profilage dynamique à grain fin pour les programmes de flux de données qui sont synthétisés, une structure d’exploration de l’espace pour des programmes de flux de données qui permet l’estimation de performance, l’analyse et l’optimisation des plates-formes hétérogènes et enfin une stratégie de « clock- gating » qui réduit la consommation d’énergie dynamiquement. Des résultats expérimentaux sur toutes les étapes du déroulement de la conception, démontrent les capacités des outils de synthèse haut niveau, le Co-Design des parties matériel et logiciel, l’exploration spatiale de l’application, et l’optimisation de puissance pour des plates-formes reconfigurables. En conclusion, ce travail prouve la viabilité de la conception et la mise en œuvre de systèmes com- plexes en utilisant la programmation de flux de données, pas seulement pour la simulation au niveau du système, mais aussi pour les implémentations hétérogènes. ix Acknowledgements Mots clefs : synthèse de haut niveau, flux de données, clock-gating, co-design, flot de concep- tion, exploration de l’éspace du design x Abbreviations ALAP As Late As Possible ANSI American National Standards Institute ASAP As Soon As Possible ASIC Application Specific Integrated Circuit AST Abstract Syntax Tree BDL Behavioral Description Language BRAM Block RAM CAD Computer Aided Design CAL CAL Actor Language CAM Computer Aided Manufacturing CDFG Control-Data Flow Graph CFG Control Flow Graph CL Computational Load CP Critical Path CPU Central Processing Unit CUDA Compute Unified Device Architecture DSL Domain-Specific Language DSP Digital Signal Processor EMF Eclipse Modeling Framework ETG Execution Trace Graph FDS Force-Directed Scheduling xi Acknowledgements FF Flip-Flop Register FPGA Filed-Programmable Gate Array FSM Finite State Machine HDL High-Description Language HLS High-Level Synthesis HW Hardware IDE Integrated Developing Environment ILP Integer Linear Programming IP Intellectual Property IR Intermediate Representation ISPS Instruction Set Processor Specification LLVM Low Level Virtual Machine LUB Least Upper Bound LUT Look-Up Table LVA Live Variable Analysis MDE Model-Driven Engineering MoA Model of Architecture MPEG Movie Picture Expert Group Orcc Open RVC-CAL Compiler QoR Quality of Results RAM Random Access Memory ROM Read Only Memory RTL Register Transfer Layer RVC Reconfigurable Video Coding SoC System on Chip SSA Single Static Assignment SW Software xii Acknowledgements UML Unified Modeling Language VHDL VHSIC Hardware Description Language VHSIC Very High-Speed Integrated Circuit VLSI Very-Large-Scale Integration XLIM
Recommended publications
  • Eee4120f Hpes
    Lecture 22 HDL Imitation Method, Benchmarking and Amdahl's for FPGAs Lecturer: HDL HDL Imitation Simon Winberg Amdahl’s for FPGA Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) HDL Imitation Method Using Standard Benchmarks for FPGAs Amdahl’s Law and FPGA or ‘C-before-HDL approach to starting HDL designs. An approach to ‘golden measures’ & quicker development void mymod module mymod (char* out, char* in) (output out, input in) { { out[0] = in[0]^1; out = in^1; } } The same method can work with Python, but C is better suited due to its typical use of pointer. This method can be useful in designing both golden measures and HDL modules in (almost) one go … It is mainly a means to validate that you algorithm is working properly, and to help get into a ‘thinking space’ suited for HDL. This method is loosely based on approaches for C→HDL automatic conversion (discussed later in the course) HDL Imitation approach using C C program: functions; variables; based on sequence (start to end) and the use of memory/registers operations VHDL / Verilog HDL: Implements an entity/module for the procedure C code converted to VHDL Standard C characteristics Memory-based Variables (registers) used in performing computation Normal C and C programs are sequential Specialized C flavours for parallel description & FPGA programming: Mitrion-C , SystemC , pC (IBM Parallel C) System Crafter, Impulse C , OpenCL FpgaC Open-source (http://fpgac.sourceforge.net/) – does generate VHDL/Verilog but directly to bit file Best to simplify this approach, where possible, to just one module at a time When you’re confident the HDL works, you could just leave the C version behind Getting a whole complex design together as both a C-imitating-HDL program and a true HDL implementation is likely not viable (as it may be too much overhead to maintain) Example Task: Implement an countup module that counts up on target value, increasing its a counter value on each positive clock edge.
    [Show full text]
  • An Introduction to High-Level Synthesis
    High-Level Synthesis An Introduction to High-Level Synthesis Philippe Coussy Michael Meredith Universite´ de Bretagne-Sud, Lab-STICC Forte Design Systems Daniel D. Gajski Andres Takach University of California, Irvine Mentor Graphics today would even think of program- Editor’s note: ming a complex software application High-level synthesis raises the design abstraction level and allows rapid gener- solely by using an assembly language. ation of optimized RTL hardware for performance, area, and power require- In the hardware domain, specification ments. This article gives an overview of state-of-the-art HLS techniques and languages and design methodologies tools. 1,2 ÀÀTim Cheng, Editor in Chief have evolved similarly. For this reason, until the late 1960s, ICs were designed, optimized, and laid out by hand. Simula- THE GROWING CAPABILITIES of silicon technology tion at the gate level appeared in the early 1970s, and and the increasing complexity of applications in re- cycle-based simulation became available by 1979. Tech- cent decades have forced design methodologies niques introduced during the 1980s included place-and- and tools to move to higher abstraction levels. Raising route, schematic circuit capture, formal verification, the abstraction levels and accelerating automation of and static timing analysis. Hardware description lan- both the synthesis and the verification processes have guages (HDLs), such as Verilog (1986) and VHDL for this reason always been key factors in the evolu- (1987), have enabled wide adoption of simulation tion of the design process, which in turn has allowed tools. These HDLs have also served as inputs to logic designers to explore the design space efficiently and synthesis tools leading to the definition of their synthe- rapidly.
    [Show full text]
  • The Challenges of Hardware Synthesis from C-Like Languages
    The Challenges of Hardware Synthesis from C-like Languages Stephen A. Edwards∗ Department of Computer Science Columbia University, New York Abstract most successful C-like languages, in fact, bear little syntactic or semantic resemblance to C, effectively forcing users to learn The relentless increase in the complexity of integrated circuits a new language anyway. As a result, techniques for synthesiz- we can fabricate imposes a continuing need for ways to de- ing hardware from C either generate inefficient hardware or scribe complex hardware succinctly. Because of their ubiquity propose a language that merely adopts part of C syntax. and flexibility, many have proposed to use the C and C++ lan- For space reasons, this paper is focused purely on the use of guages as specification languages for digital hardware. Yet, C-like languages for synthesis. I deliberately omit discussion tools based on this idea have seen little commercial interest. of other important uses of a design language, such as validation In this paper, I argue that C/C++ is a poor choice for specify- and algorithm exploration. C-like languages are much more ing hardware for synthesis and suggest a set of criteria that the compelling for these tasks, and one in particular (SystemC) is next successful hardware description language should have. now widely used, as are many ad hoc variants. 1 Introduction 2 A Short History of C Familiarity is the main reason C-like languages have been pro- Dennis Ritchie developed C in the early 1970 [18] based on posed for hardware synthesis. Synthesize hardware from C, experience with Ken Thompson’s B language, which had itself proponents claim, and we will effectively turn every C pro- evolved from Martin Richards’ BCPL [17].
    [Show full text]
  • A Compiler Infrastructure for Static and Hybrid Analysis of Discrete Event System Models
    UNIVERSITY OF CALIFORNIA, IRVINE A Compiler Infrastructure for Static and Hybrid Analysis of Discrete Event System Models DISSERTATION submitted in partial satisfaction of the requirements for the degree of DOCTOR OF PHILOSOPHY in Computer Engineering by Tim Schmidt Dissertation Committee: Professor Rainer D¨omer,Chair Professor Kwei-Jay Lin Professor Fadi Kurdahi 2018 c 2018 Tim Schmidt TABLE OF CONTENTS Page LIST OF FIGURES v LIST OF TABLES vii LIST OF ALGORITHMS viii LIST OF ACRONYMS ix ACKNOWLEDGMENTS x CURRICULUM VITAE xii ABSTRACT OF THE DISSERTATION xvi 1 Introduction 1 1.1 System Level Design . .1 1.2 SystemC . .3 1.3 Recoding Infrastructure for SystemC (RISC) . .7 1.3.1 Software Stack . .7 1.3.2 Tool Flow . .8 1.4 Segment Graph . 11 1.5 Goals . 19 1.6 Related Work . 22 1.6.1 LECS Group . 22 1.6.2 Other Related Work . 25 2 Static Communication Graph Generation 28 2.1 Introduction . 28 2.1.1 Related work . 31 2.2 Thread Communication Graph . 32 2.3 Static Compiler Analysis . 34 2.3.1 Thread Communication Graph . 34 2.3.2 Module Hierarchy . 37 2.3.3 Optimization and Designer Interaction . 38 2.3.4 Visualization . 38 2.3.5 Accuracy and Limitations . 39 ii 2.4 Experiments . 39 2.4.1 Mandelbrot Renderer . 39 2.4.2 AMBA Bus Model . 41 2.4.3 S2C Testbench . 42 2.5 Summary . 43 3 Static Analysis for Reduced Conflicts 45 3.1 Channel Analysis . 45 3.1.1 Introduction . 46 3.1.2 Conflict Analysis . 49 3.1.3 Port Call Path Sensitive Segment Graphs .
    [Show full text]
  • Review of FPD's Languages, Compilers, Interpreters and Tools
    ISSN 2394-7314 International Journal of Novel Research in Computer Science and Software Engineering Vol. 3, Issue 1, pp: (140-158), Month: January-April 2016, Available at: www.noveltyjournals.com Review of FPD'S Languages, Compilers, Interpreters and Tools 1Amr Rashed, 2Bedir Yousif, 3Ahmed Shaban Samra 1Higher studies Deanship, Taif university, Taif, Saudi Arabia 2Communication and Electronics Department, Faculty of engineering, Kafrelsheikh University, Egypt 3Communication and Electronics Department, Faculty of engineering, Mansoura University, Egypt Abstract: FPGAs have achieved quick acceptance, spread and growth over the past years because they can be applied to a variety of applications. Some of these applications includes: random logic, bioinformatics, video and image processing, device controllers, communication encoding, modulation, and filtering, limited size systems with RAM blocks, and many more. For example, for video and image processing application it is very difficult and time consuming to use traditional HDL languages, so it’s obligatory to search for other efficient, synthesis tools to implement your design. The question is what is the best comparable language or tool to implement desired application. Also this research is very helpful for language developers to know strength points, weakness points, ease of use and efficiency of each tool or language. This research faced many challenges one of them is that there is no complete reference of all FPGA languages and tools, also available references and guides are few and almost not good. Searching for a simple example to learn some of these tools or languages would be a time consuming. This paper represents a review study or guide of almost all PLD's languages, interpreters and tools that can be used for programming, simulating and synthesizing PLD's for analog, digital & mixed signals and systems supported with simple examples.
    [Show full text]
  • A Mobile Programmable Radio Substrate for Any‐Layer Measurement and Experimentation
    A Mobile Programmable Radio Substrate for Any‐layer Measurement and Experimentation Kuang-Ching Wang Department of Electrical and Computer Engineering Clemson University, Clemson, SC 29634 [email protected] Version 1.0 September 27 2010 This work is sponsored by NSF grant CNS-0940805. 1 A Mobile Programmable Radio Substrate for Any‐layer Measurement and Experimentation A Whitepaper Developed for GENI Subcontract #1740 Executive Summary Wireless networks have become increasingly pervasive in all aspects of the modern life. Higher capacity, ubiquitous coverage, and robust adaptive operation have been the key objectives for wireless communications and networking research. Latest researches have proposed a myriad of solutions for different layers of the protocol stack to enhance wireless network performance; these innovations, however, are hard to be validated together to study their combined benefits and implications due to the lack of a platform that can easily incorporate new protocols from any protocol layers to operate with the rest of the protocol stack. GENI’s mission is to create a highly programmable testbed for studying the future Internet. This whitepaper analyzes GENI’s potentials and requirements to support any-layer programmable wireless network experiments and measurements. To date, there is a clear divide between the research methodology for the lower layers, i.e., the physical (PHY) and link layers, and that for the higher layers, i.e., from link layer above. For lower layer research, software defined radio (SDR) based on PCs and/or FPGAs has been the technology of choice for programmable testbeds. For higher layer research, PCs equipped with a range of commercial-off-the-shelf (COTS) network interfaces and standard operating systems generally suffice.
    [Show full text]
  • Total Ionizing Dose Effects on Xilinx Field-Programmable Gate Arrays
    University of Alberta Total Ionizing Dose Effects on Xilinx Field-Programmable Gate Arrays Daniel Montgomery MacQueen O A thesis submitted to the Faculty of Graduate Studies and Research in partial fulfillment of the requirements for the degree of Master of Science Department of Physics Edmonton, Alberta FaIl 2000 National Library Bibliothèque nationale I*I of Canada du Canada Acquisitions and Acquisitions et Bibliographie Services services bibliographiques 395 Wellington Street 345. nie Wellington Ottawa ON K1A ON4 Ottawa ON KIA ON4 Canada Canada The author has granted a non- L'auteur a accordé une licence non exclusive licence allowing the exclusive permettant a la National Library of Canada to BLbiiothèque nationale du Canada de reproduce, han, distniute or seil reproduire, prêter, distribuer ou copies of this thesis in microform, vendre des copies de cette these sous paper or electronic formats. la forme de microfiche/nlm, de reproduction sur papier ou sur format PIectronique . The author retains ownership of the L'auteur conserve la propriété du copyxïght in this thesis. Neither the droit d'auteur qui protège cette thèse. thesis nor substantial extracts fi-om it Ni la thèse ni des extraits substantiels may be printed or otherwise de celle-ci ne doivent être imprimés reproduced without the author's ou autrement reproduit. sans son permission. autorisation. Abstract This thesis presents the results of radiation tests of Xilinx XC4036X se- ries Field Programmable Gate Arrays (FPGAs) . These radiation tests investigated the suitability of the XC403GX FPGAs as controllers for the ATLAS liquid argon calorimeter front-end boards. The FPGAs were irradiated with gamma rays from a cobalt-60 source at a average dose rate of 0.13 rad(Si)/s.
    [Show full text]
  • Altera Powerpoint Guidelines
    Ecole Numérique 2016 IN2P3, Aussois, 21 Juin 2016 OpenCL On FPGA Marc Gaucheron INTEL Programmable Solution Group Agenda FPGA architecture overview Conventional way of developing with FPGA OpenCL: abstracting FPGA away ALTERA BSP: abstracting FPGA development Live Demo Developing a Custom OpenCL BSP 2 FPGA architecture overview FPGA Architecture: Fine-grained Massively Parallel Millions of reconfigurable logic elements I/O Thousands of 20Kb memory blocks Let’s zoom in Thousands of Variable Precision DSP blocks Dozens of High-speed transceivers Multiple High Speed configurable Memory I/O I/O Controllers Multiple ARM© Cores I/O 4 FPGA Architecture: Basic Elements Basic Element 1-bit configurable 1-bit register operation (store result) Configured to perform any 1-bit operation: AND, OR, NOT, ADD, SUB 5 FPGA Architecture: Flexible Interconnect … Basic Elements are surrounded with a flexible interconnect 6 FPGA Architecture: Flexible Interconnect … … Wider custom operations are implemented by configuring and interconnecting Basic Elements 7 FPGA Architecture: Custom Operations Using Basic Elements 16-bit add 32-bit sqrt … … … Your custom 64-bit bit-shuffle and encode Wider custom operations are implemented by configuring and interconnecting Basic Elements 8 FPGA Architecture: Memory Blocks addr Memory Block data_out data_in 20 Kb Can be configured and grouped using the interconnect to create various cache architectures 9 FPGA Architecture: Memory Blocks addr Memory Block data_out data_in 20 Kb Few larger Can be configured and grouped using
    [Show full text]
  • System-Level Methods for Power and Energy Efficiency of Fpga-Based Embedded Systems
    ATTENTION: The Singapore Copyright Act applies to the use of this document. Nanyang Technological University Library SYSTEM-LEVEL METHODS FOR POWER AND ENERGY EFFICIENCY OF FPGA-BASED EMBEDDED SYSTEMS PAWEŁ PIOTR CZAPSKI School of Computer Engineering A thesis submitted to the Nanyang Technological University in fulfillment of the requirement for the degree of Doctor of Philosophy 2010 i ATTENTION: The Singapore Copyright Act applies to the use of this document. Nanyang Technological University Library To My Parents ii ATTENTION: The Singapore Copyright Act applies to the use of this document. Nanyang Technological University Library Acknowledgements ACKNOWLEDGEMENTS I would like to express my sincere appreciation to my supervisor Associate Professor Andrzej Śluzek for his continuous interest, infinite patience, guidance, and constant encouragement that was motivating me during this research work. His vision and broad knowledge play an important role in the realization of the whole work. I acknowledge gratefully possibility to conduct this research at the Intelligent Systems Centre, the place with excellent working environment. I would also like to acknowledge the financial support that I received from the Nanyang Technological University and the Intelligent Systems Centre during my studies in Singapore. Finally, I would like to acknowledge my parents and my best friend Maciej for a constant help in these though moments. iii ATTENTION: The Singapore Copyright Act applies to the use of this document. Nanyang Technological University Library Table of Contents TABLE OF CONTENTS Title Page i Acknowledgements iii Table of Contents iv List of Symbols vii List of Abbreviations x List of Figures xiii List of Tables xv Abstract xvii Chapter I Introduction 1 1.1.
    [Show full text]
  • Parallel Systemc/TLM Simulation of Hardware Components Described for High-Level Synthesis Denis Becker
    Parallel SystemC/TLM Simulation of Hardware Components described for High-Level Synthesis Denis Becker To cite this version: Denis Becker. Parallel SystemC/TLM Simulation of Hardware Components described for High- Level Synthesis. Artificial Intelligence [cs.AI]. Université Grenoble Alpes, 2017. English. NNT: 2017GREAM082. tel-01709813v3 HAL Id: tel-01709813 https://hal.archives-ouvertes.fr/tel-01709813v3 Submitted on 18 Sep 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THÈSE Pour obtenir le grade de DOCTEUR DE LA COMMUNAUTÉ UNIVERSITÉ GRENOBLE ALPES Spécialité : Informatique Arrêté ministériel : 25 mai 2016 Présentée par Denis Becker Thèse dirigée par Matthieu Moy et co-encadrée par Jérôme Cornet préparée au sein du Laboratoire Verimag, de STMicroelectronics et de l’École Doctorale de Mathématiques, Sciences et Technologies de l’Information, Informatique Simulation Parallèle en SystemC/TLM de Composants Matériels décrits pour la Synthèse de Haut-Niveau Parallel SystemC/TLM Simulation of Hardware Components described for High-Level Synthesis Thèse soutenue publiquement le 11 décembre 2017, devant le jury composé de : M. Frédéric Pétrot Professeur, Université Grenoble Alpes, France, Président M. Rainer Dömer Professeur, University of California, Irvine, CA, États-Unis, Rapporteur M.
    [Show full text]
  • INTEGRATING ALGORITHM-LEVEL DESIGN and SYSTEM-LEVEL DESIGN THROUGH SPECIFICATION Synthesisintegrating Algorithm-Level Design
    INTEGRATING ALGORITHM-LEVEL DESIGN AND SYSTEM-LEVEL DESIGN THROUGH SPECIFICATION SYNTHESIS A Dissertation Presented by Jiaxing Zhang to The Department of Electrical and Computer Engineering in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Engineering Northeastern University Boston, Massachusetts August 2014 To my family. i Contents List of Figures v List of Tables vii List of Acronyms viii Acknowledgments x Abstract xi 1 Introduction 1 1.1 Specification Gap . 2 1.2 Flexibility and Overhead Trade-off . 3 1.3 Problem Definition and Goals . 5 1.4 Contributions . 5 1.5 Overview . 8 2 Background 9 2.1 EDA Designs . 9 2.2 Algorithm Level Design . 12 2.2.1 MATLAB/Simulink Modeling Environments . 14 2.3 System-Level Design . 15 2.3.1 Design Abstractions . 17 2.3.2 System Level Design Languages . 18 2.4 Related Work . 20 2.4.1 Bridging Design Gaps . 20 2.4.2 Flexibility Overhead: Granularity Challenges . 24 2.4.3 Flexibility Overhead: SW Synthesis . 24 2.5 Summary . 25 3 Specification Synthesis 27 3.1 Specification Synthesis Foundations . 27 3.1.1 Structural Semantics . 29 3.1.2 Execution Semantics . 31 ii 3.2 Algo2Spec Design . 31 3.2.1 Leaf Synthesizer . 33 3.2.2 Hierarchy Synthesizer . 37 3.2.3 Granularity Discussions . 43 3.3 Algorithm-Architecture Co-Design Flow . 43 3.4 Experimental Results . 45 3.4.1 MJPEG Encoder Synthesis Example . 46 3.4.2 Productivity Gain . 51 3.5 Summary . 53 4 Specification Granularity 54 4.1 Introduction . 54 4.2 Background: Specification Performance Analysis .
    [Show full text]
  • System Modeling & HW/SW Co-Verification
    System Modeling & HW/SW Co-Verification Prof. Chien-Nan Liu TEL: 03-4227151 ext:4534 Email: [email protected] 1 Outline l Introduction l System Modeling Languages l SystemC Overview l Data-Types l Processes l Interfaces l Simulation Supports l System Design Environments l HW/SW Co-Verification l Conclusion 2 Outline l Introduction l System Modeling Languages l SystemC Overview l Data-Types l Processes l Interfaces l Simulation Supports l System Design Environments l HW/SW Co-Verification l Conclusion 3 Design Challenges Reference http://www.doulos.com 4 Silicon complexity v.s Software complexity Silicon complexity is growing 10x Software in systems is growing faster every 6 years than 10x every 6 years Reference http://www.doulos.com 5 Increasing Complexity in SoC Designs l One or more processors l 32-bit Microcontrollers l DSPs or specialized media processors l On-chip memory l Special function blocks l Peripheral control devices l Complex on-chip communications network (On-chip busses) l RTOS and embedded software which are layering architecture l …… 6 How to Conquer the Complexity ? l Modeling strategies – Using the appropriate modeling for different levels – The consistency and accuracy of the model l Reuse existing designs – IP reuse – Architecture reuse (A platform based design) l Partition – Based on functionality – Hardware and software 7 Traditional System Design Flow (1/2) l Designers partition the system into hardware and software early in the flow l HW and SW engineers design their respective components in isolation l HW
    [Show full text]