找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

SystemVerilog for Verification

[复制链接]

157

主题

597

帖子

1239

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
9 P. d+ X8 j/ G( a. j
SystemVerilog for Verification:
1 |0 A- R0 i* [. tA Guide to Learning the Testbench Language Features
  r8 Q7 \# L! O% B$ C- o1. VERIFICATION GUIDELINES 1
- E- n7 J0 L* e4 G0 K1.1 Introduction 1
/ K  O4 s4 _* n1.2 The Verification Process 2% ?9 [  E# s% Q2 f% t3 x
1.3 The Verification Plan 4
( z* X" r, i) Q1.4 The Verification Methodology Manual 4. d1 h7 z+ Y( l. A! h/ n  N
1.5 Basic Testbench Functionality 5) g/ E4 S% l" k! ~, ^! ?/ {
1.6 Directed Testing 5* i' K- G& \* E( C
1.7 Methodology Basics 7
- d3 ]2 c5 O- d/ o7 K) Q% ^1.8 Constrained-Random Stimulus 88 b) K# Z2 l; G9 m! D
1.9 What Should You Randomize? 10
/ R! c/ ~  F( Y( q1.10 Functional Coverage 13
! ~+ A6 E) }) k' B9 O1.11 Testbench Components 151 q6 x( _2 F) T0 \+ ~
1.12 Layered Testbench 16& p7 f& _6 ?: e, l
1.13 Building a Layered Testbench 22
( c! K  \* _  j; t! W9 T1.14 Simulation Environment Phases 23
9 M" H' B9 h: L1.15 Maximum Code Reuse 24
. i2 r" n/ A3 {% u" v% q! P1.16 Testbench Performance 24
( J: u/ D. f3 F1 ]5 V* A1.17 Conclusion 253 W& V, \( A' V7 }
2. DATA TYPES 270 k0 [9 Z- l; F/ Y6 n9 X. M
2.1 Introduction 27
- w. f' ^5 t' A2.2 Built-in Data Types 275 F; ~% h) V% P, e8 e) u
viii SystemVerilog for Verification
- @) K, z0 {" `8 w9 g2.3 Fixed-Size Arrays 29
$ b* R6 A; P" \2.4 Dynamic Arrays 34
" ^' {: y8 K  c3 P# F2.5 Queues 36
/ w5 N2 M' W* U7 n. Q( c; I2.6 Associative Arrays 37% A, w+ t6 \4 f4 U3 r- E: m
2.7 Linked Lists 39: t* S, Y8 O1 f3 C" ]5 q
2.8 Array Methods 40, i; l) K" a1 g; T: T3 p% |
2.9 Choosing a Storage Type 427 ~' y( T; S+ Y! K7 |
2.10 Creating New Types with typedef 45+ t0 w- [8 w/ B( H
2.11 Creating User-Defined Structures 46  S) `% I& {3 {0 |
2.12 Enumerated Types 47
3 u! J+ G2 A4 h! F- |2.13 Constants 514 F5 I& }. o) p6 {. O6 d8 S
2.14 Strings 514 a4 Y7 {  K5 n' K& G# ~1 h
2.15 Expression Width 52
0 E! n; g+ ^* r& S) j2.16 Net Types 53
# c2 I+ ~$ a  t, K2.17 Conclusion 53
: R+ C7 s* x+ T  X6 W3. PROCEDURAL STATEMENTS AND ROUTINES 55
9 h% |$ S4 }- ~& L! n* j2 J3 K3.1 Introduction 557 q! n5 n7 ~, S4 u* N8 e. N
3.2 Procedural Statements 55; D9 v" C  o7 O4 `  |1 q
3.3 Tasks, Functions, and Void Functions 566 W& R' F+ B( b- m& a- Y# X
3.4 Task and Function Overview 57$ H4 n) [# T9 |/ b# ?  w. i- }, j
3.5 Routine Arguments 57- n/ s) t/ p2 X! i/ _
3.6 Returning from a Routine 62
, x/ U" t" ^9 J% W3.7 Local Data Storage 62; ^# @! c' h7 p: g7 m' h6 f- r
3.8 Time Values 64
% a% P; k3 J! {+ U2 R3.9 Conclusion 65% T3 Q2 z; x! z' F
4. BASIC OOP 673 Y4 N8 E# r% s. k, G4 _; F& q7 j
4.1 Introduction 67
$ R, R2 S4 S  D! J8 u4 W. h4.2 Think of Nouns, not Verbs 67
, i) q/ P: \$ ^) }" h% ?4.3 Your First Class 682 t* i' S4 e+ |* m9 o
4.4 Where to Define a Class 69
+ |$ o, M0 }1 U$ V& G4.5 OOP Terminology 69( I% _: v9 D( j8 Y9 r7 C+ T! \- m: Y5 }
4.6 Creating New Objects 70
0 ?* P. L/ s& l+ @8 H% r4.7 Object Deallocation 74' j6 K+ R2 k3 p6 [7 d3 \9 S# U
4.8 Using Objects 76
3 I' I0 V2 L6 @2 A# T! \4.9 Static Variables vs. Global Variables 762 M# Y% }+ C$ i6 x/ a6 t
4.10 Class Routines 78' c' t* q& j' a% @" R7 r
4.11 Defining Routines Outside of the Class 79# p1 R! e3 n7 |2 {; Y( {2 _* @: T: z
4.12 Scoping Rules 81/ e6 E/ Z3 B" b3 a$ x
4.13 Using One Class Inside Another 850 q  W( {$ a6 p( u' k
4.14 Understanding Dynamic Objects 870 {& s6 g+ E7 ^
4.15 Copying Objects 91
3 b. ]& L3 t$ T6 D5 p0 g4.16 Public vs. Private 95* ?! J0 G/ W! m  H5 l; E. J
Contents ix
! G1 w2 ^0 s' [" f, d4.17 Straying Off Course 96- L7 X7 _* a' O" i' F
4.18 Building a Testbench 962 U( ?: ?* p+ a" E, l. \0 z
4.19 Conclusion 97
7 e- ~! _9 o& A5. CONNECTING THE TESTBENCH AND DESIGN 99" [! C; F( Z- ]  @7 D8 q# {- |
5.1 Introduction 99. i+ [) T! s% j7 A) e9 N- W/ R* m; H
5.2 Separating the Testbench and Design 99
- ^! b. j4 x2 m1 {5.3 The Interface Construct 102* O% Q6 Q( U7 s* ~& N
5.4 Stimulus Timing 108
* N: S4 l2 h% j" G* i% L9 c5.5 Interface Driving and Sampling 114
% F" h3 G! r! q3 `5.6 Connecting It All Together 121
* \/ `% k  N5 q- w5.7 Top-Level Scope 121
; Z9 D7 ]0 B& `- c4 w5.8 Program – Module Interactions 123
$ F# V! |7 `: X; j5.9 SystemVerilog Assertions 124
) _% U2 e5 R0 P8 P- c5.10 The Four-Port ATM Router 126+ W- L  Q* i' ~
5.11 Conclusion 1341 O5 T- p( z' j+ u% c% _
6. RANDOMIZATION 1351 g7 g( K" [) h0 p8 L/ ?1 A
6.1 Introduction 135) q: C6 S# `/ r" e. _! U
6.2 What to Randomize 136
; G  M$ l! M4 O. |+ W7 J6.3 Randomization in SystemVerilog 138
! I) K; Q$ n0 V& l6.4 Constraint Details 141
, l) o( D9 j9 ^; w" U$ w6.5 Solution Probabilities 1494 X6 N( w8 Q/ K* X* e9 ~6 L
6.6 Controlling Multiple Constraint Blocks 154
; _9 m+ y! K* }& w& q  d" V( C2 E6.7 Valid Constraints 154
2 X0 Y6 P3 u) m; t8 g- B! S6.8 In-line Constraints 1556 I9 |8 ?( C5 N9 w1 E# O; x
6.9 The pre_randomize and post_randomize Functions 156
- b6 `2 H7 w' q+ s6 r6.10 Constraints Tips and Techniques 158. {9 o. p9 \: ~0 L  `: F5 j4 E0 t
6.11 Common Randomization Problems 164& d% {, @! x* u
6.12 Iterative and Array Constraints 165
: r: Y0 o# r' ^! ]0 g  a6.13 Atomic Stimulus Generation vs. Scenario Generation 172# D- x$ N8 J. {$ U2 G: y
6.14 Random Control 175
0 J& l" E  T" C; U. P! M( E6.15 Random Generators 177
+ I  q1 N. G  c& e6.16 Random Device Configuration 180
/ k# n8 m1 \  f, k; o6.17 Conclusion 182
, A0 v0 z+ Y) g3 F( Z! Z) ]5 e  M7. THREADS AND INTERPROCESS COMMUNICATION 1830 K9 c: y! N/ o4 X) i& P( ~9 p
7.1 Introduction 183! X! V, s6 m8 v3 {9 X
7.2 Working with Threads 184. s& k" B! R, i$ P! D0 E) P
7.3 Interprocess Communication 194
) ?: u9 d; D; l' v  U6 T0 `& @( i0 ^7.4 Events 195
- o' p& ^3 K, u2 B( M3 d/ a2 Z7.5 Semaphores 1995 I  S% Q, [) K2 r/ R
7.6 Mailboxes 201
; {: v3 e5 f5 G, G, H' T7.7 Building a Testbench with Threads and IPC 2100 M3 U; ^9 [7 M7 Q7 z- h
x SystemVerilog for Verification
! T8 Z$ d  z1 P% e0 q; f6 z9 R7.8 Conclusion 214
5 R: O. U4 K5 \9 ~8. ADVANCED OOP AND GUIDELINES 215
1 s+ I2 U" \* C; g) ]8.1 Introduction 215
# u7 y$ M; C7 h! m! c7 B1 `8.2 Introduction to Inheritance 216
5 \9 T' p) Y; @3 O8.3 Factory Patterns 2211 H# g% S0 F. W) b' U& h* e3 E3 v" h, E
8.4 Type Casting and Virtual Methods 225
( L5 f* s4 ?" \8.5 Composition, Inheritance, and Alternatives 228" X% r  V/ a' Q" C4 u/ B) U3 c
8.6 Copying an Object 233
; |  C  F% [0 S8.7 Callbacks 236. ~+ g1 Q& O& j6 i) _( a8 \$ X; N
8.8 Conclusion 240
. Z  g9 P3 q5 \% l9. FUNCTIONAL COVERAGE 241
3 j6 N# I/ v+ K* Y8 I9.1 Introduction 2413 D; }& A4 S# Y6 {3 a/ y4 B; d$ T  N' c
9.2 Coverage Types 243, S1 y1 ^( G2 N& y. ~/ ~( ?
9.3 Functional Coverage Strategies 2464 g9 n! C# n+ M8 A8 P0 h2 v
9.4 Simple Functional Coverage Example 248
6 G# t+ b" u& {, c9.5 Anatomy of a Cover Group 251& F2 o+ j9 d; H
9.6 Triggering a Cover Group 2534 r( b8 r6 l9 ?3 D" O0 b! q' j
9.7 Data Sampling 256! n+ j- E' U9 k' F! k* Q" [
9.8 Cross Coverage 265
* @8 V$ [( C5 c3 l  c, u0 k& h  t9.9 Coverage Options 272
- Y: h$ F3 x3 \* H9.10 Parameterized Cover Groups 274
0 M. P% q' g7 s7 \3 x1 b9.11 Analyzing Coverage Data 275
2 z+ d0 q$ ]0 H9 I0 D, H1 N* U$ }9.12 Measuring Coverage Statistics During Simulation 276
6 u; o( D+ u  B  W3 r9.13 Conclusion 2776 u$ d( ]7 D/ E
10. ADVANCED INTERFACES 279
* X- j9 W3 F0 z$ I2 ~& O; J4 B% W10.1 Introduction 2799 U- o, X, t0 P4 Y
10.2 Virtual Interfaces with the ATM Router 279& |. G; U+ g" e' |) h' `% s, i- K
10.3 Connecting to Multiple Design Configurations 284' {% N" [* M' x- A. ]$ Y5 G3 G
10.4 Procedural Code in an Interface 2909 H% z+ L" k, _( S
10.5 Conclusion 294  T6 F) k1 U7 X% E/ x. m: V6 `2 G
References 295
1 S% e6 z$ y$ n+ B. ?8 q& L2 a# |. S( T3 uIndex 297( B4 I- R" U( B7 D; X# p  q

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 14:00 , Processed in 0.061596 second(s), 35 queries , Gzip On.

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

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

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