CN116388748A - 用于动态功率降低的自门控触发器 - Google Patents

用于动态功率降低的自门控触发器 Download PDF

Info

Publication number
CN116388748A
CN116388748A CN202211473729.1A CN202211473729A CN116388748A CN 116388748 A CN116388748 A CN 116388748A CN 202211473729 A CN202211473729 A CN 202211473729A CN 116388748 A CN116388748 A CN 116388748A
Authority
CN
China
Prior art keywords
gating
signal
clock
circuit
clock signal
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.)
Pending
Application number
CN202211473729.1A
Other languages
English (en)
Inventor
马赫什·K·库马什卡尔
穆迪·阿尔塔夫·侯赛因
李越
阿图尔·马赫什瓦里
安克雷迪·纳拉马尔普
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN116388748A publication Critical patent/CN116388748A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0008Arrangements for reducing power consumption
    • H03K19/0016Arrangements for reducing power consumption by using a control or a clock signal, e.g. in order to apply power supply
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • H03K19/1774Structural details of routing resources for global signals, e.g. clock, reset
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0008Arrangements for reducing power consumption
    • H03K19/0013Arrangements for reducing power consumption in field effect transistor circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • H03K19/17708Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns using an AND matrix followed by an OR matrix, i.e. programmable logic arrays

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

本公开涉及用于动态功率降低的自门控触发器。本文描述的系统或方法可以涉及一种用于启用或禁用集成电路器件的内部时钟的不依赖锁存器的时钟门控技术。一种可编程逻辑器件包括时钟门控电路,该时钟门控电路接收时钟信号并且是不依赖锁存器的。时钟门控电路包括门控信号电路,该门控信号电路基于时钟信号和使能信号生成门控信号。时钟门控电路还包括逻辑门,该逻辑门基于门控信号生成控制信号。时钟门控电路还包括门控时钟生成电路,该门控时钟生成电路基于时钟信号和控制信号生成门控时钟信号。

Description

