UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)

目录

1.driver的编写

 2.monitor代码编写:

3.slave_module的完善

4.跑一下testcase


1.driver的编写

我们将driver的所有信号都完善,并且在reset_phase执行reset_do()命令,对所有信号进行上电复位的初始化。完善好的driver代码如下:

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第1张图片

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第2张图片

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第3张图片

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第4张图片

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第5张图片

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第6张图片

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第7张图片

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第8张图片

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第9张图片

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第10张图片

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第11张图片

 2.monitor代码编写:

在编写monitor的时候,采用了和编写driver不同的方式,这种方式实现起来相对简单一些,具体思路就是控制好每个时钟上升沿是否检测地址、控制信号以及数据信号,如果检测到了,就将数据打包入m_trans内,然后打印到控制台上。由于比较简单,就不多赘述了。直接上代码

 UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第12张图片

 UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第13张图片UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第14张图片

 UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第15张图片

 UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第16张图片

 UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第17张图片

 UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第18张图片

 UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第19张图片

 UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第20张图片

3.slave_module的完善

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第21张图片

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第22张图片

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第23张图片

4.跑一下testcase

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第24张图片 20笔trans,10笔读,10笔写。具体的trans如下,来自于driver和monitor(一共20笔)

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第25张图片 UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第26张图片

...................................................3-17

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第27张图片

UVM自学笔记:项目之五——完善agent(driver、monitor、sequencr)_第28张图片

用vcs看一下波形

 截至目前,已经完成了agent内的所有组件的编写,接下来我们要将验证平台与DUT相连接,然后完成scoreboard的编写。

 

 

 

 

 

你可能感兴趣的:(其他,systemverilog)