An embedded system (ES) can be described as a computer system, however, unlike a general purpose system, ESs are designed for specific functionalities and are integrated with sensors and actuators. Often ES have real-time computing constraints. Major advantages of ES compared to their general purpose counterparts include low power, low area, low per-unit cost, high operating frequency etc. Most of the modern electronic systems, ranging from a simple elevator controller to a complex avionics control system, are ESs. However, ESs involve integrating hardware-software (i.e., co-design) in a single platform and interfacing sensors-actuators, which make their design a real challenge and a multi-disciplinary problem. The increase in complexity of modern ESs mandates automation in their design. Given a system which we intend to implement, the design process majorly evolves through four distinct but often overlapping and iterative phases:
(i) Modeling: This may be regarded as a systematic specification of the intended system behavior– that is, it tells, what the system should do. Models should mathematically capture both static (system states) and (how state changes occur over time) dynamic properties of the system at a desired level of abstraction, so as to allow systematic analysis.
(ii) Design: Given the model based logical depiction of a system along with estimates on performance and resource requirements of various components, we embark onto the design phase, which derives appropriate structural representations and implementation methodologies,corresponding to the specified behavior – that is, it tells, how a system shall do, what it should do.Design involves consideration of both hardware and software, to take care of different conflicting verticals such as performance, cost, flexibility, energy dissipation etc. An overall system which includes both hardware and software components must consider various issues and apply appropriate mechanisms such that end-to-end performance objectives (like critical real-time constraints) are always satisfied. For example, important issues may include obtaining execution-time estimates of different components and analyzing interferences during their execution, both from – the external environment and other co-executing components. These issues are typically handled using mechanisms such as the use of more predictable artifacts like compiler-controlled memories and employment of appropriate scheduling techniques at various levels. Overviews of all these design strategies will be discussed in this course.
(iii) Verification and Validation: This phase may be considered to be the process of gaining a deeper understanding of a system through dissection – that is, it attempts to answer the question, why a design exhibits a certain characteristic (or fails to do what a model says it should do). Verification and test have been intensively studied and understood for hardware systems and software programs separately. However, ES not only consist of hardware components, a large portion is realized by firmware and programs. There are lots of issues and challenges if verification is to be performed on systems involving hardware software co-designs e.g., different platforms of describing the hardware and software designs, interfaces of hardware-software etc. In this part of course we will discuss verification of ESs and various evolving techniques to handle them.
(iv) Testing basically involves determining if the fabricated system meets the required behavior. This is accomplished by applying physical inputs and matching the outputs with golden signature. Test methodologies and test goals differ in the hardware and software domains. In conventional testing methodologies, software and hardware are tested separately. This divided approach to software and hardware testing does not address the embedded system as a whole. Further, these schemes do not address the complexity that may arise due to integration of software and hardware. In the test module of this course, we will focus on hardware testing, software validation and integration testing. Also focus will be given on testing methodologies that address complex embedded systems like NoC testing, concurrent testing etc.
Important For Certification/Credit Transfer:
Weekly Assignments and Discussion Forum can be accessed ONLY by enrolling here
Scroll down to Enroll
Note: Content is Free!
All content including discussion forum and assignments, is free
Final Exam (in-person, invigilated, currently conducted in India) is mandatory for Certification and has INR Rs. 1100 as exam feeINTENDED AUDIENCE:
UG and PG students of CSE, Electrical and Electronics Engineering, Electrical EngineeringCORE/ELECTIVE:
UG and PGPREREQUISITES:
Digital Design and Computer ArchitectureINDUSTRY SUPPORT:
All Embedded System design/application industries like Intel, Samsung etc. and CAD industries like Cadence, Synopsys, Agilent etc.