集成电路及用于微调一集成电路时钟信号的方法和系统的制作方法

文档序号:7506678阅读:248来源:国知局
专利名称:集成电路及用于微调一集成电路时钟信号的方法和系统的制作方法
技术领域
本发明有关于一集成电路上连续逻辑方块的频率,尤指在除错及测试程序中完成关键时序路径(critical timing path)辨识及分析之后,用于微调及永远程控时钟信号的相位差(skew)的方法及装置。
背景技术
集成电路设计者已使用模拟及/或测试,来辨识、区隔及分析芯片上的时序问题,通常这些问题在最好的情况下,只是使芯片不能以目标时钟速度来执行,但最坏的情形则会导致芯片在大量制造之前,必须进行设计上的修改。通常,会利用芯片上每个逻辑方块内的缓存器逻辑单元,将数据传送到后续的逻辑阶段,或从先前的逻辑阶段接收数据。若一逻辑方块所执行的运算具有相关的关键延迟路径(critical delay path),且其使得有效数据在一特定时钟速度下,直到下一逻辑阶段的时钟边缘产生后,才被送至用来栓锁(latch)此数据的下一逻辑阶段,则此时会发生准备时间问题。而若该逻辑方块将有效数据送至下一逻辑方块,但此数据在用来栓锁此数据的下一逻辑方块产生一时钟边缘前,就变成无效,则此时会发生维持时间问题。在准备时间问题的情形,对有效数据的传送而言,下个逻辑阶段的栓锁时钟边缘产生得太早。在维持时间问题的情形,则是下个逻辑阶段的栓锁时钟边缘产生得太晚。
图1A绘示一电路100的简化方块图,该电路100具有二个代表性的连续逻辑方块101及103,可接收时钟信号。第一逻辑方块101(逻辑方块1)接收第一时钟信号ECLK1,并将数据信号DATA送到第二逻辑方块103(逻辑方块2),其会接收第二时钟信号ECLK2。图1B对照显示电路100在同步化的时钟与具相位差(skewed)的时钟下运作的时序图。该时序图绘示了ECLK1、ECLK2及DATA信号相对于时间的波型(Trace)。特定时间点显示于其中,依序为T1、T2、T3、T4及T5。
图1B中,前二个波型显示ECLK1及ECLK2时钟信号为同步的情况,以解说准备时间问题。例如,如图所示,ECLK1及ECLK2信号具有同步边缘,包括在时间T1,实质上同时产生的下降缘,以及在时间T3,实质上同时产生的上升缘。第三个波型则显示来自于第一逻辑方块101的DATA信号的相对时序,其中DATA信号在时间T4(其在时间T3后),会切换而变为有效。同步时钟的情况用来说明准备时间的问题,其中第一逻辑方块101具有一关键延迟路径,以致于直到时间T3的上升时钟缘产生后,DATA信号在时间T4产生的有效数据才会被送到逻辑方块103。由于逻辑方块101中的工作延迟比一时钟周期的时间还长,所以ECLK2在时间T3产生上升缘时,无效数据即被送入逻辑方块103。
图1B中,第四及第五波型显示ECLK2信号相对于ECLK1信号具有相位差的情况。特别是,第四波型中ECLK1信号的变化情形与第一波型的ECLK1信号相似。第五波型显示相对于ECLK1,具有相位差的ECLK2,其中ECLK2的下降缘产生于时间T1后的时间T2,而ECLK2的后续上升缘则产生于时间T4后的时间T5。具相位差的时钟的情况说明通过将ECLK2相对于ECLK1进行延迟,可消除准备时间问题。特别是,ECLK2的上升缘会被延迟,直到DATA信号变成有效,因此可使来自于第一逻辑方块101的数据有效地转移到第二逻辑方块103。
迄今,设计者已提出硬件接线(hardwired)逻辑单元,可使送到连续逻辑方块的时钟具有相位差,以解决关键路径及维持时间的问题。但是,这样的解决方式所提供的时钟相位差,在实作后即不能改变,除非修改芯片的设计。再者,参考前述的例子,一般本领域技术人员即可了解到,只有在第二逻辑方块103有可进行延迟的余裕时,才能延迟ECLK2。另一种解决方式为,将前一逻辑方块(如逻辑方块101)栓锁送入数据所用的时钟提前,以使其留有更多时间进行工作。然而,这种解决方式并不总是可行,且可能导致新的不可预见的时序问题。
实际上,将一芯片设计做成产品之前,设计者会分析及仿真集成电路中的复杂逻辑路径。但是本领域技术人员都了解,时钟相位差中的些微差异并无法足够精确地进行仿真,且产品制程的变化也无法精确地模型化。因此,所制造的集成电路经常会出现一些不可预期的关键时序路径,而迫使设计者需在出货之前进行处理。因此,在芯片已制成且时钟相位差已确立之后,若再发生任何准备时间问题,只能通过降低元件的时钟速度来消除。更糟的是,此时若发生维持时间问题,将使芯片完全无法运作。不论是哪一种情况,都需要在设计上做明显的修改(通常包括改变屏蔽,电子光束分析等),来修正这些类型的问题。

