100+ detailed assignments covering all aspects from Verilog, Advanced digital design, System verilog, UVM, AXI protocol, VIP Development, Ethernet MAC core verification, RTL debug, UNIX and PERL scripting.
Overview
The VLSI Functional Verification Course is an 8-month, industry-oriented training program designed to provide end-to-end exposure to front-end design and verification. This program bridges the gap between academic knowledge and semiconductor industry requirements, making it one of the most comprehensive VLSI training courses in India. Participants will gain hands-on expertise in ASIC design flow, digital design, verification methodologies, and automation scripting.
The course blends structured lectures with 75+ assignments, real-world case studies, and project-based learning to ensure that students become job-ready verification engineers.
Key Areas Covered
ASIC design flow and methodology
Advanced digital design: combinational, sequential logic, CDC, timing closure
CMOS fundamentals for digital/ASIC design
SoC design and verification concepts
Verilog, SystemVerilog & UVM with 200+ coding examples and protocol-based projects
Linux, revision control, and scripting for semiconductor workflows
Soft skills: interview preparation and communication
Learning Outcomes
Ability to work on RTL design, SystemVerilog testbenches, and UVM environments
Practical debugging experience using Synopsys VCS & Verdi, Mentor QuestaSim, and Cadence Xcelium
Hands-on exposure to APB, AHB, and AXI protocol projects
Confidence to handle real-world verification challenges in industry settings
This course is available in both classroom and online formats, making it accessible to students across India and abroad.
Projects
Please note, ‘VLSI Functional verification training’, ‘VLSI front end training for freshers’ and ‘VLSI design and verification training for freshers’ are all same courses and refer to the current course you are seeing.
Projects are the most significant part of any engineers(both fresher and experienced) resume. Every resume will by default have Verilog, SV and UVM. It is the projects that differentiate your resume from other resumes, which essentially helps your chances of getting through the interviews.
Below is the list of projects student will be doing as part of six months training. Student will be doing all these projects from scratch. These projects will provide student with expertise on par with a 2 to 3 years experienced engineer, in terms of all the skill set required. Student can work on additional projects to enhance resume for experienced job role.
By working on below projects, student will get familiar with:
majority of standard protocols(AXI, AHB, APB, SPI, I2C, UART, etc)
Industry standard simulation tools like Questasim & VCS
Ethernet MAC is MAC core with transmit and receive logic working at 100Mbps. Design consists of five sub modules including DMA controller, MII, transmit, receive and control module. Course also covers the MAC 802.3 protocol standard.
This project provides student with detailed exposure to complete functional verification flow starting from reading the specification till coverage report generation and regression analysis. Student will get exposure to regression setup, coverage analysis and scoreboard development. This project is also good for working professionals whose work is generally confined to limited aspects of verification flow and want to get quick hands on exposure to complete flow.
What student learns from this project:
Understand various 802 standards and more specifically 802.3 standard
Understand various layers in OSI reference model and significance of network layer and MAC layer.
Understand the whole process of functional verification flow starting from Specification to coverage analysis and closure.
AXI3.0 is an AMBA protocol used for high performance applications. AXI3.0 supports various features like out of order transactions, burst transfers, cacheble and bufferable transactions few among various features supported.
VIP was developed to work as both master and slave. Developed all the VIP components and validated VIP for various AXI features.
What student learns from this project:
Develop VIP Architecture to be compatible with both master and slave behavior
List down AXI features and develop testplan for validating AHB VIP
Develop AXI VIP components
Integrated AXI Master VIP with slave VIP
Develop sanity testcases and debug the same
Develop functional tests and debug the same
Regression setup and closing of VIP validation using coverage criteria
Memory testbench was setup for configurable number of agents. Implemented the concept of semaphores to avoid the conflict from multiple agent concurrent access. Also developed reference model and checker to check memory write read behaviour. This project was done to gain practical exposure to System Verilog language constructs.
What student learns from this project:
Develop TB Architecture to be compatible with configurable number agent.
FIFO is a design block used for connecting components working at either same or different frequencies. This project covers all the UVM TB setup for asynchronous FIFO. This project is focused on teaching UVM constructs from practical usage perspective.
What student learns in this project:
Understand the functionality of Synchronous and Asynchronous FIFO
Understand how to fix clock domain crossing issues in Asynchronous FIFO due to design working in two different clock domains, to avoid race and glitch conditions
Develop Synchronous and Asynchronous FIFO design using Verilog
Develop Test bench for Synchronous and Asynchronous FIFO design using Verilog
Understand how to setup UVM TB for a design with 2 master interface
Get hands on exposure to all UVM constructs
Listing down features, scenarios – useful for interviews
Develop test bench architecture using virtual sequencer
Develop write and read interface agents
Integrate both agents to the test bench
Implement various test cases
How to use virtual sequencer and virtual sequences in test case coding
SPI Controller is design block that acts as an interface between processor and SPI slaves. SPI architecture is based on one master and multiple slaves.
SPI controller has 2 interfaces, one is APB interface used for configuring the SPI registers, address and data, other is SPI interface used for connecting with SPI slaves. SPI uses SCLK, MOSI, MISO and CS to connect master to slave.
What student learns from this project:
SPI protocol, architecture, components, signals
SPI timing diagram – writes, reads
SPI controller verilog coding
SPI controller test bench development and test case coding
Interrupt is an important aspect of processor and peripheral communication in any SOC. This project focused on learning Interrupt controller verilog coding and TB development.
What student learns from this project:
Understand the important of Interrupt in an SOC
Understand how the interrupt logic works in processor and peripheral communication
Develop the Interrupt controller architecture with processor and peripheral interfacing
Develop the Verilog code for Interrupt controller
Learn the concept of setting up test bench for complex design
Develop different test cases for various interrupt handling possibilities
Memory is developed using DEPTH, WIDTH and SIZE parameters to implement a configurable memory. The design and Test bench developed in Verilog language with multiple testcases. This project is focused on learning Verilog from practical use case perspective.
What student learns from this project:
Develop memory verilog code with different parameters
Understand memory using KB, MB, GB format. Learning calculations for Address Width calculation
Develop TB Architecture using front door and back door access tasks
Learn the concept of task usage in configurable test bench setup
Learn the concept of testcases in design verification
How to analyze the waveform for checking memory write/reads
PISO(Parallel In Serial Out) and SIPO (Serial In Parallel Out) are required for Serialising and De-serialising data at PHY interface. These has two interfaces for data driving from parallel interface on one side to serial interface on another side and vice versa. It collects the serial incoming data and pushes in to shift register and drives it out to upper layers as a parallel data. It collects parallel incoming data from upper layers and drives it on serial interface. Design also includes buffer to achieve non-blocking data transfers in both transmit and receive paths.
What student learns from this project:
RTL Coding for both transmit and receive paths
RTL integration
Setting up Testbench and testbench component coding.
CRC (Cyclic Redundancy Check) is an important concept in VLSI high speed protocols. This project is focused on learning the CRC generation logic for a bit vector using the standard CRC polynomials for CRC5, CRC16 and CRC32.
What student learns from this project:
Understand the purpose of CRC in high speed protocols
Understand the logic used in CRC calculation, and how it differs from binary division logic
Clock is important aspect of every electronic design. This project focused on understanding clock generation for a user provided frequency, duty cycle and jitter.
What student learns from this project:
Understand the important of clock in electronic designs
Understand how to convert frequency to time period, Hz/KHz/MHz/GHz to sec/ms/us/ns/ps
Develop the Verilog code for clock generation using user provided frequency, duty cycle and jitter
Learn usage of $value$plusargs for reading user arguments
Learn usage of $value$plusargs for reading user arguments
Develop TB for clock generation logic checking
Understand importance of time step in clock generation logic