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

相关推荐
郑寿昌7 小时前
边缘AI传感:架构革命与智能跃迁
架构
IPHWT 零软网络8 小时前
从 SIP 软交换到国密加密:OM1000‑A‑UC 国产化 IPPBX 的架构与实战价值
架构·信息与通信·信创·国产化·ippbx
2601_957786778 小时前
短视频矩阵全链路自动化系统的技术架构与性能实测
矩阵·架构·自动化
青天喵喵12 小时前
Linux WiFi 架构解析:连接流程(基础篇二)
linux·运维·架构·嵌入式·wi-fi·sta·ap
heimeiyingwang12 小时前
【架构实战】RPC框架Dubbo3.0:高性能Java通信之道
java·rpc·架构
万岳科技系统开发12 小时前
直播电商APP搭建如何支持多门店与多主播模式
小程序·架构
TheRouter13 小时前
把 ClaudeCode 换成DeepSeek V4:两行配置,成本立省80%(含 Anthropic 兼容接口)
网络·架构
数字化顾问14 小时前
(122页PPT)企业数字化IT架构蓝图规划设计方案(附下载方式)
java·运维·架构
有才不一定有德14 小时前
动态生成 vs 静态预制:复杂 Agent 系统的 Sub-Agent 架构选择
架构·agent
一切皆是因缘际会14 小时前
本地大模型轻量化部署
大数据·人工智能·机器学习·架构