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
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)
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 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 memories – Front door, back door.
ARM Instruction example
SOC Testbench Setup
SoC environment structure
SoC TB Architecture
Integrating UVC in to 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 env 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 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
Understanding chip stages:
RTL code freeze
Base tapeout
Metal tapeout
ECO update
CS (customer shipment)
RMA
Verification closure:
Regression 100% pass
100% toggle coverage
reviews high level & low level
Performance requirements
Power reqs met
Performance requirements?
Gate level simulations:
Significance
choosing tests for GLS
EVCD generation:
Format?
Why?
choosing tests for GLS
Vector runs on VT setup
production vectors
characterization vectors
Generating binaries for running on tester
Vector debug
ECO:
What stage ECO is issued
RMA:
Significance?
Misc:
SoC Architecture:
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

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

Course videos

+
Unit 1 Agenda, Pre-requisites 00:06:18
Unit 2 SOC architecture, SOC components 00:44:45
Unit 3 SOC features, Documents required 01:03:42
Unit 4 SOC design flow: important aspects 00:36:30
Unit 5 SOC design and verification flow, IP to SOC verification differenc 00:47:32
Unit 6 revision, SOC verification, SOC testcases 00:47:38
Unit 7 Module to SOC verification 00:22:11
Unit 8 SOC testbench 00:02:35
Unit 9 setting up SOC testbench 00:19:08
Unit 10 SOC testplan 00:08:29
Unit 11 SOC testcase flow 00:44:24
Unit 12 Testcase coding 00:10:57
Unit 13 Transaction flow from Processor to peripheral 00:07:21
Unit 14 Coding of SOC TB components, SOC testcase coding 00:26:34
Unit 15 How to load C code 00:10:14
Unit 16 SOC TB coding 01:28:17
Unit 17 Processor boot 00:24:25
Unit 18 SOC reset and clock controller 00:17:35
Unit 19 SOC memories, memory mapping, SOC interconnects 00:46:10
Unit 20 SOC testcase debug 00:30:23
Unit 21 SOC testcase debug concepts, important debug points, SOC verification closure 00:45:34
Unit 22 WLAN SOC 00:46:42
Unit 23 SOC GPIO configuration 00:13:56
Unit 24 Core and system control 00:14:19
Unit 25 Power, reset and control block 00:36:30
Unit 26 Clock controller 00:05:55
Unit 27 Boot ROM 00:27:04
Unit 28 Flash controller 00:25:31
Unit 29 GPIO P 00:25:07
Unit 30 WLAN 00:01:41
Unit 31 DMA controller 00:39:25
Unit 32 Real time clock, WDT 00:09:02
Unit 33 GPT 00:06:52
Unit 34 AES 00:03:15
Unit 35 Peripheral sub system: UART, I2C, SPI verification 01:36:09
Unit 36 ARM architecture 02:14:18
Unit 37 ARM instruction setting 00:49:03
Unit 38 ARM exception and interrupt handling 00:27:29
Unit 39 Interrupt handler, GIC 01:21:33
Unit 40 ARM memory model 01:28:57
Unit 41 CPU testplan 00:33:56
Unit 42 CPUSS test plan, CPUSS test phases 00:52:15
Unit 43 ARMSS ports, CPU testlist file 00:29:30
Unit 44 CPUSS test run script, regression setup 01:54:05
Unit 45 CPUSS TB Env 00:11:08
Unit 46 ARM power management 00:16:15
Unit 47 SOC fuse concept 00:04:14
Unit 48 SOC DMA verification 00:00:29
Unit 49 MMU 00:02:42
Unit 50 GLS Session#1 02:21:44
Unit 51 GLS Session#2 02:02:00
Unit 52 UPF and PAGLS 01:38:40
Unit 53 Post silicon validation 00:29:05


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

continue to register

Have an account ? Login Fast

Login to Continue

If you face any Issue Contact Administrator.