思路:在coverage里面定义了几个implementation函数,
18#定义了一个coverage group ,因为monitor里面只收集了数据, 所以coverage point 重新写了几组,里面的bin包含了一个direction和address等。
 
notion image
 
notion image
notion image
这里main的数据,data最好用区间表示,default表示除了定义外的其他数。
39#cross,data和delay,data和direction
#43行,是收集uart的coverage,这里没有direction,因为tx和rx的方向是固定的,然后就是data和delay进行了cross一下。
notion image
notion image
下面就是new了一下transction,然后例化port,new几个coverage,set coverage的名字
#96是一个write函数,rx-frame.clone()返回值是一个object类型,需要做一个转换。
然后调用一下sample函数,每次在monitor里收到值的时候,write的时候这边都会进行一个类型转换和覆盖率的收集。
notion image
notion image
例化到环境中
notion image
 
notion image
复用seq发送激励。定义数据和delay.这里是uart发送到apb的。
notion image
然后是apb发送到uart端的,
notion image
写了两个seq,重复数据,
notion image
 
notion image
vseq里面管理这些seq,先配制寄存器,再写一个定向测试apb的,然后再写个随机测试。uart测同理。
notion image
 
notion image
写一个test启动,config——db的方式set进去,
notion image
我们uart做一遍,能够跑起来,走一遍这个flow,最基本的receive和transmit
notion image
 
notion image
 
notion image
 
notion image
 
notion image
  • Twikoo
  • Waline
  • Giscus
  • Cusdis
  • Utterance
Conor
Conor
一个野生的技术宅
公告
type
status
date
slug
summary
tags
category
Property
Nov 25, 2023 06:32 AM
icon
password
属性
属性 1
描述
Origin
URL
🎉持续更新中🎉