物理设计中基于双向优先选择的扫描链重构方法与装置.pdf

上传人:00****42 文档编号:1033015 上传时间:2018-03-27 格式:PDF 页数:19 大小:594.79KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910211389.3

申请日:

2009.10.30

公开号:

CN102054078A

公开日:

2011.05.11

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 17/50申请日:20091030|||公开

IPC分类号:

G06F17/50

主分类号:

G06F17/50

申请人:

新思科技(上海)有限公司

发明人:

刘榜; 刘渤海

地址:

200050 上海市长宁区长宁路1027号兆丰广场14层-18层

优先权:

专利代理机构:

北京律盟知识产权代理有限责任公司 11287

代理人:

刘国伟

PDF下载: PDF下载
内容摘要

本发明提供一种物理设计中基于双向优先选择的扫描链重构方法与装置,该扫描链的结构重构方法首先针对该若干条扫描链中的每一条分别建立其对该若干扫描元件的第一偏好序列;针对该若干扫描元件中的每一个分别建立其对该若干扫描链的第二偏好序列;然后该若干扫描链与该若干扫描元件基于各自相应的该第一偏好序列与该第二偏好序列进行双向选择,从而将该若干扫描元件重新分配给该若干条扫描链。本发明的扫描链的结构重构方法与装置将全局的扫描链进行整体优化,大幅度缩短全局的布线长度,提高布线效率。

权利要求书

