用于 PCI Express* 的 英特尔® FPGA R-tile Avalon® Streaming IP设计实例用户指南

ID 683544
日期 4/10/2023
Public
文档目录

2.2. 生成设计实例

图 15. 过程
  1. 英特尔 Quartus Prime Pro Edition软件中,创建一个新工程(File > New Project Wizard)。
  2. 指定Directory, NameTop-Level Entity
  3. 对于Project Type,采用默认值Empty project。点击Next
  4. 对于Add Files,请点击Next
  5. 对于Family下的Family, Device & Board Settings,请选择 英特尔Agilex® 7 I-Series
  6. 为您的设计选择Target Device
  7. 点击Finish
  8. 在IP Catalog中找到并添加Intel R-Tile Avalon® -ST Hard IP for PCI Express*
  9. New IP Variant对话框中,为您的IP指定一个名称。点击Create
  10. Top-Level Settings PCIe* Settings选项卡中,为您的IP变体指定参数。
    如果您需要生成SR-IOV设计实例,请执行如下步骤使能SR-IOV:
    1. Top-Level Settings选项卡下,请将PCIe Hard IP Mode参数设置为Gen5 1x16, interface - 1024 bit
    2. PCIe0 Settings选项卡下,浏览到PCIe0 PCI Express/PCI Capabilities > PCIe0 Device > PCIe0 Multifunction and SR-IOV System Settings并:
      1. 查看Enable Multiple Physical Functions参数。
      2. Total Physical Functions (PFs)参数设置为2。
      3. 查看Enable SR-IOV Support参数。
      4. Total Virtual Functions of Physical Function 0 (PF0 VFs)参数设置为16。
      5. Total Virtual Functions of Physical Function 1 (PF1 VFs)参数设置为16。
    3. PCIe0 Settings选项卡下,浏览到PCIe0 Base Address registers > PCIe0 PF0 BAR Configuration > PCIe0 PF0 BAR并:将
      1. BAR0 Type参数设置为64-bit prefetchable memory64-bit non-prefetchable memory32-bit non-prefetchable memory
      2. BAR0 Size参数设置为N/A以外的任何值。
    4. 重复上述PCIe0 PF0 VF BAR小节中PCIe0 PF0 BAR的步骤i和ii。
    5. PCIe0 Settings选项卡下,浏览到PCIe0 Base Address Registers > PCIe0 PF1 BAR Configuration > PCIe0 PF1 BAR并:
      1. BAR0 Type参数设置为64-bit prefetchable memory64-bit non-prefetchable memory32-bit non-prefetchable memory
      2. BAR0 Size参数设置为N/A以外的任何值。
    6. 重复上述PCIe0 PF1 VF BAR小节中PCIe0 PF1 BAR的步骤i和ii。
    7. PCIe0 Settings选项卡下,浏览到PCIe0 PCI Express/PCI Capabilities > PCIe0 MSI-X > PCIe0 PF MSI-X > PCIe0 PF0 MSI-X并查看Enable MSI-X参数。
    8. PCIe0 Settings选项卡下,浏览到PCIe0 PCI Express/PCI Capabilities > PCIe0 MSI-X > PCIe0 PF MSI-X > PCIe0 PF1 MSI-X并查看Enable MSI-X参数。
    9. PCIe0 Settings选项卡下,浏览到PCIe0 Device Identification Registers并针对PCIe0 PF0 ID和PCIe0 PF1 ID设置如下参数:
      • Vendor ID: 0x00001172
      • Device ID: 0x00000000
      • Revision ID: 0x00000001
      • Class Code: 0x00ff0000
      • Subsystem Vendor ID: 0x00001172
      • Subsystem Device ID: 0x00000000
  11. Example Designs选项卡中,作如下选择:
    1. Available Example Designs,选择PIOSR-IOVPerformance设计实例。
    2. 对于Example Design Files,请开启SimulationSynthesis选项。如果您不需要这些仿真或综合文件,请将相应选项保持为关闭,这样可以显著缩短生成设计实例的时间。
    3. 对于Generated HDL Format,当前版本中仅支持Verilog。
    4. Target Development Kit选择适当的开发套件。
      注: 如果选择None,则生成的设计实例以您在步骤5中指定的器件作为目标器件。如果您打算在硬件中测试设计,就请在.qsf文件中进行正确的管脚分配。也可使用管脚规划器(pin planner)工具进行管脚约束。
      注: 如果您选择了开发套件,而英特尔 Quartus Prime工程中选择了不同的器件,则电路板上的器件会将其覆盖。
      注: 对于Currently Selected Example Design,请选择PIO/SRIOVPERFORMANCE_DESIGN
  12. 选择Generate Example Design以创建一个可仿真并可下载到硬件的设计实例。如果选择其中一个R-Tile开发板后,该板上的器件与之前英特尔 Quartus Prime工程中选择的器件不同,则该板上的器件会覆盖之前选择的器件。当提示要求为设计实例指定目录时,可接受默认目录,./intel_rtile_pcie_ast_0_example_design,或选择其他目录。
    图 16. 生成设计实例时的IP参数编辑器屏幕显示
  13. 点击Finish。出现提示时可保存您的.ip文件,但并不要求是否能够使用该设计实例。
  14. 关闭当前已开启的工程。
  15. 打开设计实例工程。就是步骤12中在指定位置生成的新工程。
  16. 编译设计实例工程以生成完整设计实例的.sof文件。
  17. 关闭设计实例工程。
    请注意,您不能更改英特尔 Quartus Prime工程中的PCIe管脚分配。但是,为了便于PCB布局布线,您可以利用此IP支持的通道位置翻转(lane reversal)和信号极性翻转(polarity inversion)功能。