发明内容
本发明的一实施例提供一种IC,其包括多个可编程时钟相位差缓冲器、一固定相位差逻辑单元、一外部接口及一相位差控制器。每一可编程时钟相位差缓冲器均用以接收一分布时钟信号以提供一对应的内含一编程相位差的区域时钟信号。该固定相位差逻辑单元则用以致能多个静态相位差量的永久性编程。该外部接口则用以致能动态相位差量的编程。该相位差控制器耦接至该外部接口、该多个可编程时钟相位差缓冲器及该固定相位差逻辑单元,该相位差控制器择一使用该多个静态相位差量或是动态相位差量,以根据该多个被选中的相位差量,程控该多个可编程时钟相位差缓冲器。
在另一实施例中,该相位差控制器可在重置(reset)该IC时,同时检测一相位差置换命令(skew over-ride command),并且根据相位差置换命令选择使用该静态相位差量或是该动态相位差量。该可编程控制存储器可以直接整合于该IC上,亦可经由该外部接口耦接于该IC上。该相位差控制器可以是任一种永久性可编程控制区块,例如激光增压熔线(laser-blown fuses)及可编程只读存储器(EPROM)等。
本发明的又一实施例提供一种调整一集成电路时钟相位差的方法,其包括由该集成电路在重置的同时,决定是否提供一相位差置换命令;若决定不提供该相位差置换命令时,则从整合在该集成电路上的固定相位差逻辑单元选取多个相位差量;若决定提供该相位差置换命令时,则从一相位差存储器选取多个相位差量;根据所选取的该多个相位差量,编程至少一个整合在该集成电路上的可编程控制延迟区块;并且,每一可编程控制延迟区块各自接收一分布时钟信号,并根据一所选取的相位差量以提供至少一个含有一相位差的区域时钟信号。
在一实施例中,本方法包括整合该相位差存储器在该集成电路上,该相位差存储器做为一动态存储器,并且经由一外部接口,以编程该相位差存储器。该方法包括编程在该集成电路上的一相位差置换位,并且在该集成电路重置时,读取该相位差置换位。该方法包括在编程该相位差存储器及该相位差置换位时,将该集成电路保留在重置状态。该方法包括测试该集成电路,并且该集成电路以该多个动态相位差量进行编程;重复该测试与编程以决定一组最佳相位差量;并且,使用该组最佳相位差量对该固定相位差逻辑单元进行编程。
本发明的再一实施例提供一种调整一集成电路时钟信号的统,其包括一永久可编程控制区块,该永久可编程控制区块用以永久性的编程至少一个固定相位差量;可编程控制逻辑单元,该可编程控制逻辑单元用以储存至少一个动态相位差量;至少一个时钟缓冲器;以及,一相位差控制器,该相位差控制器用以在该固定相位差量与该动态相位差量之间择一,并用该选择的相位差量对该时钟缓冲器进行编程。每一时钟缓冲器均包括可编程控制延迟逻辑单元,该可编程控制延迟逻辑单元根据一选择的相位差量,用以延迟一时钟信号。
本发明具有以下有益技术效果可以在测试一元件时,检测出该元件的最佳区域时钟相位差,使得该元件达其最大时钟速率;可提供一种用于除错关键路径问题及检测区域时钟相位差的装置,此装置可消除可能会导致某些部件损坏的问题;其不同于导致芯片布局需要修改的复杂技术(如电子光束分析),而可通过简单的测试分析技术(如JTAG技术),量化地测量及补偿制程变化所产生的效应。可以致能该元件或是使元件达到其最大时钟速率的最佳区域时钟相位差可以经由任何合宜编程装置而被永久的编程于芯片中,该合宜编程装置可为熔线、EPROM或其它类似装置。