用于动态功率降低的自门控触发器
技术领域
本公开总体上涉及诸如可编程逻辑器件(PLD)的集成电路(IC)器件。更具体地,本公开涉及用于诸如现场可编程门阵列(FPGA)的集成电路器件的动态功率降低的技术。
背景技术
本部分旨在向读者介绍可能与以下描述和/或要求保护的本公开的各个方面相关的技术的各个方面。该讨论被认为有助于为读者提供背景信息以促进更好地理解本公开的各个方面。因此,可以理解的是,这些陈述要从这个角度来理解,而不是承认为现有技术。
集成电路器件存在于各种各样的产品中,包括计算机、手持设备、工业基础设施、电视和车辆。这些集成电路器件中的许多器件是为执行特定任务而设计和制造的专用集成电路(ASIC)。相比之下,可编程逻辑器件(例如,FPGA)可以在制造后配置各种不同的系统设计。因此,可编程逻辑器件可以用于不同的任务和/或工作负载。然而,操作频率的增加和/或更高性能的计算可能导致可编程逻辑器件的更大动态功耗。
发明内容
根据本公开的一个实施例,提供了一种具有时钟门控电路以生成门控时钟信号的可编程逻辑器件,所述可编程逻辑器件包括:时钟门控电路,所述时钟门控电路接收时钟信号,其中,所述时钟门控电路不依赖锁存器并且包括:门控信号电路,所述门控信号电路基于所述时钟信号和使能信号生成门控信号;逻辑门,所述逻辑门基于所述门控信号生成控制信号;以及门控时钟生成电路,所述门控时钟生成电路基于所述时钟信号和所述控制信号生成门控时钟信号。
根据本公开的一个实施例,提供了一种具有时钟门控电路以生成门控时钟信号的现场可编程门阵列(FPGA),所述FPGA包括:触发器,所述触发器基于输入信号和门控时钟信号生成输出信号;时钟门控电路,所述时钟门控电路接收时钟信号并对所述时钟信号进行门控以施加到所述触发器,其中,所述时钟门控电路包括:门控信号电路,所述门控信号电路基于所述时钟信号、所述输入信号和所述输出信号生成门控信号;逻辑门,所述逻辑门基于所述门控信号生成控制信号;以及门控时钟生成电路,所述门控时钟生成电路基于所述时钟信号和所述控制信号生成所述门控时钟信号。
根据本公开的一个实施例,提供了一种具有生成门控时钟信号的时钟门控电路的可编程逻辑电路,所述可编程逻辑电路包括:多个触发器,所述多个触发器生成多个输出信号并接收多个输入信号,其中,所述多个触发器中的触发器基于门控时钟信号和所述多个输入信号中的相应输入信号生成所述多个输出信号中的相应输出信号;时钟门控电路,所述时钟门控电路接收时钟信号,其中,所述时钟门控电路包括:多个门控信号电路,所述多个门控信号电路生成多个门控信号,其中,所述门控信号电路基于所述时钟信号、对应的输入信号和对应的输出信号生成所述多个门控信号中的对应门控信号;逻辑门,所述逻辑门基于所述多个门控信号生成控制信号;以及门控时钟生成电路,所述门控时钟生成电路基于所述时钟信号和所述控制信号生成所述门控时钟信号。
附图说明
通过阅读以下详细描述并参考附图,可以更好地理解本公开的各个方面,其中:
图1是根据本公开的实施例的能够使用集成电路器件实现算术运算的系统的框图;
图2是根据本公开的实施例的图1的集成电路器件的框图;
图3是根据本公开的实施例的时钟门控电路的框图;
图4是根据本公开的实施例的时钟门控电路的另一个实施例的示意图;
图5是根据本公开的实施例的包括时钟门控电路的另一个实施例的自门控触发器电路的框图;
图6是根据本公开的实施例的图5的时钟门控电路的示意图;
图7是根据本公开的实施例的具有多个触发器的自门控触发器电路的框图;
图8是根据本公开的实施例的图4的时钟门控电路的时序图;
图9是根据本公开的实施例的图6的时钟门控电路的时序图;并且
图10是根据本公开的实施例的数据处理系统。
具体实施方式
下面将描述一个或多个具体实施例。为了提供对这些实施例的简明描述,在说明书中并未描述实际实现的所有特征。应该理解,在任何此类实际实现的开发中,就像在任何工程或设计项目中一样,必须做出许多特定于实现的决策以实现开发人员的特定目标,例如遵守与系统相关和业务相关的约束,这可能因不同实现而异。此外,应当理解,这样的开发工作可能是复杂且耗时的,但是对于受益于本公开的普通技术人员来说,仍然是设计、生产和制造的常规工作。
在介绍本公开的各种实施例的元素时,冠词“一”、“一个”和“该”旨在表示存在元素中的一个或多个。术语“包括”、“包含”和“具有”旨在具有包容性,并表示可能存在除所列元素之外的其他元素。此外,应当理解,对本公开的“一个实施例”或“实施例”的引用不旨在被解释为排除也包含所述特征的附加实施例的存在。
可编程逻辑器件越来越多地渗透到市场中,并且越来越多地使客户能够在逻辑结构(例如可编程逻辑)中实现电路设计。可以对集成电路器件的可编程逻辑结构进行编程以实现可编程电路设计,从而执行广泛的功能和操作。可编程逻辑结构可以包括具有查找表(LUT)的可编程逻辑的可配置块(例如,有时称为逻辑阵列块(LAB)或可配置逻辑块(CLB)),其可以被配置为基于编程到块中的存储单元中的配置数据作为不同的逻辑元件操作。
集成电路器件可以采用时钟门控来启用或禁用集成电路器件的内部时钟。通过在集成电路器件未在使用中时禁用时钟信号,时钟门控技术可以禁用集成电路器件的组件。例如,可以禁用任意数量的触发器以防止触发器切换状态和消耗动态功率。时钟门控技术可以利用额外的时钟门控电路来生成门控信号以启用和禁用内部时钟。然而,时钟门控电路可能会占用集成电路器件上的宝贵空间。此外,通过时钟门控电路的信号可能会导致时序延迟。精细电平时钟门控(例如,每个组件包括对应的时钟门控电路)技术可以将集成电路器件的重要部分用于时钟门控电路。通过采用粗略电平时钟门控(例如,用于16、32、64个或更多触发器的单个门控信号)技术,时钟门控电路占用的面积可以减少,因为时钟门控电路的单个实例可以禁用多个组件。然而,当对应于时钟门控电路的多个组件未在使用中时,粗略电平时钟门控在禁用组件方面可能效率低下,因为未应用时钟门控,或操作可能受到负面影响。
考虑到上述情况,图1示出了可以执行如本文所述的操作的系统10的框图。设计者可能希望实现功能,例如,本公开的操作,或涉及集成电路器件12(例如,现场可编程门阵列(FPGA))上的操作的应用。集成电路器件12可以实现可编程系统设计以执行所需功能。在一些情况下,设计者可以指定高级程序(例如
Figure BDA0003956585670000041
程序),它可以使设计者能够更有效和更容易地提供编程指令来为集成电路器件12配置一组可编程逻辑单元,而不需要低级硬件描述语言(例如,Verilog或VHDL)的特定知识。例如,由于/>
Figure BDA0003956585670000042
与其他高级编程语言(如C++)非常相似,因此熟悉此类高级编程语言的可编程逻辑的设计者的学习曲线可以比可能必须学习不熟悉的低级硬件描述语言以在集成电路器件12中实现新功能的设计者的学习曲线更短。
设计者可以使用设计软件14来实现他们的高级设计,例如INTEL CORPORATION的
Figure BDA0003956585670000043
的版本。设计软件14可以使用编译器16将高级程序转换为低级描述。设计软件14还可用于优化和/或提高设计效率。编译器16可以向主机18和集成电路器件12提供代表高级程序的机器可读指令。主机18可以接收可以由内核程序20实现的主机程序22。为了实现主机程序22,主机18可以通过通信链路24将指令从主机程序22传送到集成电路器件12,通信链路24可以是例如直接存储器访问(DMA)通信或外围组件互连快速(PCIe)通信。在一些实施例中,内核程序20和主机18可以实现集成电路器件12上的一个或多个逻辑块26的配置。逻辑块26可以包括电路和/或其他逻辑元件,并且可以被配置为实现算术运算,例如加法和乘法。集成电路器件12可以包括许多(例如,数百或数千)逻辑块26。另外,逻辑块26可以通信地耦合到另一个逻辑块26,使得从一个逻辑块25输出的数据可以提供给其他逻辑块26。
设计者可以使用设计软件14来生成和/或指定低级程序,例如上述的低级硬件描述语言。此外,在一些实施例中,系统可以在没有单独的主机程序的情况下实现。此外,在一些实施例中,本文描述的技术可以在电路中实现为非可编程电路设计。因此,本文描述的实施例旨在是说明性的而不是限制性的。
现在转向对集成电路器件12的更详细的讨论,图2示出了集成电路器件12的框图,该集成电路器件12可以是可编程逻辑器件,例如FPGA。此外,应当理解,集成电路器件12可以是任何其他合适类型的可编程逻辑器件(例如,专用集成电路和/或专用标准产品)。附加地或替代地,集成电路器件12可以是任何合适的集成电路器件。在某些实施例中,集成电路器件12可以不是可编程逻辑器件。如图所示,集成电路器件12可以具有输入/输出电路42,用于驱动信号离开器件并通过输入/输出引脚44从其他器件接收信号。互连资源46(例如,全局和局部垂直和水平导线和总线)和/或配置资源(例如,硬连线耦合、未由用户逻辑实现的逻辑耦合)可以用于在集成电路器件12上路由信号。另外,互连资源46可以包括固定互连(导线)和可编程互连(即,各个固定互连之间的可编程连接)。可编程逻辑48可以包括组合和时序逻辑电路。例如,可编程逻辑48可以包括查找表、寄存器和复用器。在各种实施例中,可编程逻辑48可以配置为执行定制逻辑功能。与互连资源相关联的可编程互连可以被认为是可编程逻辑48的一部分。可编程逻辑48可以包括具有不同可编程性层的多种不同类型的可编程逻辑48。例如,可编程逻辑48可以包括各种数学逻辑单元,例如算术逻辑单元(ALU)或可配置逻辑块(CLB),其可以配置为执行各种数学函数(例如,加法、乘法等)。
可编程逻辑器件(例如集成电路器件12)可以包含可编程元件50,例如在编程期间加载有配置数据的配置随机存取存储器(CRAM)单元、以及能够将配置数据或用户数据存储在可编程逻辑48内的查找表随机存取存储器(LUTRAM)单元。例如,设计者(例如,客户)可以(重新)编程(例如,(重新)配置)可编程逻辑48以执行一个或多个期望的功能。举例来说,一些可编程逻辑器件可以通过使用掩模编程布置配置可编程元件50来进行编程或重新编程,这是在半导体制造期间执行的。其他可编程逻辑器件是在半导体制造操作已经完成之后进行配置的,例如通过使用电编程或激光编程来对可编程元件进行编程。通常,可编程元件50可以基于任何合适的可编程技术,例如熔丝、反熔丝、电可编程只读存储器技术、随机存取存储器单元、掩模编程元件等。
许多可编程逻辑器件是电编程的。利用电编程布置,可编程元件50可以由一个或多个存储器单元形成。例如,在编程期间,使用输入/输出引脚44和输入/输出电路42将配置数据加载到存储器单元中。在一个实施例中,存储器单元可以实现为随机存取存储器(RAM)单元。此处所描述的基于RAM技术的存储器单元的使用旨在仅是一个示例。这些存储器单元可以各自提供相应的静态控制输出信号,该信号控制可编程逻辑48中相关逻辑组件的状态。例如,在一些实施例中,输出信号可以施加到可编程逻辑48内的金属氧化物半导体(MOS)晶体管的栅极。
基于锁存器的时钟门控技术可以利用锁存器来保持使能信号,该使能信号以时钟的活动(例如,使能)边开始并以时钟的非活动(例如,禁用)边结束。锁存器输出控制信号,该控制信号控制门控时钟信号的生成。图3是根据本公开的实施例的能够接收时钟信号102并输出门控时钟信号104的时钟门控电路100的示例实施例的框图。时钟门控电路100可以包括任何数量的组件,例如门控信号电路106和门控时钟生成电路108。门控信号电路106可以接收使能信号110和测试使能信号112,并且可以基于使能信号110和测试使能信号112生成门控信号114。在某些实施例中,门控信号电路106可以包括任何数量的电路组件,例如,或门(OR gate)和/或异或(例如,XOR)门。或门可以在第一输入端子处接收使能信号110并且在第二输入端子处接收测试使能信号112。因此,当使能信号110和/或测试使能信号112为高时,门控信号114可以为高。门控时钟生成电路108可以包括锁存器116,该锁存器在数据端子处接收门控信号114并且在时钟端子处接收时钟信号102。锁存器116可以输出控制门控时钟信号104的生成的控制信号118。门控时钟生成电路108还可以包括逻辑门,例如与门(AND gate)120。与门120可以在第一输入端子处接收控制信号118,在第二输入端子处接收时钟信号102。这样,与门120可以基于时钟信号102和控制信号118的与运算来输出门控时钟信号104。
在时钟门控电路100的操作期间,时钟信号102在第一时间处可能为低(例如,0伏)。这样,与门120可以接收时钟信号102,并且由于与门120的输入端子之一接收低信号而将门控时钟信号104输出为低。当时钟信号102变低(例如,0伏)时,锁存器116锁存门控信号114的状态作为控制信号118。锁存器116保持控制信号118的状态直到时钟信号102再次变低。当控制信号118为高时,与门120可以从时钟信号102和控制信号118两者接收高信号。因此,当控制信号118有效时,与门120可以输出门控时钟信号104,该门控时钟信号104是时钟信号102的副本。当控制信号118为低时,与门120可以使门控时钟信号104无效,而不管时钟信号102的状态如何。换句话说,控制信号116对时钟信号102进行门控。
然而,基于锁存器的时钟门控技术可能使用集成电路器件12上相对较大的空间来实现锁存器电路。此外,这种技术可能会从时钟信号通过锁存器电路的传播中引入时序延迟。图4是根据本公开的实施例的能够生成门控时钟信号104的时钟门控电路100的示例实施例的示意图。图4的时钟门控电路100可以不依赖锁存器。即,图4的时钟门控电路100可以不包括显式锁存器(例如,锁存器116)。时钟门控电路100可以包括门控信号电路106、诸如反相器的逻辑门130、和门控时钟生成电路108。
门控信号电路106可以接收使能信号110、测试使能信号112和时钟信号102作为输入并且可以生成门控信号114。如图所示,门控信号电路106可以包括任何数量的电路组件,例如反相器132、P沟道金属氧化物半导体(PMOS)晶体管134、136和138以及N沟道金属氧化物半导体(NMOS)晶体管140、142和144。反相器132可以在输入端子处接收时钟信号102,并将反相时钟信号输出到PMOS晶体管134的栅极端子和NMOS晶体管144的栅极端子。PMOS晶体管134的源极端子和PMOS晶体管136的源极端子可以连接到电源146。PMOS晶体管134的漏极端子、PMOS晶体管138的漏极端子、NMOS晶体管140的漏极端子和NMOS晶体管142的漏极端子可以耦合到逻辑门130的输入端子。PMOS晶体管136的栅极端子和NMOS晶体管140的栅极端子可以耦合到测试使能信号112。PMOS晶体管136的漏极端子可以耦合到PMOS晶体管138的源极端子。PMOS晶体管138的栅极端子和NMOS晶体管142的栅极端子可以连接到使能信号110。NMOS晶体管140的源极端子和NMOS晶体管142的源极端子可以耦合到NMOS晶体管144的漏极端子。NMOS晶体管144的源极端子可以耦合到地148(例如,0伏)。在某些实施例中,门控信号电路106可以包括附加组件,例如逻辑门130。另外或替代地,门控信号电路106可以对应于或门和/或异或门。也就是说,门控信号电路106可以基于使能信号110、测试使能信号112和/或时钟信号102而用作或门或异或门。虽然图4所示的逻辑门130包括反相器,但是可以在时钟门控电路100中利用任何数量的逻辑门130和/或任何类型的逻辑门130。因此,图4所示的实施例旨在是说明性而非限制性的。
逻辑门130的输入端子可以从门控信号电路106接收门控信号114,并且逻辑门130可以为门控时钟产生电路108生成控制信号118。控制信号118可以控制门控时钟生成电路108的操作。门控时钟生成电路108可以生成门控时钟信号104。在某些实施例中,门控时钟生成电路108可以是不依赖锁存器的。门控时钟生成电路108可以包括任何数量的电路组件,例如PMOS晶体管154、156和158、NMOS晶体管160、162、164和反相器166、168。门控时钟生成电路108可以接收控制信号118和时钟信号102。PMOS晶体管154的栅极端子和NMOS晶体管160的栅极端子可以连接到时钟信号102。PMOS晶体管154的源极端子和PMOS晶体管156的源极端子可以连接到电源146。PMOS晶体管154的漏极端子、PMOS晶体管158的漏极端子和NMOS晶体管160的漏极端子可以耦合到反相器166的输入端子和反相器168的输入端子。PMOS晶体管156的栅极端子和NMOS晶体管164的栅极端子可以耦合到反相器166的输出端。PMOS晶体管156的漏极端子可以耦合到PMOS晶体管158的源极端子。PMOS晶体管158的栅极端子和NMOS晶体管162的栅极端子可以连接到控制信号118。NMOS晶体管160的源极端子可以耦合到NMOS晶体管162的漏极端子和NMOS晶体管164的漏极端子。NMOS晶体管162的源极端子和NMOS晶体管164的源极端子可以耦合到地148。
门控时钟信号104可以用于启用和/或禁用集成电路器件12上的触发器。因此,门控时钟信号104可以通过防止触发器在不使用时切换状态从而利用功率,来降低集成电路器件12的动态功耗。触发器可以是自门控的。即,触发器的相应输入信号可以用于确定何时启用和/或禁用集成电路器件12上的触发器。考虑上述,图5是包括生成门控时钟信号104的时钟门控电路100的另一个示例实施例的自门控触发器电路180的框图。自门控触发器电路180可以包括时钟门控电路100和触发器182。时钟门控电路100可以输出门控时钟信号104以控制触发器182的操作。触发器182可以在输入端接收触发器输入信号184并且可以输出触发器输出信号186。门控信号电路106可以接收时钟信号102、触发器输入信号184和触发器输出信号186并且可以生成门控信号114。逻辑门130可以接收门控信号114并且可以生成控制信号118作为输出。门控时钟生成电路108可以接收控制信号118和时钟信号102。因此,门控时钟生成电路108可以输出门控时钟信号104以控制触发器182的操作。触发器182可以在时钟端子处接收门控时钟信号104,并且门控时钟信号104可以在门控时钟信号104由于控制信号118无效而被门控/抑制时禁用触发器182(例如,防止触发器182切换状态),并且门控时钟信号104可以在门控时钟信号104由于控制信号118有效而自由切换时使触发器182切换。
考虑到上述情况,图6是根据本公开的实施例的可以生成门控时钟信号104的图5的时钟门控电路100的示例实施例的示意图。图6的时钟门控电路100可以不依赖锁存器。时钟门控电路100可以包括门控信号电路106、逻辑门130和门控时钟生成电路108。图6的时钟门控电路100可用在自门控触发器电路180中。例如,时钟门控电路100可以用于基于触发器输入信号184和/或触发器输出信号186,来控制何时启用和/或禁用触发器182的切换。
如图所示,门控信号电路106可以包括任何数量的电路组件,例如反相器190、192和194,PMOS晶体管196、198、200、202和204,以及NMOS晶体管206、208、210、212和214。反相器190的输入端子、PMOS晶体管198的栅极端子和NMOS晶体管212的栅极端子可以连接到触发器输出信号186。反相器190的输出可以耦合到PMOS晶体管200的栅极端子和NMOS晶体管210的栅极端子。反相器192的输入端子可以连接到时钟信号102。反相器192的输出端子可以耦合到PMOS晶体管196的栅极端子和NMOS晶体管214的栅极端子。反相器194的输入端子、PMOS晶体管202的栅极端子和NMOS晶体管206的栅极端子可以连接到触发器输入信号184。反相器194的输出端可以耦合到PMOS晶体管204的栅极端子和NMOS晶体管208的栅极端子。PMOS晶体管196的漏极端子、PMOS晶体管198的漏极端子和PMOS晶体管200的漏极端子可以连接到电源146。PMOS晶体管196的源极端子、PMOS晶体管202的源极端子、PMOS晶体管204的源极端子、NMOS晶体管206的漏极端子和NMOS晶体管208的漏极端子可以耦合到逻辑门130的输入端子。PMOS晶体管198的源极端子可以耦合到PMOS晶体管202的漏极端子。PMOS晶体管200的源极端子可以耦合到PMOS晶体管204的漏极端子。NMOS晶体管206的源极端子可以耦合到NMOS晶体管210的漏极端子。NMOS晶体管208的源极端子可以耦合到NMOS晶体管212的漏极端子。NMOS晶体管210的源极端子和NMOS晶体管212的源极端子可以耦合到NMOS晶体管214的漏极端子。NMOS晶体管214的源极端子可以耦合到地148。另外或替代地,门控信号电路106可以对应于或门和/或异或门。也就是说,门控信号电路106可以基于触发器输入信号184、触发器输出信号186和/或时钟信号102用作或门或异或门。虽然图6所示的逻辑门130包括反相器,但是任何数量的逻辑门130和/或任何类型的逻辑门130可以用在时钟门控电路100中。因此,图6所示的实施例旨在是说明性而非限制性的。
门控时钟生成电路108可以基于时钟信号102和控制信号118来生成门控时钟信号104。在某些实施例中,门控时钟生成电路108可以是不依赖锁存器的。门控时钟生成电路108可以包括任意数量的电路组件,例如PMOS晶体管216、218和220、NMOS晶体管222、224和226以及反相器228。PMOS晶体管216的栅极端子和NMOS晶体管222的栅极端子可以连接到时钟信号102。PMOS晶体管216的漏极端子和PMOS晶体管218的漏极端子可以连接到电源146。PMOS晶体管216的源极端子、PMOS晶体管220的源极端子和NMOS晶体管222的漏极端子可以耦合到反相器228的输入端子。PMOS晶体管218的栅极端子和NMOS晶体管226的栅极端子可以耦合到反相器228的输出(例如,门控时钟信号104)。PMOS晶体管218的源极端子可以耦合到PMOS晶体管220的漏极端子。PMOS晶体管220的栅极端子和NMOS传输晶体管224的栅极端子可以连接到逻辑门130的输出(例如,控制信号118)。NMOS晶体管222的源极端子可以耦合到NMOS晶体管224的漏极端子和NMOS晶体管226的漏极端子。NMOS晶体管224的源极端子和NMOS晶体管226的源极端子可以耦合到地148。
在某些实施例中,门控时钟信号104可以用于启用和/或禁用集成电路器件12上任何数量的触发器的切换。因此,门控时钟信号104可以通过防止触发器在不使用时切换状态并由此利用功率来降低集成电路器件12的的动态功耗。考虑到上述情况,图7是自门控触发器电路180的另一实施例的框图。自门控触发器电路180可以包括时钟门控电路100、第一触发器182A和第二触发器182B。时钟门控电路100可以输出门控时钟信号104以控制触发器182A、182B的操作。在一些实施例中,时钟门控电路100可以包括第一门控信号电路106A、门控时钟生成电路108和逻辑门230。另外或替代地,时钟门控电路100可以包括第二门控信号电路106B。第一触发器182A可以在输入端子处接收第一触发器输入信号184A,并且可以输出第一触发器输出信号186A。第一门控信号电路106A可以接收时钟信号102、第一触发器输入信号184A和第一触发器输出信号186A,并且可以生成第一门控信号114A。第二触发器182B可以在输入端子处接收第二触发器输入信号184B,并且可以输出第二触发器输出信号186B。第二门控信号电路106B可以接收时钟信号102、第二触发器输入信号184B和第二触发器输出信号186B,并且可以生成第二门控信号114B。
逻辑门230可以接收第一门控信号114A和第二门控信号114B,并且可以生成控制信号118作为输出。在某些实施例中,逻辑门230可以包括与非门(NAND gate)。因此,与非门可以仅在第一门控信号114A和第二门控信号114B都为高时生成低的控制信号118。否则,与非门生成高的控制信号118,使门控时钟信号104能够自由运行。门控时钟生成电路108可以接收控制信号118和时钟信号102。因此,门控时钟生成电路108可以输出门控时钟信号104以控制触发器182A、182B的操作。触发器182A、182B可以在对应的时钟端子处接收门控时钟信号104,并且门控时钟信号104可以在门控时钟信号104为低时禁用触发器182A、182B,并且可以在门控时钟信号104为高时启用触发器182A、182B。虽然图7中的自门控触发器电路180的实施例包括两个触发器,但任何数量的触发器(例如,2、4、8、16、32等等)都可以与时钟门控电路100一起使用。因此,图7所示的实施例旨在是说明性而非限制性的。附加地或替代地,门控信号电路106A、106B可以对应于或门和/或异或门。也就是说,门控信号电路106A、106B可以基于触发器输入信号184A、184B、触发器输出信号186A、186B和/或时钟信号102而用作或门或异或门。虽然图7所示的逻辑门230包括与非门,但任何数量的逻辑门230和/或任何类型的逻辑门230可以用在时钟门控电路100中。因此,图7所示的实施例旨在是说明性而非限制性的。
考虑到上述情况,图8是根据本公开的实施例的图4的时钟门控电路100的时序图240。如图所示,使能信号110的上升沿242生成门控信号114的下降沿244。例如,门控信号电路106可以接收使能信号110的上升沿242并输出门控信号114的下降沿244。门控信号114的下降沿244在通过图4的反相器130之后生成控制信号118的相应上升沿。因此,时钟信号102和控制信号118为高,并且生成门控时钟信号104的上升沿246。例如,门控时钟生成电路108可以接收时钟信号102和控制信号118并且生成门控时钟信号104的上升沿246。使能信号110的下降沿248可以由图4的门控信号电路106接收。门控信号电路106可以输出门控信号114的对应上升沿250。因此,反相器130可以输出控制信号118的下降沿并且门控时钟生成电路108可以接收控制信号118的下降沿。因此,门控时钟生成电路108可以输出门控时钟信号104的下降沿252。附加地或替代地,下降沿252可以归因于时钟102的下降沿(在通过门控电路的一些传播延迟之后)。
图9是根据本公开的实施例的图6的时钟门控电路100的时序图260。如图所示,触发器输入信号184的上升沿262生成门控信号114的下降沿264。例如,门控信号电路106可以接收触发器输入信号184的上升沿262并输出门控信号114的下降沿264。门控信号114的下降沿264在经过图6的反相器130之后生成控制信号118的对应上升沿。因此,时钟信号102和控制信号118为高,并且生成门控时钟信号104的上升沿266。例如,门控时钟生成电路108可以接收时钟信号102和控制信号118,并且生成门控时钟信号104的上升沿266。触发器输入信号184的下降沿268可以由门控信号电路106接收。门控信号电路106可以输出门控信号114的对应上升沿270。因此,反相器130可以输出控制信号118的下降沿并且门控时钟产生电路108可以接收控制信号118的下降沿。因此,门控时钟生成电路108可以输出门控时钟信号104的下降沿272。另外或替代地,下降沿272可以归因于时钟102的下降沿(在通过门控电路的一些传播延迟之后)。
集成电路器件12可以是数据处理系统或包括在数据处理系统中的组件。例如,集成电路器件12可以是图10所示的数据处理系统280的组件。数据处理系统280可以包括主机处理器282(例如中央处理单元(CPU))、存储器和/或存储电路284以及网络接口286。数据处理系统280可以包括更多或更少组件(例如,电子显示器、用户接口结构、专用集成电路(ASIC))。主机处理器282可以包括任何合适的处理器,例如可以管理数据处理系统280的处理请求(例如,执行调试、数据分析、加密、解密、机器学习、视频处理、语音识别、图像识别、数据压缩、数据库搜索排名、生物信息学、网络安全模式识别、空间导航等)的
Figure BDA0003956585670000141
Figure BDA0003956585670000142
处理器或精简指令处理器(例如,精简指令集计算机(RISC)、高级RISC机器(ARM)处理器)。存储器和/或存储电路284可以包括随机存取存储器(RAM)、只读存储器(ROM)、一个或多个硬盘驱动器、闪存等。存储器和/或存储电路284可以保存要由数据处理系统280处理的数据。在一些情况下,存储器和/或存储电路284还可以存储用于对集成电路器件12进行编程的配置程序(比特流)。网络接口286可以允许数据处理系统280与其他电子设备通信。数据处理系统280可以包括几个不同的封装或者可以包含在单个封装衬底上的单个封装内。
在一个示例中,数据处理系统280可以是处理各种不同请求的数据中心的一部分。例如,数据处理系统280可以通过网络接口286接收数据处理请求以执行加速、调试、错误检测、数据分析、加密、解密、机器学习、视频处理、语音识别、图像识别、数据压缩、数据库搜索排名、生物信息学、网络安全模式识别、空间导航、数字信号处理或其他一些专门任务。
尽管在本公开中阐述的实施例可能容易受到各种修改和替代形式的影响,但是特定实施例已经在附图中通过示例的方式示出并且已经在本文中进行了详细描述。例如,可以实现本文描述的实施例和/或技术的任何合适的组合。因此,应当理解,本公开不旨在限于所公开的特定形式。本公开将涵盖落入由所附权利要求限定的本公开的精神和范围内的所有修改、等同物和替代方案。
本公开的技术效果包括提供门控时钟信号生成的系统和方法,该门控时钟信号生成不依赖锁存器以减少可编程逻辑器件上的时序和区域开销。本文所描述的技术可以通过提高功率效率来有益于可编程逻辑器件(例如现场可编程门阵列和/或其他可配置器件)的操作。
本文提出和要求保护的技术被引用并应用于物质对象和实际性质的具体示例,它们明显改进了本技术领域,因此不是抽象的、无形的或纯理论的。此外,如果本说明书末尾所附的任何权利要求包含一个或多个被指定为“[执行][功能]…的装置”或“[执行][功能]…的步骤”的元素,则此类要素旨在根据35U.S.C.112(f)进行解释。然而,对于包含以任何其他方式指定的元素的任何权利要求,这些元素旨在不根据35U.S.C.112(f)进行解释。

