Table of Contents
What are the Challenges in Embedded Systems Design?
What are the Challenges in Embedded Systems Design? Many embedded systems have substantially different design constraints than desktop computing applications. No single characterization applies to the diverse spectrum of embedded systems. However, some combination of cost pressure, long life-cycle, real-time requirements, reliability requirements, and design culture dysfunction can make it difficult to be successful applying traditional computer design methodologies and tools to embedded applications. The extreme diversity of embedded applications makes generalizations difficult. “Design challenges” encountered in the course of designing several real systems. These challenges are both opportunities to improve methodology and tool support as well as impediments to deploying such support to embedded system design teams.
List of Challenges of Embedded System Designs:
Following challenges encountered in embedded system designs:
- Computer Design Requirements
- System-level requirements
- Life-cycle support
- Component acquisition
- Business model
- Design culture
Computer Design Requirements
Embedded computers typically have tight constraints on both functionality and implementation. In particular, they must guarantee real time operation reactive to external events, conform to size and weight limits, budget power and cooling consumption, satisfy safety and reliability requirements, and meet tight cost targets.
-
Real time/reactive operation:
Design Challenge:
Worst case design analyses without undue pessimism in the face of hardware with statistical performance characteristics (e.g., cache memory).
Design challenges:
- Non-rectangular, non-planar geometries.
- Packaging and integration of digital, analog, and power circuits to reduce size.
- Low-cost reliability with minimal redundancy.
- Harsh environment:
- Design challenges:
- Accurate thermal modeling.
- De-rating components differently for each design, depending on operating environment.
- Cost sensitivity:
Design challenge:
Variable “design margin” to permit tradeoff between product robustness & aggressive cost optimization.
- System-level requirements
- End-product utility:
Design challenge:
Software- and I/O-driven hardware synthesis
- System safety & reliability:
Design challenges:
- Reliable software.
- Cheap, available systems using unreliable components.
- Electronic non-electronic design tradeoffs.
- Controlling physical systems:
Design challenge:
- Distributed system tradeoffs among analog, power, mechanical, network, and digital hardware plus software.
- Power management:
Design challenge:
- Ultra-low power design for long-term battery operation.
- Life-cycle support:
- Component acquisition:
Design challenge:
- Life-cycle, cross-design component cost models and optimization rather than simple per-unit cost.
- System certification:
Design challenge:
- Partitioning/synthesis to minimize recertification costs.
Logistics and repair:
Design challenge:
- Designs optimized to minimize spares inventory.
- High-coverage diagnosis and self-test at system level, not just digital component level.
- Upgrades:
Design challenge:
- Ensuring complete interface, timing, and functionality compatibility when upgrading designs.
- Long-term component availability
Design challenge:
- Cost-effectively update old designs to incorporate new components
- Business model:
- Design production costs:
Design challenge:
- Intelligently trade off design time versus production cost.
- Cycle time:
Design challenge:
- Rapid redesign to accommodate changing form factors, control algorithms, and functionality requirements.
- Product families:
Design challenge:
- Customize designs while minimizing component variant proliferation.
- Design culture:
- Computer culture vs. other cultures:
Design challenge:
Make simulation-based computer design accessible to non-specialists.
- Accounting for cost of engineering design:
Design challenge:
- Improved productivity via using tools and methodologies may be better received by managers if it is perceived to increase the number of products that can be designed, rather than merely the efficiency of engineers on any given product design effort.
- Inertia:
Design challenge:
- Find/create design tools and methodologies that provide unique, compelling advantages for embedded design.
- Conclusions:
Many embedded systems have requirements that differ significantly both in details and in scope from desktop computers. In particular, the demands of the specific application and the interface with external equipment may dominate the system design. Also, long life-cycles and in some cases extreme cost sensitivity require more attention to optimization based on these goals rather than maximizing the computational throughput.
Also read here