Embedded Systems Design with Platform FPGAs

Similar documents
CPU Organisation and Operation

ELEC 5260/6260/6266 Embedded Computing Systems

Computer organization

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

Microprocessor & Assembly Language

Let s put together a Manual Processor

Programmable Logic Controllers Definition. Programmable Logic Controllers History

ARM Microprocessor and ARM-Based Microcontrollers

Central Processing Unit (CPU)

9/14/ :38

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Chapter 13 Embedded Operating Systems

Architectures and Platforms

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

The WIMP51: A Simple Processor and Visualization Tool to Introduce Undergraduates to Computer Organization

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

1. Introduction to Embedded System Design

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Introduction to Digital System Design

Hardware in the Loop (HIL) Testing VU 2.0, , WS 2008/09

Introducción. Diseño de sistemas digitales.1

Computer Organization. and Instruction Execution. August 22

CprE 588 Embedded Computer Systems Homework #1 Assigned: February 5 Due: February 15

The 104 Duke_ACC Machine

Memory Basics. SRAM/DRAM Basics

A New Paradigm for Synchronous State Machine Design in Verilog

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Lecture 1. Introduction to Embedded Computer Systems

1 PERSONAL COMPUTERS

NetFlow probe on NetFPGA

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models

NIOS II Based Embedded Web Server Development for Networking Applications

MICROPROCESSOR AND MICROCOMPUTER BASICS

Developing Embedded Applications with ARM Cortex TM -M1 Processors in Actel IGLOO and Fusion FPGAs. White Paper

Instruction Set Design

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

ON SUITABILITY OF FPGA BASED EVOLVABLE HARDWARE SYSTEMS TO INTEGRATE RECONFIGURABLE CIRCUITS WITH HOST PROCESSING UNIT

PROBLEMS. which was discussed in Section

ECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. Basic Verilog

Pipeline Hazards. Structure hazard Data hazard. ComputerArchitecture_PipelineHazard1

Software engineering for real-time systems

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

FSMD and Gezel. Jan Madsen

Modeling Latches and Flip-flops

7a. System-on-chip design and prototyping platforms

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

Life Cycle of a Memory Request. Ring Example: 2 requests for lock 17

Windows Embedded Security and Surveillance Solutions

TYPES OF COMPUTERS AND THEIR PARTS MULTIPLE CHOICE QUESTIONS

PCB Project (*.PrjPcb)

(Refer Slide Time: 00:01:16 min)

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

Instruction Set Architecture. Datapath & Control. Instruction. LC-3 Overview: Memory and Registers. CIT 595 Spring 2010

RAM & ROM Based Digital Design. ECE 152A Winter 2012

Chapter 4 System Unit Components. Discovering Computers Your Interactive Guide to the Digital World

CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions

COMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton

Fernando Aguado-Agelet University of Vigo - INTA

CSE 141L Computer Architecture Lab Fall Lecture 2

Pre-tested System-on-Chip Design. Accelerates PLD Development

PART B QUESTIONS AND ANSWERS UNIT I

Software-Programmable FPGA IoT Platform. Kam Chuen Mak (Lattice Semiconductor) Andrew Canis (LegUp Computing) July 13, 2016

ELECTENG702 Advanced Embedded Systems. Improving AES128 software for Altera Nios II processor using custom instructions

Establishing Great Software Development Process(es) for Your Organization. By Dale Mayes

Exception and Interrupt Handling in ARM

IEC The Fast Guide to Open Control Software

AN FPGA FRAMEWORK SUPPORTING SOFTWARE PROGRAMMABLE RECONFIGURATION AND RAPID DEVELOPMENT OF SDR APPLICATIONS

SECTION C [short essay] [Not to exceed 120 words, Answer any SIX questions. Each question carries FOUR marks] 6 x 4=24 marks

EMBEDDED SYSTEM BASICS AND APPLICATION

ELE 356 Computer Engineering II. Section 1 Foundations Class 6 Architecture

A s we saw in Chapter 4, a CPU contains three main sections: the register section,

Software based Finite State Machine (FSM) with general purpose processors

İSTANBUL AYDIN UNIVERSITY

What is a System on a Chip?

FPGA Music Project. Matthew R. Guthaus. Department of Computer Engineering, University of California Santa Cruz

Discovering Computers Living in a Digital World

CHAPTER 7: The CPU and Memory

International Journal of Advancements in Research & Technology, Volume 2, Issue3, March ISSN

Levels of Programming Languages. Gerald Penn CSC 324

Computer Organization and Architecture

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC Microprocessor & Microcontroller Year/Sem : II/IV

Designing an efficient Programmable Logic Controller using Programmable System On Chip

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

ECE 3401 Lecture 7. Concurrent Statements & Sequential Statements (Process)

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

Chapter 2 Features of Embedded System

CONTENTS PREFACE 1 INTRODUCTION 1 2 NUMBER SYSTEMS AND CODES 25. vii

