searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

UVM集成C程序的两种方式

2023-03-29 06:44:01
210
0

UVM平台使用C程序,主要用来产生激励、作为参考模型检查DUT输出结果。通过DPI-C将UVM与C程序连接起来,进行通信,具体地,可以通过Package与Virtual interface两种方式,将UVM与C程序连接。

第一种通过Package方式,将DPI-C的实现(import和export)放在UVM的class里,再把这个class放在package中,在UVM bench里创建这个class,使用句柄调用DPI-C的task/function,实现UVM集成C程序的应用。

1.1、uvm testbench top通过import方式引入C程序package

1.2、C程序package文件

1.3、集成的C程序代码

1.4、UVM测试用例直接调用C程序

第二种通过Virtual interface方式,将DPI-C的实现(import和export)放在UVM的interface里,在interface对应的agent中,在该agent的sequence使用句柄调用DPI-C的task/function,实现UVM集成C程序的应用。

2.1 Interface接口import方式引入C程序

2.2 uvm agent将接口和Sequncer连接在一起

总结:

UVM集成C程序,通过System Verilog中的DPI-C接口,实现互连,根据C程序在UVM平台中的应用,如果C程序作为参考模型,可以使用package方式集成;如果C程序作为激励源,可以使用interface方式集成。

 

0条评论
0 / 1000
黄****超
3文章数
0粉丝数
黄****超
3 文章 | 0 粉丝
黄****超
3文章数
0粉丝数
黄****超
3 文章 | 0 粉丝
原创

UVM集成C程序的两种方式

2023-03-29 06:44:01
210
0

UVM平台使用C程序,主要用来产生激励、作为参考模型检查DUT输出结果。通过DPI-C将UVM与C程序连接起来,进行通信,具体地,可以通过Package与Virtual interface两种方式,将UVM与C程序连接。

第一种通过Package方式,将DPI-C的实现(import和export)放在UVM的class里,再把这个class放在package中,在UVM bench里创建这个class,使用句柄调用DPI-C的task/function,实现UVM集成C程序的应用。

1.1、uvm testbench top通过import方式引入C程序package

1.2、C程序package文件

1.3、集成的C程序代码

1.4、UVM测试用例直接调用C程序

第二种通过Virtual interface方式,将DPI-C的实现(import和export)放在UVM的interface里,在interface对应的agent中,在该agent的sequence使用句柄调用DPI-C的task/function,实现UVM集成C程序的应用。

2.1 Interface接口import方式引入C程序

2.2 uvm agent将接口和Sequncer连接在一起

总结:

UVM集成C程序,通过System Verilog中的DPI-C接口,实现互连,根据C程序在UVM平台中的应用,如果C程序作为参考模型,可以使用package方式集成;如果C程序作为激励源,可以使用interface方式集成。

 

文章来自个人专栏
UVM验证
3 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
1
1