37
Functional Verification Techniques Sameh El-Ashry Digital Verification Engineer ©2016 1

Functional verification techniques EW16 session

Embed Size (px)

Citation preview

Page 1: Functional verification techniques  EW16 session

Functional Verification Techniques

Sameh El-Ashry

Digital Verification Engineer

©20161

Page 2: Functional verification techniques  EW16 session

Agenda

• Companies.

• Digital Design Flow.

• Functional Verification.

• Simulation and Emulation.

• Design for Test (DFT).

• Power Aware Simulation.

• Verification as a Career and Interesting Questions.

2

Page 3: Functional verification techniques  EW16 session

VLSI Companies in Egypt

3

Page 4: Functional verification techniques  EW16 session

Semiconductors Global Network

SYSTEM COMPANIES

MEMORY IDM

LOGIC IDM

FOUNDRIES

FABLITE

FABLESS

EQUIPMENT

SUPPLIERS

MATERIAL

SUPPLIERS

SOFTWARE

SUPPLIERS

OSAT

4

Page 6: Functional verification techniques  EW16 session

Where can I find Digital Design

6

Page 7: Functional verification techniques  EW16 session

Chip Design Phases

7

Page 8: Functional verification techniques  EW16 session

Chip Design Flow

9/5/2016 Verification with System 8

Design Specifications

FloorPlanning

Technology

Library

SDF &

Parasitics

Design Entry (Schematic/HDL)

Functional Verification & Power Analysis

Logic & Test Synthesis

Layout Design

Placement & Routing

StaticTiming

Analysis

GateLevel

Simulation

FormalVerification

PowerEstimation

Physical Verification

Tapeout

Front End

Back End

Verification Signoff

Floor Planning & CTS

8

Page 9: Functional verification techniques  EW16 session

Specifications And Architecture

9

Page 10: Functional verification techniques  EW16 session

Modeling Languages

10

Page 11: Functional verification techniques  EW16 session

Design and Synthesis Process

Translation

Mapping

Verilog Code

Netlist

By A software tool

11

Page 12: Functional verification techniques  EW16 session

What is the difference between verification

and testing?

12

Page 13: Functional verification techniques  EW16 session

Why we need functional verification?

▪ To build confidence and stay in business.

▪ A primary purpose for functional verification is to detect failures so that bugs can be identified and corrected before it gets shipped to costumer.

▪ A single mistake (bug) may lead to a chip failure.

▪ Not all bugs are caused by coding errors. There are possibilities that error may in the specification itself.

▪ Sometimes miscommunications between teams may lead to wrong design.

13

Page 14: Functional verification techniques  EW16 session

History of the testbench

14

Page 15: Functional verification techniques  EW16 session

Traditional Testbench Structure(Directed)

Testbench and DUT are completely separate ( DUT is often treated as a black box).

Interaction only through one (potentially large) interface. (Simple Design ok)

Stimulus is applied and results are measured from external pins only

For complex designs: It is virtually impossible to predict all potential input sequences

How do you know when you are done?

Highly non-reusable

15

Page 16: Functional verification techniques  EW16 session

Linear Testbench Example

//DUT (Design Under Test)

module adder(a,b,c);

//code start

input [15:0] a;input [15:0] b;output [16:0] c;

assign c = a + b;

endmodule

// Testbench Code

module top();

reg [15:0] a;reg [15:0] b;wire [16:0] c;

adder DUT(a,b,c); //DUT Instantiation

initialbegina = 16'h45; //apply the stimulus b = 16'h12;#10

$display("a=%0d,b=%0d,c=%0d",a,b,c);end

endmodule

16

Page 17: Functional verification techniques  EW16 session

Advanced Testbench Structure ( AVM )

• AVM combines many techniques/ideas to form a reusable verification environment.

17

Page 18: Functional verification techniques  EW16 session

Advanced Testbench layers

18

Page 19: Functional verification techniques  EW16 session

Verification is no longer just running tests

• Advanced test benches need architecture and design.

• Always more to be verified in a lesser time (need innovation).

• Multiple aspects of verification (Functional, Formal, Power, performance, emulation)

• VIP (Verification IP) based approach.

• Debug challenges.

19

Page 20: Functional verification techniques  EW16 session