Claims (20)

1.一种具有时钟门控电路以生成门控时钟信号的可编程逻辑器件,所述可编程逻辑器件包括:
时钟门控电路,所述时钟门控电路接收时钟信号,其中,所述时钟门控电路不依赖锁存器并且包括:
门控信号电路,所述门控信号电路基于所述时钟信号和使能信号生成门控信号;
逻辑门,所述逻辑门基于所述门控信号生成控制信号;以及
门控时钟生成电路,所述门控时钟生成电路基于所述时钟信号和所述控制信号生成门控时钟信号。
2.根据权利要求1所述的可编程逻辑器件,其中,所述门控时钟生成电路包括多个晶体管。
3.根据权利要求2所述的可编程逻辑器件,其中,所述多个晶体管包括至少一个N沟道金属氧化物半导体(NMOS)晶体管和至少一个P沟道金属氧化物半导体(PMOS)晶体管。
4.根据权利要求3所述的可编程逻辑器件,其中,所述至少一个NMOS晶体管的栅极端子和所述至少一个PMOS晶体管的栅极端子耦合到所述时钟信号。
5.根据权利要求3所述的可编程逻辑器件,其中,所述至少一个NMOS晶体管的栅极端子和所述至少一个PMOS晶体管的栅极端子耦合到所述控制信号。
6.根据权利要求1所述的可编程逻辑器件,其中,所述门控信号电路包括N沟道金属氧化物半导体(NMOS)晶体管、P沟道金属氧化物半导体(PMOS)晶体管和反相器。
7.根据权利要求6所述的可编程逻辑器件,其中,所述反相器的输入耦合到所述时钟信号,并且所述NMOS晶体管的栅极端子和所述PMOS晶体管的栅极端子耦合到所述反相器的输出。
8.根据权利要求6所述的可编程逻辑器件,其中,所述NMOS晶体管的栅极端子和所述PMOS晶体管的栅极端子耦合到所述使能信号。
9.根据权利要求1至8中任一项所述的可编程逻辑器件,其中,所述逻辑门是反相器。
10.根据权利要求1至8中任一项所述的可编程逻辑器件,其中,所述可编程逻辑器件包括现场可编程门阵列(FPGA)。
11.一种具有时钟门控电路以生成门控时钟信号的现场可编程门阵列(FPGA),所述FPGA包括:
触发器,所述触发器基于输入信号和门控时钟信号生成输出信号;
时钟门控电路,所述时钟门控电路接收时钟信号并对所述时钟信号进行门控以施加到所述触发器,其中,所述时钟门控电路包括:
门控信号电路,所述门控信号电路基于所述时钟信号、所述输入信号和所述输出信号生成门控信号;
逻辑门,所述逻辑门基于所述门控信号生成控制信号;以及
门控时钟生成电路,所述门控时钟生成电路基于所述时钟信号和所述控制信号生成所述门控时钟信号。
12.根据权利要求11所述的FPGA,其中,所述门控时钟生成电路包括N沟道金属氧化物半导体(NMOS)晶体管和P沟道金属氧化物半导体(PMOS)晶体管。
13.根据权利要求12所述的FPGA,其中,所述NMOS晶体管的栅极端子和所述PMOS晶体管的栅极端子耦合到所述时钟信号。
14.根据权利要求12所述的FPGA,其中,所述NMOS晶体管的栅极端子和所述PMOS晶体管的栅极端子耦合到所述控制信号。
15.根据权利要求11至14中任一项所述的FPGA,其中,所述门控信号电路包括多个晶体管,所述多个晶体管包括至少一个N沟道金属氧化物半导体(NMOS)晶体管和至少一个P沟道金属氧化物半导体(PMOS)晶体管。
16.根据权利要求15所述的FPGA,其中,所述至少一个NMOS晶体管的栅极端子和所述至少一个PMOS晶体管的栅极端子耦合到所述输入信号。
17.根据权利要求15所述的FPGA,其中,所述至少一个NMOS晶体管的栅极端子和所述至少一个PMOS晶体管的栅极端子耦合到所述输出信号。
18.一种具有生成门控时钟信号的时钟门控电路的可编程逻辑电路,所述可编程逻辑电路包括:
多个触发器,所述多个触发器生成多个输出信号并接收多个输入信号,其中,所述多个触发器中的触发器基于门控时钟信号和所述多个输入信号中的相应输入信号生成所述多个输出信号中的相应输出信号;
时钟门控电路,所述时钟门控电路接收时钟信号,其中,所述时钟门控电路包括:
多个门控信号电路,所述多个门控信号电路生成多个门控信号,其中,所述门控信号电路基于所述时钟信号、对应的输入信号和对应的输出信号生成所述多个门控信号中的对应门控信号;
逻辑门,所述逻辑门基于所述多个门控信号生成控制信号;以及
门控时钟生成电路,所述门控时钟生成电路基于所述时钟信号和所述控制信号生成所述门控时钟信号。
19.根据权利要求18所述的可编程逻辑电路,其中,所述门控时钟生成电路是不依赖锁存器的。
20.根据权利要求18或19所述的可编程逻辑电路,其中,所述逻辑门是与非门。
CN202211473729.1A 2021-12-22 2022-11-22 用于动态功率降低的自门控触发器 Pending CN116388748A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/559,350 US20220116038A1 (en) 2021-12-22 2021-12-22 Self-Gating Flops for Dynamic Power Reduction
US17/559,350 2021-12-22

