7 Series FPGAs Integrated Block for PCI Express IP核 Advanced模式配置详解(三)

news2024/12/28 20:19:38

TL Settings

Transaction Layer (TL)设置只在Advanced模式下有效。

  • Endpoint:

    • Unlock and PME_Turn_Off Messages: 与端点的电源管理相关,允许发送解锁和电源管理事件关闭消息。
  • Root Port:

    • Error Messages: Error Correctable(错误可纠正Error Non-Fatal(错误非致命Error Fatal (错误致命)等消息,这些与PCIe总线的错误处理和报告有关。
    • Assert/Deassert INT Messages: 中断信号的发送和清除机制,包括INTA、INTB、INTC、INTD。
    • Power Management Messages: 与电源管理相关的事件消息,如PM_PME(电源管理事件)和PME_TO_ACK(电源管理事件确认)。
  • Receive Non-Posted Request (Non-Posted Flow Control):

    • rx_np_req 信号用于防止用户应用程序缓冲非发布TLP。当rx_np_req被声明时,会向集成块请求一个非发布的TLP。此信号不能与rx_np_ok一起使用。每次rx_np_req被声明时,都会在接收接口上显示一个TLP;而每次rx_np_ok被取消声明时,用户应用程序需要缓冲最多两个额外的非发布TLP。
  • Pipeline Registers for Transaction Block RAM Buffers: 为事务缓冲区选择启用的流水线寄存器。流水线寄存器可以在事务块RAM缓冲区的写路径或读写路径上启用。

  • ATS (Address Translation Services):

    • UR_INV_REQ: 如果选中此框,IP核会将收到的ATS Invalidate请求消息视为不支持的请求。如果未选中此框,IP核将传递收到的ATS Invalidate请求消息。
    • UR_PRS_RESPONSE: 如果选中此框,IP核会将收到的ATS页面请求组响应消息视为不支持的请求。如果未选中此复选框,IP核将传递收到的ATS PRG响应消息。

2 DL and PL Settings

“DL和PL设置”页面也仅在“高级模式”下可用。这表明,除了事务层设置外,还有与数据链路层(DL)和物理层(PL)相关的更高级设置。

2.1 Link Layer Module

  • Override ACK/NAK Latency Timer: 勾选此选项后,用户可以覆盖设备中设置的ACK/NAK延迟计时器值。使用此功能可能会使ACK超时值不符合PCI Express基础规范2.1版。这通常用于执行高级调试操作。 

       警告:仅当Xilinx技术支持指导时,才应修改默认属性。

  •  ACK Latency Timer Override Function: 此设置决定了设备如何使用覆盖值相对于设备中的ACK/NAK延迟计时器值。选项包括“Absolute”(绝对值)、“Add”(增加)和“Subtract”(减少)。前两个设置可能会导致ACK超时值不符合PCI Express基础规范2.1版。
  • ACK Latency Timer Override Value: 此设置根据是否启用了ACK延迟计时器覆盖功能来确定设备使用的ACK/NAK延迟计时器值。内置表值取决于设备的协商链路宽度和编程的MPS(最大有效载荷大小)。
  • Override Replay Timer: 勾选此选项后,用户可以覆盖设备中设置的重放计时器值。使用此功能可能会使重放超时值不符合PCI Express基础规范2.1版。这也通常用于执行高级调试操作。

       警告:仅当Xilinx技术支持指导时,才应修改默认属性。

  • Replay Timer Override Function:这个设置决定了设备如何使用覆盖值来修改设备内的重放计时器值。可选项有“Absolute”(绝对值)、“Add”(增加)和“Subtract”(减少)。选择“Absolute”或“Add”可能会导致重放超时值不符合PCI Express基础规范2.1版。
  • Replay Timer Override Value:此设置根据是否启用了重放计时器覆盖功能来确定设备使用的重放计时器值。内置表值取决于设备的协商链路宽度和编程的MPS(最大有效载荷大小)。

      必须确保最终的超时值不会溢出15位的超时值范围。

2.2 Advanced Physical Layer

  • Enable Lane Reversal: 勾选此选项后,将启用通道位置翻转(Lane Reversal)功能。这是一个可选功能,旨在解决PCB布局中可能出现的通道错序连接问题,以提高信号质量。
  • Force No Scrambling: 此选项仅用于诊断目的,在正常设计中绝不应启用。设置此位将导致数据扰码器关闭,以便可以分析串行数据流。
  • Upconfigure Capable: 若取消勾选,则在链路训练期间,该端口将被宣传为“不可进行配置升级(Not Upconfigure Capable)”。 这意味着该端口不支持在已建立的链路宽度和速度上进行进一步的配置升级。
  • Disable TX ASPM L0s: 当勾选此选项时,会阻止设备发送器进入L0s状态。

     对于连接7系列FPGA与任何Xilinx组件的链路,建议禁用TX ASPM L0s。

  • Link Number: 指定设备在链路训练期间的TS1和TS2有序集合中宣传的链路号。仅用于下游模式(downstream facing mode,即设备作为下游设备时的模式)。

3 Shared Logic

通过选择此页面上的一个或多个选项,可以在多个实例化之间共享通用块。

4 Core Interface Parameters

可以选择要使用的IP核接口参数。默认情况下,所有端口都会引出。

在某些情况下,如果某些接口未使用,您可能会选择禁用它们。当接口被禁用时,它们会从IP核顶部移除。对于典型用例,不要禁用接口。仅在特殊情况下禁用端口。

PL Interface

当你禁用物理层(PL)接口选项时,以下端口将从IP核中移除。这个选项允许你检查链路和链路伙伴的状态,并控制链路状态。被移除的端口包括:

  • pl_sel_lnk_rate(选择的链路速率)
  • pl_sel_lnk_width(选择的链路宽度)
  • pl_ltssm_state(链路训练和状态机状态)
  • pl_lane_reversal_mode(通道翻转模式)
  • pl_phy_lnk_up(物理链路状态)
  • pl_directed_link_change(定向链路更改)
  • pl_directed_link_width(定向链路宽度)
  • pl_directed_link_speed(定向链路速度)
  • pl_directed_link_auton(定向链路自主协商)
  • pl_tx_pm_state(发送电源管理状态)
  • pl_rx_pm_state(接收电源管理状态)
  • pl_link_upcfg_cap(链路升级配置能力)
  • pl_link_gen2_cap(链路Gen2能力)
  • pl_link_partner_gen2_supported(链路伙伴是否支持Gen2)
  • pl_initial_link_width(初始链路宽度)
  • pl_upstream_prefer_deemph(上游是否偏好去加重)
  • pl_downstream_deemph_source(下游去加重源)
  • pl_directed_change_done(定向更改完成)
  • pl_transmit_hot_rst(发送热重置)
  • pl_received_hot_rst(接收热重置)

Error Reporting

当你禁用错误报告选项时,以下与PCIe Gen2 IP核的用户应用程序错误报告接口相关的端口将从核心中移除:

  • cfg_err_malformed(格式错误的配置请求)
  • cfg_err_cor(可纠正的配置错误)
  • cfg_err_ur(不支持的请求错误)
  • cfg_err_ecrc(错误的ECRC)
  • cfg_err_cpl_timeout(完成超时错误)
  • cfg_err_cpl_abort(完成中止错误)
  • cfg_err_cpl_unexpect(意外的完成错误)
  • cfg_err_poisoned(中毒的TLP错误)
  • cfg_err_acs(ACS违规错误)
  • cfg_err_atomic_egress_blocked(原子出口被阻止错误)
  • cfg_err_mc_blocked(多播被阻止错误)
  • cfg_err_internal_uncor(内部不可纠正错误)
  • cfg_err_internal_cor(内部可纠正错误)
  • cfg_err_posted(张贴请求错误)

  • cfg_err_locked(锁定请求错误)
  • cfg_err_norecovery(无法恢复的错误)
  • cfg_err_cpl_rdy(完成就绪错误)
  • cfg_err_tlp_cpl_header(TLP完成头错误)
  • cfg_err_aer_headerlog(AER头日志错误)
  • cfg_aer_interrupt_msgnum(AER中断消息编号)
  • cfg_err_aer_headerlog_set(AER头日志设置错误)
  • cfg_aer_ecrc_check_en(AER ECRC校验使能)
  • cfg_aer_ecrc_gen_en(AER ECRC生成使能)

Config Management Interface

当你禁用配置管理接口选项时,以下端口将从端口中移除。这些信号用于读取和写入配置空间寄存器。被移除的端口包括:

  • cfg_mgmt_do(数据输出)
  • cfg_mgmt_di(数据输入)
  • cfg_mgmt_byte_en(字节使能)
  • cfg_mgmt_dwaddr(双字地址)
  • cfg_mgmt_wr_rw1c_as_rw(将RW1C寄存器作为RW写入的使能)
  • cfg_mgmt_wr_readonly(写入只读寄存器的使能,通常用于调试)
  • cfg_mgmt_wr_en(写使能)
  • cfg_mgmt_rd_en(读使能)
  • cfg_mgmt_rd_wr_done(读/写完成信号)

Config CTRL Interface

当你禁用配置控制(CTRL)接口选项时,以下端口将从IP核中移除。这些信号允许用户应用程序和IP核之间进行广泛的信息交换。被移除的端口包括:

  • cfg_trn_pending(事务挂起指示)
  • cfg_pm_halt_aspm_l0s(停止ASPM L0s状态的电源管理暂停)
  • cfg_pm_halt_aspm_l1(停止ASPM L1状态的电源管理暂停)
  • cfg_pm_force_state_en(强制进入特定电源管理状态的使能)
  • cfg_pm_force_state(强制的电源管理状态)
  • cfg_dsn(数据源编号)
  • tx_cfg_gnt(发送配置授权)
  • rx_np_ok(接收非发布事务确认)
  • rx_np_req(接收非发布事务请求)
  • cfg_turnoff_ok(关闭确认)
  • cfg_pm_wake(电源管理唤醒)
  • cfg_pm_send_pme_to(发送PME到的位置)
  • cfg_ds_bus_number(下游总线编号)
  • cfg_ds_device_number(下游 设备编号)
  • cfg_ds_function_number(下游功能编号)

Config Status Interface

当你禁用配置状态接口时,以下端口将从IP核中移除。这些信号提供了PCIe Gen2 IP核如何配置的信息。被移除的端口包括:
  • cfg_status(状态寄存器)

  • cfg_command(命令寄存器)
  • cfg_dstatus(设备状态寄存器)
  • cfg_dcommand(设备命令寄存器)
  • cfg_lstatus(链接状态寄存器)
  • cfg_lcommand(链接命令寄存器)
  • cfg_dcommand2(设备命令2寄存器,用于PCI Express的扩展功能)
  • cfg_pcie_link_state(PCIe链接状态)
  • cfg_pmcsr_powerstate(电源管理控制状态寄存器的电源状态)
  • cfg_pmcsr_pme_en(电源管理事件使能)
  • cfg_pmcsr_pme_status(电源管理事件状态)
  • cfg_received_func_lvl_rst(接收到的功能级别重置)
  • cfg_to_turnoff(即将关闭指示)
  • cfg_bus_number(总线编号)
  • cfg_device_number(设备编号)
  • cfg_function_number(功能编号)
  • cfg_bridge_serr_en(桥接错误报告使能)
  • cfg_slot_control_electromech_il_ctl_pulse(插槽控制的机电信号或脉冲控制)
  • cfg_root_control_syserr_corr_err_en(启用或禁用可纠正的错误)
  • ,cfg_root_control_syserr_non_fatal_err_en(启用或禁用非致命错误)
  •  cfg_root_control_syserr_fatal_err_en(启用或禁用致命错误)
  • cfg_root_control_pme_int_en(启用或禁用电源管理事件中断)
  • cfg_aer_rooterr_corr_err_reporting_en(启用或禁用可纠正的错误报告)
  • cfg_aer_rooterr_non_fatal_err_reporting_en(启用或禁用非致命错误报告)
  •  cfg_aer_rooterr_fatal_err_reporting_en(启用或禁用致命错误报告)
  • cfg_aer_rooterr_corr_err_received(指示是否已接收到可纠正的错误)
  • cfg_aer_rooterr_non_fatal_err_received(指示是否已接收到非致命的错误)
  • cfg_aer_rooterr_fatal_err_received(指示是否已接收到致命的错误)
  • cfg_vc_tcvc_map(虚拟通道到物理通道的映射配置)
  • tx_buf_av(传输缓冲区可用的指示信号)
  • tx_err_drop(指示传输错误导致的数据包丢弃的信号)
  • tx_cfg_req(发送配置请求)

Receive Msg Interface

当禁用“接收消息接口”选项时,以下端口将从核心中移除。这些信号通常与从链路接收到的可解码消息、与数据相关的参数以及接收到的消息类型有关。

  • cfg_msg_received(消息已被接收的信号)
  • cfg_msg_data(接收到的消息数据的信号)
  • cfg_msg_received_err_cor(接收到可纠正错误的消息)
  • cfg_msg_received_err_non_fatal(接收到不致命错误的消息)
  • cfg_msg_received_err_fatal(接收到致命错误的消息)
  • cfg_msg_received_assert_int_a (接收到消息后触发中断a的声明)
  • cfg_msg_received_deassert_int_a(接收到消息后取消触发中断a的声明)
  • cfg_msg_received_assert_int_b (接收到消息后触发中断b的声明)
  • cfg_msg_received_deassert_int_b(接收到消息后取消触发中断b的声明)
  • cfg_msg_received_assert_int_c (接收到消息后触发中断c的声明)
  • cfg_msg_received_deassert_int_c(接收到消息后取消触发中断c的声明)
  • cfg_msg_received_assert_int_d (接收到消息后触发中断d的声明)
  • cfg_msg_received_deassert_int_d(接收到消息后取消触发中断d的声明)
  • cfg_msg_received_pm_pme:(接收到了一个与电源管理相关的PME消息)

  • cfg_msg_received_pme_to_ack(表示PCIe设备接收到一个需要确认的PME消息)

  • cfg_msg_received_unlock(表示接收到了一个解锁消息)

  • cfg_msg_received_pm_as_nak(表示设备接收到一个它不能处理或不支持的电源管理请求并返回一个NAK响应)

Config FC Interface

当禁用“配置流控制(FC)接口”选项时,以下与PCIe Gen2核心的配置流控制相关的端口将从IP核中移除:

  • cfg_fc_ph(Posted Header(PH)流控制信用)

  • cfg_fc_pd(Posted Data(PD)流控制信用)

  • cfg_fc_nph(Non-Posted Header(NPH)流控制信用)

  • cfg_fc_npd(Non-Posted Data(NPD)流控制信用)

  • cfg_fc_cplh(Completion Header(CPLH)流控制信用)

  • cfg_fc_cpld(Completion Data(CPLD)流控制信用)

  • cfg_fc_sel(选择不同类型的流控制信用)

5 Add. Debug Options

关于“启用JTAG调试器以进行调试”的选项,这是为了提供硬件级别的调试支持。JTAG(Joint Test Action Group)是一个国际标准,用于测试和调试电子设备,特别是集成电路。启用这个选项将允许开发者通过JTAG接口连接调试器,对PCIe设备进行低级别的调试和分析。

该特性为以下方面提供了调试的可用性:

  1. 在IP核顶部集成PCIe调试选项:这个选项允许在用户设计中包含必要的PCIe调试功能。这意味着用户可以将专门的调试接口集成到他们的设计中,以便于在开发或故障排除过程中捕获和分析PCIe核心的行为。

  2. 外部时钟的使用:此功能假定将使用一个外部时钟源。在调试过程中,一个稳定的时钟源是至关重要的,因为它能确保时序的准确性和可预测性,这对于分析和诊断问题至关重要。

  3. LTSSM(Link Training and Status State Machine)状态转换:这个功能可以展示从链路建立开始的所有LTSSM状态转换。LTSSM是PCIe中负责管理链路训练和状态的关键状态机。通过观察这些状态转换,开发人员可以了解链路是如何初始化、训练和进入稳定状态的,这对于解决链路层的问题至关重要。

  4. PHY复位FSM(有限状态机)转换:此功能展示了PCIe解决方案IP使用的内部状态机(即PHY复位FSM)的转换情况。PHY是PCIe的物理层,负责数据的实际传输。通过监视PHY复位状态机的转换,开发人员可以洞察PHY层的行为和任何可能的问题。

  5. 接收器检测:这个功能显示了所有成功完成接收器检测的通道。接收器检测是PCIe链路建立过程中的一个重要步骤,它确保每个通道都能正确地接收数据。通过查看哪些通道成功通过了接收器检测,可以帮助定位可能存在的通道或连接器问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1687176.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探数API统计分享-1949年-2021年中国历年夏粮产量统计报告

​​​​​​​​中国历年夏粮产量​,为1949年到2021年我国每年的夏粮产量数据。2021年,我国夏粮产量为14596万吨,比上年增长2.2%。 数据统计单位为:万吨 。 我国夏粮产量有多少? 2021年,我国夏粮产量为1…

【小白向】MAC端VSCode C++环境配置(超干货、超详细)

提示:使用环境为 MAC(M2) 其实 VSCode 很早就下载好了,但是因为在配置过程中总是遇到很多坑,搁置了很久,回头捡起遇到报 Error 还是两眼抓瞎,到处翻 blog。为了减少以后的遇坑可能性&#xff0c…

uniapp开发安卓app高德地图

uniapp开发安卓app高德地图 一、高德创建key二、uniapp配置三、uniapp打包证书获取 一、高德创建key 优先去高德地图开发者平台去创建关联项目 高德开发者平台 打开我的应用,添加key 进行高德key的配置 其中key建议设置成app的名称,便于区分SHA1获取可以…

【ChatGPT】 Microsoft Edge 浏览器扩展使用 GPT

【ChatGPT】添加 Microsoft Edge 浏览器插件免费使用 GPT 文章目录 准备工作添加扩展注意事项 使用 ChatGPT 可以更高效的搜索到想要的内容,有效节约在搜索引擎中排查正确信息的时间。 准备工作 准备一台可上网的电脑电脑上安装有 Windows 自带的 Microsoft Edge …

剪画小程序:3个方法:告诉你如何将普通的照片转换成动漫二次元风格!

Hello!亲爱的小伙伴们! 你是否还在纠结于自己的自拍太普通,每次分享到社交账号上都觉得平平无奇,引不起波澜? 假如,你和朋友们一起出去玩,大家都开心地拍着自拍。你看着自己的照片&#xff0c…

【ONE·MySQL || 视图和用户管理】

总言 主要内容:介绍MySQL中视图和用户管理。             文章目录 总言1、视图1.1、基本介绍1.2、相关操作1.2.1、创建及查看视图1.2.2、修改视图1.2.3、更新视图1.2.4、删除视图 2、用户管理2.1、用户管理2.1.1、基本介绍2.1.2、使用用户登录MySQL服务器2…

MyBatis中Where标签:揭秘高效SQL构建的秘密

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 理解Where标签的基础概念 在MyBatis中&#xff0c;<where>标签是用于构建SQL查询语句中的一个非常重要的元素。它允许你在一个动态的SQL语句中添加WHERE子句&#xff0c;而不需要担心SQL语法错误或额外的逗号…

【Linux】之【Get√】查看linux CPU 架构 ---- amd64、x86、x86_64、arm64

关于Linux软件下载时&#xff1a;amd64、x86、x86_64、arm64 的说明 archuanme -alscpu

MySQL中视图是什么,有什么作用

目录 一、视图的简介 1.1 什么是视图&#xff1f; 1.2 为什么使用视图&#xff1f; 1.3 视图有哪些规则与限制&#xff1f; 1.4 视图能否更新&#xff1f; 二、视图的创建 三、视图的作用 3.1 用视图简化复杂的联结 3.2 用视图格式化检索出的数据 3.3 用视图过滤数据…

数字人系统OEM源码及赚钱方式详解!

当前&#xff0c;数字人直播的热度持续上涨&#xff0c;应用场景日益丰富。而随着数字人直播所蕴含的前景和潜力被不断挖掘一批又一批的创业者纷纷开始入局分羹。其中&#xff0c;数字人系统OEM源码模式作为最为常见的入局方式之一&#xff0c;更是备受瞩目。 所谓数字人系统O…

机器人开源项目分享,助力一户一机器人

最初&#xff0c;因隋炀帝思念心切&#xff0c;命工匠按照柳抃的形象制作了木偶机器人&#xff0c;被认为是历史上最早的机器人之一。这些木偶机器人通过精巧设计的机关&#xff0c;能够执行坐、起、拜、伏等动作。 如今&#xff0c;随着科技的发展&#xff0c;机器人已经广泛…

2024年安全生产月资料合集,抓紧保存!

今年6月&#xff0c;我们将迎来第23个全国“安全生产月”&#xff0c;主题定为“人人讲安全、个个会应急———畅通生命通道”。 为了方便大家组织“安全生产月”活动&#xff0c;做好安全月宣传和培训。我们特别邀请了 安全工程师 王欣和李勇刚&#xff0c;结合今年的活动要求…

pip(包管理器) for Python

pip是什么 pip是Python的包安装程序&#xff0c;即python包管理器。您可以使用 pip 从Python包索引和其他索引安装包。 1. pip 安装 python 包 pip install 包名 例如&#xff1a;pip install pymssql &#xff1a; 使用pip安装数据库驱动包 pymssql 2.pip 卸载 python 包 pi…

LSPatch免root手机模块应用

软件介绍 LSPatch是一款免root手机模块应用&#xff0c;兼容大部分机型&#xff0c;使用LSPatch&#xff0c;您可以个性化您的Android设备&#xff0c;添加新的功能&#xff0c;修改系统设置&#xff0c;甚至完全改变系统的外观。您可以根据自己的需求选择和安装各种Xposed模块…

神经网络优化算法

神经网络优化算法 文章目录 神经网络优化算法梯度下降算法批量梯度下降法随机梯度下降法小批量随机梯度下降法动量法NAGAdaGradRMSPropADADELTAADAMNADAM 梯度下降算法 以 f ( x ) 1 2 x 2 f(x)\frac12x^2 f(x)21​x2为例展示了梯度下降法中梯度下降的实际情况&#xff0c;图…

Postman快捷功能-快速填写请求头

大家好&#xff0c;之前给大家分享关于 Postman 工具的基础使用&#xff0c;今天给大家介绍一个快捷功能&#xff0c;可以一定程度提高我们使用 Postman 工具的效率&#xff0c;在我们进行接口测试时&#xff0c;几乎每个接口都需要填写 Headers&#xff0c;且 Headers 中的参数…

代理模式的种类和它们之间区别?

静态代理 这种代理方式需要代理对象和目标对象实现一样的接口。 优点&#xff1a;可以在不修改目标对象的前提下扩展目标对象的功能。 缺点&#xff1a; 1.冗余。由于代理对象要实现与目标对象一致的接口,会产生过多的代理类。 2. 不易维护。一旦接口增加方法&#xff0c;目标…

桂林电子科技大学计算机工程学院、广西北部湾大学计信学院莅临泰迪智能科技参观交流

5月18日&#xff0c;桂林电子科技大学计算机工程学院副院长刘利民、副书记杨美娜、毕业班辅导员黄秀娟、广西北部湾大学计信学院院长助理刘秀平莅临广东泰迪智能科技股份有限公司产教融合实训基地参观交流。泰迪智能科技副总经理施兴、广西分公司郑廷和、梁霜、培训业务部孙学镂…

Mysql8.0离线安装 centos

Mysql8.0离线安装 centos 上传mysql安装包并解压 tar xvf mysql-8.0.37-1.el7.x86_64.rpm-bundle.tar运行安装对应的rpm包&#xff0c;按照一下顺序 rpm -ivh mysql-community-common-8.0.37-1.el7.x86_64.rpm rpm -ivh mysql-community-client-plugins-8.0.37-1.el7.x86_64.rp…

班组管理新篇章:打造高效沟通机制,助推团队协同发展

班组作为组织的基本单位&#xff0c;其沟通的顺畅与否直接关系到整个组织的运行效率和团队的凝聚力。建立健全的班组管理沟通机制&#xff0c;不仅是提升工作效率的关键&#xff0c;更是推动团队持续发展的核心动力。那么&#xff0c;如何建立健全的班组管理沟通机制呢&#xf…