The Embedded computing platform. Four-cycle handshake. Bus protocol. Typical bus signals. Four-cycle example. CPU bus.

Similar documents
Computing platforms. Design methodology. Consumer electronics architectures. System-level performance and power analysis.

I/O Devices & Debugging. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Lecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT

CHAPTER 1 INTRODUCTION

Digital Integrated Circuits

Recap from last class

Overview of Microcontroller and Embedded Systems

Last class: Today: Course administration OS definition, some history. Background on Computer Architecture

BUS BASED COMPUTER SYSTEM

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Interfacing. Introduction. Introduction Addressing Interrupt DMA Arbitration Advanced communication architectures. Vahid, Givargis

EEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1

Reading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1

Effective Verification of ARM SoCs

Nanometer technologies enable higher-frequency designs

Embedded Applications. COMP595EA Lecture03 Hardware Architecture

Exercise 4-1. DSP Peripherals EXERCISE OBJECTIVES

UNIT Write the major components of bus protocol. Explain the burst read transaction with a neat timing diagram?

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

ECE 571 Advanced Microprocessor-Based Design Lecture 3

ARM Processors for Embedded Applications

V8-uRISC 8-bit RISC Microprocessor AllianceCORE Facts Core Specifics VAutomation, Inc. Supported Devices/Resources Remaining I/O CLBs

_ V Renesas R8C In-Circuit Emulation. Contents. Technical Notes

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010

INTERCONNECT TESTING WITH BOUNDARY SCAN

Chapter 5: ASICs Vs. PLDs

Chapter 9. Design for Testability

By Matthew Noonan, Project Manager, Resource Group s Embedded Systems & Solutions

CONSIDERATIONS FOR THE DESIGN OF A REUSABLE SOC HARDWARE/SOFTWARE

SCANWORKS TEST DEVELOPMENT STATION BUNDLE

Veloce2 the Enterprise Verification Platform. Simon Chen Emulation Business Development Director Mentor Graphics

Hardware Software Codesign of Embedded Systems

Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts)

Rapidly Developing Embedded Systems Using Configurable Processors

VLSI Test Technology and Reliability (ET4076)

Buses. Maurizio Palesi. Maurizio Palesi 1

Chapter 1 Overview of Digital Systems Design

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

Computer Science 146. Computer Architecture

CPE/EE 421/521 Fall 2004 Chapter 4 The CPU Hardware Model. Dr. Rhonda Kay Gaede UAH. The CPU Hardware Model - Overview

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.

Testing Digital Systems I

Universal Serial Bus Host Interface on an FPGA

Microprocessors & Interfacing

Hardware Software Codesign of Embedded System

EEM336 Microprocessors I. I/O Interface

l Some materials from various sources! Soma 1! l Apply a signal, measure output, compare l 32-bit adder test example:!

Lab 3c Performance Debugging Page 3c.1

INPUT/OUTPUT ORGANIZATION

AMD actual programming and testing on a system board. We will take a simple design example and go through the various stages of this design process.

PC Interrupt Structure and 8259 DMA Controllers

Interrupts (I) Lecturer: Sri Notes by Annie Guo. Week8 1

Interface Synthesis. Communication Synthesis

Verification and Testing

CPS104 Computer Organization and Programming Lecture 17: Interrupts and Exceptions. Interrupts Exceptions and Traps. Visualizing an Interrupt

IN-CIRCUIT DEBUG (ICD) USER GUIDE

Digital Input and Output

Digital Design Methodology (Revisited) Design Methodology: Big Picture

EE414 Embedded Systems. Ch 6. Interfacing. Part 4/4: DMA & Arbitration

Introduction to the PCI Interface. Meeta Srivastav

Texas Instruments Mixed Signal Processor Tutorial Abstract

PCI-4IPM Revision C. Second Generation Intelligent IP Carrier for PCI Systems Up to Four IndustryPack Modules Dual Ported SRAM, Bus Master DMA

Input/Output. Today. Next. Principles of I/O hardware & software I/O software layers Disks. Protection & Security

Embedded Systems Design (630414) Lecture 1 Introduction to Embedded Systems Prof. Kasim M. Al-Aubidy Computer Eng. Dept.

Programmed I/O Interrupt-Driven I/O Direct Memory Access (DMA) I/O Processors. 10/12/2017 Input/Output Systems and Peripheral Devices (02-2)

General Purpose Programmable Peripheral Devices. Assistant Professor, EC Dept., Sankalchand Patel College of Engg.,Visnagar

Learning Module 9. Managing the Sensor: Embedded Computing. Paul Flikkema. Department of Electrical Engineering Northern Arizona University

