CN110073311A - 时钟门控启用生成 - Google Patents

时钟门控启用生成 Download PDF

Info

Publication number
CN110073311A
CN110073311A CN201780074946.4A CN201780074946A CN110073311A CN 110073311 A CN110073311 A CN 110073311A CN 201780074946 A CN201780074946 A CN 201780074946A CN 110073311 A CN110073311 A CN 110073311A
Authority
CN
China
Prior art keywords
clock
grouping
assembly line
clock signal
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780074946.4A
Other languages
English (en)
Other versions
CN110073311B (zh
Inventor
A·A·泽维克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN110073311A publication Critical patent/CN110073311A/zh
Application granted granted Critical
Publication of CN110073311B publication Critical patent/CN110073311B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/04Clock gating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/396Clock trees
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Quality & Reliability (AREA)
  • Advance Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Image Processing (AREA)
  • Power Sources (AREA)
  • Information Transfer Systems (AREA)

Abstract

在一个实施例中,一种用于流水线的时钟门控系统包括:时钟门控设备,被配置为将时钟信号门控或者传递至流水线;和时钟控制器。该时钟控制器被配置为:在流水线的输入处追踪输入分组的数目,在流水线的输出处追踪输出分组的数目,基于输入分组的数目和输出分组的数目来确定是要门控还是要传递时钟信号,如果确定要传递时钟信号,则指示时钟门控设备传递时钟信号,并且如果确定要门控时钟信号,则指示时钟门控设备门控时钟信号。

Description

时钟门控启用生成
相关申请的交叉引用
本申请要求2016年12月13日在美国专利商标局提交的临时申请第62/433,547号和2017年8月1日在美国专利商标局提交的非临时申请第15/666,107号的优先权和权益,其全部内容以引用的方式并入本文中。
技术领域
本公开的各个方面涉及时钟门控,并且更具体地涉及时钟门控启用生成。
背景技术
减少移动设备中的功耗对延长移动设备的电池寿命是重要的。引起移动设备中的芯片(裸片)的功耗的重要因素是动态功率,这归因于芯片上的晶体管的切换。就此而言,已经开发了各种功率降低方案以减少芯片上的动态功耗。一种方案涉及在电路未使用(例如,未处理数据)时将时钟信号门控至芯片上的电路(例如,流水线)。将时钟信号门控至电路使该电路中的晶体管停止切换,从而降低动态功率。
发明内容
以下呈现了一个或者多个实施例的简要概述,以便提供对这些实施例的基本理解。本发明内容不是所有预期实施例的详细综述,并且既不旨在标识所有实施例的关键或者重要元素,也不旨在描绘任何或者所有实施例的范围。本发明内容的唯一目的是以简化形式呈现一个或者多个实施例的一些构思,作为稍后呈现的更详细的描述的序言。
一个方面涉及一种用于流水线的时钟门控系统。该时钟门控系统包括:时钟门控设备,被配置为将时钟信号门控或者传递至流水线;和时钟控制器。该时钟控制器被配置为:在流水线的输入处追踪输入分组的数目,在流水线的输出处追踪输出分组的数目,基于输入分组的数目和输出分组的数目来确定是要门控还是要传递时钟信号,如果确定要传递时钟信号,则指示时钟门控设备传递时钟信号,并且如果确定要门控时钟信号,则指示时钟门控设备门控时钟信号。
第二方面涉及一种用于时钟门控的方法。该方法包括:在流水线的输入处追踪输入分组的数目,在流水线的输出处追踪输出分组的数目,并且基于输入分组的数目和输出分组的数目来确定是要将时钟信号门控还是传递至流水线。该方法还包括:如果确定要传递时钟信号,那么将时钟信号传递至流水线,并且如果确定要门控时钟信号,那么门控时钟信号。
为了实现前述和相关目的,一个或者多个实施例包括在下文中充分描述并且在权利要求书中特别指出的特征。以下说明和附图详细阐述了一个或者多个实施例的某些说明性方面。然而,这些方面仅指示可以采用各种实施例的原理的各种方式中的一些方式,并且所描述的实施例旨在包括所有这些方面及其等效物。
附图说明
图1示出了图像处理流水线的示例。
图2A示出了包括有限状态机的时钟门控系统的示例。
图2B示出了图2A中的有限状态机的示例性状态图。
图3示出了配置为检查流水线的每个级处的有效数据和/或就绪信号的时钟门控系统的示例。
图4示出了根据本公开的各个方面的时钟门控系统的示例。
图5示出了根据本公开的某些方面的时钟控制器的示例性实施方式。
图6示出了根据本公开的某些方面的图5中的时钟控制器接收用于时钟控制器的定时操作的时钟信号的示例。
图7是示出了用于不同时钟门控方法和不同流水线深度的芯片面积的示例的图表。
图8示出了根据本公开的某些方面的可以在时钟门控系统中使用的时钟门控单元(CGC)的示例。
图9是图示了根据本公开的某些方面的用于时钟门控的方法的流程图。
具体实施方式
以下结合附图阐述的详细说明旨在作为对各种配置的描述,并且不旨在表示可以实践本文所描述的构思的唯一配置。详细说明包括具体细节,以便提供对各种构思的彻底理解。然而,对于本领域的技术人员显而易见的是,可以在没有这些具体细节的情况下实践这些构思。在一些实例中,以框图形式示出了已知结构和部件,以避免模糊这些构思。
系统可以包括配置为处理来自数据源的数据并且将经处理的数据输出至数据宿的流水线。该流水线包括(例如,顺序)处理数据的多个流水线级(也被称为处理单元或者元件)。例如,流水线可以用于处理来自图像数据源(诸如,相机传感器或者存储器)的图像数据。
就此而言,图1示出了图像处理流水线110(也被称为图像信号处理(ISP)模块)的示例。图像处理流水线110接收来自数据源105(例如,相机传感器、存储器等)的数据(例如,图像数据)。图像处理流水线110处理接收到的数据,并且将经处理的数据(例如,经处理的图像数据)输出至数据宿115(例如,显示处理器、中央处理单元(CPU)、存储器等)。图像处理流水线110包括用于处理数据的多个流水线级。图像处理可以包括以下中的一个或者多个:噪声滤波、颜色校正、色调映射、去马赛克等。
图像处理流水线110接收用于图像处理流水线110的定时操作的时钟信号(表示成“clk”)。图像处理流水线110需要时钟信号clk来处理数据。然而,存在特定时间段(例如,在帧之间),在该时间段期间在图像处理流水线110中不存在需要处理的数据。在这些时间段期间,期望针对图像处理流水线110门控(禁用)时钟信号clk以节省功率。当在流水线110中不存在需要处理的数据时,门控时钟信号clk通过停止图像处理流水线110中的晶体管的切换来减少动态功耗。
图2A示出了根据一种方案的时钟门控的示例。在该方案中,时钟门控系统215包括时钟启用有限状态机(FSM)220和时钟门控设备225。如下文进一步讨论的,时钟门控设备225被配置为在FSM 220的控制下将时钟信号clk选择性地门控至图像处理流水线210。
在该示例中,图像处理流水线210以帧形式从数据源(图2A中未示出)接收有效数据(例如,像素数据),其中每一帧都包括多行有效数据。在图2A中,将由图像处理流水线210从数据源接收到的有效数据表示成“rx_vld”,并且将由图像处理流水线210向数据宿(在图2A中未示出)输出的有效数据表示成“tx_vld”。
在该示例中,图像处理流水线210接收来自数据源的接收控制信号(表示成“rx_ctrl”),并且向数据宿输出发射控制信号(表示成“tx_ctrl”)。接收控制信号rx_ctrl包括指示传入帧开始(表示成“rxsof”)、传入帧结束(表示成“rxeof”)、传入线开始(表示成“rxsol”)和传入线结束(表示成“rxeol”)的标志。发射控制信号tx_ctrl包括指示传出帧开始(表示成“txsof”)、传出帧结束(表示成“txeof”)、传出线开始(表示成“txsol”)和传出线结束(表示成“txeol”)的标志。
在操作中,FSM 220接收接收控制信号rx_ctrl和发射控制信号tx_ctrl,并且基于接收到的控制信号来确定是指示时钟门控设备225门控(禁用)时钟信号clk还是传递(启用)时钟信号clk。例如,假定在相邻帧之间不存在有效数据,FSM 220可以指示时钟门控设备225在传出帧结束(txeof)与下一个传入帧开始(rxsof)之间门控(禁用)时钟信号clk。假定在相邻线之间不存在有效数据,FSM 220还可以指示时钟门控设备225在传出线结束(txeol)与下一个传入线开始(rxsol)之间门控(禁用)时钟信号clk。因此,FSM 220可以在相邻帧之间以及帧内的相邻线之间门控(禁用)时钟信号clk以减少功耗。图2B示出了根据某些方面的FSM 220的示例性状态机图,其中时钟信号clk在空闲状态下被门控。
该方法的缺点在于,当在有效线内存在一个或者多个泡时,FSM220不门控(禁用)时钟信号clk,其中,泡是不具有有效数据的间隙。因此,该方法错过了在流水线210中不存在有效数据的特定时间段期间门控(禁用)时钟信号clk的机会,从而浪费功率。
图3示出了根据另一方案的时钟门控的示例。在该方案中,图像处理流水线310接收来自数据源(图3中未示出)的有效数据rx_vld,并且向数据宿(图3中未示出)输出有效数据tx_vld。此外,图像处理流水线310将接收就绪信号(表示成“rx_rdy”)输出至数据源以向数据源指示图像处理流水线310准备好从数据源接收有效数据。图像处理流水线310还从数据宿接收发射就绪信号(表示成“tx_rdy”),该发射就绪信号指示数据宿准备好从图像处理流水线310接收有效数据。
在该示例中,图像处理流水线310包括用于在图像处理流水线310中的不同点处锁存有效数据(例如,像素数据)的锁存器315-1至315-3和配置为处理不同流水线级处的有效数据的处理单元320-1至320-3(例如,组合逻辑)。图像处理流水线310还包括用于生成接收就绪信号rx_rdy的逻辑325-1至325-3。例如,逻辑325-1至325-3可以检查锁存器的有效数据并且检查发射就绪信号tx_rdy以确定流水线310是否准备好从数据源接收更多有效数据。例如,如果锁存器已满并且发射就绪信号tx_rdy未被断言,那么逻辑325-1至325-3可以解除断言接收就绪信号rx_rdy。在这种情况下,流水线310可能已满并且无法将有效数据输出(发射)至数据宿以在流水线310中为更多有效数据腾出空间。可以使用时钟信号clk(图3中未示出)对锁存器315-1至315-3、处理单元320-1至320-3和/或逻辑325-1至325-3进行定时。
在该示例中,时钟门控系统包括检查在流水线310中是否存在任何有效数据的时钟门控控制逻辑330(在图3中表示为或门)。时钟门控控制逻辑330通过检查每一个流水线级的有效数据和/或就绪信号来实现此。如果时钟门控控制逻辑330在流水线状态中的至少一种下检测到有效数据和/或就绪信号,那么时钟门控控制逻辑330向图像处理流水线310启用(传递)时钟信号clk。如果时钟门控控制逻辑330未检测到任何有效数据和/或就绪信号,那么时钟门控控制逻辑330禁用(门控)时钟信号clk。
不同于上文参照图2A讨论的先前时钟门控方法,该方法能够在有效线内的泡(不具有有效数据的间隙)期间门控(禁用)时钟信号时钟clk。这是因为此方法在流水线310中不存在有效数据时门控(禁用)时钟信号时钟clk。然而,当流水线深度较大,时钟频率较高等时,此方法可以潜在地引起与定时相关的问题。这是因为时钟门控控制逻辑330的扇入(即,输入数)随着流水线深度(流水线级数)的增加而增加。扇入的增加增加了时钟门控控制逻辑330中的传播延迟,这使得时钟门控控制逻辑330更加难以满足适当操作的某些定时要求,尤其是在高频率下。因此,难以使用该方法按比例放大流水线310。
图4示出了根据本公开的某些方面的时钟门控系统415。时钟门控系统415包括时钟控制器420和时钟门控设备425。如下文进一步讨论的,时钟门控设备425被配置为在时钟控制器420的控制下将时钟信号clk选择性地门控至图像处理流水线410。
在操作中,图像处理流水线410从数据源以分组的形式来接收有效数据(例如,像素数据),并且将有效数据(例如,像素数据)以分组的形式输出至数据宿。各个分组可以包括N位有效数据(例如,8位至14位)。时钟控制器420在图像处理流水线410的输入处追踪输入分组的数目(由图像处理流水线410接收到的分组数目)。时钟控制器420还在图像处理流水线410的输出处追踪输出分组的数目(由图像处理流水线410输出的分组数目)。在一个示例中,时钟控制器420在接收就绪信号rx_rdy被断言时追踪输入分组的数目,并且在发射就绪信号tx_rdy被断言时追踪输出分组的数目。在另一示例中,时钟控制器420分别独立于接收就绪信号rx_rdy和发射就绪信号tx_rdy追踪输入分组的数目和追踪输出分组的数目。
然后,时钟控制器420将输入分组的数目与输出分组的数目进行比较,以确定图像处理流水线410是否为空(流水线410中没有有效数据)。例如,时钟控制器420可以在输入分组的数目与输出分组的数目相匹配时确定流水线410为空,并且在输入分组的数目与输出分组的数目不匹配时确定流水线410不为空。
如果时钟控制器420确定流水线410为空,那么时钟控制器420可以指示时钟门控设备425门控(禁用)针对流水线410的时钟信号clk以节省功率。在一个示例中,在确定流水线410为空之后,时钟控制器420还可以检查在流水线410的输入处是否存在有效数据的传入分组。如果时钟控制器420未检测到有效数据的传入分组,那么时钟控制器420可以指示时钟门控设备425门控(禁用)针对流水线410的时钟信号clk。
如果时钟控制器420确定流水线410不为空,那么时钟控制器420可以使时钟信号clk处于启用(未门控)状态。
在门控(禁用)针对流水线410的时钟信号clk之后,时钟控制器420可以监测流水线410的输入以获取有效数据的输入分组。如果时钟控制器420检测到输入分组,那么时钟控制器420启用(传递)时钟信号clk,使得流水线410可以开始处理输入分组。如果时钟控制器420未检测到输入分组,那么时钟控制器420使时钟信号clk处于禁用(门控)状态。在一个示例中,时钟控制器420在接收准备rx_rdy被断言时监测流水线410的输入以获取输入分组。在该示例中,流水线410在门控时钟信号clk时保持接收就绪信号rx_rdy。在另一示例中,时钟控制器420独立于接收就绪信号rx_rdy监测流水线410的输入以获取输入分组。
时钟控制器420优于上文参照图2A讨论的第一时钟门控方案之处在于:时钟控制器420能够在有效线内的泡期间门控时钟信号clk。这是因为时钟控制器420在流水线410在泡期间变成空时门控时钟信号clk。
此外,时钟控制器420优于上文参照图3讨论的第二时钟门控方案之处在于:与图3所示的时钟门控控制逻辑330相比,时钟控制器420具有较小扇入(输入数)。这是因为时钟控制器420检查流水线410的输入和输出,而不是检查流水线410的每个流水线级以获取有效数据和/或就绪信号。因此,时钟控制器420的扇入不需要随着更多流水线级的添加而增加,从而使该方法更具可扩展性。该方法的相对较小的扇入减轻了与上文讨论的第二时钟门控方案相关联的定时问题。
图5示出了根据本公开的某些方面的时钟控制器420的示例性实施方式。在该示例中,时钟控制器420包括第一控制设备510、第一计数器520、第二控制设备515、第二计数器525、比较设备540和时钟控制设备550。如下文进一步讨论的,第一计数器520被配置为对输入分组的数目进行计数,并且第二计数器515被配置为对输出分组的数目进行计数。每个计数器可以是环绕式计数器,该环绕式计数器在达到最大计数器值时环绕。
在操作中,第一控制设备510监测流水线410的输入以获取有效数据的输入分组(例如,在接收就绪信号rx_rdy被断言时)。例如,每个传入分组可以用分组指示符(例如,定界符)指示。分组指示符可以位于分组的开始处或者分组的结束处。在该示例中,第一控制设备510可以通过检测相应分组指示符来检测输入分组。每当第一控制设备510检测到输入分组时,第一控制设备510就可以递增第一计数器520的计数值。因此,在该示例中,第一计数器520追踪输入分组的数目。
第二控制设备515监测流水线410的输出以获取有效数据的输出分组(例如,在发射就绪信号tx_rdy被断言时)。例如,每个传出分组可以用分组指示符(例如,定界符)指示。分组指示符可以位于分组的开始处或者分组的结束处。在该示例中,第二控制设备515可以通过检测相应分组指示符来检测输出分组。每当第二控制设备515检测到输出分组时,第二控制设备515就可以递增第二计数器525的计数值。因此,在该示例中,第二计数器525追踪输出分组的数目。
比较设备540将第一计数器520的计数值与第二计数器525的计数值进行比较。如果这些计数值相匹配,那么比较设备540确定流水线410为空。如果这些计数值不匹配,那么比较设备540确定流水线410不为空。然后,比较设备540基于比较来生成空标记,其中该空标记指示流水线410是否为空。例如,空标记可以在确定流水线410为空时具有第一逻辑值(例如,一),并且在确定流水线410不为空时具有第二逻辑值(例如,零)。
时钟控制设备550被配置为从比较设备540接收空标记。如果空标记指示流水线不为空,那么时钟控制设备550可以使时钟信号clk处于启用(未门控)状态。在这种情况下,时钟门控设备425将时钟信号clk传递至流水线410。如果空标记指示流水线为空,那么时钟控制设备550可以指示时钟门控设备425门控(禁用)针对流水线410的时钟信号clk。在一个示例中,如果空标记指示流水线为空,那么时钟控制设备550还可以检查在流水线410的输入处是否存在有效数据的传入分组。如果时钟控制设备550未检测到有效数据的传入分组,那么时钟控制设备550可以指示时钟门控设备425门控(禁用)针对流水线410的时钟信号clk。在该示例中,时钟控制设备550可以通过检测相应分组指示符(例如,定界符)来检测传入分组。当时钟门控设备425门控(禁用)时钟信号clk时,时钟门控设备425独立于时钟信号clk的逻辑状态将恒定逻辑状态(零或者一)输出至流水线410。
在门控(禁用)针对流水线410的时钟信号clk之后,时钟控制设备550可以监测流水线410的输入以获取有效数据的输入分组。如果时钟控制设备550检测到输入分组,那么时钟控制设备550启用(传递)时钟信号clk。如果时钟控制设备550未检测到输入分组,那么时钟控制设备550使时钟信号clk处于禁用(门控)状态。
在一个示例中,时钟控制设备550可以被配置为将第一逻辑值(例如,一)输出至时钟门控设备425以启用时钟信号clk,并且将第二逻辑值(例如,零)输出至时钟门控设备425以门控(禁用)时钟信号clk。在该示例中,时钟控制设备550在空标记指示流水线不为空时输出第一逻辑值。时钟控制设备500可以在空标记指示流水线为空时输出第二逻辑值。在一个示例中,时钟控制设备550可以在空标记指示流水线410为空并且在流水线的输入处未检测到输入分组时输出第二逻辑值。在门控时钟信号clk之后,时钟控制设备550可以监测流水线的输入以获取输入分组,并且在检测到输入分组时将其输出从第二逻辑值更改为第一逻辑值以重新启用时钟信号clk。
时钟控制器420还可以接收时钟信号clk以对时钟控制器420的操作进行定时。就此而言,图6示出了第一控制设备510、第一计数器520、第二控制设备515、第二计数器525和比较设备540从时钟门控设备425的输出接收时钟信号clk的示例。因此,在该示例中,当禁用(门控)针对流水线420的时钟信号clk时,还门控针对第一控制设备510、第一计数器520、第二控制设备515、第二计数器525和比较设备540的时钟信号clk以节省功率。第一计数器和第二计数器520和525可以在门控时钟信号clk时保持其当前计数值。在该示例中,第一计数器520和第二计数器525中的每一个可以在重新启用时钟信号clk时可以从所保持的计数值重新开始计数。可替代地,可以在门控时钟信号clk时重置计数器520和525。在该示例中,第一计数器520和第二计数器525中的每一个可以在重新启用时钟信号clk时可以从重置的计数值(例如,零)开始计数。
针对时钟控制设备550的时钟信号clk可以绕过时钟门控设备425,使得在门控针对流水线410的时钟信号clk时未门控针对时钟控制设备550的时钟信号clk。在该示例中,可以使用时钟信号clk对用于检测流水线410的输入处的输入分组的时钟控制设备550的操作进行定时,并且在检测到输入分组后,将时钟信号clk启用(传递)至流水线410。在另一示例中,时钟控制设备550可以包括一个或者多个逻辑门,当在流水线410的输入处存在输入分组时,该一个或者多个逻辑门不需要时钟信号clk来启用时钟信号clk。在这种情况下,不需要将时钟信号clk提供给时钟门控设备425。
如下文进一步讨论的,可以使用来自同步先进先出(FIFO)控制器的部件来实施时钟控制器420的各种部件。
同步FIFO控制器控制向FIFO存储器写入数据和从FIFO存储器读取数据。就此而言,FIFO控制器可以包括写入计数器、读取计数器和比较设备。当将数据输入至FIFO存储器时,对写入计数器的计数值进行递增,并且使用该计数值来生成指定FIFO存储器中的要写入数据的位置(地址)的写入指针。当从FIFO存储器读出数据时,对读取计数器的计数值进行递增,并且使用该计数值来生成指定FIFO存储器中的要读出数据的位置(地址)的读取指针。比较设备将写入指针与读取指针进行比较以确定FIFO存储器是否为空,并且基于比较来输出指示FIFO存储器是否为空的空标记。例如,当写入指针与读取指针相匹配时,比较设备可以确定FIFO存储器为空。
在一个示例中,可以使用来自FIFO控制器的写入计数器、读取计数器和比较设备来实施时钟控制器420的第一计数器520、第二计数器525和比较设备540。在该示例中,流水线410被视为FIFO存储器,以便确定流水线410是否为空。这允许时钟控制器420再次使用FIFO控制器的部件(例如,写入计数器、读取计数器和比较设备),这些部件用于为FIFO控制器生成空标记以为时钟控制器420生成空标记。
应该注意,尽管在上述示例中流水线410被视为FIFO存储器以便确定流水线410是否为空,但是在其它方面中流水线与FIFO存储器不同。例如,流水线410处理数据,而FIFO存储器仅存储(例如,缓冲)数据。
图7是示出了针对不同流水线深度(即,不同数目的流水线级)讨论的三种不同时钟门控方法的芯片面积的示例的图表700。图表700的前四行示出了针对流水线深度为2、50、100和500的FSM方案(图2A中示出)的芯片面积的示例。图表700的下面四行示出了针对流水线深度为2、50、100和500的或门方案(图3中示出)的芯片面积的示例。图表700的最后四行示出了针对流水线深度为2、50、100和500的FIFO方案(图4至图6中示出)的芯片面积的示例。
如图7所示,FSM方案的芯片面积不会随着流水线深度的上升而增大。相反,或门方案的芯片面积随着流水线深度的增加而近似线性地增大。这是因为对于每个附加流水线级,将附加输入添加至或门。或门方案并非极具可扩展性,因为流水线深度的增加可以导致或门占用的芯片面积显著增加。芯片面积的显著增加不仅占用了芯片上的有价值空间,而且还转换成功耗的显著增加。
FIFO方案的芯片面积随着流水线深度的增加而略微增大。芯片面积的增大是由于在流水线深度增加时追踪大量传入分组和传出分组所需的额外位。用流水线深度的log2(即,以2为底的对数)缩放额外位。如图表700所示,FIFO方案的芯片面积的增大明显小于或门方案。因此,随着流水线深度增加,FIFO方案需要明显比或门方案小的面积和功率。
FIFO方案占用比图7所示的示例中的FSM方案更多的芯片面积。然而,如上文讨论的,FIFO方案能够在有效线中的泡期间门控时钟信号clk,而FSM方案在泡期间未门控时钟信号clk。因此,FIFO方案能够更频繁地门控时钟信号(即,利用更多机会门控时钟信号),从而通过时钟门控实现更加省电。
可以使用本领域中已知的若干时钟门控单元(CGC)中的任一个来实施时钟门控设备425。例如,芯片(裸片)的标准单元库通常包括一个或者多个CGC。在该示例中,可以选择单元库中的CGC中的一个来实施时钟门控设备425。
就此而言,图8示出了可以用于实施时钟门控设备425的示例性时钟门控单元(CGC)810。在该示例中,CGC 810包括负缘触发锁存器820和与门830。CGC 810具有从时钟控制设备550接收门控制信号的门控制输入812、接收时钟信号clk的时钟输入814和耦合至流水线410的时钟输入的输出816。锁存器820具有接收门控制信号的控制输入822、接收时钟信号clk的时钟输入824和输出826。与门830具有耦合至锁存器820的输出826的第一输入832、接收时钟信号clk的第二输入834和耦合至CGC 810的输出816的输出836。
在该示例中,当来自时钟控制设备550的门控制信号为低(逻辑零)时,CGC 810门控时钟信号clk。在这种情况下,不管时钟信号clk的逻辑状态如何,CGC 810将逻辑零输出至流水线410。当门控制信号为高(逻辑一)时,CGC 810将时钟信号clk传递至流水线410。由于门控制信号控制是否启用针对流水线的时钟信号clk,因此还可以将门控制信号称为时钟启用信号。
在操作中,锁存器820锁存时钟信号clk的下降沿上的门控制信号的逻辑值,并且将锁存的门控制信号的逻辑值输出至与门830的第一输入832。如果锁存的门控制信号的逻辑值是逻辑一,那么与门830将时钟信号clk传递至CGC 810的输出816。不管时钟信号clk的逻辑状态如何,如果门控制信号的锁存逻辑值是逻辑零,那么与门830输出逻辑零,从而有效地门控时钟信号clk。在该示例中,使用锁存器820来防止CGC 810的输出816处的毛刺。应该了解,图8所示的CGC 810仅仅是示例性的,并且应该了解,可以使用本领域中已知的其它CGC来实施时钟门控设备425。
图9图示了根据本公开的某些方面的用于时钟门控的方法900。该方法900可以由时钟控制器420和时钟门控设备425来执行。
在步骤910,追踪流水线的输入处的输入分组的数目。例如,可以通过对每个输入分组的第一计数器(例如,第一计数器520)的计数值进行递增来追踪输入分组的数目。
在步骤920,追踪流水线的输出处的输出分组的数目。例如,可以通过对每个输出分组的第二计数器(例如,第二计数器525)的计数值进行递增来追踪输出分组的数目。
在步骤930,基于输入分组的数目和输出分组的数目来确定是要将时钟信号门控还是传递至流水线。例如,如果输入分组的数目和输出分组的数目相匹配,则可以确定要门控时钟信号,并且如果输入分组的数目和输出分组的数目不匹配,则可以确定要将时钟信号传递至流水线。
在步骤940,如果确定要传递时钟信号,则将时钟信号传递至流水线。
在步骤950,如果确定要门控时钟信号,则门控时钟信号。
上文所讨论的时钟控制器420可以用设计为执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑设备、离散硬件部件(例如,逻辑门)或其任何组合来实施。处理器可以通过执行包括用于执行功能的代码的软件来执行本文所描述的功能。可以将软件存储在计算机可读存储介质(诸如,RAM、ROM、EEPROM、光盘和/或磁盘)上。
在本公开内,词语“示例性”用于指“充当示例、示例或者说明”。本文作为“示例性”描述的任何实施方式或者方面不一定需要理解为比本公开的其它方面优选或者有益。同样,术语“方面”不需要本公开的所有方面都包括所讨论的特征、优点或者操作模式。
尽管上文使用图像处理流水线的示例讨论了本公开,但是应该了解,本公开不限于该示例。本公开的实施例可以应用于其它类型的流水线,这些流水线处理数据以将时钟信号门控至其它类型的流水线。
提供对本公开的先前描述是为了使得所属领域的技术人员能够制作或者使用本公开。对于本领域的技术人员来说,对本公开的各种修改将是显而易见的,并且在不脱离本公开的精神或者范围的情况下可以将本文所定义的一般原理应用于其它变型。因此,本公开不旨在限于本文所描述的示例,而是符合根据本文所公开的原理和新颖特征的最广泛的范围。

Claims (20)

1.一种用于流水线的时钟门控系统,包括:
时钟门控设备,被配置为将时钟信号传递或者门控至所述流水线;以及
时钟控制器,被配置为:在所述流水线的输入处追踪输入分组的数目,在所述流水线的输出处追踪输出分组的数目,基于所述输入分组的数目和所述输出分组的数目来确定是要传递还是要门控所述时钟信号,如果确定要传递所述时钟信号,则指示所述时钟门控设备传递所述时钟信号,并且如果确定要门控所述时钟信号,则指示所述时钟门控设备门控所述时钟信号。
2.根据权利要求1所述的时钟门控系统,其中所述时钟控制器包括:
第一计数器;
第一控制设备,被配置为在所述流水线的所述输入处检测所述输入分组,并且针对每个检测到的输入分组对所述第一计数器的计数值进行递增,其中所述第一计数器的所述计数值指示所述输入分组的数目;
第二计数器;以及
第二控制设备,被配置为在所述流水线的所述输出处检测所述输出分组,并且针对每个检测到的输出分组对所述第二计数器的计数值进行递增,其中所述第二计数器的所述计数值指示所述输出分组的数目。
3.根据权利要求2所述的时钟门控系统,其中所述时钟控制器还包括:
比较设备,被配置为将所述第一计数器的计数值与所述第二计数器的计数值进行比较,并且基于所述比较来生成标记,其中所述标记指示所述流水线是否为空;以及
时钟控制设备,被配置为如果所述标记未指示所述流水线为空,则指示所述时钟门控设备传递所述时钟信号,并且如果所述标记指示所述流水线为空,则指示所述时钟门控设备门控所述时钟信号。
4.根据权利要求3所述的时钟门控系统,其中如果所述第一计数器的计数值与所述第二计数器的计数值相匹配,则所述标记指示所述流水线为空。
5.根据权利要求4所述的时钟门控系统,其中如果所述第一计数器的计数值与所述第二计数器的计数值不匹配,则标记未指示所述流水线为空。
6.根据权利要求2所述的时钟门控系统,其中所述第一控制设备被配置为通过检测所述输入分组中的每一个输入分组的定界符来检测所述输入分组。
7.根据权利要求6所述的时钟门控系统,其中所述第二控制设备被配置为通过检测所述输出分组中的每一个输出分组的定界符来检测所述输出分组。
8.根据权利要求1所述的时钟门控系统,其中所述时钟控制器被配置为如果所述输入分组的数目与所述输出分组的数目相匹配,则指示所述时钟门控设备门控所述时钟信号,并且如果所述输入分组的数目与所述输出分组的数目不匹配,则指示所述时钟门控设备传递所述时钟信号。
9.根据权利要求8所述的时钟门控系统,其中,在指示所述时钟门控设备门控所述时钟信号之后,所述时钟控制器还被配置为针对下一个输入分组监测所述流水线的所述输入,并且在检测到所述下一个输入分组时指示所述时钟门控设备传递所述时钟信号。
10.根据权利要求1所述的时钟门控系统,其中所述流水线是图像处理流水线。
11.一种用于时钟门控的方法,包括:
在流水线的输入处追踪输入分组的数目;
在所述流水线的输出处追踪输出分组的数目;
基于所述输入分组的数目和所述输出分组的数目来确定是要将时钟信号门控还是传递至所述流水线;
如果确定要传递所述时钟信号,则将所述时钟信号传递至所述流水线;以及
如果确定要门控所述时钟信号,则门控所述时钟信号。
12.根据权利要求11所述的方法,其中追踪所述输入分组的数目包括:针对所述输入分组中的每一个对第一计数器的计数值进行递增,并且追踪所述输出分组的数目包括:针对所述输出分组中的每一个对第二计数器的计数值进行递增。
13.根据权利要求12所述的方法,其中对所述第一计数器的所述计数值进行递增包括:
通过检测所述输入分组中的每一个输入分组的定界符来在所述流水线的所述输入处检测所述输入分组;以及
针对每个检测到的输入分组对所述第一计数器的所述计数值进行递增。
14.根据权利要求12所述的方法,其中对所述第二计数器的所述计数值进行递增包括:
通过检测所述输出分组中的每一个输出分组的定界符来在所述流水线的所述输出处检测所述输出分组;以及
针对每个检测到的输出分组对所述第二计数器的所述计数值进行递增。
15.根据权利要求12所述的方法,其中确定是要门控还是要传递所述时钟信号包括:
将所述第一计数器的所述计数值与所述第二计数器的所述计数值进行比较;以及
基于所述比较来确定是要门控还是要传递所述时钟信号。
16.根据权利要求15所述的方法,其中确定是要门控还是要传递所述时钟信号包括:如果所述第一计数器的计数值与所述第二计数器的计数值相匹配,则确定要门控所述时钟信号。
17.根据权利要求16所述的方法,其中确定是要门控还是要传递所述时钟信号包括:如果所述第一计数器的所述计数值与所述第二计数器的所述计数值不匹配,则确定要传递所述时钟信号。
18.根据权利要求11所述的方法,其中确定是要门控还是要传递所述时钟信号包括:
如果所述输入分组的数目与所述输出分组的数目相匹配,则确定要门控所述时钟信号;以及
如果所述输入分组的数目与所述输出分组的数目不匹配,则确定要传递所述时钟信号。
19.根据权利要求19所述的方法,还包括:
在门控所述时钟信号之后,针对下一个输入分组监测所述流水线的所述输入;以及
在检测到所述下一个输入分组时传递所述时钟信号。
20.根据权利要求11所述的方法,其中所述流水线是图像处理流水线。
CN201780074946.4A 2016-12-13 2017-11-27 时钟门控系统以及用于时钟门控的方法 Active CN110073311B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662433547P 2016-12-13 2016-12-13
US62/433,547 2016-12-13
US15/666,107 US10761559B2 (en) 2016-12-13 2017-08-01 Clock gating enable generation
US15/666,107 2017-08-01
PCT/US2017/063306 WO2018111526A1 (en) 2016-12-13 2017-11-27 Clock gating enable generation

Publications (2)

Publication Number Publication Date
CN110073311A true CN110073311A (zh) 2019-07-30
CN110073311B CN110073311B (zh) 2023-03-24

Family

ID=62489120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780074946.4A Active CN110073311B (zh) 2016-12-13 2017-11-27 时钟门控系统以及用于时钟门控的方法

Country Status (11)

Country Link
US (1) US10761559B2 (zh)
EP (1) EP3555726B1 (zh)
JP (1) JP6746791B2 (zh)
KR (1) KR102143089B1 (zh)
CN (1) CN110073311B (zh)
AU (1) AU2017377949B2 (zh)
BR (1) BR112019010936A2 (zh)
ES (1) ES2801598T3 (zh)
HU (1) HUE050331T2 (zh)
TW (1) TWI722258B (zh)
WO (1) WO2018111526A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112462845A (zh) * 2020-11-25 2021-03-09 海光信息技术股份有限公司 数据传输时钟控制电路、方法和处理器

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11114057B2 (en) * 2018-08-28 2021-09-07 Samsung Display Co., Ltd. Smart gate display logic
US11099602B2 (en) * 2019-04-30 2021-08-24 International Business Machines Corporation Fault-tolerant clock gating
US20230179206A1 (en) * 2021-12-07 2023-06-08 Mediatek Inc. Clock gating cells

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040032855A1 (en) * 2002-08-19 2004-02-19 Nec Corporation Communication data processing circuit
CN1574628A (zh) * 2003-06-12 2005-02-02 安捷伦科技有限公司 用于时钟门控时钟树以减小功率耗散的方法和装置
CN101341656A (zh) * 2005-12-19 2009-01-07 国际商业机器公司 用于多周期时钟门控的方法
EP2124130A2 (en) * 2008-05-19 2009-11-25 NEC Corporation Packet processor, packet control method, and packet control program
CN102257572A (zh) * 2009-01-12 2011-11-23 拉姆伯斯公司 具有内核时钟同步的均步信号传输系统
CN105492989A (zh) * 2013-09-30 2016-04-13 英特尔公司 用于时钟门控控制的早唤醒-警告

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636074B2 (en) 2002-01-22 2003-10-21 Sun Microsystems, Inc. Clock gating to reduce power consumption of control and status registers
JP2004274099A (ja) 2003-03-05 2004-09-30 Nec Corp パケット処理回路
TWI253556B (en) * 2003-06-11 2006-04-21 Faraday Tech Corp Pipeline-based circuit with a postponed clock-gating mechanism for reducing power consumption and related driving method thereof
US7949887B2 (en) * 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
US7802118B1 (en) * 2006-12-21 2010-09-21 Nvidia Corporation Functional block level clock-gating within a graphics processor
US7797561B1 (en) * 2006-12-21 2010-09-14 Nvidia Corporation Automatic functional block level clock-gating
US8073669B2 (en) * 2007-08-21 2011-12-06 International Business Machines Corporation Method and apparatus for detecting clock gating opportunities in a pipelined electronic circuit design
US7861192B2 (en) * 2007-12-13 2010-12-28 Globalfoundries Inc. Technique to implement clock-gating using a common enable for a plurality of storage cells
JP2011061457A (ja) * 2009-09-09 2011-03-24 Elpida Memory Inc クロック生成回路及びこれを備える半導体装置並びにデータ処理システム
US9557795B1 (en) 2009-09-23 2017-01-31 Xilinx, Inc. Multiprocessor system with performance control based on input and output data rates
US20110202788A1 (en) 2010-02-12 2011-08-18 Blue Wonder Communications Gmbh Method and device for clock gate controlling
US8533648B2 (en) * 2010-05-13 2013-09-10 Oracle International Corporation Automatic clock-gating propagation technique
US9444440B2 (en) * 2011-06-30 2016-09-13 Stmicroelectronics International N.V. Transition detector
JP2013125436A (ja) 2011-12-15 2013-06-24 Panasonic Corp 画像処理回路および半導体集積回路
US9323315B2 (en) 2012-08-15 2016-04-26 Nvidia Corporation Method and system for automatic clock-gating of a clock grid at a clock source
US20140225655A1 (en) * 2013-02-14 2014-08-14 Qualcomm Incorporated Clock-gated synchronizer
GR20130100707A (el) * 2013-12-23 2015-07-31 Arm Limited, Μεταφραση διευθυνσης σε μια συσκευη επεξεργασιας δεδομενων
US9154130B2 (en) * 2014-01-14 2015-10-06 Analog Devices, Inc. Four-state input detection circuitry
US10204532B2 (en) * 2015-09-25 2019-02-12 Intel Corporation Multiple input cryptographic engine

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040032855A1 (en) * 2002-08-19 2004-02-19 Nec Corporation Communication data processing circuit
CN1574628A (zh) * 2003-06-12 2005-02-02 安捷伦科技有限公司 用于时钟门控时钟树以减小功率耗散的方法和装置
CN101341656A (zh) * 2005-12-19 2009-01-07 国际商业机器公司 用于多周期时钟门控的方法
EP2124130A2 (en) * 2008-05-19 2009-11-25 NEC Corporation Packet processor, packet control method, and packet control program
CN102257572A (zh) * 2009-01-12 2011-11-23 拉姆伯斯公司 具有内核时钟同步的均步信号传输系统
CN102257569A (zh) * 2009-01-12 2011-11-23 拉姆伯斯公司 时钟转发的低功率信号传输系统
CN105492989A (zh) * 2013-09-30 2016-04-13 英特尔公司 用于时钟门控控制的早唤醒-警告

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112462845A (zh) * 2020-11-25 2021-03-09 海光信息技术股份有限公司 数据传输时钟控制电路、方法和处理器

Also Published As

Publication number Publication date
EP3555726B1 (en) 2020-04-22
US20180164846A1 (en) 2018-06-14
WO2018111526A1 (en) 2018-06-21
BR112019010936A2 (pt) 2019-10-01
TWI722258B (zh) 2021-03-21
HUE050331T2 (hu) 2020-11-30
AU2017377949A1 (en) 2019-05-16
KR20190094364A (ko) 2019-08-13
ES2801598T3 (es) 2021-01-11
CN110073311B (zh) 2023-03-24
EP3555726A1 (en) 2019-10-23
JP2020513628A (ja) 2020-05-14
JP6746791B2 (ja) 2020-08-26
TW201826710A (zh) 2018-07-16
AU2017377949B2 (en) 2021-08-19
KR102143089B1 (ko) 2020-08-10
US10761559B2 (en) 2020-09-01

Similar Documents

Publication Publication Date Title
CN110073311A (zh) 时钟门控启用生成
US10241953B2 (en) Dynamic data-link selection over common physical interface
CN106233273B (zh) 混合虚拟gpio
KR20030075202A (ko) 온 칩 백그라운드 디버그 시스템 및 그 방법을 갖는데이터 처리 시스템
KR101775981B1 (ko) 통신 회로 및 샘플링 조정 방법
US20150149672A1 (en) Clockless virtual gpio
KR101054109B1 (ko) 메시지 큐 시간을 계산하기 위한 방법, 장치, 시스템 및 컴퓨터 판독가능 매체
US6104770A (en) Apparatus of detecting synchronization signal and method of detecting synchronization signal
US20230231940A1 (en) Communication Method and System, Device, and Computer-Readable Storage Medium
CN110635854A (zh) 一种传输协议自适应解码系统及方法
CN107168902B (zh) 一种利用dma实现高速can波特率的自动识别方法
KR20110077541A (ko) 인터페이스 장치 및 방법
CN110324114A (zh) 一种星载码流快速自适应锁定帧头方法及装置
US6825705B2 (en) Clock signal generation circuit and audio data processing apparatus
JP7343440B2 (ja) 性能プロファイリング
US7782844B1 (en) Method and apparatus for pattern matching on single and multiple pattern structures
US20210223815A1 (en) First-In First-Out Buffer with Lookahead Performance Booster
CN113721506A (zh) 基于epa技术的船用光电信号采集单元
CN106656391B (zh) 一种交换机芯片多路时钟同步原语冲突处理电路
CN103106162B (zh) 逻辑器件及其mdio接口通信方法
JP2007329670A (ja) データ受信装置およびデータ受信方法
JP2009017361A (ja) インターフェース
JP2001168729A (ja) データ伝送システム
JP2000013404A (ja) Tdm/atm変換装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40006695

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant