alpide chip - verification challenges and practical solutions · 2018. 11. 20. · verification...

70
ALPIDE Chip - Verification Challenges and Practical Solutions Svetlomir Hristozkov 14/02/2017

Upload: others

Post on 27-Mar-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

ALPIDE Chip - Verification Challenges and Practical Solutions

Svetlomir Hristozkov

14/02/2017

Page 2: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Verification

“Verification is a process used to demonstrate that the intent of a design is preserved in its implementation1.”

14/02/17 [email protected] 2

1 Janick Bergeron (2006), Writing Testbenches Using System Verilog, New York, NY: Springer Science+Business Media

Page 3: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Verification

14/02/17 [email protected] 3

Ultimately… aims at finding bugs

Page 4: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Verification

14/02/17 [email protected] 4

Some tips on how to build ….

- Verification Environment- Tools and optimization- Properties and Formal

Page 5: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Seminar Outline

14/02/17 [email protected] 5

Chip Description & Requirements Verification Environment

Overview

Assertion Based Verification (ABV) and Formal

SEU Protection Verification Multi Snapshot Incremental Elaboration

Page 6: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

ALPIDE INTRODUCTION

Page 7: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

14/02/17 [email protected] 7

Current ALICE Detector

Focus: Heavy Ions collisions, Quark Gluon Plasma

Pixels Drift Strips

Gianluca Aglieri Rinella

Page 8: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

14/02/17 [email protected] 8

New ALICE ITS Layout

10 m2 sensitive area~24000 CMOS Pixel Sensors

12.5 Gpixels

3 Inner Barrel

layers (IB)

0.3% X0

4 Outer Barrel layers (OB)

1% X0

2.3 cm40 cm

150 cm

27 cm

# STAVES: 48 42 30 24 20 16 12 Gianluca Aglieri Rinella

Page 9: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

14/02/17 [email protected] 9

• High-resistivity (> 1kW cm) p-type epitaxial layer (18 mm to 30 mm) on p-type substrate

• Deep PWELL shielding NWELL allowing PMOS transistors (full CMOS within active area)

• Small n-well diode (2 mm diameter), ~100 times smaller than pixel => low capacitance => large S/N

• Reverse bias the substrate to increase the depletion volume around the NWELL collection diode

e e

ee

h

h

h

h

PWELL PWELL NWELL

DEEP PWELL

NWELL

DIODE

NMOS

TRANSISTOR

PMOS

TRANSISTOR

Epitaxial Layer P-

Substrate P++

Pixel Sensor CMOS 180 nm Imaging Process (TowerJazz)3 nm thin gate oxide, 6 metal layers

NA ~ 1016 cm-3

NA ~ 1013 cm-3

NA ~ 1018 cm-3

PIX_IN

deep pwelldeep pwell

pwell nwell nwell

p+

p+

p+

p+

p+

p+

n+

n+

p+

p+

p--

p--

IRESET

VRESET_P

DiameterSpacing Spacing

n+

VR

ES

ET

_P

M0b

IRESET

PMOS Reset

AVSSSUB

Collection

electrode

A)

B) C)

p substrate

p-- epitaxial layerCollection

electrode

SUB SUB

PIX_IN

AVDDIRESETVRESET

deep pwell deep pwellnwellpwell

epitaxial layer

p substrate

DiameterSpacing

Not to scale

Not to scale

Sensor Technology

Gianluca Aglieri Rinella

Page 10: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

14/02/17 [email protected] 10

ALPIDE Functional Diagram

16 double columns

32 readout regions

Matrix

Region Readout (1)

128x24b DPRAM

RR (2) RR (3) RR (32)

Chip Data Formatting

Module Data Management

Readout Sequencing

Control Bus Logic

Configuration Registers

Pixels Config8b DACs

11b ADC

Differential Control Port(40 Mbps)

Single Ended Control Port

Bandgap +Temp Sens Parallel Data Port

(4×80 Mbps)

Serial Data Transmission

DriverPLL Serializer

Serial Out Port(1200 Mbps / 400 Mbps)

24b×40MHz

24b×40MHz

8b/10b