Designing Embedded Processors in FPGAs

Page 1. Outline. A Good Reference and a Caveat. Testing. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Testing and Design for Test

Unit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION

Embedded Systems: Architecture

Organization. 5.1 Semiconductor Main Memory. William Stallings Computer Organization and Architecture 6th Edition

Embedded Systems: Hardware Components (part II) Todor Stefanov

WS_CCESSH5-OUT-v1.01.doc Page 1 of 7

12. Use of Test Generation Algorithms and Emulation

INPUT-OUTPUT ORGANIZATION

Course Introduction. Purpose: Objectives: Content: 27 pages 4 questions. Learning Time: 20 minutes

Advanced Test Equipment Rentals ATEC (2832)

System-level simulation (HW/SW co-simulation) Outline. EE290A: Design of Embedded System ASV/LL 9/10

Unit 1. Chapter 3 Top Level View of Computer Function and Interconnection

Hardware/Software Co-Verification Using the SystemVerilog DPI

Introduction to Embedded System I/O Architectures

The control of I/O devices is a major concern for OS designers

EB-51 Low-Cost Emulator

Keil uvision development story (Adapted from (Valvano, 2014a))

ECE 353 Lab 4. MIDI Receiver in Verilog. Professor Daniel Holcomb UMass Amherst Fall 2016

Optimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics

AVR XMEGA TM. A New Reference for 8/16-bit Microcontrollers. Ingar Fredriksen AVR Product Marketing Director

System Testability Using Standard Logic

FPGA design with National Instuments

EECS 373 Design of Microprocessor-Based Systems

APPLICATION NOTE PACE P1754 PIC SYSTEM TEST

Architecture of Computers and Parallel Systems Part 2: Communication with Devices

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics

Digital Control for Space Power Management Devices

MICROPROCESSOR BASED SYSTEM DESIGN

EE434 ASIC & Digital Systems Testing

Linux on the PowerPC 4xx

WS_CCESBF7-OUT-v1.00.doc Page 1 of 8

VLSI System Testing. Fault Simulation

Transcription:

The Embedded computing platform CPU bus. Memory. I/O devices. CPU bus Connects CPU to: memory; devices. Protocol controls communication between entities. Bus protocol Determines who gets to use the bus at any particular time. Governs length, style of communication. Four-cycle handshake Basis of many bus protocols. Uses two wires: enq (enquiry); ack (acknowledgment). dev1 enq data ack dev2 Four-cycle example Typical bus signals enq ack 1 2 3 data 4 Clock. R/W : true when bus is reading. Address: a-bit bundle. Data: n-bit bundle. Data ready. time 1

Timing diagrams Typical bus timing for read A B C zero one rising 10 ns changing falling stable time CPU: set R/W =1; asserts address, address enable. Memory: asserts data; asserts data ready. CPU: deasserts address, address enable. Bus read state diagram Transaction types Get data See ack Wait Done Adrs Wait state: state in a bus transaction to wait for acknowledgment. Disconnected transfer: bus is freed during wait state. Burst: multiple transfers. Timers and counters Very similar: a timer is incremented by a periodic signal; a counter is incremented by an asynchronous, occasional signal. Rollover causes interrupt. Watchdog timer Watchdog timer is periodically reset by system timer. If watchdog is not reset, it generates an interrupt to reset the host. host CPU interrupt reset watchdog timer 2

Designing with microprocessors Hardware platform architecture Architectures and components: software; hardware. Debugging. Manufacturing testing. Contains several elements: CPU; bus; memory; I/O devices: networking, sensors, actuators, etc. How big/fast much each one be? Software architecture Hardware and software architectures Functional description must be broken into pieces: division among people; conceptual organization; performance; testability; maintenance. Hardware and software are intimately related: software doesn t run without hardware; how much hardware you need is determined by the software requirements: speed; memory. Software components Software state machine Need to break the design up into pieces to be able to write the code. Some component designs come up often. A design pattern is a generic description of a component that can be customized and used in different circumstances. State machine keeps internal state as a variable, changes state based on inputs. Uses: control-dominated code; reactive systems. 3

Software design techniques Want to develop as much code as possible on a standard platform: friendlier programming environment; easier debugging. May need to devise software stubs to allow testing of software elements without the full hardware/software platform. Host/target design Use a host system to prepare software for target system: host system serial line target system Host-based tools Cross compiler: compiles code on host for target system. Cross debugger: displays target state, allows target system to be controlled. Evaluation boards Designed by CPU manufacturer or others. Includes CPU, memory, some I/O devices. May include prototyping section. CPU manufacturer often gives out evaluation board netlist---can be used as starting point for your custom board design. Adding logic to a board Programmable logic devices (PLDs) provide low/medium density logic. Field-programmable gate arrays (FPGAs) provide more logic and multi-level logic. Application-specific integrated circuits (ASICs) are manufactured for a single purpose. The PC as a platform Advantages: cheap and easy to get; rich and familiar software environment. Disadvantages: requires a lot of hardware resources; not well-adapted to real-time. 4

