具有减少的建立时间的节能型触发器的制作方法

文档序号:18482116发布日期:2019-08-20 23:51阅读:195来源:国知局
具有减少的建立时间的节能型触发器的制作方法

本发明一般而言涉及集成电路,并且更具体地,涉及用于实现集成电路内的储存元件的技术。



背景技术:

处理器,以及其他类型的集成电路,通常包括由装配在半导体基板上的互连的晶体管构成的若干逻辑电路。这样的逻辑电路可以根据若干不同的电路设计风格而构成。例如,组合逻辑可以经由一些位于钟控状态元件(诸如触发器或者锁存器)之间的非钟控静态互补金属氧化物半导体(CMOS)门实现。可替代地,依赖于设计要求,一些组合逻辑功能可以使用诸如多米诺逻辑门的钟控动态逻辑实现。

通用数据存储通常采用的触发器或者锁存器以及它们储存数据的能力使得时序逻辑设计和状态逻辑设计是可能的。例如,可以使用锁存器和触发器来实现计数器或者其他状态机。此外,锁存器和触发器可以用于数据通路设计(诸如例如,加法器或者乘法器),或者用于存储器类型结构(诸如例如,寄存器或者寄存器文件(register file))的实现。

锁存器可以对时钟信号的电平敏感,而触发器可以响应于时钟信号的沿。例如,触发器可以根据各种设计风格(诸如例如D类型、设置-重设置、JK或者开关)而设计。具有不同特点(诸如例如,数据建立时间和时钟到输出时间)的不同风格的触发器可以用在数字逻辑设计中以满足设计目标。



技术实现要素:

公开了触发器电路的各种实施例。广泛地说,构想了一种电路和方法,其中,输入电路依赖于接收的输入数据生成互补数据。内部时钟可以随后依赖于接收的时钟和生成的互补数据而被生成。响应于生成的内部时钟,反馈电路可以维持互补数据的数据状态的状态。输出电路可以被配置成响应于接收的时钟储存互补数据。

在一种实施例中,内部时钟可以包括第一内部时钟和第二内部时钟。输入电路可以包括上拉网络和下拉网络。上拉网络可以由第二内部时钟使能。第一内部时钟可以使能下拉网络。

在进一步的实施例中,反馈电路可以包括上拉器件和下拉器件。上拉器件可以由第一内部时钟使能,第二内部时钟可以使能下拉器件。

附图说明

下面的详细描述参考现在简述的附图。

图1图示出集成电路的实施例。

图2图示出可以包括一个或更多个触发器的处理器的实施例。

图3图示出可以包括一个或更多个触发器的逻辑通路的实施例。

图4图示出触发器的实施例。

图5图示出可控反相器的实施例。

图6图示出用于触发器操作的可能波形的实施例。

图7图示出用于操作触发器的示例方法的流程图。

尽管本公开容易具有各种修改和替代形式,但是其具体实施例在附图中通过示例的方式示出并且将在本文详细描述。然而,应当理解的是,附图和对其的详细描述不是旨在将本公开限制到图示的具体形式,而是相反,旨在涵盖落入由所附权利要求书限定的本公开的精神和范围内的所有修改、等同和替代。本文使用的标题仅出于组织的目的并且不是意在用以限制描述的范围。如本申请通篇使用的,词“可以”以允许的含义使用(即,意思是具有潜力),而不是以强制的含义使用(即,意思是必须)。同样地,词“包括”(“include”、“including”和“includes”)意思是包括,但不限制于此。

各种单元、电路或者其他部件可以被描述为“配置成”执行一个或多个任务。在这样的语境中,“配置成”是结构的宽泛叙述,通常意思是“具有”在运行期间执行这一个或多个任务的“电路系统”。这样,单元/电路/部件能够被配置成执行任务,即便单元/电路/部件当前不开启。通常,形成对应于“配置成”的结构的电路系统可以包括硬件电路。同样地,为了描述的方便,各种单元/电路/部件可以描述为执行一个任务或多个任务。这样的描述应该被解释为包括短语“配置成”。叙述被配置成执行一个或更多个任务的单元/电路/部件是明确地旨在不对那个单元/电路/部件援引35U.S.C 112第6段的解释。更一般地,任意元件的叙述都是明确地旨在不对那个元件援引35U.S.C 112第6段的解释,除非明确地记载语言“用于…的手段”(means for)或者“用于…的步骤”。