本发明的效益、特征及优点,在配合下列说明及所附图示后,将可获得更好的理解,其中图1A为绘示一电路的简化方块图,该电路具有二个代表性的连续逻辑方块,可接收对应的时钟信号;图1B为对照显示图1A的电路在同步化的时钟与具相位差的时钟下运作的时序图;
图2为根据本发明的一示范实施例绘示的包含一时钟相位差调整系统的集成电路(IC)的方块图;图3为图2中的一区域相位差控制器的一范例实施例的更详细的方块图;图4为区域时钟缓冲器的一示范实施例概图,其可被应用于图3中的区域时钟缓冲器阵列。
其中,附附图记说明如下100电路101,103逻辑方块200集成电路(IC)201时钟产生器203时钟分布网络205逻辑区块207区域相位差控制器209相位差控制器211固定相位差逻辑单元213测试逻辑单元215外部测试端口217芯片测试器219重置针脚(RST)221相位差存储器223相位差置换命令(SOC)位301延迟中止逻辑单元303区域时钟缓冲器阵列(M区域时钟)400时钟相位差缓冲器401、403、405反相器/缓冲器具体实施方式
以下说明是在特定实施例及其必要条件的脉络下而提供,可使一般本领域技术人员能够利用本发明。然而,各种对实施例所作的修改,对本领域技术人员而言乃是显而易见的,并且,在此所讨论的一般原理,亦可应用至其它实施例。因此,本发明并不限于此处所展示与叙述的特定实施例,而是具有与此处所揭示的原理与新颖特征相符的最大范围。
本发明提供给集成电路(IC)设计者一种装置及方法,该装置及方法用以在对一集成电路进行测试及除错时,动态的控制其区域时钟,并且将最佳的时钟相位差编程到一组合元件中。据此,本发明开发出一种在一组合元件上的微调集成电路时钟信号的装置及方法,可永久性的建立最佳的时钟相位差,使得速率可达最大值,并可对所有预料之外的问题有一补偿作用,如下文配合图2至图4做进一步说明。
本发明提供一种装置及方法,该装置及方法用以在对一集成电路进行测试及除错时,动态的控制其区域时钟,并且将最佳的时钟相位差编程到一组合元件中。在没有该编程相位差的情况下,在起动时,该组合元件将经由一固定相位差逻辑单元方块使用时钟相位差,该固定相位差逻辑方块可为熔线及可编程只读存储器(EPROM)等,并且该多个时钟相位差被编程到该芯片本身中。测试用的时钟相位差储存在一相位差存储器中,而当重置时,一整合于该芯片上的相位差控制器则被指令去使用存于该相位差存储器的相位差。该相位差存储器可为一整合于该芯片上的动态存储器,并可经由一外部接口被载入。该相位差的延迟可以依照预定的幅度递增,但不超过一最大值。当检测到一组最佳的时钟相位差时,相位差值即永久的被储存在该固定相位差逻辑单元。通过使用动态可编程控制区域时钟相位差与永久性建立最佳时钟相位差,一特定零组件(或说一特定部份)的速率即可达最大值,并可对所有预料的外的问题有一补偿作用。在此情形下,该零组件(或说一特定部份)即可被最佳化,或是致使原本无法运作的零组件(或说一特定部份)可重行运作,并被最佳化。
图2根据本发明的一示范实施例绘示的包含一时钟相位差调整统的集成电路(IC)200的方块图。在所绘示的示范实施例中,IC 200为微处理器,然而要了解到的是,本发明可应用于建造于芯片上的任何型式的电路或功能。该IC 200包括一时钟产生器201,该时钟产生器201用以产生一原始时钟信号,即CORE CLK。该CORE CLK信号会被送到时钟分布网络203。时钟分布网络203会提供多个分布副本或版本的该CORE CLK信号,分别表示为信号EEE CLK1、EEE CLK2,...,EEE CLKN,其中N为大于0的整数。每一EEE CLKx信号(其中x为一选自1至N的任一整数)均分别被送至内建在该IC 200上的多数逻辑方块205的某一者。该多个逻辑方块205可分别表示为逻辑方块1,逻辑方块2,...,逻辑方块N,其中该逻辑方块205的数量,即整数值N,取决于整合于该IC 200上的特别功能。一般而言,该多个逻辑方块105代表实施于该IC 200的元件的主要逻辑方块。
每一逻辑方块205若不是包括即是连接至一对应的区域相位差控制器207,该多个区域相位差控制器207分别表示为LOCAL CTRL 1,LOCALCTRL 2,...,LOCAL CTRL N。每一区域相位差控制器207均各自接收一对应的EE CLKx信号,并提供对应的一组时钟信号,该组时钟信号可包括一或多个区域或“E level”时钟信号,该多个区域或“E level”时钟信号以ECLKSx代表,每一时钟组则分别表示E CLKS1,E CLKS2,...,E CLKSN。每一E CLKSx代表一组时钟信号,且该组时钟信号可包括一或多个区域时钟信号,详如下述。该多个E CLKSx信号为大体上同步的,即大体上具有同时边缘(coincident edges),虽然其个别的时序可依其过程变化及其物理因素的不同而不同,例如CLKx信号在芯片上的位置、电容耦合、信号迹特性等。该多个区域相位差控制器207将一编程相位差插入到每一组E CLKSx中的每一区域时钟信号中,使得其相对的时序均取决于该多个编程相位差。
IC 200包括一相位差控制器209,该相位差控制器209可在一延迟值信号线(delay value signal line)上输出一或多个延迟值,而每一区域相位差控制器207均分别与一延迟值信号线连接。在本发明的一具体实施例中,该多个延迟值为一串行的二进制编码延迟比特流。该IC 200还包括一固定相位差逻辑方块211,该固定相位差逻辑方块211经由一或多条固定相位差值信号线(fixed skew values signal line)以输出固定相位差值(至该相位差控制器209。在该IC 200上的一测试逻辑单元213与该相位差控制器209相耦合,并经由该IC 200上的外部测试端口215与外界联通。测试逻辑单元213可经由IC 200所提供的外部接口或外部测试端口215,从外部进行存取。测试端口215可包括IC 200上任意数目的外部接脚,而这些外部接脚可以是测试接脚会是双功接脚(dual prupost pin),就如一般本领域技术人员所已知的。芯片测试器经由测试端口215(其可作为芯片测试器217与测试逻辑单元213之间的传输接口),而耦接至IC 200。
测试逻辑单元213及测试端口215可根据JTAG(Joint Test ActionGroup,联合测试动作群组)来实作,其中测试逻辑单元213包括JTAG逻辑单元。在标准测试架构中,芯片测试器217包括插槽或类似之物(未显示),用以连接IC 200。芯片测试器217能控制IC 200的外部接脚,包括一重置(RST)接脚,其用以导通一信号R。在典型的JTAG架构中,例如,在对IC 200进行组态用以测试时,芯片测试器217会启动IC 200的电源,并且经由确认该信号R将其保持于重置状态。在测试组态期间,虽然IC 200保持于重置状态,但是芯片测试器217能经由测试端口215,来存取测试逻辑单元213,并且设定选取缓存器中的值或位,或甚至加载测试数据及/或用于测试及除错用途之一或多种测试或除错例程。然后,当并视及控制IC 200的运作时,芯片测试器217会释出该信号R以使IC 200离开重置状态。
在本发明的一具体实施例中,当将动态时钟相位差值经由IC 200内的动态相位差值(DSV)信号线加载至一与相位差控制器209耦接的相位差存储器221时,芯片测试器217会将IC 200保持于重置状态。该相位差存储器221可以是任何动态或挥发性存储器元件,亦可以是任何在IC 200起动时,仍可维持其状态的可编程控制逻辑单元。如其组态所示,测试逻辑单元213致能相位差存储器221可以经由相位差控制器209被外界存取。显而易见的,若相位差存储器221是整合在IC 200上,则该存储器221可位于IC 200的任何位置,并且可以方便被外界存取,例如该相位差存储器221可以直接与测试逻辑单元213耦接,或是内建有该测试逻辑单元213。在图2中,可见有一重置信号(RESET)被送至相位差控制器209,当IC 200为重置状态时,该重置信号可将相位差控制器209保持于闲置状态。当芯片测试器217释出信号R以使IC 200离开重置状态时,该相位差控制器209被组态为检测是否有一相位差置换命令存在,若存在,则取还储存在相位差存储器221的动态相位差值。相位差控制器209利用该多个动态相位差值以产生延迟值,并将该延迟值经由延迟值信号线送至区域相位差控制器207,以将该区域相位差控制器207编程。以此方式,为达测试及/或除错的目的,设计者可将任意相位差编程到任意在IC 200上的相位差可编程控制区域时钟缓冲器。
当在没有来自测试逻辑单元213的信号的情形下起动或重置时,例如没有提供相位差置换命令时,该相位差控制器209从固定相位差逻辑单元211取还固定相位差值,以编程区域相位差控制器207。该固定相位差逻辑单元211可以任何适宜的方式实施,例如多个可编程控制熔线,或是任何在不供电给芯片的情形下,仍可维持其设定状态的永久性可编程控制区块。该多个可编程控制熔线的一起始组态为使用非增压的熔线,使用该多个非增压熔线将导致在每一组E CLKSx信号的每一区域时钟信号均为零相位差延迟。相对的,将一部份熔线增压可提供些微相位差。在一使用EPROM的具体实施例中,该EPROM在起始时即将数据编程于其中,例如与零/些微相位差相关的数据。
在起动或重置时,相位差控制器209组态为可检测该相位差置换命令是否存在。若没有提供相位差置换命令,则该相位差控制器209会选取储蓄在固定相位差逻辑单元211的固定相位差值,否则,则会选取储存在相位差存储器221的动态相位差值。在上述任一情形下,该被选取的相位差值均会被用以产生在延迟值信号在线传送的延迟值。本发明可适用于任何合适的相位差值与其对应的延迟值的组态。在本发明的一具体实施例中,相位差值与延迟值为相同数值,在此情形下,则依序的存取该多个相位差值的位,并将之直接依序由相位差控制器209转移到延迟值信号在线。
该相位差置换命令可以任何合适的方式实施。举例来说,在图2中,相位差置换命令以一个或多个相位差置换命令(SOC)位223的形式编程在相位差存储器221中。在此情形下,该相位差控制器209组态为读取SOC位223以检测动态相位差值是否存在,若存在,则从相位差存储器221取还该动态相位差值,而非从固定相位差逻辑单元211取还固定相位差值。在一实施例中,可应用内含一程序SOC位的测试逻辑单元213来设定相位差置换命令。在另一实施例中,则可应用一位于IC 200的任一可编程控制缓存器的SOC位来实施该相位差置换命令。举例来说,一微处理器芯片可包括数个用以实施相位差置换命令的多功能缓存器。
在本发明的另一具体实施例中,在重置过程中,芯片测试器217经由外部测试端口215来设定相位差置换命令。在此情形下,相位差控制器209组态为可直接或间接经由测试逻辑单元213来监测外部测试端口215。在本发明的另一具体实施例中,如图2的虚线部份所示,相位差存储器221存于该芯片测试器217中,而非整合在该IC 200上。上述具体实施例可将IC 200上存储器所占的空间减到最少。在上述的相位差存储器并非整合在该IC 200的组态中,当脱离重置状态时,该相位差控制器209组态为从测试逻辑单元213取还该动态相位差值,而该测试逻辑单元213则从芯片测试器217取还该动态相位差值。如前所述,相位差置换命令或SOC位可应用于芯片上或非芯片上的任何型式的电路或功能来实施。
在测试或重置过程,测试逻辑单元213可利用芯片测试器217将时钟相位差或延迟编程于每一组E CLKSx中的每一区域时钟信号中。在此情形下,在测试IC 200以识别其关键时序路径时,设计者可以动态的改变其区域时钟延迟,因此得以分析时序问题,及/或决定一组最佳区域时钟相位差,该组最佳区域时钟相位差可以使IC 200达到最快速率,或致使该IC 200的废弃的功能得以重行运作。该多个最佳区域相位差永久性的编程于该IC 200,例如编程(或于重新编程)于固定相位差逻辑单元211。因此,当起动或重置IC 200时,该相位差控制器209利用编程于固定相位差逻辑单元211的该组最佳区域相位差对区域相位差控制器207进行编程。
值得注意的是,根据固定相位差逻辑单元211组态的不同,当需要将一组新的相位差延迟值进行编程时,此固定相位差逻辑单元211可以被再一次重新编程。但是,此种重新编程不适用于一次性元件,例如激光增压熔线。同时,当没有连接芯片测试器217时,不论是否有检测到用于测试及/或除错的动态相位差存储器,每一次起动或重置IC 200,相位差控制器209会取还编程于固定相位差逻辑单元211的固定延迟值,并据以对区域相位差控制器207进行编程。
图3为区域相位差控制器207的一范例实施例的更详细的方块图。该延迟值信号线连接至延迟中止逻辑单元301的一输入端,同时该延迟值信号线亦连接至任何随后的区域相位差控制器207。该延迟中止逻辑单元301提供M组编码延迟位(encoded delay bits)至一区域时钟缓冲器阵列303,该阵列303输出M个不同的区域时钟信号,即E CLK0、E CLK1、...、E CLKM。该数值「M」可以任何合宜的整数,其代表为特定的一区域相位差控制器207所产生的区域时钟信号的数量。
在本发明的一具体实施例中,每一组编码延迟位均包括3个真值位CAP0、CAP1及CAP2,与对应的3个互补位CAPB0、CAPB1及CAPB2,附加于信号名称后的「B」代表互补逻辑位。如图3所示,该多个真值位,即CAP0、CAP1及CAP2,聚为一组,而该多个互补位亦另行聚为一组,使得延迟中止逻辑单元301得以提供字节CAP2_[M:0]、CAP1_[M:0]、CAP0_[M:0]及互补字节CAPB2_[M:0]、CAPB1_[M:0]、CAPB0_[M:0]至区域时钟缓冲器阵列303。同时亦提供该多个EE CLKx信号中的一对应信号至该区域时钟缓冲器阵列303。
用来输送延迟值到每一区域相位差控制器207的延迟中止逻辑单元301的延迟值信号线可以有不定数量的位。在附图的实施例中,该延迟值信号线为单比特信号线,且该相位差控制器209输出一串行的二进制编码位值流到每一个区域时钟信号E CLKy,其中“y”代表范围为0至M的整数。举例来说,在本发明的一具体实施例中,若N=10,即有10个逻辑方块205,并且在每一区域相位差控制器207的M均等于5,则总共会有50个区域时钟信号。若每个延迟值均为3位,则该相位差控制器209须提供一串行的至少150位的比特流以对每一个区域时钟信号进行编程。每一延迟中止逻辑单元301组态为可从该延迟值流取得一对应的15个位,即该延迟中止逻辑单元301中的5个区域时钟信号各自均有3个编码位。每一延迟中止逻辑单元301更被组态为以CAPi_[M:0]及CAPBi_[M:0]的形式输出该多个取得的延迟位至其区域时钟缓冲器阵列303。以上述的3位为例,若DV=001b,其中附加于数字后的小写字母“b”表示二进制记号,则该延迟位包括一延迟位为001b的真值字节及一延迟位为110b的互补字节。
图4为区域时钟缓冲器400的一示范实施例概图,其可被应用于图3中的区域时钟缓冲器阵列303的每一区域时钟信号E CLKy。EE CLKx信号会送到一反相器/缓冲器401的输入端,而反相器/缓冲器401会在其输出端设定一信号IN 0,送到另一反相器/缓冲器403的输入端。反相器/缓冲器403会在其输出端设定一信号IN 1,而耦接到另一反相器/缓冲器405的输入端。反相器/缓冲器405会在其输出端设定一对应区域时钟信号E CLKy。要注意的是,在图示的实施例中,由于反相器的数量为奇数,E CLKy信号会反相于对应的EE CLKx信号。额外的反相器/缓冲器(未显示)可用来使时钟信号再次反相,而若有需要,可将反相器/缓冲器401、403或405中的任一个组态为缓冲器。
CAP0节点耦接至二个N通道元件N1及N2的栅极,而CAPB0节点耦接至二个P通道元件P1及P2的栅极。CAP1节点耦接至一对N通道元件N3及N4(合起来标示为N4:N3)的栅极,并耦接至另一对N通道元件N5及N6(合起来标示为N6:N5)的栅极。CAPB1节点耦接至一对P通道元件P3及P4(合起来标示为P4:P3)的栅极,并耦接至另一对P通道元件P5及P6(合起来标示为P6:P5)的栅极。CAP2节点耦接至一阵列的四个N通道元件N7、N8、N9及N10(合起来标示为N10:N7)的栅极,并耦接至另一阵列的四个N通道元件N11、N12、N13及N14(合起来标示为N14:N11)的栅极。CAPB2节点耦接至一阵列的四个P通道元件P7、P8、P9及P10(合起来标示为P10:P7)的栅极,并耦接至另一阵列的四个P通道元件P11、P12、P13及P14(合起来标示为P14:P11)的栅极。
N通道元件N1、N3、N4与N7-N10的漏极,以及P通道元件P1、P3、P4与P7-P10的漏极均会耦接至反相器/缓冲器401的输出端。N通道元件N2、N5、N6与N11-N14的漏极,以及P通道元件P2、P5、P6与P11-P14的漏极均会耦接至反相器/缓冲器403的输出端。所有N通道元件及P通道元件的的源极会浮接(浮接源极),所以在信号转态期间,从反相器/缓冲器401与403的输出端,会看到每个所耦接的元件的通道及源极电容。
所示范的局部时钟缓冲器400使用具有一或多个中间节点的循序耦接(sequentially-coupled)缓冲器,以及耦接至一或多个中间节点的二元分布N通道及P通道阵列来实施,以达成可数字控制的相位差。特别是,N通道元件N1、N4:N3及N10:N7会构成二元分布的N通道阵列,而P通道元件P1、P4:P3及P10:P7会构成对应的互补且二元分布的P通道阵列。以类似的方式,N通道元件N2、N6:N5及N14:N11会构成另一个二元分布的N通道阵列,而P通道元件P2、P6:P5及P14:P11会构成另一个对应的互补且二元分布的P通道阵列。在附图所示的实施例中,从EE CLKx信号到E CLKy信号之间会提供二阶段的延迟,以补偿P通道及N通道元件的不同的导通及关闭特性。例如,第二阶段(IN0到IN1)中的N通道元件关闭特性会补偿第一阶段(EECLKx到IN0)中的P通道元件导通特性。每个时钟缓冲器的特定架构仅是范例,而一般本领域技术人员皆能明了,此处亦可使用任何其它型式的数字可编程延迟逻辑单元。
CAP0/CAPB0节点用以控制一组N及P通道元件(M1/P1及N2/P2),CAP1/CAPB1节点用以控制二个阵列的类似N及P元件(N4:N3/P4:P3及N6:N5/P6:P5),而ACAP2/ACAPB2节点则用以控制四个阵列的N及P元件(N10:N7/P10:P7及N14:N11/P14:P11)。以此方式,设定CAP2节点所导致的EE CLKx信号的延迟,为设定CAP0节点所导致EE CLKx信号延迟的四倍。在一实施例中,每对P及N通道元件会匹配,以提供实质上相同的电阻/电容(RC)特性,使得该3位编码信号每递增一次,即能多延迟一相当固定的延迟单位。在一示范实施例中,每个延迟单位约为6微秒(ps)。因此,当CAP0节点设定为高电位(逻辑1),而CAPB0节点设定为低电位(逻辑0)时,在EECLKx信号与E CLKy信号之间,会增加6ps的延迟。以类似的方式,当CAP1节点设定为高电位,而CAPB1节点设定为低电位时,会增加12ps的延迟,而当CAP2节点设定为高电位,而CAPB2节点设定为低电位时,会增加24ps的延迟。例如,CAP2:CAP0=011b的值即相当于通过局部时钟缓冲器400会产生约18ps的总时钟延迟等。总之,使用3位延迟ACAP2:ACAP0节点,可使延迟在0到48ps的范围内以6ps为单位增加。本领域技术人员将了解到,设定CAPx及CAPBx信号的所以可产生如前述的延迟,是由于通道至栅极电容的形成,此种电容对应元件在其相关CAPx及CAPBx信号被设定时,从栅极所看到的。例如,一N通道元件会看到一通道至栅极电容,此因当其栅极为高电位时,从其漏极到源极会形成一反转通道,而形成通过N通道元件的漏极所看到的通道至栅极电容。若该N通道元件的栅极为低电位,则不会形成反转。例如,考虑元件N1(忽视寄生电容),若CAP0为高电位,则信号IN0会看到N1的栅极电容、源极电容及漏极电容。但若CAP0为低电位,则信号IN0只会看到N1的漏极电容。如图4所组态的P通道元件在其对应的ACAPBx信号被设为低电位时,亦会产生类似的延迟。
根据本发明的实施例,本发明的一项优点是,可以在测试一元件时,检测出该元件的最佳区域时钟相位差,使得该元件达其最大时钟速率。另一项优点为,可提供一种用于除错关键路径问题及检测区域时钟相位差的装置,此装置可消除可能会导致某些部件损坏的问题。第三项优点为提供一种技术,其不同于导致芯片布局需要修改的复杂技术(如电子光束分析),而可通过简单的测试分析技术(如JTAG技术),量化地测量及补偿制程变化所产生的效应。可以致能该元件或是使元件达到其最大时钟速率的最佳区域时钟相位差可以经由任何合宜编程装置而被永久的编程于芯片中,该合宜编程装置可为熔线、EPROM或其它类似装置。
虽然本发明及其目的、特征与优点已详细叙述,其它实施例亦可包含在本发明的范围内。例如,若需要的话,可增设额外的阵列式N通道及P通道元件阶段或层级,以提供更多的延迟。此外,虽然本揭示考虑金氧半导体(MOS)型式元件(包括互补MOS及类似元件,如NMOS及PMOS晶体管)方面的应用,但是本发明以类似方式,亦可应用于模拟型式的技术及组态,如双载子元件及类似元件。
总之,以上所述仅为本发明的较佳实施例而已,当不能以之限定本发明所实施的范围。大凡依本发明权利要求所作的均等变化与修饰,皆应仍属于本发明专利涵盖的范围内。
权利要求
1.一种集成电路,包括多个可编程时钟相位差缓冲器,每一可编程时钟相位差缓冲器均用以接收一分布时钟信号以提供一对应的内含一编程相位差的区域时钟信号;一固定相位差逻辑单元,用以致能多个静态相位差量的永久性编程;一外部接口,用以致能多个动态相位差量的编程;以及一相位差控制器,耦接至该外部接口、该多个可编程时钟相位差缓冲器及该固定相位差逻辑单元,该相位差控制器在该多个静态相位差量及动态相位差量中择一使用,以根据该多个被选中的相位差量来对每一个该多个可编程时钟相位差缓冲器进行编程。
2.如权利要求1所述的集成电路,其中该相位差控制器在重置该集成电路时,执行检测一相位差置换命令,并且在检测到该相位差置换命令时,选择将该多个动态相位差量编程于一可编程存储器;在没有检测到该相位差置换命令时,选择将该多个静态相位差量编程于该可编程存储器。
3.如权利要求1所述的集成电路,其中该相位差控制器输出一串行二进制编码比特流。
4.如权利要求3所述的集成电路,其中每一可编程时钟相位差缓冲器均包括一延迟中止逻辑单元,其耦接至该相位差控制器,用以中止该多个二进制编码位,并输出至少一个对应的延迟字节;以及至少一个区域时钟缓冲器,每一区域时钟缓冲器均可接收该分布时钟信号及一对应的延迟字节,并输出一对应的区域时钟信号,且该对应的区域时钟信号含有一根据该延迟字节所决定的相位差。
5.如权利要求4所述的集成电路,其中每一区域时钟缓冲器均包括多个循序耦接的缓冲器,具有接收该分布时钟信号的一输入端、至少一中间节点、以及提供一对应的区域时钟信号的一输出端;以及至少一阵列的P通道及N通道元件,每一该阵列具有接收该组延迟位的多个输入端,以及至少一输出端,耦接至该至少一中间节点。
6.如权利要求5所述的集成电路,其中该至少一阵列的P通道及N通道元件中的每一个包括一N通道阵列,其包括多个具有浮接源极的二元分布的N通道元件,该二元分布的N通道元件具有接收来自于该组延迟位的真值延迟位的多个输入端,且具有耦接至该中间节点的一输出端,该N通道阵列亦包括一P通道阵列,其包括多个具有浮接源极的二元分布的P通道元件,该二元分布的P通道元件具有接收来自于该组延迟位的互补延迟位的多个输入端,且具有耦接至该中间节点的一输出端。
7.一种用于微调一集成电路时钟信号的方法,该方法包括下列步骤当重置该集成电路时,检测是否有提供一相位差置换命令;若没有检测到该相位差置换命令,则从整合在该集成电路上的一固定相位差逻辑单元选取多个相位差量,而若检测到该相位差置换命令,则从一相位差存储器选取多个相位差量;根据所选取的相位差量对,至少一个整合在该集成电路上的可编程延迟方块进行编程;以及经由每一延迟方块以接受一分布时钟信号,并提供至少一个含有一相位差的区域时钟信号,该相位差根据一被选取的相位差量。
8.如权利要求7所述的方法,其中该对至少一个可编程延迟方块进行编程的步骤包括提供一串行二进制编码延迟比特流;中止该串行延迟比特流,并选取对应的多个二进制编码延迟位;以及提供该选取的多个真值二进制编码延迟位及多个互补二进制编码延迟位。
9.如权利要求8所述的方法,还包括下列步骤提供该选取的真值二进制编码延迟位至至少一个二元分布的N通道阵列的栅极,并提供该选取的互补二进制编码延迟位至至少一个二元分布的P通道阵列的栅极,在此该N通道阵列为整合在该集成电路上的具有浮接源极的N通道阵列,而该P通道阵列为整合在该集成电路上的具有浮接源极的P通道阵列;以及经由一耦接至一或多个对应的二元分布N通道及P通道阵列的循序耦接缓冲器来延迟一分布时钟信号。
10.如权利要求7所述的方法,还包括下列步骤整合该相位差存储器为在该集成电路上的一动态存储器;以及经由一外部接口,对该相位差存储器进行编程。
11.如权利要求10所述的方法,还包括下列步骤编程位于该相位差存储器的一相位差置换位;和在检测是否有提供一相位差置换命令时,一并读取该相位差置换位。
12.如权利要求11所述的方法,还包括当对该相位差存储器进行编程及对一相位差置换位进行编程时,将该集成电路保持在重置状态。
13.如权利要求7所述的方法,还包括下列步骤当重置该集成电路时,将多个动态相位差量编程到该相位差存储器,并且提供该相位差置换命令;测试具有编程的该多个动态相位差量的集成电路;重复上述步骤,以决定一最佳相位差量组;以及将该最佳相位差量组编程于该固定相位差逻辑单元。
14.一种用于微调一集成电路时钟信号的系统,包括一永久可编程控制区块,用以永久性的编程至少一个固定相位差量;可编程控制逻辑单元,用以储存至少一个动态相位差量;至少一个时钟缓冲器,每一时钟缓冲器均包括一可编程控制延迟逻辑单元,该可编程控制延迟逻辑单元可根据一被选取的相位差量以延迟一时钟信号;以及一相位差控制器,与该永久可编程控制区块、可编程控制逻辑单元及该至少一个时钟缓冲器相耦接,用以在该固定相位差量与该动态相位差量之间择一,并用该选择的相位差量对该时钟缓冲器进行编程。
15.如权利要求14所述的系统,其中该至少一个时钟缓冲器包括至少一个缓冲器,该缓冲器耦接至一阵列的P通道及N通道元件。
16.如权利要求15所述的系统,其中阵列包括多对的P通道及N通道元件,每对P及N通道元件会匹配,以提供实质上相同的电阻/电容特性。
17.如权利要求14所述的系统,其中该相位差控制器会读取编程于该集成电路上的至少一个相位差置换位,并据以决定选取该至少一个固定相位差量或是该至少一个动态相位差量。
全文摘要
本发明提供了一种集成电路及用于微调一集成电路时钟信号的方法和系统,其包括多个可编程时钟相位差缓冲器、一固定相位差逻辑单元、一外部接口及一相位差控制器。每一可编程时钟相位差缓冲器均用以接收一分布时钟信号以提供一对应的内含一编程相位差的区域一时钟信号。该固定相位差逻辑单元则用以致能静态相位差量的永久性编程。该外部接口则用以致能动态相位差量的编程。该相位差控制器则择一使用该多个静态相位差量或是动态相位差量以程控该多个可编程时钟相位差缓冲器。激光利用本发明,可以在测试一元件时,检测出该元件的最佳区域时钟相位差,使得该元件达其最大时钟速率。
文档编号H03K5/22GK1581691SQ200410056100
公开日2005年2月16日 申请日期2004年8月16日 优先权日2003年10月9日
发明者苏瑞叙·阿里哈那, 史坦利·何, 詹姆斯·R·朗勃格 申请人:智慧第一公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1