0_IntroMotivation
-
Upload
moon-sadia-dipthee -
Category
Documents
-
view
29 -
download
5
Transcript of 0_IntroMotivation
![Page 1: 0_IntroMotivation](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/1.jpg)
Welcome to the Accellera SystemVerilog Workshop
June 2, 2003DAC 2003
![Page 2: 0_IntroMotivation](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/2.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/3.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/4.jpg)
Introduction to SystemVerilog:History, Motivation and Process
Vassilios Gerousis, Infineon TechnologiesAccellera Technical Chairman
Accellera SystemVerilogCommittee Chairman
![Page 5: 0_IntroMotivation](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/5.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/6.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/7.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/8.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/9.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/10.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/11.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/12.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/13.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/14.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/15.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/16.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/17.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/18.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/19.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/20.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/21.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/22.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/23.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/24.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/25.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/26.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/27.jpg)
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](https://reader031.fdocuments.us/reader031/viewer/2022020105/54506610af7959bd668b4950/html5/thumbnails/28.jpg)
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