30b×40MHz

32:1 DATA MUX

Triggers

Gianluca Aglieri Rinella

Page 11: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

14/02/17 [email protected] 11

Operating Scenarios –Inner Barrel

Clock + Control + Trigger

ITS Inner Barrel Module – 9 chips, common clock and control, independent data lines

Serial Outputs (1200 Mbps)

Gianluca Aglieri Rinella

Page 12: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

14/02/17 [email protected] 12

Operating Scenarios –Outer Barrel

ITS Outer Barrel Module – 2 groups of chips, Master + 6 Slaves- Only the Master interfaces to the external world

Clock, Control, Local Data

Clock, Control, Local Data

Clock + Control + Trigger

Serial Out (400 Mbps)

Serial Out (400 Mbps)

Clock + Control + Trigger

Gianluca Aglieri Rinella

Page 13: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

14/02/17 [email protected] 13

ALPIDE Block Diagram

Page 14: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

ALPIDE VERIFICATION INTRODUCTION

Page 15: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Design under Verification -Scenarios

14/02/17 [email protected] 15

Single Chip

Control features, 49 chips!

Inter-chip data exchange protocol

Control Features

Readout,Misc features

Page 16: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

TB Top view

14/02/17 [email protected] 16

Single Chip or ModuleRTL or Gate Level

- System Verilog/ Unified Verification Methodology (UVM) simulation environment

- Constrained random and Metric Driven

Rea

do

ut

IF

Page 17: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

TB Architecture - UVM

14/02/17 [email protected] 17

Page 18: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

TB Architecture - UVM

14/02/17 [email protected] 18

Dynamic Matrix Agent instantiation depending on test case

Page 19: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

MULTI-SNAPSHOT INCREMENTAL ELABORATION

Page 20: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Problems to be Addressed

1. Multiple DUV scenarios to simulate

- Dynamic, flexible software TB, could support any number of chips

- Would need a new elaboration for every scenario

2. Every variation in test case means re-elaboration of complete snapshot

- For ALPIDE, at least 7 minutes (simplest scenario)

- Regression suites also suffer from additive delays due to this effect

14/02/17 [email protected] 20

Page 21: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Incremental Elaboration

14/02/17 [email protected] 21

- Elaborate Design Once- Modify TB and VIP quickly

1

1 Multi Snapshot Incremental Elaboration, Cadence,Product Version 14.1, June 2014

Page 22: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Top level TB

14/02/17 [email protected] 22

Placeholder Module, always replaced by DUV through libmap configuration

Page 23: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

DUV – Configurations

14/02/17 [email protected] 23

- Configuration specifics hidden on lower level- DUV boundary interface remains the same

Page 24: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Example of Elaboration Gains

14/02/17 [email protected] 24

Metrics Multi-Snapshot Incremental Elaboration

Typical DUT + TB elaboration

Elaboration Time Total : 8m55s (6m58s prim elab + 1m57s cloning and loading TB)

43m4s

Final Snapshot loaded in Memory 33.5 GB 24 GB

BIGGEST ADVANTAGE: TB DEVELOPMENT SPEED-UP

Note: Configuration above uses Periphery RTL, Matrix & I/O behavioral models

Page 25: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Can we improve further?

14/02/17 [email protected] 25

- Modular design

- Suggested approach of

building up SoC through

separately elaborated IP

1 Multi Snapshot Incremental Elaboration, Cadence,Product Version 14.1, June 2014

1

Page 26: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Top Level Blocks within the ALPIDE

14/02/17 [email protected] 26

Characterised Cell

Behavioural Model

RTL Model

Gate Level Model

Bbox-ed Cell

* Digital Periphery specifics hidden for simplicity

Page 27: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

I/Os – Characterised Cells

14/02/17 [email protected] 27

Characterised Cell

Behavioural Model

RTL Model

Gate Level Model

Bbox-ed Cell

Page 28: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Behavioural Models Added

14/02/17 [email protected] 28

Characterised Cell

Behavioural Model

RTL Model

Gate Level Model

Bbox-ed Cell

Page 29: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Analog Blocks Bbox-ed

