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
  • Gain debug expertise
  • RTL coding and TB development

Project#1: DMA Controller Functional Verification using System Verilog

DMA Controller is Dual core design used to replace two CPU functions, memory copy and peripheral control. The Dual core design ensures that, one core can be used for memory copy requests and other for slow peripheral devices. The different cores can be configured to completely different topographies, saving area, power and improving performance. Design is implemented with AXI bus. Design interfaces with System interconnect using 64 bit AXI bus. Design has multiple interrupts to interface with multiple processors. Design supports various features like Block transfer, Scheduled channels, Joint mode, Independent mode, Outstanding mode and three level priority modes.

Worked on all the aspects of Design verification starting from reading the specification till regression setup and coverage analysis for verification closure. Also worked on developing AXI slave responder and AXI monitor and worked on integrating all the TB components.

Worked on coverage analysis, testcase development, test debug and various aspects of coverage closure for both functional and code coverage.


  • Listing down design features
  • Functional coverage point listing down
  • Setting up Testbench and testbench component coding.
  • Testplan development
  • Register model development and integration
  • AXI responder development and integration
  • Testcase coding
  • Reference model and checker coding
  • Regression setup and debug
  • Functional and code coverage analysis

Project#2: Verification IP Development for AXI3.0 protocol using SV

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.


  • 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

Project#3: AHB protocol UVC Development using SV & UVM

AHB2.0 is an AMBA protocol used for medium performance applications. I was part of UVC development team. UVC was developed to work as both master and slave. Developed all the UVC components and validated UVC for various AHB features.


  • Develop UVC Architecture to be compatible with both master and slave behavior
  • List down AHB features and develop testplan for validating AHB UVC
  • Develop AHB UVC components
  • Integrated AHB Master UVC with slave UVC
  • Develop sanity testcases and debug the same
  • Develop functional tests and debug the same
  • Regression setup and closing of UVC validation using coverage criteria

Project#4 : Memory verification using test bench with configurable number of agents

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.


  • Develop TB Architecture to be compatible with configurable number agent.
  • List down design features and develop testplan
  • Develop and integrate TB components.
  • Develop sanity testcases and debug the same
  • Develop functional tests and debug the same

Project#5 : Design & verification of Synchronous & Asynchronous FIFO using Verilog

FIFO is a design component used for interfacing data transfer between two components either working on same frequency or a different frequency. Implemented both Synchronous FIFO and Asynchronous FIFO using Verilog and testbench was also setup using Verilog.  The design was implemented in such a way that there are no race or glitch conditions arise due to design working in two different clock domains.

Project#6 : Design and verification of SPI Controller

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. Responsible for developing SPI Controller RTL code and verification of the same using SV.


  • Listing down design features
  • Setting up Testbench and testbench component coding.
  • Testplan development
  • Testcase coding

Project#7 : Design and verification of Interrupt controller

Interrupt controller is a design used to collect interrupts from various peripheral controllers and forwards the interrupts to processor on priority basis. This continues till all interrupts are serviced by processor. It interfaces with processor on one side using APB interface and another side with peripheral controller. Interrupt controller has configuration registers for programming the various peripheral priority levels, interrupts are processed based on these values. I was responsible for the complete functional verification flow starting from specification reading till verification closure. Testbench environment implemented using SV.

Project#8 : Design and verification of I2C controller

I2C Controller is a design block used for interfacing with I2C master with multiple I2C slaves. I2C controller has 2 interfaces, one is APB interface used for configuring the I2C registers, another is I2C interface using for connecting with I2C slaves. I2C uses SCL and SDA ports for interfacing master to slave. I was responsible for complete verification flow.

Project#9 : Design & verification of PISO and SIPO using Verilog

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.


  • RTL Coding for both transmit and receive paths
  • RTL integration
  • Setting up Testbench and testbench component coding.
  • Testplan development
  • Testcase coding

Other mini projects

  • RTL coding and verification of Dynamic pattern detector
  • RTL coding and verification of Dual port RAM
  • CRC generation logic verilog code

