0_IntroMotivation

28
Welcome to the Accellera SystemVerilog Workshop June 2, 2003 DAC 2003

Transcript of 0_IntroMotivation

Page 1: 0_IntroMotivation

Welcome to the Accellera SystemVerilog Workshop

June 2, 2003DAC 2003

Page 2: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop2

AgendaIntroduction:

SystemVerilog MotivationVassilios Gerousis, Infineon Technologies

Accellera Technical Committee Chair

Introduction:SystemVerilog Motivation

Vassilios Gerousis, Infineon TechnologiesAccellera Technical Committee Chair

Session 1:SystemVerilog for Design

Language TutorialJohny Srouji, Intel

User ExperienceMatt Maidment, Intel

Session 2:SystemVerilog for Verification

Language TutorialTom Fitzpatrick, Synopsys

Session 1:SystemVerilog for Design

Language TutorialJohny Srouji, Intel

User ExperienceMatt Maidment, Intel

User ExperienceFaisal Haque, Verification Central

Session 2:SystemVerilog for Verification

Language TutorialTom Fitzpatrick, Synopsys

User ExperienceFaisal Haque, Verification Central

Lunch: 12:15 – 1:00pm

Session 3: SystemVerilog AssertionsLanguage Tutorial

Bassam Tabbara, Novas Software

Lunch: 12:15 – 1:00pm

Technology and User ExperienceAlon Flaisher, Intel

Using SystemVerilog Assertionsand Testbench Together

Jon Michelson, Verification Central

Session 3: SystemVerilog AssertionsLanguage Tutorial

Bassam Tabbara, Novas SoftwareTechnology and User Experience

Alon Flaisher, IntelUsing SystemVerilog Assertions

and Testbench TogetherJon Michelson, Verification Central

Session 4: SystemVerilog APIsDoug Warmke, Model Technology

Session 4: SystemVerilog APIsDoug Warmke, Model Technology

Session 5: SystemVerilog MomentumVerilog2001 to SystemVerilog

Stuart Sutherland, Sutherland HDL

SystemVerilog Industry SupportVassilios Gerousis, Infineon

Session 5: SystemVerilog MomentumVerilog2001 to SystemVerilog

Stuart Sutherland, Sutherland HDL

SystemVerilog Industry SupportVassilios Gerousis, Infineon

End: 5:00pm

Page 3: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop3

Agenda

Session 2:SystemVerilog for Verification

Language TutorialTom Fitzpatrick, Synopsys

User ExperienceFaisal Haque, Verification Central

Session 3: SystemVerilog AssertionsLanguage Tutorial

Bassam Tabbara, Novas SoftwareTechnology and User Experience

Alon Flaisher, IntelSession 1:SystemVerilog for Design

Language TutorialJohny Srouji, Intel

User ExperienceMatt Maidment, Intel

Introduction:SystemVerilog Motivation

Vassilios Gerousis, Infineon TechnologiesAccellera Technical Committee Chair

Using SystemVerilog Assertionsand Testbench Together

Jon Michelson, Verification Central

Session 4: SystemVerilog APIsDoug Warmke, Model Technology

Session 5: SystemVerilog MomentumVerilog2001 to SystemVerilog

Stuart Sutherland, Sutherland HDL

SystemVerilog Industry SupportVassilios Gerousis, Infineon

Lunch: 12:15 – 1:00pm End: 5:00pm

Page 4: 0_IntroMotivation

Introduction to SystemVerilog:History, Motivation and Process

Vassilios Gerousis, Infineon TechnologiesAccellera Technical Chairman

Accellera SystemVerilogCommittee Chairman

Page 5: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop5

Session 1 Outline• History of SystemVerilog.• Verification Gap• Components of HDVL• Methodologies Of SystemVerilog – The

HDVL of Nanometer design.

Page 6: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop6

SystemVerilog Charter• Charter: Extend Verilog IEEE 2001 to higher abstraction

levels for Architectural and Algorithmic Design , and Advanced Verification.

Verilog Testbench

Verilog

ArchitecturalDPI &

API

Interfac

e

Verilog

Testben

ch

Verilog AssertionIEEE

Verilog2001

Advanced verification capability

for semiformal and formal methods.

The Assertion Language Standard

For Verilog

Transaction-Level Full Testbench Language with