具体实施方式

集成电路可以包括可以采用锁存器或者触发器来储存数据或状态信息的一个或更多个功能块,诸如例如微控制器或者处理器。处理器的整体性能可以依赖于在设计中采用的触发器的具体实现。在一些处理器实现中,可以采用动态触发器来改善某些性能参数,诸如例如,数据建立时间。然而,在其他处理器实现中,功率要求或者噪声要求可能限制动态触发器的使用。当实现一些数字电路时,数字电路设计者必须经常用一个性能度量换取另一个以达到设计目标。在附图中图示并在下面描述的实施例可以提供用于减少触发器功率消耗和数据建立时间的技术。

片上系统概述

在图1中图示出集成电路的框图。在图示的实施例中,集成电路100包括处理器101,其通过内部总线105耦合到存储器块102和模拟/混合信号块103以及I/O块104。在各种实施例中,集成电路100可以被配置为用在桌面计算机、服务器或者移动计算应用(诸如例如,平板电脑或者膝上型计算机)中。

如下面更详细描述的,在各种实施例中,处理器101可以代表执行计算操作的通用处理器。例如,处理器101可以是中央处理单元(CPU),诸如微处理器、微控制器、专用集成电路(ASIC)或者现场可编程门阵列(FPGA)。在一些实施例中,处理设备101可以包括一个或更多个触发器106,触发器可以被配置成协助处理器101内各种功能(诸如例如,流水线)的执行。

存储器块102可以包括任何合适类型的存储器,诸如例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM),只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或闪存存储器。需要注意的是,在图1中图示的集成电路的实施例中,描述了单个存储器块。在其他实施例中,可以采用任意合适数量的存储器块。

模拟/混合信号块103可以包括多种电路,包括例如,晶体振荡器、锁相环(PLL),模拟数字转换器(ADC)和数字模拟转换器(DAC)(均未示出)。在其他实施例中,模拟/混合信号块103可以被配置成包含片上电源和稳压器来执行功率管理任务。在一些实施例中,模拟/混合信号块103还可以包括可以被配置用于与无线网络操作的射频(RF)电路。

I/O块104可以被配置成在集成电路100与一个或更多个外围设备之间协调数据传输。这样的外围设备可以包括但不限于储存设备(例如,基于磁介质或光介质的储存设备,包括硬驱、磁带驱动器、CD驱动器、DVD驱动器等)、音频处理子系统或任意其他合适类型的外围设备。在一些实施例中,I/O块104可以被配置成实现通用串行总线(USB)协议或者IEEE 1394协议的版本。

I/O块104还可以被配置成协调集成电路100与经由网络耦合到集成电路100的一个或更多个设备(例如,其他计算机系统或者集成电路)之间的数据传输。在一种实施例中,I/O块104可以被配置成执行实现以太网(IEEE 802.3)联网标准(诸如例如,千兆以太网或万兆以太网)所需要的数据处理,但是可以构想到,可以实现任意合适的联网标准。在一些实施例中,I/O块104可以被配置成实现多个离散网络接口端口。

处理器概述

