FPGA Modules
Module1 : Digital Logic Design System tasks
Compiler Directives
Introduction to Digital logic Verification Process
Number Systems Test bench structures
Boolean algebra Bus function models
Boolean minimization Assertion based Verification
Combinational circuit design Functional Verification Coverage
Sequential circuit design o Statement
Finite state machines
o Branch
o Expression
Designing complex digital circuits o Path
Logic families o Toggle
Miscellaneous concepts
Module 5 : Standard mini project – using Verilog
Module 2: Project Management
Module 6 : Interface Protocols
GVim Editor
Linux Environment UART
Perl Scripting I2C
SPI
Module 3: RTL Coding using Verilog HDL APB
AHB
Introduction to HDLs AXI
Basic constructs Glimpse of USB
Syntax Glimpse of PCIe
Modeling styles
Combinational circuit design Module 7 : Overview of SoC Architectures
Sequential circuit design
Finite state machine design What is an SoC ?
Digital system design Advantages of SoCs over conventional ASICs?
Simulation & Synthesis issues Typical components of an SoCs
Unwanted Latches Sample SoC Architectures
Clock-gating
Clock-domain crossing issues
Low power techniques
RTL Design strategies
Module 4 : Functional Verification using Verilog HDL
Delay Concepts
Tasks & Functions
Stimulus generation
Race conditions
File IO Operations
Miscellaneous constructs
Module 8 : Advanced FPGA Implementation
Evolution of Programmable logic
FPGAs Vs ASICs
Xilinx FPGA Architecture
Essential Building blocks
LUT, Slices, CLBs, BRAMs
DSP / Multipliers
Clock Management components
Processor
IO Pins
FPGA Design flow & Implementation
Reading reports
Pin Assignments
Timing & Area Constraints
DCMs
Memories & FIFOs
Timing closure strategy
Power estimation
Floorplanning the design
Back-annotation simulations
FPGA Board Overview
FPGA Configuration
System Testing
On-board stimulus generation
Logic state capturing
On-board debugging strategy
Debugging using ChipScope Pro
Advanced Synthesis & Optimization techniques for
High performance designs
Mock Interviews