Course Duration: 20 Weeks |
Course Structure and Outline |
Mod. |
Module Title |
What You Learn |
P1 |
Orientation |
- Linux operating system - file system and commands
- Python Scripting
|
P2 |
Advanced Digital System Design |
- Number Systems
- Logic Gates
- Boolean Expressions
- Combinational Circuits
- Introduction to Registers and Counters
- Synchronous Finite State Machine Design
- Data-path elements - Arithmetic Structures
- Introduction to Programmable Platforms
- Design Capture and Simulation
- Practical Digital System Design Examples
|
P3 |
Verilog |
- Hardware Modeling Overview
- Verilog language concepts
- Modules and Ports
- Operators, Dataflow Modeling
- Introduction to Test benches
- Procedural Statements
- Coding for Finite State Machines
- Coding For Synthesis
- Tasks and Functions
- Advanced Verilog Test benches
|
P4 |
FPGA Design and Debugging |
- FPGA Architecture - Basic Components of FPGA (LUT, CLB, Switch Matrix, IOB), FPGA Architecture of different families: 7-series and UltraScale devices, Zynq
- FPGA Design Flow - Xilinx Vivado tool Flow, Reading Reports, Implementing IP cores, Debugging Using Vivado Analyzer
- Optimal FPGA Design - HDL Coding Techniques for FPGA, FPGA Design Techniques, Synthesis Techniques, Implementation Options
- Static Timing Analysis - Global Timing Constraints, Path specific timing constraints, Achieving Timing Closure, Introduction to Reset techniques, Clock Domain Crossing, Multiple Clock Domains
|
C1 |
C Primer |
- Introduction to C Programming - Structure of a C program, The C compilation process
- Types and Operators - C base types, Precedence & Associativity, - Arithmetic operation, Promotion & Typecasting
- Control Flow - Logical expressions and operations, Decision Making, Loops
- Definitions and declarations, Header files, Scope and lifetime - Storage Classes
- Introduction to pointers - Using pointers to access single dimensional arrays
- Bit Manipulation, Bit level manipulation
- Standard C I/O functions
- Functions - The Function as a logical program unit, Parameter passing by copy and reference
|
C2 |
Overview of ARM |
- Comparison between FPGA, Microprocessor and Microcontroller
- Differences in architecture - RISC, CISC
- Introduction to ARM 7 TDMI architecture, IDE/development tools, Debugger
- Understanding Embedded System Software Design flow
- Interfacing with peripherals - GPIO, ADC
- Working with Board Support Packages and libraries
- Introduction to ARM cortex A9 architecture
|
C3 |
Zynq and Embedded System Design |
- Zynq All Programmable SoC Architecture overview
- Zynq Ultrascale+ MPSoC Architectural overview
- Microblaze based Embedded System design
- Embedded Ultrafast Design Methodology
- Embedded Hardware development
- Zynq SoC PS-PL Interfacing
- Driving the IP Integrator tool
- Driving the SDK tool
- Meeting Performance Goals
- AXI Introduction
- AXI Variations and Transactions
- AXI BFM Simulation
- Debugging the Zynq All Programmable SoC
|
Integrated in the course |
Course Project |
|