1: 一种扫描链的结构重构方法, 重构若干条扫描链, 该若干条扫描链共包含若干个扫 描元件 ; 该扫描链的结构重构方法包含如下步骤 : 步骤一 : 针对该若干条扫描链中的每一条分别建立其对该若干扫描元件的第一偏好序 列; 步骤二 : 针对该若干扫描元件中的每一个分别建立其对该若干扫描链的第二偏好序 列; 步骤三 : 该若干扫描链与该若干扫描元件基于各自相应的该第一偏好序列与该第二偏 好序列进行双向选择, 从而将该若干扫描元件重新分配给该若干条扫描链。
2: 根据权利要求 1 所述的扫描链的结构重构方法, 其中该若干扫描链中的每一个的该 第一偏好序列是根据该若干扫描元件中的每一个与该扫描链的起点、 终点的距离的和, 由 小到大排列建立。
3: 根据权利要求 1 所述的扫描链的结构重构方法, 其中该若干扫描元件中的每一个的 第二偏好序列是根据该扫描元件至该若干扫描链中的每一个的起点、 终点的距离和再加上 该相应扫描链的起点至终点的距离, 由小到大排列建立。
4: 根据权利要求 1 所述的扫描链的结构重构方法, 其中该步骤三进一步包含 : 步骤 I : 从一可用扫描元件集中选择一个可用扫描元件 ; 步骤 II : 基于该可用扫描元件的第二偏好序列找出其偏好优先级最高的一扫描链 ; 步骤 III : 步骤 a : 判断该扫描链是否被分配满, 如果该扫描链未被分配满, 则执行步骤 b: 将该可用扫描元件分配给该扫描链, 并将其从该可用扫描元件集中移除 ; 否则进入步骤 c: 根据该扫描链的第一偏好序列判断该扫描链中是否存在偏好优先级低于该可用扫描元 件的扫描元件。
5: 根据权利要求 4 所述的扫描链的结构重构方法, 其中该步骤 c 进一步包含 : 如存在, 则在步骤 c1 : 将该扫描链中偏好优先级最低的一扫描元件从该扫描链中移除, 将其加入到 该可用扫描元件集 ; 同时将该可用扫描元件分配给该扫描链。
6: 根据权利要求 5 所述的扫描链的结构重构方法, 其中该步骤 c 进一步包含 : 如不存 在, 则至步骤 c2 : 根据该可用扫描元件的第二偏好序列选择其偏好优先级较该扫描链次之 的一扫描链, 并返回步骤 a。
7: 根据权利要求 5 所述的扫描链的结构重构方法, 其中该步骤 III 进一步包含在步骤 b 或步骤 c1 之后执行步骤 d : 检查该可用扫描元件集是否为空, 如空则该若干扫描链重构结 束, 否则返回步骤 I。
8: 根据权利要求 1 所述的扫描链的结构重构方法, 其中该步骤三进一步包含 : 步骤 I : 在一待重构扫描链集中选择一待重构扫描链 ; 步骤 II : 根据该待重构扫描链的第一偏好序列选择其偏好优先级最高的一扫描元件 ; 步骤 III : 在步骤 a : 检查该扫描元件是否已被使用 : 如未被使用, 则在步骤 b : 将该扫 描元件分配该扫描链, 并将其自一可用扫描元件集中移除 ; 否则, 在步骤 c : 根据该扫描元 件的第二偏好序列检查其所在的扫描链是否较该待重构扫描链具有更高的偏好优先级。
9: 根据权利要求 8 所述的扫描链的结构重构方法, 其中该步骤 c 进一步包含 : 如该扫 描元件所在的扫描链的偏好优先级较低, 则进入步骤 c1 : 该扫描元件自所在扫描链中移除 并将其分配给该待重构扫描链, 将移除该扫描元件的扫描链加入该待重构扫描链集。 2
10: 根据权利要求 9 所述的扫描链的结构重构方法, 其中该步骤 c 进一步包含 : 如该扫 描元件所在的扫描链的偏好优先级更高, 则进入步骤 c2 : 根据该待重构扫描链的第一偏好 序列找出其偏好优先级较该扫描元件次之的一扫描元件, 然后返回步骤 a。
11: 根据权利要求 9 所述的扫描链的结构重构方法, 其中该步骤 III 进一步包含在步骤 b 或步骤 c1 之后执行步骤 d : 判断该扫描链是否完成重构, 如完成则进入步骤 e 检查该待重 构扫描链集中是否为空 ; 否则返回步骤 II。
12: 根据权利要求 11 所述的扫描链的结构重构方法, 其中该步骤 e 进一步包含 : 如该 待重构扫描链集为空, 则全部扫描链重构结束 ; 否则, 返回步骤 I。
13: 一种扫描链的结构重构装置, 重构若干条扫描链, 该若干条扫描链共包含若干扫描 元件 ; 该扫描链的结构重构装置包含 : 一第一偏好序列构建器, 其针对该若干条扫描链中的每一条分别建立其对该若干扫描 元件的第一偏好序列 ; 一第二偏好序列构建器, 其针对该若干扫描元件中的每一个分别建立其对该若干扫描 链的第二偏好序列 ; 一双向选择分配器, 其使该若干扫描链与该若干扫描元件基于各自相应的该第一偏 好序列与该第二偏好序列进行双向选择, 从而将该若干扫描元件重新分配给该若干条扫描 链。
14: 根据权利要求 13 所述的扫描链的结构重构装置, 其中该第一偏好序列构建器在构 建该若干扫描链中的每一个的该第一偏好序列时, 是根据该若干扫描元件中的每一个与该 扫描链的起点、 终点的距离的和由小到大排列建立。
15: 根据权利要求 13 所述的扫描链的结构重构装置, 其中该第二偏好序列构建器在 构建该若干扫描元件中的每一个的第二偏好序列时, 是根据该扫描元件至该若干扫描链中 的每一个的起点、 终点的距离和再加上该相应扫描链的起点至终点的距离由小到大排列建 立。
16: 根据权利要求 13 所述的扫描链的结构重构装置, 其中该双向选择分配器进一步包 含: 一选择器、 一扫描元件管理器, 及一扫描链管理器 ; 该选择器从该扫描元件管理器的一 可用扫描元件集中选择一个可用扫描元件 ; 该第二偏好序列构建器找出该可用扫描元件的 偏好优先级最高的扫描链 ; 该扫描链管理器判断该扫描链是否被分配满, 如果该扫描链未 被分配满, 则将该可用扫描元件分配给该扫描链, 该扫描元件管理器将该可用扫描元件自 可用扫描元件集中移除 ; 否则该第一偏好序列构建器检查该扫描链是否存在偏好优先级低 于该可用扫描元件的扫描元件。
17: 根据权利要求 16 所述的扫描链的结构重构装置, 其中当该扫描链中存在偏好优先 级低于该可用扫描元件的扫描元件时, 该扫描链管理器将其中偏好优先级最低的扫描元件 从该扫描链中移除, 该扫描元件管理器将其加入可用扫描元件集 ; 同时该扫描链管理器将 该可用扫描元件分配给该扫描链。
18: 根据权利要求 16 所述的扫描链的结构重构装置, 其中当该扫描链中不存在偏好优 先级低于该可用扫描元件的扫描元件时, 该第二偏好序列构建器选择该可用扫描元件的偏 好优先级较该扫描链次之的一扫描链, 以再次分配该可用扫描元件。
19: 根据权利要求 17 所述的扫描链的结构重构装置, 其中该扫描元件管理器在该可用 3 扫描元件成功分配后, 检查是否仍有可用扫描元件, 如无则该若干扫描链重构结束, 否则选 择器再次选择一可用扫描元件进行分配。
20: 根据权利要求 13 所述的扫描链的结构重构装置, 其中该双向分配器进一步包含一 选择器、 一扫描元件管理器, 及一扫描链管理器 ; 该选择器自该扫描链管理器的一待重构扫 描链集中选择一待重构扫描链 ; 该第一偏好序列构建器找出该待重构扫描链的偏好优先级 最高的一扫描元件 ; 该扫描元件管理器检查该扫描元件是否可用 ; 如可用, 则该扫描链管 理器将该扫描元件分配该扫描链, 该扫描元件管理器将其移除 ; 否则, 该第二偏好序列构建 器检查其所在的扫描链是否较该待重构扫描链具有更高的偏好优先级。
21: 根据权利要求 20 所述的扫描链的结构重构装置, 其中该扫描链管理器在该扫描元 件所在的扫描链的偏好优先级较低时, 将该扫描元件自其所在扫描链中移除而分配给该待 重构扫描链, 并将移除该扫描元件的扫描链加入该待重构扫描链集。
22: 根据权利要求 20 所述的扫描链的结构重构装置, 其中该第一偏好序列构建器在该 扫描元件所在的扫描链的偏好优先级更高时, 找出偏好优先级较该扫描元件次之的一扫描 元件以再次尝试重构该待重构扫描链。
23: 根据权利要求 21 所述的扫描链的结构重构装置, 其中该扫描链管理器在将该扫描 元件分配给该待重构扫描链后, 进一步判断其是否完成重构, 如完成则检查是否还有待重 构扫描链 ; 否则该选择器继续为该待重构扫描链选择一扫描元件。
24: 根据权利要求 23 所述的扫描链的结构重构装置, 其中当该扫描链管理器发现无 待重构扫描链时, 则全部扫描链重构结束 ; 否则, 该选择器继续选择一待重构扫描链进行重 构。

