A Practical Introduction to Hardware/Software Codesign
|
|
- Kristian Bell
- 5 years ago
- Views:
Transcription
1 A Practical Introduction to Hardware/Software Codesign
2
3 Patrick R. Schaumont A Practical Introduction to Hardware/Software Codesign 123
4 Dr. Patrick R. Schaumont Virginia Tech Bradley Dept. Electrical & Computer Engineering Whittemore Hall Blacksburg VA USA ISBN e-isbn DOI / Springer New York Dordrecht Heidelberg London Library of Congress Control Number: c Springer Science+Business Media, LLC 2010 All rights reserved. This work may not be translated or copied in whole or in part without the written permission of the publisher (Springer Science+Business Media, LLC, 233 Spring Street, New York, NY 10013, USA), except for brief excerpts in connection with reviews or scholarly analysis. Use in connection with any form of information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed is forbidden. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. Printed on acid-free paper Springer is part of Springer Science+Business Media (
5 The most important day is today.
6
7 Preface This is a practical book for computer engineers who want to understand or implement hardware/software systems. It focuses on problems that require one to combine hardware design with software design such problems can be solved with hardware/software codesign. When used properly, hardware/software codesign works better than hardware design or software design alone: it can improve the overall performance of digital systems, and it can shorten their design time. Hardware/software codesign can help a designer to make trade-offs between the flexibility and the performance of a digital system. To achieve this, a designer needs to combine two radically different ways of design: the sequential way of decomposition in time, using software, with the parallel way of decomposition in space, using hardware. Intended Audience This book assumes that you have a basic understanding of hardware that you are familiar with standard digital hardware components such as registers, logic gates, and components such as multiplexers and arithmetic operators. The book also assumes that you know how to write a program in C. These topics are usually covered in an introductory course on computer engineering or in a combination of courses on digital design and software engineering. The book is suited for advanced undergraduate students and beginning graduate students. I believe the book will also be useful for researchers from other (noncomputer engineering) fields, who have a need for hardware/software codesign. For example, I often work with cryptographers who have no formal training in hardware design but still want to obtain dedicated architectures for highly specialized algorithms. In my experience, it is very rewarding to explain codesign ideas to a cryptographer (or any other domain expert, for that matter). A key learning objective of the book is to provide a hands-on, practical introduction to design that combines sequential decomposition (software) and spatial decomposition (hardware). There is a surprisingly large mental gap between these two approaches to design. In fact, undergraduate courses tend to emphasize only one way of thinking at a time. Undergraduates will take a course on programming (for vii
8 viii Preface a stored-program computer) or a digital hardware design course. Considering how dramatic the changes to the computer architecture landscape have been in recent years (multicore, system-on-chip, ultra-low power computing,...), it s becoming essential to look beyond these boundaries. Organization The book puts equal emphasis on design methods and modeling (design languages). Design modeling helps a designer to think about a design problem and to capture a solution for the problem. Design methods are systematic transformations that convert design models into implementations. There are four parts in this book: Basic Concepts, the Design Space of Custom Architectures, Hardware/Software Interfaces, and Applications. Figure 1 illustrates how everything fits together. The first part of the book introduces modeling techniques concepts, required to understand how software can be converted into hardware and vice versa. The second part of the book describes the design space of custom architectures, starting at fully dedicated, high-performance Part I Basic Concepts Chapter 2 Dataflow Modeling and Implementation Chapter 1 The Nature of Hardware and Software Dataflow Models (HW / SW Model) Hardware Software Minimum Suggested Coverage 1 Chapter 3 Analysis of Control Flow and Data Flow Control / Data Flow Analysis 3 Part II The Design Space of Custom Architectures (from dedicated to flexible) Part III Hardware-Software Intefaces Part IV Applications Chapter 4 Finite State Machine with Datapath Chapter 5 Microprogrammed Architectures Chapter 6 General-purpose Embedded Cores Chapter 7 System-on-Chip Chapter 8 On-Chip Busses Chapter 9 Hardware-Software Interfaces Chapter 10 Control Shell Design Chapter 11 Trivium Crypto-Coprocessor Chapter 12 Cordic Crypto-Coprocessor Trivium CORDIC FSMD Microprogramming RISC Cores System-on-Chip HW HW CPU CPU Dedicated Flexible 8051 Microblaze ARM Mem-Mapped Port-Mapped ASIP Fig. 1 Outline of the book
9 Preface ix hardware implementations, and gradually evolving into flexible system-on-chip (SoC) architectures. The third part of the book goes into the details of hardware/ software interface design. The final part of the book shows two application case studies. Basic Concepts: The first chapter covers the fundamental properties of hardware and software and discusses the motivation for hardware/software codesign (Chap. 1). Chapter 2 describes Dataflow models, a modeling technique that can target hardware as well as software. Chapter 3 introduces control-flow and data-flow as the common underlying properties of hardware and software. By analyzing the control dependencies and the data dependencies of a C program, a designer obtains insight into possible hardware implementations of that C program. The Design Space of Custom Architectures: The second part is a tour along the vast design space of flexible, customized architectures. A review of four architectures shows how hardware gradually evolves into software. The Finite State Machine with Datapath (FSMD) of Chap. 4 is the starting point. FSMD models are the equivalent of hardware modeling at the register-transfer level (RTL). Chapter 5 introduces micro-programmed architectures. These are still very much like RTL machines, but they have a flexible controller, which allows them to be reprogrammed with software. Chapter 6 reviews general-purpose embedded RISC cores. These processors are the heart of typical contemporary hardware/software systems. Finally, Chap. 7 ties the general-purpose embedded core back to the FSMD in the context of a System-on-Chip architecture (SoC). The SoC sets the stage for the hardware/ software codesign problems that are addressed in the third part. Hardware/Software Interfaces: The third part describes the link between hardware and software in the SoC architecture, in three chapters. Chapter 8 discusses a typical on-chip bus structure and explains how it can efficiently move information between hardware and software. Chapter 9 presents three different locations in the SoC architecture where a designer could attach custom hardware. This includes the memory-mapped interface, the coprocessor interface, and the custom processor datapath. Finally, Chap. 10 shows how a designer can take an arbitrary hardware module and attach it to one of the three hardware/software interfaces described in Chap. 9. Applications: The final part gives two sample applications of hardware software codesign and shows how the different techniques and hardware software interfaces can be used in actual design. Chapter 11 presents a crypto-coprocessor, while Chap. 12 describes a CORDIC coprocessor, including a prototype and an FPGA board. There are several subjects which are not mentioned or discussed in the book. As an introductory discussion on a complex subject, I tried to find a balance between detail and complexity. For example, I did not include a discussion of advanced concepts in software concurrency, such as threads, and software architectures, such as operating systems and drivers. I also did not discuss software interrupts, or advanced system operation concepts such as Direct Memory Access.
10 x Preface I assume that the reader will go through all the chapters in sequence. The minimum suggested coverage which will still provide the reader an understandable introduction in hardware software codesign includes Chaps. 1, 3, 4, 6, 8, 9, and 11. Making it practical The book emphasizes ideas and design methods, in combination with hands-on, practical experiments. The book therefore discusses detailed examples throughout the chapters, and it includes an entire section (Applications) to discuss the overall design process. The hardware descriptions are made in GEZEL, an open-source cycle-accurate hardware modeling language. The GEZEL website, which distributes the tools, examples, and other documentation, is at There are several reasons why I choose not to use a mainstream HDL such as VHDL, Verilog, or SystemC. A first reason is reduced modeling overhead. Although models are crucial for embedded system construction, detailed modeling issues often distract the readers attention from the key issues. For example, modeling the clock signal in hardware requires a lot of additional effort, and it is not essential when doing single-clock synchronous design (which covers the majority of digital hardware design today). A second reason is that GEZEL comes with support for cosimulation built-in. GEZEL models can be cosimulated with different processor simulation models, including ARM, 8051, and others. GEZEL includes a library-block modeling mechanism that enables one to define new cosimulation interfaces with other simulation engines. A third reason is conciseness. This is a practical book with many design examples. Listings are unavoidable, but they need to be short. Of the 78 captioned listings in this book, 64 of them fit on a single page. Chapter 4 further illustrates the point of conciseness with a single design example in GEZEL, VHDL, Verilog, and SystemC side-by-side. A fourth reason is the path to implementation. GEZEL models can be translated (automatically) to VHDL. These models can be synthesized using standard HDL logic synthesis tools. I use the material in this book in a class on hardware/software codesign. The class hosts senior-level undergraduate students, as well as first-year graduate-level students. For the seniors, this class ties many different elements of computer engineering together: computer architectures, software engineering, hardware design, debugging, and testing. For the graduate students, it is a refresher and a starting point of their graduate researcher careers in computer engineering. In the class on codesign, the GEZEL experiments connect to an FPGA back-end and an FPGA prototyping kit. These experiments are implemented as homework.
11 Preface xi Modeling assignments in GEZEL alternate with integration assignments on FPGA. Through the use of the GEZEL backend support, students even avoid writing of VHDL code, but directly switch from cosimulation to FPGA implementation. At the end of the course, there is a contest. The students receive a reference implementation in C that runs on their FPGA prototyping kit. They need to accelerate this reference as much as possible using codesign techniques. Acknowledgments I would like to express my sincere thanks to the many people who have contributed to this effort. First and foremost, my family, who asked every other week, for two years, with the same enthusiasm, how far along I was. A baby could be delivered for less. Second, throughout my career I have met many outstanding engineers, and this book reflects these interactions. For example, Wei Qin developed the SimIT-ARM instruction-set simulator and helped with the integration of GEZEL and this simulator. Ingrid Verbauwhede has shaped many of the ideas and the design philosophies of this book. Frank Vahid is my example in educational writing excellence. Jan Madsen first introduced me to the idea that hardware/software codesign makes a lot of sense as an undergraduate computer engineering topic. And the list is far longer still. I hope you enjoy this topic and I truly wish this material helps you to go out and do some fantastic things in hardware/software codesign. I apologize for any mistakes left in the book and of course I appreciate your feedback. Blacksburg July 2010 Patrick Schaumont schaum@vt.edu
12
13 Contents Part I Basic Concepts 1 The Nature of Hardware and Software Introducing Hardware/Software Codesign Hardware Software Hardware and Software Defining Hardware/Software Codesign The Quest for Energy Efficiency Relative Performance Energy Efficiency The Driving Factors in Hardware/Software Codesign The Hardware Software Codesign Space The Platform Design Space Application Mapping The Dualism of Hardware Design and Software Design More on Modeling Abstraction Levels Concurrency and Parallelism Summary Further Reading Problems Data Flow Modeling and Implementation The Need for Concurrent Models: An Example Tokens, Actors, and Queues Firing Rates, Firing Rules, and Schedules Synchronous Data Flow Graphs SDF Graphs are Determinate Analyzing Synchronous Data Flow Graphs Deriving Periodic Admissible Sequential Schedules Example: Euclid s Algorithm as an SDF Graph xiii
14 xiv Contents 2.3 Control Flow Modeling and the Limitations of Data Flow Models Emulating Control Flow with SDF Semantics Extending SDF Semantics Software Implementation of Data Flow Converting Queues and Actors into Software Sequential Targets with Dynamic Schedule Sequential Targets with Static Schedule Hardware Implementation of Data Flow Single-Rate SDF Graphs Pipelining Multirate Expansion Summary Further Reading Problems Analysis of Control Flow and Data Flow Data and Control Edges of a C Program Implementing Data and Control Edges Contruction of the Control Flow Graph Construction of the Data Flow Graph Application: Translating C to Hardware Designing the Datapath Designing the Controller Single-Assignment Programs Summary Further Reading Problems Part II The Design Space of Custom Architectures 4 Finite State Machine with Datapath Cycle-Based Bit-Parallel Hardware Wires and Registers Precision and Sign Hardware Mapping of Expressions Hardware Modules Finite State Machines Finite State Machines with Datapath Modeling An FSMD is Not Unique Implementation Simulation and RTL Synthesis of FSMD Simulation Code Generation and Synthesis Proper FSMD...117
15 Contents xv 4.7 Language Mapping for FSMD by Example GCD in GEZEL GCD in Verilog GCD in VHDL GCD in SystemC Summary Further Reading Problems Microprogrammed Architectures Limitations of Finite State Machines State Explosion Exception Handling Runtime Flexibility Microprogrammed Control Microinstruction Encoding Jump Field Command Field The Microprogrammed Datapath Datapath Architecture Writing Microprograms Implementing a Microprogrammed Machine Microinstruction Word Definition Microprogram Interpreters Microprogram Pipelining Microinstruction Register Datapath Condition-Code Register Pipelined Next-Address Logic Picoblaze: A Contemporary Microprogram Controller Summary Further Reading Problems General-Purpose Embedded Cores Processors The Toolchain of a Typical Microprocessor From C to Assembly Instructions Simulating a C Program Executing on a Microprocessor The RISC Pipeline Control Hazards Data Hazards Structural Hazards Program Organization Data Types Variables in the Memory Hierarchy...180
16 xvi Contents Function Calls Program Layout Analyzing the Quality of Compiled Code Analysis Based on Static Assembly Code Analysis Based on Execution of Object Code Summary Further Reading Problems SystemOn Chip The System-on-Chip Concept The Cast of Players SoC Interfaces for Custom Hardware Four Design Principles in SoC Architecture Heterogeneous and Distributed Data Processing Heterogeneous and Distributed Communications Heterogeneous and Distributed Storage Hierarchical Control Example: Portable Multimedia System SoC Modeling in GEZEL An SoC with a StrongARM Core Ping-Pong Buffer with an Summary Further Reading Problems Part III Hardware/Software Interfaces 8 On-Chip Busses Connecting Hardware and Software On-Chip Bus Systems Some Existing On-Chip Bus Systems Bus Elements Bus Signals Bus Timing Diagram Bus Transfers Simple Read and Write Transfers Transfer Sizing and Endianess Improved Bus Transfers Multimaster Bus Systems Bus Priority Bus Locking On-Chip Networks Summary Further Reading Problems...254
17 Contents xvii 9 Hardware/Software Interfaces The Hardware/Software Interface Synchronization Schemes Synchronization Concepts Semaphore One-Way and Two-Way Handshake Blocking and Nonblocking Data-Transfer Memory-Mapped Interfaces The Memory-Mapped Register Mailboxes First-In First-Out Queues Slave and Master Handshakes Shared Memory GEZEL Modeling of Memory-Mapped Interfaces Coprocessor Interfaces Tight and Loose Coupling The Fast Simplex Link The LEON-3 Floating Point Coprocessor Interface Custom-Instruction Interfaces ASIP Design Flow Example: Endianess Byte-Ordering Processor Finding Good ASIP Instructions Summary Further Reading Problems Coprocessor Control Shell Design The Coprocessor Control Shell Functions of the Coprocessor Control Shell Layout of the Coprocessor Control Shell Communication-Constrained vs. Computation-ConstrainedCoprocessors Data Design Flexible Addressing Mechanisms Multiplexing and Masking Control Design Hierarchical Control Control of Internal Pipelining Programmer s Model = Control Design + Data Design Address Map Instruction Set Example: AES Encryption Coprocessor Control Shell Operation Programmer s Model Software Driver Design...323
18 xviii Contents Control Shell Design System Performance Evaluation Summary Further Reading Problems Part IV Applications 11 Trivium Crypto-Coprocessor The Trivium Stream Cipher Algorithm Stream Ciphers Trivium Hardware Mapping of Trivium A Hardware Testbench for Trivium Trivium for 8-bit Platforms Overall Design of the 8051 Coprocessor Hardware Platform of the 8051 Coprocessor Software Driver for Trivium for 32-bit Platforms Hardware Platform Using Memory-mapped Interfaces Software Driver Using Memory-mapped Interfaces Hardware Platform Using a Custom-Instruction Interface Software Driver for a Custom-Instruction Interface Summary Further Reading Problems CORDIC Coprocessor The Coordinate Rotation Digital Computer Algorithm The Algorithm Reference Implementation in C A Hardware Coprocessor for CORDIC A CORDIC Kernel in Hardware A Control Shell for Fast-Simplex-Link Coprocessors An FPGA Prototype of the CORDIC Coprocessor Handling Large Amounts of Rotations Summary Further Reading Problems References Index...393
Contents Part I Basic Concepts The Nature of Hardware and Software Data Flow Modeling and Transformation
Contents Part I Basic Concepts 1 The Nature of Hardware and Software... 3 1.1 Introducing Hardware/Software Codesign... 3 1.1.1 Hardware... 3 1.1.2 Software... 5 1.1.3 Hardware and Software... 7 1.1.4
More informationA Practical Introduction to Hardware/Software Codesign
A Practical Introduction to Hardware/Software Codesign Patrick R. Schaumont A Practical Introduction to Hardware/Software Codesign Second Edition 123 Patrick R. Schaumont Bradley Department of Electrical
More informationPhilip Andrew Simpson. FPGA Design. Best Practices for Team-based Reuse. Second Edition
FPGA Design Philip Andrew Simpson FPGA Design Best Practices for Team-based Reuse Second Edition Philip Andrew Simpson San Jose, CA, USA ISBN 978-3-319-17923-0 DOI 10.1007/978-3-319-17924-7 ISBN 978-3-319-17924-7
More informationSPECC: SPECIFICATION LANGUAGE AND METHODOLOGY
SPECC: SPECIFICATION LANGUAGE AND METHODOLOGY SPECC: SPECIFICATION LANGUAGE AND METHODOLOGY Daniel D. Gajski Jianwen Zhu Rainer Dömer Andreas Gerstlauer Shuqing Zhao University of California, Irvine SPRINGER
More informationOn-Chip Instrumentation
On-Chip Instrumentation Neal Stollon On-Chip Instrumentation Design and Debug for Systems on Chip Neal Stollon HDL Dynamics, Dallas TX, USA neals@hdldynamics.com ARM9, Coresight, ETM, ETM9, MMD are trademarks
More informationApplication-Specific Mesh-based Heterogeneous FPGA Architectures
Application-Specific Mesh-based Heterogeneous FPGA Architectures Husain Parvez H abib Mehrez Application-Specific Mesh-based Heterogeneous FPGA Architectures Husain Parvez Habib Mehrez Université Pierre
More informationHardware/software codesign for stream ciphers
Hardware/software codesign for stream ciphers Patrick Schaumont 1 and Ingrid Verbauwhede 2 1 ECE Department, Virginia Polytechnic Institute and State University, USA, schaum@vt.edu 2 ESAT/COSIC, Katholieke
More informationHardware/Software Codesign
Hardware/Software Codesign SS 2016 Prof. Dr. Christian Plessl High-Performance IT Systems group University of Paderborn Version 2.2.0 2016-04-08 how to design a "digital TV set top box" Motivating Example
More informationHardware Acceleration of EDA Algorithms
Hardware Acceleration of EDA Algorithms Kanupriya Gulati Sunil P. Khatri Hardware Acceleration of EDA Algorithms Custom ICs, FPGAs and GPUs 123 Kanupriya Gulati 109 Branchwood Trl Coppell TX 75019 USA
More informationComputers as Components Principles of Embedded Computing System Design
Computers as Components Principles of Embedded Computing System Design Third Edition Marilyn Wolf ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY
More informationDigital System Test and Testable Design
Digital System Test and Testable Design wwwwwwwwwwww Zainalabedin Navabi Digital System Test and Testable Design Using HDL Models and Architectures Zainalabedin Navabi Worcester Polytechnic Institute Department
More informationGuide to RISC Processors
Guide to RISC Processors Sivarama P. Dandamudi Guide to RISC Processors for Programmers and Engineers Sivarama P. Dandamudi School of Computer Science Carleton University Ottawa, ON K1S 5B6 Canada sivarama@scs.carleton.ca
More informationEMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLES
EMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLES Pong P. Chu Cleveland State University A JOHN WILEY & SONS, INC., PUBLICATION PREFACE An SoC (system on a chip) integrates a processor, memory
More informationModeling and Simulation in Scilab/Scicos with ScicosLab 4.4
Modeling and Simulation in Scilab/Scicos with ScicosLab 4.4 Stephen L. Campbell, Jean-Philippe Chancelier and Ramine Nikoukhah Modeling and Simulation in Scilab/Scicos with ScicosLab 4.4 Second Edition
More informationEnergy and Performance Evaluation of an FPGA-Based SoC Platform with AES and PRESENT Coprocessors
Energy and Performance Evaluation of an FPGA-Based SoC Platform with AES and PRESENT Coprocessors Xu Guo, Zhimin Chen, and Patrick Schaumont Virginia Tech, Blacksburg VA 24061, USA {xuguo,chenzm,schaum}@vt.edu
More informationHardware Software Codesign of Embedded Systems
Hardware Software Codesign of Embedded Systems Rabi Mahapatra Texas A&M University Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on Codesign of Embedded System
More informationSpecC Methodology for High-Level Modeling
EDP 2002 9 th IEEE/DATC Electronic Design Processes Workshop SpecC Methodology for High-Level Modeling Rainer Dömer Daniel D. Gajski Andreas Gerstlauer Center for Embedded Computer Systems Universitiy
More informationFundamentals of Operating Systems. Fifth Edition
Fundamentals of Operating Systems Fifth Edition Fundamentals of Operating Systems A.M. Lister University of Queensland R. D. Eager University of Kent at Canterbury Fifth Edition Springer Science+Business
More informationSystems I: Programming Abstractions
Systems I: Programming Abstractions Course Philosophy: The goal of this course is to help students become facile with foundational concepts in programming, including experience with algorithmic problem
More informationChunjie Duan Brock J. LaMeres Sunil P. Khatri. On and Off-Chip Crosstalk Avoidance in VLSI Design
Chunjie Duan Brock J. LaMeres Sunil P. Khatri On and Off-Chip Crosstalk Avoidance in VLSI Design 123 On and Off-Chip Crosstalk Avoidance in VLSI Design Chunjie Duan Brock J. LaMeres Sunil P. Khatri On
More informationThe Verilog Hardware Description Language. Fifth Edition
The Verilog Hardware Description Language Fifth Edition Donald Thomas Philip Moorby The Verilog Hardware Description Language Fifth Edition Donald Thomas Carnegie Mellon University Pittsburgh, PA USA Philip
More informationEEL 5722C Field-Programmable Gate Array Design
EEL 5722C Field-Programmable Gate Array Design Lecture 19: Hardware-Software Co-Simulation* Prof. Mingjie Lin * Rabi Mahapatra, CpSc489 1 How to cosimulate? How to simulate hardware components of a mixed
More informationHardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University
Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis
More informationPREFACE. Changes to the SOPC Edition
PREFACE Changes to the SOPC Edition Rapid Prototyping of Digital Systems provides an exciting and challenging laboratory component for undergraduate digital logic and computer design courses using FPGAs
More informationHardware/Software Co-design
Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction
More informationHardware Software Codesign of Embedded System
Hardware Software Codesign of Embedded System CPSC489-501 Rabi Mahapatra Mahapatra - Texas A&M - Fall 00 1 Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on
More informationCadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015
Cadence SystemC Design and Verification NMI FPGA Network Meeting Jan 21, 2015 The High Level Synthesis Opportunity Raising Abstraction Improves Design & Verification Optimizes Power, Area and Timing for
More informationInterfacing a High Speed Crypto Accelerator to an Embedded CPU
Interfacing a High Speed Crypto Accelerator to an Embedded CPU Alireza Hodjat ahodjat @ee.ucla.edu Electrical Engineering Department University of California, Los Angeles Ingrid Verbauwhede ingrid @ee.ucla.edu
More informationScheduling in Distributed Computing Systems Analysis, Design & Models
Scheduling in Distributed Computing Systems Analysis, Design & Models (A Research Monograph) Scheduling in Distributed Computing Systems Analysis, Design & Models (A Research Monograph) by Deo Prakash
More informationA Tutorial Introduction 1
Preface From the Old to the New Acknowledgments xv xvii xxi 1 Verilog A Tutorial Introduction 1 Getting Started A Structural Description Simulating the binarytoeseg Driver Creating Ports For the Module
More informationI 3 I 2. ! Language of logic design " Logic optimization, state, timing, CAD tools
Course Wrap-up Let s Try the Priority Encoder One More Time = =! Priority Encoder Revisited! What (We Hope) You Learned I 3 O 3 I j O j! Design Methodology! I 2 O 2 I O I O Zero Oj Ij Ij CS 5 - Spring
More informationSoC Design for the New Millennium Daniel D. Gajski
SoC Design for the New Millennium Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine www.cecs.uci.edu/~gajski Outline System gap Design flow Model algebra System environment
More informationDigital VLSI Design with Verilog
John Williams Digital VLSI Design with Verilog A Textbook from Silicon Valley Technical Institute Foreword by Don Thomas Sprin ger Contents Introduction xix 1 Course Description xix 2 Using this Book xx
More informationA Light-Weight Cooperative Multi-threading with Hardware Supported Thread-Management on an Embedded Multi-Processor System
A Light-Weight Cooperative Multi-threading with Hardware Supported Thread-Management on an Embedded Multi-Processor System Bo-Cheng Charles Lai EE Department UCLA CA 90095-1594 bclai@ee.ucla.edu Patrick
More informationThis content has been downloaded from IOPscience. Please scroll down to see the full text.
This content has been downloaded from IOPscience. Please scroll down to see the full text. Download details: IP Address: 148.251.232.83 This content was downloaded on 22/11/2018 at 08:50 Please note that
More informationESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)
ESE Back End 2.0 D. Gajski, S. Abdi (with contributions from H. Cho, D. Shin, A. Gerstlauer) Center for Embedded Computer Systems University of California, Irvine http://www.cecs.uci.edu 1 Technology advantages
More informationCodesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.
Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web. Embedded Processor Types General Purpose Expensive, requires
More informationECE332, Week 2, Lecture 3. September 5, 2007
ECE332, Week 2, Lecture 3 September 5, 2007 1 Topics Introduction to embedded system Design metrics Definitions of general-purpose, single-purpose, and application-specific processors Introduction to Nios
More informationECE332, Week 2, Lecture 3
ECE332, Week 2, Lecture 3 September 5, 2007 1 Topics Introduction to embedded system Design metrics Definitions of general-purpose, single-purpose, and application-specific processors Introduction to Nios
More informationDesign with Race-free Hardware Semantics
Design with Race-free Hardware Semantics Patrick Schaumont 1, Sandeep Shukla 1, Ingrid Verbauwhede 2 1 Electrical and Computer Engineering Department, Virginia Tech 2 ESAT, Katholieke Universiteit Leuven,
More informationFPGAs: Instant Access
FPGAs: Instant Access Clive"Max"Maxfield AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO % ELSEVIER Newnes is an imprint of Elsevier Newnes Contents
More informationBibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.
Bibliography Books on software reuse: 1. 2. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, 1997. Practical Software Reuse, Donald J. Reifer, Wiley, 1997. Formal specification and verification:
More informationWorld Class Verilog & SystemVerilog Training
World Class Verilog & SystemVerilog Training Sunburst Design - Expert Verilog-2001 FSM, Multi-Clock Design & Verification Techniques by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst
More informationCosimulation II. Cosimulation Approaches
Cosimulation II Cosimulation Approaches How to cosimulate? How to simulate hardware components of a mixed hardware-software system within a unified environment? This includes simulation of the hardware
More informationEmbedded System Design
Embedded System Design Daniel D. Gajski Samar Abdi Andreas Gerstlauer Gunar Schirner Embedded System Design Modeling, Synthesis and Verification Daniel D. Gajski Center for Embedded Computer Systems University
More informationDesigning and Prototyping Digital Systems on SoC FPGA The MathWorks, Inc. 1
Designing and Prototyping Digital Systems on SoC FPGA Hitu Sharma Application Engineer Vinod Thomas Sr. Training Engineer 2015 The MathWorks, Inc. 1 What is an SoC FPGA? A typical SoC consists of- A microcontroller,
More informationAll MSEE students are required to take the following two core courses: Linear systems Probability and Random Processes
MSEE Curriculum All MSEE students are required to take the following two core courses: 3531-571 Linear systems 3531-507 Probability and Random Processes The course requirements for students majoring in
More informationA Study of the Speedups and Competitiveness of FPGA Soft Processor Cores using Dynamic Hardware/Software Partitioning
A Study of the Speedups and Competitiveness of FPGA Soft Processor Cores using Dynamic Hardware/Software Partitioning By: Roman Lysecky and Frank Vahid Presented By: Anton Kiriwas Disclaimer This specific
More informationCosimulation of ITRON-Based Embedded Software with SystemC
Cosimulation of ITRON-Based Embedded Software with SystemC Shin-ichiro Chikada, Shinya Honda, Hiroyuki Tomiyama, Hiroaki Takada Graduate School of Information Science, Nagoya University Information Technology
More informationEE382V: System-on-a-Chip (SoC) Design
EE382V: System-on-a-Chip (SoC) Design Lecture 10 Task Partitioning Sources: Prof. Margarida Jacome, UT Austin Prof. Lothar Thiele, ETH Zürich Andreas Gerstlauer Electrical and Computer Engineering University
More informationNISC Application and Advantages
NISC Application and Advantages Daniel D. Gajski Mehrdad Reshadi Center for Embedded Computer Systems University of California, Irvine Irvine, CA 92697-3425, USA {gajski, reshadi}@cecs.uci.edu CECS Technical
More informationModeling and Simulation of System-on. Platorms. Politecnico di Milano. Donatella Sciuto. Piazza Leonardo da Vinci 32, 20131, Milano
Modeling and Simulation of System-on on-chip Platorms Donatella Sciuto 10/01/2007 Politecnico di Milano Dipartimento di Elettronica e Informazione Piazza Leonardo da Vinci 32, 20131, Milano Key SoC Market
More informationUML for SOC Design GRANT MARTIN WOLFGANG MÜLLER. Edited by. Tensilica Inc., Santa Clara, CA, USA. and. University of Paderborn, Germany
UML FOR SOC DESIGN UML for SOC Design Edited by GRANT MARTIN Tensilica Inc., Santa Clara, CA, USA and WOLFGANG MÜLLER University of Paderborn, Germany A C.I.P. Catalogue record for this book is available
More informationCosimulation II. How to cosimulate?
Cosimulation II Cosimulation Approaches Mahapatra-Texas A&M-Fall 00 1 How to cosimulate? How to simulate hardware components of a mixed hardware-software system within a unified environment? This includes
More informationThe Verilog Hardware Description Language, Fifth Edition
The Verilog Hardware Description Language, Fifth Edition The Verilog Hardware Description Language, Fifth Edition Donald E. Thomas ECE Department Carnegie Mellon University Pittsburgh, PA Philip R. Moorby
More informationDIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING
1 DSP applications DSP platforms The synthesis problem Models of computation OUTLINE 2 DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: Time-discrete representation
More informationRun-time Adaptation for Reconfigurable Embedded Processors
Run-time Adaptation for Reconfigurable Embedded Processors wwwwwwwwwwwwww Lars Bauer Jörg Henkel Run-time Adaptation for Reconfigurable Embedded Processors Lars Bauer Karlsruhe Institute of Technology
More informationHW/SW Codesign w/ FPGAsGeneral Purpose Embedded Cores ECE 495/595
G.P. Embedded Cores (A Practical Intro. to HW/SW Codesign, P. Schaumont) The most successful programmable component on silicon is the microprocessor Fueled by a well-balanced mix of efficient implementations,
More informationContents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology)
1 Introduction............................................... 1 1.1 Functional Design Verification: Current State of Affair......... 2 1.2 Where Are the Bugs?.................................... 3 2 Functional
More informationNavigating the RTL to System Continuum
Navigating the RTL to System Continuum Calypto Design Systems, Inc. www.calypto.com Copyright 2005 Calypto Design Systems, Inc. - 1 - The rapidly evolving semiconductor industry has always relied on innovation
More informationRTL HARDWARE DESIGN USING VHDL. Coding for Efficiency, Portability, and Scalability. PONG P. CHU Cleveland State University
~ ~~ ~ ~~ ~ RTL HARDWARE DESIGN USING VHDL Coding for Efficiency, Portability, and Scalability PONG P. CHU Cleveland State University A JOHN WlLEY & SONS, INC., PUBLICATION This Page Intentionally Left
More informationMulti Cycle Implementation Scheme for 8 bit Microprocessor by VHDL
Multi Cycle Implementation Scheme for 8 bit Microprocessor by VHDL Sharmin Abdullah, Nusrat Sharmin, Nafisha Alam Department of Electrical & Electronic Engineering Ahsanullah University of Science & Technology
More informationAnand Raghunathan
ECE 695R: SYSTEM-ON-CHIP DESIGN Module 2: HW/SW Partitioning Lecture 2.26: Example: Hardware Architecture Anand Raghunathan raghunathan@purdue.edu ECE 695R: System-on-Chip Design, Fall 2014 Fall 2014,
More informationFPGA for Software Engineers
FPGA for Software Engineers Course Description This course closes the gap between hardware and software engineers by providing the software engineer all the necessary FPGA concepts and terms. The course
More informationOpen Source Software for Digital Forensics
Open Source Software for Digital Forensics Ewa Huebner Editors Stefano Zanero Open Source Software for Digital Forensics Editors Ewa Huebner Computer Forensis Consulting, Warrimoo NSW Australia ehuebner@computerforensis.com
More informationDesign of a Processor to Support the Teaching of Computer Systems
Design of a Processor to Support the Teaching of Computer Systems Murray Pearson, Dean Armstrong and Tony McGregor Department of Computer Science University of Waikato Hamilton New Zealand fmpearson,daa1,tonymg@cs.waikato.nz
More informationDesign Space Exploration Using Parameterized Cores
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR Design Space Exploration Using Parameterized Cores Ian D. L. Anderson M.A.Sc. Candidate March 31, 2006 Supervisor: Dr. M. Khalid 1 OUTLINE
More informationThe SOCks Design Platform. Johannes Grad
The SOCks Design Platform Johannes Grad System-on-Chip (SoC) Design Combines all elements of a computer onto a single chip Microprocessor Memory Address- and Databus Periphery Application specific logic
More informationVHDL for Synthesis. Course Description. Course Duration. Goals
VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes
More informationChapter 1 The Nature of Hardware and Software
Chapter 1 The Nature of Hardware and Software 1.1 Introducing Hardware/Software Codesign Hardware/software codesign is a broad term to capture many different things in electronic system design. We start
More informationCase study: Performance-efficient Implementation of Robust Header Compression (ROHC) using an Application-Specific Processor
Case study: Performance-efficient Implementation of Robust Header Compression (ROHC) using an Application-Specific Processor Gert Goossens, Patrick Verbist, Erik Brockmeyer, Luc De Coster Synopsys 1 Agenda
More informationDigital VLSI Design with Verilog
Digital VLSI Design with Verilog John Michael Williams Digital VLSI Design with Verilog A Textbook from Silicon Valley Polytechnic Institute Second Edition John Michael Williams Wilsonville, OR USA Additional
More informationDesign methodology for multi processor systems design on regular platforms
Design methodology for multi processor systems design on regular platforms Ph.D in Electronics, Computer Science and Telecommunications Ph.D Student: Davide Rossi Ph.D Tutor: Prof. Roberto Guerrieri Outline
More informationSOFTWARE-IMPLEMENTED HARDWARE FAULT TOLERANCE
SOFTWARE-IMPLEMENTED HARDWARE FAULT TOLERANCE SOFTWARE-IMPLEMENTED HARDWARE FAULT TOLERANCE O. Goloubeva, M. Rebaudengo, M. Sonza Reorda, and M. Violante Politecnico di Torino - Dipartimento di Automatica
More informationLecture 7: Introduction to Co-synthesis Algorithms
Design & Co-design of Embedded Systems Lecture 7: Introduction to Co-synthesis Algorithms Sharif University of Technology Computer Engineering Dept. Winter-Spring 2008 Mehdi Modarressi Topics for today
More informationHW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999
HW/SW Co-design Design of Embedded Systems Jaap Hofstede Version 3, September 1999 Embedded system Embedded Systems is a computer system (combination of hardware and software) is part of a larger system
More informationModular SystemC. In-house Training Options. For further information contact your local Doulos Sales Office.
Modular SystemC is a set of modules related to SystemC TM (IEEE 1666-2005) aimed at fulfilling teambased training requirements for engineers from a range of technical backgrounds, i.e. hardware and software
More informationDesign Issues in Hardware/Software Co-Design
Volume-2, Issue-1, January-February, 2014, pp. 01-05, IASTER 2013 www.iaster.com, Online: 2347-6109, Print: 2348-0017 ABSTRACT Design Issues in Hardware/Software Co-Design R. Ganesh Sr. Asst. Professor,
More informationSystem Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems)
Design&Methodologies Fö 1&2-1 Design&Methodologies Fö 1&2-2 Course Information Design and Methodology/ Embedded s Design (Modeling and Design of Embedded s) TDTS07/TDDI08 Web page: http://www.ida.liu.se/~tdts07
More informationSystem Level Design For Low Power. Yard. Doç. Dr. Berna Örs Yalçın
System Level Design For Low Power Yard. Doç. Dr. Berna Örs Yalçın References System-Level Design Methodology, Daniel D. Gajski Hardware-software co-design of embedded systems : the POLIS approach / by
More informationTHE VERILOG? HARDWARE DESCRIPTION LANGUAGE
THE VERILOG? HARDWARE DESCRIPTION LANGUAGE THE VERILOGf HARDWARE DESCRIPTION LANGUAGE by Donald E. Thomas Carnegie Mellon University and Philip R. Moorby Cadence Design Systems, Inc. SPRINGER SCIENCE+BUSINESS
More informationCHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS
Contents i SYLLABUS osmania university UNIT - I CHAPTER - 1 : BASIC VERILOG HDL Introduction to HDLs, Overview of Digital Design With Verilog HDL, Basic Concepts, Data Types, System Tasks and Compiler
More informationCOMPUTATIONAL DYNAMICS
COMPUTATIONAL DYNAMICS THIRD EDITION AHMED A. SHABANA Richard and Loan Hill Professor of Engineering University of Illinois at Chicago A John Wiley and Sons, Ltd., Publication COMPUTATIONAL DYNAMICS COMPUTATIONAL
More informationVerilog Design Entry, Synthesis, and Behavioral Simulation
------------------------------------------------------------- PURPOSE - This lab will present a brief overview of a typical design flow and then will start to walk you through some typical tasks and familiarize
More informationCOE 561 Digital System Design & Synthesis Introduction
1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design
More informationEE382V: System-on-a-Chip (SoC) Design
EE382V: System-on-a-Chip (SoC) Design Lecture 8 HW/SW Co-Design Sources: Prof. Margarida Jacome, UT Austin Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu
More informationThe University of Reduced Instruction Set Computer (MARC)
The University of Reduced Instruction Set Computer (MARC) Abstract We present our design of a VHDL-based, RISC processor instantiated on an FPGA for use in undergraduate electrical engineering courses
More informationMODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.
MODELING LANGUAGES AND ABSTRACT MODELS Giovanni De Micheli Stanford University Chapter 3 in book, please read it. Outline Hardware modeling issues: Representations and models. Issues in hardware languages.
More informationChoosing a Processor: Benchmarks and Beyond (S043)
Insight, Analysis, and Advice on Signal Processing Technology Choosing a Processor: Benchmarks and Beyond (S043) Jeff Bier Berkeley Design Technology, Inc. Berkeley, California USA +1 (510) 665-1600 info@bdti.com
More informationEmbedded Systems. 7. System Components
Embedded Systems 7. System Components Lothar Thiele 7-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
More informationHigher Level Programming Abstractions for FPGAs using OpenCL
Higher Level Programming Abstractions for FPGAs using OpenCL Desh Singh Supervising Principal Engineer Altera Corporation Toronto Technology Center ! Technology scaling favors programmability CPUs."#/0$*12'$-*
More informationEssential Angular for ASP.NET Core MVC
Essential Angular for ASP.NET Core MVC Adam Freeman Essential Angular for ASP.NET Core MVC Adam Freeman London, UK ISBN-13 (pbk): 978-1-4842-2915-6 ISBN-13 (electronic): 978-1-4842-2916-3 DOI 10.1007/978-1-4842-2916-3
More informationHardware Modelling. Design Flow Overview. ECS Group, TU Wien
Hardware Modelling Design Flow Overview ECS Group, TU Wien 1 Outline Difference: Hardware vs. Software Design Flow Steps Specification Realisation Verification FPGA Design Flow 2 Hardware vs. Software:
More informationJung-Lin Yang. Ph.D. and M.S. degree in the Dept. of Electrical and Computer Engineering University of Utah expected spring 2003
Jung-Lin Yang Business Address: 50 South Campus Drive, RM 3280 Salt Lake City, UT 84112 (801) 581-8378 Home Address: 1115 Medical Plaza Salt Lake City, UT 84112 (801) 583-0596 (801) 949-8263 http://www.cs.utah.edu/~jyang
More informationDigital Systems Design. System on a Programmable Chip
Digital Systems Design Introduction to System on a Programmable Chip Dr. D. J. Jackson Lecture 11-1 System on a Programmable Chip Generally involves utilization of a large FPGA Large number of logic elements
More informationSystem Level Design Flow
System Level Design Flow What is needed and what is not Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine www.cecs.uci.edu/~gajski System Level Design Flow What is
More informationCS2204 DIGITAL LOGIC & STATE MACHINE DESIGN FALL 2005
CS2204 DIGITAL LOGIC & STATE MACHINE DESIGN FALL 2005 AN INTRODUCTION TO DIGITAL SYSTEMS AND THE PPM PROJECT 1. Introduction A digital system consists of digital circuits. It performs sequences of simple
More informationOptical Burst Switched Networks
Optical Burst Switched Networks OPTICAL NETWORKS SERIES Series Editor Biswanath Mukherjee, University of California, Davis OPTICAL BURST SWITCHED NETWORKS JASON P. JUE The University of Texas at Dallas
More informationModel-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany
Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany 2013 The MathWorks, Inc. 1 Agenda Model-Based Design of embedded Systems Software Implementation
More informationResearch on Industrial Security Theory
Research on Industrial Security Theory Menggang Li Research on Industrial Security Theory Menggang Li China Centre for Industrial Security Research Beijing, People s Republic of China ISBN 978-3-642-36951-3
More information