CN102054078B - 物理设计中基于双向优先选择的扫描链重构方法与装置 - Google Patents
物理设计中基于双向优先选择的扫描链重构方法与装置 Download PDFInfo
- Publication number
- CN102054078B CN102054078B CN200910211389.3A CN200910211389A CN102054078B CN 102054078 B CN102054078 B CN 102054078B CN 200910211389 A CN200910211389 A CN 200910211389A CN 102054078 B CN102054078 B CN 102054078B
- Authority
- CN
- China
- Prior art keywords
- scan chain
- scanning element
- scan
- reconstruct
- preference
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318583—Design for test
Abstract
本发明提供一种物理设计中基于双向优先选择的扫描链重构方法与装置,该扫描链的结构重构方法首先针对该若干条扫描链中的每一条分别建立其对该若干扫描元件的第一偏好序列;针对该若干扫描元件中的每一个分别建立其对该若干扫描链的第二偏好序列;然后该若干扫描链与该若干扫描元件基于各自相应的该第一偏好序列与该第二偏好序列进行双向选择,从而将该若干扫描元件重新分配给该若干条扫描链。本发明的扫描链的结构重构方法与装置将全局的扫描链进行整体优化,大幅度缩短全局的布线长度,提高布线效率。
Description
技术领域
本发明是关于一种扫描链的结构重构方法与装置,尤其是关于芯片物理设计中基于双向优先选择的扫描链的结构重构方法与装置。
背景技术
为了芯片的可测试性考虑,目前绝大多数芯片中都会设置用于测试的扫描链。由于扫描链是在芯片逻辑设计阶段插入,插入时没有计入物理信息,导致在物理设计阶段扫描链占用过多的布线资源,引起布线拥塞甚至无法布线的问题。因此,在物理设计阶段对扫描链进行结构优化以尽可能减少其占用的布线资源,变得十分必要。
然而,现有的一些扫描链结构优化方法大都只着眼于一局部或单一指标的优化,如优化时间等,优化的方法过于粗略而无法取得理想的效果。例如,只考虑扫描元件的纵向位置或横向位置,甚至不考虑扫描链的起点与终点位置。此外,业界也有少数全局考虑扫描元件和扫描链位置的优化方法,但是在优化效率或者优化时间上都存在一些不足。
因而,如何获得一种更有效的扫描链结构优化方法一直是业界关注的问题。
发明内容
本发明提供一种物理设计中基于双向优先选择的扫描链重构方法与装置,在物理设计阶段对全局的扫描链结构进行重构优化,在保证测试的同时解决了不合理的扫描链结构导致的布线资源浪费问题。
本发明提供一种扫描链的结构重构方法,其重构若干条扫描链,该若干条扫描链共包含若干个扫描元件。该扫描链的结构重构方法包含:步骤一:针对该若干条扫描链中的每一条分别建立其对该若干扫描元件的第一偏好序列;步骤二:针对该若干扫描元件中的每一个分别建立其对该若干扫描链的第二偏好序列;步骤三:该若干扫描链与该若干扫描元件基于各自相应的该第一偏好序列与该第二偏好序列进行双向选择,从而将该若干扫描元件重新分配给该若干条扫描链。
其中,该若干扫描链中的每一个的该第一偏好序列是根据该若干扫描元件中的每一个与该扫描链的起点、终点的距离的和由小到大排列建立。该若干扫描元件中的每一个的第二偏好序列是根据该扫描元件至该若干扫描链中的每一个的起点、终点的距离和再加上该相应扫描链的起点至终点的距离由小到大排列建立。该步骤三进一步包含:步骤I:从一可用扫描元件集中选择一个可用扫描元件;步骤II:基于该可用扫描元件的第二偏好序列找出其偏好优先级最高的一扫描链;步骤III:步骤a:判断该扫描链是否被分配满,如果该扫描链未被分配满,则执行步骤b:将该可用扫描元件分配给该扫描链,并将其从该可用扫描元件集中移除;否则进入步骤c:根据该扫描链的第一偏好序列判断该扫描链中是否存在偏好优先级低于该可用扫描元件的扫描元件。其中该步骤c进一步包含:如存在,则在步骤c1:将该扫描链中偏好优先级最低的一扫描元件从该扫描链中移除,将其加入到该可用扫描元件集;同时将该可用扫描元件分配给该扫描链;如不存在,则至步骤c2:根据该可用扫描元件的第二偏好序列选择其偏好优先级较该扫描链次之的一扫描链,并返回步骤a。此外,该步骤III进一步包含在步骤b或步骤c1之后执行步骤d:检查该可用扫描元件集是否为空,如空则该若干扫描链重构结束,否则返回步骤I。
在另一实施例中,该步骤三进一步包含:步骤I:在一待重构扫描链集中选择一待重构扫描链;步骤II:根据该待重构扫描链的第一偏好序列选择其偏好优先级最高的一扫描元件;步骤III:在步骤a:检查该扫描元件是否已被使用:如未被使用,则在步骤b:将该扫描元件分配该扫描链,并将其自一可用扫描元件集中移除;否则,在步骤c:根据该扫描元件的第二偏好序列检查其所在的扫描链是否较该待重构扫描链具有更高的偏好优先级。其中该步骤c进一步包含:如该扫描元件所在的扫描链的偏好优先级较低,则进入步骤c1:该扫描元件自所在扫描链中移除并将其分配给该待重构扫描链,将移除该扫描元件的扫描链加入该待重构扫描链集。如该扫描元件所在的扫描链的偏好优先级更高,则进入步骤c2:根据该待重构扫描链的第一偏好序列找出其偏好优先级较该扫描元件次之的一扫描元件,然后返回步骤a。此外,该步骤III进一步包含在步骤b或步骤c1之后执行步骤d:判断该扫描链是否完成重构,如完成则进入步骤e检查该待重构扫描链集中是否为空;否则返回步骤II。该步骤e进一步包含:如该待重构扫描链集为空,则全部扫描链重构结束;否则,返回步骤I。
本发明还提供一种扫描链的结构重构装置,包含:一第一偏好序列构建器,其针对该若干条扫描链中的每一条分别建立其对该若干扫描元件的第一偏好序列;一第二偏好序列构建器,其针对该若干扫描元件中的每一个分别建立其对该若干扫描链的第二偏好序列;一双向选择分配器,其使该若干扫描链与该若干扫描元件基于各自相应的该第一偏好序列与该第二偏好序列进行双向选择,从而将该若干扫描元件重新分配给该若干条扫描链。
其中,该双向选择分配器进一步包含:一选择器、一扫描元件管理器,及一扫描链管理器;该选择器从该扫描元件管理器的一可用扫描元件集中选择一个可用扫描元件;该第二偏好序列构建器找出该可用扫描元件的偏好优先级最高的扫描链;该扫描链管理器判断该扫描链是否被分配满,如果该扫描链未被分配满,则将该可用扫描元件分配给该扫描链,该扫描元件管理器将该可用扫描元件自可用扫描元件集中移除;否则该第一偏好序列构建器检查该扫描链是否存在偏好优先级低于该可用扫描元件的扫描元件。当该扫描链中存在偏好优先级低于该可用扫描元件的扫描元件时,该扫描链管理器将其中偏好优先级最低的扫描元件从该扫描链中移除,该扫描元件管理器将其加入可用扫描元件集;同时该扫描链管理器将该可用扫描元件分配给该扫描链。当该扫描链中不存在偏好优先级低于该可用扫描元件的扫描元件时,该第二偏好序列构建器选择该可用扫描元件的偏好优先级较该扫描链次之的一扫描链,以再次分配该可用扫描元件。该扫描元件管理器在该可用扫描元件成功分配后,检查是否仍有可用扫描元件,如无则该若干扫描链重构结束,否则选择器再次选择一可用扫描元件进行分配。
在另一实施例中,该双向分配器进一步包含一选择器、一扫描元件管理器,及一扫描链管理器;该选择器自该扫描链管理器的一待重构扫描链集中选择一待重构扫描链;该第一偏好序列构建器找出该待重构扫描链的偏好优先级最高的一扫描元件;该扫描元件管理器检查该扫描元件是否可用;如可用,则该扫描链管理器将该扫描元件分配该扫描链,该扫描元件管理器将其移除;否则,该第二偏好序列构建器检查其所在的扫描链是否较该待重构扫描链具有更高的偏好优先级。其中该扫描链管理器在该扫描元件所在的扫描链的偏好优先级较低时,将该扫描元件自其所在扫描链中移除而分配给该待重构扫描链,并将移除该扫描元件的扫描链加入该待重构扫描链集。该第一偏好序列构建器在该扫描元件所在的扫描链的偏好优先级更高时,找出偏好优先级较该扫描元件次之的一扫描元件以再次尝试重构该待重构扫描链。该扫描链管理器在将该扫描元件分配给该待重构扫描链后,进一步判断其是否完成重构,如完成则检查是否还有待重构扫描链;否则该选择器继续为该待重构扫描链选择一扫描元件。当该扫描链管理器发现无待重构扫描链时,则全部扫描链重构结束;否则,该选择器继续选择一待重构扫描链进行重构。
本发明的扫描链结构重构方法与装置,其通过扫描链与扫描元件之间的双向选择,使得整个芯片设计中的扫描链结构得到优化,大幅度降低对布线资源的需求。在提高测试性能的同时,提高了芯片的整体布线率。
附图说明
图1是本发明将所有扫描元件重新分配给各扫描链进行扫描链重构的流程图;
图2是本发明中基于第一与第二偏好列表经双向选择将扫描元件分配给各扫描链的一实施例的流程图;
图3是本发明中基于第一与第二偏好列表经双向选择将扫描元件分配给各扫描链的一实施例的流程图;
图4是本发明一实施例的扫描链的结构重构装置的示意图;
图5是本发明一实施例的扫描链的结构重构装置的双向选择分配器的示意图;
图6是本发明一实施例的扫描链重构前的示意图;
图7是本发明一实施例中建立第一与第二偏好序列的示意图;
图8是本发明一实施例中经重构和单独优化的扫描链的示意图。
具体实施方式
为便于更好的理解本发明的精神,以下结合本发明的优选实施例对其作进一步说明。
本发明是关于一种基于扫描链和扫描元件双向选择的扫描链结构重构方法及装置,其对于新的数据压缩的扫描链结构DFT(Design for Test)MAX的作用尤其显著。所谓DFT MAX扫描链结构是通过片上扫描数据压缩,显著减少高质量制造测试所需的测试时间和测试数据,其已越来越多的被业界所采用。
本发明的扫描链的结构优化可以分为两步:首先是所有扫描链的重构过程,即将同一时钟域内的扫描元件重新分配给该时钟域内的扫描链,同时保证每条扫描链的扫描时序长度不变;然后,对重构后的每条扫描链结构单独进行优化。
其中在第一步的所有扫描链的结构重构问题是一个NP(nondeterministicpolynomial time)问题,具体描述为:在芯片的逻辑设计阶段生成同一时钟域内的若干条扫描链,若干个扫描元件;其中每条扫描链的扫描时序长度确定,每条扫描链的起点位置和终点位置确定;每个扫描元件的位置确定。在芯片的物理设计阶段,力图通过优化将该若干个扫描元件重新分配给该若干条扫描链,从而在保证每条扫描链的扫描时序长度不变的前提下使每条扫描链长度尽可能短。
针对第一步,如图1所示,本发明提供一种基于扫描链和扫描元件双向选择的扫描链的结构重构方法:
在步骤10针对n条扫描链中的每一条C1......Cn分别建立其对m个扫描元件S1......Sm的第一偏好列表CL1......CLn(n、m均大于1)。其中,各第一偏好列表CL1......CLn是根据每一扫描元件S1......Sm与对应扫描链C1......Cn的起点、终点的距离的和由小到大排列建立。如,第一偏好列表CL1是根据每一扫描元件S1......Sm至扫描链C1的起点的距离与至终点的距离的和,由小到大排列建立。
在步骤11针对每个扫描元件S1......Sm建立其对n条扫描链C1......Cn的第二偏好列表SL1......SLn。其中,该第二偏好列表SL1......SLn是根据对应扫描元件S1......Sm至各扫描链C1......Cn的起点、终点的距离和再加上相应扫描链的起点至终点的距离,由小到大排列建立。
接着在步骤12基于建立的第一偏好列表CL1......CLn与第二偏好列表SL1......SLn依双向选择方式将m个扫描元件S1......Sm分配给n条扫描链C1......Cn。
如图2所示,根据本发明的一优选实施例,该步骤12又具体包含如下步骤:
首先在步骤120从一可用扫描元件列表S{S1S2......Sn}中选择一个可用扫描元件,如S1。在步骤121基于该可用扫描元件S1对该n条扫描链C1......Cn的第二偏好列表SL1优先考虑该第二偏好列表SLm中的偏好优先级最高的扫描链,如C1。
接着在步骤122判断该偏好优先级最高的扫描链C1是否被分配满。如果该扫描链C1未被分配满,则执行步骤123将该可用扫描元件S1分配给该扫描链C1,并将其从可用扫描元件列表S中移除。然后在步骤124检查该可用扫描元件列表S是否为空,如空则结束,否则返回步骤120。如果该扫描链C1已被分配满,则执行步骤125,考虑该扫描链C1对于扫描元件S1......Sm的第一偏好列表CL1,判断在该扫描链C1中的扫描元件中是否存在偏好优先级低于该可用扫描元件S1的扫描元件,如S2、S3。如存在,则在步骤126将该扫描链C1的第一偏好列表CL1中偏好优先级最低的扫描元件,如S3,从扫描链C1中移除,并将其加入到可用扫描元件列表S的末尾;同时将该可用扫描元件S1分配给该扫描链C1;之后,需至步骤124检查该可用扫描元件列表S是否为空,如空则结束,否则返回步骤120。如该扫描链C1中的扫描元件中不存在偏好优先级低于该可用扫描元件S1的扫描元件,则至步骤127考虑该可用扫描元件S1的第二偏好列表SL1中偏好优先级较该扫描链次之的一扫描链,如C2;并跳至步骤122。
本领域的技术人员应当了解,本发明的基于扫描链和扫描元件双向选择的扫描链结构重构方法并不局限于上述内容。上述建立第一与第二偏好列表的步骤并没有先后顺序限定,各扫描链对扫描元件的第一偏好及各扫描元件对扫描链的第二偏好并不局限于列表的形式,可以是其它显示排序的序列形式;同样,可用扫描元件与待重构扫描链也不局限于列表的形式,可以是其它显示状态的集合形式。而后续扫描链与扫描元件间的双向选择也并不限于上述步骤。
例如,图3描述了本发明的另一双向选择步骤13的实施例。在步骤130可先在一待重构扫描链列表中选择一待重构扫描链。接着,在步骤131根据该扫描链的第一偏好列表选择其偏好优先级最高的一扫描元件。在步骤132根据可用扫描元件列表检查该扫描元件是否已被使用:如未被使用,则在步骤133将该扫描元件分配该扫描链,并将其自可用扫描元件列表中删除,然后在步骤134检查该扫描链是否已重构完成,即获得足够需求量的扫描元件。如已完成重构则进入步骤135检查是否还有扫描链需要重构,如有则返回步骤130继续,否则全部扫描链重构结束。如在步骤132的检查中,如该扫描元件已被使用,则在步骤136根据该扫描元件的第二偏好列表判断其所在的扫描链是否较该待重构扫描链具有更高的偏好优先级:如其所在的扫描链的偏好优先级更高,则该待重构扫描链需重新根据其第一偏好列表选择一偏好优先级较该扫描元件次之的扫描元件,即返回步骤131;否则在步骤137将该扫描元件自其所在的扫描链移除,并分配给该待重构扫描链,并将该扫描元件之前所在扫描链加入待重构扫描链列表,以便后续为其选择需要的扫描元件完成重构。接着步骤137进入步骤138判断该扫描链是否完成重构,如完成则返回步骤130继续选择其它扫描链;否则返回步骤131继续为其选择扫描元件。
如图4所示,本发明还提供一基于扫描链和扫描元件双向选择的扫描链的结构重构装置2,其包含一第一偏好列表构建器20、一第二偏好列表构建器21,及一双向选择分配器22;该双向选择分配器22与该第一与第二偏好列表构建器21、22通信连接。该第一偏好列表构建器20针对n条扫描链中的每一条C1......Cn,分别建立并存储其对m个扫描元件S1......Sm的第一偏好列表CL1......CLn(n、m均大于1)。该第二偏好列表构建器21针对每个扫描元件S1......Sm,建立并存储其对n条扫描链C1......Cn的第二偏好列表SL1......SLn。该双向选择分配器22可随时与该第一偏好列表构建器与第二偏好列表构建器21、22通信,从而基于建立的第一偏好列表CL1......CLn与第二偏好列表SL1......SLn,依双向选择方式将m个扫描元件S1......Sm分配给n条扫描链C1......Cn。
如图5所示,根据本发明的一优选实施例,该双向选择分配器22又具体包含一选择器220、一扫描元件管理器221,及一扫描链管理器222;该选择器220具有若干接口,该双向选择分配器22是通过该选择器220的接口与该第一、第二偏好列表构建器20、21通信连接;且该选择器220还通过该若干接口与该扫描元件管理器221、扫描链管理器222通信连接。
首先该选择器220请该扫描元件管理器221检查其上的可用扫描元件列表S{S1S2......Sn}中是否有可用扫描元件,如有则从中选择一个可用扫描元件,如S1。接着该选择器220请求该第二偏好列表构建器21基于该可用扫描元件S1对该n条扫描链C1......Cn的第二偏好列表SL1,找出其中偏好优先级最高的扫描链,如C1。该选择器220接收该第二偏好列表构建器21的信息,并将该分配结果通知扫描链管理器222。
该扫描链管理器222检查该偏好优先级最高的扫描链C1是否被分配满。如果该扫描链C1未被分配满,则将该可用扫描元件S1分配给该扫描链C1,并通知该选择器220分配成功。该选择器220通知该扫描元件管理器221将该扫描元件S1从可用扫描元件列表S中移除及更新该扫描元件的分配信息,然后开始选择新的可用扫描元件。如果该扫描链C1已被分配满,则该扫描链管理器222通知该选择器220该扫描链C1已满,并将该扫描链C1的现有的扫描元件信息一并告知。该选择器220转而请求第一偏好列表构建器20基于该扫描链C1对于扫描元件S1......Sm的第一偏好列表CL1,检查该扫描链C1中的扫描元件中是否存在偏好优先级低于该可用扫描元件S1的扫描元件。如该第一偏好列表构建器20发现存在,如扫描元件S2、S3,则找出该扫描链C1的第一偏好列表CL1中偏好优先级最低的扫描元件,如S3。选择器220接收第一偏好列表构建器20的返回信息后,通知扫描元件管理器221将其加入该可用扫描元件列表末尾,将该可用扫描元件S1自可用扫描元件列表中删除,及更新该两扫描元件的分配信息;通知该扫描链管理器222将该可用扫描元件S1分配给该扫描链C1;然后开始选择新的可用扫描元件进行分配。如果该第一偏好列表构建器20从中找不到偏好优先级较该可用扫描元件低的扫描元件,则,该选择器220请求该第二偏好列表构建器21提供从该可用扫描元件S1的第二偏好列表SL1中选择偏好优先级较该扫描链C1次之的扫描链,如,C2。该扫描链结构重构装置2针对该扫描链C2再进行如上检查该扫描链C2是否分配满等一系列操作。
根据本发明的另一实施例,双向选择分配器22在分配扫描元件与扫描链时可采用不同的方式。该选择器220先访问扫描链管理器222,由其上的一待重构扫描链列表中选择一待重构扫描链。接着,该选择器220查询该第一偏好列表构建器20,由该第一偏好列表构建器20根据该扫描链的第一偏好列表找出其偏好优先级最高的扫描元件。该选择器220收到信息后,转而通知该扫描元件管理器221。该扫描元件管理器221检查该扫描元件是否已被使用:
如未被使用,则该选择器220通知该扫描链管理器222将该扫描元件分配该扫描链,及请求该扫描链管理器222检查该扫描链是否已重构完成,即获得足够需求量的扫描元件。该选择器220还会通知该扫描元件管理器221自可用扫描元件列表中删除及更新该扫描元件的分配信息。如该扫描链管理器222检查该扫描链已完成重构,则该选择器220请其确认是否还有扫描链需要重构,如有则继续选择新的扫描链进行重构,否则全部扫描链重构结束。
如该扫描元件管理器221发现该扫描元件已被使用,则选择器220收到信息后将请求第二偏好列表构建器21判断其目前所在的扫描链是否较该待重构扫描链具有更高的偏好优先级。如其所在的扫描链的偏好优先级更高,则选择器220需重新请求第一偏好列表构建器20根据其第一偏好列表找出一偏好优先级次之的扫描元件,即开始针对该新选择的扫描元件执行一系列上述操作。否则,该选择器220通知该扫描链管理器222将该扫描元件自其所在扫描链移除,转而分配给该待重构扫描链,并将该扫描元件之前所在扫描链加入待重构扫描链列表以便后续为其选择需要的扫描元件。该选择器220还会通知该扫描元件管理器221更新该扫描元件的分配信息,要求该扫描链管理器222判断该扫描链是否完成重构,如完成则选择器220开始选择其它扫描链进行重构;否则该选择器220继续为该扫描链选择其需要的扫描元件。
如图6所示,本发明的一具体实施例为一在芯片的物理设计阶段进行扫描链结构重构的装置2,其重构逻辑设计阶段生成的若干扫描链50、51,该若干扫描链50、51包含若干时序长度为一的扫描元件60、61、62、63、64、65。其中第一条扫描链50包含三个扫描元件60、61、62,第二条扫描链51包含三个扫描元件63、64、65。其中一条扫描链50的结构为{60 61 62}(不考虑起点501与终点502,以下类似),另二条扫描链51的结构为{63 64 65},这意味着重构之后的两条扫描链50、51中的每一条亦都应包含三个扫描元件,以保证时序长度不变。
第一偏好列表构建器20分别建立并存储两条扫描链50、51对于六个扫描元件60、61、62、63、64、65的第一偏好列表500、510。第二偏好列表构建器21建立并存储六个扫描元件60、61、62、63、64、65对于两条扫描链50、51的第二偏好列表600、610、620、630、640、650。
具体的,第一偏好列表构建器20对两条扫描链50、51分别建立并存储其对于六个扫描元件60、61、62、63、64、65的第一偏好列表500、510。以其中一条扫描链50对其中两扫描元件60、61的偏好排列为例,如图7所示,第一偏好列表构建器20计算扫描元件60至该扫描链50的起点501为距离D1,至该扫描链50的终点502为距离D2;计算另一扫描元件61至该扫描链50的起点501为距离D3,至该扫描链50的终点502为距离D4。依计算结果可知,D1+D2<D3+D4。因而该扫描链50对该两扫描元件60、61的偏好排序为扫描元件60优先于扫描元件61,即在扫描链50的第一偏好列表500中扫描元件60排列于另一扫描元件61之前。依上述方法,该第一偏好列表构建器20最终得到并存储该两扫描链50、51分别对该六个扫描元件的第一偏好列表500、510如下:
扫描链50的第一偏好列表500:{65 64 63 60 61 62}
扫描链51的第一偏好列表510:{63 65 64 62 61 60}
第二偏好列表构建器21建立并存储六个扫描元件60、61、62、63、64、65对于两条扫描链50、51的第二偏好列表600、610、620、630、640、650。如图7所示,以一扫描元件60为例,如前述,第二偏好列表构建器21计算扫描元件60至一扫描链50的起点501有一距离D1,至该扫描链50的终点502有一距离D2,该扫描链50的起点501至终点502有一距离D50;计算该扫描元件60至另一扫描链51的起点510存在一距离D5,至该扫描链51的终点511存在一距离D6,该扫描链51的起点510至终点511存在一距离D51。依计算结果,D1+D2+D50<D5+D6+D51。因而该扫描元件60对两扫描链50、51的偏好排序为扫描元件60对扫描链50的偏好优先于另一扫描链51,即在扫描元件60的第二偏好列表600中扫描链50排列于另一扫描链51之前。依上述方法,最终该第二偏好列表构建器21得到并存储该六个扫描元件60、61、62、63、64、65分别对该两扫描链50、51的第二偏好列表600、610、620、630、640、650如下:
扫描元件60的第二偏好列表600:{50 51}
扫描元件61的第二偏好列表610:{51 50}
扫描元件62的第二偏好列表620:{51 50}
扫描元件63的第二偏好列表630:{50 51}
扫描元件64的第二偏好列表640:{50 51}
扫描元件65的第二偏好列表650:{50 51}
接着,基于上述第一偏好列表500、510与第二偏好列表600、610、620、630、640、650,双向选择分配器22对两扫描链50和扫描元件60、61、62、63、64、65双向选择进行扫描链的结构重构,选取适当的扫描元件分配给各扫描链50、51,具体如下:
选择器220查询一扫描元件管理器221,从其可用扫描元件列表6中选择一个可用扫描元件60。接着该选择器220请求第二偏好列表构建器21基于该可用扫描元件60对该若干条扫描链50、51的第二偏好列表600找出其中偏好优先级最高的扫描链50。该选择器220接收该第二偏好列表构建器21的信息,并将该分配结果通知扫描链管理器222。该扫描链管理器222检查得知该扫描链50未被分配满,则将该可用扫描元件60分配给该扫描链50,并通知该选择器220分配成功。该选择器420通知该扫描元件管理器221将该扫描元件60从可用扫描元件列表6中移除及更新该扫描元件60的分配信息。即,此时一扫描链50的结构为{60},另一扫描链51的结构为空,扫描元件61、62、63、64、65为可用扫描元件。
然后该选择器220继续访问该扫描元件管理器221上的可用扫描元件列表6,并选择扫描元件61。如上,经过选择器220查询第二偏好列表构建器21及扫描链管理器222的判断,扫描元件61分配给另一扫描链51,该扫描元件管理器221将其从可用扫描元件列表6中移除。即,此时一扫描链50的结构为{60},另一扫描链51的结构为{61},可用扫描元件为扫描元件62、63、64、65。
如此反复操作,该扫描链重构装置2将扫描元件62、63、64分别分配给两扫描链51、50、50。此时两扫描链50、51分别为{60 63 64}、{61 62},可用扫描元件为扫描元件65。
在分配扫描元件65时,根据选择器220查询第二偏好列表构建器21,得到其优先应考虑扫描链50。然扫描链管理器222收到选择器220发送的该分配信息时,经查询发现此时扫描链50已满,于是通知选择器220该扫描链50已满并告知该扫描链50目前使用的扫描元件60、63、64。选择器220请求第一偏好列表构建器20提供该扫描链50使用的扫描元件60、63、64与该可用扫描元件65在该扫描链50的第一偏好列表500中的偏好优先级状况。该第一偏好列表构建器20发现该扫描链50中现有扫描元件60、63、64的偏好优先级均低于该可用扫描元件65,其中扫描元件60的偏好优先级最低。于是,选择器220通知该扫描链管理器222将该偏好优先级最低的扫描元件60自扫描链50中移除,将该可用扫描元件65分配给该扫描链50;并通知扫描元件管理器221将扫描元件60加入到可用扫描元件列表6的末尾。即,此时一扫描链50为{65 63 64},另一扫描链51为{61 62},该可用扫描元件列表6为{60}。
然后该选择器220选择该扫描元件60,经查询第二偏好列表构建器21其偏好优先级最高的扫描链为扫描链50。扫描链管理器222发现该扫描链50已分配满,将该信息及该扫描链50的扫描元件65、63、64告知该选择器220。选择器220查询该第一偏好列表构建器20得知该扫描链50中的扫描元件65、63、64的偏好优先级均高于该可用扫描元件60,于是转而查询该第二偏好列表构建器21找出其第二偏好列表600中偏好优先级次之的扫描链51。扫描链管理器222自选择器220接收信息后发现该扫描链51未分配满,于是将该扫描元件60分配给该扫描链51,并通知选择器220分配成功。选择器220通知扫描元件管理器221将该扫描元件60自可用扫描元件列表6中删除。即此时,一扫描链50含扫描元件65、63、64,另一扫描链51含扫描元件61、62、60,该可用扫描元件列表6为空;所有扫描链重构结束。
在将该若干扫描元件重新分配给各扫描链后,可再对各扫描链内的扫描元件进行排序优化。本领域技术人员应当了解现有技术中已有很多关于该单一扫描链内的扫描元件的摆放优化,本发明不再赘述。仅以一简便的以扫描链的起点为初始参考位置,依次挑选相互间距离最短的扫描元件的优化方法为例,上述实施例经优化后得到的两条扫描链50、51如图8所示。与图6相比较可以看出,经过优化的扫描链整体的长度较优化前有了明显降低。
本发明的扫描链的结构重构方法与装置将现有技术中仅由扫描链单向选择扫描装置,在全局范围内通过扫描链与扫描元件的双向选择将扫描元件重新分配给各扫描链,使得整个芯片设计中的扫描链结构得到优化,大幅度降低对布线资源的需求。在提高测试性能的同时,也提高了芯片的整体布线率。
本发明的技术内容及技术特点已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰。因此,本发明的保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (22)
1.一种物理设计中扫描链的结构重构方法,所述方法包括:
针对若干条扫描链中的每一条分别建立其对若干扫描元件的第一偏好序列;
针对该若干扫描元件中的每一个分别建立其对若干扫描链的第二偏好序列;
该若干扫描链与该若干扫描元件基于各自相应的该第一偏好序列与该第二偏好序列进行双向选择,将该若干扫描元件重新分配给该若干条扫描链,所述双向选择还包括:
从一可用扫描元件集中选择一可用扫描元件;
基于所述可用扫描元件的第二偏好序列从该若干扫描链中找出偏好优先级最高的扫描链;
判断该扫描链是否被分配满;
响应于该扫描链未被分配满的判断,则将该可用扫描元件分配给该扫描链;以及
响应于该扫描链已被分配满的判断,确定该扫描链是否存在偏好优先级低于该可用扫描元件的扫描元件。
2.根据权利要求1所述的扫描链的结构重构方法,其中该若干扫描链中的每一个的该第一偏好序列是根据该若干扫描元件中的每一个与该扫描链的起点、终点的距离的和,由小到大排列建立。
3.根据权利要求1所述的扫描链的结构重构方法,其中该若干扫描元件中的每一个的第二偏好序列是根据该扫描元件至该若干扫描链中的每一个的起点、终点的距离和再加上相应扫描链的起点至终点的距离,由小到大排列建立。
4.根据权利要求1所述的扫描链的结构重构方法,进一步包含:
如果该扫描链存在偏好优先级低于该可用扫描元件的扫描元件,则将偏好优先级最低的一扫描元件从该扫描链中移除;
将所移除的扫描元件加入到该可用扫描元件;且
将该可用扫描元件分配给该扫描链。
5.根据权利要求1所述的扫描链的结构重构方法,进一步包含:
如果该扫描链不存在偏好优先级低于该可用扫描元件的扫描元件,则根据该可用扫描元件的第二偏好序列选择其偏好优先级较该可用扫描链次之的一扫描链,并重新判断该扫描链是否被分配满。
6.根据权利要求4所述的扫描链的结构重构方法,其中判断该扫描链是否被分配满进一步包含:
如果该可用扫描元件为空,则该若干扫描链重构结束;
如果该可用扫描元件不为空,则重新选择该可用扫描元件。
7.一种物理设计中多个扫描链的结构重构方法,所述方法包括:
针对该多个扫描链中的每一条分别建立其对多个扫描元件的第一偏好序列;
针对该多个扫描元件中的每一个分别建立其对该多个扫描链的第二偏好序列;
该多个扫描链与该多个扫描元件基于各自相应的该第一偏好序列与该第二偏好序列使用计算机进行双向选择,将该多个扫描元件重新分配给该多个扫描链,所述双向选择还包括:
在一待重构扫描链集中选择一待重构扫描链;
根据该待重构扫描链的第一偏好序列选择其偏好优先级最高的一扫描元件;
判断该扫描元件是否已被使用;
如果该扫描元件未被使用,则将该扫描元件分配该扫描链,并将其自一可用扫描元件集中移除;
如果该扫描元件已被使用,则根据该扫描元件的第二偏好序列检查其所在的扫描链是否较该待重构扫描链具有更高的偏好优先级。
8.根据权利要求7所述的扫描链的结构重构方法,进一步包含:
如该扫描元件所在的扫描链的偏好优先级较低,则将该扫描元件自所在扫描链中移除并将其分配给该待重构扫描链,且将移除该扫描元件的扫描链加入该待重构扫描链集。
9.根据权利要求7所述的扫描链的结构重构方法,进一步包含:
如果该扫描元件所在的扫描链的偏好优先级更高,则:根据该待重构扫描链的第一偏好序列找出其偏好优先级较该扫描元件次之的一扫描元件。
10.根据权利要求8所述的扫描链的结构重构方法,其中判断该扫描元件是否已被使用进一步包含:
判断该扫描链是否完成重构,如果该扫描链的重构已完成则检查该待重构扫描链集中是否为空;而如果该扫描链的重构未完成,则重新选择一个扫描链。
11.根据权利要求10所述的扫描链的结构重构方法,进一步包含:
如果该待重构扫描链集为空,则结束全部扫描链重构;
如果该待重构扫描链集不为空,则重新选择一个待重构的扫描链。
12.一种物理设计中扫描链的结构重构装置,重构若干条扫描链,该若干条扫描链共包含若干扫描元件;该扫描链的结构重构装置包含:
一第一偏好序列构建器,其针对该若干条扫描链中的每一条分别建立其对该若干扫描元件的第一偏好序列;
一第二偏好序列构建器,其针对该若干扫描元件中的每一个分别建立其对该若干扫描链的第二偏好序列;
一双向选择分配器,其使该若干扫描链与该若干扫描元件基于各自相应的该第一偏好序列与该第二偏好序列进行双向选择,从而将该若干扫描元件重新分配给该若干条扫描链,所述双向选择分配器包括:
一选择器;
一扫描元件管理器;及
一扫描链管理器,其中,
该选择器从该扫描元件管理器的一可用扫描元件集中选择一个可用扫描元件;
该第二偏好序列构建器找出该可用扫描元件的偏好优先级最高的扫描链;
该扫描链管理器判断该扫描链是否被分配满;
如果该扫描链未被分配满,则该扫描链管理器将该可用扫描元件分配给该扫描链,且该扫描元件管理器还将该可用扫描元件自可用扫描元件集中移除;
如果该扫描链已被分配满,该第一偏好序列构建器检查该扫
描链是否存在偏好优先级低于该可用扫描元件的扫描元件。
13.根据权利要求12所述的扫描链的结构重构装置,其中该第一偏好序列构建器在构建该若干扫描链中的每一个的该第一偏好序列时,是根据该若干扫描元件中的每一个与该扫描链的起点、终点的距离的和由小到大排列建立。
14.根据权利要求12所述的扫描链的结构重构装置,其中该第二偏好序列构建器在构建该若干扫描元件中的每一个的第二偏好序列时,是根据该扫描元件至该若干扫描链中的每一个的起点、终点的距离和再加上相应扫描链的起点至终点的距离由小到大排列建立。
15.根据权利要求12所述的扫描链的结构重构装置,其中当该扫描链中存在偏好优先级低于该可用扫描元件的扫描元件时,该扫描链管理器将其中偏好优先级最低的扫描元件从该扫描链中移除,该扫描元件管理器将其加入可用扫描元件集;同时该扫描链管理器将该可用扫描元件分配给该扫描链。
16.根据权利要求12所述的扫描链的结构重构装置,其中当该扫描链中不存在偏好优先级低于该可用扫描元件的扫描元件时,该第二偏好序列构建器选择该可用扫描元件的偏好优先级较该扫描链次之的一扫描链,以再次分配该可用扫描元件。
17.根据权利要求15所述的扫描链的结构重构装置,其中该扫描元件管理器在该可用扫描元件成功分配后,检查是否仍有可用扫描元件,如无则该若干扫描链重构结束,否则选择器再次选择一可用扫描元件进行分配。
18.根据权利要求12所述的扫描链的结构重构装置,其中该双向选择分配器进一步包含一选择器、一扫描元件管理器,及一扫描链管理器;该选择器自该扫描链管理器的一待重构扫描链集中选择一待重构扫描链;该第一偏好序列构建器找出该待重构扫描链的偏好优先级最高的一扫描元件;该扫描元件管理器检查该扫描元件是否可用;如可用,则该扫描链管理器将该扫描元件分配该扫描链,该扫描元件管理器将其移除;否则,该第二偏好序列构建器检查其所在的扫描链是否较该待重构扫描链具有更高的偏好优先级。
19.根据权利要求18所述的扫描链的结构重构装置,其中该扫描链管理器在该扫描元件所在的扫描链的偏好优先级较低时,将该扫描元件自其所在扫描链中移除而分配给该待重构扫描链,并将移除该扫描元件的扫描链加入该待重构扫描链集。
20.根据权利要求18所述的扫描链的结构重构装置,其中该第一偏好序列构建器在该扫描元件所在的扫描链的偏好优先级更高时,找出偏好优先级较该扫描元件次之的一扫描元件以再次尝试重构该待重构扫描链。
21.根据权利要求19所述的扫描链的结构重构装置,其中该扫描链管理器在将该扫描元件分配给该待重构扫描链后,进一步判断其是否完成重构,如完成则检查是否还有待重构扫描链;否则该选择器继续为该待重构扫描链选择一扫描元件。
22.根据权利要求21所述的扫描链的结构重构装置,其中当该扫描链管理器发现无待重构扫描链时,则全部扫描链重构结束;否则,该选择器继续选择一待重构扫描链进行重构。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910211389.3A CN102054078B (zh) | 2009-10-30 | 2009-10-30 | 物理设计中基于双向优先选择的扫描链重构方法与装置 |
PCT/IB2010/002750 WO2011051788A2 (zh) | 2009-10-30 | 2010-10-27 | 物理设计中基于双向优先选择的扫描链重构方法与装置 |
US13/503,613 US8516432B2 (en) | 2009-10-30 | 2010-10-27 | Method and device for reconstructing scan chain based on bidirectional preference selection in physical design |
US13/963,166 US8839181B2 (en) | 2009-10-30 | 2013-08-09 | Method and device for reconstructing scan chains based on bidirectional preference selection in physical design |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910211389.3A CN102054078B (zh) | 2009-10-30 | 2009-10-30 | 物理设计中基于双向优先选择的扫描链重构方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102054078A CN102054078A (zh) | 2011-05-11 |
CN102054078B true CN102054078B (zh) | 2014-11-26 |
Family
ID=43922697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910211389.3A Active CN102054078B (zh) | 2009-10-30 | 2009-10-30 | 物理设计中基于双向优先选择的扫描链重构方法与装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US8516432B2 (zh) |
CN (1) | CN102054078B (zh) |
WO (1) | WO2011051788A2 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853652B (zh) * | 2012-11-29 | 2019-02-12 | 百度在线网络技术(北京)有限公司 | 一种测试案例生成方法及装置 |
US8910100B1 (en) * | 2014-07-22 | 2014-12-09 | Cadence Design Systems, Inc. | System and method for automatically reconfiguring chain of abutted devices in electronic circuit design |
CN105572573B (zh) * | 2014-10-30 | 2018-08-24 | 国际商业机器公司 | 用于存储器时序测试的扫描链、扫描链构建方法和相应装置 |
US9470755B1 (en) * | 2015-06-12 | 2016-10-18 | Cadence Design Systems, Inc. | Method for dividing testable logic into a two-dimensional grid for physically efficient scan |
CN106610468B (zh) * | 2015-10-21 | 2020-04-14 | 龙芯中科技术有限公司 | 扫描链、扫描链构建方法及装置 |
US10168386B2 (en) | 2017-01-13 | 2019-01-01 | International Business Machines Corporation | Scan chain latency reduction |
US10761131B1 (en) * | 2018-09-25 | 2020-09-01 | Cadence Design Systems, Inc. | Method for optimally connecting scan segments in two-dimensional compression chains |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6415404B1 (en) * | 1998-09-10 | 2002-07-02 | Nec Corporation | Method of an apparatus for designing test facile semiconductor integrated circuit |
CN1577284A (zh) * | 2003-07-28 | 2005-02-09 | 华为技术有限公司 | 一种边界扫描测试的实现方法及装置 |
CN1580799A (zh) * | 2003-08-05 | 2005-02-16 | 华为技术有限公司 | 一种边界扫描链自测方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3403612B2 (ja) * | 1997-06-05 | 2003-05-06 | 沖電気工業株式会社 | スキャンパスネットの配線方法と半導体集積回路 |
US6681356B1 (en) * | 2000-09-29 | 2004-01-20 | International Business Machines Corporation | Scan chain connectivity |
JP4221168B2 (ja) * | 2001-08-08 | 2009-02-12 | 富士通マイクロエレクトロニクス株式会社 | スキャン・チェーン・リオーダ情報の取得方法 |
JP2003167935A (ja) * | 2001-12-03 | 2003-06-13 | Fujitsu Ltd | 配線経路決定装置、グループ決定装置、配線経路決定プログラム、およびグループ決定プログラム |
US6986090B2 (en) * | 2002-02-20 | 2006-01-10 | International Business Machines Corporation | Method for reducing switching activity during a scan operation with limited impact on the test coverage of an integrated circuit |
JP4131651B2 (ja) * | 2002-08-21 | 2008-08-13 | 富士通株式会社 | スキャン機能を有する集積回路のレイアウト方法 |
JP2004185427A (ja) * | 2002-12-04 | 2004-07-02 | Renesas Technology Corp | スキャンパスタイミング最適化装置 |
JP2005032102A (ja) * | 2003-07-09 | 2005-02-03 | Matsushita Electric Ind Co Ltd | スキャンテスト設計方法、スキャンテスト回路、スキャンフリップフロップ回路、スキャンテスト回路挿入用cadプログラム、大規模集積回路及び携帯デジタル機器 |
US7181664B2 (en) * | 2004-04-19 | 2007-02-20 | Chang Gung University | Method on scan chain reordering for lowering VLSI power consumption |
JP2006114799A (ja) * | 2004-10-18 | 2006-04-27 | Seiko Epson Corp | 半導体集積回路、半導体集積回路の設計方法及び設計装置、並びに半導体集積回路の設計プログラム |
CN100445760C (zh) * | 2006-05-27 | 2008-12-24 | 合肥工业大学 | 一种多扫描链的大规模集成电路测试数据压缩方法 |
US20080005634A1 (en) * | 2006-06-29 | 2008-01-03 | Grise Gary D | Scan chain circuitry that enables scan testing at functional clock speed |
US7721171B2 (en) * | 2007-08-16 | 2010-05-18 | International Business Machines Corporation | Scheme to optimize scan chain ordering in designs |
CN100557454C (zh) * | 2007-11-16 | 2009-11-04 | 哈尔滨工业大学 | 一种大规模集成电路测试数据与测试功耗协同优化的方法 |
US7987400B2 (en) * | 2008-02-22 | 2011-07-26 | International Business Machines Corporation | Method for optimizing scan chains in an integrated circuit that has multiple levels of hierarchy |
US7937677B2 (en) * | 2008-05-19 | 2011-05-03 | Synopsys, Inc. | Design-for-test-aware hierarchical design planning |
-
2009
- 2009-10-30 CN CN200910211389.3A patent/CN102054078B/zh active Active
-
2010
- 2010-10-27 WO PCT/IB2010/002750 patent/WO2011051788A2/zh active Application Filing
- 2010-10-27 US US13/503,613 patent/US8516432B2/en active Active
-
2013
- 2013-08-09 US US13/963,166 patent/US8839181B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6415404B1 (en) * | 1998-09-10 | 2002-07-02 | Nec Corporation | Method of an apparatus for designing test facile semiconductor integrated circuit |
CN1577284A (zh) * | 2003-07-28 | 2005-02-09 | 华为技术有限公司 | 一种边界扫描测试的实现方法及装置 |
CN1580799A (zh) * | 2003-08-05 | 2005-02-16 | 华为技术有限公司 | 一种边界扫描链自测方法 |
Non-Patent Citations (1)
Title |
---|
JP特开2006-114799A 2006.04.27 * |
Also Published As
Publication number | Publication date |
---|---|
CN102054078A (zh) | 2011-05-11 |
US8839181B2 (en) | 2014-09-16 |
WO2011051788A3 (zh) | 2011-06-23 |
US20120210290A1 (en) | 2012-08-16 |
US20130326462A1 (en) | 2013-12-05 |
US8516432B2 (en) | 2013-08-20 |
WO2011051788A2 (zh) | 2011-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102054078B (zh) | 物理设计中基于双向优先选择的扫描链重构方法与装置 | |
CN110618870B (zh) | 一种深度学习训练任务的工作方法及装置 | |
CN104699542B (zh) | 任务处理方法及系统 | |
CN104731647A (zh) | 任务处理方法及系统 | |
CN101605104B (zh) | 堆叠设备中的流量转发方法和设备 | |
CN105721354B (zh) | 片上网络互联方法及装置 | |
CN106327311A (zh) | 订单处理方法、装置及系统 | |
CN107450985A (zh) | 内存管理方法、移动终端及存储介质 | |
CN104794887A (zh) | 在网络租车中利用收藏夹派车的系统和方法 | |
CN101507336A (zh) | 用于在多路接入通信系统中进行接入选择的方法和设备 | |
CN102054075B (zh) | 考虑计划组的扫描链的重构方法与装置 | |
CN102779183A (zh) | 数据查询的方法、设备及系统 | |
CN104639631A (zh) | 基于mas价格协商的sdn资源交易方法 | |
CN106332227B (zh) | 搜网方法及装置 | |
CN110083536A (zh) | 测试资源分配方法及装置、电子设备及存储介质 | |
CN102984055A (zh) | 一种issu的软重启升级方法和设备 | |
CN109788325A (zh) | 视频任务分配方法及服务器 | |
CN105373430A (zh) | 一种动态分配编译机的系统及其方法 | |
CN1643848A (zh) | 通信系统中的连接分配 | |
CN101853047B (zh) | 一种定时器实现方法及装置 | |
CN1729658B (zh) | 结合尽力服务和无争用的保证吞吐量的数据调度 | |
CN109598411A (zh) | 一种产品设计任务的处理方法及电子设备 | |
CN102055651B (zh) | 可扩展路由器分布式控制平面的任务分配方法及装置 | |
CN111260106B (zh) | 运输任务分配方法、装置、设备及其存储介质 | |
CN1647002A (zh) | 用于过程技术的测量设备和用于测量设备的操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |