找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

SystemVerilog for Verification

[复制链接]

157

主题

597

帖子

1239

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
2 l! T3 P4 O0 d4 S
SystemVerilog for Verification:
# j% v6 k$ d) A- F& O0 n* eA Guide to Learning the Testbench Language Features; y3 O9 f; q) I
1. VERIFICATION GUIDELINES 19 H0 l2 j" g1 ]$ N
1.1 Introduction 1  P, F+ Y( j! ^/ z# t2 i
1.2 The Verification Process 2
) g3 b( s8 H2 B1.3 The Verification Plan 4: `- ?. G& v# {: x/ @* ~/ F$ C% W
1.4 The Verification Methodology Manual 42 c( F1 M2 V8 Y
1.5 Basic Testbench Functionality 5' E, I" f6 I3 S; i5 I& V
1.6 Directed Testing 5
+ Z) D4 r& F9 V1.7 Methodology Basics 7
" r- p0 V, X' o. I4 i& [- o1.8 Constrained-Random Stimulus 85 o4 ~2 M5 s4 L4 ^" D  e
1.9 What Should You Randomize? 10
, f. n: j( r4 }1.10 Functional Coverage 13
) i/ N  U! z  i# Q2 f; N2 u1.11 Testbench Components 15+ u9 u! {! ~& j! s3 \
1.12 Layered Testbench 16
8 ?9 G( J/ F% ?, F+ `1.13 Building a Layered Testbench 229 L  a1 q8 ^# P+ ?4 S
1.14 Simulation Environment Phases 23$ P5 k8 v9 U2 G7 F* G' }: _6 W: l  a# _
1.15 Maximum Code Reuse 248 e$ U- W: b' j& E3 h0 A# |
1.16 Testbench Performance 24
# d( }: ~% ^: U1.17 Conclusion 25, X/ U+ f0 c, T, L1 |
2. DATA TYPES 27
2 C0 n: M" F) R. [2.1 Introduction 27% c% q* N+ u1 T% _: L
2.2 Built-in Data Types 274 D: E$ P3 K! C1 h
viii SystemVerilog for Verification1 Q- C; U9 V2 {1 z  H
2.3 Fixed-Size Arrays 290 c2 T% K5 [& C5 N7 L+ h
2.4 Dynamic Arrays 341 S( q1 e! E+ X2 M) k
2.5 Queues 36
: D( x4 |7 ]. l. H2.6 Associative Arrays 37
1 P  @0 y9 O$ g7 T2.7 Linked Lists 395 n) _# p  E" i  m6 r: y  R" J& v2 ?
2.8 Array Methods 402 ]7 W7 D: h' U5 D  \/ _4 F. q+ }
2.9 Choosing a Storage Type 42  `- A# @0 ?3 v" U
2.10 Creating New Types with typedef 456 v; Z! p; z4 q' o7 d
2.11 Creating User-Defined Structures 46( l0 s% o! _" g9 Z- P' ?
2.12 Enumerated Types 47( N* w5 n  J: W
2.13 Constants 517 p4 T* T( \) |+ t: l4 O6 b
2.14 Strings 51
# R- u0 {6 k# z4 r2.15 Expression Width 52
$ g4 T+ X+ h5 \: c6 t2.16 Net Types 53
9 g7 C, b' h' }1 p' F% u. B8 Q4 w2.17 Conclusion 534 v4 X9 P, ~4 J2 z8 _2 ^
3. PROCEDURAL STATEMENTS AND ROUTINES 55* s1 y9 h" K" I1 i) j$ l
3.1 Introduction 553 C' B4 B$ G9 v! ^
3.2 Procedural Statements 55
. Z+ R% m) C3 O8 N5 q3.3 Tasks, Functions, and Void Functions 56# w, i+ V% `# x+ U4 G: b
3.4 Task and Function Overview 57
' z6 ^' R& Z9 g& Y* F3.5 Routine Arguments 57( E6 J$ g* N# [
3.6 Returning from a Routine 62
# `2 ~0 q* k8 Y* ]! A3.7 Local Data Storage 62) _; p- K  O' p, S' ^4 j
3.8 Time Values 64
) p  e, G+ n' D$ J3.9 Conclusion 65
  l: c, o! K, d, n( S# X4. BASIC OOP 67+ r) {2 z+ |1 T( Y( N
4.1 Introduction 67
, B' @- t1 q  o. t4.2 Think of Nouns, not Verbs 67" d# d: f" \* [3 O( c
4.3 Your First Class 68
" |; y( D9 p$ f5 h' M' A  P4.4 Where to Define a Class 69
/ i( u$ G0 Y: n: s' _# S9 d4.5 OOP Terminology 69
, H: |- S& M2 ]$ P0 V4.6 Creating New Objects 70
# b8 O( o2 J; B4 k8 Y6 n- U4.7 Object Deallocation 74) R/ M! }' c; B. K8 }2 L
4.8 Using Objects 76
$ f  x* e1 \3 `2 J& Z% Q. B7 I4.9 Static Variables vs. Global Variables 76) q$ X0 @0 l  E" G5 W3 m
4.10 Class Routines 78& q8 F9 U) @' |0 g
4.11 Defining Routines Outside of the Class 79% d9 r  Y2 o8 ~0 I, f$ f( l
4.12 Scoping Rules 81
; R+ w5 i+ P0 `6 k  t5 X4.13 Using One Class Inside Another 85
+ p) u& m! F$ K/ P4.14 Understanding Dynamic Objects 876 G1 Y# H4 A1 o: y0 W
4.15 Copying Objects 91% u) \& X" {3 v1 r  m7 i5 x
4.16 Public vs. Private 95/ z1 L' R) P8 Y* ?
Contents ix
, x$ @" x, i' f/ o8 N! Y& m) j, E4.17 Straying Off Course 96' l) p! U: e# Q! b) f
4.18 Building a Testbench 96
5 |: w; S4 a0 y; n+ y$ _: S4.19 Conclusion 97
+ }& {- a, t% L) q5. CONNECTING THE TESTBENCH AND DESIGN 99
6 v7 c7 r. y/ j7 ~/ D5.1 Introduction 99
, B0 ^( y6 t* x+ F3 N5.2 Separating the Testbench and Design 998 j0 l& G3 S# \* z# l
5.3 The Interface Construct 102
: F$ |. [& C( H2 J! s5.4 Stimulus Timing 108
: `" C& D+ Y# q8 c# O5.5 Interface Driving and Sampling 114" \" ^; Y4 k% X' J
5.6 Connecting It All Together 121
. r% a" |4 x5 B5 m4 K$ }5.7 Top-Level Scope 121- d/ y" O. r/ Z3 Y% \
5.8 Program – Module Interactions 1236 B5 E: O) H1 j8 v
5.9 SystemVerilog Assertions 124( G! n1 X. T: o: D6 B1 I. s" Z) z
5.10 The Four-Port ATM Router 126
* X# v! G8 q+ x2 A" q5.11 Conclusion 134% Z9 H. N+ I9 S$ d+ e
6. RANDOMIZATION 135
1 N7 ~6 Y* N% f9 l/ a6 O. E4 E6.1 Introduction 135
- |7 Y+ u. D; ~! D9 ^3 p6 y6.2 What to Randomize 1362 C) m; C' N) z1 s$ f! L/ a" j% K7 q
6.3 Randomization in SystemVerilog 1386 s: w* l7 j5 o  h7 y4 [9 c8 h
6.4 Constraint Details 141' B. y3 ?- T5 e) [' t
6.5 Solution Probabilities 149
" l' D6 H; Q! c. z6.6 Controlling Multiple Constraint Blocks 154
2 S7 I8 c6 }% b9 |4 n6.7 Valid Constraints 154
9 Y* o+ y* q% x8 ?1 J' `6.8 In-line Constraints 155
/ p$ S" ]2 Z# I/ ~5 A3 E6.9 The pre_randomize and post_randomize Functions 1565 }8 |. j! A! c0 e* V
6.10 Constraints Tips and Techniques 158# P  J2 S, C! G" K& Q! u
6.11 Common Randomization Problems 164
* ]6 V; |) [$ ?/ p$ }1 I& k6.12 Iterative and Array Constraints 165
" }0 R6 ~$ O, x  K7 r3 y6.13 Atomic Stimulus Generation vs. Scenario Generation 172% `; E- f8 h; B: u5 e: h0 V
6.14 Random Control 175& b& m) V" ~  c; h  x; n6 _
6.15 Random Generators 177
) ?8 P  m3 V0 E: O* }7 K6.16 Random Device Configuration 180# Q" y: c( g7 a( X8 U
6.17 Conclusion 182! i# A% z3 i$ M: D% z: n) z. Y
7. THREADS AND INTERPROCESS COMMUNICATION 183
, _% e6 ?$ C$ w7.1 Introduction 183* U# n% n. e9 |6 `3 N) T) p8 Q2 Z
7.2 Working with Threads 184: a) @: o# B. R
7.3 Interprocess Communication 194
: i- g$ j$ ^6 \7.4 Events 195
, r& X/ X; X. P6 c+ k7.5 Semaphores 199
- O# a$ X! U! n: r7.6 Mailboxes 201
$ y  B* ~: S1 W7.7 Building a Testbench with Threads and IPC 210
7 @4 _9 Z: z! Wx SystemVerilog for Verification
0 \& A& i2 P! V8 i# V3 n2 ?7.8 Conclusion 214
% {! s9 ]  P3 u$ w0 n. ~: e# n8. ADVANCED OOP AND GUIDELINES 215' I% _+ g9 b) I" E0 n4 R7 D$ d
8.1 Introduction 215
( W1 |% ]7 y" j/ j6 N4 ~7 Z8.2 Introduction to Inheritance 216/ S1 n3 v. ~1 f( H; s
8.3 Factory Patterns 221
* |8 E( h/ @" E9 S8.4 Type Casting and Virtual Methods 225; j2 n2 H1 V8 ~
8.5 Composition, Inheritance, and Alternatives 228! ?) |6 M- H1 A7 s2 |
8.6 Copying an Object 233) O, h) m- O& M* s
8.7 Callbacks 2369 C- i7 p6 H: F4 e
8.8 Conclusion 240
- P( l6 C. ~( z3 R( @9 U: Z9. FUNCTIONAL COVERAGE 241
3 ~$ ^6 l) [. h# V8 R6 n9.1 Introduction 241
& V( w: H6 o0 v' p; d, H9.2 Coverage Types 243
2 F, @8 T1 b& E9 h9.3 Functional Coverage Strategies 246
) k( V! ^& [  m" Z* c. `9.4 Simple Functional Coverage Example 248
7 O5 W" f3 n2 }; R! D4 b9.5 Anatomy of a Cover Group 251& l; X3 o- e; J
9.6 Triggering a Cover Group 253, |) r9 W- N4 P: \/ S$ w
9.7 Data Sampling 2565 L9 b) |, c% A0 }& Q/ P4 C0 a
9.8 Cross Coverage 265
0 I8 n0 @" p4 {3 v- J$ T$ X( r9.9 Coverage Options 272
2 a; I3 ]# [$ w- r; G9.10 Parameterized Cover Groups 2749 o' o: N  L: b9 I/ V
9.11 Analyzing Coverage Data 275: d- N: k  A' B
9.12 Measuring Coverage Statistics During Simulation 2760 t$ P9 O' h( Z% b) i
9.13 Conclusion 277
8 Y0 |$ U. j: n10. ADVANCED INTERFACES 279* Y( A% i' [0 X+ c8 s8 a
10.1 Introduction 279
' W/ m5 B; y6 t0 s: o1 f0 h10.2 Virtual Interfaces with the ATM Router 279
3 x3 ^, ~) D; G/ P9 r, h10.3 Connecting to Multiple Design Configurations 284& J5 l" u5 Q; A1 _
10.4 Procedural Code in an Interface 290- N7 y" W: a4 {  Q$ _
10.5 Conclusion 294
+ J  H% V# [/ w) L. [References 295" g/ z( |. w0 H3 V
Index 297
( }. `9 q$ a( U$ M

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-7-1 04:19 , Processed in 0.056924 second(s), 32 queries , Gzip On.

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

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

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