PCIe AVIP架构

验证工程师可以用C语言接口快速实现仿真加速。C++实现的仿真文件testbench可以直接访问AVIP,与总线功能模块BFM交换数据。PCIe AVIP的C++接口就是一组C++类;C++程序或工具可以调用这些类的方法。C++类可以实现如下功能:

  • 与BFM建立通信;
  • 向BFM发送事务报文;
  • 接收来自BFM的事务报文。

cdn_pcie_cpp_proxy类表示PCIe 代理模型,可以与BFM进行通信,并向BFM发送事务报文,等待时钟等等。

事务对象描述了收发事务报文的细节:用于send_txn()方法的参数;也用于从BFM中接收事务报文。对于PCIe而言,事务对象就是pci_express_cpp_tr类的对象。

PCIe AVIP C++接口的使用过程分如下几步:

  1. 创建代理模型,并将其与BFM绑定;
  2. 创建事务对象;
  3. 对事务对象进行初始化;
  4. 用代理模型的方法,将事务对象向BFM发送;
  5. 从BFM中接收响应报文。

PCIe AVIP C++接口使用回调函数从BFM中接收数据。回调函数类似验证过程中的中断。回调过程如下:

  1. 回调函数的编写,主要描述了当BFM返回数据给代理模型时,应该做些什么。
  2. 在验证启动时,必须先注册好回调函数。
  3. BFM返回数据给代理模型时,自动执行回调函数。

示例cdn_pcie_avip_dpi_test中有回调函数编写和注册。

相关推荐
天空属于哈夫克32 天前
企业微信二次开发:精准实现关键词自动回复
架构·企业微信
晨米酱2 天前
AGENTS.md:Agent 的上下文策略层
面试·架构·agent
这个DBA有点耶2 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
码流子2 天前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构
moMo2 天前
从固定流程到问题路由:让 LangGraph RAG 按需检索
架构
白远山2 天前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析
LorryJovens2 天前
【LAAP科研】双系统具身AGI范式研究——基于LAAP认知架构与Jev概率决策模型的系统性技术调研与范式验证
人工智能·gpt·安全·架构
JQweryuiop2 天前
中小型游戏陪练工作室数字化管理实践:基于七彩屋电竞护航小程序订单、履约与绩效系统的落地复盘
大数据·游戏·小程序·架构
LONGZETECH2 天前
一线职教实测:风光 580 汽车故障诊断仿真系统,破解实车实训四大核心痛点
人工智能·学习·安全·架构·汽车
萧瑟余晖2 天前
Netty 核心组件与 Reactor 模型详解
网络·架构