Coverage

Design Abstraction:

Interface semantics, abstract

data types, abstract operators and expressions

Direct C interface,Assertion API and

Coverage API

Page 7: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop7

June2003:SystemVerilog 3.1Standardization at

DAC

One Year To Standardize 3.1

SystemVerilog Standardization Timeline

Co-Design donates Superlog ESS to

Accellera

Synopsys donates OVA, Vera and APIs

2001 2002 2003

SystemVerilog 3.0Approved by

Accellera Board

February 20 03:SystemVerilog 3.1

Draft Available

One YearTo Standardize

SystemVerilog 3.0

Page 8: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop8

Developed By 40+ Verilog and Verification Experts

John Amouroux Kevin Cameron Joao Gaeda Ghassan KhooryAndrzej LitwiniukFrancoise Martinole* Swapnajit MittraMichael Rohleder John Stickley Stuart Swan Bassam Tabbara Kurt Takara Doug Warmke

Roy ArmoniSurrendra DudaniCindy Eisner Tom Fitzpatrick*Harry Foster Faisal Haque John HavlicekRichard Ho Adam Krolnik* David Lacey Joseph Lu Erich MarschnerSteve Meier Prakash NarainAndrew SeawrightBassam Tabbara

Stefen Boyd* Dennis BrophyMichael Burns Kevin Cameron Cliff Cummings*Tom Fitzpatrick*Peter Flake Jeff Freedman Neil Korpusik Jay Lawrence Francoise artinolle* Don MillsMehdi Mohtashemi Phil Moorby Karen Pieper* Brad PierceArturo SalzDavid Smith Stuart Sutherland*

Kevin Cameron Cliff Cummings* Dan Jacobi Jay Lawrence Matt MaidmentFrancoise Martinolle* Karen Pieper* Brad PierceDavid Rich Steven Sharp* Johny Srouji Gord Vreugdenhil*

SystemVerilog 3.1 C-interface Committee

SystemVerilog 3.1 Assertion Committee

SystemVerilog 3.1 Testbench Committee

SystemVerilog 3.1 Basic Committee

* IEEE Verilog Member

Page 9: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop9

Accellera SystemVerilog 3.1 Organization

SystemVerilog 3.1HDL+ Committee

Chair: Vassilios Gerousis, Infineon TechnologiesAccellera TCC

SV-BCBasic Committee

Chair: Johny Srouji, IntelCo-Chair: Karen Pieper Synopsys

SV3.0 CleanupSyntax Issues

Spec ClarificationImplementation Feedback

SV-ACAssertions

Chair: Faisal Haque, CiscoCo-Chair: Steve Meier Synopsys

AssertionsOVA Donation

PSL Synchronization

SV-CCC Language/API

Chair: Swapnajit Mittra, SGICo-Chair: Ghassan Khoury Synopsys

C InterfaceHDL Calling C code

Coverage APIC calling HDL Tasks/Funcs

SV-ECEnhancements

Chair: David Smith, SynopsysCo-Chair: Stephen Boyd

Consultant/IEEENew Features

Testbench DonationOther enhancements

Page 10: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop10

Session 1 Outline• History of SystemVerilog.• Verification Gap• Components of HDVL• Methodologies Of SystemVerilog – The

HDVL of Nanometer design.

Page 11: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop11

History is Repeating Itself• Today’s Complex Designs Are Getting Too Big

For Verilog to Keep Up– 100’s of pages of design code not uncommon– 2X – 3X (2000’s pages) of Testbench– More code means more bugs

Schematics

Verilog RTL

What’s Next?

Prod

uctiv

ity ProductivityRequirement

Verilog RTL Today is Where Schematics Were 15 Years Ago

Page 12: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop12

The Verification GAP• Verification is 60% to 80% of design cycle time.

– Testbench is about 2X to 5X the RTL code.– Formal tools can be applied on block level.– Block-based testbench cannot be used at the system integration

level. (bottom-up verification).– Top down verification is not practical in current tools and

languages.• Design Implementation has been automated to a certain

degree (synthesis).– RTL synthesis provides biggest productivity.– Behavioral synthesis has not been as successful so far.

• Verification: No one has been successful to automate verification to provide similar productivity as synthesis.

Page 13: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop13

AutoTestbench

HVL