BUILD VERSUS BUY. Understanding the Total Cost of Embedded Design.

Computer Organization and Components

TIMING DIAGRAM O 8085

Networking Remote-Controlled Moving Image Monitoring System

Computer Systems Design and Architecture by V. Heuring and H. Jordan

EE360: Digital Design I Course Syllabus

Hardware and Software

Transcription:

Embedded Systems Design with Platform FPGAs Principles & Practices Ron Sass and Andrew G. Schmidt http://www.rcs.uncc.edu/ rsass University of North Carolina at Charlotte Spring 2011 Embedded Systems Design with Platform FPGAs 1/ 36

C h a p t e r 1 I n t r o d u c t i o n Embedded Systems Design with Platform FPGAs 2/ 36

Chapter 1 Learning Objectives Topics embedded systems concepts programming hardware and software challenges that embedded system designers face FPGA characteristics Embedded Systems Design with Platform FPGAs 3/ 36

Field-Programmable Gate Array a Field Programmable Gate Array, or FPGA, is in other words, it is a device whose function is not fixed at manufacture but rather can be configured (and often repeatedly reconfigured) after it has been installed Embedded Systems Design with Platform FPGAs 4/ 36

FPGA a Blank Slate D S Q Blank slate (when powered on) After configuration Embedded Systems Design with Platform FPGAs 5/ 36

Platform FPGA a Platform FPGA is physically identical to an FPGA we use Platform FPGA to characterize a device the aim of this class is to provide a foundation for building embedded systems on a Platform FPGA device Embedded Systems Design with Platform FPGAs 6/ 36

Embedded Systems What is a computing machine? How is embedded different from general-purpose? Mixing hardware and software different execution models Embedded Systems Design with Platform FPGAs 7/ 36

Abstract Computing Machine first of all, it is a machine first were mechanical later electro-mechanical nowadays, electronic environment provides inputs energy machine produces outputs heat Embedded Systems Design with Platform FPGAs 8/ 36

Abstract Computing Machine Illustrated Energy Heat Inputs Computing machine Outputs Environment Embedded Systems Design with Platform FPGAs 9/ 36

Computing Machine computing machine implicit in the machine is an encoding that gives meaning to the inputs and outputs the modern definition includes the ability to be controlled by a stored program Embedded Systems Design with Platform FPGAs 10/ 36

Hardware versus Software hardware the stuff that exists in the physical world you can touch it it is concrete software it is a set of rules, directives, commands that operates the machine as such it is abstract and doesn t exist in the physical world 1 1 although physical representations of software, such as print-outs, do exist Embedded Systems Design with Platform FPGAs 11/ 36

Software Terms a program for example, an assignment might be to create a program the language (C or MATLAB, for example) defines the syntax and semantics of valid programs as a verb (in the software world) programming refers to act of creating software; i.e. I will be programming until lunch. or He was programming the computer. Embedded Systems Design with Platform FPGAs 12/ 36

Hardware Terms FPGAs are part of a family of devices that are collectively referred to as programmable logic it makes sense as a noun because these devices leave the factory with no fixed function however, the early devices didn t use a language the engineer simply picked which fuses this can lead to some confusion because... in the hardware world, programming as a verb usually refers to the act of storing data in a non-volatile device or transferring a configuration Use this device to program your EEPROM. Wait until the FPGA has been completely programmed before starting the motor. To avoid confusion, we prefer to use the verb to refer to the act of programming an FPGA configure Embedded Systems Design with Platform FPGAs 13/ 36

FPGAs Terms Modern Field-Programmable Gate Arrays further muddy the waters... modern FPGAs have millions of configuration bits simply not practical to manually set the configuration bits instead, designers use a Hardware Description Languages (HDL) an HDL is as such, it shares the same characteristics as software (it is abstract, has syntax, and semantics) but designers still typically call it hardware! Embedded Systems Design with Platform FPGAs 14/ 36

Hardware Design Terms in the case of FPGAs, hardware is often used as shorthand for hardware design a (hardware) design is a core is could be as simple as a multiplier core or as complex as a processor core organizations that sell cores will call them IP cores where IP stands for Intellectual Property Embedded Systems Design with Platform FPGAs 15/ 36

