首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Synopsys验证VIP学习笔记(2)Port Monitor用法

Synopsys AXI VIP为master和slave agent中的monitor提供了名为item_started_port和item_observed_port的analysis port,前者仅在总线事务传输开始时发送,后者则在总线事务传输完成后发送完整svt_axi_master_transaction和svt_axi_slave_transaction对象到item_observed_port端口,并且在vip agent为passive和active模式下都有效。可以将该端口连接至现有scoreboard用以分析总线事务信号,方法如下:

首先需要在scoreboard中声明export(或import)端口

在scoreboard::build_phase()中创建export对象

添加write_xxx函数以从analysis port中获取transaction

在base_test的connect_phase()中连接slave agent的analysis port和scoreboard

注意,vip monitor中某些信号的监测需要在port_configuration中配置使能开启,如arqos和awqos信号:

如果要在VIP环境中添加自定义TLM analysis port,需采用callback方法。SVT AXI VIP提供了很多callback方法,以下举例说明如何在AXI port monitor中添加自定义端口svt_axi_port_monitor_callback::read_address_phase_ended。

首先创建自定义callback类,并在read_address_phase_ended方法中添加自定义端口item_observed_port_addr

2. 在scoreboard中创建export端口和write()方法,这一步同上步骤1、2、3,代码略去

3. 在env中连接TLM端口,需要在uvm_env::build_phase()中创建callback,在connect_phase()中连接端口,并在start_of_simulation_phase() 中注册callback

参考资料:VC Verification IP AMBA AXI UVM User Guide R-2020.09

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230305A01F5L00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券