Functional verification course for freshers (VG-FEDV) is a 6.5 months course structured to enable BTech/BE and MTech/ME freshers gain in depth exposure to all the aspects of VLSI Design and verification. VLSI design and verification course ensures that a fresher is prepared on all the essential aspects of VLSI front end domain including ASIC flow, advanced digital design, CMOS, SOC design and verification concepts, Verilog, System Verilog, UVM, Linux, revision management and scripting. Course also includes training on soft skill for effective interview performance.

Lack of fundamentals in advanced digital design, Analog design and Verilog for design & verification becomes a major deterrent for freshers in finding right career opportunities. VLSI design and verification course offered in both classroom and online mode ensures that fresher is empowered with all the essential skill set required for various job roles in VLSI front end domain. VLSI design and verification course is practical oriented with each aspect of course involving multiple hands on projects. Student progress is tracked using 75 detailed assignments covering all the aspects from digital design, VLSI flow, SOC design & verification, RTL coding, Verilog, System verilog, RTL debug, UNIX, and PERL/Python scripting.

VLSI design and verification course includes VLSI Design flow(ASIC flow) training covering complete ASIC flow exposure from specifications till GDSII including Architecture, Specifications, RTL coding, lint checks, RTL integration, connectivity checks, functional verification, synthesis, Gate level simulations, formal equivalence checks, STA, placement and routing, clock tree synthesis, DFT, custom layout and post silicon validation. SOC Design and verification focus on SOC design concepts, SOC architecture, SOC verification concepts and differences when compared to module level verification.

Advanced Digital Design course focus on all the digital design concepts including combinational logic, sequential logic, circuit design concepts, memory types and other essential things focused in majority of fresher interviews. Course assume minimal exposure to digital design concepts, it starts from basic concepts till advanced concepts including clock domain crossing, synchronisers, timing violation fixing, etc.

Verilog and RTL coding course focus on all Verilog language constructs from practical usage perspective. Training involves 25+ design coding examples focused in fresher interviews.

Systemverilog course gives fresher with required exposure to advanced functional verification concepts. All language constructs are covered with detailed coding examples involving more than 200 examples. Course also offers exposure to standard on-chip communication protocols and verification IP development for AXI. UVM essentials course will emphasis on UVM language constructs and UVC development for AHB Protocol.

RTL debug course will focus on training student with important debug concepts including schematic tracing, RTL tracing, RTL & TB coding issues, etc.

Linux OS course ensures that student gets accustomed to industry work environment. Training also includes exposure to Makefile, revision management and all essential UNIX concepts.

Scripting course will focus PERL essential concepts. It will help student gain exposure to file management, regular expressions, Object oriented PERL, PERL modules and PERL usage in industry.  Soft skill training will prepare student on how to face interviews effectively, right body language, etc.

VLSI design and verification course is also targeted for engineers working in non-VLSI domains and planning to make career in VLSI.

Students planning to pursue complex projects after this course can do by paying a nominal fee. Institute offers more than 40+ other projects based on industry standard protocols like USB3.0, PCIe, UFS, SATA, DDR, DMA, AMBA, Bridge and Ethernet MAC etc. Student can opt for these projects at a nominal fee.

This course is super set of all other front end training courses, except for some advanced aspects of UVM not covered in this course. These advanced aspects are not required for a fresher.

  • Duration: 28 weeks (6.5 months)
  • Covers all the topics covered in Verilog and System Verilog courses
  • Covers all the topics of UVM till AHB UVC coding.
  • 6.5 months split as below
    • 2 months (Verilog, ASIC flow, Advanced Digital design)
    • 3 months (Systemverilog, Linux OS, Python Scripting, Revision management)
    • 1.5 months (UVM, SOC Design and verification overview, Soft skills)


  • 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

Advanced Digital Design concepts

  • Digital Design basics
  • combinational logic
  • sequential logic, FF, latch, counters
  • Memories
  • Refer to Advanced digital design training page for detailed course contents

