文章 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

1

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