【UCIe】UCIe Clock Gating

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 【UCIe】UCIe Clock Gating

1. 简介


 FDI 或 RDI 接口两侧的模块同属于同一时钟域(Clock Domain),且 Sideband 相关信号(*cfg*)跟 Mainband 信号属于同一时钟域(lclk,Sideband Clock 在 FDI、RDI 上还不是 800 MHz)。


 为了降低功耗,UCIe 提供了一种 可选的 Dynamic Clock Gating 机制 ,来动态关闭或开启协议层、适配层及物理层内的时钟。根据触发 Clock Gating 的条件,UCIe Clock Gating 可以分为 3 种:


   依赖于 FDI 状态的 Clock Gating。 当 pl_state_sts 显示 FDI 状态为 Reset、LinkReset、Disable 或 PM 状态时,协议层及 Adapter 中的部分逻辑可以进行 粗粒度 的 Clock Gating。这种情况下进行的 Clock Gating,需要 FDI 上的握手信号来 Ungating。考虑到 LinkError 状态下 Error Handler 还要来处理错误,在 LinkError 状态下禁止 Clock Gating。


   依赖于 RDI 状态的 Clock Gating 。 当 pl_state_sts 显示 RDI 状态为 Reset、LinkReset、Disable 或 PM 状态时,Adapter 及物理层中的部分逻辑可以进行 粗粒度 的 Clock Gating。这种情况下进行的 Clock Gating,需要 RDI 上的握手信号来 Ungating。考虑到 LinkError 状态下 Error Handler 还要来处理错误,在 LinkError 状态下禁止 Clock Gating。


   PHY LSM Active 时的 Clock Gating 。 这是一种 细粒度 的 Clock Gating 机制,发生于 PHY LSM Active 状态,是一种 FDI/RDI Clock Active 状态下的 Clock Gating,其关闭的是 Logical Clock Lane 及 Physical Clock Lane,而非 RDI 上的 lclk。


 FDI 及 RDI 接口上的 Clock Gating/Ungating 具有较大的相似性,下文我们合并介绍。




2. FDI/RDI Clock Gating


 FDI、RDI 进入 Clock Gating 的触发条件即 FDI/RDI 进入了 Reset、LinkReset、Disable 或 PM 状态,此时相关模块无需工作,可以进入 Clock Gating。至于要 Gating 哪些模块,UCIe Spec中并未明确指出。若 RDI 处于 PM 状态且 RDI Clock Gated,PHY 中的 Sideband PLL 仍需保证正常工作,SB PLL 的 800 MHz Clock 是 Always On 的(L2 呢?待议。L2 退出到 Reset)。


 ① FDI、RDI Bring Up 时 ,或者 ② FDI、RDI 进入 Clock Gating 后 , 通常 需要在对应接口上进行握手才能启动 Clock(Clock Ungating),使得模块开始工作或继续工作。这里说 “通常”,是因为 “握手” 只是开启时钟的常用方法,除了 “握手” 也需要参考 pl_state_sts 状态及其他模块内或链路的需求。Clock Ungating 的过程往往伴随着 FDI、RDI 状态转移,此处我们不谈状态转移,仅谈握手的部分。


 FDI 及 RDI 接口上均有两对用来 Clock Ungating 的握手信号,分别为:


   lp_wake_req/pl_wake_ack 。上层* 作为请求的发起方,请求下层* 进行 Clock Ungating。上层通过 lp_wake_req 信号向下层发起请求开启时钟,下层开启时钟后通过 pl_wake_ack 信号进行响应。(Note: 本文中的上层指靠近协议层的部分,下层指该接口靠近物理层的部分。下同。)


   pl_clk_req/lp_clk_ack 。下层作为请求的发起方,请求上层进行 Clock Ungating。下层通过 pl_clk_req 信号向上层发起请求开启时钟,上层开启时钟后通过 lp_clk_ack 信号进行响应。这组握手动作可以在 任意时刻发起,不依赖于 FDI 或 RDI 的状态 。



 部分握手规则如下:


   *_req 应比 *_ack 先行 de-assert,否则会被认为是第二次请求。


   若需要 Clock Ungating 来进行 lp_state_req/lp_linkerror 状态转换,上层 lp_wake_req 发出后可以不等待 pl_wake_ack 直接切换 lp_state_req/lp_linkerror 的状态。


   若 Clock Gating 时要发送 Sideband 请求到接口另一端,必须先完成握手确保 lclk 起来之后才能通过 RDI/FDI *_cfg_* 发送 Sideband 请求。


   若处于 Reset 或 PM 状态下的 FDI/RDI 下一步要转移到 LinkError 状态,其需要在进入 LinkError 状态之前通过 pl_clk_req/lp_clk_ack 握手信号来开启 Clock。 当然也可以在进入 LinkError 之后再置起 pl_clk_req,但必须收到 lp_clk_ack 确保其 Clock 起来后才能进行进一步的状态转移。




3. PHY Clock Gating


 这里的 PHY Clock Gating 仅限于 Lane 上的 Clock Gating。Lane 上的 Clock Gating 是一种可选的能力,该能力在 MBINIT.PARAM 状态下进行协商。


 在 Mainband 数据传输过程中,若数据发送完毕后 Valid 持续拉低 16UI (8 Cycles),就需要对 Clock 进行 Gating 操作。待需要发送数据时,重新启动 Clock。Clock Gating、Ungating 及过程中 Clock、Data、Valid 的值的变化如图 1 所示。


ad0af3eb511e402f8ecdb772741923b0.png


▲图 1:UCIe PHY Mainband Clock Gating


 Clock Gating -> Ungating 大致分为以下几个阶段:


   Normal Operation 。本阶段 Mainband 的 Clock、Valid 及 Data 均正常变化及传输。


   Clock Postamble 。MB Data 最后 1 bit 发送完毕之后,若 Valid 持续拉低 16UI,则准备对 Clock 进行 Gating。这 16 UI 称为 Clock Postamble,期间 Clock 正常 Runing:


       对于没有阻抗匹配的 UCIe Link,Data 值保持最后一个 UI 时的 Data 值,Valid 为低。


       对于存在阻抗匹配的 UCIe Link,前 8 UI 时 Data 保持最后一个 UI 时的 Data 值,后 8 UI Data 值为 High-Z,Valid 始终为低。


   Clock Gated 。无固定时长,本阶段 Clock 被关闭,Clock Lane 的值保持 Parking 不变。


   Preamble 。时长 1~8 UI。本阶段准配开启 Clock。期间:


       对于没有阻抗匹配的 UCIe Link,Data 值保持此前的值不变,Valid 为低。


       对于存在阻抗匹配的 UCIe Link,Data 值由此前的 High-Z 给个 0 或 1,Valid 始终为低。


   Normal Operation 。Clock 重新开启,重新进行 Mainband 的数据传输。




4. 参考


   UCIe Spec r1.0, Chapter 4, 5, 8


   UCIe 物理层介绍(逻辑物理篇)



相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
存储 缓存 测试技术
ZYNQ-AXI Interconnect IP介绍
ZYNQ-AXI Interconnect IP介绍
1475 0
ZYNQ-AXI Interconnect IP介绍
|
XML 数据格式 SoC
深入理解AMBA总线(十)AHB Bus Matrix以及AHB的局限性
深入理解AMBA总线(十)AHB Bus Matrix以及AHB的局限性
736 0
|
调度 C++
NR HARQ (四)dynamic codebook
上篇提到type-1 HARQ-ACK codebook,即semi-static codebook,UE要为每个PDSCH候选位置生成反馈,也会包含实际没有下行传输的PDSCH,再加上配置CBG的场景,HARQ-ACK 码本中包含的无用信息会更多,开销确实很大。因而,Type-2 HARQ-ACK 码本即dynamic 码本就出现了,目前看实网中一般都用的dynamic 码本,还没有见过semi-static 码本,长话短说,下面就看下相关内容。
|
芯片 iOS开发
MCU 5V tolerant是什么意思?
MCU 5V tolerant是什么意思?
|
SoC 内存技术
深入理解AMBA总线(五)AHB-lite Transfer进阶
深入理解AMBA总线(五)AHB-lite Transfer进阶
663 0
ChIP-seq 分析:Consensus Peaks(14)
ChIP-seq 分析:Consensus Peaks(14)
173 0
|
固态存储
SATA系列专题之一:浅析Physical Layer物理层OOB信号
SATA信号链结的建立主要是靠OOB(Out Of Band)的检测实现的,并且向上层Link Layer提供了物理层的链结情况。
|
芯片 流计算 内存技术
【UCIe】初识 UCIe
【UCIe】初识 UCIe
2249 2
【UCIe】初识 UCIe
|
Scala
spinal HDL - 05 - Spinal HDL - 函数和时钟域
spinal HDL - 05 - Spinal HDL - 函数和时钟域
290 0
spinal HDL - 05 - Spinal HDL - 函数和时钟域
【UCIe】UCIe Data to Clock
【UCIe】UCIe Data to Clock
402 0
【UCIe】UCIe Data to Clock