Frank Vahid and Walid Najjar

Slides:



Advertisements
Similar presentations
VHDL Design of Multifunctional RISC Processor on FPGA
Advertisements

Frank Vahid, UC Riverside 1 First Results with eBlocks: Embedded Systems Building Blocks Susan Cotterell, Frank Vahid*, Walid Najjar and Harry Hsieh Department.
Automated Generation of Basic Custom Sensor-Based Embedded Computing Systems Guided by End-User Optimization Criteria Susan Lysecky Dept. of Electrical.
Frank Vahid, UC Riverside 1 System-on-a-Chip Platform Tuning for Embedded Systems Frank Vahid Associate Professor Dept. of Computer Science and Engineering.
Embedded System Design Using FPGAs Module F1-1. What is an Embedded System It is not a PC! Most computers in the world do not have a keyboard and screen.
Frank Vahid, UC Riverside 1 First Results with eBlocks: Embedded Systems Building Blocks Susan Cotterell, Frank Vahid*, Walid Najjar and Harry Hsieh Department.
Frank Vahid, UC Riverside 1 New Opportunities with Platform Based Design Frank Vahid Associate Professor Dept. of Computer Science and Engineering University.
Configurable System-on-Chip: Xilinx EDK
SensorBlocks: The Wood-and-Nails of the Electronic Sensor World Frank Vahid* Department of Computer Science and Engineering University of California, Riverside.
You Can Do It – eBlocks Enabling Regular People to Build Useful Customized Sensor-Based Systems Frank Vahid Professor Dept. of Computer Science and Engineering.
WELCOME M.TECH- BIOMEDICAL SIGNAL PROCESSING & INSTRUMENTATION Murigendrayya M Hiremath Lecturer –ML DSCE.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
EC4012PA PIC 18F Introduction 2  Processor  Input Devices  Output Devices  Memory Devices 3.
1 © Unitec New Zealand Overview Of Embedded Hardware ETEC 6416 Date: - 03 Aug, 2011.
How to design Microcontroller Based System? Fall 2014 Sung Yeul Park, Ph.D. Dept. of Electrical and Computer Eng University of Connecticut.
L29:Lower Power Embedded Architecture Design 성균관대학교 조 준 동 교수,
Microcontroller Systems: Motivation
Embedded Systems. 2 A “short list” of embedded systems And the list goes on and on Anti-lock brakes Auto-focus cameras Automatic teller machines Automatic.
Computing Systems Computer abstractions and technology.
 eBlock is an electronics block.  It can define as embedded system building block used in sensor based system.  Enable non-experts to build basic small-scale.