现在转到图2,示出处理器200的实施例的框图。在一些实施例中,处理器200可以对应于如图1中图示的SoC 100的处理器101。在图示的实施例中,处理器200包括提取控制单元201、指令缓存202、解码单元204、映射器209、调度器206、寄存器文件207、执行核心208和接口单元211。提取控制单元201被耦合以提供用于从指令缓存202提取的程序计数器地址(PC)。指令缓存202被耦合以向解码单元204提供指令(与PC一起),该解码单元204被耦合以向映射器205提供解码的指令操作(op,同样与PC一起)。指令缓存202进一步被配置成向提取控制单元201提供命中指示和ICache PC。映射器205被耦合以向调度器206提供op、调度器号(SCH#)、源操作数号(SO#)、一个或更多个依赖性向量和PC。调度器206被耦合以接收来自执行核心208的重放、误预测和异常指示,被耦合以向提取控制单元201和映射器205提供重定向指示和重定向PC,被耦合至寄存器文件207并且被耦合以向执行核心208提供用于执行的op。寄存器文件被耦合以向执行核心208提供操作数,并且被耦合以接收来自执行核心208的将写入寄存器文件207的结果。执行核心208被耦合到接口单元211,接口单元211进一步耦合到处理器200的外部接口。

提取控制单元201可以被配置成生成用于指令缓存202的提取PC。在一些实施例中,提取控制单元202可以包括一种或更多种类型的分支预测器212。例如,提取控制单元202可以包括配置成预测用于间接分支指令的目标地址的间接分支目标预测器,配置成预测条件分支的结果的条件分支目标预测器,和/或任意其他合适类型的分支预测器。在操作期间,提取控制单元201可以基于所选的分支预测器的输出生成提取PC。如果稍后证明预测是错误的,提取控制单元201可以被重定向以从不同地址提取。当生成提取PC时,在非顺序分支目标(即,到非顺序地址的分支或其他重定向,无论是猜测的还是非猜测的)不存在时,提取控制单元201可以生成作为当前PC值的顺序函数的提取PC。例如,依赖于在给定时间从指令缓存202提取多少字节,提取控制单元201可以通过向当前PC值增加已知偏移来生成顺序的提取PC。

指令缓存202可以是用于储存将要被处理器200执行的指令的缓存存储器。指令缓存202可以具有任意容量与构造(例如,直接映射、集合相关,全相关等)。指令缓存202可以具有任意缓存行大小。例如,在一实施例中,可以实现64字节的缓存行。其他实施例可以使用更大的或者更小的缓存行大小。响应于来自提取控制单元201的给定PC,指令缓存202可以输出多至最大数量的指令。可以构想到,处理器200可以实现任意合适的指令集架构(ISA),诸如例如,ARMTM、PowerPCTM或x86ISA,或者它们的组合。

在一些实施例中,处理器200可以实现地址翻译方案,其中,一个或更多个虚拟地址空间被使得对执行软件可见。例如使用一组页表、段或者其他虚拟存储器翻译方案,虚拟地址空间内的存储器存取被翻译到与对系统可用的真实物理存储器对应的物理地址空间。在采用地址翻译的实施例中,指令缓存14可以是使用物理地址比特而不是虚拟地址比特被部分地或者完全地寻址。例如,指令缓存202可以使用虚拟地址比特用于缓存索引并且使用物理地址比特用于缓存标签。

为了在执行缓存存取时避免执行完全存储器翻译的开销,处理器200可以在翻译后备缓冲器(TLB)(诸如指令TLB(ITLB)203)中储存最近的和/或常用的虚拟到物理地址翻译的集合。在操作期间,ITLB 203(其可以实现为缓存、内容可寻址存储器(CAM)或使用任意其他合适的电路结构)可以接收虚拟地址信息并且确定是否存在有效翻译。如果存在,则ITLB 203可以向指令缓存202提供对应的物理地址比特。如果不存在,则ITLB 203可以例如通过提出虚拟存储器异常而使得翻译被确定。

解码单元204通常可以被配置成将指令解码成指令操作(op)。通常,指令操作可以是包括在执行核心208中的硬件有能力执行的操作。每一个指令可以翻译成一个或更多个指令操作,指令操作在被执行时,致使对那个指令定义的操作根据由处理器200实现的指令集架构被执行。在一些实施例中,每一个指令可以解码成单个指令操作。解码单元16可以被配置成识别指令、源操作数等的类型并且解码的指令操作可以包括指令连同解码信息中的一些。在每一个指令翻译成单个op的其他实施例中,每一个op可以简单地是对应的指令或者它的一部分(例如,指令的一个或多个操作码字段)。在其中指令与op之间存在一对一对应关系的一些实施例中,解码单元204和映射器205可以结合和/或解码和映射操作可以在一个时钟周期中发生。在其他实施例中,一些指令可以解码成多个指令操作。在一些实施例中,解码单元204可以包括电路系统和/或微编码的任意组合以便生成用于指令的op。例如,可以在硬件中处理相对简单的op生成(例如,每个指令一个或两个op)而可以在微码器中处理更密集的op生成(例如,每个指令超过三个op)。

由解码单元204生成的op可以提供到映射器205。映射器205可以实现寄存器重命名以将来自op的源寄存器地址映射到标识重命名的源寄存器的源操作数号(SO#)。此外,映射器205可以配置成分配用于储存每一个op的调度器条目,其由SCH#标识。在一个实施例中,SCH#还可以被配置成标识分配给op的目的地的重命名寄存器。在其他实施例中,映射器205可以被配置成分配单独的目的地寄存器号。此外,映射器205可以被配置成生成用于op的依赖性向量。依赖性向量可以标识给定op所依赖的op。在一个实施例中,依赖性由对应的op的SCH#所指示并且依赖性向量比特位置可以对应于SCH#。在其他实施例中,可以基于寄存器号记录依赖性并且依赖性向量比特位置可以对应于寄存器号。

映射器205可以向调度器206提供op,连同每一个op的SCH#、SO#、PC和依赖性向量。调度器206可以被配置成在由相应的SCH#标识的调度器条目中储存op连同SO#和PC。调度器可以被配置成在评估哪些op有资格用于调度的依赖性矩阵中储存依赖性向量。调度器206可以被配置成调度op用于在执行核心208中执行。当op被调度时,调度器206可以被配置成从寄存器文件207中读取op的源操作数,并且源操作数可以被提供给执行核心208。执行核心208可以被配置成向寄存器文件207返回更新寄存器的op结果。在一些情况中,执行核心208可以转发结果,该结果将取代从寄存器文件207中读取的值而被写入寄存器文件207(例如,在对依赖的op的背靠背调度情况中)。

执行核心208还可以被配置成在op执行期间检测可以被报告到调度器的各种事件。分支op可能被误预测并且一些载入/储存op可能被重放(例如,针对数据被写入/读取的基于地址的冲突)。可以检测各种异常(例如,针对存储器存取或者针对在非特权模式中执行特权指令的保护性异常,针对无地址翻译的异常等)。异常可以致使对应的异常处理例程被执行。

执行核心208可以被配置成执行预测的分支op,以及可以接收原来提供给提取控制单元201的预测的目标地址。执行核心208可以被配置成从分支op的操作数计算目标地址,以及比较计算的目标地址与预测的目标地址以检测正确预测或者误预测。执行核心208还可以评估关于分支op做出的任意其他预测,诸如对分支op的方向的预测。如果检测到误预测,执行核心208可以信号通知提取控制单元201应该被重定向到正确的提取目标。其他单元,诸如调度器206、映射器205和解码单元204,可以从推测的指令流中清除在误预测分支之后的或者依赖于误预测分支的未决的op/指令。

执行核心可以包括数据缓存209,该数据缓存可以是用于储存将由处理器200处理的数据的缓存存储器。类似指令缓存202,数据缓存209可以具有任意合适的容量、构造或者行大小(例如,直接映射、集合相关和全相关等)。而且,数据缓存209可以在任意这些细节上与指令缓存202不同。在一些实施例中,与指令缓存202相同,数据缓存26可以使用物理地址比特被部分地或者全部地寻址。对应地,可以提供数据LTB(DLTB)210来缓存虚拟到物理地址翻译,以用于以与以上关于ITLB 203描述的方式相同的方式在存取数据缓存209中使用。需要注意的是,虽然ITLB 203和DTLB 210可以执行相似的功能,但是在各种实施例中他们可以被不同地实现。例如,它们可以储存不同数量的翻译和/或不同的翻译信息。

寄存器文件207通常可以包括可用于储存在处理器200中执行的op的结果和操作数的任意一组寄存器。在一些实施例中,寄存器文件207可以包括物理寄存器的集合,并且映射器205可以被配置成将逻辑寄存器映射到物理寄存器。逻辑寄存器可以包括由处理器200实现的指令集架构指定的架构化寄存器和可以对于临时结果用作op的目的地(以及随后的op的源)的临时寄存器。在其他实施例中,寄存器文件207可以包括包含逻辑寄存器的确认状态(committed state)的架构化寄存器集和包含推测寄存器状态的推测寄存器集。

接口单元211通常可以包括用于将处理器200对接到外部接口上的其他设备的电路系统。外部接口可以包括任意类型的互连(例如,总线,分组等)。如果处理器200是与一个或更多个其他部件集成的(例如,片上系统配置),那么外部接口可以是片上互连。如果处理器200不是与其他部件集成的,那么外部接口可以是到外部电路系统的片外互连。在各种实施例中,处理器200可以实现任意指令集架构。

需要注意的是,在图2中图示出的处理设备的实施例仅仅是示例。在其他实施例中,不同的功能块或功能块配置都是可能的和可以构想到的。

逻辑通路和触发器设计

图3中图示出逻辑通路的部分的示例。在图示的实施例中,触发器301耦合到逻辑门302,该逻辑门又耦合到逻辑门303。逻辑门303耦合到另一个触发器304。图示的实施例还包括记为“CLK”的时钟输入305。一般而言,触发器301和触发器304可以对应于任意合适的状态元件,诸如静态或动态触发器。触发器301和触发器304可以响应于时钟输入305操作以捕获并且储存输入数据。例如,触发器301和触发器304可以是沿触发状态元件。

逻辑门302和逻辑门303可以被配置成实现任意合适类型的组合逻辑功能(例如,AND、OR、NAND、NOR、XOR和XNOR或者任意合适的布尔表达式)。或者逻辑门302或者逻辑门303可以使用静态或者动态逻辑实现。例如,如果使用动态逻辑实现,那么逻辑门302和逻辑门303还可以由时钟输入305钟控,或者它们可以由从时钟输入305衍生的时钟信号(未示出)钟控。需要注意的是,图3中示出的逻辑门的数量和连接性仅仅是图解性示例并且在其他实施例中,可以采用其他数量和配置的门以及状态元件。

图3中图示出的逻辑通路可以对应于大量不同类型的数字逻辑电路中的任一者,并且通常可以包括由状态元件约束的任意系列的门。例如,逻辑通路可以对应于处理设备(诸如以上关于图2描述的处理设备200)内的数据通路的部分。数据通路可以是加法器、移位器、乘法器、除法器、缓冲器、存储器堆以及在指令执行过程期间操作以储存或者操作数据的其他的任意其他类型的电路或者功能单元的部分。逻辑通路还可以对应于处理器内的控制通路,控制通路生成控制处理器内的数据通路或者其他元件的操作的信号。然而,需要注意的是逻辑通路的其他配置是可能的并且可以构想到。

转向图4,其图示出根据若干可能实施例之一的触发器。在一些实施例中,触发器400可以对应于嵌入在处理器101内的触发器106。图示的实施例包括记为“clk”的时钟输入419、记为“D”的数据输入412和记为“Q”的数据输出422。

在图示的实施例中,时钟输入419耦合到时钟缓冲器420,该时钟缓冲器可以被配置成生成记为“clkt”的真时钟413和记为“clkc”的互补时钟411。在一些实施例中,时钟缓冲器418可以包括一个或更多个反相器、非反向缓冲器或者适用于时钟生成的任意其他电路。

输入数据412耦合到输入接收器414的可控反相器401,它的输出耦合到记为“d#”的互补数据414。互补数据414进一步耦合到时钟门控电路系统的NOR门405和NAND门404。NOR门405进一步耦合到互补时钟411并且NAND门404进一步耦合到真时钟413。NOR门405和NAND门404的输出分别耦合到记为“PCLK”的内部时钟417和记为“NCLK”的内部时钟418。尽管在图4中图示出的时钟门控电路的实施例中描绘了NOR门和NAND门,但是在其他实施例中可以采用其他类型和配置的逻辑门。

具有一个或更多个控制输入的反相器(诸如例如,反相器401)在本文中也可以称作“钟控反相器”或者“可控反相器”,但要注意的是,驱动控制输入的信号不需要是时钟信号,而可以是任意类型的控制信号。在图示的实施例中,反相器401的一个控制输入耦合到内部时钟417并且反相器401的另一个控制输入耦合到内部时钟418。以下将参考图5更详细地描述钟控反相器的操作。

上拉器件403耦合到互补数据414并且由内部时钟418控制。下拉器件402也耦合到互补数据414并且由内部时钟417控制。尽管图示为单个器件,但是下拉器件402和上拉器件403可以各自实现为多个串联器件,这多个串联器件具有公共的控制连接以减少器件的跨导。在一些实施例中,下拉器件402可以包括n-沟道金属氧化物半导体场效应晶体管(MOSFET)并且上拉器件403可以包括p-沟道MOSFET。需要注意的是,在各种实施例中,“晶体管”可以对应于一个或更多个跨导元件,诸如例如结型场效应晶体管(JFET)。

互补数据414进一步耦合到输出锁存器416的通过器件(pass-device)406和407。通过器件406和407进一步耦合储存节点421并且分别由互补时钟411和真时钟413控制。以这样的方式配置的通过器件通常被称为“通过门”或者“传输门”。在一些实施例中,通过器件406可以包括p-沟道MOSFET并且通过器件407可以包括n-沟道MOSFET。

输出锁存器416的储存节点421进一步耦合到反相器410的输入、反相器409的输入和可控反相器408的输出。反相器410的输出进一步耦合到数据输出422。反相器409的输出耦合到可控反相器408的输入,该可控反相器408由内部时钟413和内部时钟411控制。反相器409和可控反相器408形成可以允许逻辑状态储存在储存节点412上的反馈通路。尽管图4中图示的输出锁存器416的实施例采用反馈反相器(反相器409和可控反相器408)和通过门(通过器件406和407),但在其他实施例中,可以采用不同的电路元件和逻辑门来实现输出锁存器416。

需要注意的是,静态互补金属氧化物半导体(CMOS)反相器,诸如本文所示和所述的那些,可以是在本文所述的电路中可以采用的反向放大器的具体实施例。然而,在其他实施例中,可以使用能够使信号的逻辑含义反向的任何合适配置的反向放大器,包括使用除CMOS外的技术构建的反向放大器。

在操作期间,如将要参考图6和图7更详细描述的,当输入时钟419为高时(输入时钟419上的高逻辑电平导致时钟缓冲器420将内部时钟413设置到高逻辑电平并且将内部时钟411设置到低逻辑电平),互补数据414上的逻辑电平可以经过通过器件406和407耦合到储存节点412。此外,可控反相器408被禁用,允许之前储存的数据被重写。当新的数据可以被储存在锁存器电路时,锁存器通常被称为处于“透明模式”。储存节点421上逻辑电平储存的逻辑极性可以反向并且通过反相器410输出。

当输入时钟419为高时,内部时钟417和418的状态依赖于互补数据414上的逻辑电平。例如,如果互补数据414上存在高逻辑电平,那么内部时钟418和417可以都被设置到低逻辑电平,从而使能上拉器件403,并且如将在下面参考图5详细描述的,使能可控反相器401的上拉通路。上拉器件403保持互补数据414上的高逻辑电平,并且由于可控反相器401的下拉通路被禁用,所以输入数据412上的高逻辑电平不能改变互补数据414上的逻辑电平。当互补数据414上出现低逻辑电平而输入时钟419为高时,可出现有不同逻辑电平的类似的情形。

当输入时钟419转变到低逻辑电平时,时钟缓冲器420将真时钟413设置到低逻辑电平以及将互补时钟411设置到高逻辑电平。真时钟413和互补时钟411的新的逻辑电平禁用通过器件406和407并且激活可控反相器408,从而允许储存节点421上的逻辑状态被保持。当锁存器正在储存数据时,一般被称为处于“锁存模式”或者是“不透明的”。

响应于输入时钟419转变到低逻辑电平,内部时钟418转变到高逻辑电平,并且内部时钟417转变到低逻辑电平,而不管互补数据414上的逻辑电平如何。内部时钟417和418上的新的逻辑电平禁用上拉器件403和下拉器件402并且使能可控反相器401的上拉通路和下拉通路两者,从而允许输入数据412的反向的逻辑极性耦合到互补数据414。

需要注意的是,“低”或者“低逻辑电平”指的是接地或近地的电压并且“高”或“高逻辑电平”指的是导通n-沟道MOSFET并且截止p-沟道MOSFET的足够大的电压电平。在其他实施例中,对于“低”和“高”,不同技术可以导致不同的电压电平。

尽管触发器400可以使用在如图3图示的逻辑通路内,但是它们也可以用于任意合适的储存应用中。例如,触发器400的一个或更多个可以被布置为实现存储器类型结构,诸如寄存器、寄存器文件、先进先出队列(FIFO)、后进先出队列(LIFO)、缓存或者任意合适的布置。

图5中图示出可控反相器的实施例。图示的实施例包括记为“clk”的时钟输入507、记为“clk#”的互补时钟输入505、记为“in”的数据输入506和记为“out”的数据输出508。在一些实施例中,时钟输入507可以对应于触发器400的内部时钟418,并且互补时钟输入505可以对应于触发器400的内部时钟417。

在图示的实施例中,数据输入506控制上拉器件502和下拉器件503,这两者的每一个耦合到数据输出508。上拉器件502进一步耦合到由互补时钟输入505控制的上拉器件501,形成上拉通路。下拉器件503进一步耦合到由时钟输入507控制的下拉器件504,形成下拉通路。在各种实施例中,上拉器件501和502可以包括p-沟道MOSFET并且下拉器件503和504可以包括n-沟道MOSFET。在一些实施例中,用作上拉器件的p-沟道MOSFET的源极连接可以耦合到电源,以及在一些实施例中,用作下拉器件的n-沟道MOSFET的源极可以耦合到地或者耦合到接地电位处或接地电位附近的电路节点。

需要注意的是,在各种实施例中,上拉通路(在本文也称作上拉网络)可以包括,以串联方式、并联方式或这些方式的组合耦合在电路节点和电源之间的一个或更多个晶体管。还需要注意的是,下拉通路(在本文也称作下拉网络)可以包括以串联方式、并联方式或这些方式的组合耦合在电路节点与地或接地电位处或接地电位附近的电路节点之间的一个或更多个晶体管。

在操作期间,当时钟输入507为高并且互补时钟输入505为低时,下拉器件504和上拉器件501两者都接通,从而允许上拉器件502和下拉器件503用作反向放大器。在这个操作模式中,数据输入506上呈现的数据的逻辑极性在数据输出508上反向。

当时钟输入507为低并且互补时钟输入505为高时,下拉器件505和上拉器件501两者都关断,从而防止任意电流从电源流入或者放电进入地。在这个操作模式中,数据输出508的阻抗为高,在一些实施例中,这可以视为第三逻辑状态以实现三状态(通常称为“三态”)逻辑系统。

在一些实施例中,时钟输入507和互补时钟输入505可以独立操作,允许可控反相器500的或者上拉通路或者下拉通路被激活。例如,时钟输入507和互补时钟输入508两者可以都为低逻辑电平,禁用下拉器件504并且使能上拉器件501。数据输出508不能放电到地因为下拉器件504是禁用的。当输入数据506为低逻辑电平时,数据输出508可以通过上拉器件501和502充电到高逻辑电平。当时数据输入506为高逻辑电平时,数据输出508可以是三态的。

需要注意的是,图5图示的可控反相器的实施例仅仅是示例。在其他实施例中,不同设备和不同的设备配置是可能的和可构想到的。

图6中图示出来自触发器的操作的示例波形。共同参考图4的触发器400和图6的波形,波形开始于时刻t0,输入时钟419在低逻辑电平(波形618),并且数据输出422在低逻辑电平(波形605)。在时刻t1,输入数据412转变到高逻辑电平(波形603),导致互补数据414转换到低逻辑状态(波形604)。

在时刻t2,输入时钟419转换到高逻辑电平,导致真时钟413(波形601)转变到高逻辑电平并且互补时钟(波形602)转变到低逻辑电平。响应于互补时钟411的逻辑电平的改变,内部时钟417(波形607)转换到高逻辑电平。需要注意的是在这个示例中,内部时钟418不因为互补数据414上数据的极性而改变逻辑电平。

在时刻t3,数据输出422(波形605)在时钟输入419转变到高逻辑电平时响应于通过器件406和507变为激活而改变状态。在时钟输入419转换到高逻辑电平后互补数据414上的数据要出现在数据输出422上所需花费的时间(从t2到t3的延迟)通常被称为“clk-to-q”。

在时刻t4,数据输入412(波形603)转变到低电平。然而,这个改变不会导致互补数据414(波形604)的改变,因为内部时钟417(波形607)为高逻辑电平,这可以禁用可控反相器401的上拉通路。

在时刻t5,输入时钟419(波形608)返回到低逻辑电平,导致真时钟413(波形601)转换到低逻辑电平,并且互补时钟411(波形602)转换到高逻辑电平。内部时钟417(波形607)响应于互补时钟411的逻辑电平的变化而返回到低逻辑电平。内部时钟417现在为低逻辑电平,可控反相器401的上拉通路可以随后被使能,允许互补数据414(波形604)转变。

需要注意的是,图6图示的波形仅仅是示例。在其他实施例中,不同激励可以导致不同的波形。

转至图7,流程图描绘用于操作触发器的方法。共同参考图4和图7的流程图,方法初始地依赖于时钟输入413的状态(框701)。在一些实施例中,操作可以依赖于真时钟和互补时钟输入两者。

当输入时钟419为低逻辑电平时,真时钟413可以为低逻辑电平,并且互补时钟411可以为高逻辑电平,从而将输出锁存器416设置到锁存模式(框702)。进一步地,真时钟413和互补时钟411上的前述的逻辑电平可以导致内部时钟417处于低逻辑电平,以及内部时钟418处于高逻辑电平,这可以激活可控反相器401的上拉通路和下拉通路两者(框703)。

当输入时钟419为高逻辑电平时,真时钟413可以为高逻辑电平,并且互补时钟411可以为低逻辑电平,从而将输出锁存器416设置到透明模式(框704)。操作的方法随后依赖于输入数据412的逻辑电平(框705)。

输入数据412上的高逻辑电平结合输入时钟419上的高逻辑电平可以导致内部时钟417和418两者上的高逻辑电平(框706),这可以导致可控反相器401的上拉通路被禁用(框709)。当输入数据412为低逻辑电平时,互补数据414可以为高逻辑电平,结合输入时钟419上的高逻辑电平,可以导致内部时钟417和418处于低逻辑电平(框707),可以导致可控反相器401的下拉通路被禁用(框708)。

在图7图示的方法中描述的操作被示为以顺序方式执行。在其他实施例中,步骤的一些或者全部可以并行执行。

一旦上面的公开被完全理解,许多变型和修改对于本领域相关技术人员来说将变得明显。意图是,随附的权利要求书被解释为包括所有这样的变型和修改。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1