HW/SW Codesign w/ FPGAs Embedded Systems ECE 495/595 Overview (Slides from Embedded Systems Design, F. Vahid and T. Givargis) Embedded computing systems definition: • Computing systems embedded within electronic devices. • Hard to define -- nearly any computing system other than a desktop computer. • Billions of units produced yearly, versus millions of desktop units. • Perhaps 50 per household and per automobile. Characteristics of Embedded Systems • Single-functioned Executes a single program, repeatedly. • Tightly-constrained Low cost, low power, small, fast, etc. • Reactive and real-time Continually reacts to changes in the system’s environment. Must compute certain results in real-time without delay. For example, a car’s cruise controller must monitor and react to speed and brake sensors. ECE UNM 1 (2/3/09)
HW/SW Codesign w/ FPGAs Embedded Systems ECE 495/595 Embedded System Example A digital camera chip: CCD CCD preprocessor Pixel coprocessor A/D A/D lens JPEG codec Microcontroller Mult/Accum Display Ctrl DMA controller Mem. controller ISA bus interface UART LCD Ctrl Single-functioned, tightly-constrained (low cost/power/small), not real-time . ECE UNM 2 (2/3/09)
HW/SW Codesign w/ FPGAs Embedded Systems ECE 495/595 Embedded System Challenges The design challenge for an engineer is to simultaneously optimize a set of possibly conflicting design metrics . A design metric is a measurable feature of a system’s implementation • NRE cost (Non-Recurring Engineering cost): The one-time monetary cost of designing the system. • Unit cost: the monetary cost of manufacturing each copy of the system, excluding NRE cost. • Size: the physical space required by the system, e.g., bytes and gates. • Performance: the execution time or throughput of the system. • Power: the amount of power consumed by the system, for battery life/cooling req. • Flexibility: the ability to change the functionality of the system without incurring heavy NRE cost. • Time-to-prototype: the time needed to build a working version of the system. • Time-to-market: the time required to develop a system to the point that it can be released and sold to customers. • Maintainability: the ability to modify the system after its initial release (by others). • Correctness, safety, etc... ECE UNM 3 (2/3/09)
HW/SW Codesign w/ FPGAs Embedded Systems ECE 495/595 Embedded System Challenges Improving one design metric one may worsen others Power Size Performance NRE cost Designers must be an expert with both software and hardware . They must be comfortable with various technologies (and moving between them) in order to choose the best for a given application and constraints. Time-to-Market Design Metric Market window : Period during which the product would have highest sales. Challenge: Growing system complexities, driven by increased IC capacities, requires designers to do more in less time. ECE UNM 4 (2/3/09)
HW/SW Codesign w/ FPGAs Embedded Systems ECE 495/595 Embedded System Design Metrics Time-to-Market Design Metric Simplified revenue model Product life: 2W, peak at W Peak revenue Market Market rise Peak revenue from delayed entry On-time rise Area of triangle equals Market revenue fall Delayed Area difference is revenue loss Time W 2W D On-time entry Delayed entry Delays can be costly : % revenue lost = (( On-time - Delayed )/ On-time )*100 • On-time = 1/2 * 2W * W = W 2 (assumes market rise is at 45 degree angle) • Delayed = 1/2 * (W-D+W)*(W-D) • Percentage revenue loss = (D(3W-D)/2W 2 )*100% E.g.: Lifetime 2W = 52 wks, delay D = 10 wks -> (10*(3*26 - 10)/2*26 2 ) = 50%! ECE UNM 5 (2/3/09)
HW/SW Codesign w/ FPGAs Embedded Systems ECE 495/595 Embedded System Design Metrics NRE and Unit Cost Metrics: Unit cost : the monetary cost of manufacturing each copy of the system, exclud- ing NRE cost. NRE cost : The one-time monetary cost of designing the system Total cost = NRE cost + unit cost * num_units Per-product cost = total cost / num_units = (NRE cost/num_units) + unit cost Example: NRE = $2000, unit = $100 For 10 units: Total cost = $2000 + 10*$100 = $3000 Per-product cost = $2000/10 + $100 = $300 Amortizing NRE cost over the units results in an additional $200 per unit! When comparing technologies by costs, the best option depends on quantity Technology A: NRE=$2,000, unit=$100 Technology B: NRE=$30,000, unit=$30 ECE UNM 6 (2/3/09)
HW/SW Codesign w/ FPGAs Embedded Systems ECE 495/595 Embedded System Design Metrics NRE and Unit Cost Metrics: $160 Per product cost Low NRE $120 Low unit cost $80 $40 Approach $0 per-product cost 0 800 1600 2400 at high volumes Number of units (volume) So both per-product cost and time-to-market must be considered to determine revenue impact. Performance Metric: • Clock frequency , instructions per second Commonly used but most widely abused measure. For example, for a digital camera example, the user cares about how fast it processes images , not about the clock speed or instructions per second. ECE UNM 7 (2/3/09)
HW/SW Codesign w/ FPGAs Embedded Systems ECE 495/595 Embedded System Design Metrics Performance Metric: The two main measures of performance are: • Latency (response time) Time between task start and end, e.g., Camera can process images in 0.25 seconds • Throughput Tasks processed per second Note that throughput is NOT always the number of tasks * latency because of pipelining Camera may be able to process 8 images/sec. by capturing a new image while previous image is being stored. Three Key Embedded System Technologies Technology defined: A manner of accomplishing a task, especially using technical processes, methods, or knowledge ECE UNM 8 (2/3/09)
HW/SW Codesign w/ FPGAs Embedded Systems ECE 495/595 Embedded System Technologies Three key technologies for embedded systems • Processor technology • IC technology • Design technology Processor Technology Relates to the architecture of the computation engine used to implement the system’s functionality. The processor does not have to be programmable . Other non-programmable digital systems can be considered processors as well. Processors can be specialized for implementing a specific function, such as image processing or compression. A system may be composed of a collection of specialized processors to opti- mize design metrics for the application, e.g., digital camera. ECE UNM 9 (2/3/09)
HW/SW Codesign w/ FPGAs Embedded Systems ECE 495/595 Embedded System Technologies Processor Technology General Purpose Application-Specific Single-Purpose Controller Datapath Controller Datapath Controller Datapath Control Reg. Control Reg. Control index logic and file logic and file logic total state regs. state regs. General Custom state + IR PC IR PC ALU ALU regs. Program Data Program Data Data memory memory memory memory memory Assembly Assembly code for: code for: total = 0 total = 0 for i = 1 to ... for i = 1 to ... General-Purpose Processors : Program memory and data path are generic -- can execute any program. ECE UNM 10 (2/3/09)
HW/SW Codesign w/ FPGAs Embedded Systems ECE 495/595 Embedded System Technologies Processor Technology General-Purpose Processors : Data path typically has a large register file and one or more general purpose ALUs Embedded system designer does NOT need to be concerned with the design of the processor, he/she simply installs a program into memory. Benefits: time-to-market is low, flexibility is high, unit cost can be low in small quantities ( NRE cost distributed over other customers), and perfor- mance high when using cutting edge technologies. Drawbacks: Unit cost can be high in large quantities (custom processor can be designed with lower NRE costs), performance can be low for certain apps, and size / power can be large because of unneeded features. ECE UNM 11 (2/3/09)
HW/SW Codesign w/ FPGAs Embedded Systems ECE 495/595 Embedded System Technologies Processor Technology Single-Purpose Processors : Hardware designed to execute exactly one program using a custom digital circuit -- commonly referred to as coprocessor , accelerator and peripheral . From camera example, all components except for microcontroller are sin- gle-purpose processors. JPEG codec compresses and decompresses video frames. Features: Circuit contains only components needed to execute a single pro- gram and no program memory is required. Benefits: Unit cost may be low in large quantities, performance can be high, size / power can be small (inverse of GPP). Drawbacks: Design time and NRE cost may be high, flexibility low and unit cost high for small quantities. ECE UNM 12 (2/3/09)
HW/SW Codesign w/ FPGAs Embedded Systems ECE 495/595 Embedded System Technologies Processor Technology Application Specific Processors : ASIPs are a programmable processor optimized for a particular class of applications -- compromise between GPP and single-purpose processors. Examples include microcontrollers and digital-signal processors . Microcontrollers are optimized for embedded control apps, where monitor- ing and setting of numerous single-bit control signals are common. Datapath is optimized for application class by adding special functional units for common operations and eliminating infrequently used units. Benefits: flexibility can be high while achieving good performance , power and size . Drawbacks: NRE costs can be high both in circuit and compiler design, some inefficiency because of features to support reprogrammability . ECE UNM 13 (2/3/09)
Recommend
More recommend