|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
Verification Methodology Manual
SystemVerilog
Self-Paced Tutorial
Verification Methodology Manual Tutorial
Copyright © 2006 Synopsys, Inc. 2 Version Y-2006.06
Table of Contents
1 Introduction .......................................................................................................................4
1.1 Requirements.............................................................................................................4
1.1.1 Knowledge.........................................................................................................4
1.1.2 Tools..................................................................................................................4
1.2 References .................................................................................................................4
1.3 Overview...................................................................................................................4
1.4 Layered Environment ................................................................................................5
1.5 Labs ...........................................................................................................................6
2 Messaging.........................................................................................................................7
2.1 Overview...................................................................................................................7
2.2 Type and Severity......................................................................................................7
2.3 vmm_log class...........................................................................................................7
2.4 Declaration and Instantiation.....................................................................................7
2.5 Message Handling .....................................................................................................8
2.6 Controlling Verbosity................................................................................................8
2.6.1 Using +vmm_log_default ..................................................................................9
2.6.2 Using set_verbosity().........................................................................................9
2.7 Further Exploration ...................................................................................................9
3 Verification Environment................................................................................................10
3.1 Overview.................................................................................................................10
3.2 The Nine Steps ........................................................................................................10
3.3 Simplest Example....................................................................................................10
3.4 Basic Example .........................................................................................................11
3.5 Automatic Sequencing.............................................................................................11
3.6 Using vmm_env ......................................................................................................11
3.7 Detailed Explanation of Methods ............................................................................12
3.7.1 gen_cfg() .........................................................................................................12
3.7.2 build() ..............................................................................................................12
3.7.3 reset_dut()........................................................................................................12
3.7.4 cfg_dut() ..........................................................................................................12
3.7.5 start() ...............................................................................................................12
3.7.6 wait_for_end() .................................................................................................12
3.7.7 stop()................................................................................................................13
3.7.8 cleanup()..........................................................................................................13
3.7.9 report().............................................................................................................13
3.8 Lab 1 vmm_env.......................................................................................................13
4 Data and Transactions .....................................................................................................14
4.1 Introduction .............................................................................................................14
4.2 Transaction Coding Guidelines ...............................................................................14
4.3 Transactions vs. Transactors....................................................................................14
4.4 Creating Your Own Transactions ............................................................................15
4.5 ID Fields..................................................................................................................15
4.6 Constraints...............................................................................................................15
4.7 Methods...................................................................................................................16
Verification Methodology Manual Tutorial
Version Y-2006.06 Copyright 3 © 2006 Synopsys, Inc.
4.8 display() & psdisplay() ............................................................................................16
4.9 allocate()..................................................................................................................16
4.10 copy() ......................................................................................................................16
4.11 compare() ................................................................................................................17
4.12 Packing and unpacking............................................................................................17
4.13 Lab 2 – the vmm_data class.....................................................................................17
5 Notification.....................................................................................................................18
5.1 Introduction .............................................................................................................18
5.2 Pre-defined Events...................................................................................................18
5.3 Further Exploration .................................................................................................19
6 Channels and Completion Models...................................................................................20
6.1 Introduction .............................................................................................................20
6.2 Definition and Creation ...........................................................................................20
6.3 Under the Hood .......................................................................................................21
6.4 Using Channels to Connect Blocks .........................................................................21
6.5 Transaction Completion ..........................................................................................22
6.6 Further Exploration .................................................................................................22
7 Atomic Generators ..........................................................................................................23
7.1 Introduction .............................................................................................................23
7.2 Adding Constraints..................................................................................................23
7.3 Factories ..................................................................................................................24
7.4 Benefits....................................................................................................................25
7.5 Atomic Generator Macro.........................................................................................25
7.6 Lab 3 – Channels and the Atomic Generator...........................................................25
8 Transactors ......................................................................................................................26
8.1 Introduction .............................................................................................................26
8.2 A Basic Transactor ..................................................................................................26
8.3 Stopping and Starting ..............................................................................................27
8.4 Physical and Virtual Interfaces ................................................................................27
8.5 Reusable Transactors...............................................................................................27
8.6 Creating Callbacks...................................................................................................28
8.7 Labs 4, 5,6and 7 ......................................................................................................29
Appendix A OOP & Virtual Methods..................................................................................30
8.8 Introduction to Classes ............................................................................................30
8.9 Inheritance ...............................................................................................................30
8.10 Handles to Objects...................................................................................................30
8.11 Polymorphism .........................................................................................................31
Appendix B: Labs....................................................................................................................33
LAB 1: VMM Environment ...................................................................................................33
LAB 2: Creating a vmm_data class ........................................................................................35
LAB 2: Creating a vmm_data class ........................................................................................35
LAB 3: Channels and Atomic Generator................................................................................37
LAB 4: APB Master Transactor .............................................................................................39
LAB 5: APB Monitor Transactor ...........................................................................................41
LAB 6: Scoreboard Integration ..............................................................................................43
LAB 7: Functional Coverage..................................................................................................45 |
|