• SOC design & verification flow overview
• SOC Design concepts
• Processor boot concepts
• SOC Verification: Important aspects
• Testbench
• Setting up SOC TB environment
• SOC Subsystem overview (Processor, High speed, Low speed, Modem, Multimedia subsystem)
• Testplan
• Testcase Flow
• Testcase Coding (C & SV)
• Running testcases & regression
• SOC Test debug
• Typical testcase issues
• Verification closure
• Performance requirements
• Gate level simulations
• Power Aware Simulations
• PAGLS
• EVCD generation
• Vector runs on VT setup
• Generating binaries for running on tester
• ECO
• RMA
• UVC in Testbench setup & sequence usage in SV testcase
SOC FLOW
• SoC Architecture
• Design Integration
• Spyglass
• Functional Verification
• Formal Verification (Connectivity Checks)
• PA RTL simulations
• GLS
• PA GLS simulations (UPF)
• Vector EVCD generation
• VT simulations on testers
• Post silicon validation (VI)
Design
• SoC Architecture
• SoC Interconnects & NOCs
• NoC Overview – Types of NOCs, purpose and diagram
• SoC Digital & Analog Components
• SoC Address Mapping
• SoC Interrupt Mapping
• SoC Frequency Plan
• SoC Performance requirements
• Features
• DPLL
• SoC Memories: Msg ram, Iram, DDR, Flash
• SoC Subsystems
• Low Power Verification
• UPF
Important Aspects
• SoC Architecture, understanding transaction matrix
• Processor boot, SCF file
• Interconnects
• Memory preloading
• DDR initialization
• PLL locking (LMN values)
• TIC interface
• Clock domains
• Different clock modes
• XO mode, at-speed mode
• Interrupt handler
• Processor interfaces (instruction fetch, data code)
• I/Os of SOC: Dedicated IOs, GPIOs
• GPIO purpose: Pad muxing
• CDC
• Cycle slips
• MMU, Physical address, Virtual address
• ARM instruction set basics
• Types of verification and their differences
• Processor architectures: ARM, ARC, DSP
• Cortex A series, M series
• Impact on design architecture
• Basics of ARM processors
• Types of processors – Cortex-M series, A series
• ARM C, ASM compiler, linker
• Caches (L1 and L2)
• Generic Interrupt Controller
• Exceptions, Events – Types and handling
• Debug system – Basics of ARM debug subsystem
• Scatter files
• Setting reset location to start booting
• Loading C code into memories – Front door, back door
• ARM Instruction example
SOC Testbench Setup
• SoC environment structure
• SoC TB Architecture
• Integrating UVC into SoC TB
• SoC Processor-TB interaction
Testplan
• Register wr-rd, reset tests
• Interrupt tests
• Targeting different frequency plans
• Feature (use-case) tests
• Power aware tests
• Fuse tests
• End-to-end data transfer tests
• Booting from different testcases
• Address decoding access tests
• Connectivity tests
Testcase Flow
• TIC mode
• Functional mode
• Device Initialization
• DDR initialization
• Enabling DDR access to different processors
• Processor boot sequence
• Processor boot from different memories
• C test main function
• Power uncollapse
• Functional test
Coding Testcases
• Listing down test requirements, pass criteria
• Power domains to be up
• Clock domains to be up, required frequencies
• Understanding required flow to implement testcase
• Knowing library functions to implement above flow
• Understanding handshake between Native & SV code
Setting up Environment
• Design baseline
• All design sub-component latest baselines
• Verif baseline
• All verif sub-component latest baselines
• Updating environment for custom baseline
Running Testcases & Regression
• Command line
• sim\_gui mode
• Command line options
• Using force files, timing corners, frequency plans
Debugging Tests
• Tarmac log
• List file
• MPF file
• Log
• Wave dump debug
• Message-based debug
• Warnings, errors
Typical Testcase Issues
• Processor not booting
• Register looping
• Not working at current frequency plan
• PLL not locked
• Memory not preloaded
• Clocks not running
• Access not enabled to register or memory space
• Simulation not proceeding in time
• Simulation proceeding but not completing (looping)
• Interrupt not serviced
• Interrupt not generated
• Signal not sampled
• Sub-module functional issues
• Denali errors
• Memory loading ‘x’ debug
• Tied signals, unconnected ports
Understanding Chip Stages
• RTL code freeze
• Base tapeout
• Metal tapeout
• ECO update
• CS (customer shipment)
• RMA
Verification Closure
• Regression 100% pass
• 100% toggle coverage
• High level & low-level reviews
• Performance requirements
• Power requirements met
Gate Level Simulations
• Significance
• Choosing tests for GLS
EVCD Generation
• Format
• Purpose
• Choosing tests for GLS
Vector Runs on VT Setup
• Production vectors
• Characterization vectors
Generating Binaries for Running on Tester
• Vector debug
ECO
• When ECO is issued
RMA
• Significance
Misc – SoC Architecture Topics
• SoC Interconnects
• SoC Digital & Analog Components
• SoC Address Mapping
• SoC Interrupt Mapping
• SoC Frequency Plan
• SoC Performance requirements
• Features
• PLL
• SoC Memories: Msg ram, Iram, DDR, Flash
• Processor booting from different memories
• UVC in Testbench setup & sequence usage in SV testcase
Unit Number | Topic | Duration (Mins) |
1 | Agenda, Pre-requisites | 7 |
2 | SOC architecture, SOC components | 45 |
3 | SOC features, Documents required | 64 |
4 | SOC design flow: important aspects | 37 |
5 | SOC design and verification flow, IP to SOC verification difference | 48 |
6 | revision, SOC verification, SOC testcases | 48 |
7 | Module to SOC verification | 23 |
8 | SOC testbench | 3 |
9 | setting up SOC testbench | 19 |
10 | SOC testplan | 9 |
11 | SOC testcase flow | 45 |
12 | Testcase coding | 11 |
13 | Transaction flow from Processor to peripheral | 8 |
14 | Coding of SOC TB components, SOC testcase coding | 27 |
15 | How to load C code | 11 |
16 | SOC TB coding | 89 |
17 | Processor boot | 25 |
18 | SOC reset and clock controller | 18 |
19 | SOC memories, memory mapping, SOC interconnects | 46 |
20 | SOC testcase debug | 31 |
21 | SOC testcase debug concepts, important debug points, SOC verification closure | 46 |
22 | WLAN SOC | 47 |
23 | SOC GPIO configuration | 14 |
24 | Core and system control | 15 |
25 | Power, reset and control block | 37 |
26 | Clock controller: | 6 |
27 | Boot ROM | 27 |
28 | Flash controller | 26 |
29 | GPIO P | 25 |
30 | WLAN | 2 |
31 | DMA controller | 40 |
32 | Real time clock, WDT | 9 |
33 | GPT | 7 |
34 | AES | 4 |
35 | Peripheral sub system: UART, I2C, SPI verification | 96 |
36 | ARM architecture | 134 |
37 | ARM instruction setting | 49 |
38 | ARM exception and interrupt handling | 28 |
39 | Interrupt handler, GIC | 82 |
40 | ARM memory model | 89 |
41 | CPU testplan | 34 |
42 | CPUSS test plan, CPUSS test phases | 53 |
43 | ARMSS ports, CPU testlist file | 30 |
44 | CPUSS test run script, regression setup | 114 |
45 | CPUSS TB Env | 11 |
46 | ARM power management | 17 |
47 | SOC fuse concept | 5 |
48 | SOC DMA verification | 1 |
49 | MMU | 3 |
50 | GLS SES1: Schedule and Agenda | 4 |
51 | GLS SES2: What is GLS? | 11 |
52 | GLS SES3: When GLS is run in ASIC flow? | 19 |
53 | UPF and PAGLS | 99 |
54 | Post silicon validation | 29 |
55 | Sparc64SOC TB setup | 38 |
SOC design & verification flow overview |
SOC Design concepts |
Processor boot concepts |
SOC Verification : Important aspects |
Testbench |
Setting up SOC TB environment |
SOC Subsystem overview (Processor, High speed, Low speed, Modem, Multimedia subsystem) |
Testplan |
Testcase Flow |
Testcase Coding (C & SV) |
Running testcases & regression |
SOC Test debug |
Typical testcase issues |
Verification closure |
Performance requirements |
Gate level simulations |
Power Aware Simulations |
PAGLS |
EVCD generation |
Vector runs on VT setup |
Generating binaries for running on tester |
ECO |
RMA |
UVC in Testbench setup & sequence usage in SV testcase |
SoC Architecture |
Design Integration |
Spy glass, |
Functional Verification |
Formal Verification (Connectivity Checks) |
PA RTL simulations |
GLS |
PA GLS simulations (UPF) |
Vector evcd generation |
VT simulations on testers |
Post silicon validation (VI) |
SoC Architecture |
SoC Interconnects & NOCs |
NoC Overview – Types of NOCs, purpose and diagram |
SoC Digital & Analog Components |
SoC Address Mapping |
SoC Interrupt Mapping |
SoC Frequency Plan |
SoC Performance requirements |
Features |
DPLL |
SoC Memories: Msg ram, Iram, DDR, Flash |
SoC Subsystems |
Low Power Verification |
SoC Architecture |
SoC Interconnects & NOCs |
NoC Overview – Types of NOCs, purpose and diagram |
SoC Digital & Analog Components |
SoC Address Mapping |
SoC Interrupt Mapping |
SoC Frequency Plan |
SoC Performance requirements |
Features |
DPLL |
SoC Memories: Msg ram, Iram, DDR, Flash |
SoC Subsystems |
Low Power Verification |
UPF |
SoC Architecture, understanding transaction matrix |
Processor boot, SCF file, |
interconnects |
Memory preloading |
DDR initialization |
PLL locking(LMN values) |
TIC interface |
Clock domains |
Different clock mode |
XO mode, at-speed mode |
Interrupt handler |
Processor interfaces: interfaces meant for fetching instruction, data code |
I/O’s of SOC: Dedicated IO’s, and GPIOs |
GPIO purpose : Pad muxing |
CDC |
Cycle slips |
MMU, Physical address, virtual address |
ARM instruction set basics |
Types of verification : how they are different |
Processor architectures |
ARM, ARC, DSP |
Cortex A series, M series |
Impact on design architecture |
Basics of ARM processors |
Types of processors |
Cortex-M series, A series. |
ARM C, ASM compiler, linker. |
Caches (L1 and L2). |
Generic Interrupt controller. |
Exceptions, Events |
Types of Exceptions (Edge, Level), Source of Exceptions, How to handle. |
Debug system |
Basics of ARM debug sub system. |
Scatter files. |
How to set reset location to start booting. |
Loading C code into memorie |
Front door, back door. |
ARM Instruction example |
SoC environment structure |
SoC TB Architecture |
Integrating UVC in to SoC TB |
SoC Processor-TB interaction |
register wr-rd, reset tests |
Interrupt tests |
targeting different frequency plans |
Feature(use-case) tests |
power aware tests |
Fuse tests |
End to end data transfer tests |
Booting from different testcases |
Address decoding access tests |
Connectivity tests |
TIC mode |
Functional mode |
Device Initialization |
DDR initialization |
Enabling DDR access to different processors |
Processor boot sequence |
Processor boot from different memories |
C test Main function |
Power uncollapse |
Functional test |
Listing down test requirements, pass criteria |
Power domains to be up |
clock domains to be up, required frequencies |
Understanding required flow to implement testcase |
knowing library functions to implement above flow |
understanding handshake between Native & SV code |
Design baseline |
all design sub component latest baselines |
verif baseline |
all verif sub component latest baselines |
Updating env for custom baseline |
Command line |
sim_gui mode |
Command line options |
using force files, timing corners, frequency plans |
tarmac log |
List file |
mpf file |
log |
Wave dump debug |
Message based debug |
Warnings, errors |
Processor not booting |
register looping |
Not working at current frequency plan |
pll not locked |
Memory not preloaded |
clocks not running |
Access is not enabled to register or memory space |
Simulation not proceeding in time |
Simulation is proceeding in time but not completing (looping) |
Interrupt not serviced |
interrupt not generated |
Signal not sampled |
sub module functional issues |
Denali errors |
Memory loading ‘x’ debug |
tied signals, unconnected ports |
RTL code freeze |
Base tapeout |
Metal tapeout |
ECO update |
CS (customer shipment) |
RMA |
Regression 100% pass |
100% toggle coverage |
reviews high level & low level |
Performance requirements |
Regression 100% pass |
100% toggle coverage |
reviews high level & low level |
Performance requirements |
Power reqs met |
Power reqs met |
15.Gate level simulations: |
Significance |
choosing tests for GLS |
16.EVCD generation: |
Format? |
Why? |
choosing tests for GLS |
17.Vector runs on VT setup |
production vectors |
characterization vectors |
18.Generating binaries for running on tester |
Vector debug |
19.ECO: |
What stage ECO is issued |
20.RMA: |
Significance? |
SoC Architecture: |
SoC Interconnects |
SoC Digital & Analog Components |
SoC Address Mapping |
SoC Interrupt Mapping |
SoC Frequency Plan |
SoC Performance requirements |
Features |
SoC Memories: Msg ram, Iram, DDR, Flash |
Processor booting from different memories |
UVC in Testbench setup & sequence usage in SV testcase |
List down features and scenarios |
Developed testplan targeting register access, interrupt, DMA transfer, low power features |
Integrated TB components |
Develop testcases |
Setup regression (running all tests in one go) |
Generate testcase pass/fail report, coverage report |
Analyze the coverage report |
Achieve 100% toggle and functional coverage |
TESTIMONIALS
VLSIGURU training institute is one of the best training institute for VLSI domain.
They offer best courses for a very low and affordable prices.
I took e-learning courses, the course content and materials are well planned according to the industry requirements.
Their lectures are very detailed and cover all the concepts.
The projects and assignments they give are helpful in cracking a job.
The admin teams is very supportive all the time. I would definitely recommend to others
VLSIGURU training institute is one of the best training institute for VLSI domain.
They offer best courses for a very low and affordable prices.
I took e-learning courses, the course content and materials are well planned according to the industry requirements.
Their lectures are very detailed and cover all the concepts.
The projects and assignments they give are helpful in cracking a job.
The admin teams is very supportive all the time. I would definitely recommend to others
I recently completed the Functional Verification course at VLSIGuru, and I must say it was an exceptional training experience.
The course content was comprehensive, covering all essential aspects of functional verification.
The instructors were highly knowledgeable and provided clear explanations,making complex concepts easy to understand.
The practical hands-on exercises and real-world examples greatly enhanced my learning and problem-solving skills.
The course structure was well-organized, allowing for a smooth progression from fundamentals to advanced topics.
Overall, VLSIGuru's Functional Verification course has equipped me with the necessary skills and confidence to excel in the field.
Highly recommended!
I enrolled in Frontend Verification training course, firstly about the syllabus, they teach a lot of things I have compared to other classes no-one teaches so many things as VLSIGURU has taught me. The live lectures happen on regular basis which is a combination of theory as well as practicals. The mentors are just awesome they have a very good knowledge about the modules and clear our every doubts.
The admins are very much co-operative and understandable and help you throughout the course.
The concepts taught are in a very simplified manner and every lecture is recorded.
Very much satisfied will recommend to any VLSI enthusiast
I have taken training at VLSIGURU for Design and Verification course through online.
They have very experienced faculty with industrial knowledge.
The trainers explained every concept from the very basic to core concepts with good explanation.
Every doubt has been clarified with patience and in detail.
Every session os recorded and can be accessed through their website when required.
The institute also provided hands-on experience with the required tools and provided online access as well.
VLSIGURU institute also provided lab support to solve and get experience with the tool and gain knowledge on core concepts.
Interview preparation sessions has also been conducted along with mock interviews and training sessions.
It is the best institute to gain knowledge in core domain with affordable prices.
I Thank VLSIGURU for helping me to gain knowledge in the core domain.