ASIC Verification Concepts

  • SoC Verification Concepts
  • Module Level Verification
  • Constrained Random Verification
  • Coverage Driven Verification
  • Directed Verification
  • Assertion Based Verification

Verilog for Design and verification

  • Verilog language constructs
  • Verilog design coding examples covering more than 20 standard designs

SystemVerilog for Advanced Verification

  • Classes : Object Oriented Programming
  • Arrays, Data Types, Literals, Operators
  • Scheduling Semantics, Inter process Synchronization
  • Processes, Threads, Tasks and Functions
  • Randomization, Constraints
  • Interface, Clocking blocks, Program Block
  • Functional Coverage
  • Assertion Based Verification
  • System Tasks & Functions
  • Compiler Directives
  • DPI

Verification IP Development

  • AXI Protocol Concepts : Features, Signals, Timing Diagrams
  • AXI VIP Architecture Development
  • VIP Component Coding
  • AXI Slave model test case development
  • Test Case debugging

RTL Debug

  • Schematic tracing
  • RTL tracing
  • FIxing RTL and TB syntax and logical errors

DMA Controller functional verification

  • Reading design specification
    • Understanding design architecture, sub blocks, register definitions, interfaces
  • Listing down features, scenarios
  • Develop testplan
  • Functional coverage point list down
  • Develop Testbench architecture
  • Testbench component coding and integration
    • Skeletal TB structure coding
    • Functional coding
  • Develop sanity testcases(smoke testcases)
  • Bring up test bench environment using sanity testcases
  • Develop rest of test bench components
  • Develop functional testcases
  • Setup regression using Python script
  • Verification closure
    • Debug regression failures
    • Functional, Code and assertion coverage analysis

