集成电路扫描时脉域分配方法
【专利摘要】本发明公开了一种集成电路扫描时脉域分配方法,包含有:使用该集成电路的一电路设计文件与一时序限制文件来找出该集成电路的多个功能时脉域中两个功能时脉域之间的交错路径的数量,以产生一时脉域报告文件;以及依据该时脉域报告文件,将该多个功能时脉域分组并分配给多个扫描时脉域。
【专利说明】集成电路扫描时脉域分配方法
【技术领域】
[0001]本发明相关于一扫描时脉域分配方法以及使用该扫描时脉域分配方法的一机器可读介质,尤指一种决定一集成电路的扫描时脉域分配方法与相关的机器可读介质。
【背景技术】
[0002]扫描测试图样(scan test pattern)被广泛的运用于测试集成电路上,扫描测试图样须搭配扫描时脉(scan clock)以在自动测试机台上进行测试,而扫描时脉的数量往往受限于有限的芯片端口或自动测试机台的针脚(pin)数目。因此,不同的功能时脉域(function clock domain)往往需要合并以在扫描测试模式时共享一扫描时脉,即利用该扫描时脉取代原有的一个以上的功能时脉,成为一新的扫描时脉域(scan clock domain),然而,为避免测试时瞬间功率消耗过大,会使用多个扫描时脉架构并且错开其相位。不过,当两功能时脉域之间为非同步关系或是具有大量假性路径(false path)时,将该两功能时脉域进行合并会在扫描测试模式下增加许多时序冲突(timing violation),造成时钟树合成(clock tree synthesis)的困难度,进而造成面积以及功率的增加。
[0003]因此,传统上不得不在时钟树合成之后来重新进行扫描时脉域的分配,经过若干次的迭代修正以得到较佳的结果,抑或是增加大量芯片面积以及人力时间来解决时序冲突,这样的过程耗费了芯片开发的大量宝贵时间以及资源,因此,提供一机制以更有效率地将多个功能时脉域合并以及分配到有限个扫描时脉域已成为此领域所亟需解决的问题。
【发明内容】
[0004]因此,本发明的目的之一在于提供一种较有效率的集成电路扫描时脉域分配方法以及相关的机器可读介质。
[0005]根据本发明的一第一实施例,其揭不一种决定一集成电路的一扫描时脉域分配的方法。该方法包含有:使用该集成电路的一电路设计文件与一时序限制文件来找出该集成电路的多个功能时脉域中两个功能时脉域之间的交错路径的数量,以产生一时脉域报告文件;以及依据该时脉域报告文件,将该多个功能时脉域分组并分配给多个扫描时脉域。
[0006]根据本发明的一第二实施例,其提出一种机器可读介质,储存一程式码,当该程式码被一处理器所执行时会执行以下步骤:使用该积体电路的一电路设计文件与一时序限制文件来来找出该集成电路的多个功能时脉域中两个功能时脉域之间的交错路径的数量,以产生一时脉域报告文件;以及依据该时脉域报告文件,将该多个功能时脉域分组并分配给多个扫描时脉域。
[0007]发明所揭示的实施例利用集成电路的功能时脉域之间的交错路径来进行扫描时脉域的分配,亦即提供可将多个功能时脉域合并以及分配到有限个扫描时脉域的机制,如此一来,达到了简化后段测试设计的复杂流程以及降低芯片开发成本的目的。
【专利附图】
【附图说明】[0008]图1是本发明一集成电路扫描时脉域分配方法的一实施例流程图。
[0009]图2是本发明简化后的一集成电路扫描时脉域分配方法的一实施例的流程图。
[0010]图3是本发明图2中的将一集成电路的多个功能时脉域分组并分配给多个扫描时脉域的步骤所包含的方法的一第一实施例流程图。
[0011]图4是本发明图2中的将一集成电路的多个功能时脉域分组并分配给多个扫描时脉域的步骤(亦即步骤204)所包含的方法的一第二实施例流程图。
[0012]图5是本发明图2中的将一集成电路的多个功能时脉域分组并分配给多个扫描时脉域的步骤(亦即步骤204)所包含的方法的一第三实施例流程图。
[0013]图6是本发明图2中的将一集成电路的多个功能时脉域分组并分配给多个扫描时脉域的步骤(亦即步骤204)所包含的方法的一第四实施例流程图。
[0014]图7是利用图1的一集成电路扫描时脉域分配方法来分配一集成电路的一电路设计文件的一实施例示意图。
[0015]其中,附图标记说明如下:
[0016]100、200、300、400、500、600流程图;
[0017]102 ~116,202 ~204、302、402、502、602 步骤;
[0018]700电路设计文件;
[0019]702第一功能时脉域;
[0020]704第二功能时脉域;
[0021]706第三功能时脉域;
[0022]708第四功能时脉域;
[0023]710第五功能时脉域;
[0024]712第一扫描时脉域;
[0025]714第二扫描时脉域;
[0026]716第三扫描时脉域。
【具体实施方式】
[0027]请参考图1,其为说明本发明集成电路扫描时脉域分配方法100的一实施例流程图。在本实施例中,集成电路扫描时脉域分配方法100可用来对一集成电路的一电路设计文件进行扫描时脉域的分配,以产生一最佳的扫描时脉域分配方式。倘若大体上可达到相同的结果,并不需要一定照图1所示的流程中的步骤顺序来进行,且图1所示的步骤不一定要连续进行,亦即其他步骤亦可插入其中。此外,图1中的某些步骤可根据不同实施例或设计需求省略之。集成电路扫描时脉域分配方法100包含有以下步骤:
[0028]步骤102:接收一电路设计文件;
[0029]步骤104:接收一时序限制文件;
[0030]步骤106:对该电路设计文件以及该时序限制文件进行分析;
[0031]步骤108:产生一时脉域报告文件;
[0032]步骤110:接收一使用者定义文件;
[0033]步骤112:依据该时脉域报告文件以及该使用者定义文件来将该集成电路的多个功能时脉域进行分组,并将分组后的电路分配给多个扫描时脉域;[0034]步骤114:产生一扫描时脉域分配报告;
[0035]步骤116:完成该集成电路扫描时脉域的分配。
[0036]当一电路设计者完成一集成电路的电路合成后,其会产生一电路设计文件(Netlist)0举例而言,该集成电路可为具有一特定功能的数字电路。由于数字电路在操作时需要利用到一个或多个时脉来触发该数字电路内的一些特定电路元件,因此该电路设计者亦会提供关于该集成电路的一时序限制文件来描述该些时脉的时序限制(步骤104)。为了更精确地对该集成电路的该电路设计文件进行扫描时脉域分配以产生一最佳的分配组合,本发明的集成电路扫描时脉域分配方法100会对该电路设计文件以及该时序限制文件进行分析(步骤106)。经由分析之后,本发明的集成电路扫描时脉域分配方法100会产生一时脉域报告文件,其中该时脉域报告文件是用来记载该电路设计文件中相关交错连接的时脉路径的信息(步骤108)。
[0037]此外,在本实施例中,该电路设计文件中包含有多个功能时脉域,而该时序限制文件可包含有该多个功能时脉域的频率、相位以及彼此之间假性路径的定义的信息,换句话说,利用该时序限制文件以及该电路设计文件可以在该集成电路被制造出来之前具体地模拟出每一时脉周期下的功能运作,藉以检验是否存在时序冲突。另外,该电路设计文件中包含有多个触发器(flip flop),其中任一触发器都由相对应的一功能时脉所控制,也就是说,每一触发器都属于该多个功能时脉域的其中之一,利用该时序限制文件中的信息可将该电路设计文件中该多个触发器分别对应到该多个功能时脉域。因此,当两触发器之间有一路径存在且该两触发器属于不同的功能时脉域时,此路径即为一交错路径,另外该交错路径依据时序限制文件又可分为真实路径(true path)或是假性路径,在步骤108中,至少任一扫描时脉域和另一扫描时脉域之间的交错路径的数量会被储存在该时脉域报告文件中,此外,该时脉域报告文件中又可包含任一交错路径属于真实路径或是假性路径的信息,或是任一功能时脉域当中的触发器数量。
[0038]在步骤112中,该时脉域报告文件是一用来将该集成电路的该多个功能时脉域分组并分配给该多个扫描时脉域的依据,换句话说,由于该多个扫描时脉域的数目往往小于该多个功能时脉域,无法以一对一的方式直接将功能模式下的时脉域转换到扫描模式,因此需要将该多个功能时脉域根据该多个扫描时脉域的数目与该时脉域报告文件来划分。此夕卜,本发明的集成电路扫描时脉域分配方法100可另参考一使用者定义文件来将该集成电路的多个功能时脉域进行分组(步骤110),其中该使用者定义文件包含有一扫描时脉域分配的演算法的设定以及一扫描时脉域的个数的设定的至少其一,该扫描时脉域分配的演算法的设定是用来根据不同的应用或是需求针对扫描时脉域的分配的演算法另外进行细节的设定以及调整,而该扫描时脉域的个数设定则是根据芯片的尺寸、脚数以及测试机台的实际状况来决定。
[0039]另一方面,当分组后的电路分配给多个扫描时脉域后,本发明的集成电路扫描时脉域分配方法100会产生一扫描时脉域分配报告以供该电路设计者参阅(步骤114),并完成该集成电路扫描时脉域的分配(步骤116)。
[0040]综上所述,本发明的集成电路扫描时脉域分配方法100另表示为图2所示的步骤。图2所示为本发明的集成电路扫描时脉域分配方法200的一实施例的流程图,倘若大体上可达到相同的结果,并不需要一定照图2所示的流程中的步骤顺序来进行,且图2所示的步骤不一定要连续进行,亦即其他步骤亦可插入其中。此外,图2中的某些步骤可根据不同实施例或设计需求省略之。方法200包含有以下步骤:
[0041]步骤202:使用该集成电路的一电路设计文件与一时序限制文件来找出该集成电路的多个功能时脉域中两个功能时脉域之间的交错路径的数量,以产生一时脉域报告文件;
[0042]步骤204:依据该时脉域报告文件,将该集成电路的该多个功能时脉域分组并分配给多个扫描时脉域。
[0043]请注意,由于一数字式的集成电路通常会是一庞大且复杂的电路,因此通常无法利用同一套标准就可以最佳化的对每一种集成电路进行扫描时脉域的分配。换句话说,当本发明的方法200在步骤202产生了该时脉域报告文件后,其会依据该时脉域报告文件内所载的内容来用不同的方式来对一集成电路进行扫描时脉域的分配,该些不同方式的实施例如图3飞所示。图3所示为本发明图2中的将该集成电路的该多个功能时脉域分组并分配给该多个扫描时脉域的步骤(亦即步骤204)所包含的方法的一第一实施例300。该第一实施例300包含有以下步骤:
[0044]步骤302:当两个功能时脉域之间的交错路径的数量小于一特定数量时,将该两个功能时脉域分配给同一扫描时脉域。
[0045]在步骤302中,该特定数量可另由使用者定义文件来设定。应注意的是,属于同一扫描时脉域之中的两个功能时脉域之间的交错路径数越少,在进行时钟树合成时的难度越小,所增加的面积以及测试机台上消耗的功率也越少,另一方面,属于同一扫描时脉域之中的两个功能时脉域之间的交错路径越多时,尤其是其中大部分为假性路径时,则会产生大量的时序冲突导致时钟树合成时需要增加许多额外的面积来修正此原本不需要处理的时序冲突。因此,交错路径的数量在此可当作不同的功能时脉域是否适合被分类在同一扫描时脉域的一要点。
[0046]图4所示为本发明图2中的将该集成电路的该多个功能时脉域分组并分配给该多个扫描时脉域的步骤(亦即步骤204)所包含的方法的一第二实施例400。该第二实施例400包含有以下步骤:
[0047]步骤402:当两个功能时脉域为非同步且两者之间的交错路径的数量大于一特定数量时,将该两个功能时脉域分别分配给不同的扫描时脉域。
[0048]在步骤402中的非同步的信息是依据该时序限制文件中的频率以及相位的信息所得出,当两功能时脉域为非同步时,在该两功能时脉域之间的交错路径当中的大部分皆会产生时序冲突导致时钟树合成时需要增加许多额外的面积来修正该原本不需要处理的时序冲突,因此,同一扫描时脉域当中的非同步功能时脉域之间的交错路径越多,所增加的面积与消耗的功率越大。因此,交错路径的数量在此可当作非同步的功能时脉域是否适合被分类在同一扫描时脉域的一要点。
[0049]图5所示为本发明图2中的将该集成电路的该多个功能时脉域分组并分配给该多个扫描时脉域的步骤(亦即步骤204)所包含的方法的一第三实施例500。该第三实施例500包含有以下步骤:
[0050]步骤502:当两个功能时脉域为同步且两者之间的交错路径中的假性路径的数量大于一特定数量时,将该两个功能时脉域分别分配给不同的扫描时脉域。[0051]在步骤502中,当两个功能时脉域为同步且两者之间的交错路径中的假性路径的数量大于一特定数量时,表示该两功能时脉域之间在功能上的直接交集不大,因此会产生大量的时序冲突导致时钟树合成时需要增加许多额外的面积来修正此原本不需要处理的时序冲突。
[0052]图6所示为本发明图2中的将该集成电路的该多个功能时脉域分组并分配给该多个扫描时脉域的步骤(亦即步骤204)所包含的方法的一第四实施例600。该第四实施例600包含有以下步骤:
[0053]步骤602:检查该特定扫描时脉域中所包含的触发器的数量是否超过一特定数量。
[0054]此外,为避免分组后的每一扫描时脉域的触发器数量分配不均,造成该扫描时脉域中的触发器数量过多状况,进而增加测试的瞬间功率消耗,在步骤602中,使用该特定数量来作为每一扫描时脉域的触发器数量的上限。
[0055]请注意,本发明并不限定只选用图3飞中的其中一种方式来对一集成电路进行扫描时脉域的分配,其亦可以同时参考图3?6中一种以上的方式来对一集成电路进行扫描时脉域的分配。
[0056]请参考图7。图7所示是利用图1的集成电路扫描时脉域分配方法100来分配一集成电路的一电路设计文件700的一实施例示意图。在步骤112时,本发明的集成电路扫描时脉域分配方法100会定义出电路设计文件700原本所包含的多个功能时脉域,亦即一第一功能时脉域702、一第二功能时脉域704、一第三功能时脉域706、一第四功能时脉域708以及一第五功能时脉域710,其中第一功能时脉域702具有20K(仟)个触发器,第二功能时脉域704具有30K (仟)个触发器,第三功能时脉域706具有15K (仟)个触发器,第四功能时脉域708具有IOK (仟)个触发器,以及第五功能时脉域710具有IOK (仟)个触发器。接着,在步骤108中,本发明的集成电路扫描时脉域分配方法100会找出该集成电路当中任两个功能时脉域之间的交错路径的数量,其中第一功能时脉域702与第二功能时脉域704之间具有20K(仟)条路径,第一功能时脉域702与第三功能时脉域706之间具有50K(仟)条路径,第一功能时脉域702与第四功能时脉域708之间具有IOK(仟)条路径,第一功能时脉域702与第五功能时脉域710之间不具有任何路径,第二功能时脉域704与第三功能时脉域706之间不具有任何路径,第二功能时脉域704与第四功能时脉域708之间具有IOK(仟)条路径,第二功能时脉域704与第五功能时脉域704之间不具有任何路径,第三功能时脉域706与第四功能时脉域708之间具有9K(仟)条路径,第三功能时脉域706与第五功能时脉域710之间具有30K(仟)条路径,第四功能时脉域708与第五功能时脉域710之间具有100K (仟)条路径。
[0057]因此,利用实施例如图3飞所揭示的方式,第二功能时脉域704与第三功能时脉域706就被分配为一第一扫描时脉域712,其是对应一第一扫描时脉clkl。第一功能时脉域702与第五功能时脉域710就被分配为一第二扫描时脉域714,其是对应一第二扫描时脉clk2。第四功能时脉域708就被分配为一第三扫描时脉域716,其是对应一第三扫描时脉clk3,如图7所示。如此一来,该集成电路的电路设计文件700就可以用第一扫描时脉clkl、第二扫描时脉clk2以及第三扫描时脉clk3来分别第一扫描时脉域712、第二扫描时脉域714、第三扫描时脉域716以验证电路设计文件700的正确性。[0058]另外,根据本发明的方法提出一种机器可读介质,其储存一程序码,当该程序码被一处理器所执行时会执行以下步骤:使用该集成电路的一电路设计文件与一时序限制文件来找出该集成电路的多个功能时脉域中两个功能时脉域之间的交错路径的数量,以产生一时脉域报告文件;以及至少依据该时脉域报告文件,将该集成电路的该多个功能时脉域分组并分配给多个扫描时脉域。其中该多个扫描时脉域的数目小于该多个功能时脉域的数目。其中将该集成电路的该多个功能时脉域分组并分配给该多个扫描时脉域的步骤包含:接收一使用者定义文件;以及依据该时脉域报告文件与该使用者定义文件,将该集成电路的该多个功能时脉域分组并分配给该多个扫描时脉域。其中该电路设计文件中包含有多个功能时脉域,而该时序限制文件可包含有该多个功能时脉域的频率、相位以及彼此之间假性路径的定义的信息。另外,该电路设计文件中包含有多个触发器,其中任一触发器都由相对应的一功能时脉所控制,利用该时序限制文件中的信息可将该电路设计文件中该多个触发器分别对应到该多个功能时脉域。
[0059]此外,至少任一扫描时脉域和另一扫描时脉域之间的交错路径的数量会被储存在该时脉域报告文件中,而该时脉域报告文件中又可包含任一交错路径属于真实路径或是假性路径的信息,或是任一功能时脉域当中的触发器数量。而该使用者定义文件包含有一扫描时脉域分配的演算法的设定以及一扫描时脉域的个数的设定的至少其一,该扫描时脉域分配的演算法的设定是用来根据不同的应用或是需求针对扫描时脉域的分配的演算法另外进行细节的设定以及调整,而该扫描时脉域的个数设定则是根据芯片的尺寸、脚数以及测试机台的实际状况来决定。
[0060]简单地说,本发明所揭示的实施例是利用集成电路的功能时脉域之间的交错路径来进行扫描时脉域的分配以将多个功能时脉域合并以及分配到有限个扫描时脉域,而达到简化后段测试设计的复杂流程以及降低芯片开发成本的目的。
[0061]以上所述仅为本发明的较佳实施例,凡依本发明申请专利权利要求范围所做的均等变化与修饰,皆应属本发明权利要求的涵盖范围。
【权利要求】
1.一种集成电路的扫描时脉域分配方法,包含有: 使用该集成电路的一电路设计文件与一时序限制文件来找出该集成电路的多个功能时脉域中两个功能时脉域之间的交错路径的数量,以产生一时脉域报告文件;以及 依据该时脉域报告文件,将该多个功能时脉域分组并分配给多个扫描时脉域;其中,该多个扫描时脉域的数目小于该多个功能时脉域的数目。
2.如权利要求1所述的方法,其中将该多个功能时脉域分组并分配给该多个扫描时脉域的步骤包含有: 接收一使用者定义文件;以及 依据该时脉域报告文件与该使用者定义文件,将该集成电路的该多个功能时脉域分组并分配给该多个扫描时脉域。
3.如权利要求1所述的方法,其中将该多个功能时脉域分组并分配给该多个扫描时脉域的步骤包含有: 当该两个功能时脉域之间的交错路径的数量小于一特定数量时,将该两个功能时脉域分配给同一扫描时脉域。
4.如权利要求1所述的方法,其中将该多个功能时脉域分组并分配给该多个扫描时脉域的步骤包含有: 当该两个功能时脉域为非同步且两者之间的交错路径的数量大于一特定数量时,将该两个功能时脉域分别分配给不同的扫描时脉域。
5.如权利要求1所述的方法,其中将该多个功能时脉域分组并分配给该多个扫描时脉域的步骤包含有: 当该两个功能时脉域为同步且两者之间的交错路径中的假性路径的数量大于一特定数量时,将该两个功能时脉域分别分配给不同的扫描时脉域。
6.如权利要求1所述的方法,其中产生该时脉域报告文件的步骤包含: 使用该集成电路的该电路设计文件与该时序限制文件来找出该集成电路当中该两个功能时脉域之间的交错路径的数量以及该集成电路当中每一功能时脉域所包含的触发器的数量,以产生该时脉域报告文件。
7.如权利要求1所述的方法,其中将该多个功能时脉域分组并分配给该多个扫描时脉域的步骤包含有: 依据该两个功能时脉域之间的交错路径的数量,将该集成电路的多个特定功能时脉域分配给一特定扫描时脉域;以及 检查该特定扫描时脉域中所包含的触发器的数量是否超过一特定数量。
【文档编号】G01R31/3185GK103713254SQ201210380386
【公开日】2014年4月9日 申请日期:2012年10月9日 优先权日:2012年10月9日
【发明者】吴明仲, 郭硕芬, 陈莹晏, 李日农, 苏庆峰 申请人:瑞昱半导体股份有限公司