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中有回调函数编写和注册。

相关推荐
weixin_446260853 分钟前
[特殊字符] 开源项目实战复盘:从“陷阱”到“优雅架构”的批判性解构(RFC-2026)
架构·开源
qyhua5 分钟前
AgentCode 深度技术解析:极简架构下的 AI 编程代理设计哲学
人工智能·架构
EBABEFAC14 分钟前
架构师是什么
架构
斯普信专业组30 分钟前
kube-vip 完全指南:架构、核心机制与关键特性解析(上)
架构·kube-vip
Agent手记37 分钟前
终端消费数据自动采集与分析智能体的搭建思路:2026全链路技术架构与实战解析
java·开发语言·人工智能·ai·架构
真上帝的左手1 小时前
10. 软件设计&架构-经典架构问题-幂等+限流
架构·限流·幂等
天码-行空2 小时前
深入拆解Tomcat架构:多层容器设计原理
java·架构·tomcat
天空属于哈夫克32 小时前
企微自动化:API接口的私有化部署架构
运维·架构·自动化
星梦清河2 小时前
微服务-01
微服务·云原生·架构
LONGZETECH2 小时前
新能源汽车专业升级,仿真教学软件科学布局指南
人工智能·架构·汽车·汽车仿真教学软件·汽车故障诊断