Simulation

Inefficient Multi-lingual RTL Flows

AssertionLanguage

AssertionEngine

CoverageReference

ModelsVerilog, VHDL

C/C++

Multiple input formats: • Complicated to learn and maintain• Limits communication cooperation• Inhibits tool / methodology performance• Kills productivity• Inefficient maintenance and Reuse• Limits tools and methodology innovation

HDL

C/C++

EnglishSpec

*!$&*!!

HVL

Page 14: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop14

Session 1 Outline• History of SystemVerilog.• Verification Gap• Components of HDVL• Methodologies Of SystemVerilog – The

Only HDVL of Nanometer design

Page 15: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop15

Semantic Concepts: Verilog 1995

Gate level modelling and timingHardware concurrencydesign entity modularization

Switch level modeling and timing

Event handling Basic datatypes(bit, int…)

ASIC timing

Basic programming(for, if, while,..)

4 state logic

Verilog 95 supplies RTL

and basic testbenchfeatures

Page 16: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop16

Semantic Concepts: VHDL

Gate level modelling and timingHardware concurrencydesign entity modularization

Switch level modeling and timing

Event handling

Dynamic generation of hardware

Basic datatypes(bit, int…)

Architecture configuration

Advanced data structuresRecords, enums

Automatic variables Signed numbers

ASIC timing

Basic programming(for, if, while,..)

multi-D arrays

Dynamic memory allocation

4 state logic

pointersSimple assertions

VHDL adds higher level data

types and management functionality

Page 17: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop17

Semantic Concepts: C

Gate level modelling and timingHardware concurrencydesign entity modularization

Switch level modeling and timing

Event handling

Dynamic generation of hardware

Architecture configuration

ASIC timing

4 state logic

Simple assertions

Basic datatypes(bit, int…)

Advanced data structuresRecords, enums

Automatic variables Signed numbers

Basic programming(for, if, while,..)

multi-D arrays

Dynamic memory allocation

Further programming(do while, break, continue, ++, --, +=. etc)

Void type Unions

pointers

C has some e

programming features

but lacks all hardware

concepts such as

timing and parallelism

xtra

Page 18: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop18

Semantic Concepts: Verilog 2001

Gate level modelling and timingHardware concurrencydesign entity modularization

Switch level modeling and timing

Event handling

Dynamic generation of hardware

Architecture configuration

ASIC timing

4 state logic

Simple assertions

Basic datatypes(bit, int…)

Advanced data structuresRecords, enums

Automatic variables Signed numbers

Basic programming(for, if, while,..)

multi-D arrays

Dynamic memory allocation pointers

Further programming(do while, break, continue, ++, --, +=. etc)

Void type Unions

Verilog 2001 adds a lot of

VHDL functionality but still

lacks advanced data structures

Page 19: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop19

Gate level modelling and timingHardware concurrencydesign entity modularization

Switch level modeling and timing

Event handling

Dynamic generation of hardware

Basic datatypes(bit, int…)

Architecture configuration

Advanced data structuresRecords, enums

Interface protocol specificationaccess control and interface methods

Automatic variables Signed numbers

Protocol checkerstemporal assertions

Packed structures

Process spawning

ASIC timing

Basic programming(for, if, while,..)

multi-D arrays

Dynamic memory allocation

4 state logic

pointersSimple assertions

Further programming(do while, break, continue, ++, --, +=. etc)

Void type Unions

SystemVerilog 3.0

adds data

structures and

assertions for design

Semantic Concepts: SystemVerilog 3.0Accellera Standard – June 2002

Page 20: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop20

Gate level modelling and timingHardware concurrencydesign entity modularization

Switch level modeling and timing

Event handling

Dynamic generation of hardware

Basic datatypes(bit, int…)

Architecture configuration

Advanced data structuresRecords, enums

Interface protocol specificationaccess control and interface methods

Queues and lists•fifo modeling•testbenches

Associative& SparsearraysAutomatic variables Signed numbers

Protocol checkerstemporal assertions

ConstrainedRandom Data Generation

Coverage monitoring

Packed structures

Semaphores

Process spawning

ASIC timing

Basic programming(for, if, while,..)

Further programming(do while, break, continue, ++, --, +=. etc)

Strings

multi-D arrays

Void type

Classes with methodsand inheritance