说明书


物理设计中基于双向优先选择的扫描链重构方法与装置

    技术领域 本发明是关于一种扫描链的结构重构方法与装置, 尤其是关于芯片物理设计中基 于双向优先选择的扫描链的结构重构方法与装置。
     背景技术 为了芯片的可测试性考虑, 目前绝大多数芯片中都会设置用于测试的扫描链。由 于扫描链是在芯片逻辑设计阶段插入, 插入时没有计入物理信息, 导致在物理设计阶段扫 描链占用过多的布线资源, 引起布线拥塞甚至无法布线的问题。 因此, 在物理设计阶段对扫 描链进行结构优化以尽可能减少其占用的布线资源, 变得十分必要。
     然而, 现有的一些扫描链结构优化方法大都只着眼于一局部或单一指标的优化, 如优化时间等, 优化的方法过于粗略而无法取得理想的效果。 例如, 只考虑扫描元件的纵向 位置或横向位置, 甚至不考虑扫描链的起点与终点位置。 此外, 业界也有少数全局考虑扫描 元件和扫描链位置的优化方法, 但是在优化效率或者优化时间上都存在一些不足。
     因而, 如何获得一种更有效的扫描链结构优化方法一直是业界关注的问题。
     发明内容 本发明提供一种物理设计中基于双向优先选择的扫描链重构方法与装置, 在物理 设计阶段对全局的扫描链结构进行重构优化, 在保证测试的同时解决了不合理的扫描链结 构导致的布线资源浪费问题。
     本发明提供一种扫描链的结构重构方法, 其重构若干条扫描链, 该若干条扫描链 共包含若干个扫描元件。该扫描链的结构重构方法包含 : 步骤一 : 针对该若干条扫描链中 的每一条分别建立其对该若干扫描元件的第一偏好序列 ; 步骤二 : 针对该若干扫描元件中 的每一个分别建立其对该若干扫描链的第二偏好序列 ; 步骤三 : 该若干扫描链与该若干扫 描元件基于各自相应的该第一偏好序列与该第二偏好序列进行双向选择, 从而将该若干扫 描元件重新分配给该若干条扫描链。
     其中, 该若干扫描链中的每一个的该第一偏好序列是根据该若干扫描元件中的每 一个与该扫描链的起点、 终点的距离的和由小到大排列建立。该若干扫描元件中的每一个 的第二偏好序列是根据该扫描元件至该若干扫描链中的每一个的起点、 终点的距离和再加 上该相应扫描链的起点至终点的距离由小到大排列建立。 该步骤三进一步包含 : 步骤 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(nondeterministic polynomial 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{S1 S2......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{S1 S2......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 相比较可以看出, 经过优化的扫描链整体的长度较优化前有了明显降低。 本发明的扫描链的结构重构方法与装置将现有技术中仅由扫描链单向选择扫描 装置, 在全局范围内通过扫描链与扫描元件的双向选择将扫描元件重新分配给各扫描链, 使得整个芯片设计中的扫描链结构得到优化, 大幅度降低对布线资源的需求。在提高测试 性能的同时, 也提高了芯片的整体布线率。
     本发明的技术内容及技术特点已揭示如上, 然而熟悉本领域的技术人员仍可能基 于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰。因此, 本发明的保护范 围应不限于实施例所揭示的内容, 而应包括各种不背离本发明的替换及修饰, 并为本专利 申请权利要求所涵盖。
    

物理设计中基于双向优先选择的扫描链重构方法与装置.pdf_第1页
第1页 / 共19页
物理设计中基于双向优先选择的扫描链重构方法与装置.pdf_第2页
第2页 / 共19页
物理设计中基于双向优先选择的扫描链重构方法与装置.pdf_第3页
第3页 / 共19页
点击查看更多>>
资源描述

《物理设计中基于双向优先选择的扫描链重构方法与装置.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在将该若干扫描元件重新分配给各扫描链后,可再对各扫描链内的扫描元件进行排序优化。本领域技术人员应当了解现有技术中已有很多关于该单一扫描链内的扫描元件的摆放优化,本发明不再赘述。仅以一简便。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1