1 Lecture 1: Embedded Systems Overview, AVR Hardware/Software Introduction.
1 Chapter 1: Introduction.  Embedded systems overview  What are they?  Design challenge – optimizing design metrics  Technologies  Processor technologies.
COMPUTER ARCHITECTURE. Recommended Text 1Computer Organization and Architecture by William Stallings 2Structured Computer Organisation Andrew S. Tanenbaum.
Finite State Machines (FSMs) and RAMs and CPUs COS 116, Spring 2011 Sanjeev Arora.
The AVR Microcontroller: History and Features
Technology discontinuities drive new computing paradigms and applications 1960 Mainframe ComputerIBM 1970 Mini-Computer DEC 1980 WorkstationSun, HP 1990PCIntel,
Succeeding with Technology Chapter 2 Hardware Designed to Meet the Need The Digital Revolution Integrated Circuits and Processing Storage Input, Output,
Slides created by: Professor Ian G. Harris Embedded Systems  Embedded systems are computer-based systems which are embedded inside another device (car,
Embedded Systems Introduction. Microprocessor building blocks 1. ALU (Arithmetic Logic Unit): The ALU is a sequential logic circuitry that is intended.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
Embedded Systems Overview Prepared by Nisha Sinsinbar Subject: Microcontoller & Interfacing Sub code: EC Department.
Chapter 1: Embedded Computing Embedded System Design.
SEPTEMBER 8, 2015 Computer Hardware 1-1. HARDWARE TERMS CPU — Central Processing Unit RAM — Random-Access Memory  “random-access” means the CPU can read.
KAASHIV INFOTECH – A SOFTWARE CUM RESEARCH COMPANY IN ELECTRONICS, ELECTRICAL, CIVIL AND MECHANICAL AREAS
1 بسم الله الرحمن الرحيم لـغـة الـتـجـمـيــع Assembly Language.
Introduction to the FPGA and Labs
Basic Computer Hardware and Software.
Mikrodenetleyiciler/Mikrokontrolörler (Microcontrollers)
High-Performance Embedded System Design: Using FPGA
EMBEDDED SYSTEMS.
Lab 1: Using NIOS II processor for code execution on FPGA
Arduino Based Industrial appliances control system by decoding dual tone multi frequency signals on GSM / CDMA network. Submitted by:
MCU – Microcontroller Unit – 1
Computer Hardware – System Unit
ECE354 Embedded Systems Introduction C Andras Moritz.
Basic Computer Hardware & Software
Instructor: Dr. Phillip Jones
EmbedDed Systems – MECT190
AS PER OBE SYLLABUS DTE KARNATAKA SHANTHU M.Tech SAI JAYANI ACADEMY (R) SIXTH SEMESTER Diploma in ELECTRONICS AND COMMUNICATION ENGINEERING.
Week 3 The Components of the System Unit
Introduction to Reconfigurable Computing
Why microcontrollers in embedded systems?
Basic Computer Hardware and Software.
Chapter5.
Lecture 3 The Hardware.
EmbedDed Systems – MECT190
Figure 1 PC Emulation System Display Memory [Embedded SOC Software]
NOES Retreat: Summary Guru Parulkar
A Digital Signal Prophecy The past, present and future of programmable DSP and the effects on high performance applications Continuing technology enhancements.
Chapter 1 Introduction.
Design Technologies for Integrated Systems
Installing and Troubleshooting Hardware
Introduction to Embedded Systems
Chapter 4: Hardware for Educators
SNS COLLEGE OF TECHNOLOGY
Introduction to Embedded Systems
Portable SystemC-on-a-Chip
Hardware Information Created by Nasih.
Embedded Systems By : Simran Amaandeep Singh
(Lecture by Hasan Hassan)
Presentation transcript:

Frank Vahid and Walid Najjar Embedded Systems: Enabling technologies and roadmap, promising applications, research opportunities Frank Vahid and Walid Najjar Dept. of Computer Science and Engineering University of California, Riverside NOES meeting, January 2004 Frank Vahid, UC Riverside

Key Technology Trend Moore’s Law: 2x every 18 months ~10,000 transistors in 1980 Nearly 1 billion transistors today 10,000 1,000 Logic transistors per chip (in millions) 100 10 IC capacity Source: ITRS’99 1 0.1 0.01 0.001 1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009 Frank Vahid, UC Riverside

Frank Vahid, UC Riverside Key Technology Trend Graphical illustration of Moore’s Law 1981 1984 1987 1990 1993 1996 1999 2002 Leading edge chip in 1981 10,000 transistors chip in 2002 150,000,000 Two trends Smaller and cheaper More functions Frank Vahid, UC Riverside

Smaller and cheaper chips 32-bit microprocessor, plus networking, in tiny packages E.g., “Smart dust” Mass-produced microcontrollers E.g., PICs for <$1 today, likely pennies in the future “Smart dust” Getting awfully small... Photo courtesy of Joe Kahn Frank Vahid, UC Riverside

Computers Everywhere -- Today Anti-lock brakes Auto-focus cameras Automatic teller machines Automatic toll systems Automatic transmission Avionic systems Battery chargers Camcorders Cell phones Cell-phone base stations Cordless phones Cruise control Curbside check-in systems Digital cameras Disk drives Electronic card readers Electronic instruments Electronic toys/games Factory control Fax machines Fingerprint identifiers Home security systems Life-support systems Medical testing systems Modems MPEG decoders Network cards Network switches/routers On-board navigation Pagers A “short-list” of embedded systems A computing system embedded within an electronic product whose primary function is not a computer 98% of processors are embedded [Tu02] 40-50 in every home >50 in some cars Annual sales Embedded processors alone >$3 billion (Dataquest’00) Other ICs >$20 billion (Gartner/Dataquest 01) Photocopiers Point-of-sale systems Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems Televisions Temperature controllers Theft tracking systems TV set-top boxes VCR’s, DVD players Video game consoles Video phones Washers and dryers Frank Vahid, UC Riverside

Computers everywhere – today Frank Vahid, UC Riverside

Computers everywhere -- tomorrow In every hallway? In every electric appliance? In every food package? In every shirt? In every tooth? Frank Vahid, UC Riverside

Smaller and cheaper – UCR’s “eBlocks” Inside house LED wireless RX At garage door Outside Light Sensor Magnetic Contact Switch 2-Input Logic wireless TX Garage Door Open at Night (wireless solution) Sensors, logic, communication, and output blocks No programming or electronics experience 2-3 year battery life Solution: Every block has computer, communication via packets Future: autoconfiguration? Countless possible uses NSF-funded Vahid, Najjar, Hsieh Frank Vahid, UC Riverside

Defining Basic eBlocks – Partial Catalog Diagram Description Interface Magnetic Contact Switch Determines when contact between two sensors is made. yes = contact between sensors no = no contact between sensors Light Sensor Sensor detects presence of light. yes = light detected no = no light detected Button Indicates whether button is pressed or not. yes = button pressed no = button not pressed LED Device blinks a light when input is a yes. Device emits no light when input is no. yes = blink LED no = turn LED off Splitter Device receives a signal and replicates that signal on each output. yes = output yes signal no = output no signal Toggle An input of yes toggles (inverts) the current value outputted by the device. yes = toggle previous output value no = do nothing  2-Input Logic Block  Configurable logic block programmed by the user via DIP switch. For each of the possible outcomes of a and b, there is a corresponding switch which can be set so the resulting output is a yes or no for that particular combination. Magnetic Contact Switch yes/no Light Sensor yes/no Button yes/no LED yes/no Splitter yes/no Toggle yes/no 2-Input Logic yes/no Frank Vahid, UC Riverside

Defining Basic eBlocks – How to Implement Logic? Logic to detect motion at night Motion sensor output A = yes, light sensor output B = no Motion at night = A AND (NOT B) = A * B’ Equations too hard for regular person, plus how to enter it? In general, regular people very weak with logic Can’t create unique eBlock for every unique 2-input logic function Create one 2-input logic block User must configure that block Solution: print truth table on block, user sets switches for each possible input Not ideal, but sufficient for now Logic A B from motion sensor from light sensor no yes A B Output Frank Vahid, UC Riverside

Frank Vahid, UC Riverside Programmability 100s of sensors in one network Write 100s of C programs? Or, write one description of functionality and GENERATE 100s of programs. Which language can express the system design? Simulation? Impractical at this scale Verification is the only option Frank Vahid, UC Riverside

Frank Vahid, UC Riverside Key Technology Trend Graphical illustration of Moore’s Law 1981 1984 1987 1990 1993 1996 1999 2002 Leading edge chip in 1981 10,000 transistors chip in 2002 150,000,000 Two trends Smaller and cheaper More functions Frank Vahid, UC Riverside

More functions -- present Entire systems on one chip Philips Viper: high-quality audio and video 1,920 x 1,080 interlaced pixels Processes multiple input streams Renders, composes and outputs video and audio output streams Tremendous data-processing demands SDRAM ctrl MIPS CPU TriMedia CPU Int ctrl MPEG2 dcd 2D rend JTAG image proc. PCI Clocks video proc. I^2 C IC debug other proc. 1394 CPU debug Digital I/O CRC DMA USB Audio I/O UART Other I/O Frank Vahid, UC Riverside

More functions – future? Hundreds of processors on a single chip? Frank Vahid, UC Riverside

More functions – PROBLEM! Design productivity gap 10,000 1,000 100 10 1 0.1 0.01 0.001 Logic transistors per chip (in millions) 100,000 1000 Productivity (K) Trans./Staff-Mo. 1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009 IC capacity productivity Gap Moore’s Law Source: ITRS’99 Designer productivity growing at slower rate 1981: 100 designer months  ~$1M 2002: 30,000 designer months  ~$300M Frank Vahid, UC Riverside

Trend Towards Pre-Fabricated Platforms Example -- ASSP: application specific standard product Domain-specific pre-fabricated IC e.g., digital camera IC ASIC: application specific IC ASSP revenue > ASIC ASSP design starts > ASIC Unique IC design Ignores quantity of same IC ASIC design starts decreasing Due to strong benefits of using pre-fabricated devices Source: Gartner/Dataquest September’01 Frank Vahid, UC Riverside

Single-Chip Microprocessor/FPGA Platforms Altera’s Excalibur EPXA 10 (2002) ARM (922T) hard core 200 Dhrystone MIPS at 200 MHz ~200k to ~2 million logic gates Source: www.altera.com Frank Vahid, UC Riverside

Single-Chip Microprocessor/FPGA Platforms Xilinx Virtex II Pro (2002) PowerPC based 420 Dhrystone MIPS at 300 MHz 1 to 4 PowerPCs 4 to 16 gigabit transceivers 12 to 216 multipliers Millions of logic gates 200k to 4M bits RAM 204 to 852 I/O $100-$500 (>25,000 units) Up to 16 serial transceivers 622 Mbps to 3.125 Gbps PowerPCs Config. logic Courtesy of Xilinx Frank Vahid, UC Riverside

New generation of languages and compilers needed Languages to specify functionality of hugely complex systems Built largely from existing functions Compilers to map functionality to existing hardware resources Multiple processors, plus FPGA How convert to functionality to custom circuit on FPGA? While considering performance, power, and size criteria Frank Vahid, UC Riverside

Advantage of compiling to hw: Parallelism * + 2 MACs + 1 ALU 2 taps/cycle Advanced DSP * + 1 MAC 1 tap/cycle Simple CPU or DSP * + RC fabric – custom circuit K taps/cycle FPGA Fabric Parallelism limited by chip area or memory bandwidth With enough bandwidth: 100s of iterations! Frank Vahid, UC Riverside

UCR: Some Performance Results PC: 800 MHz Pentium III, FPGA: Xilinx Virtex E 2000, all FPGA programs compiled from SA-C with extensive compiler optimizations Code FPGA Clock (MHz) Execution Time (msec) Speed-up Comments FPGA PC Wavelet 35.1 2.0 77.0 35 C++ code on PC Canny 32.2 6.0 850.0 142 C code on PC 135.0 22.5 MMX code on PC Prewitt 42.1 1.9 158.0 83 Erode/Dilate 46.5 3.1 67.0 21.6 AddS 51.7 0.67 5.95 8.88 MMX IPL op. SAR ATR 41.1 80 65,000 800 3 FPGAs and 400 concurrent iterations Ref: W. Najjar et al., IEEE Computer August 2003 Frank Vahid, UC Riverside

Compilers for future platforms UCR research Synthesis of C to hw circuits Automatic partitioning of program among sw and hw From C/C++/Java source, or even binaries 10x-100x speedups by mapping sw kernels to hw Warp processors – same, but dynamic and transparent Vahid, Najjar, Hsieh, Tan Funding: NSF, SRC (Semiconductor Research Corp), Los Alamos, Northup Gruman, others… How can we support platforms with hundreds of microprocessors and huge FPGAs? Also, how utilize processor “soft cores” that can be mapped to the FPGA too? Frank Vahid, UC Riverside

Frank Vahid, UC Riverside Directions Smaller and cheaper trend Languages to specify desired system behavior Synthesis tools to generate hw and sw Power optimization More functions trend Languages/compilers for multi-billion-transistor platforms having hundreds of processors and huge FPGAs Frank Vahid, UC Riverside