找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 144|回复: 1
打印 上一主题 下一主题

SystemVerilog for Verification

[复制链接]

157

主题

597

帖子

1239

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1239
跳转到指定楼层
1#
发表于 2016-5-4 16:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
" m: |$ n1 ^5 j, C9 \* a
SystemVerilog for Verification:
5 m2 P3 P5 n3 ]0 n1 ZA Guide to Learning the Testbench Language Features
0 m7 H; H: m, e" \; _3 @1. VERIFICATION GUIDELINES 1% [. s- V% Z* E
1.1 Introduction 1
! r$ l5 u3 ~0 n" g6 u9 Y1.2 The Verification Process 2  X' X' i- ]* U
1.3 The Verification Plan 4
/ j. Z3 x7 o# L! l* _) T; V1.4 The Verification Methodology Manual 4! o, _# f9 d: Z
1.5 Basic Testbench Functionality 5& }) u. P) c+ W
1.6 Directed Testing 5" T- `: C0 C- V9 V! I
1.7 Methodology Basics 7
! [* {4 @) z( M1.8 Constrained-Random Stimulus 89 e5 c$ W. H0 V1 c( G8 [
1.9 What Should You Randomize? 100 t! f' }/ Z6 S% w7 n: g7 e% o
1.10 Functional Coverage 13( N7 j! q* f$ i. _
1.11 Testbench Components 157 m6 F; q) {& ~, |$ G. t: O7 o
1.12 Layered Testbench 16
5 q. \& x5 m1 R1.13 Building a Layered Testbench 22
, C4 H! a5 S: Y! C1.14 Simulation Environment Phases 23
% l6 V9 X- C2 \1.15 Maximum Code Reuse 24, ?2 Z" g2 `7 B( p6 V2 ^' O% [
1.16 Testbench Performance 24
6 b' {' b) w- P/ o  @/ _- P. V# m1.17 Conclusion 256 V! g* h# [! P  C& y% P
2. DATA TYPES 27+ V' h- [: O& }; k/ u  ?$ @
2.1 Introduction 27
- m5 }) ^' G$ m( m3 p2.2 Built-in Data Types 27
) t$ U4 c+ y2 _' J6 @viii SystemVerilog for Verification
+ l: c4 b* K  r2.3 Fixed-Size Arrays 29
3 N& t8 X1 N0 `  @2.4 Dynamic Arrays 348 X  D0 i0 O* w4 L' h1 ^# x9 z
2.5 Queues 36
8 z8 a# b3 n& w( p/ V2.6 Associative Arrays 37. ~- G. U8 w2 C; P" a
2.7 Linked Lists 396 g. C6 E& b+ s, g. f* ~4 |
2.8 Array Methods 40
! |6 ^6 |- g* l) _$ D2.9 Choosing a Storage Type 42; f5 x1 b7 A+ V) N6 G8 W8 ^
2.10 Creating New Types with typedef 45
" `/ Z4 [. p9 U5 O, N& H: ^5 A1 Q2.11 Creating User-Defined Structures 46
0 w6 G* ]% ]3 j* j! l; z5 N; ~2.12 Enumerated Types 47
2 y3 p$ e; @. l4 {4 c2.13 Constants 515 N' A1 O: S* h2 D1 y6 B! t
2.14 Strings 518 b) m: w5 E7 b" q9 e& G4 D
2.15 Expression Width 52
2 [7 z; F# r6 w2.16 Net Types 533 ~, ?7 l' p6 J3 [" h0 J) I
2.17 Conclusion 53
' ~6 G( T0 J. h3. PROCEDURAL STATEMENTS AND ROUTINES 55
  N4 w; M. s: L5 Z! y3.1 Introduction 55
$ p: P" p: R* v# Q1 i/ E3.2 Procedural Statements 55- }% N% \9 S$ P/ T
3.3 Tasks, Functions, and Void Functions 56
4 S5 `: `$ I9 C' y3.4 Task and Function Overview 57( n  A/ N+ o& c2 l! y4 B$ n/ f
3.5 Routine Arguments 57
: y& ]( z& R- v$ S6 G! R+ T3.6 Returning from a Routine 620 B9 y0 [; A4 V" I" G6 z
3.7 Local Data Storage 62
8 X9 L) j) Z8 l3 f; D" Z3.8 Time Values 64
* `) j: N' [) c5 n' |3.9 Conclusion 65
, i, ^* u8 k+ S" `8 b: {4. BASIC OOP 67& w, `* s# S$ z# k) X# L) I
4.1 Introduction 67
, H% o/ @& i& h2 {0 G0 w4.2 Think of Nouns, not Verbs 67
$ t. a4 l# p/ e$ d9 Z4.3 Your First Class 68. c& H9 Y* E4 S  }
4.4 Where to Define a Class 69+ y. @& w* O/ |7 |" h
4.5 OOP Terminology 69
2 H" [1 A! O9 |/ P2 E1 F4.6 Creating New Objects 70
2 n2 g/ M7 U% s9 T2 Q4.7 Object Deallocation 742 D- Q" f# S: c) U/ a/ \. ~
4.8 Using Objects 76
1 V  y9 e, Q  s" m- I% E1 p; z' l4.9 Static Variables vs. Global Variables 769 ]" b9 D8 K2 f
4.10 Class Routines 78
' c) Z, M- V& G$ j4.11 Defining Routines Outside of the Class 79
7 O( ]1 G& M; W/ j3 u4.12 Scoping Rules 810 g! }2 ]5 s2 [$ e" h( X' g
4.13 Using One Class Inside Another 853 H- Y& X9 t. |; e% x( D
4.14 Understanding Dynamic Objects 87
; l+ @6 v- F7 v+ B  W4.15 Copying Objects 919 m9 e* e8 T7 ]9 T4 F3 o( E
4.16 Public vs. Private 95
. z! M4 `5 {; j1 x" vContents ix* I, H5 {" G8 k& W. O3 h/ Q
4.17 Straying Off Course 96
6 s) o  X3 R1 F" R9 x8 n4.18 Building a Testbench 96# T' g4 D0 J; K( T: b0 I0 Q+ ~7 U
4.19 Conclusion 97/ j. U' }; v# T$ e4 p
5. CONNECTING THE TESTBENCH AND DESIGN 99
9 V3 g7 D" y: F3 s4 Z$ T5.1 Introduction 996 l3 h9 [& j5 R8 `
5.2 Separating the Testbench and Design 99
. m" b6 W4 d$ L' ~1 R; W5.3 The Interface Construct 102
( E! r( w5 I6 }1 w/ q9 b5.4 Stimulus Timing 1089 M3 B8 \& K: x- w
5.5 Interface Driving and Sampling 114
0 s+ Q6 g0 V/ H! q+ v5 u5.6 Connecting It All Together 121, z4 s7 o" [6 w0 M; B
5.7 Top-Level Scope 1219 Q' _8 ~* `+ k8 w
5.8 Program – Module Interactions 123
# ?" o% B$ o; I5.9 SystemVerilog Assertions 124
: ]- n' ~5 c3 M& X; O  f6 [0 A5.10 The Four-Port ATM Router 126
. V0 J# b# H5 P5.11 Conclusion 134  K/ z/ U" r- P
6. RANDOMIZATION 135. i7 d! R; w4 K, M% b
6.1 Introduction 135
" C" j! @/ s1 C  h6.2 What to Randomize 136
! }6 j" U% H1 M& X; h$ A6.3 Randomization in SystemVerilog 138
! P" s; A# n7 [. p6.4 Constraint Details 141
" f  i1 l4 I1 A' J$ e( G2 Y6.5 Solution Probabilities 149
: X! U- u! F+ P+ G4 O6.6 Controlling Multiple Constraint Blocks 1548 z7 F' @, _( \) E# D* H% P+ t
6.7 Valid Constraints 154/ O* F% N& o% x: i, b
6.8 In-line Constraints 155/ b% Q% W, ^  P9 G# T3 U
6.9 The pre_randomize and post_randomize Functions 156
6 b2 L+ Y% h' h: U: c$ [6.10 Constraints Tips and Techniques 1583 o) o; F) h: A  V) z% O% o
6.11 Common Randomization Problems 164
, i% M# l( k2 S5 |/ @0 V' Q6.12 Iterative and Array Constraints 165
& l. f' q) `, M& y/ d6.13 Atomic Stimulus Generation vs. Scenario Generation 1725 P4 j; e) h  e6 L
6.14 Random Control 175
4 e3 U9 M( S0 T8 R& X6.15 Random Generators 177
: t( H; k, ]4 L0 f9 Z6.16 Random Device Configuration 180& R/ w9 o: J/ |) U
6.17 Conclusion 182
- l0 q* [3 b; K: s( Y1 ?( Q7. THREADS AND INTERPROCESS COMMUNICATION 183% H* l  L2 R3 L3 _
7.1 Introduction 183
* K0 z& ]5 i! D) y7.2 Working with Threads 184
( E8 `9 V  z. L, P7.3 Interprocess Communication 1942 }. W; b, j* N% B$ Z9 G4 y# D
7.4 Events 195
' n/ t2 B& N8 s9 y  T( x4 H/ c6 d7.5 Semaphores 1992 A. H/ N/ d! M: T! J7 y
7.6 Mailboxes 201
8 k, z& j; G! p( \+ f# F  o7.7 Building a Testbench with Threads and IPC 210- u3 Z3 K2 A& b! B2 p. }, w5 w$ ?
x SystemVerilog for Verification- p- {% v) s! j+ l: Z
7.8 Conclusion 214
8 m1 R- a. r; G1 H3 E9 ~6 K$ ^8. ADVANCED OOP AND GUIDELINES 215
  \- p$ @. M8 u1 Y8.1 Introduction 215( m8 Y/ [7 C! f8 A* |, b
8.2 Introduction to Inheritance 216
7 ~2 b2 w0 I' X5 A3 G+ u8.3 Factory Patterns 221
4 f( Z0 \; N* {9 I: \, y( y4 T. R8.4 Type Casting and Virtual Methods 225
$ A1 _2 j; s4 [8.5 Composition, Inheritance, and Alternatives 2284 v& b" ^- t8 |/ V& e  A! h
8.6 Copying an Object 233/ s; j8 d- ~5 m% g. T' r
8.7 Callbacks 2366 v7 h; `! i; P0 \
8.8 Conclusion 2404 ?% _3 K9 u5 H% O) S4 I6 T  Z
9. FUNCTIONAL COVERAGE 241# O1 _& L- I! @9 ~+ ]6 T/ o. J3 N0 L
9.1 Introduction 241
: h8 j7 G9 j9 ~9.2 Coverage Types 243
) B5 f0 @$ q1 w8 v" L5 w9.3 Functional Coverage Strategies 246
& i- d: B( ]9 _% ?! d: {- k- Z9.4 Simple Functional Coverage Example 248
' i* T, ]. \! O" m9.5 Anatomy of a Cover Group 2517 x5 I/ C7 c6 j1 _
9.6 Triggering a Cover Group 253  Z: O! S6 p0 R0 T
9.7 Data Sampling 256  Q& m3 Q* e$ C/ v# W  G
9.8 Cross Coverage 265
* D2 G; q$ ?! c& B, Q9.9 Coverage Options 2728 u6 D; ]8 T& y
9.10 Parameterized Cover Groups 274
; X0 K' Q- h* B8 C9.11 Analyzing Coverage Data 275! @  x' T/ Q1 S( T9 C
9.12 Measuring Coverage Statistics During Simulation 276. L: \: n" B' O$ y& {
9.13 Conclusion 277
8 |  T3 p3 @( C/ }2 ^10. ADVANCED INTERFACES 279
8 j: u: T. q1 g' b3 i) Z! h! C/ d10.1 Introduction 279
" b8 z2 \6 @" e0 o7 C3 ]9 K10.2 Virtual Interfaces with the ATM Router 279
. K% g/ {. |5 B10.3 Connecting to Multiple Design Configurations 284
1 L) S& g; e7 R6 ]* K, C/ V- F10.4 Procedural Code in an Interface 290. ~+ _( A* `8 ]
10.5 Conclusion 2942 o- v" a8 H0 d( u8 h( G/ e
References 295
. \  |( v: m# J2 p/ Z* dIndex 297+ F& [$ w- }* z

Systemverilog for Verification.rar

1.26 MB, 下载次数: 0, 下载积分: 威望 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

157

主题

597

帖子

1239

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1239
2#
 楼主| 发表于 2016-5-4 16:14 | 只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-1 10:39 , Processed in 0.059055 second(s), 34 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表