14/02/17 [email protected] 29

Characterised Cell

Behavioural Model

RTL Model

Gate Level Model

Bbox-ed Cell

Page 30: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

RTL - Option 1

14/02/17 [email protected] 30

Characterised Cell

Behavioural Model

RTL Model

Gate Level Model

Bbox-ed Cell

Page 31: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

RTL - Option 2

14/02/17 [email protected] 31

Characterised Cell

Behavioural Model

RTL Model

Gate Level Model

Bbox-ed Cell

Page 32: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Gate Level - Option 1

14/02/17 [email protected] 32

Characterised Cell

Behavioural Model

RTL Model

Gate Level Model

Bbox-ed Cell

Page 33: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Gate Level – Option 2

14/02/17 [email protected] 33

Characterised Cell

Behavioural Model

RTL Model

Gate Level Model

Bbox-ed Cell

Page 34: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Gate Level – Option 3

14/02/17 [email protected] 34

Characterised Cell

Behavioural Model

RTL Model

Gate Level Model

Bbox-ed Cell

Page 35: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Gate Level – Option 4

14/02/17 [email protected] 35

Characterised Cell

Behavioural Model

RTL Model

Gate Level Model

Bbox-ed Cell

Page 36: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Individual Chip Config

14/02/17 [email protected] 36

Characterised Cell

Behavioural Model

RTL Model

Gate Level Model

Bbox-ed Cell

Note: Elaboration times given for the reference scenario of OB (7 chips shown in slide 24). Elaboration A corresponds to Multi Snapshot Incremental ElaborationElaboration B corresponds to typical all-in-one Elaboration

RTL – Option 1Elaboration time A: 8m55sElaboration time B: 43m4s

RTL – Option 2 Elaboration time A: 33sElaboration time B: 5m16s

Gate – Option 1 Elaboration time A: 10m52sElaboration time B: 55m4s

Gate – Option 2 Elaboration time A: 36m34sElaboration time B: >1h

Gate – Option 3 Elaboration time A: 14m21sElaboration time B: >1h

Gate – Option 4 Elaboration time A: 1m49s Elaboration time B: 8m33s

Page 37: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Summary –Primary Snapshots

14/02/17 [email protected] 37

ALPIDE

Digital Periphery

RTL

Gate Level Netlist

DTU

RTL Serializer

Gate Level Serializer

Matrix

Bbox-ed512 x Double

Column

Priority Encoder

Extracted

Behavioural

1024 Pixels

Extracted

Behavioural

Only elaborate highlightedmodules and combine them to build chip model

Page 38: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Summary of Advantages

- Running regressions

- Pick and choose compromise between performance and accuracy

- Easier to bind checkers to primary snapshot

14/02/17 [email protected] 38

Page 39: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

ASSERTION BASED VERIFICATION (ABV) AND FORMAL

Page 40: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Objective

Show through examples the value of ABV :

- Formalise specifications on block level

- Facilitate regression checks

- Accelerate development

14/02/17 [email protected] 40

Page 41: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Binding Instances Intro

- Interfaces / Modules bound to DUT’s hierarchy

- Contain checks on interfaces, protocol as well as coverage metrics

14/02/17 [email protected] 41

Page 42: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Example 1 : DAC Decoders

14/02/17 [email protected] 42

How do we ensure specification and regression protection?

Note: Current switches enable identical sources. Switches spread along the length of the chip

Specification

Page 43: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Checks Encoding on Change

14/02/17 [email protected] 43

Instantiation

General Properties

Page 44: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Encoding Suboptimal Implementation Spotted

14/02/17 [email protected] 44

Desired Thermometer Implemented “Thermometer”

Identical Number of Switches on for every DAC value!

- Checks easy to implement and integrate, yet powerful- Runs in background during Simulation, always => good for regression

Page 45: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Example 2 : Detecting glitches

14/02/17 [email protected] 45

SpecificationThere shall be no pulses shorter than half a clock period (glitches) at the boundary of the digital periphery.

Page 46: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Detecting glitches

14/02/17 [email protected] 46