UVM for functional verification

  • What is UVM? Need for a methodology?
  • How UVM evolved?
    • OVM, AVM, RVM, NVM, eRM
  • UVM class library
    • Classification of base classes in various categories
  • OOP basics
    • Encapsulation
    • Inheritance
    • Polymorphism
    • Parameterized classes
    • Parameterized macros
    • Static properties and static methods
    • Abstract classes
      • Pure virtual methods
    • How above aspect correlates with UVM implementation.
  • UVM Class Library, Macros, Utilities
    • Detailed overview of important UVM base classes, Macros and Utility classes.
  • UVM TB Architecture
    • Setting up a UVM based testbench for APB protocol from scratch.
    • Significance of uvm_root in UVM based testbenches.
      • run_test, how it starts whole TB flow.
  • Command line processor
  • Reporting classes
    • Uvm_report_object
    • Uvm_report_handler
    • Uvm_report_server
    • Detailed examples on use of methods in these classes.
  • Objections
  • UVM Factory
  • Configuration DB, Resource DB
    • Detailed usage of both data bases.
    • How config_db is related to resource_db?
    • Using config_db to change the testbench architecture.
  • TLM1.0
    • Push
    • Pull
    • FIFO
    • Analysis
    • Complex example on AHB to AXI transaction conversion.
  • Simulation Phases
    • UVM common phases
    • Scheduled phases
  • Sequences, Sequencers
    • Default sequence
    • p_sequencer
    • m_sequencer
  • Test case development
    • Different styles of mapping testcase to sequence
      • Using default sequence and scheduled phases
      • Using sequence start method
  • Configuring TB Environment
    • Advanced aspects of developing a highly configurable test bench environment.
    • Concept of knobs of test case scenario generation
    • Using top level parameters to control the overall TB architecture
  • AHB Protocol and AHB UVC development
    • Coding from scratch with detailed explanation of each aspect.
    • Setting up a highly configurable UVC to meet different TB requirements.
  • Different testbench component coding
    • Monitor
    • Coverage
    • Scoreboard
    • Checkers
    • Assertions
  • Different styles of sequence development
    • `uvm_do
    • Start_item and finish_item
    • Using existing sequences
  • Sequence library
    • Creating complex test cases using sequence library
  • Virtual Sequencer, Virtual sequences

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


  • Shells
  • File and directory management
  • User administration
  • Environment variables
  • Commonly used commands
  • Shell scripting basics
  • SEd and AWK
  • Revision management
  • Makefiles

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

Course 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.

Course VLSI Frontend Training for freshers
Duration 28 weeks
Next Batch 25/September
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 assignments, labs and interview focused sessions.
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 4 Weeks
Tool Questasim & VCS
Mode of training Classroom training & Online training
Online training using live training sessions
Tool Access Tool access for complete course duration
Assignments 50
Content Learning Schedule(T : Course Start Date)
Verilog for Design and Verification T to T+8th week
VLSI Design Flow (ASIC flow) T+1 week (Done during weekdays)
Advanced Digital Design T+1 to T+3 week (Done during weekdays)
System Verilog for functional verification T+9 to T+21st week
Linux hands on training T+14 to T+15th week(Done during weekdays)
PERL/Python Scripting T+16 to T+18th week(Done during weekdays)
UVM for functional verification T+22 to T+26th week
SOC concepts T+26 week (Done during weekdays)
Soft skill Training T+27th week (Done during weekdays)




Why Course Fee is less compared to other institutes?

Institute is driven by philosophy of ‘Quality education at affordable fee’. Education should be affordable to majority of the people. Even otherwise basic courses like Digital Design, Verilog, SV, UVM, UNIX and Scripting all together can’t cost 1 lakh+. These are just languages and some projects.

Instead of asking us why charging less, please ask other institutes why charging so much for such basic skill set training? Let me tell you, tools are not costly as told by training institutes.

What are the Course Prerequisites?

  • Exposure to C programming
  • Exposure to Digital design basics

My college curriculum covers most of these topics, why should I opt for this course?

Course content covered in college(Btech/Mtech) curriculum is mostly theoretical and does not cover practical aspects. This course helps address that gap.

Does course cover practical sessions on SystemVerilog usage?

  • Each aspect of course is supported by lot of practical examples
  • Ethernet switch project will be used as reference design for learning all SystemVerilog constructs
  • All SystemVerilog course examples, AXI VIP, and Memory Controller Verification environment implemented from scratch as part of sessions
  • Dedicated full day lab sessions to ensure student does complete testbench development from scratch

Why is the course duration so long compared to other courses?

  • We go in depth of each topic, which requires us to spend more time.
  • This difference in your preparation helps you perform better than others during the written tests and interviews.

What if I miss few sessions during course?

Each session of course is recorded, missed session videos will be shared

Course has started few weeks back, can I still join the course in between?

  • Yes, You will have option to view the recorded videos of course for the sessions missed
  • You will have option to repeat the course any time in next 1 year

Do you offer support after course completion?

  • Yes, Course fee also includes support for doubt clarification sessions even after course completion
  • You have option to mail your queries
  • Option to meet trainer in person to clarify doubts
  • Course Material Shared:
    • Verilog course material, assignments, labs
    • SV quick notes, IEEE manual
    • SV Checklist
    • SV Lab Examples
    • AXI VIP Code
    • Course Assignments
    • Ethernet loopback design Testbench Code
    • UNIX course material
    • PERL Scripting course material
    Students enrolled for the course(Log in to youtube using gmail Id to view below videos):
    Click here to view Questasim usage video
    Click here to view VCS Usage video
    Click here to view GVIM editor video

    Student will get access to assignments, labs, session notes, interview questions, sample resumes on course page.

  • Main trainer: Sreenivasa Reddy
    • Founder, VLSIGuru Institute
    • Dual Degree(VLSI Design), IIT Madras
    • 14 years of industry experience
    • 9 years professional training experience
      • Trained around 2000+ students
    • Lead Trainer for Mentor HEP 1.5 months program at Bangalore
    • Corporate trainer
  • Supporting trainers:
    • 3 trainers currently working with Qualcomm, Intel and Samsung.
    • Experience of 10 years on average.
  • Payment schedule
    • 5000 INR towards course enrolment
    • 58000 + GST(overall)
      • Half payment within 1 week of course commencement
      • Remaining half within 1.5 month
error: Content is protected !!
Call Now Button
× Live Chat