FPGA System Design and Verification
ASIC Flow
- Specification
- RTL coding, lint checks
- RTL integration
- Connectivity checks
- Functional Verification
- Synthesis & STA
- Gate level simulations
- Power aware simulations
- Placement and Routing
- DFT
- Custom layout
- Post silicon validation
Digital Design - Deep Diva
- Combinational logic
- Number systems
- Radix conversions
- K-maps, min-terms, max terms
- Logic gates
- Realization of logic gates using mux’s and universal gates
- Compliments (1/2/9/10’s complement)
- Arithmetic operations using compliments
- Boolean expression minimization, Dmorgan theorems
- POS and SOP
- Conversion and realization
- Adders
- Half adder
- Full adder
- Subtractor
- Half subtractor
- Full subtractor
- Multiplexers
- Realizing bigger Mux’s using smaller Mux’s
- Implementing Adders and subtractors using Multiplexers
- Decoders and Encoders
- Implementing Decoders and Encoders using Mux and Demux
- Bigger Decoder/Encoder using smaller Decoder/Encoder
- Comparators
- Implementing multi bit Comparators using 1-bit Comparator
- Sequential logic
- Latch, Flipflop
- Latch, Flipflop using Gates or Mux’s
- Different types of FFs
- FF Truth table
- Excitation tables
- Realization of FF’s using other FF’s
- Applications of FF’s, Latches
- Counters
- Shift registers
- Synchronizers for clock domain crossing
- FSM’s
- Mealy, Moore FSM
- Different encoding styles
- Frequency dividers
- Frequency multiplication
- STA
- Setup time, Hold time, timing closure
- fixing setup time and hold time violations
- Launch flop, capture flop
SOC Design and Verification Concepts
- SOC Architecture overview
- SOC design concepts
- SOC verification concepts
- SOC Components
- SOC use cases
- SOC Testbench architecture
- SOC Test Case coding
- SOC verification differences with module verification
Linux Commands
- Installing Linux platform in Windows
- Linux basics
- Linux versus Windows
- Linux Terminal
- File and Directory management
- Changing file permissions
- Absolute path and relative path
- Working with directories
- GVIM – major keyboard shortcuts
- Text display commands
- Root configuration files
- Environment variables
- Text processing commands
- grep, fgrep
- xargs
- SEd
- AWK
- Pipes and filters
- Connecting to server
- Process management
- LSF
- Ping
- FTP
- CTAGs
- File compress and extract
- Softlinks
Verilog Language
- Verilog language basics
- Verilog : How the language evolved?
- Verilog execution using Modelsim
- Verilog constructs
- Literals
- Data types
- Operators
- Continuous assignments
- Procedural timing controls
- task and functions
- system task and function
- modeling memories and FSM
- Parameters
- Port connections
- Procedural blocks
- Sensitivity list
- State machines
- timescale
- Verilog timing regions
- process
- Blocking and nonblocking statements
- Inferring combinational and Sequential logic
- fork join
- Race conditions
- Synthesis examples
- Inter and Intra delay statements
- Pipelining
- PLI
- compiler directives
Verilog Design and Verification
- DFF coding using gate level, behavioral
- Counters
- Up counter
- Ring counter
- Johnson counter
- Memory design and verification
- Memory Verilog coding
- Front door access
- Back door access test case coding
- Test case coding and understanding waveforms
- FIFO – Synchronous FIFO and Asynchronous FIFO
- Synchronous FIFO
- Asynchronous FIFO
- Finite state machines
- Mealy and Moore style
- Implicit and Explicit styles of coding.
- Pattern detector – Overlapping, Non-Overlapping, Dynamic
- Overlapping
- Non-Overlapping
- Dynamic
- Traffic light controller
- APB protocol
- Interrupt controller
- SPI controller
- CRC generation
FPGA Design and FPGA design Flow
- PAL, CPLD and FPGA basics
- FPGA Design Flow
FPGA Architecture
- Internals of FPGA and CPLD
- Logic implementation
- FPGA Architectures of various FPGA vendors
- Anti-fuse and SRAMS
- Logic elements and Look-up Tables
- Dedicated multipliers
- Distributed RAM
- Shift registers
- MMCM
- Kintex
- Zynq
- Virtex Architectures
IP Core
- Introduction and usage of IP cores·
FPGA Simultation and Synthesis Tool Flow
- Modalism/Icarus Verilog simulation
- Design Synthesis
FPGA Implementation Design Flow
- Design constraining and pin locking
- Timing analysis
- slack calculation
- Data loss due to large skew
- Maximum skew calculations with examples
- Period constraints
- Area and Power Constraints
- Static Timing Analysis
- FPGA programming
- Translate
- Map
- Floor plan
- Place and Route
- Post map and Post P&R simulation
- XDC constraints
- Reading and analysing reports-post synthesis
- Post map simulation
- Post P·&R simulation
- Configuring FPGAs
- FSM Extraction
Timing Simulation and Programing
- Timing Simulation using Modalism/Icarus Verilog
- Programming using JTAG
System Level Testing and Debugging
- Debugging techniques
- Debugging using chip scope and Logic analyzers
- Protocols on FPGA
- High Speed SERDES
- Identification of the issues/resolving
FPGA SDK Environment
- FPGA SDK environment
- FPGA Device selection
PERL / Python Scripting
- PERL Interpreter
- Variables
- File management
- Subroutines
- Regular expressions
- Object oriented PERL
- PERL modules
Soft Skill Training
- Facing interviews effectively
- industry work culture
- Group discussions
Assignments
100+ detailed assignments covering all aspects from VLSI Flow, SOC Design, Verilog, Advanced digital design, System Verilog, AXI protocol, VIP Development, RTL debug, UNIX and PERL scripting.
FPGA System Design training is a 6 months course provides participants with wider and deep understanding of the FPGA Architecture, Design, Timing closure flow and debugging.
FPGA System Design course is for both Design and verification engineers who want to gain expertise and hands on exposure to FPGA design, prototyping and Validation. FPGA training focuses on the subtleties of the Vivado flow and its add-on tools. By mastering the design methodologies presented in FPGA System Design course, participants will be able to close the timing of their designs faster, and also shorten the development time, and lower development costs.
Course combines insightful lectures with practical lab exercises to reinforce key concepts. FPGA training will also help experienced engineers working in other domains, planning to switch in to FPGA domain. Course provides multiple hands on project exposure to provide hands on exposure to the complete FPGA system design flow.
Course has been framed with a seamless interest to plug and play the FPGA boards. Every session is planned with good hands-on examples to enable quicker understanding. Lab sessions are planned at regular intervals. Traditional FPGA developers code in languages such as Verilog HDL and VHDL. These developers are comfortable with creating FPGAs using the software, closing timing on complicated hardware circuits and managing complicated I/O interfaces to the FPGA. Below is the quick review of the course.
- FPGA Architecture
- FPGA internals and I/0
- FPGA timing closure
- FPGA implementation by RTL mode as well as IP Mode
- FPGA debugging
- Software development kit environment
- Booting FPGA in petalinux/ubuntu
Course | FPGA Design & Verification Course | |
---|---|---|
Duration | 24 weeks | |
Next Batch | Â | |
Schedule | Â | Â |
Freshers | Full week course | |
 | Saturday & Sunday(8:30AM – 4:30PM India time. Monday to Friday(9AM to 1PM). Flexible lab sessions for US Students. | |
 | Weekdays sessions will be focused on course labs. | |
 | Students also get support on complete project flow during weekdays as well. | |
Working professionals | Saturday & Sunday(8:30AM – 4:30PM India time. Flexible timings for students attending online from US) | |
 | 8:30AM – 12:30PM (Theory session offered by trainer) | |
 | 1PM – 4:30PM (Lab & tool based session guided by mentor). Students from US will get support in different time. | |
 | Students will take the weekday tests and assignments from home. | |
New batch starts | Every 8 Weeks | |
Tool | Questasim, Vivado, Zed board | |
Mode of training | Live online training | |
 | Course is also offered in elearning mode for self paced learning | |
Tool Access | Tool access for complete course duration | |
Assignments | 30 |
Course Highlights
- 1-1 Dedicated Mentor Support
- Â 24/7 Tool Access
- Multiple mock interviews
- Industry Standard Projects
- Support with resume update