Embedded System Design

Embedded System Design

8,474.00

18% GST Extra

Please login to purchase the course.

SKU: cid_22467 Categories: ,

Description

About the course

Professor Anupam Basu, a faculty from the Department of Computer Science and Engineering at Indian Institute of Technology Kharagpur, has designed this course. In this course, you will first learn about the fundamental requirements of embedded systems and the interaction between hardware and software in such systems. After that, you will learn about some of the basic steps of hardware design and will be introduced to ASIPs (Application-Specific Instruction Set Processors), ASICs (Application-Specific Integrated Circuits) and FPGAs(Field Programmable Gate Arrays). Then you will get an exposure to the most important issue of designing for less power consumption, and you will also be introduced to the techniques that are adapted to this end.

Since most of the embedded systems will have real-time constraints, you will learn about the basic issues of real-time operating systems. This will be followed by formal specification models and languages, mapping the specification to hardware and software components along with decisions on design tradeoffs and hardware-software partitioning. After that, you will learn about the synthesis of hardware and software along with a few of the optimization techniques. The course will end with a brief overview of design verification methods that are adapted for embedded system design.

Learning Outcomes

After completing this course, you will be able to:

  • Discuss the major components that constitute an embedded system.
  • Understand and explain the different components of a microcontroller and their interactions.
  • Understand the key concepts of embedded systems like IO, timers, interrupts, and interaction with peripheral devices.
  • Boost your hireability through innovative and independent learning.
Target Audience

The course can be taken by:

Students: All students who are pursuing professional graduate/post-graduate courses related to computer science and engineering or data science.

Teachers/Faculties: All computer science and engineering teachers/faculties.

Professionals: All working professionals from computer science / IT / Data Science domain.

Why learn Embedded System Design?

Embedded systems are hardware/software systems built into devices that are not necessarily “recognized” as computerized devices, but these systems are controlling the functionality and perceived the quality of these devices. The importance of embedded systems is growing continuously. The growth rate in embedded systems is more than 10% per annum, and it is forecasted there will be over 40 billion devices (5 to 10 embedded devices per person on earth) worldwide by 2020. Today 20% of the value of each car is attributed to embedded electronics, and this will increase to an average of 35-50% by 2020. Industries that utilize embedded systems engineers include defense, robotics, communications, consumer electronics, and aeronautics.

Course Features
  • 24X7 Access: You can view lectures as per your own convenience.
  • Online lectures: 31 hours of online lectures with high-quality videos.
  • Updated Quality content: Content is latest and gets updated regularly to meet the current industry demands.
Test & Evaluation

Each lecture will have a quiz containing a set of multiple choice questions. Apart from that, there will be a final test based on multiple choice questions.

Your evaluation will include the overall scores achieved in each lecture quiz and the final test.

Certification

This course is free and it has no certificate.

