超大规模集成电路的触发器类型选择转让专利

申请号 : CN201280005170.8

文献号 : CN103314530B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : A·P·史密斯R·P·马斯雷德G·康斯达迪尼迪斯

申请人 : 甲骨文国际公司

摘要 :

一种用于确定触发器电路类型(101,102)的方法,包括:执行IC设计(100)的布局,执行布局包括安排多个触发器中每一个的主锁存器和从锁存器(102:M,5),用以分别接收第一(L-clk)和第二时钟(Pclk)信号。然后可实现初始的IC设计(例如在硅衬底上)。实现之后,可在第一模式和第二模式中操作IC。在第一模式中,每个触发器(102M)的主锁存器被耦合以接收第一时钟信号(L-clk)。在第二模式中,第一时钟信号(L-clk)被禁止而主锁存器(102:M)保持透明。在第一模式和第二模式两者中,每个触发器的从锁存器(101,102:M)根据第二时钟信号(Pclk)操作。该方法还包括:为每个触发器(101,102)确定该触发器将在IC的随后修订中操作为主从双稳态触发器(102)还是脉冲触发器(101)。

权利要求 :

1.一种用于确定集成电路的触发器类型的方法,包括:

在第一模式中操作集成电路IC的多个触发器电路,所述多个触发器电路中的每一个具有主锁存器和从锁存器,其中在第一模式中操作包括:对于多个触发器电路中的每一个,根据第一时钟信号,主锁存器是透明的,而根据第二时钟信号,从锁存器是透明的,并且其中,主锁存器和从锁存器不是同时透明的;

在第二模式中操作多个触发器电路中的每一个,其中在第二模式中操作包括:对于多个触发器电路中的每一个,保持主锁存器透明,并且其中,根据第二时钟信号,从锁存器是透明的;

基于第一模式和第二模式中的所述操作,确定对于IC的随后修订,多个触发器中的哪一个将操作为主从双稳态触发器,而哪些触发器将操作为脉冲触发器;

确定多个触发器中的第一个在IC的随后修订中将操作为主从双稳态触发器,而多个触发器中的第二个在IC的随后修订中将操作为脉冲触发器;

对于IC的随后修订,安排多个触发器中的第一个的主锁存器的时钟输入以接收第二时钟信号;以及将多个触发器中第一个的主锁存器安排为在第二时钟信号的第一相位期间为透明的,并且还包括:将从锁存器安排为在该时钟信号的第二相位期间为透明的,其中第二相位与第一相位相反。

2.如权利要求1所述的方法,还包括:确定多个触发器的第一子组中的每一个将操作为主从双稳态触发器,以及多个触发器的第二子组中的每一个将操作为脉冲触发器,并且其中,为每个触发器单独执行所述确定。

3.如权利要求1所述的方法,其中,当在第一模式中操作时,第一时钟信号和第二时钟信号是脉冲时钟信号,每个脉冲时钟信号具有小于50%的占空比。

4.如权利要求1所述的方法,其中,当在第二模式中操作时,提供直流信号取代第一时钟信号,并且其中,第二时钟信号是具有小于50%占空比的脉冲时钟。

5.如权利要求4所述的方法,还包括:响应于由时钟单元接收的信号处在第一状态,以第一脉冲宽度提供第二时钟信号,并且响应于该信号处在第二状态,以小于第一脉冲宽度的第二脉冲宽度提供第二时钟信号。

6.一种集成电路,包括:

时钟单元,被配置为:在第一操作模式期间,在第一信号路径上传送第一时钟信号,并且还被配置为:在第二操作模式期间,在第一信号路径上传送直流信号,其中时钟单元还被配置为:在第一操作模式和第二操作模式的每一个期间,在第二信号路径上传送第二时钟信号;以及第一多个触发器电路,每一个都包括主级和从级,其中第一多个触发器电路中每一个的主级包括耦合到第一信号路径的第一时钟输入,并且其中第一多个触发器电路中每一个的从级包括耦合到第二信号路径的第二时钟输入;

其中第一多个触发器电路的每一个被配置为:在第一操作模式中时操作为主从双稳态触发器,并且其中第一多个触发器电路的每一个被配置为:在第二操作模式中时操作为脉冲触发器电路。

7.如权利要求6所述的集成电路,其中时钟单元被配置为:对准第一和第二时钟信号,使得在第一模式中操作时,第一多个触发器电路中每一个的主级和从级不是同时透明的。

8.如权利要求6所述的集成电路,其中时钟单元还被配置为:根据第一信号的状态来改变第二时钟信号的脉冲宽度,并且其中时钟单元还被配置为:根据第二信号的状态来选择第一操作模式或第二操作模式中的一个。

9.如权利要求6所述的集成电路,其中集成电路还包括第二多个触发器电路,其中第二多个触发器电路中的每一个包括:在主从双稳态触发器配置中被配置为充当主锁存器的第一级以及被配置为充当从锁存器的第二级,其中,第一级和第二级的各自时钟输入分别被耦合以接收第二时钟信号,并且其中第二多个触发器电路的第一级和第二级被配置为使得它们彼此不是同时透明的。

10.如权利要求9所述的集成电路,还包括第三多个触发器电路,其中第三多个触发器电路的每一个都是单级脉冲触发器。

11.一种用于确定集成电路的触发器类型的方法,包括:

执行集成电路IC设计的布局,其中执行布局包括:安排多个触发器的每一个的主锁存器以接收第一时钟信号,并且安排多个触发器的每一个的从锁存器以接收第二时钟信号;

实现IC设计;

在第一模式中操作IC,在第一模式中,响应于第一时钟信号,多个触发器的每一个的主锁存器是透明的,并且其中响应于第二时钟信号,多个触发器的每一个的从锁存器是透明的;

在第二模式中操作IC,在第二模式中,多个触发器的每一个的主锁存器保持透明,并且其中响应于第二时钟信号,多个触发器的每一个的从锁存器是透明的;

基于在第一模式和第二模式中的所述操作,确定对于IC的随后修订,多个触发器中的哪一个将操作为主从双稳态触发器,而哪些触发器将操作为脉冲触发器;

安排多个触发器中的选定的一个在随后修订中操作为主从双稳态触发器,其中所述安排包括:对于随后修订,为多个触发器中的选定的一个修订时钟连接,其中所述修订时钟连接包括:从被耦合以传送第一时钟信号的第一信号路径断开多个触发器中的选定的一个的主锁存器的时钟输入;以及将多个触发器中的选定的一个的主锁存器的时钟输入连接到被耦合以传送第二时钟信号的第二信号路径。

12.如权利要求11所述的方法,其中为多个触发器中的每一个单独执行所述确定多个触发器中的哪些将操作为主从双稳态触发器,而哪些将操作为脉冲触发器。

13.如权利要求11所述的方法,其中所述确定包括:确定在第二模式中的操作期间多个触发器中的哪个导致IC的错误操作。

14.如权利要求11所述的方法,其中所述断开和所述连接包括改变金属层,使得对于随后修订,多个触发器中的选定的一个的主锁存器的时钟输入耦合到第二信号路径。

