文章 ID: 000082369 内容类型: 产品信息和文件 上次审核日期: 2021 年 08 月 28 日

如何读取或写入英特尔® Arria® 10 PCI Express* IP 的寄存器值?

环境

  • 面向 PCI Express* 的英特尔® Arria® 10 Cyclone® 10 硬核 IP
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    说明

    英特尔® Arria® 10 PCI Express* IP 寄存器值的读取或写入是一种有效的调试方法。请按照以下步骤在英特尔® Arria® 10 PCI Express IP 组件中读取或写入寄存器值。 第一部分展示了如何在Arria 10 个收发器原生 PHY IP 通道中启用Altera调试主端点 (ADME),英特尔 Arria 10 个收发器 ATX PLL IP 核和 英特尔 Arria 10 个收发器 fPLL IP 内核。第二部分显示有关如何使用英特尔® Quartus® Prime 专业版系统控制台读取和写入寄存器值的操作。

     

    启用 ADME 功能。

    Arria 10 原生收发器 PHY IP

    1. 在 PCI Express IP 参数编辑器(配置、调试和扩展选项选项卡)中启用 ADME

    2. Generate HDL(在英特尔 Quartus Prime 专业版平台设计器中,单击"Generate -->生成 HDL...")

     

    Arria 10 ATX PLL IP 内核(仅适用于Arria 10 PCI Express IP Gen3 模式)

    3. 导航至包含 Platform Designer 生成的 PCI Express 设计文件的目录(例如 \altera_pcie_a10_hip_171\synth)

    4. 在文本编辑器中打开"lcpll_g3xn.v"文件

    5. 在 ATX/LC PLL 实例化 (altera_xcvr_atx_pll_a10) 中设置以下参数

    .rcfg_jtag_enable (1),

    .dbg_embedded_debug_enable (1),

    .dbg_capability_reg_enable (1),

    .dbg_stat_soft_logic_enable (1),

    .dbg_ctrl_soft_logic_enable (1),

    6. 对同一实例化重新配置时钟并重置

    .reconfig_clk1 (reconfig_clk0)

    .reconfig_reset1 (reconfig_reset0),

    7. 保存并关闭"lcpll_g3xn.v"文件

     

    Arria 10 fPLL IP 内核

    8. 在文本编辑器中打开"fpll_g3.v"文件

    9. 在 fPLL instatiation (altera_xcvr_fpll_a10) 中设置以下参数

    .rcfg_jtag_enable (1),

    .dbg_embedded_debug_enable (1),

    .dbg_capability_reg_enable (1),

    .dbg_stat_soft_logic_enable (1),

    .dbg_ctrl_soft_logic_enable (1),

    10. 对同一实例化重新配置时钟和重置

    .reconfig_clk1 (reconfig_clk0)

    .reconfig_reset1 (reconfig_reset0),

    11. 保存并关闭"fpll_g3.v"文件

    12. 开始 Quartus 编译

    13. 下载 SOF

     

    使用 System Console 注册读写操作。

    1. 启动 Quartus 收发器工具套件和负载设计

    2. 检查连接的从属

    % get_service_paths从 (此列表列出所有从属,包括 XCVR、ATX PLL 和 fPLL)

    3. 验证每个从属索引的 IP 信息,并记下与索引关联的 IP

    % marker_get_info [lindex [get_service_paths 从] 0]

    % marker_get_info [lindex [get_service_paths 从] 1]

    % marker_get_info [lindex [get_service_paths 从] 2]

    % marker_get_info [lindex [get_service_paths 从] 3]

    4. 从/写入 XCVR 或 PLL 寄存器读取。写入时,请阅读修改写入。 (例如 ATX PLL m_counter)

    % 设置 [lindex [get_service_paths 从] 3] # 索引 3 是 ATX PLL

    % open_service从属$s

    % 设置base_addr 0x0000数用于访问收发器通道

    % 设置 ret [master_read_8 $s [expr $base_addr 0x109*4] 1] # 读取 ATX PLL 地址 0x109 (m_counter)

    % 设置 ret [expr $ret & 0xf0 |(0x1

    % master_write_8 $s [expr $base_addr 0x109*4] $ret# 写入修改值

    % 通过回读验证设置 ret [master_read_8 $s [expr $base_addr 0x109*4] 1] 验证

     

    请参阅 英特尔 Arria 10 收发器寄存器映射了解完整的寄存器地址和值。

     

     

     

    相关产品

    本文适用于 1 产品

    英特尔® Arria® 10 FPGA 和 SoC FPGA

    本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。