OVM/ UVM Verification Methodology

20

• Reduce testbench development and testing as it supports all the building blocks required to build a test environment.

• High-level verification languages and environments such as SystemVerilog.

Page 21: Functional verification techniques  EW16 session

Checkers and Coverage

21

Page 22: Functional verification techniques  EW16 session

Tracking the Simulation Process

22

Page 23: Functional verification techniques  EW16 session

Hardware-Accelerated Simulation

• Simulation performance is improved by moving the time-consuming part of the design to hardware.

23

Page 24: Functional verification techniques  EW16 session

Hardware-Accelerated Simulation

• Challenges– Improves speed but degrades on HW-SW communication– Abstracting HW-SW communication at transaction level rather than

cycle level desired for better speeds

• HW Emulation– Full mapping of HW into an emulator (array of FPGAs)– More like a real target system. Speed up possible up to 1000X

simulation– Debug is a challenge with limited visibility– Usually used for HW+SW co-verification

24

Page 25: Functional verification techniques  EW16 session

HW/SW Co-Verification

25

Page 26: Functional verification techniques  EW16 session

Platform definition

Ansi-C

DSP model

System SWAlgorithms

Platform HWIP library

ARM, AMBA,

peripherals …IP

ADRES, DFE …

RTL model

platform

TLM model

platform

chip

Functional MATLAB

Optimized & quantized

MATLAB

MATLAB-over-the-air

validation

= functional simulation

= simulation HW/SW

= Real time HW demonstration

= Emulation (FPGA-based)

RTLrefinement

RTL2GDSII

mapped on & simulated with platform

mapped on & emulated with platform

mapped on chipruns real-time

ConvergensC

MATLAB® to C Synthesis

Digital WL Design Flow

26

Page 27: Functional verification techniques  EW16 session

FPGA Design Flow

27

Page 28: Functional verification techniques  EW16 session

Emulation

28

Page 29: Functional verification techniques  EW16 session

Design For Test (DFT)

Physical faults Examples

29

Page 30: Functional verification techniques  EW16 session

Power Aware Simulation and Verification

30

• As important as functionality verification – A design consuming 2x power than the budget is dead and has no

workarounds.

• Several low power techniques used in current SOC designs – Clock gating , power gating.

• Power Analysis– Estimating a Power at RTL and Gate level simulations.– Define stimulus for peak and average power.

• Power Aware Simulations – Functional correctness with power domain ON/OFF.– UPF – IEEE 1801 Standard.

Page 31: Functional verification techniques  EW16 session

Digital Vs Analog

31

Page 32: Functional verification techniques  EW16 session

Digital and Analog Co –Simulation

32

Page 33: Functional verification techniques  EW16 session

Verification Engineer Skills

• Demanding both hardware and software skills.

• Digital logic , Analog, Computer Architecture and memories.

• HDLs like SystemVerilog.

• Software Programming concepts such as OOP to use it in UVM.

• Scripting languages for automation and regression.

33

Page 34: Functional verification techniques  EW16 session

Verification Career - Confusions

34

• Is there any career path for verification engineers ?

• Can I move from Verification to Design in my career ?

• Can I move from verification to Software Engineer ?

• Is it possible to move from frontend to backend in my career ?

• Can I become a good verification engineer if I don’t like programming ?

Page 35: Functional verification techniques  EW16 session

Verification Career - Facts

35

• Verification Engineer has a solid career path• Two decades back- Design engineer tested their designs.• Today – Verification of a design needs dedicated skills.• Verification is increasingly complex and critical.• Verification consumes majority of the project time (Avg – 70

%).• Increasing demand for verification engineers (12% compound

annual growth rate as per industry survey).• Verification engineers are involved in project from early stage

of the design.

Page 36: Functional verification techniques  EW16 session

References

36

• ASIC Digital Design Flow from concept to IC , Amr lofty, Intel.

• Electronic Systems Design from Specifications to production, Khaled Salah, Mentor-graphics.

• Verification Engineer - Opportunities and Career Path, Ramdas M, AppliedMicro.

Page 37: Functional verification techniques  EW16 session

Presented by Sameh El-Ashry

[email protected]

https://eg.linkedin.com/pub/sameh-el-ashry/3b/560/22b37