Undergraduate Courses

  1. Logic Design of Digital Systems
    • URL:
    • Binary arithmetic system. Conversions between arithmetic systems. Number representation. Boolean Algebra and logic gates. Gate-level minimization. Combinational circuits. Hierarchical design. Arithmetic circuits. Multiplexers. Decoders. Synchronous Sequential circuits. Registers. Counters. Finite state machines. Memories (Random-Access Memory, Read-Only Memory). Digital integrated circuits. Simulation of digital systems. Introduction to hardware description languages
  2. Computer Architecture
    • URL:
    • Basic concepts of computer systems architecute. Instructions of the computer hardware. Assembly language and machine language. Arithmetic systems for computers and implementation of the arithmetic operations. Evaluating performance cost of the computer systems. A RISC processor design. Design of the computer datapath. Design of the control module and microprogramming technique.
  3. Advanced Computer Architecture
    • URL:
    • Design of high-performance processors. Pipelined processors (architecture of a pipelined RISC processor). Advanced Pipeline mechanisms. Memory hierarchy of Computers. Cache memories (different cache configurations, how to improve cache performance). Virtual memory. Disk storage. Input/Output Systems. Buses.
  4. Design of Computer Systems
    • URL:
    • Modeling and design of Digital Computer Systems. Introduction to Hardware Description Languages. VHSIC-HDL (VHDL). Design of combinational and synchronous sequential circuits using VHDL. Design of Finite State Machines (Mealy and Moore Machines). Simulation and Verification of Digital Computer Systems. Automatic synthesis and Optimization of Computer Systems.

Postgraduate Courses

  1. Dependable Systems and Critical Infrastructures Design
    • URL:
    • Fundamentals concepts of dependability (reliability, availability, safety, security): Dependability standards. Fault models, security threats and system failures. Introduction to Critical Systems and Infrastructures (Standards, Methods, Regulation): Dependency analysis for Critical Infrastructures (risk/threat propagation, cascading attacks). Resilience in Critical Infrastructures (resilience-by-design, redundancy, restoration). Fault tolerance (basic concepts): Markov model (dependability calculation). Hardware fault tolerance (area/ information/timing redundancy). Software fault tolerance. Reliability evaluation (FMEA, radiation experiments, fault injection).
  2. Secure Applications for the Internet of Things
    • URL:
    • Introduction to the Internet of Things (IoT). Microcontroller architectures for IoT. IoT connectivity aspects. Design approaches for secure IoT. Hardware support for IoT security. Hardware Security Modules. Secure and cryptographic implementations for IoT.
  3. Embedded Systems
    • URL:
    • Introduction to Embedded Systems: Embedded applications, specifications and requirements. Embedded computing platforms (CPUs, ASIC, FPGA). Design methodology with FPGAs: FPGA architecture & VHDL Basics. FPGA design flow with VHDL. Case study: RISC-V processor. Lab exercises: Design, simulation and verification of embedded systems in FPGAs. Study & implement RISC-V in FPGA. Embedded software with RISC-V
  4. Embedded Systems Reliability
    • URL:
    • Hardware fault tolerance: Fault detection and masking techniques (e.g. triple modular redundancy). Information redundancy: Error detection and correction codes. Fault tolerance for embedded microprocessors: SIHFT, Lockstep, checkpointing, watchdog timers. Fault tolerance for FPGAs: TMR, configuration memory scrubbing . Radiation effects in embedded systems: SEEs, SEUs, SEFIs, Latchup, etc. Fault injection techniques for reliability analysis: simulation-based, FPGA-based emulation. Lab exercises: Case study: RISC-V processor core. Fault tolerance techniques: Local and distributed TMR, resilient FSM coding, embedded memories with ECC, Configuration memory scrubbing. Open-source fault injection platform for reliability analysis under radiation-induced errors
  5. Hardware Security
    • URL:
    • Introduction to Hardware Security. Secure embedded systems. Side channel analysis attacks: power and electromagnetic analysis. Fault injection attacks: voltage and clock glitches. Hardware attack countermeasures: (a) fault injection: hardware and time redundancy (b) side channel analysis: hiding and masking based techniques. Physically Unclonable Functions (PUF): Categories, evaluation and tradeoffs. Lab exercises: Fault Injection and Side Channel Analysis attacks. Evaluation of secure embedded systems implementations. Countermeasure design * All course webpages are in GUNet eClass platform (the department’s Course Management System.

Embedded Systems Laboratory