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

相关推荐
CCblandy1 小时前
令牌桶在 0.9 倍负载超发 19%、固定窗口边界放行 20 个:四种限流算法同构实测
后端·python·算法·性能优化·架构
唠点键盘之外的1 小时前
27 存量系统接大模型:旁挂一个 AI 微服务,老架构一行不改
人工智能·微服务·架构
GOWIN革文品牌咨询2 小时前
工业测量品牌系统化搭建指南:从内容架构到长期治理的全流程
大数据·人工智能·架构
forest_092 小时前
Agent 系列02|Agent 架构全景图
人工智能·架构·prompt·agi
天远数科3 小时前
零信任架构实战:基于天远贷前风险报告构建自动化消金信贷风控与多头共债排查网关
运维·人工智能·架构·自动化
一条大祥脚3 小时前
【CS336】lecture7 多卡|通信架构|集合通信|NCCL|通信原语|torch.distributed
分布式·架构·nccl·多机多卡·集合通信
RichardLau_Cx4 小时前
STEPX Neo 技术解析:智能体原生操作系统 Step AOS 与 Agentic Phone 架构深度拆解
架构
Dawson Zhu4 小时前
《Agentic Design Patterns》第 18 章导读:Guardrails 安全模式
人工智能·语言模型·架构·aigc·agi
姜鱼问生4 小时前
Nginx gzip 压缩:一个配置让页面加载快 3 倍
后端·算法·架构
自强的小白5 小时前
项目整个架构的构建和演进。(重点!)
spring cloud·微服务·架构