Advanced FPGA System Design
Module II: Advanced Digital Systems
- Number Systems and Conversions
- Combinational Circuits - Design and Analysis
- Sequential Circuits – Counters, Shift Registers, Sequence Detectors - Design and Analysis
- Timing Parameters
- Finite State Machines
Module III: CMOS Basics
- Introduction to CMOS Technology
- CMOS Fundamentals
- CMOS Invertor Characteristics
- CMOS Fabrication Process
- CMOS Circuit Design Basics
- CMOS Power Consumption
- Low Power Design Techniques
Module IV: FPGA Architecture
- Introduction to FPGA Technology
- FPGA Architecture Basics
- Logic Blocks and Configurable Logic Blocks (CLBs)
- Interconnects and Routing Resources
- Input/Output Blocks (IOBs)
- Clock Management Resources
- Xilinx FPGA Architecture, Families and Series
- Introduction to Xilinx-specific resources (e.g., Slice, LUT, BRAM)
- Intel FPGA Architecture, Families and Series
- Introduction to Intel-specific resources (e.g., LE, ALM, M20K)
- Configuration methods (serial, parallel, JTAG)
- High-Speed Transceivers
- Hard IP Cores
Module V: Essentials of Linux, GIT for Electronic Design Automation
- Introduction to UNIX-based Systems
- Directory Structure and File System Navigation
- Essential Utilities and Commands
- Introduction to Vi Text Editor
- Introduction to Version Control System
- Git Basics
- Branching and Merging
- Collaborative Development with Git
- Git Workflows in EDA Projects
- Git for Bug Tracking and Issue Management
Module VI: Advanced Verilog for RTL Design and Verification
- Verilog Fundamentals
- Data Types and Operators in Verilog
- Blocking vs. Nonblocking Statements
- Behavioral Modeling Techniques
- Combinational and Sequential Logic Design
- Synthesizable RTL Design Principles
- RTL Coding Guidelines
- Timing Controls in RTL Design
- Compiler Directives and System Tasks
- Tasks and Functions in Verilog
- Modeling Delays in Verilog
- Effective Verification Strategies in Verilog
- File I/O Operations in Testbenches
- Self-Checking Testbench Constructs
- Real-World Applications and Case Studies
Module VII: On/Off-Chip Protocols for RTL Design and Verification
- Memory Access Protocols
- Asynchronous FIFO Design
- Handling Clock Domain Crossing issues
- AMBA Protocol Overview – AXI, AXIS, AXIL, APB
- Mini Project: Design and Verification Using Memories Peripherals and AXI
- UART Protocol
- I2C Protocol
- SPI Protocol
Module VIII: TCL Scripts for FPGA Design
- Introduction to Tcl scripting language
- Tcl applications in FPGA design
- Basic syntax, variables, and data types in Tcl
- Automation possibilities with TCL
- Control structures, loops, and conditional statements in Tcl
- Procedures, functions, and best practices
- File I/O operations in Tcl
- Tcl for synthesis processes
- Implementing FPGA designs using Tcl scripts
- Place-and-route automation and scripting strategies
- Integrating Tcl scripts with FPGA synthesis tools
- Tcl scripting for IP integration
- TCL Script for FPGA Build
Module IX: IP Creation and Integration
- Overview of IP Cores
- Xilinx IP Catalog and Intel IP MegaWizard
- Creating Custom IP Cores
- Integrating IP Cores into FPGA Designs
- System Design with IP Blocks
- IP-XACT and IP Packaging
- Utilizing ChipScope and Signal Tap
- Common Debugging Strategies
- Debugging Real-world FPGA Designs
Module X: FPGA Timing Closure
- Introduction to Timing Analysis
- Overview of the importance of timing analysis in FPGA design.
- Fundamentals of understanding and evaluating timing constraints.
- Deep dive into setting constraints for optimizing design performance.
- Techniques for balancing setup and hold times.
- Clock Domain Crossing (CDC) Challenges and Solutions
- Implementing effective CDC solutions to ensure proper synchronization.
- Exploration of the place and route phase in the FPGA design flow.
- Techniques for efficient utilization of resources during placement.
- Process of generating the bitstream for configuring the FPGA.
- In-depth analysis of static timing to validate design performance.
- Interpretation of timing reports and adjustment of constraints for closure.
Module XI: Debugging and Troubleshooting Techniques on FPGA
- Utilize ChipScope and Signal Tap FPGA signal analysis.
- Apply common debugging strategies
- Navigate and troubleshoot complexities in real-world FPGA designs.
- Leverage hardware debugging techniques for efficient issue identification.
- Implement effective system-level debugging strategies.
- Troubleshoot communication interfaces in FPGA systems.
- Use a storage oscilloscope for in-depth hardware debugging.
- Analyze waveforms and signal characteristics to identify and resolve hardware-related issues.
Module XII, XIII: EDK (MicroBlaze and NIOS-II)
- Overview of Embedded Systems:
- Applications in Real-world Scenarios
- MicroBlaze Processor Architecture
- NIOS-II Processor Architecture
- Features and Capabilities Comparison
- EDK (Embedded Development Kit) Workflow
- Building Embedded Systems with MicroBlaze and NIOS-II
- Processor Configuration and Initialization
- Memory Configuration
- System Integration
- Debugging Techniques
- Overview of Peripherals
- Standard Peripheral Integration
- Custom Peripheral Design
- Bus Communication Protocol (e.g., AXI, Avalon)
Module XIV: Business Professional Communication and Career Readiness
- Transition from College to Corporate
- Interpersonal Skills and Effective Presentation
- Email Etiquette and Professional Writing
- Resume Writing and Job Application Skills
- Mock Interviews: Technical and HR Rounds
- Interview Skills: Group Discussions and HR Round Preparation
Module XV: Final Project in RTL Design (Internship)
- Design Specification Analysis
- Creating the Design Architecture
- Partitioning the Design
- RTL Coding in Verilog
- RTL Functional Verification using Verilog HDL
- RTL Synthesis
- Building Regression Test Suite
- Coverage Analysis and Coverage Closure
- Documentation and Project Presentation
Comprehensive Industry-Driven Evaluation: Test and Mock Interviews with Industry Experts Covering Diverse Topics
Note: Assignments, tests, and interviews will be conducted in conjunction with each course module
I. Aptitude Tests - 10 Tests
Rigorous Aptitude Assessments to Gauge Problem-Solving Skills and Analytical Abilities
II. Assignments, Technical Tests, and Interviews
Advanced Digital Systems:
Assessing Knowledge in Complex Digital System Design and Analysis
CMOS Basics:
Evaluating Fundamental Understanding of CMOS Technology and Applications
Essentials of Linux for Electronic Design Automation:
Testing Proficiency in Linux Environment and EDA Tools Utilization
Advanced Verilog for RTL Design and Verification:
Practical Assessment of Verilog Skills for RTL Design and Verification
FPGA timing ClosurevStatic Timing Analysis
Evaluating Mastery in Timing Analysis Concepts and Techniques
TCL Scripts for FPGA design
Assessing Scripting Skills for Automation in EDA Processes
Essential Off-Chip Protocols for RTL Design and Verification (AMBA AXI, UART, I2C, SPI):
Proficiency Evaluation in Key Off-Chip Protocols for VLSI Communication
Essential On-Chip Protocols for RTL Design and Verification (AMBA APB, AXIS, AXIL, AXI)
In-Depth Understanding and Application of On-Chip Protocols
IP Integration
Assessing IP Integration Skills for FPGA Design
FPGA Implementation – Physical Design
In-Depth Understanding of FPGA implementation (Place, Route and Bitstream Generation)
11. On board debugging and Trouble shooting
Assessing debugging skill using ILA, VIO and Signal Tap
Advanced VLSI Design and Verification
Module II: Advanced Digital Systems:
- Number Systems and Conversions
- Combinational Circuits - Design and Analysis
- Sequential Circuits – Counters, Shift Registers, Sequence Detectors - Design and Analysis
- Timing Parameters
- Finite State Machines
Module III: CMOS Basics
- Introduction to CMOS Technology
- CMOS Fundamentals
- CMOS Invertor Characteristics
- CMOS Fabrication Process
- CMOS Circuit Design Basics
- CMOS Power Consumption
- Low Power Design Techniques
Module IV: Essentials of Linux, GIT for Electronic Design Automation
- Introduction to UNIX-based Systems
- Directory Structure and File System Navigation
- Essential Utilities and Commands
- Introduction to Vi Text Editor
- Introduction to Version Control System
- Git Basics
- Branching and Merging
- Collaborative Development with Git
- Git Workflows in EDA Projects
- Git for Bug Tracking and Issue Management
Module V: Advanced Verilog for RTL Design and Verification
- Verilog Fundamentals
- Data Types and Operators in Verilog
- Blocking vs. Nonblocking Statements
- Behavioral Modeling Techniques
- Combinational and Sequential Logic Design
- Synthesizable RTL Design Principles
- RTL Coding Guidelines
- Timing Controls in RTL Design
- Compiler Directives and System Tasks
- Tasks and Functions in Verilog
- Modeling Delays in Verilog
- Effective Verification Strategies in Verilog
- File I/O Operations in Testbenches
- Self-Checking Testbench Constructs
- Real-World Applications and Case Studies
Module VI: Static Timing Analysis in Digital Design
- Introduction to Static Timing Analysis (STA)
- Timing Path and Constraints
- Different Types of Clocks and Clock Domains
- Timing Exceptions
- How to Fix Timing Failure
- STA Issues and Solutions
- Methods to Improve Timing
Module VII: Perl Scripts for Electronic Design Automation (EDA)
- Introduction to Perl Programming
- Perl Functions and Statements
- Numbers, Strings, and Quotes in Perl
- Comments, Loops, and Control Structures
- Regular Expressions in Perl
- File Operations and Data Processing
- Mini Project – Realtime case studies
Module VIII: SystemVerilog for Verification
- Functional Verification Overview
- Introduction to SystemVerilog
- Procedural Statements and Arrays
- Mailbox, Packages, Compilation Unit
- Object-Oriented Programming and Randomization
- Fork-Join and Inter-Process Synchronization (Threads)
- Program and Clocking Block
- Tasks and Functions in SystemVerilog
- Virtual Interfaces and Building Verification Environment
- Constraining and Randomization Techniques
- Advanced Data Types in SystemVerilog
- Direct Programming Interface (DPI)
- Functional and Code Coverage Analysis
- Regression Testing Strategies
Module IX: UVM (Universal Verification Methodology)
- UVM Basics
- Revisit OOP Basics
- Testbench Architecture
- DUT-Testbench Connections
- Configuring a Test Environment
- Analysis Components & Techniques
- Sequences – Virtual Sequences
- Transaction Level Modeling
- The UVM Messaging System
- Register Abstraction Layer
- Debug of SV and UVM
- UVM Connect - SV-SystemC interoperability
Module X: On/Off-Chip Protocols for RTL Design and Verification
- Memory Access Protocols
- Asynchronous FIFO Design
- Handling Clock Domain Crossing issues
- AMBA Protocol Overview – AXI, AXIS, AXIL, APB
- Mini Project: Design and Verification Using Memories Peripherals and AXI
- UART Protocol
- I2C Protocol
- SPI Protocol
Module XI: AXI Protocol, AXI VIP and TB development
- AXI Protocol basics and Advanced Concepts
- AXI VIP (Verification IP) Introduction
- AXI VIP Operation and Configuration
- Testbench Development for AXI Protocol
- AXI Protocol Interfacing and Integration
- Real-World Applications and Case Studies
Module XII: Assertion-Based Verification - SVA (SystemVerilog Assertions)
- Introduction to Assertion-Based Verification (ABV)
- Immediate Assertions
- Simple Assertions
- Sequences and Sequence Composition
- Advanced SVA Features
- Assertion Coverage
- Advanced Applications and Case Studies
Module XII: Verification Planning and Management
- Verification Plan Development
- Testbench (TB) Architecture Design
- Coverage Model and Analysis
- Simulation Process Tracking and Management
- Building Regression Test Suite
- Test Suite Optimization and Scalability
Module XIV: Business Professional Communication and Career Readiness
- Transition from College to Corporate
- Interpersonal Skills and Effective Presentation
- Email Etiquette and Professional Writing
- Resume Writing and Job Application Skills
- Mock Interviews: Technical and HR Rounds
- Interview Skills: Group Discussions and HR Round Preparation
Module XV: Verification Project – Phase I
- Verification and RTL Sign-off
- Project Specification Analysis
- Defining Verification Plan
- Creating Testbench Architecture
- Implementing Transactors
- Defining Transactions
- Implementing the Coverage Model
- Building the Top-Level Verification Environment
- Building Regression Test Suite
- Coverage Analysis and Coverage Closure
- Documentation and Project Presentation
Module XVI: Final Project in VLSI Design and Verification
(Internship with Industry: A Practical Application of VLSI Expertise)
- Design Specification Analysis
- Creating the Design Architecture
- Partitioning the Design
- RTL Coding in Verilog
- RTL Functional Verification
- RTL Synthesis
- Building Regression Test Suite
- Coverage Analysis and Coverage Closure
- Documentation and Project Presentation
Comprehensive Industry-Driven Evaluation: Test and Mock Interviews with Industry Experts Covering Diverse Topics
Note: Assignments, tests, and interviews will be conducted in conjunction with each course module
I. Aptitude Tests - 10 Tests
Rigorous Aptitude Assessments to Gauge Problem-Solving Skills and Analytical Abilities
II. Assignments, Technical Tests, and Interviews
Advanced Digital Systems:
Assessing Knowledge in Complex Digital System Design and Analysis
CMOS Basics:
Evaluating Fundamental Understanding of CMOS Technology and Applications
Essentials of Linux for Electronic Design Automation:
Testing Proficiency in Linux Environment and EDA Tools Utilization
Advanced Verilog for RTL Design and Verification:
Practical Assessment of Verilog Skills for RTL Design and Verification
Static Timing Analysis
Evaluating Mastery in Timing Analysis Concepts and Techniques
Perl Scripts for Electronic Design Automation (EDA)
Assessing Scripting Skills for Automation in EDA Processes
ASIC Verification Methodologies:
Testing Knowledge of ASIC Verification Approaches and Strategies
SystemVerilog for Verification:
In-Depth Assessment of SystemVerilog Proficiency for Verification Tasks
UVM (Universal Verification Methodology)
Evaluation of UVM Expertise in Verificaion Environments
Essential Off-Chip Protocols for RTL Design and Verification (AMBA AXI, UART, I2C, SPI):
Proficiency Evaluation in Key Off-Chip Protocols for VLSI Communication
Essential On-Chip Protocols for RTL Design and Verification (AMBA APB, AXIS, AXIL, AXI)
In-Depth Understanding and Application of On-Chip Protocols
Advanced SystemVerilog for Verification
Advanced SystemVerilog Skills Evaluation for Complex Verification Challenges
Assertion-Based Verification - SVA (SystemVerilog Assertions)
Assessment of SVA Knowledge and Application in Verification
Verification Planning and Management
Evaluation of Verification Planning Skills and Management Strategies
Advanced Embedded System Course Module
Module II : Essentials of Electrical Flow
- Introduction.
- Laws – KVL, KCL.
- Mesh, Nodal Analysis
- Network theorems
- Voltage Divider and Current Divider.
- Resistor Networks (Star – Delta).
Module III : A Guide to Basic Electronics
- Introduction.
- PN Junction, Zener Diode
- BJT - operation, models, and applications.
- FET - operation, models, and applications.
- Op-amp model and applications.
Module IV : Foundations of Microprocessors
- Architecture of 8085
- Signed and unsigned numbers
- Addressing modes
- Assembler directives
- Intro to Architecture of 8086
Module V : Microcontrollers
- Understanding MCU memory map.
- MCU bus interfaces.
- Understanding MCU clock tree.
- Vector table
- Interrupt design.
Module VI : Smart Sensing and Actuation in Embedded Systems
- Introduction to Sensors and Actuators.
- Sensor Interfacing and Data Acquisition.
- Common Sensor Types and Their Applications.
- Actuator Control in Embedded Systems.
- IoT Integration for Sensors and Actuators.
Module VII : Introduction to UNIX and Version Control for Embedded Systems
- Introduction to UNIX-based Systems
- Directory Structure and File System Navigation
- Essential Utilities and Commands
- Introduction to Vi Text Editor
- Introduction to Version Control System
- Git Basics
- Branching and Merging
- Collaborative Development with Git
- Makefile for Embedded Systems
- Git for Bug Tracking and Issue Management
Module VIII : Introduction to C
- Exploring C
- Basic Concepts.
- Operators and Expressions.
- Control Structures.
- Arrays and string.
- Functions.
- Structures and unions in POINTERS
- Input and Output Functions in C
- Preprocessors
- C - Scope Rules
- Miscellaneous
Module IX : Data Structures – In-Depth Concepts and Implementation
- Linked Lists.
- Stacks and Queues.
- Trees.
- Graphs(Introduction)
Module X : Unlocking Embedded System Interfaces
- Understanding and Working with Peripherals in Embedded Systems.
- GPIO (General Purpose Input/Output) Basics and Configuration
- Off-Chip Protocols(UART,SPI,I2C,CAN ).
- ADC ,DAC,PWM, Interrupts , Timers and NVIC (Nested Vectored Interrupt
Controller), DMA
Module XI : Embedded Explorations
- Embedded vs. General-Purpose Systems
- Basic Components of Embedded Systems
- Bare-Metal Programming in Embedded Systems
- Challenges in Embedded Systems Design
- Applications of Embedded Systems
Module XII : Embedded Linux Fundamentals
- Introduction to Embedded Linux.
- Setting Up the Development Environment.
- Building a Linux Kernel for beagle bone.
- GPIO Control
- Yocto Basics
- Device Drivers
- File Systems in Embedded Linux.
- Interfacing Hardware with Linux.
- Debugging and Optimization Techniques
Module XIII : Advanced RTOS Techniques
- Introduction to Real-Time Operating Systems (RTOS)
- Understanding FreeRTOS Basics
- Task Management & Scheduling
- Inter-task Communication & Synchronization
- Timers and Delays in RTOS
- Debugging RTOS Applications
Module XIV : Advanced CPP Programming Concepts and Implementation
- Introduction to C++ and its Applications
- Control Structures and Flow Control
- Functions and Parameter Passing
- Object-Oriented Programming (OOP) Basics
- Advanced OOP Concepts
Module XV : Designing Embedded Applications with Qt
- Introduction to Qt for Embedded Systems.
- Qt Widgets for Embedded GUI Development.
- Qt Quick for Embedded Systems.
- Cross-Platform Development with Qt.
- Advanced Topics in Embedded Qt
Module XVI : Professional Development & Industry Readiness
Soft Skills Enhancement :
- Effective Communication Skills
- Problem-Solving & Critical Thinking
- Teamwork & Collaboration
- Time Management & Organizational Skills
- Self-Motivation & Independent Learning
- Adaptability & Resilience
Technical Evaluation & Practical Exposure:
- Hands-on Embedded Systems Projects
- Module-Wise Assessments & Concept Reinforcement
- Mock Interviews & Industry-Oriented Evaluations
- Resume Building & Career Guidance
Specialization Course in Embedded System
Module II : Advanced Embedded System ( IOT Specialization )
- IoT Architecture & Ecosystem
- Programming & Development
- Sensor Interfacing & Data Acquisition
- Wireless Communication Protocols
Module III : Advanced Embedded Systems (Automotive Specialization)
- Automotive Embedded Systems Overview
- AUTOSAR Architecture & Implementation
- In-Vehicle Networks & Communication