用于自动双相时钟计时的系统、方法和计算机程序产品的制作方法

文档序号:6526451阅读:298来源:国知局
用于自动双相时钟计时的系统、方法和计算机程序产品的制作方法
【专利摘要】本发明公开了一种用于将设计从边沿触发时钟计时转换为双相非重叠时钟计时的系统、方法和计算机程序产品。所述方法包括下列步骤:用包含第一锁存器电路和第二锁存器电路的锁存器对替换与组合逻辑电路相连的边沿触发式触发器;以及基于时序信息来确定所述组合逻辑电路的中点的。将所述第二锁存器电路扩展到所述组合逻辑电路的中点,并给锁存器电路提供双相非重叠时钟信号。
【专利说明】用于自动双相时钟计时的系统、方法和计算机程序产品
【技术领域】
[0001]本发明涉及电路,具体而言涉及电路的双相时钟计时(clocking)。
【背景技术】
[0002]微处理器和图形处理器这类常规装置一般而言都依靠边沿触发式触发器来使数据路径管线化(pipeline)以及实现顺序逻辑。当两个边沿触发式触发器之间的逻辑有稍许延迟时,尤其是当该延迟接近达到适当的操作所需要的保持时间时,通过时序工具在该路径中插入附加电路以解决保持时间违例(v1lat1n)。除为了确保保持时间违例得到解决外,并不希望插入附加电路,原因在于附加电路会占用管芯(die)上的空间并且在工作期间会消耗功率。
[0003]因而,存在对减小保持时间违例和/或解决与现有技术相关联的其他问题的需要。

【发明内容】

[0004]本发明公开了一种用于将设计从边沿触发时钟计时转换为双相非重叠时钟计时的系统、方法和计算机程序产品。所述方法包括下列步骤:用包含第一锁存器电路和第二锁存器电路的锁存器对替换与组合逻辑电路相连的边沿触发式触发器;以及基于时序信息来确定所述组合逻辑电路的中点。将所述第二锁存器电路扩展(propagate )到所述组合逻辑电路的中点,并给锁存器电路提供双相非重叠时钟信号。
【专利附图】