Detecting glitches at Digital Periphery borders – simple but powerful application (NOTE: Gate Level only, always time-annotated)

- Triggered on signal change- Checks that the next change only occurs after a predefined duration- Easy to do for all signals at boundary b/n digital & analogue

Spotted a GLITCH on a DRIVER EN signal!

Page 47: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Temporal Behaviour Example

14/02/17 [email protected] 47

A |-> !C [*2]

Page 48: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

FIFO Example

14/02/17 [email protected] 48

Specification: There shall be no OVERFLOWor UNDERFLOW condition occurring

Page 49: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Property Modularity – easy reusability

14/02/17 [email protected] 49

Property

two_signals_programmable_delay

two_signals_illegal_delay

first_signal_delayed_version_of_second_

programmable

check_duration_single_bit_exact

check_duration_single_bit_atleast

Approach used by designers to capture and ensure engineering intentthroughout the ALPIDE development

Generalise desired temporal behaviours and reuse

Page 50: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Formal Analysis Introduction

14/02/17 [email protected] 50

Formal Analysis is the act of comprehensively proving that a design meets the design intent

Formal Analysis

Equivalence Checking

Model Checking

Ensures that two versions of design are functionally identical

Ensures that design matches specifications as defined by a set of properties

Page 51: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Simulation Formal

14/02/17 [email protected] 51

DUV

Input Vectors Output VectorsProperties

Comprehensive or bounded proof

Counter Example

Formal Model

Pros:- Able to verify large designs, SoC- Can focus on scenarios of interestCons:- Cannot explore the full state space- Could miss corner cases- Must design TB and stimulus- Need to track root cause of bugs

Computational Challenges: - Clock cycle limited

Pros:- Able to explore the complete state space- All corner cases caught- No need to develop a TB, tool toggles

inputs according to specified rules- Tool pinpoints root cause of bugsCons:- Only applicable to on block level due to

state space size

Computational Challenges:- Memory Limited

PROPERTIES

Page 52: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Problem to solve via Formal

- Verify that CMU returns to IDLE state given a random wake-up state following a power-on? Fail Safe by design?

- FSM with 32 states, encoded 0 to 31. IDLE == 5’d0

14/02/17 [email protected] 52

Page 53: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Formal Example

- Will CMU return to IDLE state from any start state?

14/02/17 [email protected] 53

Inputs:- External control fixed at ‘1’ (IDLE)- No RST, just CLK- Register inputs fixed at random state- Internal variables randomly assigned

Note: full Formal Control script available in back-up slides

NOTE: Have not initialised a starting state, give full control to tool!

Page 54: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Counter Example

14/02/17 [email protected] 54

=> Answer is NO

- Will CMU return to IDLE state from any start state?Starting state 5’d15, Stuck in 5’d16,

Page 55: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

ALPIDE SEU PROTECTION –VERIFICATION

Page 56: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

ALPIDE Approach to SEU Protection- Use a common module “protected register” for any register

- Used in all blocks

- Module preserved, incl. name

14/02/17 [email protected] 56

Parametrised with:- Reset Value- Width- Type Clock Gating

Protection through TMR

Page 57: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

SEU Verification Problem

- 9517 protected bits through TMR

- Need to ensure 3 x 9517 FFs and supporting error

correction logic are not simplified following

implementation

14/02/17 [email protected] 57

Page 58: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

SEU Verification Approach

14/02/17 [email protected] 58

Insert an SEU

RESET_VALUE OUTVO

TIN

G

LO

GIC

SEU_ERRORIN

OUT

SLO

AD

SCLR

RESET_VALUE OUTVO

TIN

G

LO

GIC

SEU_ERRORIN

OUT

SLO

AD

SCLR

RESET_VALUE OUTVO

TIN

G

LO

GIC

SEU_ERRORIN

OUT

SLO

AD

SCLR

AUTO CORRECTION

Detect andCorrect SEU

Verify correction

Page 59: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

SEU Verification Approach

14/02/17 [email protected] 59

Insert an SEU

RESET_VALUE OUTVO

TIN

G

LO

GIC

SEU_ERRORIN

OUT

SLO