Publications (1)

Publication Number Publication Date
CN116388748A true CN116388748A (zh) 2023-07-04

Family

ID=81078188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211473729.1A Pending CN116388748A (zh) 2021-12-22 2022-11-22 用于动态功率降低的自门控触发器

Country Status (2)

Country Link
US (1) US20220116038A1 (zh)
CN (1) CN116388748A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117254791A (zh) * 2023-09-12 2023-12-19 广州市粤港澳大湾区前沿创新技术研究院 一种时钟门控实现方法及门控时钟电路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117254791A (zh) * 2023-09-12 2023-12-19 广州市粤港澳大湾区前沿创新技术研究院 一种时钟门控实现方法及门控时钟电路

Also Published As

Publication number Publication date
US20220116038A1 (en) 2022-04-14

Similar Documents

Publication Publication Date Title
CN105703765B (zh) 基于dram的可重构装置
US5670897A (en) High speed mask register for a configurable cellular array
US9047474B1 (en) Circuits for and methods of providing isolation in an integrated circuit
US9685957B2 (en) System reset controller replacing individual asynchronous resets
US10340920B1 (en) High performance FPGA addition
US9100012B1 (en) Adaptable programs using partial reconfiguration
Lin et al. Hardware design of low-power high-throughput sorting unit
US8099692B1 (en) Power-driven timing analysis and placement for programmable logic
US9166597B1 (en) Integrated circuit processing via offload processor
CN116388748A (zh) 用于动态功率降低的自门控触发器
CN108988837B (zh) 用于集成电路中的泄漏电流减少的设备及方法
CN116346124A (zh) 用于可编程逻辑器件的低功率模式的系统和方法
KR101691568B1 (ko) 플립-플롭 회로
CN107403025B (zh) 使用深亚微米应力效应和邻近效应来产生高性能标准单元
EP4020303A1 (en) Non-destructive readback and writeback for integrated circuit device
US6742172B2 (en) Mask-programmable logic devices with programmable gate array sites
US9948307B2 (en) Supporting pseudo open drain input/output standards in a programmable logic device
US20220334609A1 (en) Heterogeneous Timing Closure For Clock-Skew Scheduling or Time Borrowing
US20240243740A1 (en) Higher-Voltage-Protected Transmission Gate to Prevent Unbalanced Aging Stress on Differential Receiver Input
US20230027064A1 (en) Power Savings by Register Insertion in Large Combinational Circuits
US20240152357A1 (en) Programmable Logic Device-Based Software-Defined Vector Engines
US20220113694A1 (en) Systems and methods to reduce voltage guardband
US7398487B1 (en) Programmable logic device-structured application specific integrated circuit
US11016733B2 (en) Continuous carry-chain packing
US7724029B1 (en) Power management for integrated circuits such as programmable logic devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication