找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

SystemVerilog for Verification

[复制链接]

157

主题

597

帖子

1239

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x

& L* _, }/ g8 B8 S- Y% [% Z. KSystemVerilog for Verification:  S" h. W; K/ U0 O3 }' Z0 U
A Guide to Learning the Testbench Language Features" \( x/ q4 s$ h) O. L. K# M* c: h
1. VERIFICATION GUIDELINES 1
. V: t! y. D. g, P1.1 Introduction 1
0 N% @4 N! @) p: }8 ^. o- Q1.2 The Verification Process 2
% f* D! {6 K( V. {; Q1.3 The Verification Plan 4% {  P0 ]: Z/ j1 e# Q
1.4 The Verification Methodology Manual 4
  q& ~/ ?8 I2 R/ L: T$ i* l9 F) T, {" V1.5 Basic Testbench Functionality 5+ P5 _# Z# O1 ?( g; x
1.6 Directed Testing 5
% T3 ^) G$ A& j: F+ Z1 k; D! m1.7 Methodology Basics 7% d- G) X7 b- Z  y$ p0 ^3 J$ r: r
1.8 Constrained-Random Stimulus 8- V% E" v8 I9 \& f* p4 p
1.9 What Should You Randomize? 106 b: c) F- ~" ]. x" W
1.10 Functional Coverage 13
7 X3 k4 b  k: e& f8 `5 u! N) n1.11 Testbench Components 15+ V- M3 R* g5 p; R; Q/ Z" _
1.12 Layered Testbench 16
+ l* g0 m) W+ Z% ?) q: ]0 D1.13 Building a Layered Testbench 22! p. J) I% s% P, k& `4 l( H
1.14 Simulation Environment Phases 23
. D( j! t+ H& O1.15 Maximum Code Reuse 24
& V" @$ n1 ~7 O- h, g' y1.16 Testbench Performance 24' v5 e# a0 \* ~3 L8 w* m
1.17 Conclusion 25
2 @; o8 }: p0 n. D2. DATA TYPES 27, ~  I- F# A# m  ^3 X2 E8 M4 I
2.1 Introduction 271 @. B2 _2 f$ U. o
2.2 Built-in Data Types 27
! a; n0 n5 B, @1 Fviii SystemVerilog for Verification$ O( }) e/ n" O# c% r; b$ V+ A' j
2.3 Fixed-Size Arrays 29
! {# H( P4 g) P9 M* ]( O2.4 Dynamic Arrays 34
+ S9 G9 `* X' Q: r4 T  C, C3 Y2.5 Queues 36! s8 w. R. m( v" A  Q+ t
2.6 Associative Arrays 37
0 u1 I; Q$ Q5 k6 k2 M/ P9 K8 M2.7 Linked Lists 39
, U$ {! |  v% X# N, C  @1 h) W2.8 Array Methods 40
; Z3 X9 j9 ?/ ]" V: I% \+ n( ^2.9 Choosing a Storage Type 42
$ N& }4 Z) k( C2.10 Creating New Types with typedef 45, F( v7 `/ S( V  h
2.11 Creating User-Defined Structures 469 a) s- ^' h, [" z" ]9 l# S
2.12 Enumerated Types 47; \# ]7 N+ }6 g# O
2.13 Constants 51
+ L; x( Z$ {" F7 w$ P2.14 Strings 51# Y/ o, G+ T& w. x. @& ?
2.15 Expression Width 520 f9 s' O8 V2 o( [+ K5 C" C  \* d5 \( a3 n
2.16 Net Types 534 |& L2 J  e+ _4 ]: L
2.17 Conclusion 53
* {$ S2 r6 J" C4 }- j) [8 o3. PROCEDURAL STATEMENTS AND ROUTINES 556 d* B) G" y: G' i9 H/ Q
3.1 Introduction 553 j+ j2 S, d1 ~  G5 W6 m/ L( q
3.2 Procedural Statements 55& F& Q' B5 {0 I# S/ R; `
3.3 Tasks, Functions, and Void Functions 56+ W" {% @# u! }! |2 M( L$ \- S
3.4 Task and Function Overview 57
8 u4 ^$ a& e1 U- w0 |+ D2 Q  ?* B3.5 Routine Arguments 571 }2 T: y! \- a: Y5 l( [' P
3.6 Returning from a Routine 626 p/ [) ^7 u! a3 d% Q, a" a
3.7 Local Data Storage 62! k7 f8 _) i) ^/ y* B! H9 z$ J
3.8 Time Values 64+ `! _, H; K9 L0 X% h+ U/ ?/ P
3.9 Conclusion 65
% x/ c& I2 r  b+ E; w4. BASIC OOP 67
5 S0 }' l* Y- H( U  e4.1 Introduction 671 k  K6 Z4 {% _
4.2 Think of Nouns, not Verbs 674 {6 I4 h, M! H+ a) i* ?
4.3 Your First Class 68- D) O9 H  [' X8 `! {
4.4 Where to Define a Class 69
4 g" G  L9 H! U, k4.5 OOP Terminology 69
3 c" ~6 K, b  P' W8 }' c0 ]4.6 Creating New Objects 70
$ L" Z& ~( p- N. A8 X4.7 Object Deallocation 74
! S  p7 T* q' H/ D4.8 Using Objects 76
  N; C: D  |/ t, k0 C4.9 Static Variables vs. Global Variables 76' V4 C; i! J0 {8 s1 e! {$ B
4.10 Class Routines 78  e4 ^* ^$ H+ Q4 _" i! X& Z
4.11 Defining Routines Outside of the Class 79: F( E5 V. W, f: [
4.12 Scoping Rules 81' V! g1 H' G+ K  E+ ^( J5 N
4.13 Using One Class Inside Another 85
  h; V) f7 [$ b2 q0 x% u4 A% t% d4.14 Understanding Dynamic Objects 87
% D3 p3 J2 t! @0 N0 C& X, Y( V! V4.15 Copying Objects 91
, F& t9 H  n+ k( `: N; |1 ~) l4.16 Public vs. Private 95+ F/ F7 G& s" g6 H
Contents ix
' h- T2 B! \6 e( x4.17 Straying Off Course 96& s6 j) r# p$ g, y6 c: w
4.18 Building a Testbench 96& d8 Z1 t  a9 @+ l* R+ Z! K
4.19 Conclusion 97
+ H+ L8 A2 T) A; E8 _5. CONNECTING THE TESTBENCH AND DESIGN 991 i/ o  {, O; U! F( R
5.1 Introduction 99
; ^: ^$ G* O: U- c4 F5 I3 [- @% z9 z5.2 Separating the Testbench and Design 99
# Q  r8 F: o7 H" u; a( T! d8 _5.3 The Interface Construct 102
$ h, S/ c! D! {3 y7 [  G/ {5.4 Stimulus Timing 108
, @$ a5 A* l& t. X5 x% O/ j4 G- b7 E6 {5.5 Interface Driving and Sampling 114/ J4 x- @# C7 ?) ~: g
5.6 Connecting It All Together 1214 S0 Y/ @4 E8 p* z% H1 M5 T2 [- f
5.7 Top-Level Scope 121
1 a! ^5 H' c, N/ W) s5.8 Program – Module Interactions 123: `: `) D0 W' w! n
5.9 SystemVerilog Assertions 124
8 A2 T# d& @# t2 `$ B5.10 The Four-Port ATM Router 126" W: m  u7 `) N4 v. Z' ?7 w
5.11 Conclusion 134- \, p- c1 L' q
6. RANDOMIZATION 135' Y4 f, a# U9 ~4 I
6.1 Introduction 1359 L; U! l% a$ G2 L& h1 B7 H, O* y
6.2 What to Randomize 136
: |2 w% e$ Y+ o  }# y: I  Q! [6.3 Randomization in SystemVerilog 138
1 o, p0 j9 v2 ?: i% V8 Q# c6.4 Constraint Details 141
9 B% K2 a* Q+ O; F: y8 z6.5 Solution Probabilities 149' B. ^- E$ R5 a. w
6.6 Controlling Multiple Constraint Blocks 1549 A+ E5 k1 d( o- H2 H0 @, J. i
6.7 Valid Constraints 154% W/ A( |4 e' v
6.8 In-line Constraints 155' D6 r" S  h" O8 B# v1 W3 d) m
6.9 The pre_randomize and post_randomize Functions 156
& u- v0 x8 t' s, M+ ~* h0 M6.10 Constraints Tips and Techniques 1589 e9 ~0 E3 ?6 }  ^% K: w
6.11 Common Randomization Problems 164
) K% `$ ~& T3 o5 b' t6.12 Iterative and Array Constraints 165
& T$ Z4 o0 K; B0 ^' c5 p6 l7 d6.13 Atomic Stimulus Generation vs. Scenario Generation 172# r0 E5 c7 [7 u, m$ y- z# [
6.14 Random Control 175
$ \: y3 s3 K" l6 M& U% F* B6.15 Random Generators 1779 x7 I1 G& o4 E1 K$ J  L
6.16 Random Device Configuration 180
2 K0 M  o2 B7 T+ v& r* ]1 |6.17 Conclusion 182
* U, {2 }& y7 K/ O" i7. THREADS AND INTERPROCESS COMMUNICATION 183/ s! N, F1 ]! O' H  a
7.1 Introduction 183
# f5 V2 A. b& U( k- o7 v. K7.2 Working with Threads 184
: @6 w. {- ^6 M* q1 ?% r; X1 H6 J7.3 Interprocess Communication 194/ U. H1 B& P. {$ h) u1 ]
7.4 Events 195
; B0 @2 L  ?1 A9 e, Z3 e7.5 Semaphores 199
- K8 s- q5 ?+ V" I$ e9 ]7.6 Mailboxes 201
& P1 I7 d, ~5 Y7.7 Building a Testbench with Threads and IPC 2104 y& `$ H7 I* U2 u; b
x SystemVerilog for Verification
, J% G' T# R2 Q( T* ]9 c( @  @7.8 Conclusion 214
* o0 a9 i& _, x" q9 V$ M8. ADVANCED OOP AND GUIDELINES 2152 J5 E2 r) |+ c. {7 C$ B/ T
8.1 Introduction 215
/ ?; D4 J( S- @" b. m0 ?8.2 Introduction to Inheritance 216# i9 F. T* _% q
8.3 Factory Patterns 221. c, y; H! \3 a6 B0 {
8.4 Type Casting and Virtual Methods 225
7 G5 E: X0 n9 r5 {4 {8.5 Composition, Inheritance, and Alternatives 228: K7 N3 o& Q2 Z3 i
8.6 Copying an Object 233
. o: Y+ {1 [4 z" @8.7 Callbacks 236" i: x! ]* s" _" j
8.8 Conclusion 2406 V: X: V/ G7 j
9. FUNCTIONAL COVERAGE 241. |  \! x% I% R; V) n( u
9.1 Introduction 2410 B/ ]7 D, E6 f
9.2 Coverage Types 243- J: ?: U' U7 l6 b% A. E% y7 q: `
9.3 Functional Coverage Strategies 246
0 ?% F- l6 k; A% H9.4 Simple Functional Coverage Example 248- P! y  ~0 I4 [. x+ O9 n7 h1 H
9.5 Anatomy of a Cover Group 251( T: J, k" {0 t9 Y# t3 R  L6 \
9.6 Triggering a Cover Group 253
! O0 B# l, J4 m! ~% B9.7 Data Sampling 256& Q5 m; d( R$ s. e
9.8 Cross Coverage 265, }* t; F: S% m  ^
9.9 Coverage Options 2729 t) N: ~4 K: ~$ h
9.10 Parameterized Cover Groups 274# @. u3 C& A. x. ~# J+ i
9.11 Analyzing Coverage Data 275
7 l0 H, |* n2 k' P7 I+ ]& X# b9.12 Measuring Coverage Statistics During Simulation 276
' a4 j& Y% q) x( o2 D9.13 Conclusion 277
9 h% V1 R& b$ T  g10. ADVANCED INTERFACES 279
2 X" a9 ~+ I) }: i1 p. K10.1 Introduction 2793 V, \% w# R6 l4 F& W
10.2 Virtual Interfaces with the ATM Router 279. `0 d4 W# D& o& J- x7 e
10.3 Connecting to Multiple Design Configurations 2845 S+ J- p  F8 A; d. ?  j
10.4 Procedural Code in an Interface 2906 k. c+ {$ M. _' I1 C( [
10.5 Conclusion 294
$ ^. k8 a; L3 t9 v& {; Z. S/ YReferences 2955 k; Y7 q( K3 V) T- O* m0 D- d
Index 2976 `: z( [6 s& H& ?3 P

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-5-25 07:09 , Processed in 0.058769 second(s), 34 queries , Gzip On.

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

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

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