《物理设计中基于双向优先选择的扫描链重构方法与装置.pdf》由会员分享,可在线阅读,更多相关《物理设计中基于双向优先选择的扫描链重构方法与装置.pdf(19页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102054078A43申请公布日20110511CN102054078ACN102054078A21申请号200910211389322申请日20091030G06F17/5020060171申请人新思科技上海有限公司地址200050上海市长宁区长宁路1027号兆丰广场14层18层72发明人刘榜刘渤海74专利代理机构北京律盟知识产权代理有限责任公司11287代理人刘国伟54发明名称物理设计中基于双向优先选择的扫描链重构方法与装置57摘要本发明提供一种物理设计中基于双向优先选择的扫描链重构方法与装置,该扫描链的结构重构方法首先针对该若干条扫描链中的每一条分别建立其对该若干扫描。
2、元件的第一偏好序列;针对该若干扫描元件中的每一个分别建立其对该若干扫描链的第二偏好序列;然后该若干扫描链与该若干扫描元件基于各自相应的该第一偏好序列与该第二偏好序列进行双向选择,从而将该若干扫描元件重新分配给该若干条扫描链。本发明的扫描链的结构重构方法与装置将全局的扫描链进行整体优化,大幅度缩短全局的布线长度,提高布线效率。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书9页附图6页CN102054085A1/3页21一种扫描链的结构重构方法,重构若干条扫描链,该若干条扫描链共包含若干个扫描元件;该扫描链的结构重构方法包含如下步骤步骤一针对该若干条扫描链中的每。
3、一条分别建立其对该若干扫描元件的第一偏好序列;步骤二针对该若干扫描元件中的每一个分别建立其对该若干扫描链的第二偏好序列;步骤三该若干扫描链与该若干扫描元件基于各自相应的该第一偏好序列与该第二偏好序列进行双向选择,从而将该若干扫描元件重新分配给该若干条扫描链。2根据权利要求1所述的扫描链的结构重构方法,其中该若干扫描链中的每一个的该第一偏好序列是根据该若干扫描元件中的每一个与该扫描链的起点、终点的距离的和,由小到大排列建立。3根据权利要求1所述的扫描链的结构重构方法,其中该若干扫描元件中的每一个的第二偏好序列是根据该扫描元件至该若干扫描链中的每一个的起点、终点的距离和再加上该相应扫描链的起点至终。
4、点的距离,由小到大排列建立。4根据权利要求1所述的扫描链的结构重构方法,其中该步骤三进一步包含步骤I从一可用扫描元件集中选择一个可用扫描元件;步骤II基于该可用扫描元件的第二偏好序列找出其偏好优先级最高的一扫描链;步骤III步骤A判断该扫描链是否被分配满,如果该扫描链未被分配满,则执行步骤B将该可用扫描元件分配给该扫描链,并将其从该可用扫描元件集中移除;否则进入步骤C根据该扫描链的第一偏好序列判断该扫描链中是否存在偏好优先级低于该可用扫描元件的扫描元件。5根据权利要求4所述的扫描链的结构重构方法,其中该步骤C进一步包含如存在,则在步骤C1将该扫描链中偏好优先级最低的一扫描元件从该扫描链中移除,。
5、将其加入到该可用扫描元件集;同时将该可用扫描元件分配给该扫描链。6根据权利要求5所述的扫描链的结构重构方法,其中该步骤C进一步包含如不存在,则至步骤C2根据该可用扫描元件的第二偏好序列选择其偏好优先级较该扫描链次之的一扫描链,并返回步骤A。7根据权利要求5所述的扫描链的结构重构方法,其中该步骤III进一步包含在步骤B或步骤C1之后执行步骤D检查该可用扫描元件集是否为空,如空则该若干扫描链重构结束,否则返回步骤I。8根据权利要求1所述的扫描链的结构重构方法,其中该步骤三进一步包含步骤I在一待重构扫描链集中选择一待重构扫描链;步骤II根据该待重构扫描链的第一偏好序列选择其偏好优先级最高的一扫描元件。
6、;步骤III在步骤A检查该扫描元件是否已被使用如未被使用,则在步骤B将该扫描元件分配该扫描链,并将其自一可用扫描元件集中移除;否则,在步骤C根据该扫描元件的第二偏好序列检查其所在的扫描链是否较该待重构扫描链具有更高的偏好优先级。9根据权利要求8所述的扫描链的结构重构方法,其中该步骤C进一步包含如该扫描元件所在的扫描链的偏好优先级较低,则进入步骤C1该扫描元件自所在扫描链中移除并将其分配给该待重构扫描链,将移除该扫描元件的扫描链加入该待重构扫描链集。权利要求书CN102054078ACN102054085A2/3页310根据权利要求9所述的扫描链的结构重构方法,其中该步骤C进一步包含如该扫描元件。
7、所在的扫描链的偏好优先级更高,则进入步骤C2根据该待重构扫描链的第一偏好序列找出其偏好优先级较该扫描元件次之的一扫描元件,然后返回步骤A。11根据权利要求9所述的扫描链的结构重构方法,其中该步骤III进一步包含在步骤B或步骤C1之后执行步骤D判断该扫描链是否完成重构,如完成则进入步骤E检查该待重构扫描链集中是否为空;否则返回步骤II。12根据权利要求11所述的扫描链的结构重构方法,其中该步骤E进一步包含如该待重构扫描链集为空,则全部扫描链重构结束;否则,返回步骤I。13一种扫描链的结构重构装置,重构若干条扫描链,该若干条扫描链共包含若干扫描元件;该扫描链的结构重构装置包含一第一偏好序列构建器,。
8、其针对该若干条扫描链中的每一条分别建立其对该若干扫描元件的第一偏好序列;一第二偏好序列构建器,其针对该若干扫描元件中的每一个分别建立其对该若干扫描链的第二偏好序列;一双向选择分配器,其使该若干扫描链与该若干扫描元件基于各自相应的该第一偏好序列与该第二偏好序列进行双向选择,从而将该若干扫描元件重新分配给该若干条扫描链。14根据权利要求13所述的扫描链的结构重构装置,其中该第一偏好序列构建器在构建该若干扫描链中的每一个的该第一偏好序列时,是根据该若干扫描元件中的每一个与该扫描链的起点、终点的距离的和由小到大排列建立。15根据权利要求13所述的扫描链的结构重构装置,其中该第二偏好序列构建器在构建该若。
9、干扫描元件中的每一个的第二偏好序列时,是根据该扫描元件至该若干扫描链中的每一个的起点、终点的距离和再加上该相应扫描链的起点至终点的距离由小到大排列建立。16根据权利要求13所述的扫描链的结构重构装置,其中该双向选择分配器进一步包含一选择器、一扫描元件管理器,及一扫描链管理器;该选择器从该扫描元件管理器的一可用扫描元件集中选择一个可用扫描元件;该第二偏好序列构建器找出该可用扫描元件的偏好优先级最高的扫描链;该扫描链管理器判断该扫描链是否被分配满,如果该扫描链未被分配满,则将该可用扫描元件分配给该扫描链,该扫描元件管理器将该可用扫描元件自可用扫描元件集中移除;否则该第一偏好序列构建器检查该扫描链是。
10、否存在偏好优先级低于该可用扫描元件的扫描元件。17根据权利要求16所述的扫描链的结构重构装置,其中当该扫描链中存在偏好优先级低于该可用扫描元件的扫描元件时,该扫描链管理器将其中偏好优先级最低的扫描元件从该扫描链中移除,该扫描元件管理器将其加入可用扫描元件集;同时该扫描链管理器将该可用扫描元件分配给该扫描链。18根据权利要求16所述的扫描链的结构重构装置,其中当该扫描链中不存在偏好优先级低于该可用扫描元件的扫描元件时,该第二偏好序列构建器选择该可用扫描元件的偏好优先级较该扫描链次之的一扫描链,以再次分配该可用扫描元件。19根据权利要求17所述的扫描链的结构重构装置,其中该扫描元件管理器在该可用权。
11、利要求书CN102054078ACN102054085A3/3页4扫描元件成功分配后,检查是否仍有可用扫描元件,如无则该若干扫描链重构结束,否则选择器再次选择一可用扫描元件进行分配。20根据权利要求13所述的扫描链的结构重构装置,其中该双向分配器进一步包含一选择器、一扫描元件管理器,及一扫描链管理器;该选择器自该扫描链管理器的一待重构扫描链集中选择一待重构扫描链;该第一偏好序列构建器找出该待重构扫描链的偏好优先级最高的一扫描元件;该扫描元件管理器检查该扫描元件是否可用;如可用,则该扫描链管理器将该扫描元件分配该扫描链,该扫描元件管理器将其移除;否则,该第二偏好序列构建器检查其所在的扫描链是否较。
12、该待重构扫描链具有更高的偏好优先级。21根据权利要求20所述的扫描链的结构重构装置,其中该扫描链管理器在该扫描元件所在的扫描链的偏好优先级较低时,将该扫描元件自其所在扫描链中移除而分配给该待重构扫描链,并将移除该扫描元件的扫描链加入该待重构扫描链集。22根据权利要求20所述的扫描链的结构重构装置,其中该第一偏好序列构建器在该扫描元件所在的扫描链的偏好优先级更高时,找出偏好优先级较该扫描元件次之的一扫描元件以再次尝试重构该待重构扫描链。23根据权利要求21所述的扫描链的结构重构装置,其中该扫描链管理器在将该扫描元件分配给该待重构扫描链后,进一步判断其是否完成重构,如完成则检查是否还有待重构扫描链。
13、;否则该选择器继续为该待重构扫描链选择一扫描元件。24根据权利要求23所述的扫描链的结构重构装置,其中当该扫描链管理器发现无待重构扫描链时,则全部扫描链重构结束;否则,该选择器继续选择一待重构扫描链进行重构。权利要求书CN102054078ACN102054085A1/9页5物理设计中基于双向优先选择的扫描链重构方法与装置技术领域0001本发明是关于一种扫描链的结构重构方法与装置,尤其是关于芯片物理设计中基于双向优先选择的扫描链的结构重构方法与装置。背景技术0002为了芯片的可测试性考虑,目前绝大多数芯片中都会设置用于测试的扫描链。由于扫描链是在芯片逻辑设计阶段插入,插入时没有计入物理信息,导。
14、致在物理设计阶段扫描链占用过多的布线资源,引起布线拥塞甚至无法布线的问题。因此,在物理设计阶段对扫描链进行结构优化以尽可能减少其占用的布线资源,变得十分必要。0003然而,现有的一些扫描链结构优化方法大都只着眼于一局部或单一指标的优化,如优化时间等,优化的方法过于粗略而无法取得理想的效果。例如,只考虑扫描元件的纵向位置或横向位置,甚至不考虑扫描链的起点与终点位置。此外,业界也有少数全局考虑扫描元件和扫描链位置的优化方法,但是在优化效率或者优化时间上都存在一些不足。0004因而,如何获得一种更有效的扫描链结构优化方法一直是业界关注的问题。发明内容0005本发明提供一种物理设计中基于双向优先选择的。
15、扫描链重构方法与装置,在物理设计阶段对全局的扫描链结构进行重构优化,在保证测试的同时解决了不合理的扫描链结构导致的布线资源浪费问题。0006本发明提供一种扫描链的结构重构方法,其重构若干条扫描链,该若干条扫描链共包含若干个扫描元件。该扫描链的结构重构方法包含步骤一针对该若干条扫描链中的每一条分别建立其对该若干扫描元件的第一偏好序列;步骤二针对该若干扫描元件中的每一个分别建立其对该若干扫描链的第二偏好序列;步骤三该若干扫描链与该若干扫描元件基于各自相应的该第一偏好序列与该第二偏好序列进行双向选择,从而将该若干扫描元件重新分配给该若干条扫描链。0007其中,该若干扫描链中的每一个的该第一偏好序列是。
16、根据该若干扫描元件中的每一个与该扫描链的起点、终点的距离的和由小到大排列建立。该若干扫描元件中的每一个的第二偏好序列是根据该扫描元件至该若干扫描链中的每一个的起点、终点的距离和再加上该相应扫描链的起点至终点的距离由小到大排列建立。该步骤三进一步包含步骤I从一可用扫描元件集中选择一个可用扫描元件;步骤II基于该可用扫描元件的第二偏好序列找出其偏好优先级最高的一扫描链;步骤III步骤A判断该扫描链是否被分配满,如果该扫描链未被分配满,则执行步骤B将该可用扫描元件分配给该扫描链,并将其从该可用扫描元件集中移除;否则进入步骤C根据该扫描链的第一偏好序列判断该扫描链中是否存在偏好优先级低于该可用扫描元件。
17、的扫描元件。其中该步骤C进一步包含如存在,则在步骤C1将该扫描链中偏好优先级最低的一扫描元件从该扫描链中移除,将其加入到该可用扫描元件集;同时将该可用扫描元件分配给该扫描链;如不存在,则至步骤C2根据该可说明书CN102054078ACN102054085A2/9页6用扫描元件的第二偏好序列选择其偏好优先级较该扫描链次之的一扫描链,并返回步骤A。此外,该步骤III进一步包含在步骤B或步骤C1之后执行步骤D检查该可用扫描元件集是否为空,如空则该若干扫描链重构结束,否则返回步骤I。0008在另一实施例中,该步骤三进一步包含步骤I在一待重构扫描链集中选择一待重构扫描链;步骤II根据该待重构扫描链的第。
18、一偏好序列选择其偏好优先级最高的一扫描元件;步骤III在步骤A检查该扫描元件是否已被使用如未被使用,则在步骤B将该扫描元件分配该扫描链,并将其自一可用扫描元件集中移除;否则,在步骤C根据该扫描元件的第二偏好序列检查其所在的扫描链是否较该待重构扫描链具有更高的偏好优先级。其中该步骤C进一步包含如该扫描元件所在的扫描链的偏好优先级较低,则进入步骤C1该扫描元件自所在扫描链中移除并将其分配给该待重构扫描链,将移除该扫描元件的扫描链加入该待重构扫描链集。如该扫描元件所在的扫描链的偏好优先级更高,则进入步骤C2根据该待重构扫描链的第一偏好序列找出其偏好优先级较该扫描元件次之的一扫描元件,然后返回步骤A。。
19、此外,该步骤III进一步包含在步骤B或步骤C1之后执行步骤D判断该扫描链是否完成重构,如完成则进入步骤E检查该待重构扫描链集中是否为空;否则返回步骤II。该步骤E进一步包含如该待重构扫描链集为空,则全部扫描链重构结束;否则,返回步骤I。0009本发明还提供一种扫描链的结构重构装置,包含一第一偏好序列构建器,其针对该若干条扫描链中的每一条分别建立其对该若干扫描元件的第一偏好序列;一第二偏好序列构建器,其针对该若干扫描元件中的每一个分别建立其对该若干扫描链的第二偏好序列;一双向选择分配器,其使该若干扫描链与该若干扫描元件基于各自相应的该第一偏好序列与该第二偏好序列进行双向选择,从而将该若干扫描元件。
20、重新分配给该若干条扫描链。0010其中,该双向选择分配器进一步包含一选择器、一扫描元件管理器,及一扫描链管理器;该选择器从该扫描元件管理器的一可用扫描元件集中选择一个可用扫描元件;该第二偏好序列构建器找出该可用扫描元件的偏好优先级最高的扫描链;该扫描链管理器判断该扫描链是否被分配满,如果该扫描链未被分配满,则将该可用扫描元件分配给该扫描链,该扫描元件管理器将该可用扫描元件自可用扫描元件集中移除;否则该第一偏好序列构建器检查该扫描链是否存在偏好优先级低于该可用扫描元件的扫描元件。当该扫描链中存在偏好优先级低于该可用扫描元件的扫描元件时,该扫描链管理器将其中偏好优先级最低的扫描元件从该扫描链中移除。
21、,该扫描元件管理器将其加入可用扫描元件集;同时该扫描链管理器将该可用扫描元件分配给该扫描链。当该扫描链中不存在偏好优先级低于该可用扫描元件的扫描元件时,该第二偏好序列构建器选择该可用扫描元件的偏好优先级较该扫描链次之的一扫描链,以再次分配该可用扫描元件。该扫描元件管理器在该可用扫描元件成功分配后,检查是否仍有可用扫描元件,如无则该若干扫描链重构结束,否则选择器再次选择一可用扫描元件进行分配。0011在另一实施例中,该双向分配器进一步包含一选择器、一扫描元件管理器,及一扫描链管理器;该选择器自该扫描链管理器的一待重构扫描链集中选择一待重构扫描链;该第一偏好序列构建器找出该待重构扫描链的偏好优先级。
22、最高的一扫描元件;该扫描元件管理器检查该扫描元件是否可用;如可用,则该扫描链管理器将该扫描元件分配该扫描链,该说明书CN102054078ACN102054085A3/9页7扫描元件管理器将其移除;否则,该第二偏好序列构建器检查其所在的扫描链是否较该待重构扫描链具有更高的偏好优先级。其中该扫描链管理器在该扫描元件所在的扫描链的偏好优先级较低时,将该扫描元件自其所在扫描链中移除而分配给该待重构扫描链,并将移除该扫描元件的扫描链加入该待重构扫描链集。该第一偏好序列构建器在该扫描元件所在的扫描链的偏好优先级更高时,找出偏好优先级较该扫描元件次之的一扫描元件以再次尝试重构该待重构扫描链。该扫描链管理器。
23、在将该扫描元件分配给该待重构扫描链后,进一步判断其是否完成重构,如完成则检查是否还有待重构扫描链;否则该选择器继续为该待重构扫描链选择一扫描元件。当该扫描链管理器发现无待重构扫描链时,则全部扫描链重构结束;否则,该选择器继续选择一待重构扫描链进行重构。0012本发明的扫描链结构重构方法与装置,其通过扫描链与扫描元件之间的双向选择,使得整个芯片设计中的扫描链结构得到优化,大幅度降低对布线资源的需求。在提高测试性能的同时,提高了芯片的整体布线率。附图说明0013图1是本发明将所有扫描元件重新分配给各扫描链进行扫描链重构的流程图;0014图2是本发明中基于第一与第二偏好列表经双向选择将扫描元件分配给。
24、各扫描链的一实施例的流程图;0015图3是本发明中基于第一与第二偏好列表经双向选择将扫描元件分配给各扫描链的一实施例的流程图;0016图4是本发明一实施例的扫描链的结构重构装置的示意图;0017图5是本发明一实施例的扫描链的结构重构装置的双向选择分配器的示意图;0018图6是本发明一实施例的扫描链重构前的示意图;0019图7是本发明一实施例中建立第一与第二偏好序列的示意图;0020图8是本发明一实施例中经重构和单独优化的扫描链的示意图。具体实施方式0021为便于更好的理解本发明的精神,以下结合本发明的优选实施例对其作进一步说明。0022本发明是关于一种基于扫描链和扫描元件双向选择的扫描链结构重。
25、构方法及装置,其对于新的数据压缩的扫描链结构DFTDESIGNFORTESTMAX的作用尤其显著。所谓DFTMAX扫描链结构是通过片上扫描数据压缩,显著减少高质量制造测试所需的测试时间和测试数据,其已越来越多的被业界所采用。0023本发明的扫描链的结构优化可以分为两步首先是所有扫描链的重构过程,即将同一时钟域内的扫描元件重新分配给该时钟域内的扫描链,同时保证每条扫描链的扫描时序长度不变;然后,对重构后的每条扫描链结构单独进行优化。0024其中在第一步的所有扫描链的结构重构问题是一个NPNONDETERMINISTICPOLYNOMIALTIME问题,具体描述为在芯片的逻辑设计阶段生成同一时钟域。
26、内的若干条扫描链,若干个扫描元件;其中每条扫描链的扫描时序长度确定,每条扫描链的起点位置和终点位置确定;每个扫描元件的位置确定。在芯片的物理设计阶段,力图通过优化将该若干说明书CN102054078ACN102054085A4/9页8个扫描元件重新分配给该若干条扫描链,从而在保证每条扫描链的扫描时序长度不变的前提下使每条扫描链长度尽可能短。0025针对第一步,如图1所示,本发明提供一种基于扫描链和扫描元件双向选择的扫描链的结构重构方法0026在步骤10针对N条扫描链中的每一条C1CN分别建立其对M个扫描元件S1SM的第一偏好列表CL1CLNN、M均大于1。其中,各第一偏好列表CL1CLN是根据。
27、每一扫描元件S1SM与对应扫描链C1CN的起点、终点的距离的和由小到大排列建立。如,第一偏好列表CL1是根据每一扫描元件S1SM至扫描链C1的起点的距离与至终点的距离的和,由小到大排列建立。0027在步骤11针对每个扫描元件S1SM建立其对N条扫描链C1CN的第二偏好列表SL1SLN。其中,该第二偏好列表SL1SLN是根据对应扫描元件S1SM至各扫描链C1CN的起点、终点的距离和再加上相应扫描链的起点至终点的距离,由小到大排列建立。0028接着在步骤12基于建立的第一偏好列表CL1CLN与第二偏好列表SL1SLN依双向选择方式将M个扫描元件S1SM分配给N条扫描链C1CN。0029如图2所示,。
28、根据本发明的一优选实施例,该步骤12又具体包含如下步骤0030首先在步骤120从一可用扫描元件列表SS1S2SN中选择一个可用扫描元件,如S1。在步骤121基于该可用扫描元件S1对该N条扫描链C1CN的第二偏好列表SL1优先考虑该第二偏好列表SLM中的偏好优先级最高的扫描链,如C1。0031接着在步骤122判断该偏好优先级最高的扫描链C1是否被分配满。如果该扫描链C1未被分配满,则执行步骤123将该可用扫描元件S1分配给该扫描链C1,并将其从可用扫描元件列表S中移除。然后在步骤124检查该可用扫描元件列表S是否为空,如空则结束,否则返回步骤120。如果该扫描链C1已被分配满,则执行步骤125,。
29、考虑该扫描链C1对于扫描元件S1SM的第一偏好列表CL1,判断在该扫描链C1中的扫描元件中是否存在偏好优先级低于该可用扫描元件S1的扫描元件,如S2、S3。如存在,则在步骤126将该扫描链C1的第一偏好列表CL1中偏好优先级最低的扫描元件,如S3,从扫描链C1中移除,并将其加入到可用扫描元件列表S的末尾;同时将该可用扫描元件S1分配给该扫描链C1;之后,需至步骤124检查该可用扫描元件列表S是否为空,如空则结束,否则返回步骤120。如该扫描链C1中的扫描元件中不存在偏好优先级低于该可用扫描元件S1的扫描元件,则至步骤127考虑该可用扫描元件S1的第二偏好列表SL1中偏好优先级较该扫描链次之的一。
30、扫描链,如C2;并跳至步骤122。0032本领域的技术人员应当了解,本发明的基于扫描链和扫描元件双向选择的扫描链结构重构方法并不局限于上述内容。上述建立第一与第二偏好列表的步骤并没有先后顺序限定,各扫描链对扫描元件的第一偏好及各扫描元件对扫描链的第二偏好并不局限于列表的形式,可以是其它显示排序的序列形式;同样,可用扫描元件与待重构扫描链也不局限于列表的形式,可以是其它显示状态的集合形式。而后续扫描链与扫描元件间的双向选择也并不限于上述步骤。0033例如,图3描述了本发明的另一双向选择步骤13的实施例。在步骤130可先在一待重构扫描链列表中选择一待重构扫描链。接着,在步骤131根据该扫描链的第一。
31、偏好列说明书CN102054078ACN102054085A5/9页9表选择其偏好优先级最高的一扫描元件。在步骤132根据可用扫描元件列表检查该扫描元件是否已被使用如未被使用,则在步骤133将该扫描元件分配该扫描链,并将其自可用扫描元件列表中删除,然后在步骤134检查该扫描链是否已重构完成,即获得足够需求量的扫描元件。如已完成重构则进入步骤135检查是否还有扫描链需要重构,如有则返回步骤130继续,否则全部扫描链重构结束。如在步骤132的检查中,如该扫描元件已被使用,则在步骤136根据该扫描元件的第二偏好列表判断其所在的扫描链是否较该待重构扫描链具有更高的偏好优先级如其所在的扫描链的偏好优先级。
32、更高,则该待重构扫描链需重新根据其第一偏好列表选择一偏好优先级较该扫描元件次之的扫描元件,即返回步骤131;否则在步骤137将该扫描元件自其所在的扫描链移除,并分配给该待重构扫描链,并将该扫描元件之前所在扫描链加入待重构扫描链列表,以便后续为其选择需要的扫描元件完成重构。接着步骤137进入步骤138判断该扫描链是否完成重构,如完成则返回步骤130继续选择其它扫描链;否则返回步骤131继续为其选择扫描元件。0034如图4所示,本发明还提供一基于扫描链和扫描元件双向选择的扫描链的结构重构装置2,其包含一第一偏好列表构建器20、一第二偏好列表构建器21,及一双向选择分配器22;该双向选择分配器22与。
33、该第一与第二偏好列表构建器21、22通信连接。该第一偏好列表构建器20针对N条扫描链中的每一条C1CN,分别建立并存储其对M个扫描元件S1SM的第一偏好列表CL1CLNN、M均大于1。该第二偏好列表构建器21针对每个扫描元件S1SM,建立并存储其对N条扫描链C1CN的第二偏好列表SL1SLN。该双向选择分配器22可随时与该第一偏好列表构建器与第二偏好列表构建器21、22通信,从而基于建立的第一偏好列表CL1CLN与第二偏好列表SL1SLN,依双向选择方式将M个扫描元件S1SM分配给N条扫描链C1CN。0035如图5所示,根据本发明的一优选实施例,该双向选择分配器22又具体包含一选择器220、一。
34、扫描元件管理器221,及一扫描链管理器222;该选择器220具有若干接口,该双向选择分配器22是通过该选择器220的接口与该第一、第二偏好列表构建器20、21通信连接;且该选择器220还通过该若干接口与该扫描元件管理器221、扫描链管理器222通信连接。0036首先该选择器220请该扫描元件管理器221检查其上的可用扫描元件列表SS1S2SN中是否有可用扫描元件,如有则从中选择一个可用扫描元件,如S1。接着该选择器220请求该第二偏好列表构建器21基于该可用扫描元件S1对该N条扫描链C1CN的第二偏好列表SL1,找出其中偏好优先级最高的扫描链,如C1。该选择器220接收该第二偏好列表构建器21。
35、的信息,并将该分配结果通知扫描链管理器222。0037该扫描链管理器222检查该偏好优先级最高的扫描链C1是否被分配满。如果该扫描链C1未被分配满,则将该可用扫描元件S1分配给该扫描链C1,并通知该选择器220分配成功。该选择器220通知该扫描元件管理器221将该扫描元件S1从可用扫描元件列表S中移除及更新该扫描元件的分配信息,然后开始选择新的可用扫描元件。如果该扫描链C1已被分配满,则该扫描链管理器222通知该选择器220该扫描链C1已满,并将该扫描链C1的现有的扫描元件信息一并告知。该选择器220转而请求第一偏好列表构建器20基于该扫描链C1对于扫描元件S1SM的第一偏好列表CL1,检查该。
36、扫描链C1中的扫描元件说明书CN102054078ACN102054085A6/9页10中是否存在偏好优先级低于该可用扫描元件S1的扫描元件。如该第一偏好列表构建器20发现存在,如扫描元件S2、S3,则找出该扫描链C1的第一偏好列表CL1中偏好优先级最低的扫描元件,如S3。选择器220接收第一偏好列表构建器20的返回信息后,通知扫描元件管理器221将其加入该可用扫描元件列表末尾,将该可用扫描元件S1自可用扫描元件列表中删除,及更新该两扫描元件的分配信息;通知该扫描链管理器222将该可用扫描元件S1分配给该扫描链C1;然后开始选择新的可用扫描元件进行分配。如果该第一偏好列表构建器20从中找不到偏。
37、好优先级较该可用扫描元件低的扫描元件,则,该选择器220请求该第二偏好列表构建器21提供从该可用扫描元件S1的第二偏好列表SL1中选择偏好优先级较该扫描链C1次之的扫描链,如,C2。该扫描链结构重构装置2针对该扫描链C2再进行如上检查该扫描链C2是否分配满等一系列操作。0038根据本发明的另一实施例,双向选择分配器22在分配扫描元件与扫描链时可采用不同的方式。该选择器220先访问扫描链管理器222,由其上的一待重构扫描链列表中选择一待重构扫描链。接着,该选择器220查询该第一偏好列表构建器20,由该第一偏好列表构建器20根据该扫描链的第一偏好列表找出其偏好优先级最高的扫描元件。该选择器220收。
38、到信息后,转而通知该扫描元件管理器221。该扫描元件管理器221检查该扫描元件是否已被使用0039如未被使用,则该选择器220通知该扫描链管理器222将该扫描元件分配该扫描链,及请求该扫描链管理器222检查该扫描链是否已重构完成,即获得足够需求量的扫描元件。该选择器220还会通知该扫描元件管理器221自可用扫描元件列表中删除及更新该扫描元件的分配信息。如该扫描链管理器222检查该扫描链已完成重构,则该选择器220请其确认是否还有扫描链需要重构,如有则继续选择新的扫描链进行重构,否则全部扫描链重构结束。0040如该扫描元件管理器221发现该扫描元件已被使用,则选择器220收到信息后将请求第二偏好。
39、列表构建器21判断其目前所在的扫描链是否较该待重构扫描链具有更高的偏好优先级。如其所在的扫描链的偏好优先级更高,则选择器220需重新请求第一偏好列表构建器20根据其第一偏好列表找出一偏好优先级次之的扫描元件,即开始针对该新选择的扫描元件执行一系列上述操作。否则,该选择器220通知该扫描链管理器222将该扫描元件自其所在扫描链移除,转而分配给该待重构扫描链,并将该扫描元件之前所在扫描链加入待重构扫描链列表以便后续为其选择需要的扫描元件。该选择器220还会通知该扫描元件管理器221更新该扫描元件的分配信息,要求该扫描链管理器222判断该扫描链是否完成重构,如完成则选择器220开始选择其它扫描链进行。
40、重构;否则该选择器220继续为该扫描链选择其需要的扫描元件。0041如图6所示,本发明的一具体实施例为一在芯片的物理设计阶段进行扫描链结构重构的装置2,其重构逻辑设计阶段生成的若干扫描链50、51,该若干扫描链50、51包含若干时序长度为一的扫描元件60、61、62、63、64、65。其中第一条扫描链50包含三个扫描元件60、61、62,第二条扫描链51包含三个扫描元件63、64、65。其中一条扫描链50的结构为606162不考虑起点501与终点502,以下类似,另二条扫描链51的结构为636465,这意味着重构之后的两条扫描链50、51中的每一条亦都应包含三个扫描元件,以保证时序长度不变。说。
41、明书CN102054078ACN102054085A7/9页110042第一偏好列表构建器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。0043具体的,第一偏好列表构建器20对两条扫描链50、51分别建立并存储其对于六个扫描元件60、61、62、63、64、65的第一偏好列表500、510。以其中一条扫描链50对其中两扫描元件60、61的偏好排列为例,如图7所示。
42、,第一偏好列表构建器20计算扫描元件60至该扫描链50的起点501为距离D1,至该扫描链50的终点502为距离D2;计算另一扫描元件61至该扫描链50的起点501为距离D3,至该扫描链50的终点502为距离D4。依计算结果可知,D1D2D3D4。因而该扫描链50对该两扫描元件60、61的偏好排序为扫描元件60优先于扫描元件61,即在扫描链50的第一偏好列表500中扫描元件60排列于另一扫描元件61之前。依上述方法,该第一偏好列表构建器20最终得到并存储该两扫描链50、51分别对该六个扫描元件的第一偏好列表500、510如下0044扫描链50的第一偏好列表5006564636061620045扫。
43、描链51的第一偏好列表5106365646261600046第二偏好列表构建器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。依计算。
44、结果,D1D2D50D5D6D51。因而该扫描元件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如下0047扫描元件60的第二偏好列表60050510048扫描元件61的第二偏好列表61051500049扫描元件62的第二偏好列表62051500050扫描元件63的第二偏好列表63050510051。
45、扫描元件64的第二偏好列表64050510052扫描元件65的第二偏好列表65050510053接着,基于上述第一偏好列表500、510与第二偏好列表600、610、620、630、640、650,双向选择分配器22对两扫描链50和扫描元件60、61、62、63、64、65双向选择进行扫描链的结构重构,选取适当的扫描元件分配给各扫描链50、51,具体如下0054选择器220查询一扫描元件管理器221,从其可用扫描元件列表6中选择一个可用扫描元件60。接着该选择器220请求第二偏好列表构建器21基于该可用扫描元件60对该若干条扫描链50、51的第二偏好列表600找出其中偏好优先级最高的扫描链50。
46、。该选择器220接收该第二偏好列表构建器21的信息,并将该分配结果通知扫描链管理器222。该扫说明书CN102054078ACN102054085A8/9页12描链管理器222检查得知该扫描链50未被分配满,则将该可用扫描元件60分配给该扫描链50,并通知该选择器220分配成功。该选择器420通知该扫描元件管理器221将该扫描元件60从可用扫描元件列表6中移除及更新该扫描元件60的分配信息。即,此时一扫描链50的结构为60,另一扫描链51的结构为空,扫描元件61、62、63、64、65为可用扫描元件。0055然后该选择器220继续访问该扫描元件管理器221上的可用扫描元件列表6,并选择扫描元件。
47、61。如上,经过选择器220查询第二偏好列表构建器21及扫描链管理器222的判断,扫描元件61分配给另一扫描链51,该扫描元件管理器221将其从可用扫描元件列表6中移除。即,此时一扫描链50的结构为60,另一扫描链51的结构为61,可用扫描元件为扫描元件62、63、64、65。0056如此反复操作,该扫描链重构装置2将扫描元件62、63、64分别分配给两扫描链51、50、50。此时两扫描链50、51分别为606364、6162,可用扫描元件为扫描元件65。0057在分配扫描元件65时,根据选择器220查询第二偏好列表构建器21,得到其优先应考虑扫描链50。然扫描链管理器222收到选择器220发。
48、送的该分配信息时,经查询发现此时扫描链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将。
49、扫描元件60加入到可用扫描元件列表6的末尾。即,此时一扫描链50为656364,另一扫描链51为6162,该可用扫描元件列表6为60。0058然后该选择器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为空;所有扫描链重构结束。0059在将该若干扫描元件重新分配给各扫描链后,可再对各扫描链内的扫描元件进行排序优化。本领域技术人员应当了解现有技术中已有很多关于该单一扫描链内的扫描元件的摆放优化,本发明不再赘述。仅以一简便。