UART的UVM验证技术研究毕业论文
2022-05-16 20:33:30
论文总字数:27193字
摘 要
本设计是基于System verilog语言,用UVM验证平台对一个实例进行的验证。并通过这个验证对UVM这个验证平台进行介绍。
本设计中用来验证的实例完成的功能是将数据接收后再发送。先用Systemverilog语言编写DUT来将这个实例的功能模拟出来。设计中将这个验证分为几个模块,第一个模块是激励产生与发送模块。在这个模块中需要定义产生激励的类sequence,将激励传送给驱动的类sequencer和驱动这个验证的类driver;第二个模块是产生期望值的模块,在这个模块中需要定义参考模型类reference model;第三个模块是将验证实例DUT的结果提取出来的类out_agent,在这个类中需要定义具有监测功能的monitor;第四个模块的作用是将DUT的输出值与reference model的给出的期望值进行对比并得出验证结果,在这个模块中需要定义scoreboard。在第五个模块中需要定义一些虚拟接口,这些虚拟接口的作用是将这些component连接起来并使它们正确的进行传输数据。
UVM已经吸收了当前诸多主流的验证方法学的优点,实践证明这是一个高性能的验证平台。
关键词:UVM;System verilog;验证
The research of UVM verification methodology
ABSTRACT
This design is based on the language of System verilog. And the verification platform of UVM is introduced by this verification.
The function of the instance completed in this design is to transmit data after receiving data. It would use the language of System verilog to build this DUT. So it can simulate the function of the instance. The verification is divided into several modules. The first module is used to produce data and send data. In this module, we need to define a class named sequence which is used to produce data. Two other classes named sequencer and driver are also defined in this module. Sequencer is used to transmit data to driver. Driver is used to driver the verification. The second module is used to produce expectations. In this module, we need to define the reference model. The third module is used to extract results of DUT. The class is named out_agent. In this class, we need to define a class named monitor. The fourth module is used to compare the results of DUT and reference model. To reach the goal, we need to define a class named scoreboard. The fifth module is used to define some virtual interfaces. These interfaces are used to connect these components. They can make the data transmit correctly.
UVM has absorbed the advantages of the current verification methodology. Practice has proved that the verification platform is more efficient.
Key Words:UVM; System verilog; verification
目录
摘 要 2
ABSTRACT 3
第一章 绪论 5
1.1 课题背景及研究意义 5
1.2 system verilog语言 6
1.3 研究现状 7
1.4 本文的章节安排 8
第二章 UVM 10
2.1 UVM的介绍 10
2.1.1 UVM的定义 10
2.1.2 UVM中的object与component 10
2.1.3 UVM中的机制 13
2.1.4 UVM的TLM通信 15
2.2 UVM验证平台介绍 16
2.3本章小结 17
第三章 实例验证 19
3.1验证实例的设计 19
3.1.1 DUT的设计 19
3.1.2 interface的设计 19
3.1.3 transaction的设计 19
3.1.4 agent的设计 20
3.1.5 reference model的定义 22
3.1.6 scoreboard的定义 23
3.1.7 env的定义 24
3.1.8 sequence的定义 24
3.1.9 my_case的定义 25
3.1.10top的定义 25
3.2测试流程 26
3.2.1UVM的运行流程 26
3.3测试结果 27
第四章 结论 29
参考文献 31
第一章 绪论
1.1 课题背景及研究意义
在这个科学技术高速发展的今天,新兴的技术层出不穷。许多传统的设计已经不能跟上时代的潮流,正在渐渐被这个时代淘汰。改革创新,与时俱进才能不断进步,才能始终走在时代的前列。
创新离不开设计,所以设计在每一个时代中都至关重要。而验证在设计中的地位越来越高。现在一个设计的成功与否已经在很大程度上取决于验证平台的工作。所以构建出一个成熟稳定的验证平台已经是当务之急[1]。
为了让验证工作变得更加成功,很多厂家推出了一些略有差异的验证方法学。然而,由于这些验证方法学是由不同的厂家提出的,所以这些验证平台的互操作性仍然存在着一些障碍。这就使得验证工程师们在接触不同公司推出的验证平台时,不得不花更多的时间去了解这些验证平台的独到之处。要做到这些,工作负荷就会大的难以承受。为了解决出现在工作中的各种各样的问题,来自多个行业的专家聚集在一起携手构建出了一个通用方法学UVM。
UVM并不是凭空出现的,它是在OVM的基础上吸收了当前一些方法学的优秀的机制。例如验证方法学VMM中的精华部分: RTL包[2]。
请支付后下载全文,论文总字数:27193字