Systematic Hardware Platform Selection - Introduction to Embedded Systems- Dipl.- Ing. Falk Salewski Lehrstuhl Informatik XI RWTH Aachen salewski@informatik.rwth-aachen.de Winter term 06/07 Remember: What is an embedded system? Embedding System User Embedded System Environment People Embedded System = A computer system which is integrated into another technical system (the embedding system) for the purpose of influencing the embedding system such that it behaves in a desired manner. Folie 2 1
Requirements for the embedded Embedding System User Embedded System Environment People Important for the design of embedded systems: The requirements for the embedded system must be derived from the requirements for the embedding system. Examples for requirements? Reliability, costs, mounting space, adaptability, Folie 3 Requirements Hardware Platform Embedding System Embedded System Software HW Platform Microcontroller PLCs FPGAs DSP Embedded PC When to use which type of hardware platform? Decision depends on the system requirements! Folie 4 2
System requirements hardware properties How to map hardware properties to system requirements? System Quality HW attributes HW properties (features) robustness modifiability reuseability testability performance functional range marketability system qualities clock frequency hardware architecture memory (static, dynamic) package available tools debug support verification support I/O capabilities integrated peripherals hardware abstraction capabilities device families expertise development team Folie 5 System requirements hardware properties How to map hardware properties to system requirements? System Quality HW attributes HW properties (features) First step - Summarize all hardware attributes (functional and non-functional) which influence system s qualities - Example hardware attribute: robustness of hardware platform Second step - Summarize all hardware properties which influence hardware attributes - Example hardware property: protective I/O circuits influence the attribute robustness of a hardware platform Folie 6 3
Hardware Attribute Tree END Folie 7 Robustness Robustness: The degree to which a system or component can function correctly in the presence of invalid inputs or stressful environment conditions [IEEE 90]. CMOS process type of memory HW architecture Protective circuits Noise cancellation temperature range mechanical strength shielding Folie 8 4
Reliability Reliability: The ability of a system or component to perform its required functions under stated conditions for a specified period of time [IEEE 90]. Reliability HW measures Debug support Simulation support Formal verification support Error detection and corection CRC for memory JTAG, Trace, etc supports verification Functional verification (real-time) verification Formal verification possible? Tools? Folie 9 Security Security: The ability of a system to manage, protect, and distribute sensitive information. Security Memory protection mechanisms Encryption hardware Protect IP Prevent code modifications Implementation of encryption/decryption algorithms in HW Folie 10 5
Maintainability Maintainability: The ease with which a system or component can be modified to correct faults or adapt to a changed environment. Programming languages Hardware abstraktion Replace device Fault indication ISP eases modification JTAG eases debugging in the field Folie 11 Adaptability/Scalability Adaptability: The ability to change (or be changed) to fit changed circumstances Scalability: The ability to grow with your needs. A scalable package means that you only buy the parts you need, and that it has the ability to grow by adding on as you do. Hardware abstraction Device families Flexible I/O mapping Multi purpose integrated peripherals Folie 12 6
Configurability Configurability: The property of a system that supports the rearrangement of features and attributes (up to a certain amount) Static dynamic reconfiguration Configurable ALU/instructions Configurable I/O Configurable integrated peripherals Interface for configuration (JTAG, communication port, dedicated pins, ) Folie 13 Reusability Reusability: The characteristic of a component that allows it to be used in more than the application for which it was created, with or without modification. Migration to larger device Different packages? Software architecture Programming language Operating System Hardware Abstraction Folie 14 7
t Testability Testability: The degree to which a system or component facilitates the establishment of test criteria and the performance of tests to determine whether those criteria have been met. Testability Debug support I/O capabilities JTAG, Trace, etc support verification (white box, coverage) Test port (JTAG, own interface) Folie 15 Performance Performance is primarily tied to availability, throughput and response time. Rate of read/ write cycles Counter, communication controller, etc. can disburden processing unit #instructions/ time #Bits of Data which can changed with one instruction Power of instructions Suitability of instructions # of cores # of parallel units # of pipeline stages Folie 16 8
Functional Range Functional Range: Determines the type and the complexity of functions possible on the system Can disburden procssing unit can increase functional range Functional range Supported I/O levels (voltage, current, frequency, digital/analogue, ) Memory and/or chip area Integrated peripherals I/O capabilities Abstraction capabilities static dynamic HWabstraction Hierarchy Determines max. size of program code/ amount of logic Determines max. Stack value Intermediate values Programming language Operating System Determines complexity which can be handled Folie 17 Marketability Marketability: The relative ease in which an asset can be sold quickly at a price near the price at which similar assets are selling. Life cycle New products Money for HW + development Application HW platform HW features HW design SW design Manuals Tutorials News groups Hotline Folie 18 9
System Qualities System Qualities: Requirements resulting from interaction with other system components Power supply I/O circuits On board peripherals Different packages available? Folie 19 Summary The choice of a certain hardware platform depends on - Functional system requirements - Non-functional system requirements Hardware attribute represent the influence of a certain hardware platform on the corresponding system quality. Each hardware attribute is influenced by differend hardware properties(features). hardware properties(features) vary between different hardware platforms. Folie 20 10
SHPS web pages We plan to build up a web system containing information for Systematic Hardware Platform Selection. The current status can be found on http://wwwi11.informatik.rwth-aachen.de/index.php?id=shps Feedback is welcome via the corresponding forum (link on SHPS page) Folie 21 11