SOC Design and Verification

Home > Course

SOC Design and Verification

About Course

• 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

Demo Videos

Unit NumberTopicDuration (Mins)
1Agenda, Pre-requisites7
2SOC architecture, SOC components45
3SOC features, Documents required64
4SOC design flow: important aspects37
5SOC design and verification flow, IP to SOC verification difference48
6revision, SOC verification, SOC testcases48
7Module to SOC verification23
8SOC testbench3
9setting up SOC testbench19
10SOC testplan9
11SOC testcase flow45
12Testcase coding11
13Transaction flow from Processor to peripheral8
14Coding of SOC TB components, SOC testcase coding27
15How to load C code11
16SOC TB coding89
17Processor boot25
18SOC reset and clock controller18
19SOC memories, memory mapping, SOC interconnects46
20SOC testcase debug31
21SOC testcase debug concepts, important debug points, SOC verification closure46
22WLAN SOC47
23SOC GPIO configuration14
24Core and system control15
25Power, reset and control block37
26Clock controller:6
27Boot ROM27
28Flash controller26
29GPIO P25
30WLAN2
31DMA controller40
32Real time clock, WDT9
33GPT7
34AES4
35Peripheral sub system: UART, I2C, SPI verification96
36ARM architecture134
37ARM instruction setting49
38ARM exception and interrupt handling28
39Interrupt handler, GIC82
40ARM memory model89
41CPU testplan34
42CPUSS test plan, CPUSS test phases53
43ARMSS ports, CPU testlist file30
44CPUSS test run script, regression setup114
45CPUSS TB Env11
46ARM power management17
47SOC fuse concept5
48SOC DMA verification1
49MMU3
50GLS SES1: Schedule and Agenda4
51GLS SES2: What is GLS?11
52GLS SES3: When GLS is run in ASIC flow?19
53UPF and PAGLS99
54Post silicon validation29
55Sparc64SOC TB setup38
Fee Structure
Curriculum

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?
PLL
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

Benefits of eLearning?
  • Access to the Instructor - Ask questions to the Instructor who taught the course
  • Available 24/7 - VLSIGuru eLearning courses are available when and where you need them
  • Learn at Your Pace - VLSIGuru eLearning courses are self-paced, so you can proceed when you're ready
Course Instructor
  • Dedicated Trainer Accessible On Phone / Email / Whatsapp
  • Trainer Exp: 15 Years

Price - ₹11,000 + GST

₹13,000    (15% Off)

10 hours left to avail at this price

Edit Template

Course Highlights

Edit Template

TESTIMONIALS

What Our Students Says About Inskill

FAQ

  1. Course presentations for all topics
  2. Session notes
  3. Lab documents with detailed steps
  4. User guides

  1. Course does not have any pre-requisites. However any exposure to Digital design, VLSI design flow is an added advantage.

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

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

  1. Yes, Course fee also includes support for doubt clarification sessions even after course completion
  2. You have option to mail you queries
  3. Option to meet in person to clarify doubts