用于 PCIe* 解决方案的 Intel® Stratix® 10 Avalon® -ST和Single Root I/O Virtualization (SR-IOV)接口用户指南

ID 683111
日期 12/06/2017
Public
文档目录

9.3. 根端口BFM概述(Root Port BFM Overview)

基本Root Port BFM提供基于Verilog HDL任务的接口,以请求在PCI Express链路上发出传输。Root Port BFM还处理从PCI Express链路接收到的请求。下图显示了Root Port BFM中最重要的模块。

图 72. Root Port BFM

这些模块实现以下功能:

  • BFM Log Interface,altpcietb_bfm_log.v and altlpcietb_bfm_rp_<gen>_x8.v:BFM日志功能提供用于将一般格式化的消息写入仿真器标准输出以及可选地写入日志文件的程序。它还提供停止仿真错误的控件。有关这些步骤的详细信息,请参考BFM Log and Message Procedures
  • BFM Read/Write Request Functions, altpcietb_bfm_rp_<gen>_x8.sv:这些功能提供用于PCI Express读和写请求的基本BFM调用。有关这些步骤的详细信息,请参考BFM Read and Write Procedures
  • BFM Log Interface,altpcietb_bfm_log.v and altlpcietb_bfm_rp_<gen>_x8.v:BFM日志功能提供用于将一般格式化的消息写入仿真器标准输出以及可选地写入日志文件的程序。它还提供停止仿真错误的控件。有关这些步骤的详细信息,请参考BFM Log and Message Procedures
  • BFM Configuration Functions, altpcietb_g3bfm_configure.v:这些功能提供BFM调用以请求PCI Express链路和Endpoint Configuration Space寄存器的配置。有关这些步骤的详细信息,请参考BFM Configuration Procedures
  • BFM共享存储器,altpcietb_g3bfm_shmem_common.v:此模块提供Root Port BFM共享的存储器。它实现以下功能:
    • 提供用于TX写操作的数据
    • 提供用于RX读操作的数据
    • 接收数据用于RX写操作
    • 接收数据用于接收到的completion
    请参考BFM Shared Memory Access Procedures来了解从BFM驱动器读取,写入,填充和检查共享存储器的步骤。
  • BFM Request Interface,altpcietb_g3bfm_req_intf.v :此接口提供altpcietb_g3bfm_rdwraltpcietb_bfm_configure程序或功能与Root Port RTL模型之间的低等级接口。该接口存储一个写保护数据结构,该数据结构包含在Endpoint的BAR寄存器中编程的尺寸和值。它还存储用于内部BFM管理的其他关键数据。您不需要直接访问这些文件来调整测试台以测试您的Endpoint应用程序。
  • Avalon‑ST Interfaces, altpcietb_g3bfm_vc_intf_ast_common.v:这些接口模块处理Root Port 接口模型。它们从BFM请求接口接收请求并生成所需的PCI Express传输。它们处理从PCI Express链路接收到的完成(completion)信息,并在请求完成时通知BFM请求接口。另外,它们处理从PCI Express链接收到的任何请求,并在生成所需完成(completion)之前从共享存储器中存储或获取数据。