DESIGN METRICS FOR EMBEDDED SYSTEMS
In addition to meeting the desired functionality of an embedded system, embedded system designer must optimize on the following design metrics
· Non Recurring Engineering (NRE) Cost: Money invested in R&D and developing first, functional and tested prototype.
· Unit Cost: Cost of producing one unit
· Electrical Power
· Performance - System Throughput, Computational Power, response time
· Functional Correctness
· Dependability; Fault Tolerance, Reliability, Maintainability, Availability
· Physical Size and Weight
· Time to prototype
· Time to market
· Safety: It should not cause harm to others.
· Maintenance, Ease of Use
These metrics compete amongst themselves; increasing one may affect others. Hence optimisation of these metrics is a challenge for an embedded system designer.
ELEMENTS OF EMBEDDED SYSTEMS
Core element of an embedded system is the processor or a computational unit. Processors can act as brain of the system. They can be programmed to do perform a task. This can be designed using variety of options.
· General Purpose Microprocessors
General purpose microprocessors are single chip semi conductor device which is a computer on chip, but not a complete computer. Its CPU contains an Arithmetic & Logic Unit(ALU), a Program Counter(PC), a Stack Pointer(SP), registers, a clock and interrupts circuit on a single chip. To make complete micro computer, one must add memory usually ROM and RAM, memory decoder, an oscillator, a number of serial and parallel ports
A general-purpose processor is designed to cater for large amount of applications and hence is produced in bulk. Using it in an embedded system offers various benefits. Design time is low as only software is to be developed, no digital design is involved. Typical characteristics of a general purpose processors are relatively high cost, high speeds, higher Power consumption, large architecture, large memory size, onboard flash and cache, an external bus interface for greater memory usage.
Examples: Motorola’s 680x0, Intel‘s x86
· Microcontrollers/ Embedded Processors
A microcontroller is a functional computer system-on-a-chip. It contains an integrated processor, memory (a small amount of RAM, program memory, or both), several peripheral devices, such as timers, analog to digital converters, and serial communication devices all on one chip resulting in compact and low-power implementations.It is not expandable as it has no external bus interface. Examples are PIC’s DSPIC33 / PIC24, Motorola’s 6811, Intel’s 8051
Typical characteristics of a microcontroller are: Low cost, Low speed, Low Power, small architecture, Small memory size, Onboard Flash, Limited I/O.
Microcontrollers provide pin access which allows programs to easily monitor sensors, set actuators, and transfer data with other devices. Providing specialized instructions improves performance for embedded systems applications; thus, microcontrollers can be considered ASIPs to some degree.
Special microcontrollers are often called embedded processors. The difference between a microcontroller and an embedded processor is not clear, but processors with large architectures with fast processing, fast context-switching & atomic ALU operations are marketed by many vendors as embedded processors. Examples of embedded processors are ARM 7, INTEL i960, AMD 29050
An application-specific instruction-set processor (or ASIP) is designed for a specific class of applications with common characteristics, such as digital-signal processing, telecommunications, embedded control, etc. Using an ASIP in an embedded system can provide the benefit of flexibility while still achieving good performance, power and size. However, such processors can require large Non-Recurring Engineeing(NRE) cost (to build the processor, compiler if they don’t exist). Digital-Signal Processors (DSPs) are a common class of ASIP. DSP is a single chip VLSI unit; a processor designed especially to support high-performance, repetitive, numerically intensive tasks, including operations like multiply and add or shift and add.
Typical features of DSP processors are
1. Harvard Architecture
2. MAC Unit to support Multiply-ACcumulate operations in a single cycle.
3. Ability to complete several accesses to memory in a single instruction cycle.
4. One or more dedicated address generation units to speed up arithmetic processing.
Examples of a DSP are: TMS320Cxx, SHARC, and Motorola 5600xx.
ICs are basically “chips”, i.e., Silicon Wafers with transistors, resistors, capacitors fabricated to act as Microprocessors, Amplifier, Memory, etc. ASICs (Application Specific Integrated Circuits) are designed for a special application. Digital to Audio Converter, DSSS receiver, Mpeg2 Decoder are examples of ASICs.
ASICs offer very high performance, but NRE cost is very high. With ASICs, timing closure is an issue especially with Deep-submicron geometries. Re-configurability is highly limited.
Field Programmable Gate Array(FPGA) is a fully programmable alternative to a customized chip. They are also called Reconfigurable Processing Unit.
It is a two dimensional array of logic blocks and flip flops with a means for user to configure interconnection between logic blocks & function of each block. FPGA technology allows you to embed a processor, ROM, RAM, DSP, and any other block onto a single chip. This is replacing a lot of Application Specific Integrated Circuit chips. FPGA offers performance advantage of parallel hardware with the flexibility of the software. This has major advantages in terms of cost, reliability, reusability of intellectual property, and time to market.
Based on Interconnections between cells, they are of two types of FPGAs
¨ Reprogrammable (SRAM-based)- Xilinx, LatticeXP2, Altera, Atmel
¨ One time programmable – Actel, Quicklogic
Complex Programmable Logic Devices(CPLD) are slightly different from FPGAs; difference mainly lies in the architecture. A CPLD consists of one or more programmable sum-of-products logic arrays feeding a relatively small number of clocked registers. As a result, they are less flexible and hence offers the advantage of more predictable timing delays and a higher logic-to-interconnect ratio. On the other hand, the FPGA architectures are dominated by interconnect. This makes them far more flexible but also far more complex to design for. Also, FPGAs are usually much larger in terms of resources than CPLDs. Another common distinction is that CPLDs contain embedded flash to store their configuration while FPGAs usually, but not always, require an external flash.
· Reconfigurable SoCs
Technological evolution, particularly shrinking silicon fabrication geometries, is enabling the integration of complex platforms in a single System-on-Chip (SoC). In addition to speci?c hardware subsystems, a modern SoC also can include one or several CPU subsystems to execute software and sophisticated interconnects. Multimedia platforms such as Nomadik and Nexperia are examples of multiprocessor SoCs that use digital signal processors, microcontrollers, and other kinds of programmable processors. Atmel’s FPSLIC (AVR+FPGA), TI’s OMAP (ARM Cortex + Custom GPU+TI DSP) are other examples.