15.如权利要求11所述的方法,还包括:安排多个触发器中的选定的一个在随后修订中操作为脉冲触发器,其中所述安排包括:对于随后的修订,让多个触发器中的选定的一个的主锁存器和从锁存器的时钟连接不变;以及在第二模式中操作IC的随后修订,其中多个触发器中的选定的一个的主锁存器在第二模式中的操作期间保持透明。

16.如权利要求11所述的方法,第二时钟信号是具有小于50%占空比的脉冲,并且其中在第一模式和第二模式的每一个中操作包括:用以第一脉冲宽度提供的第二时钟信号操作;以及

随后用以不同于第一脉冲宽度的第二脉冲宽度提供的第二时钟信号操作。

说明书 :

超大规模集成电路的触发器类型选择

技术领域

[0001] 本发明涉及电子电路,更具体而言涉及集成电路设计中的触发器电路选择。

背景技术

[0002] 集成电路(IC)可使用各种各样的不同类型的存储电路。常用的存储电路包括主从双稳态触发器和锁存器电路。双稳态触发器和锁存器可广泛地用于提供IC中数据状态的临时存储,例如用于存储第一组合逻辑块和第二组合逻辑块之间运送的信号的状态。
[0003] IC中使用的另一种存储电路是脉冲触发器(flop)。可通过转换单个锁存器电路使用具有小于50%占空比的脉冲时钟执行双稳态触发器功能而形成脉冲触发器。当断言脉冲时钟(例如高电平)时,脉冲触发器可能是透明的,因此可接收输入上的逻辑值并将其传播到输出。当未断言脉冲时钟(例如低电平)时,可阻止逻辑值输入传播到输出,同时存储先前输入的逻辑值。
[0004] 双稳态触发器和脉冲触发器的不同操作特征可使它们适于IC中的某些用途,但也可能导致某些限制。例如,当一些脉冲触发器设计适于高速信号路径时,他们也可能受被称为最小时间问题的竞态条件的支配,其中,当二者在其透明相位(例如当脉冲被断言时)时,信号可通过两个或两个以上串联耦合的脉冲触发器传播。这可能导致IC的错误操作。双稳态触发器通常不受这个条件的支配,因为在时钟信号的不同相位期间,主部分和从部分可能是透明的。然而双稳态触发器通常不如脉冲触发器快。
[0005] 在IC设计期间,可执行许多不同的模拟,用以确定应该在哪儿实现双稳态触发器、脉冲触发器和锁存器。基于该模拟,可在IC布局中的相应位置放置所选电路。随后可在在硅中实现该IC并测试。在IC设计的测试期间,选定双稳态触发器和/或脉冲触发器中的一些可能由于各种原因而失败是可能的。这可能需要重新设计IC,其可包括改变其布局。然而,这种重新设计/布局变化(尤其已经在硅上实现初始设计后)可能昂贵且费时,并可能进一步影响上市时间。为了防止这种情况发生,可采取更保守的设计方法。然而,这种方法可能会牺牲性能。

发明内容

[0006] 公开了一种在单独的逐个触发器基础上确定集成电路(IC)的触发器类型的方法。在一个实施例中,该方法包括在第一模式和第二模式中操作IC的多个触发器电路。多个触发器电路中的每一个包括主锁存器和从锁存器。在第一模式中,多个触发器电路中每一个的主锁存器接收第一时钟信号,而多个触发器电路中每一个的从锁存器接收第二时钟信号。可对准该时钟信号,使得主锁存器和从锁存器不同时透明。在第二模式中,从锁存器接收第二时钟信号,而第一时钟信号被禁止,使得主锁存器保持透明。基于第一模式和第二模式中操作的结果,可确定多个触发器电路中的哪些将在IC的随后修订中操作为主从双稳态触发器,而哪些将操作为脉冲触发器。
[0007] 在一个实施例中,一种方法包括执行IC设计的布局,其包括安排多个触发器中每一个的主锁存器和从锁存器以分别接收第一时钟信号和第二时钟信号。然后可实现初始的IC设计(例如在硅衬底上)。实现之后,可在第一模式和第二模式中操作IC。在第一模式中,每个触发器的主锁存器被耦合以接收第一时钟信号。在第二模式中,第一时钟信号被禁止而主锁存器保持透明。在第一模式和第二模式两者中,每个触发器的从锁存器根据第二时钟信号操作。该方法还包括:为每个触发器确定该触发器将在IC随后修订中操作为主从双稳态触发器还是脉冲触发器。
[0008] 还公开一种IC。在一个实施例中,该IC包括时钟单元,其被配置为在第一信号路径上传送第一时钟信号并在第二信号路径上传送第二时钟信号。多个触发器电路中每一个的主锁存器被耦合以接收第一时钟信号,而每个触发器的从锁存器被耦合以接收第二时钟信号。触发器电路中的每一个都被配置为在第一操作模式期间操作为主从双稳态触发器。在第二操作模式期间,每个触发器电路的主锁存器保持透明,而每个触发器电路因此操作为脉冲触发器。

附图说明

[0009] 在阅读下列详细描述并参照附图时,本发明的其它方面将变得显而易见,其中:
[0010] 图1是集成电路(IC)的一个实施例的框图;
[0011] 图2是脉冲触发器电路的一个实施例的框图;
[0012] 图3是脉冲触发器电路的一个实施例的示意图;
[0013] 图4是示出图3的脉冲触发器电路实施例的操作的时序图;
[0014] 图5是脉冲触发器电路的另一实施例的示意图;
[0015] 图6是示出图5的脉冲触发器电路实施例的操作的时序图;
[0016] 图7是脉冲触发器电路的另一实施例的示意图;
[0017] 图8是示出图7的脉冲触发器电路实施例的操作的时序图;
[0018] 图9是示出IC的一个实施例中不同类型的触发器电路时序图案的图;
[0019] 图10是示出IC的一个实施例中的非关键触发器、关键触发器和频率限制触发器之间差异的图;
[0020] 图11是时钟单元的一个实施例的框图;以及
[0021] 图12是开发IC期间在评估和修订阶段基于逐个触发器执行触发器选择的一个实施例的流程图。
[0022] 虽然本发明容许各种修改和替换形式,通过附图中例子的方式显示并将在本文中详细描述其具体实施例。然而应该理解的是,附图和其描述并不旨在将本发明限定到公开的特定形式,而是相反,本发明将覆盖落入由所附权利要求书限定的本发明精神和范围内的所有修改、等同物和替换。

具体实施方式