【附图说明】
[0005]图1A示出了根据一个实施例的、带有组合逻辑电路分割块(split)的使用边沿触发时钟计时来管线化的路径;
[0006]图1B示出了根据一个实施例的、转换为使用双相非重叠时钟计时的图1A所示的路径;
[0007]图1C示出了根据一个实施例的、带有分布在锁存器之间的分割后的组合逻辑电路的图1B所不的路径;
[0008]图2示出了根据一个实施例的、用于将电路设计从边沿触发时钟计时转换为双相非重叠时钟计时的方法的流程图;
[0009]图3A示出了根据一个实施例的非还原静态锁存器电路;
[0010]图3B示出了根据一个实施例的与还原逻辑相连的非还原静态锁存器电路;
[0011]图3C不出了根据一个实施例的双相非重叠时钟信号的时序图;
[0012]图3D示出了根据一个实施例的脉冲发生电路;
[0013]图4A示出了根据一个实施例的带有扫描的转换为使用双相非重叠时钟计时的路径;
[0014]图4B示出了根据一个实施例的带有扫描电路的非还原主锁存器;[0015]图5A示出了根据一个实施例的既使用双相非重叠时钟计时又使用边沿触发时钟计时的路径;
[0016]图5B示出了根据一个实施例的、用于将电路设计从边沿触发时钟计时转换为双相非重叠时钟计时的方法的流程图;
[0017]图6A示出了根据一个实施例的、包含转换为使用双相非重叠时钟计时的设计的处理器/芯片的框图;以及
[0018]图6B示出了一示例性系统,在该系统内可以实现前述各种实施例的各种架构和/或功能。
【具体实施方式】
[0019]通过将电路设计转换为使用双相非重叠时钟进行时钟计时(clock)的锁存器,可以改进使用边沿触发式触发器的电路设计的时序性能。由于双相时钟计时使用双相非重叠时钟信号以分开启动主锁存器和从锁存器,因而可消除保持时间违例(v1lat1n)。无需将附加电路插入路径中来解决保持时间违例。而且,两个相位之间的时间借用(timeborrowing)可使电路对时钟抖动(jitter)和偏移(skew)的敏感度降低,进一步改进时序余量(timing margin)。
[0020]图1A示出了根据一个实施例的、带有经过分割的组合逻辑的包含使用边沿触发时钟计时的触发器105的管线路径100。组合逻辑已分割成两部分,具有近似相等的延迟的逻辑电路110和115。组合逻辑是在中点处加以分割的,所述中点为一节点,其中一信号从触发器105的输出端经过逻辑电路110的扩展延迟(propagat1n delay)近似等于该信号经过逻辑电路115到触发器105的输入端的扩展延迟。在一个实施例中,所述中点是用生成用于管线路径100的时序信息的常规的时序分析工具来加以识别的。
[0021]图1B示出了根据一个实施例的、通过将图1A所示的管线路径100转换为使用双相非重叠时钟计时而形成的管线路径120。触发器105用锁存器对135A和135B替换。锁存器135A由clkN直接驱动且锁存器135B由Clk_pulse直接驱动,clkN和Clk_pulse为由脉冲发生器108输出的双相非重叠时钟脉冲。对于clkN的每个脉冲,脉冲发生器108生成elk (B卩,经反相后的clkN)的缩窄版,其中心位于clkN为低时的时钟周期内的时刻间。尽管管线路径120像管线路径100 —样为功能正常的转换后的管线路径,但管线路径120有较大的插入延迟,原因在于在脉冲发生器108中为确保clkN和Clk_pulse不会由于时钟偏移而重叠所引入的延迟。
[0022]图1C示出了根据一个实施例的、通过将图1B所示的管线路径120转换为将锁存器对的第二锁存器扩展(propagate)到分割后的组合逻辑的中点而形成的转换后的管线路径130。锁存器135A可配置作为包含扫描电路的主锁存器,且锁存器135B可配置作为从锁存器。锁存器135B扩展到逻辑电路110和逻辑电路115之间的位置。与管线路径100相t匕,转换后的管线路径130具有较低的插入延迟、对时钟偏移和抖动的敏感度非常低,并且可以实现时间借用技术以满足时序约束。时间借用允许逻辑电路115较之于逻辑电路110而具有较大的延迟,或反之亦然,从而跨过(across)锁存器135B而“借用”时间,同时逻辑电路110和逻辑电路115的组合延迟满足对时钟周期的时序约束。由于组合逻辑的延迟从一个输入端到不同的输出端而变化,因而到锁存器135B的输入端的延迟不同于在扩展锁存器135A之后到锁存器135A的输入端的延迟。
[0023]图2示出了根据一个实施例的、用于将电路设计从边沿触发时钟计时转换为双相非重叠时钟计时的方法的流程图200。在步骤210,用锁存器对(B卩,主锁存器电路和从锁存器电路)替换与组合逻辑电路相连的边沿触发式触发器电路。在步骤215,基于时序信息来确定组合逻辑电路的中点。在步骤220,将第二锁存器电路扩展到组合逻辑电路的中点。在步骤225,给锁存器对提供双相非重叠时钟信号。
[0024]现在将关于各种可选的架构和特征阐明更多例示性信息,利用这些可选的架构和特征根据用户的期望可以实施或不实施前述的框架(framework)。应予以强烈关注的是,以下信息是为例示性目的而阐明的,不应被解释为以任何方式加以限定。以下任何特征都可以在排除或不排除所描述的其他特征的情况下可选地被包含在内。
[0025]沿组合逻辑电路内的路径扩展锁存器可使用用以执行自动时序重构(retiming)的工具加以实现。在一个实施例中,通过在电路设计时根据需要包含两倍数目的管线级(stage),可将使用边沿触发时钟计时的电路设计转换为使用双相非重叠时钟计时。自动时序重构工具可用于贯穿逻辑电路的扩展延迟均匀地分布边沿触发式触发器。然后将双相非重叠时钟提供给锁存器对,每个锁存器对的第一锁存器接收时钟信号clkN且每个锁存器对的第二锁存器接收时钟信号clk_pulse。
[0026]当用双相非重叠时钟计时代替边沿触发时钟计时时,时钟偏移和时钟抖动的影响被减小。当用具有较小的扩展延迟的一对非还原锁存器来替换具有较大的插入延迟ts+td。,的每个触发器时,插入延迟也被最小化,其中ts为设置时间且td。,为从时钟边沿到输出端Q的翻转(transit1n)的延迟。
[0027]为了获得较低的插入延迟,应当使锁存器的扩展延迟尽可能低。获得低延迟锁存器电路的一个途径是利用逻辑级(logic stage),其跟随(follow)锁存器(S卩,逻辑电路110或逻辑电路115)以提供还原(restoring)放大。因此,锁存器本身可以是非还原的。然而,非还原静态锁存器应置于靠近跟随非还原静态锁存器的逻辑级处,以避免会致使锁存器的锁存器内的存储器节点的值翻转(flip)的潜在的交叉干扰问题。换言之,应当对连接非还原静态锁存器的输出端的配线的长度加以限制,以确保跟随非还原静态锁存器的逻辑级靠近非还原静态锁存器。
[0028]图3A示出了根据一个实施例的非还原静态锁存器电路300。非还原静态锁存器电路300可用于实现图1C所示的主锁存器135和/或从锁存器140。非还原静态锁存器电路包含CMOS传输门305和保持器(keeper)子电路。当时钟输入(Clk)为高时,传输门305将输入端(D)传输至输出端(Q),从而使非还原静态锁存器电路300透明。当时钟输入为低时,传输门截止,且输出端成为非还原静态锁存器电路300的存储节点。当时钟输入为低时,保持器子电路激活并还原存储节点处由于漏电或噪音而损失的任何电荷,从而使非还原静态锁存器电路300静态。
[0029]非还原静态锁存器电路300具有最小的插入延迟。利用埃尔莫(Elmore)延迟模型,非还原静态锁存器电路300的扩展延迟正是RC延迟,其中R为传输门305的电阻且C为保持器子电路和跟随非还原静态锁存器电路300的静态栅(static gate)的电容。当非还原静态锁存器电路300位于靠近硅管芯上的静态栅时,从驱动输入的栅所引出的配线的电容与传输门305的电阻是隔离的。[0030]如本文中所使用的,如果信号在之间没有介入任何逻辑的情况下连至逻辑,则晶体管与该信号直接相连,且如果信号在之间介入有逻辑的情况下连至晶体管,则晶体管与该信号间接相连。介入的逻辑可以是任何类型的分立逻辑(discrete logic)。例如,晶体管可以经过包含电流源的附加电路元件而连至地线或电源。
[0031 ] 图3B示出了根据一个实施例的、其中非还原静态锁存器电路300与还原逻辑相连的用于信号还原330的电路设计。为了使非还原静态锁存器电路300中存储器节点的扰动最小化,非还原静态锁存器电路300的输出端应仅连至静态栅的输入端,例如,反相器、缓冲器、NAND, NOR、OR、AND等。静态栅产生上拉至VDD或下拉至VSS的输出(除切换瞬间以外)。非还原静态锁存器电路300的输出不应直接与传输门(互补式或非互补式)相连。如果输入信号变差(即,不在高电平或不在低电平),则传输至输出信号Q的信号电平也会变差并且应当输入到还原逻辑。如图3B所示,三个非还原静态锁存器电路300驱动三相输入“与或非(AND-0R-N0T)”门的输入端。非还原静态锁存器电路300每个均只驱动静态栅(即,还原逻辑)的输入端。
[0032]常规而言,用硬件设计语言表示电路设计,并合成表示电路设计的代码以制作物理版图(layout)。使表示单元(例如,非还原静态锁存器电路300、单独的逻辑门等)的物理版图分开具体呈现(instatiate),然后进行布线以连接各种部件之间的信号。在一个实施例中,构造包含物理电路版图的硬宏(hard macro),其将非还原静态锁存器电路300与非还原静态锁存器电路300的输出端相连的每个门类型相组合,以确保每个非还原静态锁存器电路300和还原门靠近非还原静态锁存器电路300 (即,对每个非还原静态锁存器电路300和还原门之间的配线的长度加以限制)。使用硬宏时可以使总的电路版图面积较小。在另一个实施例中,电路布置工具配置为给定极高的优先级以保持非还原静态锁存器电路300和还原门之间的配线较短,并执行布置后检查(post-placement check)以确保配线不超过最大长度。
[0033]图3C示出了根据一个实施例的双相非重叠时钟信号ClkN和Clk_pulse的时序图350。锁存器对中的第一非还原静态锁存器电路300 (即,主锁存器)由clkN (求反后的(negated)时钟)驱动。锁存器对中的第二非还原静态锁存器电路300 (即,从锁存器)由Clk_pulse驱动。Clk_pulse为时钟的缩窄版。换言之,Clk_pulse较之于时钟周期的一半略窄。设置非重叠时段A和t2以容许时钟分布网络中的偏移和抖动。
[0034]图3D示出了根据一个实施例的脉冲发生器108。如图3D所示可以由clkN的提前版(advanced vers1n)和延迟版(retarded vers1n)通过单个NOR门而生成信号Clk_pul Se。通过执行带有生产性偏移(productive skew)的时钟树生成可以无成本地生成clkN的提前版和延迟版。
[0035]双相非重叠时钟计时方案与常规的时钟树合成和时钟选通相兼容。时钟树合成可以用于分布单个时钟相位clkN。然后由“或非”门脉冲发生器生成用于从相位的时钟clk_pulse。因为脉冲发生时序是非关键性的,所以能容许量相当大的偏移和延迟变化。通过clkN低选通(gating clkN low)来执行时钟选通。clkN低选通令clk_pulse在时钟被停止时为高。
[0036]图4A示出了根据一个实施例的、使用双相非重叠时钟计时的带有扫描电路400的转换后的管线路径。通过沿扫描路径在每个非还原静态锁存器电路300 (示出为主锁存器135(1)和135(2))前面插入多路复用器(multiplexer)并且增加冗余从锁存器(示出为非还原静态锁存器电路405 (I)和405(2)),可以将用边沿触发式触发器来实现扫描路径的电路设计转换为使用双相非重叠时钟计时。非还原静态锁存器电路405(1)和405(2)通过Clk_pulse进行时钟计时,且非还原静态锁存器电路405 (I)接收扫描输入Sin。当扫描路径被启用时,第一多路复用器选择非还原静态锁存器电路405(1)的输出用于主锁存器135(1)的输入,且第二多路复用器选择非还原静态锁存器电路405 (2)的输出用于主控锁存器135(2)的输入,以形成扫描路径。
[0037]图4B示出了根据一个实施例的带有扫描电路的非还原主锁存器420。与图4A所示的主锁存器单元电路相比,多路复用器与接收扫描输入(Sin)的非还原静态锁存器电路的传输门输入端相结合,从而在电路设计中增加扫描时不增加插入延迟。带有扫描电路的非还原静态锁存器420包含还原反相器450,用于输出扫描输出(Sout)的扫描路径。在通常操作期间,通常时钟(clkN、elk)信号循环且扫描时钟(sclk、sclkN)信号保持处于非激活状态(sclk=0, SclkN=I)。在扫描操作期间,通常时钟(clkN、elk)信号保持处于非激活状态(sclk=0, SclkN=I)且扫描时钟(sclk、sclkN)信号循环。还原时钟信号(rclk、rclkN)在两个状态下都循环,以激活保持器子电路并生成Q和Sout。
[0038]使用双相非重叠时钟计时的逻辑块可以与用边沿触发式触发器管线化的逻辑自由混合。使用双相非重叠时钟计时的新设计的电路块可以与使用边沿触发时钟计时的现有的电路交互工作。双相非重叠时钟计时可以仅应用于电路设计的关键部分,从而保持使用边沿触发时钟计时的设计的平衡。
[0039]图5A示出了根据一个实施例的、既使用双相非重叠时钟计时又使用边沿触发时钟计时的混合管线路径500。主锁存器535和从锁存器540包括锁存器对,所述锁存器对配置为使用双相非重叠时钟,且触发器505为边沿触发式触发器。主锁存器535可实现为非还原静态锁存器300或带有扫描的非还原静态锁存器420。从锁存器540可实现为非还原静态锁存器300。只要间隔tl比边沿触发式触发器505的保持时间大,即可保证混合管线路径500为保持时间安全(safe)——即使逻辑电路525具有零延迟亦如此。混合管线路径500允许由非还原静态锁存器电路(例如,主锁存器535和从锁存器540)驱动的逻辑电路520和逻辑电路525在一个方向上进行时间借用。逻辑电路520可以使用由逻辑电路510和515所留下的多达半个周期的时序裕量(slack)。逻辑电路525可以使用由逻辑电路520所留下的多达半个周期的时序裕量。时间可以跨过主锁存器535以及跨过从锁存器540来“借用”。
[0040]图5B示出了根据一个实施例的、用于将电路设计从边沿触发时钟计时转换为双相非重叠时钟计时的方法的流程图540。该方法可通过计算机程序来执行。在步骤210,用锁存器对(即,主锁存器电路和从锁存器电路)替换与组合逻辑电路相连的边沿触发式触发器电路。在一个实施例中,计算机程序运行表示电路设计的HDL代码,以用锁存器对替换边沿触发式触发器电路。在步骤215,基于时序信息来确定组合逻辑电路的中点。在一个实施例中,执行时序分析工具来生成用于电路设计的时序信息。在步骤545,将组合逻辑电路分割成第一逻辑块和第二逻辑块。
[0041]在步骤550,将第一锁存器电路的输出端直接连至第一逻辑块的输入端。在步骤555,上述方法确定第一逻辑块的输入端是否为还原逻辑,若否,则在步骤560,在继续步骤565之前将还原子电路(例如,反相器、缓冲器、逻辑门等)插入第一锁存器电路的输出端处。在步骤565,将第一逻辑块的输出端直接连至第二锁存器电路的输入端。在步骤570,将第二锁存器电路的输出端直接连至第二逻辑块的输入端。在步骤575,上述方法确定第二逻辑块的输入端是否为还原逻辑,若否,则在步骤580,在方法终止之前将还原子电路插入第二锁存器电路的输出端处。
[0042]图6A是示出了根据一个实施例的、包含转换为使用双相非重叠时钟计时的设计的处理器/芯片650的框图。I/O电路655可包含焊盘(pad)和其他I/O特定电路,以从系统中的其他装置发送和接收信号。I/O电路655基于由I/O电路655所接收的信号来产生输出。由I/O电路510接收的输入被输入到带有扫描的第一非还原静态锁存器电路420 (I)。由I/O电路655生成的信号输出到非还原静态锁存器300(1)。组合电路620接收由非还原静态锁存器300 (I)生成的输出并生成组合输出,该组合输出由带有扫描的第二非还原静态锁存器电路420 (2)接收。带有扫描的第二非还原静态锁存器电路420 (2)存储组合输出并生成用以输入到组合电路625的输出。组合电路625的输出由第二非还原静态锁存器300(2)接收并存储。第二非还原静态锁存器300 (2)生成用以提供给I/O电路625的输出。
[0043]图6B示出了示例性系统600,在该系统内可以实现前述各种实施例的各种架构和/或功能。如图所示,系统600设为包含与通信总线602相连的至少一个中央处理器601。通信总线602可以利用诸如PCI (外围部件互连)、PC1-Express、AGP (加速图形端口)、超传输或者任何其他总线或对等(peer-to-peer)通信协议这样的任何合适的协议。系统600还包含主存储器604。主存储器600可以采用在其中存储控制逻辑(软件)和数据的随机存取存储器(RAM)的形式。
[0044]系统600还包含输入设备612、图形处理器606和显示器608,即,常规的CRT (阴极射线管)、IXD (液晶显示器)、LED (发光二极管)、等离子体显示器或诸如此类。用户输入可以从输入设备612接收,例如,键盘、鼠标、触摸板、麦克风等。在一个实施例中,图形处理器606可包含多个着色模块、光栅化模块等。每个前述模块甚至都可以位于单个半导体平台上以形成图形处理单元(GPU)。
[0045]在本说明书中,单个半导体平台可以是指基于基底单一的(sole unitary)半导体的集成电路或芯片。应予以注意的是,术语单个半导体平台也可以是指具有仿真片上操作的增强互连性的多芯片模块,并且利用常规的中央处理单元(CPU)和总线实施方案取得实质性的改进。当然,各种模块也可以根据用户的期望分开地或以半导体平台的各种组合布置。非还原静态锁存器300和/或带有扫描的非还原静态锁存器电路420可结合在中央处理器601、主存储器604、次级存储器610、输入设备612、图形处理器、显示器608和总线602中的一个或多个内。
[0046]系统600还可包含次级存储器610。次级存储器610包括例如硬盘驱动和/或数字可移除存储器驱动器,表现为软盘驱动器、磁带驱动器、压密盘驱动器、数字通用磁盘驱动器、记录装置、通用串联总线(USB)闪存。可移除存储器驱动器以公知的方式对可移除存储器单元进行读取和/或写入。计算机程序或计算机控制逻辑算法可以存储在主存储器604和/或次级存储器610中。这类计算机程序在被执行时可以启用系统600以执行各种功能。主存储器604、存储器610和/或任何其他存储器都可能是计算机可读介质的示例。
[0047]在一个实施例中,各种前述图的架构和/或功能都可以在中央处理器601、图形处理器606、能够实现中央处理器601和图形处理器606两者的至少部分能力的集成电路(未图示)、芯片组(即,被设计为作为用于执行相关功能等的单元来工作并出售的一组集成电路)和/或就此而言的任何其他集成电路的环境下加以实施。
[0048]再者,各种前述图的架构和/或功能也可以在通用计算机系统、电路板系统、专用于娱乐目的的游戏控制台系统、专用系统和/或任何其他的所期望的系统的环境下加以实施。例如,系统600可以采用桌上型电脑、膝上型电脑、服务器、工作站、游戏控制台、嵌入式系统和/或任何其他类型的逻辑。再者,系统600可以采用各种其他设备的形式,包括但不限于个人数字助理(PDA )设备、移动电话设备、电视机等。
[0049]此外,尽管未图示,但系统600可以连至用于通信目的的网络(例如,电信网、局域网(LAN)、无线网、诸如因特网的广域网(WAN)、对等网络、电缆网等)。
[0050]尽管以上已描述了各种实施例,但应予以理解的是,这些实施例仅是通过示例而非限定性方式加以阐述的。因而,优选实施例的广度和范围不应受任何上述示例性实施例限定,而应当仅依据所附权利要求及其等同物加以界定。
【权利要求】
1.一种方法,包括: 用包含第一锁存器电路和第二锁存器电路的锁存器对替换与组合逻辑电路相连的边沿触发式触发器电路; 基于时序信息来确定所述组合逻辑电路的中点; 将所述第二锁存器电路扩展到所述组合逻辑电路的所述中点;以及 给所述锁存器对提供双相非重叠时钟信号。
2.根据权利要求1所述的方法,其中,所述第一锁存器电路和所述第二锁存器电路为非还原锁存器电路。
3.根据权利要求1所述的方法,其中,从对所述组合逻辑电路的输入到所述组合逻辑电路的所述中点的延迟近似等于从所述组合逻辑电路的所述中点到所述组合逻辑电路的输出的延迟。
4.根据权利要求1所述的方法,其中,所述第一锁存器电路用所述双相非重叠时钟信号的第一时钟信号计时,且所述第二锁存器电路用所述双相非重叠时钟信号的第二时钟信号计时,所述第二时钟信号当所述第一时钟信号为低时在时钟周期内的多个时刻的期间发生脉冲。
5.根据权利要求4所述的方法,其中,所述第一时钟信号为一时钟的反转版,且所述第二时钟信号作为所述时钟的缩窄版而生成。
6.根据权利要求1所述的方法,其中,所述第一锁存器电路包含扫描电路。
7.根据权利要求6所述的方法,其中,所述扫描电路包括扫描路径上的还原驱动门。
8.根据权利要求1所述的方法,其中,所述第一锁存器电路的输出端直接耦连至在所述组合逻辑电路的输入端处的驱动门。
9.根据权利要求1所述的方法,还包括:对将所述第一锁存器电路的输出端耦连至所述组合逻辑电路的输入端的配线的长度加以限制。
10.根据权利要求1所述的方法,还包括:当所述第一锁存器电路的输出端未与所述组合逻辑电路内的驱动门直接相耦连时,在该输出端处插入还原子电路。
11.根据权利要求1所述的方法,还包括:当所述第二锁存器电路的输出端未与所述组合逻辑电路内的驱动门直接相耦连时,在该输出端处插入还原子电路。
12.根据权利要求1所述的方法,还包括:将所述组合逻辑电路的输出端直接耦连至边沿触发式触发器的输入端。
13.根据权利要求1所述的方法,其中,所述扩展步骤包括: 将所述组合逻辑电路分割成第一逻辑块和第二逻辑块; 将所述第一锁存器的输出端直接耦连至所述第一逻辑块的输入端; 将所述第一逻辑块的输出端直接耦连至所述第二锁存器电路的输入端; 将所述第二锁存器电路的输出端直接耦连至所述第二逻辑块的输入端。
14.一种存储指令的非暂时性计算机可读存储介质,所述指令当由处理器执行时令该处理器执行下列步骤: 用包含第一锁存器电路和第二锁存器电路的锁存器对替换与组合逻辑电路相耦连的边沿触发式触发器; 基于时序信息来确定所述组合逻辑电路的中点;将所述第二锁存器电路扩展到所述组合逻辑电路的所述中点;以及 给所述锁存器对提供双相非重叠时钟信号。
15.根据权利要求14所述的非暂时性计算机可读存储介质,其中,所述第一锁存器电路和所述第二锁存器电路为非还原锁存器电路。
16.根据权利要求14所述的非暂时性计算机可读存储介质,其中,从对所述组合逻辑电路的输入到所述组合逻辑电路的所述中点的延迟近似等于从所述组合逻辑电路的所述中点到所述组合逻辑电路的输出的延迟。
17.根据权利要求14所述的非暂时性计算机可读存储介质,其中,所述第一锁存器电路用所述双相非重叠时钟信号的第一时钟信号计时,且所述第二锁存器电路用所述双相非重叠时钟信号的第二时钟信号计时,所述第二时钟信号当所述第一时钟信号为低时在时钟周期内的多个时刻的期间发生脉冲。
18.根据权利要求14所述的非暂时性计算机可读存储介质,其中,所述第一锁存器电路的输出端直接耦连至在所述组合逻辑电路的输入端处的驱动门。
19.根据权利要求14所述的非暂时性计算机可读存储介质,还包括:对将所述第一锁存器电路的输出端耦连至所述组合逻辑电路的输入端的配线的长度加以限制。
20.—种系统,包括: 存储器,配置为存 储电路设计;和 处理单元,配置为: 用包含第一锁存器电路和第二锁存器电路的锁存器对替换与组合逻辑电路相耦连的边沿触发式触发器; 基于时序信息来确定所述组合逻辑电路的中点; 将所述第二锁存器电路扩展到所述组合逻辑电路的所述中点;以及 给所述锁存器对提供双相非重叠时钟信号。
【文档编号】G06F1/06GK104038182SQ201310741930
【公开日】2014年9月10日 申请日期:2013年12月27日 优先权日:2013年3月6日
【发明者】威廉·J·达利 申请人:辉达公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1