Topics to be covered
  1. ESD-Module-1: Introduction
    • What is Embedded System and its Architecture?
    • How Embedded System differ from General-purpose System?
    • What is the difference between Embedded System and Real-Time System?
    • What is the application of Embedded System and how Reactive System differ from Transformational System?
    • What are the issues in implementing Embedded System part-1?
  2. ESD-Module-2: Processors
    • What are the issues in implementing Embedded System part-2?
    • What is the different design flows in Embedded Systems design?
    • What are the different types of Processors and how functions can be implemented in General purpose Processor?
    • how can functions be implemented in Application Specific Processor?
  3. ESD-Module-3: General purpose and ASIPs processors
    • How ASIC differs from Single Purpose Processor and what is a General Purpose processor?
    • How to select a Microprocessor in General purpose Processor?
    • What is Application specific Instruction processor(ASIP)?
    • What are the intellectual properties in Customized ASIP?
  4. ESD-Module-4: Designing a Single Purpose Processor
    • What is Single-Purpose Processor and how to write an algorithm for designing Single-Purpose Processor for gcd?
    • How to design State Machine for designing Single purpose processor for GC?
    • What are Control flow and Data flow graph for single purpose processor for gcd?
    • How to create Data path for single purpose processor for gcd?
    • How to create controller's FSM and split it into controller and datapath?
  5. ESD-Module-5: Optimization Issues
    • What is the example for Designing Single purpose Processor?
    • What is Optimization and how to Optimize Program?
    • How to Optimize Finite State Machine with Datapath(FSMD)?
    • How to Optimize Datapath and What is EDA Tool?
    • What are Programmable logic devices and Gate Array in Embedded System?
  6. ESD-Module-6: Introduction to FPGA
    • How to implement any Logic functions in FPGA?
    • What is FPGA and its features and how interconnection is established in FPGA?
    • What is the structure of FPGA (part-1)?
    • What is the structure of FPGA (part-2)?
  7. ESD-Module-7: FPGA(Contd.)
    • What is the structure of FGPA (part-3)?
    • How to select CLBs for Implementation of the logic circuit in FPGA?
    • How to place selecting CLBs in FGPA?
    • What is a realistic situation of an FPGA, what is VHDL and its description of entities?
  8. ESD-Module-8: Behaviour Synthesis on FPGA using VHDL
    • How to declare a port in VHDL?
    • How to declare Constant and Variable and Signal in VHDL?
    • How to develop a Blink LED system through FPGAs and describe entity declaration on it?
    • How to describe Behavior of developing the system?
    • How to put develop the system on FPGAs Board?
  9. ESD-Module-9: Tutorial 1
    • Why are HDLs used in the building of Digital Systems?
    • What are the advantages of HDLs and HDLs types?
    • How HDLs are synthesized and what is the HDL Implementation Cycle?
  10. ESD-Module-10: Tutorial 2
    • What is a Verilog Module and what are ports and comments in Verilog code?
    • What are the different Levels of Modeling in Verilog?
    • What are Vectors and Parameters in Verilog code?
    • What are basic language conventions and semantics in Verilog code and what is four-valued logic?
  11. ESD-Module-11: Tutorial 3
    • How numbers are represented in Verilog and what are the different data types in Verilog?
    • What are operators and Statement used in Verilog code?
    • What is Behavioral Modeling?
    • What is a sensitivity list and timing control in Verilog code?
    • What is the structure of a Testbench and what are the Compiler directives in Verilog?
  12. ESD-Module-12: Tutorial 4
    • What are the Nexus 4 DDR Board and its components?
    • What are the basic I/O of Nexus 4 DDR Board and Xilinx Artix 7 FPGAs and it's featured?
    • What are the Vivado IDE Solution and FPGA design flow?
    • How to work with Vivado Design Suite (Part-1)?
    • How to work with Vivado Design Suite (Part-2)?
  13. ESD-Module-13: Sensors and Signals
    • What is the importance of Actuators and Sensors in designing of embedded system hardware?
    • What are the applications of Sensor?
    • What are the parameters of Sensor?
    • What is the work of Sensors and how time is discretized?
    • How to Reconstruct the signal?
  14. ESD-Module-14: Discretization of Signals and A/D Converter
    • What is the concept of Aliasing in the sampling of signal and How high frequencies are removed in the signal?
    • What is the working of Flash A/D converter?
    • What is the resolution, speed and hardware complexity of flash A/D converter?
    • What is the working of Successive Approximation A/D converter, its speed and hardware complexity?
  15. ESD-Module-15:Quantization Noise, SNR and D/A Converter
    • What is Quantization Noise/Error?
    • What is the importance of quantization?
    • What is Digital to Analog converter(D-A converter)?
  16. ESD-Module-16: Arduino Uno
    • What are Arduino Uno and its Hardware specifications?
    • How to do input and output in Arduino?
    • How Is Pulse width modulation done to achieve Analog Output?
    • How to do Serial Communication?
  17. ESD-Module-17: Arduino Uno (Contd.), Serial Communication and Timer
    • How serial Communication takes place between Arduino and PC?
    • What are the serial commands and communication protocols for Arduino?
    • What is Asynchronous Communication (How Arduino handle interrupts)?
    • What are the timer functions?
  18. ESD-Module-18: Controller Design using Arduino
    • What are the different applications of Timer?
    • What is the temperature control design?
    • How to Implement temperature control design?
  19. ESD-Module-19: Tutorial - V
    • What is Arduino Uno IDE?
    • How to run different examples on Arduino UNO IDE?
  20. ESD-Module-20: Power-Aware Embedded System-I
    • What is a power-aware System and what are the fundamentals of power consumption of a gate?
    • What is Power and how Energy Consumption increase?
    • What is Power management?
    • How is power consumption reduced?
  21. ESD-Module-21: Power-Aware Embedded System - II
    • What are the different generalizations on power consumption?
    • How to Assign Optimal Voltage to a set of Tasks?
    • How to minimize Energy by Integer Linear Programming Model?
    • What is voltage scheduling?
  22. ESD-Module-22: SD and DD Algorithm
    • Why power management and power reduction are important?
    • What are the different Scheduling algorithms?
    • What is SD (Static scheduling and Dynamic voltage allocation) Algorithm?
    • What is DD (Dynamic scheduling and Dynamic voltage allocation) Algorithm?
  23. ESD-Module-23: Parallel Operations and VLIW
    • What is Dynamic Power Management?
    • What are the power aspects and how energy is minimized?
    • What is Very Long Instruction Words (VLIW)?
    • What is EPIC (Explicitly Parallel Instruction code)?
    • How power consumption happens in mobile phones and what is the Efficiency?
  24. ESD-Module-24: Code Efficiency
    • What is Code-size efficiency?
    • What is Run-time efficiency?
  25. ESD-Module-25: DSP Application and Address Generation Unit
    • What is Modulo addressing?
    • What is Saturating arithmetic?
    • What are Multi-memory banks or Memories in DSP and what is voltage scaling?
    • What is the overall summary of the lesson?
  26. ESD-Module-26: Real-Time O.S - I
    • Why can the Operating system (OS) be reconfigured?
    • How to make OS sufficient and how derived OS is tested and verified?
    • What is OS and how Embedded OS differ from standard OS?
    • What are the requirements of Real-Time OS?
  27. ESD-Module-27: Real-Time O.S - II
    • How is synchronization of clock done?
    • What is the Real-time Kernel Structure?
    • What is Resource sharing?
    • What is scheduling?
  28. ESD-Module-28: RMS Algorithm
    • What are Real-Time Tasks and what is Real-Time Scheduling?
    • What is Priority-driven Preemptive Scheduling?
    • What are Rate Monotonic Scheduling and its example?
  29. ESD-Module-29: EDF Algorithm and Resource Constraint Issue
    • What is the Earliest Deadline First (EDF)?
    • What is the Schedulability check for EDF?
    • What is the resource constraint scenario?
    • What is the story of Mars Pathfinder?
  30. ESD-Module-30: Priority Inversion and Priority Inheritance Protocol
    • What is Priority Inversion in Share Resources?
    • How to solve priority inversion problem?
    • What is the Priority Inheritance protocol?
    • What is the disadvantage of Priority inheritance Protocol?
  31. ESD-Module-31: Modeling and Specification - I
    • What is the Priority Ceiling Protocol?
    • What are the hierarchy properties for specifying an embedded system?
    • What are the concurrency explicit properties for specifying an Embedded System?
    • What are the component-based design properties for specifying an Embedded System?
    • What is a Reactive System?
  32. ESD-Module-32: Modeling and Specification - II
    • What are the Computation Models?
    • What are the Communication Models and how the message is passed?
    • What are the different Models and Architectures?
  33. ESD-Module-33: FSM and Statechart
    • What is a Finite State Machine (FSM), its merits and demerits?
    • What is Timed Automata?
    • What is State chart?
    • What is Concurrency?
  34. ESD-Module-34: Statechart and Statemate Semantics
    • What is a Communication Finite State Machine?
    • What is the application of Timer in State chart representation?
    • What are edge labels and how they are evaluated?
    • How execution takes place?
  35. ESD-Module-35: Statecharts (Contd.)
    • What is the broadcast mode of communication in Statechart?
    • What are the Pros and Cons of state chart?
    • What are Synchronization and its types?
    • What is Behavior Completion and Program State Machine?
  36. ESD-Module-36: Program state machines
    • What is a Program State Machine (PSM)?
    • What is the example of a Spec chart?
    • What is Functional Timing?
    • What are Timing constraints?
    • What are the different languages features specifying in Embedded system?
  37. ESD-Module-37: SDL
    • What is System and Description Language (SDM)?
    • How communication take place in SDL?
    • How to Handle data and what is the process interaction diagram?
    • What is the Hierarchy and what are timers in SDL?
    • What are Additional language element and the Vending machine?
  38. ESD-Module-38: Data Flow Model - I
    • What is the Decode request block?
    • What is the Dataflow Model?
    • What is Kahn Process Network (KPN) (part-1)?
    • What is Kahn Process Network (KPN) (part-2)?
  39. ESD-Module-39: Data Flow Model - II
    • What are Synchronous Data Flow (SDF) and its example?
    • How to model the Buffer?
    • How Is Parallel Scheduling of SDF done?
    • What are Petri nets?
  40. ESD-Module-40: Hardware Synthesis - I
    • What is Application Mapping?
    • What is the High-Level Synthesis?
    • What is the Datapath Synthesis?
    • How to decide to merge of any two from Application Mapping, High-Level Synthesis, and Datapath Synthesis?
  41. ESD-Module-41: Hardware Synthesis - II
    • What is Variable and Operation usage, datapath synthesis and register sharing in Square Root Algorithm (SRA)?
    • How variable merging happens for SRA?
    • How the data path with shared registers and Functional Units (FUs) look like and what you gain by FU sharing?
    • What is Operation Merging for SRA?
    • What is Connection usage and merging for SRA and what is Register Merging in RFs?
  42. ESD-Module-42: Scheduling
    • What is Scheduling?
    • What are ASAP and ALAP scheduling?
    • What is Resource Constrained (RC) Scheduling?
    • What is Time Constrained (TC) Scheduling?
  43. ESD-Module-43: Digital Camera Design
    • What is a Digital Camera, its Hardware-Software Codesign and tasks?
    • How the Image is capture and how preprocessing and compression is done?
    • What is Discrete Cosine Transform and Quantization?
    • What is the Huffman Coding?
    • What are Non-Functional and informal functional requirements for the camera?
  44. ESD-Module-44: Digital Camera - Iterative Design
    • What is the functional specification of a digital camera?
    • What is the Executable model of Digital Camera?
    • How to design the System?
    • How Microcontroller and CCDPP are implemented (part-1)?
    • How Microcontroller and CCDPP are implemented (part-2)?
  45. ESD-Module-45: HW-SW Partitioning
    • What is Hardware-Software Partitioning?
    • What is Hardware-Software Partitioning Problem?
    • What is Consistent labeling problem, it's solutions and what is a Genetic algorithm?
  46. ESD-Module-46: Optimization - I
    • How is the Genetic algorithm illustrated through an example?
    • How are solutions of Consistent labeling problem and Generetic Algorithm obtained experimentally?
    • What is Compiler level Optimization?
    • What is Loop Transformation Optimization?
    • What is the Energy Aware Compilation?
  47. ESD-Module-47: Optimization - II
    • What is Scratchpad Memory (SPM)?
    • How to find an optimized memory layout?
    • What is Array folding and its Application?
  48. ESD-Module-48: Simulation
    • How to validate a Design?
    • What is the Simulation method?
    • What are the Simulation method and its drawbacks?
    • What is Co-Simulation?
  49. ESD-Module-49: Formal Verification
    • How to do Formal Verification?
    • How to check Logic Equivalence?
    • What is FSM equivalence?
    • What are Model checking and its properties?
    • How to prove Theorem?
  50. Embedded System Design - Final Quiz

Note : Parts of this material has been sourced from NPTEL, adapted and modified to adhere to our Pedagogical requirements and uploaded to YouTube for reuse under the same license.

https://nptel.ac.in/pdf/CC%20LIcenseNotes.pdf

Reviews

There are no reviews yet.

Be the first to review “Embedded System Design”

Your email address will not be published. Required fields are marked *