DESIGNING AN EMBEDDED SYSTEM
An embedded system design involves number of stages which are listed below
· Requirement analysis
· Defining the system specifications
o Modeling the system to be designed- Experimenting with different algorithms and their preliminary evaluation. Factoring the task into smaller subtasks and modeling their interaction
o HW-SW partitioning (Allocating the tasks into H/W, S/W) or Co-design (H/W and S/W design proceed in parallel with interactions and feedback between the two processes. Joint optimization optimize design metrics)
· Selection of technology
· Resource Analysis – Cost, Time & Manpower
· Identification of components and development tools
· Circuit design/ Schematic Capture, PCB layout design & fabrication
· Firmware development –Debugging & testing
· System Integration
· Testing – functional, environmental
· Certifications, if required.
There are different design cycles methodologies used for designing embedded systems.
· Waterfall model
Waterfall is a development model in which development is seen flowing steadily through the phases of Requirement Analysis, Design, Implementation, Testing, Integration and Maintenance. It allows good progress tracking due to clear milestones but its inflexibility (to respond to changing requirements) is its demerit.
· Top-down versus Bottom-up
In Top-Down Model, the overall functionality of a system is considered initially, without going into finer aspects of the requirements. Further analyses will go deeper and deeper in greater details.
The Bottom-Up Model follows a reverse approach. First, it defines the individual parts of the system in great detail. The individual subsystems are then integrated to form larger systems, leading to whole system.
· Spiral Model
Spiral model is the one commonly used in modern design practices. It uses both top-down and bottom-up approach. The objectives, alternatives and constraints are first defined. Then iterations are initiated to eliminate main risks. Finer details of each subsystem are then worked out.
· GANTT Charts
GANTT/PERT chart shows the relationships of various scheduled activities and helps to monitor the progress of the project.