Dynamic memory allocation

4 state logic

Unions

pointersSimple assertions

C interface

Coverage & Assertion API

Sequential Regular Expressions

TemporalProperty Definitions

Enhanced Scheduling forTestbench and Assertions

SystemVerilog 3.1

provides advanced

testbench and

assertion features

Semantic Concepts: SystemVerilog 3.1

Page 21: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop21

Accellera Standard, Next Generation Verilog, HDVL Language

SystemVerilog Messages -Benefits

• Unifying design verification – simplifies flow, team work• Speeds operations – concise code = fewer bugs, quicker usage• Evolution from Verilog – easy to learn and incrementally adopt

Based on technologies proven by EDA vendors and users

SystemVerilog 3.1Testbench & Verification

Based on Vera

Comprehensive Assertions

Sugar, ForSpec, CBV

Comprehensive APIs

Based on VCS

SystemVerilog 3.0Communication

InterfacesAdvanced

VerilogConcise Design

FeaturesDatatypes

(C)Based onSuperlog

Verilog2k1 Multi-d ArraysAuto TasksGenerate

Verilog95 HW Parallelism and Timing

Based on IEEE LRM

Based on OVA,

Page 22: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop22

Session 1 Outline• History of SystemVerilog.• Verification Gap• Components of HDVL• Methodologies Of SystemVerilog – The

HDVL of Nanometer design– Automated Testbench – Verification IP– Assertion Speeds up verification.– Platform design and HW/SW design.

Page 23: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop23

SystemVerilog Assertion-Based Verification

• Avoids recoding errors• Increases test accuracy• Simplifies testbench• Enables test reuse• Designers will use

assertions

and/or

Assertion–based specsreq -> [1..3]ack ##1 [1..6]gnt

Sam

e A

sser

tions

Use

d Th

roug

hout

Flo

w

Assertions as part of HDVL Allow Specification to Drive Verification

Write customassertion

Choose from Library

System Protocol

Simulation

Testbench Generation

Coverage

Formal

Page 24: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop24

Assertion Effort Payback

Time / Effort

Res

ults

/ B

ug R

ate

50% Reduction in DebugAs published by IBM in CAV 2000

Assertions and Predefined checks with Formal(start sooner!!)

Up to 3%

Simulation (NO assertions)

Assertions withsimulation(based on multiple studies)

Assertions with Formal(hard to find bugs in simulation)

Source: Harry Foster (FVTC Chair)

Page 25: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop25

SystemVerilog 3.1 Offers The Best of Testbench and Assertions

Links to C/C++ and APIs

AutomatedTest

FunctionalCoverage

ResultsAnalysisAssertions

DUT

Simplify Verification

Page 26: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop26

IP Packaging • Support IP to include testbench and

assertions• Create independent module or interface

with testbench and assertions to allow– VIP creation independent of implementation– Mixed language simulation– Formal and simulation verification

• Construct parameterizable VIP

Page 27: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop27

TESTBENCHprogram test (…) …default clocking @(posedge clk);endclocking…gen_trans(par1);check_response(pkt2);…endprogram

ASSERTIONSsequence read_t;@(posedge clk) req ##[1:4] grant;

endsequence

t1: assert property (read_t ##[1] !rd_r[*8]);

c1: cover property (req;[4] ack ##1 grant);…

interface busP

Instantiate protocol as master and slave

Protocol Verification IP (Testbench + Assertions)

Verification IP Packaging Example

busP bus_master(…,clock);busP bus_slave(…,clock);

Page 28: 0_IntroMotivation

DAC2003 Accellera SystemVerilog Workshop28

SystemVerilog Enables Platform Implementation

SystemVerilog can be used for the entire platform, or provide transparent, verifiable transaction-to-signal linkage

Assertion

CPU

Sub-systemC-Model C- Model

IP

Assertion

RTOSSW

Interface / AssertionC-Model

Custom BlockC Model

Prot

ocol

IP

Interface / Assertion

Custom BlockImplementationSystemVerilog

ModelInte

rfac

eArchitecture

Drive HW with transaction protocol IP, test SW

Syst

em/Im

plem

enta

tion

Flow

SWModule

SWModule

Prot

ocol

IP

Test

benc

h ImplementationCustom block

tested using same protocol checker

with BFM