Typical PC hardware platform Typical busses intr ctrl CPU DMA controller CPU bus timers memory bus interface bus interface device high-speed bus low-speed bus device ISA (Industry Standard Architecture): original IBM PC bus, low-speed by today s standard. PCI: standard for high-speed interfacing 33 or 66 MHz. USB (Universal Serial Bus), Firewire: relatively low-cost serial interface with high speed. Software elements Example: StrongARM IBM PC uses BIOS (Basic I/O System) to implement low-level functions: boot-up; minimal device drivers. BIOS has become a generic term for the lowest-level system software. StrongARM system includes: CPU chip (3.686 MHz clock) system control module (32.768 khz clock). Real-time clock; operating system timer general-purpose I/O; interrupt controller; power manager controller; reset controller. Debugging embedded systems Software debuggers Challenges: target system may be hard to observe; target may be hard to control; may be hard to generate realistic inputs; setup sequence may be complex. A monitor program residing on the target provides basic debugger functions. Debugger should have a minimal footprint in memory. User program must be careful not to destroy debugger program, but, should be able to recover from some damage caused by user code. 5

Breakpoints ARM breakpoints A breakpoint allows the user to stop execution, examine system state, and change state. Replace the breakpointed instruction with a subroutine call to the monitor program. 0x400 MUL r4,r6,r6 0x404 ADD r2,r2,r4 0x408 ADD r0,r0,#1 0x40c B loop uninstrumented code 0x400 MUL r4,r6,r6 0x404 ADD r2,r2,r4 0x408 ADD r0,r0,#1 0x40c BL bkpoint code with breakpoint Breakpoint handler actions In-circuit emulators Save registers. Allow user to examine machine. Before returning, restore system state. Safest way to execute the instruction is to replace it and execute in place. Put another breakpoint after the replaced breakpoint to allow restoring the original breakpoint. A microprocessor in-circuit emulator is a specially-instrumented microprocessor. Allows you to stop execution, examine CPU state, modify registers. Logic analyzers Logic analyzer architecture A logic analyzer is an array of low-grade oscilloscopes: UUT sample memory microprocessor system clock controller vector address clock gen state or timing mode keypad display 6

How to exercise code Run on host system. Run on target system. Run in instruction-level simulator. Run on cycle-accurate simulator. Run in hardware/software co-simulation environment. Manufacturing testing Goal: ensure that manufacturing produces defect-free copies of the design. Can test by comparing unit being tested to the expected behavior. But running tests is expensive. Maximize confidence while minimizing testing cost. Testing concepts Faults Yield: proportion of manufactured systems that work. Proper manufacturing maximizes yield. Proper testing accurately estimates yield. Field return: defective unit that leaves the factory. Manufacturing problems can be caused by many thing. Fault model: model that predicts effects of a particular type of fault. Fault coverage: proportion of possible faults found by a set of test. Having a fault model allows us to determine fault coverage. Software vs. hardware testing When testing code, we have no fault model. We verify the implementation, not the manufacturing. Simple tests (e.g., ECC) work well to verify software manufacturing. Hardware requires manufacturing tests in addition to implementation verification. Hardware fault models Stuck-at 0/1 fault model: output of gate is always 0/1. 0 1 0 7

Combinational testing Sequential testing Every gate can be stuck-at-0, stuck-at-1. Usually test for single stuck-at-faults. One fault at a time. Multiple faults can mask each other. We can generate a test for a gate by: controlling the gate s input; observing the gate s output through other gates. A state machine is combinational logic + registers. Sequential testing is considerably harder. A single stuck-at fault affects the machine on every cycle. Fault behavior on one cycle can be masked by same fault on other cycles. Scan chains Test generation A scannable register operates in two modes: normal; scan---forms an element in a shift register. Using scan chains reduces sequential testing to combinational testing. Unloading/unloading scan chain is slow. May use partial scan. Automatic test pattern generation (ATPG) programs: produce a set of tests given the logic structure. Some faults may not be testable--- redundant. Timeout on a fault may mean hard-to-test or untestable. Boundary scan Simplifies testing of multiple chips on a board. Registers on pins can be configured as a scan chain. 8