[0023] 综述
[0024] 本公开针对为集成电路(IC)设计中某些触发器电路确定触发器类型(例如主从双稳态触发器或脉冲触发器)的方法。正如本文所使用,术语触发器电路(或触发器)可指代几种不同类型的存储电路中的一种,包括主从双稳态触发器、脉冲触发器以及并非前两种电路的一部分的锁存器。
[0025] 虽然可在设计过程早期将IC设计中的一些触发器电路指定为主从双稳态触发器或脉冲触发器,但有时并不能轻易地将其他触发器电路指定为一种或另一种。正如下面将进一步详细说明,被指定为非关键的触发器可被实现为主从双稳态触发器,而那些被指定为频率限制器(或“F限制器”)的触发器可被实现为脉冲触发器。此处被指定为关键触发器的第三种类的触发器有时难于确定是否最佳地实现为主从双稳态触发器或脉冲触发器。本公开针对一种确定这些触发器是否被最佳地实现为一种或另一种的方法。还可在单独的、逐个触发器的基础上执行本方法。也就是说,一些关键触发器可被指定为主从双稳态触发器,而其他触发器被指定为脉冲触发器,同时为每个触发器单独做出此确定。
[0026] 还公开了一种装置,能够确定哪些触发器被实现为主从双稳态触发器而哪些触发器被实现为脉冲触发器。为了确定哪种触发器类型对于被指定为关键的触发器来说是最佳的,该安排可使能第一模式和第二模式中的IC操作。在第一模式中,被指定为关键的触发器可操作为主从双稳态触发器。在第二模式中,关键触发器的主锁存器可保持在透明状态,使得其操作为脉冲触发器。在第一模式和第二模式两者中操作IC后,可执行其操作分析,从而为随后修订中的每个关键触发器确定触发器实现。
[0027] 本公开的图1-图8及其相应描述针对各种触发器电路类型,其可用于实现IC初始版本中的关键触发器。图9-图12及其相应描述针对说明不同类别的触发器电路和用于为IC随后修订中的关键触发器确定触发器类型的方法及装置。
[0028] 集成电路和脉冲触发器框图
[0029] 现在转到图1,显示了集成电路(IC)的一个实施例的框图。IC100的框图是示例性的,并且旨在示出本公开的某些方面,注意的是其并不旨在限制。因此,IC100的实际实现可包括本文中未明确显示或论述的组件。
[0030] 所示实施例中的IC100包括第一逻辑单元105和第二逻辑单元110。这些逻辑单元中的每一个可包括各种组合逻辑电路。所示实施例中的逻辑单元105和110被耦合,用于通过各种脉冲触发器彼此通信。通过使用脉冲触发器,可将通信同步至脉冲时钟、时钟(例如具有50%占空比的常规时钟)或两者兼而有之。也可以使用各种类型的脉冲触发器来便利这种通信。
[0031] 通过所示实施例中两个脉冲触发器30的系列,从而提供从逻辑单元105到逻辑单元110的第一通信路径。所示实施例中的每个脉冲触发器30被耦合以接收脉冲时钟而非其他时钟。可由脉冲时钟头115产生和提供脉冲时钟。该脉冲时钟可以是具有小于50%占空比的时钟。脉冲触发器30各自对于占空比都可以是透明的(例如当断言脉冲为高电平时),但可在剩余周期期间以其他方式阻止信号发送。正如下面将进一步详细解释,脉冲触发器30可被配置以防止最小时间问题,其中,当二者都是透明时(例如当在此例中断言脉冲时),信号状态可能以其他方式通过两个或两个以上的脉冲触发器。
[0032] 在所示的例子中,由脉冲触发器50提供从逻辑单元105到逻辑单元110的第二通信路径。由脉冲触发器70提供可操作以从逻辑单元110到逻辑单元105传送信号的第三通信路径。脉冲触发器50和70各自被耦合以接收脉冲时钟和50%占空比的时钟信号(“Clock”)。可由时钟头125生成并提供50%占空比的时钟信号。在一些实施例中,提供到脉冲触发器50和70的时钟信号可能是互补时钟信号,即一个时钟信号与提供给其他组件的50%占空比的时钟信号具有180°相位差。如下面将讨论的,可通过脉冲时钟和50%占空比的时钟或其互补在操作中同步脉冲触发器50和70。
[0033] 在所示实施例中,IC 100可操作以支持扫描测试,包括扫描数据输入和扫描数据输出。可通过逻辑单元105和110以及各种扫描脉冲触发器形成扫描链。然而,注意的是,支持扫描测试的电路是可选的,而其中不支持扫描测试的其它实施例是可能且可设想的。
[0034] 图2是脉冲触发器的一个实施例的框图。更具体而言,所示实施例中的脉冲触发器20可用于示出上面提出并在下面将进一步论述的脉冲触发器30、50和70的基本结构。
[0035] 所示实施例中的脉冲触发器20包括输入电路22、传送电路24、存储电路26和输出电路28。在一些实施例中,输入电路22可被耦合以接收时钟信号的互补 ,其中时钟信号的互补(像它真的对应物)具有50%的占空比。在其它实施例中,输入电路可被耦合以接收脉冲时钟信号pclk,其中占空比小于50%。可由输入电路在输入节点(“In”)上接收传入数据。
[0036] 所示实施例中的输入电路22可通过第一和第二浮动节点float1和float2耦合到传送电路24。在本实施例中这样标记这些电路节点,因为在脉冲触发器20的至少一部分操作周期期间,至少一个电路节点“浮动”。如本文所用,关于节点的术语“浮动”可能指的是当节点未被PMOS(p-沟道金属氧化物半导体)或NMOS(n沟道金属氧化物半导体)器件有效驱动时的操作期间的时间。同样,浮动节点可被定义为持续脉冲触发器的一部分操作周期的未被任何器件有效驱动的节点。因此,可持续一时间电容性地保持该特定浮动节点上的任意电压。尽管可能的是如果某一时间后其未被有效驱动,电压可能在节点上衰减。然而,由于脉冲触发器20可被设计用于快速操作,浮动节点保持电压的必要时间量可能相对小,从而依赖于从该节点接收电压而使能其他器件的激活。此外,使用浮动节点实现脉冲触发器时,因为不需要额外的晶体管来驱动这些节点,所以可节省电路面积。这也可能降低通过该电路的电平延迟。
[0037] 所示实施例中的传送电路24被耦合以接收脉冲时钟信号pclk。响应于时钟脉冲转换到其有效相位(例如从低电平到高电平),为了将输入信号的逻辑值以及其互补传送到存储电路26,传送电路24可能激活。可在一个浮动节点(例如float1)上传送输入数据的互补,而在另一个浮动节点(例如float2)上传送真的输入数据。
[0038] 存储电路26被配置为存储输入数据信号和其互补的状态,并可在去激活传送电路24之后继续存储这些值。所示实施例中的输出电路28被耦合以接收输出信号的互补 ,并且被配置为在其输出节点上驱动真的输出信号out。注意的是,在一些实施例中,输出信号可能是输入信号的互补。
[0039] 脉冲触发器电路实施例和操作:
[0040] 图3、图5和图7分别示出了脉冲触发器电路的不同实施例。图4、图6和图8分别示出图3、图5和图7的时序关系。所示的每个脉冲触发器电路可按照脉冲时钟操作,而后两个实施例被配置为根据50%占空比的时钟操作。此外,本文将论述的每个电路实施例被配置为以防止最小时间问题。更具体而言,安排将要论述的每个电路实施例,使得操作期间它在其各自的输入节点和输出节点之间并非完全透明,同时还提供脉冲触发器的功能。因此,本文所述的各种脉冲触发器实施例在以下应用程序中可能有用,即,该应用程序需要快速信号传输(因此,其中主从双稳态触发器将不合适),同时提供防止信号状态通过两个或更多个串联耦合的脉冲触发器电路竞争的能力。
[0041] 在示出的各种电路实施例中,注意的是,用“P”指定的晶体管是PMOS晶体管,而用“N”指定的晶体管是NMOS晶体管。然而,注意的是,这些实施例中PMOS和NMOS晶体管的安排是示例性的,因此其它安排是可能且可设想的。
[0042] 现在转到图3,例示了脉冲触发器电路的一个实施例的示意图。所示实施例中的脉冲触发器30被配置为根据脉冲时钟pclk操作,但并不需要50%占空比的时钟。在所示实施例中,输入电路32和传送电路33均被耦合以接收脉冲时钟,但基于其相反的状态而工作。
[0043] 所示实施例中的输入电路32包括两个串联耦合的门控反相器。第一门控反相器被耦合以接收数据输入D,并包括晶体管P31、P32和N31。第二门控反相器包括P33、P34和N32。晶体管P32和P34被安排以为其各自的反相器提供门控功能。当pclk为低电平时,晶体管P32和P34有效。因此,当pclk为低电平时,第一门控反相器可在第一浮动节点float1上提供输入D的互补 ,而在第二浮动节点float2上提供D的逻辑等效。
[0044] 当pclk转变为高电平时,将阻止至少一个门反相器的上拉路径。例如,如果D为低电平,当pclk为低电平时,通过P31和P32将float1朝着Vdd拉到高电平。然而,当时钟clk转变为高电平时,P32被去激活,因此阻止上拉路径。此外,由于pclk为高电平时P32为无效且D为低电平时N31为无效,所以在D上为低电平的高电平pclk导致一种情况,其中第一浮动节点float1未由任何器件驱动,因此其上的电压是浮动的。在pclk转变为高电平的时刻出现在float1上的高电平电压可被持续一时间电容性地保持,且可能足以导致N32和N34(后者是传送电路34的一部分)的激活。在一个实施例中,可定时脉冲时钟的有效部分(例如在这种情况下为高电平)的长度,使得float1可保持高电平电压以激活N32且N34至始至终可保持有效。
[0045] 当pclk为低电平时在D输入上的高电平可激活N31,从而将float1拉到低电平。在float1上的低电平可能反过来激活P33,从而可通过P33和P34将float2拉到高电平。pclk转变为高电平后,float1可保持被驱动,因为下拉路径通过N31保持。然而当pclk转变为高电平时,P34被去激活,从而去除float2和Vdd之间的上拉路径。因此,浮动电压可出现在float2上,该电压可被持续一时间电容性地保持。然而,如上所述,可像这样选择脉冲宽度以允许float2保持足够长的高电平,使得(传送电路34的)N35在整个脉冲的有效部分中有效。
[0046] 如前所述,传送电路34包括器件N34和N35,还包括N33。依赖于由输入电路32在节点D上接收的输入数据,晶体管N34和N35中的一个可在给定时间有效。当pclk为低电平时,N33无效。然而,在本实施例中当pclk转变为高电平时,N33被激活,从而通过其本身和有效的N34和N35之一提供下拉路径。如果N34和N33同时有效,通过那些器件将存储电路36的节点S拉到低电平。当这些器件同时有效时,通过N33和N35将节点S拉到低电平。
[0047] 所示实施例中的存储电路36包括一对交叉耦合的反相器。这些反相器中的第一个包括上拉器件P1和P2以及下拉器件N1和N2。这些反相器中的第二个包括上拉器件P3和P4以及下拉器件N3和N4。反相器中的第一个耦合到作为输入的节点S,并被配置为驱动节点S上的输出。第二反相器耦合到作为输入的节点 并且被耦合以驱动作为输出的节点S。
[0048] 注意的是,传送电路34的器件N33和N34以及N35被定尺寸(sized),使得当后两种中的任意一个与前者同时有效时,集体驱动强度足以过推翻(override)存储电路36的任一个反相器。因此当N33和N34两者都有效时,第二反相器的输出(节点S)可被拉到低电平,即使第二反相器试图将节点驱动到高电平。因此这可能导致存储电路36的状态翻转,因为第一反相器可通过将节点 驱动到高电平而响应,从而导致第二反相器切换以将节点S驱动为低电平。同样,当器件N33和N35两者都有效时,第一反相器的输出节点 可被拉到低电平,即使当第一反相器试图将此节点驱动到高电平。结果第二反相器可切换到开始将节点S驱动到高电平,从而使得第一反相器将节点 驱动到低电平。
[0049] 在所示实施例中,使用反相器I31实现输出电路。在此特定例子中,I31的输入耦合到节点S,而节点 上提供的输出是节点D上提供的输入的互补。然而,注意的是,其中I31的输入节点耦合到节点 的实施例(因此在输出上提供输入的逻辑等效)是可能且可设想的。此外,具有利用其他安排的输出电路的实施例(例如串联耦合的两个反相器)也是可能且可设想的。
[0050] 图4是示出图3的脉冲触发器电路的实施例操作的时序图。在给定例子中,正好在pclk转变为高电平之前,输入节点D为高电平,float2也是,而float1为低电平。当pclk转变为高电平时,N33被激活。由于转变时在float2上为高电平,器件N35在pclk转变为高电平时也是有效的。因此,随着N33和N35同时有效,在(1)处通过这些器件将 拉到低电平,同时S被相应地拉到高电平。输出节点 也跟随 为低电平,虽然此响应可能被稍微延迟(为了简单起见,此处不描绘这种延迟)。
[0051] 正如(2)处虚线所描绘,在pclk从低电平到高电平转变后,float2可浮动。当pclk转变为高电平,P34被去激活。因此,由于P34的去激活,通过P33和P34到Vdd的上拉路径被切断。随着N32也在该点无效,float2未由任何器件驱动。因此,正好在pclk从低电平到高电平转变之前,在float2上出现的高电平被电容性地保持。可设计脉冲触发器30,使得pclk为高电平时的时间量在持续时间中足够短,在该持续时间期间,float2保持该电压至少足够的持续时间以保持N35有效并因此将 拉到低电平。在一些实施例中,可设计该电路,使得float2可在pclk的整个高电平部分中电容性地保持其电压。pclk降到电平后将float2再次拉到高电平,由于P34再次有效,并恢复通过该器件和P33的上拉路径。
[0052] 还要注意的是,当pclk为高电平时,脉冲触发器30不透明。这是由于产生的P32和P34的去激活。因此,即使pclk为高电平时D降到低电平,传送电路34的状态将不会改变,因为产生的P32的去激活将阻止float1和Vdd之间(通过P31和P32)的上拉路径。
[0053] 此实例中在pclk降到低电平后,由于新的输入数据,节点D上的数据也降到低电平。当D降到低电平时,N31被去激活而P31被激活。随着pclk为低电平,通过有效器件P31和P32将float1拉到高电平。在N32的栅极处接收float1上的高电平,N32也被激活从而使得float2被拉到低电平。还在N34的栅极处接收float1上的高电平。当pclk再次转变为高电平时,N34和N33两者都同时有效。因此,在(3)处,节点S被拉到低电平。由于节点S被拉到低电平,节点 对应地被拉到高电平。
[0054] 如(4)处虚线所描绘,在此状态期间当pclk为高电平时,float1不由任何器件驱动。这是由于当pclk为高电平时P32的去激活,其阻止了float1和Vdd之间的上拉路径。由于输入节点D上的低电平,因为N31也无效,所以float1不被驱动。刚好在低电平到高电平转换之前在float1上的高电平因此可被持续一时间电容性地保持,该时间足以保持N34有效,从而将节点S拉到低电平(如果不是用于pclk的高电平相位的整个持续时间)。
[0055] 返回到图3,所示实施例中的脉冲触发器30包括:可用于使能脉冲触发器30的扫描测试的扫描元件39,以及耦合到其他扫描元件的其他电路。扫描元件39可以是扫描元件串联耦合链上的一个元件。此外,扫描元件39可用于将测试刺激数据输入到存储元件36并从存储元件36中捕获测试结果数据。此外,可在扫描移位操作期间通过扫描元件39移位扫描数据,在扫移位操作中加载测试刺激数据或卸载测试结果数据。
[0056] 扫描单元39包括扫描输入(si),在扫描移位操作期间通过该扫描输入接收数据。可由反相器I1接收扫描输入数据,反相器I1可用PMOS上拉器件和NMOS下拉器件实现,每个器件具有耦合到节点si的栅极端子。当断言扫描输入时钟(siclk)时(因而器件N5和N7有效),测试刺激数据可由扫描元件39加载到存储电路36。
[0057] 如果扫描输入数据为高电平,则反相器I1输出低电平,而N6无效。当扫描输入数据和扫描输入时钟两者都为高电平时,可通过晶体管N7(当扫描输入时钟为高电平时其为有效)和反相器I1的NMOS器件将节点 拉到低电平。
[0058] 如果扫描输入数据为低电平,则反相器I1输出高电平。从反相器I1输出的高电平激活N6,而扫描输入时钟为高电平时N5是高电平。因此,节点S被拉到低电平。在这种情况下,通过存储电路36的P1、P2、N1和N2将节点 拉到高电平。
[0059] 当扫描时钟(soclk)为高电平时,可在节点(so)上提供扫描输出数据。如果 与扫描输出时钟节点上的高电平同时为高电平,则N8和N9两者都有效,且扫描数据输出节点被驱动到低电平(通过串联耦合的I3和I4)。如果S与扫描输入时钟节点上的高电平同时为高电平,器件N10和N11同时有效,并通过反相器I4将扫描数据输出节点驱动到高电平。
[0060] 图5是脉冲触发器电路的另一实施例的示意图。在本实施例中,注意的是,以与图3所示的其对应物相似的方式安排存储电路56和扫描元件59,因此不再详细论述。此外,所示实施例中的脉冲触发器50使用反相器I53实现输出电路。然而,注意的是,其他输出电路实施例是可能和可设想的,例如上面参照脉冲触发器30所论述的那些替代实施例。
[0061] 在图5中所示的实施例中,脉冲触发器50包括输入电路52,其具有输入节点 并进一步被耦合以接收互补的时钟信号 互补的时钟信号 可能是与分布到IC中其他电路的时钟信号反相的50%占空比的周期信号,在所述IC中实现脉冲触发器50。
[0062] 在所示实施例中,输入 和互补的时钟信号 由门控反相器151接收。尽管此处未明确示出,但门控反相器151可包括至少一个PMOS上拉器件和至少一个NMOS下拉器件,每个器件具有耦合到 的各自的栅极端子,同时一个或多个额外的门控器件具有耦合到的各自的栅极端子。因此,当 为高电平时,反相器I51可根据 上接收的输入信号的逻辑电平驱动float1。当 为低电平时,I51可禁止float1上的状态变化,即使变化发生在上。
[0063] 所示实施例中的传送电路54包括器件N51、N52和N53以及反相器I52(其可以是包括PMOS上拉器件和NMOS下拉器件的标准反相器)。float1耦合到N51的栅极端子和I52的输入,而I52的输出耦合到N53的栅极端子。N52的栅极端子耦合到pclk,因此在脉冲时钟信号为高电平时有效。通过为节点S(通过N51和N52)或为节点(通过N53和N52)提供下拉路径,传送电路54可传送由输入电路52接收的逻辑状态。
[0064] 通过图6的时序图进一步示出了脉冲触发器50的操作。当 为高电平时,在 上的高电平到低电平转变导致float1转变为高电平,float2响应于此而降到低电平。当时钟信号(clk)转变为高电平时,因此 降到低电平,float1停止由反相器I51驱动,正如(1)处虚线所描绘。一旦其不再由I51以与上述为脉冲触发器30的浮动节点相似的方式驱动,则float1上的高电平可被电容性地保持。每次 降到低电平后,pclk转变为高电平。由于pclk的低电平到高电平的转变,N51和N52两者在此时同时有效,因此节点S在(2)处被拉到低电平,因此 被驱动为高电平。float1继续浮动,直到 再次转变为高电平。
[0065] 在 转变为高电平后的一点处, 上的输入信号在所示的例子中转变为高电平。因此,float1降到低电平,而float2由I52驱动到高电平。当随后 再次降到低电平时,float1再次不再由任何器件驱动,从而在(3)处浮动到低电平。然而,只要float1上的电压保持足够低,反相器I52的输出就可保持高电平。随后pclk的低电平到高电平转变导致激活N52。因此,N53和N52同时有效,在(4)处通过这些器件将 拉到低电平,同时响应于 的状态变化而将S驱动为高电平。
[0066] 图7是脉冲触发器电路的另一个实施例的示意图。以与图3所示的脉冲触发器30的其对应物类似的方式安排脉冲触发器70的传送电路74、存储电路76和扫描元件79,因此可以类似方式操作。
[0067] 所示实施例中的输入电路72包括两个串联耦合的门控反相器。这些反相器中的第一个包括器件P71、N71和N72。这些反相器中的第二个包括P72、N73和N74。器件N71和N73的栅极端子各自耦合到节点 因此可为其各自的反相器使能或阻塞下拉路径。现在将参考图8中的时序图说明脉冲触发器70的操作。
[0068] 图8所示的时序图开始于节点D上的高电平,其随后降到低电平。节点 在这点上为高电平,因此N71和N73两者都有效。由于D降到低电平,P71被激活,因此float1被拉到高电平。float1上的高电平由N74的栅极端子接收,N74激活。因此,float2被拉到低电平。
[0069] 当 降到低电平时,N71和N73两者都被去激活。float1在这点上仍然被拉到高电平,由于通过P71的上拉路径未被阻塞。然而,当N73被去激活时,从float2到地的下拉路径被阻塞。因为P72在这点上也无效,float2未由任何器件驱动,从而浮动到低电平,正如(1)处的虚线所描绘。当pclk随后上升时,在(2)处通过同时有效的器件N75和N77而将节点S拉到低电平。由于节点S被拉到低电平,节点 在这点上被拉到高电平。在 再次转变为高电平后,通过N73和N74的下拉路径被恢复,而float2被再次驱动到低电平。
[0070] 在所示的例子中,在pclk降到低电平且 再次转变为高电平后,D转变为高电平。当 再次降到低电平时,float1和地之间的下拉路径由N71的去激活阻塞。因为P71还是无效(由于D上的高电平),float1在这一点上未由任何器件驱动,因此如(3)处所示浮动到低电平。如果float1上的电压保持足够低以确保P72仍然有效,则float2仍然是高电平。因此,float2上的高电平可激活N76。当pclk随后转变为高电平时,N77被激活。因此,在(4)处通过N76和N77将S拉到低电平,同时S由此被驱动为高电平。
[0071] 集成电路触发器选择:
[0072] 图9-图12是针对用于确定IC中特定触发器的触发器类型的方法和装置。在IC设计期间,重要的是知道哪些触发器电路将操作为主从双稳态触发器而哪些将操作为脉冲触发器。各种因素可用于作出这样的确定。这些因素可包括:通过触发器电路的延迟时间、触发器电路之间的延迟时间、上述最小时间问题的影响和期望的操作频率。
[0073] 对于某些触发器电路,如果直到设计过程后期才可能确定最佳的或正确的触发器类型选择,其可能是困难的。到这个时候,可能在很大程度上确定了IC的平面安排图。在设计过程后期更改IC的平面安排图可能导致显著的额外费用、额外的上市时间或两者兼而有之。因此,期望触发器类型的选择不会影响IC的平面安排图。
[0074] 图9和图10示出了可用于IC的一个实施例中的不同类别的触发器类型101/102。在图9中,IC 100可包括三个不同的触发器类型:非关键、关键和频率限制器。可各自使用主锁存器('Μ')和从锁存器('S')来实现非关键和关键触发器102。可使用单个从锁存器('S')来实现频率限制器触发器101。
[0075] 所示例子中触发器类型101/102中的每个锁存器可包括被耦合以接收时钟信号的时钟输入。响应于接收的时钟信号的特定状态,锁存器可能是透明的。如本文所用,应用到触发器电路的术语“透明”可被定义为:当锁存器电路处于捕获在各自数据输入上接收的数据并使得各自的输出对应地响应的状态。例如,当在各自的输入上接收的从逻辑0到逻辑1的数据变化使得在其各自的数据输出上对应地变化(例如另一个逻辑0到逻辑1)时,锁存器可被认为是透明的。注意的是,锁存器可被逻辑反相,因此输入上逻辑0到逻辑1的转变在这种情况下可能会使得输出上对应的逻辑1到逻辑0的变化。当其处于使得在其各自输入上接收的数据变化未在其各自输出上反映的状态时,如本文所定义,锁存器不是透明的。因此,非透明锁存器输入上逻辑0到逻辑1转变并未导致该锁存器输出的任何变化。非透明状态也可以被称为保持状态。
[0076] 在此实施例中,触发器类型102的每个主锁存器包括响应于有效低电平条件(例如当时钟为低电平时)的时钟输入。因此,当时钟为低电平时,每个主锁存器被配置为透明。相反,当在其各自时钟输入上的时钟信号为高电平时,此实施例中的每个从锁存器(在触发器类型101和102上)被配置为透明。因此,对于触发器类型102,主锁存器和从锁存器对于相反的时钟信号状态是透明的。
[0077] 图10提供用于示出触发器类型的分类的例子。触发器类型的分类可基于在IC 100内的特定触发器的安排以及它与也在IC中实现的其它触发器的关系。
[0078] 非关键触发器可能是在两个触发器之间或者在不同状态元件之间很少有或没有逻辑延迟的那种触发器,该触发器在不同状态元件中是中间元件。在本文用于示出非关键触发器的例子中,在寄存器文件105和状态机106之间实现触发器102。这些电路中的每一个都被耦合以接收时钟信号pclk,而其各自的操作与之同步。除了触发器102以外,没有逻辑电路耦合在寄存器文件105和状态机106之间。因此寄存器文件105和触发器102之间没有逻辑延迟,触发器102和状态机106之间也不存在任何逻辑延迟。
[0079] 寄存器文件105和状态机106之间的信号传送旨在根据pclk信号以有序方式进行,用以确保后面的正确操作。更具体而言,在这个特定的例子中,寄存器文件105和状态机106之间的特定信号状态传送旨在于pclk信号的两个单独周期上发生。因此,在这种情况下,防止最小时间问题是重要的考虑。如果遭遇到最小时间问题,可能存在竞态条件,其中信号状态在其透明期间通过触发器102,使得只在pclk的周期上流逝,用于寄存器文件105和状态机106之间的信号传送。在期望时提前一个周期接收信号状态从而可能导致状态机106故障,其反过来又可以使得其中实现其的IC不可操作。因此,被指定非关键的触发器102可被实现为传统的主从双稳态触发器,其中主锁存器和从锁存器并不同时透明。在这种主从双稳态触发器中,最小时间问题是不相关的,因为直到时钟信号的第二个周期才同样地传送根据时钟信号的第一周期接收的信号。因此,返回到图10所示的非关键触发器的例子,可通过将非关键触发器102实现为主从双稳态触发器来实施用于寄存器文件105和状态机106之间信号传送的两个周期的时钟信号的要求。各种传统类型的主从双稳态触发器可用于实现非关键触发器102。
[0080] 在被指定为频率限制器的触发器的情况下,最小时间问题不是因素。在图10所示的例子中,两个触发器101是由逻辑电路109隔开。本例中的逻辑电路109的逻辑门包括AND、OR、NAND、NOR、XOR和XNOR门,具有这些门类型中的某些的多个实例。因此,显著数量的逻辑延迟存在于图左边触发器101的Q输出和图右边触发器101的D输入之间。
[0081] 由于被指定为频率限制器的触发器之间的逻辑延迟量,主要关注的可能是通过触发器本身的延迟。由于遭受到显著逻辑延迟量的信号路径可能是频率限制(例如可能限制时钟频率,其各自的IC可以该频率操作),期望最小化通过触发器101本身的延迟。因此归类为频率限制器的触发器101可被实现为具有单级的时钟锁存器/脉冲触发器。可选择用于触发器101的特定电路配置以最小化具有增加的IC操作频率的目标的任意开关延迟。
[0082] 这种电路的一种可能实现可能类似于图5的脉冲触发器50,去除了输入电路52。从脉冲触发器50去除输入电路52可最小化从其输入到其输出的延迟,同时去除了其对第二时钟信号的依赖。因此这种电路在pclk为高电平的任何时刻可能是透明的。
[0083] 关键触发器可能是落到非关键触发器和频率限制器触发器之间某处的那种触发器。可相对容易地识别非关键触发器和频率限制器触发器,从而确定用于这些情况的触发器类型还可能容易发生。相比之下,此例中的非关键触发器是其中不能轻易作出这种确定的那种触发器。
[0084] 在所示的例子中,逻辑电路107在两个触发器102之间路径中包括两个门,从而有两个逻辑门延迟。依赖于由这些门提供的延迟量,最小时间问题可能存在或可能不存在。如果存在最小时间延迟,被识别为关键的触发器可被实现为主从双稳态触发器。如果最小时间延迟不存在,则关键触发器可被实现为脉冲触发器。因此,本文所述的方法可用于确定哪些关键触发器可被实现为脉冲触发器而哪些将被实现为主从双稳态触发器。
[0085] 返回到图9,注意的是,每个非关键触发器的每个主锁存器和从锁存器被耦合以接收pclk信号。正如前面所指出,当接收的时钟信号为低电平时,此特定例子中的主锁存器是透明的,而当接收的时钟信号为高电平时,从锁存器是透明的。因此,通过耦合非关键触发器的主触发器和从锁存器以接收pclk信号,其透明窗可能彼此排斥。
[0086] 关于关键触发器,其中的主锁存器最初被耦合以接收时钟信号L-clk,其不同于由各自的从锁存器接收的pclk信号。当在第一模式中操作时,L-clk信号可被提供为与pclk信号类似的时钟信号。因此,当在第一模式中操作时,关键触发器可起主从双稳态触发器的作用。在第二操作模式中,L-clk信号可被禁止,因此时钟单元92可在其对应的信号线上传送DC(直流)信号。在此特定实现中,DC信号可被保持低电平,因此每个关键触发器的主锁存器可被保持透明。因此在第二操作模式中,关键触发器可操作为脉冲触发器。
[0087] 对于IC 100的至少一个初始版本,为了帮助确定这些触发器随后被实现为主从双稳态触发器还是脉冲触发器,可在第一模式和第二模式两者中操作关键触发器。可在单独的基础上评估每个关键触发器。这可能允许IC 100的某些性能和功率特性的细粒度优化,这与其中必须基于组评估触发器的方法形成对照。只有将为其实现为主从双稳态触发器的操作的那些触发器需要在修订中修改。此外,通过只改变单个连接而执行修改。
[0088] 对于在IC 100的后续修订中将被实现为主从双稳态触发器的那些关键触发器,其各自的主锁存器可被重新连接以接收pclk。这可通过为将被实现为主从双稳态触发器的每个关键触发器的主锁存器改变通孔连接实现,即在其上传送的L-clk信号的信号线到其上传送pclk信号的信号线。为了改变通孔连接,可为随后的修订改变IC 100的金属层。
[0089] 对于在IC 100的后续修订中将被实现为脉冲触发器的那些关键触发器,连接可能如最初实现的那样保持,同时各个主锁存器耦合到在其上传送L-clk信号的信号线。在IC 100的正常操作期间,在开发后,操作可能发生在第二模式中,同时L-clk信号保持到DC电平(例如在本例中为低电平)。因此,被实现为脉冲触发器的每个关键触发器的主锁存器可保持透明,而对应的从锁存器可根据pclk信号操作。
[0090] 参照图3-图8所述电路的各种实施例可用于实现关键触发器。例如,通过初始连接器件P32和P34的栅极端子来接收L-clk信号,而器件N33接收pclk信号,脉冲触发器30的实施例可用于实现关键触发器。在这种实施例中,输入电路32可充当主锁存器,而采取的传送电路34和存储电路36的结合可充当从锁存器。如果评估单个实例的脉冲触发器30作为关键触发器确定:期望将其实现为主从双稳态触发器,则可为IC 100的随后修订改变(通过改变金属层)P32和P34各自的栅极连接,用以将它们耦合到pclk信号的信号线。在这种情况下,电路将抵御最小时间问题而坚固,因为输入电路32在pclk的相反相位上透明,而不是作为传送电路34的从锁存器组件。如果评估单个实例的脉冲触发器30确定期望操作为脉冲触发器,则P32和P34的栅极端子可与其上传送初始L-clk信号的信号线保持连接。正如前面所指出,在正常操作期间,用于L-clk的信号线在正常操作期间保持低电平。因此,如果P32和P34各自的栅极端子耦合到L-clk信号线,则当L-clk信号线保持低电平时,输入电路32保持透明,从而使得图3的电路能够操作为脉冲触发器。
[0091] 图5和图7中所示电路的变化可类似地用于实现IC 100初始版本中的关键触发器。在某些情况下,可要求为时钟输入提供反相器,或需要用相反极性的器件替换某些器件(例如用PMOS器件替换某些NMOS器件)。基于到主锁存器的时钟连接,使得这些电路能够被实现为关键触发器的这种修改对于本领域技术人员将是显而易见的,所述关键触发器易于在主从双稳态触发器操作和脉冲触发器操作之间切换。
[0092] 为了将IC 100初始版本中的关键触发器操作为主从双稳态触发器,同时防止最小时间问题成为问题,重要的是确保主锁存器和从锁存器的透明窗不重叠。在这个特定的例子中,这可通过仅当L-clk也为高电平时确保pclk为高电平来完成。时钟单元92经安排以确保这种类型的时钟对齐。
[0093] 时钟单元92的一个可能实施例示于图11中。在所示实施例中,时钟单元92被耦合以接收单个时钟信号clk并产生两个时钟信号pclk和L-clk。可由所示实施例中的NAND门G2接收clk信号,其还被耦合以接收脉冲宽度调制器93的输出。此实施例中产生的NAND门G2的输出是具有基于脉冲宽度调制器93输出的占空比的脉冲。NAND门G2的输出可由反相器I2逻辑反相。反相器I2的输出可由两个反相器I1接收,而I1的输出可被提供为NOR门G1的输入。NOR门G1的输出在本例中被提供为L-clk信号,而反相器I1的输出也被提供给反相器I3,其反过来提供pclk信号。由于这些信号两者都是基于反相器I1的输出产生的,且两者都受到近似相同的门延迟,其上升沿和下降沿因此可大体上对准。由于本文所述实施例中的主锁存器和从锁存器在相反时钟相位(对于从锁存器是高电平,对于主锁存器是低电平)上透明,所以其各自的透明窗不重叠。
[0094] 在第一模式和第二模式中选定的一个模式的操作可由时钟单元92控制。在所示实施例中,时钟单元92被耦合以接收低功率模式信号lpm。更具体而言,lpm可由此特定实施例中NOR门G1的一个输入接收。当lpm信号为低电平时,第一模式中的操作可能发生。当lpm信号为低电平时,NOR门G2的输出可能依赖于反相器I2的输出,因此L-clk可能是脉冲。当L-clk信号是脉冲时,具有用于图9所示的主锁存器和从锁存器的分离时钟连接的关键触发器可在第一模式中操作为主从双稳态触发器。当lpm信号为高电平时,NOR门G2的输出可保持低电平,从而L-clk是直流低电平。当L-clk信号是直流低电平时,具有图9所示的时钟连接的关键触发器可在第二模式中操作为脉冲触发器。
[0095] 如图9所示,可改变由时钟单元92产生的时钟信号的脉冲宽度。在这个特定实施例中,该改变包括一个或两个脉冲宽度。更具体而言,可根据可由脉冲宽度调制器93接收的“long”信号改变脉冲宽度。当断言long信号时(例如,此实施例中的逻辑1),产生的pclk和L-clk的脉冲宽度可能大于未断言long信号时(例如逻辑0)。具有比此处示出更多(例如4个)脉冲宽度变化数量的时钟单元92的实施例是可能和可设想的,因此long输入可包括两个或更多个单独的信号。
[0096] 所示实施例中的脉冲宽度调制器93可能是可用于改变输出时钟脉冲的脉冲宽度的任意类型的电路。在这个例子中,脉冲宽度调制器被耦合以接收pclk信号,并可基于pclk和long信号的状态产生对应的输出信号(提供作为NAND门G2的输入)。可使用锁相环(PLL)、延迟锁定环(DLL)或可使得pclk的脉冲宽度变化的状态机实现脉冲宽度调制器93。通常,可以图9所示的关键触发器的主锁存器和从锁存器不同时透明的这种方式,通过使用可用于输出两个彼此对准的分离时钟信号的任意类型的时钟电路而实现时钟单元92。
[0097] 在本实施例中注意的是,产生的两个时钟信号都是具有小于50%占空比的脉冲时钟信号。然而时钟单元的实施例中,其中至少一个时钟信号(例如L-clk)是具有50%占空比的时钟信号。在这种情况下,仍然可能在两个时钟信号之间安排对准,使得图9所示关键触发器的主锁存器和从锁存器不同时透明,从而使能主从双稳态触发器操作。
[0098] 图12是在IC开发期间的评估和修订阶段基于逐个触发器来执行触发器选择的一个实施例的流程图。可一次或多次迭代执行本文所用的方法,用以确定哪些关键触发器将被实现为主从双稳态触发器而哪些将被实现为脉冲触发器。
[0099] 方法900开始于执行IC设计的初始布局(块905)。初始布局可包括:确定组成IC的各种组合和/或时序逻辑电路的器件位置和互连。可使用各种设计工具执行该布局,并可产生文件(例如GDS(图形数据库系统)II文件)初始版本。
[0100] 为了在两个或更多功能块之间提供时钟数据路径,上述布局过程还可包括:确定在IC布局中的何处放置触发器。确定将在何处实现触发器后,触发器可被分类为非关键、关键或频率限制器(块910),并可如图9所示连接以完成初始布局过程。
[0101] 非关键触发器可能是放置在具有很少或没有逻辑延迟的数据路径上的那些触发器,从而使他们可能对最小时间问题敏感。因此,非关键触发器可被实现为主从双稳态触发器。可设计主从双稳态触发器,使得其各自的主锁存器和从锁存器不同时透明。因为各自的主锁存器和从锁存器不同时透明,所以这种主从双稳态触发器可抵御最小时间问题而坚固。
[0102] 频率限制器可能是放置在具有显著的逻辑延迟的数据路径中的那些触发器,对最小时间问题几乎没有敏感性。在这种路径中,通过触发器的延迟是首要考虑,同时节能是额外的考虑。最小化这种触发器的延迟和功耗比除此以外的可能情况(如果主从双稳态触发器用于这种情况)使能更高的操作频率。因此,可使用具有单级的脉冲触发器实现频率限制器。
[0103] 将某些触发器分类为非关键或频率限制器可能是相对简单的过程。可用高置信度执行这种分类,使选择的触发器的类型适于特定的数据路径,以及将不需要触发器类型的进一步变化。相反,关键触发器是其中确定特定触发器是否应该是主从双稳态触发器或脉冲触发器不是简单过程的那种触发器。因为在具有一些逻辑延迟但比被分类为频率限制器的那些触发器延迟小的数据路径中实现关键触发器,确定最小时间问题是否是问题可能需要额外的测试。因此,如上面所指出,被指定为关键触发器的触发器最初可如图9所示连接,同时各自的主锁存器和从锁存器被耦合以接收不同的时钟信号。
[0104] 分类每个触发器类型并完成布局过程后,可在硅中实现IC的初始版本(块915)。注意的是,虽然此处用硅作为例子,但是可以使用其它材料,包括那些用于掺杂硅以创建NMOS和PMOS器件的材料。可以使用的其他材料包括石墨烯、砷化镓或适于实现IC的其他任何材料。
[0105] 一旦实现IC的初始版本,可将其测试以确保正确的操作。这种测试可包括在第一操作模式和第二操作模式中操作IC的初始版本(块920)。在第一模式中操作可包括:通过循环如上所述的pclk和L-clk信号两者,将关键触发器操作为主从双稳态触发器。在第二模式中操作可包括:当循环pclk信号时,将L-clock信号保持在DC电平(例如直流低电平)。在第二操作模式中,每个关键触发器的主锁存器可保持透明,使得这些触发器操作为脉冲触发器。可以各种频率和各种脉冲宽度执行这些模式中的操作,用以完整地训练IC。
[0106] 初始版本的测试结束后,可分析第一模式和第二模式中的操作结果(块925)。这种分析可包括:识别与第一模式和第二模式的任一个中的关键触发器相关的任何错误操作的发生。可在单独的、逐个触发器的基础上进行分析。基于第一模式和第二模式中的操作分析,为IC将来的修订而将至少一些关键触发器指定为主从双稳态触发器或脉冲触发器(块930)。例如,当在第二模式中操作时由于最小时间问题而在所有频率处造成错误操作的关键触发器可被指定为用于IC下次修订的主从双稳态触发器。相反,当在第二模式中以任意频率操作时没有造成错误操作的关键触发器可被指定为用于IC随后修订的脉冲触发器。在第一模式中操作时防止IC满足频率目标但在第二模式中却没有引起错误操作的关键触发器可被指定为用于IC下次修订的脉冲触发器。
[0107] 注意的是,在测试IC的原始版本后,并非所有的关键触发器被指定为主从双稳态触发器或脉冲触发器。在一些情况下,为每个关键触发器作出这种确定可能需要几次迭代,因为一些关键触发器的错误操作在可能在以其他方式在两种操作模式中按照预期操作的其他关键触发器中导致相同问题。因此,迭代的过程可为被指定为关键的单个触发器协助作出这种确定。
[0108] 在至少一些关键触发器已被指定为主从双稳态触发器后,可为IC的下次修订改变金属层(块935)。改变金属层可包括:通过在芯片制造中制造设备而改变GDSII文件。改变金属层可从在其上传送L-clk的信号线断开关键触发器的主锁存器,随后将其连接到其上传送pclk的信号线。此通孔变化从而使得变化的关键触发器的主锁存器和从锁存器接收pclk信号,同时主锁存器响应于和从锁存器相反的相位。
[0109] 完成金属层改变后,可在硅中实现IC的随后修订(块940)。可在如上所述的第一模式和第二模式中操作下次修订(块945)。在第一模式和第二模式中操作IC的下次修订可允许验证通过改变金属层而做出的对某些关键触发器的改变,并有助于定位导致错误操作或失败的另外的关键触发器,用以满足操作模式之一的性能目标。
[0110] 一旦针对块945完成操作,可能再次分析结果(块950)。可执行操作期间获得的结果的分析。如果确定令人满意地执行的IC目前修订,从而满足所有性能指标和操作规范,则可完成触发器选择过程(块955,是)。如果由于任何原因,性能不令人满意(块955,否),或者某些关键触发器还未被指定,则该方法可返回到块930并执行另一次迭代。可执行迭代,直到已为之前被指定为关键触发器的所有触发器作出指定。正如之前所指出,可在单个的基础上执行:将关键触发器指定为主从双稳态触发器或脉冲触发器,从而允许用于IC设计的触发器选择中的最大粒度。这反过来有助于优化IC设计的性能和其功耗。
[0111] 虽然已参考特定实施例描述了本发明,但将理解的是,实施例是说明性的,而本发明的范围不受限制。实施例的任意变化、修改、增加和改进是可能的。这些变化、修改、增加和改进可能落入正如下列权利要求内详述的本发明的范围之内。