1.1 tree
前言
uvm-1.2自带的测试用例位于uvm-1.2/examples路径下,本文主要介绍uvm-1.2中,自带测试用例examples的目录层次结构。通过总览这些目录层次结构,更直观的看到,通过UVM自带的测试用例,我们能够学习到哪些知识点。
一、uvm-1.2 examples的目录层次结构
在linux系统中,进入到examples目录下,输入tree -d即可得到如下的目录层次结构。主要分为simple和integrated两大类,simple里边存放的都是较为简单的测试用例,主要展示某一个功能,例如:callbacks机制、factory机制,通过这些简单的测试用例,可以更直观的学习这些功能;integrated里边存放的是较为复杂的系统测试用例,通过这些稍微复杂的测试用例,可以系统的了解整个UVM的环境该如何搭建。
.
├── integrated
│ ├── apb
│ ├── codec
│ │ └── vip
│ └── ubus
│ ├── examples
│ └── sv
└── simple
├── basic_examples
│ ├── event_pool
│ ├── module
│ └── pkg
├── callbacks
├── configuration
│ ├── automated
│ └── manual
├── factory
├── hello_world
├── interfaces
├── objections
├── phases
│ ├── basic
│ ├── run_test
│ └── timeout
├── registers
│ ├── common
│ │ ├── apb
│ │ └── wishbone
│ ├── integration
│ │ ├── 10direct
│ │ ├── 20layered
│ │ └── common
│ ├── models
│ │ ├── aliasing
│ │ ├── broadcast
│ │ ├── coverage
│ │ ├── fifo_reg
│ │ ├── not_yet_implemented
│ │ ├── reg_without_field
│ │ ├── ro_wo_same_addr
│ │ ├── shared_reg
│ │ └── user-defined
│ ├── primer
│ ├── sequence_api
│ └── vertical_reuse
├── sequence
│ └── basic_read_write_sequence
├── tlm1
│ ├── bidir
│ ├── fifo
│ ├── hierarchy
│ └── producer_consumer
├── tlm2
│ ├── blocking_simple
│ ├── nonblocking_simple
│ └── temporal_decoupling
└── trivial
总结
根据uvm-1.2/examples下的目录层次结构,通过总览simpile目录下的内容,可以知道利用uvm-1.2自带的测试用例,能够学习到callback机制、configuration机制、factory机制、phases机制、registers机制、sequence机制、TLM机制等,UVM相关的知识点,通过总览integrated目录下的内容,可以学习到基于UVM的验证VIP系统该如何搭建。