|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
入门systemverilog不久的兄弟们,是不是都有VMM的冲动
可即使听了synopsys的讲座,也似乎一团黄麻。
这时候,这片资料的价值就出来了!!!!!!!!!!
本人正热烈学习中,好东东共分享!
1.0 Introduction............................................................................................................. 5
2.0 Terminology and short OO primer ......................................................................... 6
2.1 Object Oriented Programming Terminology and Refresher................................... 6
2.2 VMM and general verification terminology........................................................... 9
3.0 Rock Paper Scissors!............................................................................................... 9
4.0 How do we model data: transactions .................................................................... 10
4.1 Properties .............................................................................................................. 12
4.1.1 vmm_data public properties.............................................................................. 13
4.2 Constraints ............................................................................................................ 14
4.3 Methods................................................................................................................. 15
4.3.1 The Constructor ................................................................................................ 15
4.3.2 Mandatory Methods .......................................................................................... 16
5.0 What do we do with the data: transactors, channels and events ........................... 20
5.1 The VMM xactor class.......................................................................................... 21
5.1.1 The Constructor ................................................................................................ 21
5.1.2 Commonly used Methods ................................................................................. 22
5.2 How do we generate data? .................................................................................... 24
5.3 How do we move the data?................................................................................... 25
5.3.1 The vmm_channel............................................................................................. 25
5.3.2 Notification Service Interface ........................................................................... 27
5.4 How do we apply the data to the DUT?................................................................ 29
5.5 How to we collect the data from the DUT............................................................ 29
5.6 How do we validate the data coming from the DUT? .......................................... 30
6.0 Message Service Interface .................................................................................... 32
6.1 vmm_log ............................................................................................................... 32
6.2 Simulation PASS/FAIL reporting......................................................................... 34
7.0 How do we put it all together?.............................................................................. 34
7.1 Stitching together a verification environment: vmm_env .................................... 34
7.1.1 Dynamic vs. static objects................................................................................. 34
7.2 The Environment .................................................................................................. 35
7.3 The simulation flow.............................................................................................. 39
7.4 The test case.......................................................................................................... 39
7.4.1 Test Specific Constraints .................................................................................. 40
7.4.2 How to use our new classes .............................................................................. 40
7.4.3 Launching the run flow..................................................................................... 41
8.0 How do we add Functional Coverage................................................................... 42
9.0 What’s next? ......................................................................................................... 44
9.1.1 Scenario Generator............................................................................................ 45
9.1.2 Callbacks........................................................................................................... 45
9.1.3 Enhanced Run Flow.......................................................................................... 45
9.1.4 Re-Use............................................................................................................... 46
10.0 Conclusions and Recommendations ..................................................................... 46
11.0 References............................................................................................................. 47
12.0 Appendix............................................................................................................... 48
[ 本帖最后由 tomyang2008 于 2008-10-25 11:16 编辑 ] |
|