FPGA-specific Design Terms a hard core in FPGA lingo refers to a soft core is NOTE: note that this is different from the ASIC world where they mean something else at one time, a vendor referred to hard core as a diffused IP core sometimes, block is synonymous with core (as in, your design requires a multiplier block ) hard macros introduce them later) are something completely different (we ll Embedded Systems Design with Platform FPGAs 16/ 36

Embedded versus General-Purpose an embedded computing system (or just embedded system) is in contrast, a general-purpose computing system is a computer that is an end-product of itself General Characteristics General-Purpose Embedded standard peripherals 3rd party software purchased as a computer specialized peripherals single vendor software product has different name (i.e., phone ) Embedded Systems Design with Platform FPGAs 17/ 36

Embedded Systems Examples Mobile Phone Security Camera Payment Capture Embedded Systems Design with Platform FPGAs 18/ 36

Execution Models since embedded systems are part of a larger product, they interact with wide range of specialized peripherals (application-specific actuators, sensors) often require the functionality to be split between hardware and software components however, hardware and software use different execution models Embedded Systems Design with Platform FPGAs 19/ 36

Sequential Model MEMORY PROCESSOR 00 01 02 03 04 CLR Acc ADD R0 ADD R1 ADD R2 PC addr data bus r/w reg ctrl Register file R0 R1 R2 R3 Instruction decode and sequencing func ALU FF CLR/latch Acc Embedded Systems Design with Platform FPGAs 20/ 36

Dataflow Model Custom R0 R1 R2 Unit R 0 4-bit t R adder 0 1 4-bit adder A c c R 2 Sequencer Embedded Systems Design with Platform FPGAs 21/ 36

Execution Models Explained sequential uniform time steps (typically) one instruction completes before next is started data movement is general dataflow data may not move uniformly through system data flows along pre-assigned (or restricted) paths between computation units Embedded Systems Design with Platform FPGAs 22/ 36

Sequential v. Dataflow Timing Sequential Data-flow One clock cycle fetch execute fetch execute Instruction CLR Acc assert CLR on Acc register; advance PC instruction ADD R0 assert RD, select 00 on reg. file; assert read; select function ADD on ALU latch result on Acc latch register to latch register Acc One clock cycle fetch Instruction ADD R1 Time we will return to this concept multiple times Embedded Systems Design with Platform FPGAs 23/ 36

Design Challenges designing embedded systems is more challenging than programming ordinary applications software starts at power up and must run until powered off products usually have a hardware design component an additional hardware/software integration step debugging can be more difficult moreover, the embedded systems are evaluated over a larger range of metrics than ordinary applications and, finally, the costs of completing an embedded systems project tend to be more complex Before we show how Platform FPGAs can be useful to embedded systems designers, we will review the challenges that embedded systems designers face. Embedded Systems Design with Platform FPGAs 24/ 36

Project Management often embedded systems designers are involved with all aspects of the project this can include several non-technical tasks such as project management melding different approaches to development finance as we close the first chapter, we briefly visit some of topics Embedded Systems Design with Platform FPGAs 25/ 36

Project Lifecycle Requirements Specification Design Integration Maintenance Embedded Systems Design with Platform FPGAs 26/ 36

Waterfall Model there many different development models; the waterfall model is probably the simplest basic ideas: complete each stage before advancing the cost of going backwards (up the waterfall) to fix a for example, a requirements mistake is very steep mostly, the model helps a designer consciously think about organizing the project s activities Embedded Systems Design with Platform FPGAs 27/ 36

Hardware and Software Revision Rates Effort 1st revision Initial HW HW 2nd revision Final revision SW Final revision Minor revisions Major revision Initial SW Time Embedded Systems Design with Platform FPGAs 28/ 36

Development Philosophies embedded system projects tend to bring different groups of people together with different approaches philosophies hardware designers usually have very expensive non-recurring costs; they tend to test extensively and revise cautiously software developers have the advantage of fast turn around (i.e. compilation time is fast); they tend revise quickly on traditional embedded systems projects, these philosophies can clash but the two groups have to be tightly coupled (for example, some software development can t begin until the hardware board is delivered) Platform FPGA projects have the opportunity to blend these approaches Embedded Systems Design with Platform FPGAs 29/ 36

Cost of Missing Deadlines programmers and engineers that let deadlines slip are sometimes ignorant of the costs associated with it some products (such as consumer electronics) have annual cycles that are critical to sales i.e., bring a product to market before the end of year Holidays is extremely important many projects are financed which means that additional work days are incurring additional finance charges some products have a peak demand missing the window means that some potential sales are lost forever at the least, designers should be cognizant of the issues if not actively involved in these aspects of the project Embedded Systems Design with Platform FPGAs 30/ 36

Costs Illustrated Profit ($) On-time A Labor Delayed W 2W Time B C Embedded Systems Design with Platform FPGAs 31/ 36

Chapter-In-Review Chapter 1 addressed: What is an embedded system? Why are embedded systems different? How does Platform FPGAs help? Specifically, the topics covered: embedded systems concepts programming hardware and software challenges that embedded system designers face FPGA characteristics Embedded Systems Design with Platform FPGAs 32/ 36

Chapter 1 Terms Embedded Systems Design with Platform FPGAs 33/ 36

Chapter 1 Terms Embedded Systems Design with Platform FPGAs 34/ 36

Chapter 1 Terms Embedded Systems Design with Platform FPGAs 35/ 36

Chapter 1 Terms Embedded Systems Design with Platform FPGAs 36/ 36