AD

SCLR

RESET_VALUE OUTVO

TIN

G

LO

GIC

SEU_ERRORIN

OUT

SLO

AD

SCLR

RESET_VALUE OUTVO

TIN

G

LO

GIC

SEU_ERRORIN

OUT

SLO

AD

SCLR

AUTO CORRECTION

Detect andCorrect SEU

Verify correction

Logic

TB

TB

Page 60: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Backdoor access to READ/WRITE required

14/02/17 [email protected] 60

- FFs in some libraries have a virtual pin to toggle their state (TowerJazz does not)

- Looking for a general approach for any process lib- = > Use System Verilog Direct Programming Interface (DPI)

In general, allows for easy export/import of functions between SV and a foreign language

Use to interface directly with simulator and manage ‘reg’ storage elements

Page 61: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

UVM backdoor access routines

14/02/17 [email protected] 61

1. Need only an HDL PATH2. Fit with UVM Reg File

- Keep Coverage

Page 62: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Python Parser of HDL Paths

14/02/17 [email protected] 62

- Sort all FF paths into Register Objects- Can then use UVM DPI to introduce SEU- Can define coverage and track:

- 0->1 transitions- 1->0 transitions- Cross coverage with other events- Etc.

Page 63: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Register Class Structure

14/02/17 [email protected] 63

SEU_write task:1. Samples default state of FF via uvm_hdl_read2. Takes pattern read(e.g. 3’b101) to be the ‘0’ bit

state*3. Toggle slice A through via uvm_hdl_deposit4. Wait 3 clock cycles for error correction5. Check that bit is restored through uvm_hdl_read6. Check that SEU count is incremented7. Repeat steps 3-6 for slice B and slice C8. Measure 0->1 coverage for given bit

* Abstraction introduced as details of implementation are not known** Can later toggle all 3 slices in order to repeat procedure for ‘1’ bit state

Define further coverage/methods as required

Page 64: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Summary of Approach

14/02/17 [email protected] 64

Pros Cons

Runs concurrently with simulations Requires registers names to be

preserved in implementation

Coverage collection Additional complexity

Integration with existing UVM Reg File

structure

Not library specific

Page 65: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Overall Summary

- ALPIDE chip: 90M transistors,20k gates

- SV-UVM constrained random and metric driven verification approach

- Incremental Snapshot Elaboration can boost simulation verification efforts

- ABV/Formal techniques should be used in parallel with simulation

- SEU Verification can be facilitated via UVM DPI

14/02/17 [email protected] 65

Page 66: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

BACK-UP SLIDES

Page 67: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

14/02/17 [email protected] 67

LHC Pb-Pb collision (ALICE, Sep 2011)

Page 68: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

14/02/17 [email protected] 68

Hybrid Pixels Monolithic Pixels

e e

ee

h

h

h

h

PWELL PWELL NWELL

DEEP PWELL

NWELL

DIODE

NMOS

TRANSISTOR

PMOS

TRANSISTOR

Epitaxial Layer P-

Substrate P++

~50 um

CMOS ASIC

~50 um

~20

0 u

m

CMOS ASIC

SI S

ENSO

R

SENSING LAYER

Widely employed in today’s detectors:

ALICE, ATLAS, CMS, LHCb (RICH), NA62 GTK, …

Applications in several other fields

MEDIPIX, TIMEPIX, …

Current application in HEP: vertex detector of STAR experiment

Choice for the Upgrade of the ALICE ITSMajor leaps forward in technology, architecture and design

Page 69: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

Temporal Sequences – ExampleSpawning of Sequences

14/02/17 [email protected] 69

A ##1 B |=> (B ##1 C)[->1]trigger sequence asserted sequence

Page 70: ALPIDE Chip - Verification Challenges and Practical Solutions · 2018. 11. 20. · Verification ^Verification is a process used to demonstrate that the intent of a design is preserved

SEU Verification –Integration with UVM

14/02/17 [email protected] 70

Nice feature:- GUI to keep track of inserted

toggles under desired column- GUI also helpful for general

debugging of sim- GUI handle to introduce SEU via

tcl commands