考虑计划组的扫描链的重构方法与装置.pdf

上传人:b*** 文档编号:971354 上传时间:2018-03-22 格式:PDF 页数:21 大小:639.01KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910211374.7

申请日:

2009.10.30

公开号:

CN102054075A

公开日:

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 所述的扫描链的重构方法, 其中该步骤三进一步包含 : 自该第二扫描链集合中取出扫描元件需要数量最少的一扫描链 ; 判断该扫描链是否有一个端点在该顶层 : 如是, 在步骤 I 判断该扫描链的另一端点所在计划组内的可用扫描元件数量是否满足 该扫描链需要 ; 否则, 在步骤 II 针对该扫描链的两端点所在的两个计划组, 分别计算所有可能从其中 选取扫描元件的扫描链的扫描元件需求总数。
4: 根据权利要求 3 所述的扫描链的重构方法, 其中该步骤 I 进一步包含 : 如该计划组内的扫描元件数足够, 则将该计划组内的扫描元件依需求数量分配给该扫 描链 ; 否则, 将该计划组内的扫描元件分配给该扫描链, 并将该扫描链添加至该第三扫描链 集合。
5: 根据权利要求 3 所述的扫描链的重构方法, 其中该步骤 II 进一步包含 : 判断该两个计划组内的可用扫描元件是否满足该扫描链的需要, 如满足, 则从对应扫 描元件需求总数较少的一计划组中优先选择扫描元件分配给该扫描链, 不足的扫描元件从 另一计划组选择 ; 否则, 将该两个计划组中的可用扫描元件都分配给该扫描链, 并将该扫描 链放入该第三扫描链集合。
6: 根据权利要求 1 所述的扫描链的重构方法, 其中该步骤四进一步包含 : 自该第三扫描链集合中取出所需扫描元件最多的一扫描链 ; 检查是否有一计划组含有的可用扫描元件数比需求最多的一扫描链所需要的扫描元 件数多 : 如有, 则该扫描链从含扫描元件数最少的一计划组中选择 ; 否则, 从含有该可用扫描元件数最多的计划组开始为该扫描链分配扫描元件, 最后到 该顶层选择扫描元件。
7: 根据权利要求 1-6 之一所述的扫描链的重构方法, 其进一步包含一第二阶段重构, 在该第二阶段重构在同一计划组内的扫描链所需的扫描元件将基于扫描元件位置被重新 分配。
8: 根据权利要求 7 所述的扫描链的重构方法, 其中相邻且距一扫描链近的扫描元件将 2 被分配到该扫描链。
9: 一种扫描链的重构装置, 其包括一第一级重构器, 该第一级重构器包含 : 一分类器, 对若干扫描链进行分类, 其中起点和终点在一相同计划组内的扫描链归为 第一扫描链集合 ; 起点和终点不在同一计划组内的扫描链归为第二扫描链集合 ; 起点和终 点都在一顶层的扫描链被归为第三扫描链集合 ; 一分配器, 与该分类器通信连接 ; 其首先重构该第一扫描链集合内的扫描链直至该第 一扫描链集合为空 ; 然后重构该第二扫描链集合内的扫描链直至该第二扫描链集合为空 ; 最后重构该第三扫描链集合内的扫描链直至该第三扫描链集合为空。
10: 根据权利要求 9 所述的扫描链的重构装置, 其中该分配器在重构该第一扫描链集 合内的扫描链时 : 自该第一扫描链集合中取出需要扫描元件数量最少的一扫描链 ; 检查该扫描链的端点所在的一计划组中的可用扫描元件数量是否满足该扫描链需要 ; 如足够, 依该扫描链的需求数量将该计划组中的可用扫描元件分配该扫描链 ; 否则, 将该计 划组中所有的可用扫描元件分配该扫描链, 并将该扫描链放入第三扫描链集合。
11: 根据权利要求 9 所述的扫描链的重构装置, 其中该分配器在重构该第二扫描链集 合内的扫描链时 : 自该第二扫描链集合中取出扫描元件需要数量最少的一扫描链 ; 判断该扫描链是否有一个端点在该顶层 : 如是, 则判断该扫描链的另一端点所在计划组内的可用扫描元件数量是否满足该扫描 链需要 ; 否则, 则针对该扫描链的两端点所在的两个计划组, 分别计算所有可能从其中选取扫 描元件的扫描链的扫描元件需求总数。
12: 根据权利要求 11 所述的扫描链的重构装置, 其中该分配器在判断该扫描链的另一 端点所在计划组内的可用扫描元件数量是否满足该扫描链需要时 : 如该计划组内的扫描元件数足够, 则将该计划组内的扫描元件依需求数量分配给该扫 描链 ; 否则, 将该计划组内的扫描元件分配给该扫描链, 并将该扫描链添加至第三扫描链集 合。
13: 根据权利要求 11 所述的扫描链的重构装置, 其中该分配器在该扫描链没有端点在 该顶层时, 判断该两个计划组内的可用扫描元件是否满足该扫描链的需要, 如满足, 则从对 应扫描元件需求总数较少的一计划组中优先选择扫描元件分配给该扫描链, 不足的量从另 一计划组选择 ; 否则, 将两个计划组中的可用扫描元件都分配给该扫描链, 并将该扫描链放 入第三扫描链集合。
14: 根据权利要求 9 所述的扫描链的重构装置, 其中该分配器在重构该第三扫描链集 合内的扫描链时 : 自该第三扫描链集合中取出所需扫描元件最多的一扫描链 ; 检查是否有一计划组含有的可用扫描元件数比需求最多的扫描链所需要的扫描元件 数多 : 如有, 则该扫描链从含扫描元件数最少的一计划组中选择 ; 否则, 从含有该可用扫描元件数最多的计划组开始为该扫描链分配扫描元件, 最后到 3 该顶层选择。
15: 根据权利要求 14 所述的扫描链的重构装置, 其进一步包含一第二级重构器, 与该 第一级重构器通信连接 ; 其将该第一级重构器重构的扫描链基于扫描元件位置将同一计划 组内的扫描链所需的扫描元件重新分配。
16: 根据权利要求 15 所述的扫描链的重构装置, 其中该第二重构器将相邻且离一扫描 链距离近的一扫描元件将被分配到该扫描链。

说明书


考虑计划组的扫描链的重构方法与装置

    技术领域 本发明是关于一种扫描链的重构方法与装置, 尤其是关于一种芯片模块规划设计 阶段的扫描链的重构方法与装置。
     背景技术 在对包含测试链的芯片进行模块规划设计时, 扫描元件分布的任意性将会造成各 个计划组之间存在过多的连线。同时, 每个计划组也需要创建较多的端口来承担扫描信号 的输入与输出。 这使得各个计划组在顶层应用时对资源的需求很大, 从而增加设计的难度。 为了减少扫描链穿过计划组造成的计划组上的端口和组间的连线数目, 有必要将扫描链进 行重构, 即对扫描元件的位置进行调整组成新的扫描链。
     图 1 为一扫描链的重构方法 : 首先在步骤 70 中, 将该扫描链的起点作为一基准元 件, 在步骤 71 计算该基准元件至该扫描链中所有其它可用扫描元件的距离, 找出其中距其 最近的一扫描元件 ; 在步骤 72 连接该基准元件与该距其最近的扫描元件 ; 在步骤 73 将该 距其最近的扫描元件作为基准元件 ; 接着在步骤 74 检查该基准元件是否是最后一个可用 扫描元件 ; 如是则在步骤 75 将其与扫描链的终点连接 ; 否则返回步骤 71。
     该扫描链的重构方法仅考虑了扫描元件间的距离关系, 而没有考虑各扫描元件所 在的计划组位置信息, 因此获得的扫描链在缩短长度的同时可能较重构前穿过更多的计划 组, 导致各计划组之间存在过多连线。 即便经过重新排序, 计划组上的端口和计划组间的连 线有所减少, 而实际上通过扫描链的重构仍有进一步减少端口和连线的余地。
     鉴于此, 业界仍需一种扫描链的重构技术方案以解决计划组上端口和组间连线过 多的问题。
     发明内容 本发明提供一种考虑计划组的扫描链的结构重构方法与装置, 其在缩短扫描链长 度的同时使重构后的每一条扫描链穿过尽可能少的计划组, 从而使得计划组上的端口和组 间的连线总数达到最少。
     本发明提出一扫描链的重构方法, 其包括一第一阶段重构, 该第一阶段重构包含 : 步骤一对若干扫描链进行分类, 其中起点和终点在一相同计划组内的扫描链归为第一扫描 链集合 ; 起点和终点不在同一计划组内的扫描链归为第二扫描链集合 ; 起点和终点都在一 顶层的扫描链被归为第三扫描链集合 ; 步骤二重构该第一扫描链集合内的扫描链直至该 第一扫描链集合为空 ; 步骤三重构该第二扫描链集合内的扫描链直至该第二扫描链集合为 空; 及步骤四重构该第三扫描链集合内的扫描链直至该第三扫描链集合为空。
     根据一实施例, 该步骤二进一步包含 : 自该第一扫描链集合中取出需要扫描元件 数量最少的一扫描链 ; 检查该扫描链的端点所在的一计划组中的可用扫描元件数量是否满 足该扫描链需要 ; 如足够, 依该扫描链的需求数量将该计划组中的可用扫描元件分配该扫 描链 ; 否则, 将该计划组中所有的可用扫描元件分配该扫描链, 并将该扫描链放入第三扫描
     链集合。该步骤三进一步包含 : 自该第二扫描链集合中取出扫描元件需要数量最少的一扫 描链 ; 判断该扫描链是否有一个端点在顶层 : 如是, 判断该扫描链的另一端点所在计划组 内的可用扫描元件数量是否满足该扫描链需要 ; 如该计划组内的扫描元件数足够, 则将该 计划组内的扫描元件依需求数量分配给该扫描链 ; 否则, 将该计划组内的扫描元件分配给 该扫描链, 并将该扫描链添加至第三扫描链集合。 否则, 针对该扫描链的两端点所在的两个 计划组, 分别计算所有可能从其中选取扫描元件的扫描链的扫描元件需求总数 ; 并判断该 两个计划组内的可用扫描元件是否满足该扫描链的需要, 如满足, 则从对应扫描元件需求 总数较少的一计划组中优先选择扫描元件分配给该扫描链, 不足的量从另一计划组选择 ; 否则, 将两个计划组中的可用扫描元件都分配给该扫描链, 并将该扫描链放入第三扫描链 集合。该步骤四进一步包含 : 自该第三扫描链集合中取出所需扫描元件最多的一扫描链 ; 检查是否有一计划组含有的可用扫描元件数比需求最多的扫描链所需要的扫描元件数多 : 如有, 则该扫描链从含扫描元件数最少的一计划组中选择 ; 否则, 从含有该可用扫描元件数 最多的计划组开始为该扫描链分配扫描元件, 最后到该顶层选择。该扫描链的重构方法可 进一步包含一第二阶段重构, 在该第二阶段重构在同一计划组内的扫描链所需的扫描元件 将基于扫描元件位置被重新分配, 其中相邻且离一扫描链距离近的扫描元件将被分配到该 扫描链。 本发明还提供一与该扫描链的重构方法对应的扫描链的重构装置, 其包括一第一 级重构器与一第二级重构器。该第一级重构器包含 : 一分类器, 对若干扫描链进行分类, 其 中起点和终点在一相同计划组内的扫描链归为第一扫描链集合 ; 起点和终点不在同一计划 组内的扫描链归为第二扫描链集合 ; 起点和终点都在一顶层的扫描链被归为第三扫描链集 合; 一分配器, 与该分类器通信连接 ; 其首先重构该第一扫描链集合内的扫描链直至该第 一扫描链集合为空 ; 然后重构该第二扫描链集合内的扫描链直至该第二扫描链集合为空 ; 最后重构该第三扫描链集合内的扫描链直至该第三扫描链集合为空。
     本发明的扫描链重构方法与装置不仅考虑了扫描链和扫描元件的位置信息, 同时 计入了扫描链的起点与终点在计划组或顶层的位置信息, 最大程度减少计划组上的端口数 及组间的连线数, 从而获得更好的规划设计结果 ; 降低对上层资源的需求和后续设计的难 度。
     附图说明
     图 1 是一使用距离排序法进行扫描链重构的流程图 ; 图 2 是本发明的第一阶段重构的流程图 ; 图 3 是本发明的第一阶段重构中对第一扫描链集合内扫描链重构的流程图 ; 图 4 是本发明的第一阶段重构中对第二扫描链集合内扫描链重构的流程图 ; 图 5 是本发明的第一阶段重构中对第三扫描链集合内扫描链重构的流程图 ; 图 6 是一芯片设计后未进行优化时的扫描链的示意图 ; 图 7 是对图 6 中扫描链进行排序优化后的示意图 ; 图 8 是对图 6 中扫描链进行第一阶段重构后的示意图 ; 图 9 是对图 6 中扫描链进行第二阶段重构后的示意图 ; 图 10 是本发明的扫描链的重构装置的结构框图 ;图 11 是本发明的第一级重构器的结构框图。具体实施方式
     为便于更好的理解本发明的精神, 以下结合本发明的优选实施例对其作进一步说 明。
     本发明提出一种在芯片模块规划设计阶段基于计划组的扫描链重构方法和装置。
     根据本发明的一实施例, 基于计划组的扫描链重构方法包含两个阶段 :
     首先在扫描链重构的第一阶段, 以计划组中扫描元件的数目为主要依据, 让一扫 描链从尽可能少的计划组中选取扫描元件。 且在重构过程中充分考虑扫描链的起点和终点 与计划组的关系, 使同一计划组中的扫描元件会被优先分配给与之有关联的扫描链, 从而 减少计划组间可能出现的连线的数目。
     接着在扫描链重构的第二阶段, 以扫描元件的位置信息为主要依据, 在一个计划 组内进行扫描元件分配, 将相邻的扫描元件分配给同一个扫描链, 从而减少每一扫描链内 扫描元件之间布线的长度。
     以下分别就该扫描链重构的第一阶段与第二阶段详细说明如下 : 第一阶段重构
     在扫描链重构的第一阶段, 重构的顺序是依据各扫描链的起点与终点的位置, 使 扫描链尽可能不穿出其所在的计划组。其中, 起点和终点在一相同计划组内的扫描链归为 第一扫描链集合, 会优先从其所在计划组内选择扫描元件 ; 起点和终点不在同一计划组内 的扫描链归为第二扫描链集合, 以较低优先级处理 ; 起点和终点都在顶层的扫描链被归为 第三扫描链集合, 被最后处理。
     具体的, 如图 2 所示, 首先在步骤 10 判断该第一扫描链集合是否为空, 如存在起点 和终点在同一计划组内的扫描链, 则进入步骤 11 重构起点和终点在同一计划组内的扫描 链。否则在步骤 12 判断第二扫描链集合是否为空, 如存在起点和终点不在同一计划组内的 扫描链, 或只有一个端点, 即起点或终点在顶层的扫描链, 则进入步骤 13 重构该第二扫描 链集合内的扫描链。否则进入步骤 14 判断第三扫描链集合是否为空, 如非空, 则在步骤 15 重构该第三扫描链集合内的扫描链 ; 如空, 则进入步骤 16 结束该第一阶段重构。
     如图 3 所示, 在步骤 11, 首先从步骤 110 开始, 找出第一扫描链集合中需要扫描元 件数量最少的扫描链, 将其自第一扫描链集合取出。在步骤 111 中, 检查该扫描链的起点与 终点所在计划组中的可用扫描元件数量是否满足该扫描链需要。如足够, 在步骤 112 依需 求数量将该计划组中可用扫描元件分配该扫描链 ; 否则, 进入步骤 113 将该计划组中所有 的可用扫描元件分配该扫描链, 并将其放入第三扫描链集合以在步骤 14 中继续选择扫描 元件。
     如图 4 所示, 重构该第二扫描链集合内的扫描链时, 为了扫描链尽可能少的穿出 计划组, 在步骤 130 中同样找出对第二扫描链集合中扫描元件需要数量最少的扫描链, 将 其自第二扫描链集合取出。 在步骤 131, 判断该扫描链是否有一个端点 ( 起点或终点 ) 在顶 层, 如是则进入步骤 132 判断另一端点 ( 终点或起点 ) 所在计划组内的扫描元件数量是否 满足该扫描链需要, 如该计划组内的扫描元件数足够, 则进入步骤 133 将该计划组内的扫 描元件依需求数量分配给该扫描链 ; 否则, 进入步骤 134 将该计划组内的扫描元件分配给
     该扫描链, 并将该扫描链添加至第三扫描链集合。 否则, 该扫描链的起点与终点在两个不同 的计划组, 则进入步骤 135, 针对该两个计划组, 分别计算所有可能从其中选取扫描元件的 扫描链对于扫描元件的需求总数。在步骤 136 判断该两个计划组内的可用扫描元件是否满 足该扫描链的需要, 如满足, 则在步骤 137 从对应扫描元件需求总数较少的一计划组中优 先选择扫描元件分配给该扫描链, 不足的量从另一计划组选择 ; 否则, 进入步骤 138 将两个 计划组中的可用扫描元件都分配给该扫描链, 并将该扫描链放入第三扫描链集合。
     如图 5 所示, 在步骤 15, 重构起点和终点都在顶层的扫描链以及完成在前两步骤 10、 11 中未完成重构的扫描链。在步骤 150 中自第三扫描链集合中将从所需扫描元件最多 的扫描链取出。在步骤 151 中检查是否有一计划组含有的可用扫描元件数比需求最多的扫 描链所需要的扫描元件数多, 如有, 则步骤 152 该扫描链从含扫描元件数最少的计划组中 选择 ; 否则, 在步骤 153 该扫描链从含有可用的扫描元件数最多的计划组开始选择, 最后到 顶层选择。如此, 避免计划组被更多的扫描链分割, 减少该计划组上的端口。
     第二阶段重构
     由于在扫描链的第一阶段重构时, 扫描链是随机选择计划组内的扫描元件, 有可 能选中的扫描元件离其较远, 而离其很近的元件并没有被选中。 因而在第二阶段重构时, 在 同一计划组内的扫描链所需的扫描元件将基于扫描元件位置被重新分配。其中, 相邻且离 一扫描链距离近的扫描元件将被分配到该扫描链中, 从而缩短该扫描链中扫描元件间布线 的总长度。 当以上两阶段重构完成后, 还可对每条扫描链的扫描元件进行重排序, 使得扫描 链的布线总数达到最小。
     如图 6 所示, 根据本发明一实施例将重构位于两个计划组 40、 41 及顶层 42 内的三 条扫描链 50、 51、 52。其中第一计划组 40 包含七个扫描元件 a, f, j, h, k, m, n; 第二计划组 包含四个扫描元件 b, c, i, l, 而顶层设有三个扫描元件 d, e, g。该三条扫描链 50、 51、 52 的 结构信息分别是 :
     扫描链 50 包含 a、 b、 c 共三个扫描元件, 其起点 500 和终点 501 均在第一计划组 40 里 ; 从而在两个计划组 40、 41 间形成两条交叉线, 四个端口 ;
     扫描链 51 包含 d、 e、 f、 g、 h 共五个扫描元件, 其起点 510 在第二计划组 41 中, 终 点 511 在顶层 42 ; 从而在两个计划组 40、 41 间形成三条交叉线, 五个端口 ;
     扫描链 52 包含 i、 j、 k、 l、 m、 n 共六个扫描元件, 其起点 520 和终点 521 均在顶层 42 ; 从而在两计划组 40、 41 间形成五条交叉线, 八个端口。
     如果仅依现有方法对这三条扫描链 50、 51、 52 进行重新排序, 以扫描链 50 为例, 其 所有扫描元件中 a 是距其起点 500 最近的, 则先将 a 与扫描链 50 的起点 500 连接。接着经 计算 b 与 c 中距离 a 最近的是 b, 连接 a 与 b。然后连接 b 与 c, c 与终点 501。如此, 如图 7 所示, 该三条扫描链 50、 51、 52 调整为 :
     扫描链 50 的扫描元件排序为 a、 b、 c, 仍是两条交叉线, 四个端口 ;
     扫描链 51 的扫描元件排序为 e、 d、 g、 f、 h, 有两条交叉线, 三个端口 ;
     扫描链 52 的扫描元件排序为 j、 m、 n、 k、 l、 i, 有三条交叉线, 四个端口。
     可以看出经单纯排序后, 计划组 40、 41 的端口和相互间的连线有所减少, 然实际 上仍有很多端口和连线可以减少。
     以下根据本发明对该三条扫描链 50、 51、 52 进行两级重构 :
     首先根据该三条扫描链 50、 51、 52 的信息, 即各扫描链所包含的扫描元件及其数 量, 各扫描元件所在的计划组、 各扫描链的起点与终点位置, 对该三条扫描链 50、 51、 52 进 行分类。其中, 扫描链 50 的起点 500 与终点 501 同在计划组 40, 则放入第一扫描链集合 ; 扫描链 51 的起点 510 与终点 511 分别位于第二计划组 41 和顶层 42, 则将其放入第二扫描 链集合 ; 而扫描链 52 的起点 520 与终点 521 均位于顶层 42, 则归入第三扫描链集合。
     首先, 随机选择计划组 40 内的扫描元件分配给第一扫描链集合内的扫描链 50, 如 a、 f、 h。
     接着, 为第二扫描链集合内的扫描链 51 分配扫描元件。 因为扫描链 51 的终点 511 在顶层 42, 故将起点 510 所在计划组 41 中的元件 b、 c、 i、 l 分配给扫描链 51。此时, 扫描 链 51 还没有被填满, 因而被放入第三扫描链集合。
     此时, 第三扫描链集合中还有两条扫描链 51、 52 需要构建, 其中扫描链 51 需要一 个扫描元件, 扫描链 52 需要六个扫描元件, 因此首先为扫描链 52 选择扫描元件。又, 可用 扫描元件最多的计划组 40 只有四个可用扫描元件, 因而将计划组 40 中的可用扫描元件 j、 k、 m、 n 以及顶层的 d、 e 分配给扫描链 52。最后为扫描链 51 选择剩余的可用扫描元件, 即, 顶层 42 的 g。
     经过这一级的重构, 各条扫描链 50、 51、 52 的构成如图 8 所示, 可见端口和计划组 间的连线的数目减为最少, 具体情况如下 :
     扫描链 50 的扫描元件为 a、 f、 h, 且该扫描链 50 没有离开计划组 40 ;
     扫描链 51 的扫描元件为 b、 c、 i、 l、 g, 有一条交叉线, 一个端口 ;
     扫描链 52 的扫描元件为 j、 k、 m、 n、 d、 e, 有两条交叉线, 两个端口。
     接下来可对该若该扫描链进行第二级重构, 由于计划组 41 的扫描元件全部分配 给扫描链 51, 因而该第二级重构分别在计划组 40 和顶层 42 进行。该第二级重构可采用任 意单一组或顶层内的优化方法, 如考虑罚参数的排序法等。本实施例中仅以常见的距离排 序为例, 在计划组 40 中, m、 n、 k 被分配给扫描链 50, 而 h、 j、 a、 f 则被分配给扫描链 51 ; 在 顶层 42, e 被分配给扫描链 51, d、 g 被分配给扫描链 52。
     如图 9 所示, 这三条扫描链的组成变为 :
     扫描链 50 包含 n、 m、 k, 仅在计划组 40 内, 且长度缩短 ;
     扫描链 51 包含 b、 i、 c、 l、 e, 有一条交叉线, 一个端口, 且长度缩短 ;
     扫描链 52 包含 h、 j、 a、 f、 g、 d, 有两条交叉线, 两个端口, 且长度缩短。
     对应本发明的扫描链的重构方法, 本发明提供一种扫描链的重构装置 2。如图 10 所示, 本发明的扫描链的结构重构装置包 2 含一第一级重构器 20 与第二级重构器 21。
     所有的扫描链首先被输入该第一级重构器 20, 由该第一级重构器 20 在扫描链重 构的第一阶段, 以计划组中扫描元件的数目为主要依据, 让一扫描链从尽可能少的计划组 中选取扫描元件。该第一级重构器 20 在重构过程中将充分考虑扫描链的起点和终点与计 划组的关系, 使同一计划组中的扫描元件会被优先分配给与之有关联的扫描链, 从而很好 的减少计划组间可能出现的连线的数目。
     扫描链经第一级重构器 20 重构后由其输入第二级重构器 21。 第二级重构器 21 在 扫描链重构的第二阶段, 以扫描元件的位置信息为主要依据, 在一个计划组内进行扫描元件分配, 将相邻的扫描元件分配给同一个扫描链, 从而减少每一扫描链内扫描元件之间布 线的长度。
     以下分别就该扫描链的重构装置 2 的第一级重构器 20 与第二级重构器 21 详细说 明如下 :
     第一级重构器
     第一级重构器 20 需完成扫描链重构的第一阶段任务, 其重构的顺序是依据各扫 描链的起点与终点的位置, 使扫描链尽可能不穿出其所在的计划组。如图 11, 该第一级重 构器 20 包含一分类器 200, 其由输入端口 201 接收所有扫描链并进行分类。其中起点和终 点在一相同计划组内的扫描链归为第一扫描链集合, 会优先从其所在计划组内选择扫描元 件; 起点和终点不在同一计划组内的扫描链归为第二扫描链集合, 以较低优先级处理 ; 起 点和终点都在顶层的扫描链被归为第三扫描链集合, 被最后处理。
     一分配器 202 与该分类器 200 通信连接, 其首先检查该第一扫描链集合是否为空, 如存在起点和终点在同一计划组内的扫描链, 则重构起点和终点在同一计划组内的扫描 链。 否则检查第二扫描链集合是否为空, 如存在起点和终点不在同一计划组内的扫描链, 或 只有一个端点, 即起点或终点在顶层的扫描链, 则重构该第二扫描链集合内的扫描链。 否则 检查第三扫描链集合是否为空, 如非空, 则重构该第三扫描链集合内的扫描链 ; 如空, 则结 束该第一阶段重构。 具体的, 该分配器 202 首先找出第一扫描链集合中需要扫描元件数量最少的扫描 链, 将其自第一扫描链集合取出。检查该扫描链的起点与终点所在计划组中的可用扫描元 件数量是否满足该扫描链需要。如足够, 依需求数量将该计划组中可用扫描元件分配该扫 描链 ; 否则, 将该计划组中所有的可用扫描元件分配该扫描链, 并将其放入第三扫描链集 合。
     在第一扫描链集合的扫描链重构结束后, 该第一级重构器 20 重构该第二扫描链 集合内的扫描链。为了扫描链尽可能少的穿出计划组, 分配器 202 同样找出对第二扫描链 集合中扫描元件需要数量最少的扫描链, 将其自第二扫描链集合取出。判断该扫描链是否 有一个端点 ( 起点或终点 ) 在顶层, 如是则判断另一端点 ( 终点或起点 ) 所在计划组内的 扫描元件数量是否满足该扫描链需要, 如该计划组内的扫描元件数足够, 则将该计划组内 的扫描元件依需求数量分配给该扫描链 ; 否则, 将该计划组内的扫描元件分配给该扫描链, 并将该扫描链添加至第三扫描链集合。 否则, 该扫描链的起点与终点在两个不同的计划组, 针对该两个计划组, 分别计算所有可能从其中选取扫描元件的扫描链对于扫描元件的需求 总数。 判断该两个计划组内的可用扫描元件是否满足该扫描链的需要, 如满足, 则从对应扫 描元件需求总数较少的一计划组中优先选择扫描元件分配给该扫描链, 不足的量从另一计 划组选择 ; 否则, 将两个计划组中的可用扫描元件都分配给该扫描链, 并将该扫描链放入第 三扫描链集合。
     在检查第二扫描链集合为空时, 该第一级重构器 20 重构起点和终点都在顶层的 扫描链以及完成之前未完成重构的扫描链。分配器 202 自分类器 200 的第三扫描链集合中 将从所需扫描元件最多的扫描链取出。检查是否有一计划组含有的可用的扫描元件数比 需求最多的扫描链所需要的扫描元件数多, 如有, 则该扫描链从含扫描元件数最少的计划 组中选择 ; 否则, 该扫描链从含有可用的扫描元件数最多的计划组开始选择, 最后到顶层选
     择。如此, 避免计划组被更多的扫描链分割, 减少该计划组上的端口。
     第二级重构器
     第一级重构器 20 在重构结束后, 由输出端口 203 传输给第二级重构器 21。由于 第一级重构器 20 在重构扫描链时, 是随机选择计划组内的扫描元件分配给扫描链的, 有可 能选中的扫描元件离该扫描链较远, 而离其很近的元件并没有被选中。因而第二级重构器 21 会将在同一计划组内的扫描链所需的扫描元件基于其位置重新分配, 其中, 相邻且离一 扫描链距离近的扫描元件将被分配到该扫描链中, 从而缩短该扫描链中扫描元件间布线的 总长度。
     本发明的扫描链的重构方法与装置较现有技术仅考虑降低扫描链长度的技术方 案, 在第一阶段重构时将全局扫描链依其端点的位置进行分类, 使扫描链穿过尽可能少的 计划组。因而大幅度降低计划组上的端口与计划组间的连线, 降低了资源需求和后续设计 难度。本发明还可在第一阶段后进行第二阶段重构, 同一计划组内的扫描链所需的扫描元 件基于其位置重新分配, 从而进一步缩短扫描链的长度。
     本发明的技术内容及技术特点已揭示如上, 然而熟悉本领域的技术人员仍可能基 于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰。因此, 本发明的保护范 围应不限于实施例所揭示的内容, 而应包括各种不背离本发明的替换及修饰, 并为本专利 申请权利要求所涵盖。

考虑计划组的扫描链的重构方法与装置.pdf_第1页
第1页 / 共21页
考虑计划组的扫描链的重构方法与装置.pdf_第2页
第2页 / 共21页
考虑计划组的扫描链的重构方法与装置.pdf_第3页
第3页 / 共21页
点击查看更多>>
资源描述

《考虑计划组的扫描链的重构方法与装置.pdf》由会员分享,可在线阅读,更多相关《考虑计划组的扫描链的重构方法与装置.pdf(21页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102054075A43申请公布日20110511CN102054075ACN102054075A21申请号200910211374722申请日20091030G06F17/5020060171申请人新思科技上海有限公司地址200050上海市长宁区长宁路1027号兆丰广场14层18层72发明人葛坤峰刘榜74专利代理机构北京律盟知识产权代理有限责任公司11287代理人刘国伟54发明名称考虑计划组的扫描链的重构方法与装置57摘要本发明提供一种考虑计划组的扫描链的重构方法与装置,该扫描链的重构方法包含一一第一阶段重构与第二阶段重构。该第一阶段重构首先对若干扫描链进行分类,其中起点和。

2、终点在一相同计划组内的扫描链归为第一扫描链集合;起点和终点不在同一计划组内的扫描链归为第二扫描链集合;起点和终点都在一顶层的扫描链被归为第三扫描链集合。然后,依序先重构该第一扫描链集合内的扫描链,再重构该第二扫描链集合内的扫描链,最后重构该第三扫描链集合内的扫描链。本发明的扫描链的重构方法与装置从全局角度出发,考虑了扫描链的起止点位置信息,使其尽可能少的穿过计划组。因而大幅度降低计划组上的端口及计划组间的连线,降低对资源的需求和后续设计的难度。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书7页附图10页CN102054082A1/3页21一种扫描链的重构方法。

3、,其包括一第一阶段重构,该第一阶段重构包含步骤一对若干扫描链进行分类,其中起点和终点在一相同计划组内的扫描链归为第一扫描链集合;起点和终点不在同一计划组内的扫描链归为第二扫描链集合;起点和终点都在一顶层的扫描链被归为第三扫描链集合;步骤二重构该第一扫描链集合内的扫描链直至该第一扫描链集合为空;步骤三重构该第二扫描链集合内的扫描链直至该第二扫描链集合为空;步骤四重构该第三扫描链集合内的扫描链直至该第三扫描链集合为空。2根据权利要求1所述的扫描链的重构方法,该步骤二进一步包含自该第一扫描链集合中取出需要扫描元件数量最少的一扫描链;检查该扫描链的端点所在的一计划组中的可用扫描元件数量是否满足该扫描链。

4、需要;如足够,依该扫描链的需求数量将该计划组中的可用扫描元件分配该扫描链;否则,将该计划组中所有的可用扫描元件分配该扫描链,并将该扫描链放入第三扫描链集合。3根据权利要求1所述的扫描链的重构方法,其中该步骤三进一步包含自该第二扫描链集合中取出扫描元件需要数量最少的一扫描链;判断该扫描链是否有一个端点在该顶层如是,在步骤I判断该扫描链的另一端点所在计划组内的可用扫描元件数量是否满足该扫描链需要;否则,在步骤II针对该扫描链的两端点所在的两个计划组,分别计算所有可能从其中选取扫描元件的扫描链的扫描元件需求总数。4根据权利要求3所述的扫描链的重构方法,其中该步骤I进一步包含如该计划组内的扫描元件数足。

5、够,则将该计划组内的扫描元件依需求数量分配给该扫描链;否则,将该计划组内的扫描元件分配给该扫描链,并将该扫描链添加至该第三扫描链集合。5根据权利要求3所述的扫描链的重构方法,其中该步骤II进一步包含判断该两个计划组内的可用扫描元件是否满足该扫描链的需要,如满足,则从对应扫描元件需求总数较少的一计划组中优先选择扫描元件分配给该扫描链,不足的扫描元件从另一计划组选择;否则,将该两个计划组中的可用扫描元件都分配给该扫描链,并将该扫描链放入该第三扫描链集合。6根据权利要求1所述的扫描链的重构方法,其中该步骤四进一步包含自该第三扫描链集合中取出所需扫描元件最多的一扫描链;检查是否有一计划组含有的可用扫描。

6、元件数比需求最多的一扫描链所需要的扫描元件数多如有,则该扫描链从含扫描元件数最少的一计划组中选择;否则,从含有该可用扫描元件数最多的计划组开始为该扫描链分配扫描元件,最后到该顶层选择扫描元件。7根据权利要求16之一所述的扫描链的重构方法,其进一步包含一第二阶段重构,在该第二阶段重构在同一计划组内的扫描链所需的扫描元件将基于扫描元件位置被重新分配。8根据权利要求7所述的扫描链的重构方法,其中相邻且距一扫描链近的扫描元件将权利要求书CN102054075ACN102054082A2/3页3被分配到该扫描链。9一种扫描链的重构装置,其包括一第一级重构器,该第一级重构器包含一分类器,对若干扫描链进行分。

7、类,其中起点和终点在一相同计划组内的扫描链归为第一扫描链集合;起点和终点不在同一计划组内的扫描链归为第二扫描链集合;起点和终点都在一顶层的扫描链被归为第三扫描链集合;一分配器,与该分类器通信连接;其首先重构该第一扫描链集合内的扫描链直至该第一扫描链集合为空;然后重构该第二扫描链集合内的扫描链直至该第二扫描链集合为空;最后重构该第三扫描链集合内的扫描链直至该第三扫描链集合为空。10根据权利要求9所述的扫描链的重构装置,其中该分配器在重构该第一扫描链集合内的扫描链时自该第一扫描链集合中取出需要扫描元件数量最少的一扫描链;检查该扫描链的端点所在的一计划组中的可用扫描元件数量是否满足该扫描链需要;如足。

8、够,依该扫描链的需求数量将该计划组中的可用扫描元件分配该扫描链;否则,将该计划组中所有的可用扫描元件分配该扫描链,并将该扫描链放入第三扫描链集合。11根据权利要求9所述的扫描链的重构装置,其中该分配器在重构该第二扫描链集合内的扫描链时自该第二扫描链集合中取出扫描元件需要数量最少的一扫描链;判断该扫描链是否有一个端点在该顶层如是,则判断该扫描链的另一端点所在计划组内的可用扫描元件数量是否满足该扫描链需要;否则,则针对该扫描链的两端点所在的两个计划组,分别计算所有可能从其中选取扫描元件的扫描链的扫描元件需求总数。12根据权利要求11所述的扫描链的重构装置,其中该分配器在判断该扫描链的另一端点所在计。

9、划组内的可用扫描元件数量是否满足该扫描链需要时如该计划组内的扫描元件数足够,则将该计划组内的扫描元件依需求数量分配给该扫描链;否则,将该计划组内的扫描元件分配给该扫描链,并将该扫描链添加至第三扫描链集合。13根据权利要求11所述的扫描链的重构装置,其中该分配器在该扫描链没有端点在该顶层时,判断该两个计划组内的可用扫描元件是否满足该扫描链的需要,如满足,则从对应扫描元件需求总数较少的一计划组中优先选择扫描元件分配给该扫描链,不足的量从另一计划组选择;否则,将两个计划组中的可用扫描元件都分配给该扫描链,并将该扫描链放入第三扫描链集合。14根据权利要求9所述的扫描链的重构装置,其中该分配器在重构该第。

10、三扫描链集合内的扫描链时自该第三扫描链集合中取出所需扫描元件最多的一扫描链;检查是否有一计划组含有的可用扫描元件数比需求最多的扫描链所需要的扫描元件数多如有,则该扫描链从含扫描元件数最少的一计划组中选择;否则,从含有该可用扫描元件数最多的计划组开始为该扫描链分配扫描元件,最后到权利要求书CN102054075ACN102054082A3/3页4该顶层选择。15根据权利要求14所述的扫描链的重构装置,其进一步包含一第二级重构器,与该第一级重构器通信连接;其将该第一级重构器重构的扫描链基于扫描元件位置将同一计划组内的扫描链所需的扫描元件重新分配。16根据权利要求15所述的扫描链的重构装置,其中该第。

11、二重构器将相邻且离一扫描链距离近的一扫描元件将被分配到该扫描链。权利要求书CN102054075ACN102054082A1/7页5考虑计划组的扫描链的重构方法与装置技术领域0001本发明是关于一种扫描链的重构方法与装置,尤其是关于一种芯片模块规划设计阶段的扫描链的重构方法与装置。背景技术0002在对包含测试链的芯片进行模块规划设计时,扫描元件分布的任意性将会造成各个计划组之间存在过多的连线。同时,每个计划组也需要创建较多的端口来承担扫描信号的输入与输出。这使得各个计划组在顶层应用时对资源的需求很大,从而增加设计的难度。为了减少扫描链穿过计划组造成的计划组上的端口和组间的连线数目,有必要将扫描。

12、链进行重构,即对扫描元件的位置进行调整组成新的扫描链。0003图1为一扫描链的重构方法首先在步骤70中,将该扫描链的起点作为一基准元件,在步骤71计算该基准元件至该扫描链中所有其它可用扫描元件的距离,找出其中距其最近的一扫描元件;在步骤72连接该基准元件与该距其最近的扫描元件;在步骤73将该距其最近的扫描元件作为基准元件;接着在步骤74检查该基准元件是否是最后一个可用扫描元件;如是则在步骤75将其与扫描链的终点连接;否则返回步骤71。0004该扫描链的重构方法仅考虑了扫描元件间的距离关系,而没有考虑各扫描元件所在的计划组位置信息,因此获得的扫描链在缩短长度的同时可能较重构前穿过更多的计划组,导。

13、致各计划组之间存在过多连线。即便经过重新排序,计划组上的端口和计划组间的连线有所减少,而实际上通过扫描链的重构仍有进一步减少端口和连线的余地。0005鉴于此,业界仍需一种扫描链的重构技术方案以解决计划组上端口和组间连线过多的问题。发明内容0006本发明提供一种考虑计划组的扫描链的结构重构方法与装置,其在缩短扫描链长度的同时使重构后的每一条扫描链穿过尽可能少的计划组,从而使得计划组上的端口和组间的连线总数达到最少。0007本发明提出一扫描链的重构方法,其包括一第一阶段重构,该第一阶段重构包含步骤一对若干扫描链进行分类,其中起点和终点在一相同计划组内的扫描链归为第一扫描链集合;起点和终点不在同一计。

14、划组内的扫描链归为第二扫描链集合;起点和终点都在一顶层的扫描链被归为第三扫描链集合;步骤二重构该第一扫描链集合内的扫描链直至该第一扫描链集合为空;步骤三重构该第二扫描链集合内的扫描链直至该第二扫描链集合为空;及步骤四重构该第三扫描链集合内的扫描链直至该第三扫描链集合为空。0008根据一实施例,该步骤二进一步包含自该第一扫描链集合中取出需要扫描元件数量最少的一扫描链;检查该扫描链的端点所在的一计划组中的可用扫描元件数量是否满足该扫描链需要;如足够,依该扫描链的需求数量将该计划组中的可用扫描元件分配该扫描链;否则,将该计划组中所有的可用扫描元件分配该扫描链,并将该扫描链放入第三扫描说明书CN102。

15、054075ACN102054082A2/7页6链集合。该步骤三进一步包含自该第二扫描链集合中取出扫描元件需要数量最少的一扫描链;判断该扫描链是否有一个端点在顶层如是,判断该扫描链的另一端点所在计划组内的可用扫描元件数量是否满足该扫描链需要;如该计划组内的扫描元件数足够,则将该计划组内的扫描元件依需求数量分配给该扫描链;否则,将该计划组内的扫描元件分配给该扫描链,并将该扫描链添加至第三扫描链集合。否则,针对该扫描链的两端点所在的两个计划组,分别计算所有可能从其中选取扫描元件的扫描链的扫描元件需求总数;并判断该两个计划组内的可用扫描元件是否满足该扫描链的需要,如满足,则从对应扫描元件需求总数较少。

16、的一计划组中优先选择扫描元件分配给该扫描链,不足的量从另一计划组选择;否则,将两个计划组中的可用扫描元件都分配给该扫描链,并将该扫描链放入第三扫描链集合。该步骤四进一步包含自该第三扫描链集合中取出所需扫描元件最多的一扫描链;检查是否有一计划组含有的可用扫描元件数比需求最多的扫描链所需要的扫描元件数多如有,则该扫描链从含扫描元件数最少的一计划组中选择;否则,从含有该可用扫描元件数最多的计划组开始为该扫描链分配扫描元件,最后到该顶层选择。该扫描链的重构方法可进一步包含一第二阶段重构,在该第二阶段重构在同一计划组内的扫描链所需的扫描元件将基于扫描元件位置被重新分配,其中相邻且离一扫描链距离近的扫描元。

17、件将被分配到该扫描链。0009本发明还提供一与该扫描链的重构方法对应的扫描链的重构装置,其包括一第一级重构器与一第二级重构器。该第一级重构器包含一分类器,对若干扫描链进行分类,其中起点和终点在一相同计划组内的扫描链归为第一扫描链集合;起点和终点不在同一计划组内的扫描链归为第二扫描链集合;起点和终点都在一顶层的扫描链被归为第三扫描链集合;一分配器,与该分类器通信连接;其首先重构该第一扫描链集合内的扫描链直至该第一扫描链集合为空;然后重构该第二扫描链集合内的扫描链直至该第二扫描链集合为空;最后重构该第三扫描链集合内的扫描链直至该第三扫描链集合为空。0010本发明的扫描链重构方法与装置不仅考虑了扫描。

18、链和扫描元件的位置信息,同时计入了扫描链的起点与终点在计划组或顶层的位置信息,最大程度减少计划组上的端口数及组间的连线数,从而获得更好的规划设计结果;降低对上层资源的需求和后续设计的难度。附图说明0011图1是一使用距离排序法进行扫描链重构的流程图;0012图2是本发明的第一阶段重构的流程图;0013图3是本发明的第一阶段重构中对第一扫描链集合内扫描链重构的流程图;0014图4是本发明的第一阶段重构中对第二扫描链集合内扫描链重构的流程图;0015图5是本发明的第一阶段重构中对第三扫描链集合内扫描链重构的流程图;0016图6是一芯片设计后未进行优化时的扫描链的示意图;0017图7是对图6中扫描链。

19、进行排序优化后的示意图;0018图8是对图6中扫描链进行第一阶段重构后的示意图;0019图9是对图6中扫描链进行第二阶段重构后的示意图;0020图10是本发明的扫描链的重构装置的结构框图;说明书CN102054075ACN102054082A3/7页70021图11是本发明的第一级重构器的结构框图。具体实施方式0022为便于更好的理解本发明的精神,以下结合本发明的优选实施例对其作进一步说明。0023本发明提出一种在芯片模块规划设计阶段基于计划组的扫描链重构方法和装置。0024根据本发明的一实施例,基于计划组的扫描链重构方法包含两个阶段0025首先在扫描链重构的第一阶段,以计划组中扫描元件的数目。

20、为主要依据,让一扫描链从尽可能少的计划组中选取扫描元件。且在重构过程中充分考虑扫描链的起点和终点与计划组的关系,使同一计划组中的扫描元件会被优先分配给与之有关联的扫描链,从而减少计划组间可能出现的连线的数目。0026接着在扫描链重构的第二阶段,以扫描元件的位置信息为主要依据,在一个计划组内进行扫描元件分配,将相邻的扫描元件分配给同一个扫描链,从而减少每一扫描链内扫描元件之间布线的长度。0027以下分别就该扫描链重构的第一阶段与第二阶段详细说明如下0028第一阶段重构0029在扫描链重构的第一阶段,重构的顺序是依据各扫描链的起点与终点的位置,使扫描链尽可能不穿出其所在的计划组。其中,起点和终点在。

21、一相同计划组内的扫描链归为第一扫描链集合,会优先从其所在计划组内选择扫描元件;起点和终点不在同一计划组内的扫描链归为第二扫描链集合,以较低优先级处理;起点和终点都在顶层的扫描链被归为第三扫描链集合,被最后处理。0030具体的,如图2所示,首先在步骤10判断该第一扫描链集合是否为空,如存在起点和终点在同一计划组内的扫描链,则进入步骤11重构起点和终点在同一计划组内的扫描链。否则在步骤12判断第二扫描链集合是否为空,如存在起点和终点不在同一计划组内的扫描链,或只有一个端点,即起点或终点在顶层的扫描链,则进入步骤13重构该第二扫描链集合内的扫描链。否则进入步骤14判断第三扫描链集合是否为空,如非空,。

22、则在步骤15重构该第三扫描链集合内的扫描链;如空,则进入步骤16结束该第一阶段重构。0031如图3所示,在步骤11,首先从步骤110开始,找出第一扫描链集合中需要扫描元件数量最少的扫描链,将其自第一扫描链集合取出。在步骤111中,检查该扫描链的起点与终点所在计划组中的可用扫描元件数量是否满足该扫描链需要。如足够,在步骤112依需求数量将该计划组中可用扫描元件分配该扫描链;否则,进入步骤113将该计划组中所有的可用扫描元件分配该扫描链,并将其放入第三扫描链集合以在步骤14中继续选择扫描元件。0032如图4所示,重构该第二扫描链集合内的扫描链时,为了扫描链尽可能少的穿出计划组,在步骤130中同样找。

23、出对第二扫描链集合中扫描元件需要数量最少的扫描链,将其自第二扫描链集合取出。在步骤131,判断该扫描链是否有一个端点起点或终点在顶层,如是则进入步骤132判断另一端点终点或起点所在计划组内的扫描元件数量是否满足该扫描链需要,如该计划组内的扫描元件数足够,则进入步骤133将该计划组内的扫描元件依需求数量分配给该扫描链;否则,进入步骤134将该计划组内的扫描元件分配给说明书CN102054075ACN102054082A4/7页8该扫描链,并将该扫描链添加至第三扫描链集合。否则,该扫描链的起点与终点在两个不同的计划组,则进入步骤135,针对该两个计划组,分别计算所有可能从其中选取扫描元件的扫描链对。

24、于扫描元件的需求总数。在步骤136判断该两个计划组内的可用扫描元件是否满足该扫描链的需要,如满足,则在步骤137从对应扫描元件需求总数较少的一计划组中优先选择扫描元件分配给该扫描链,不足的量从另一计划组选择;否则,进入步骤138将两个计划组中的可用扫描元件都分配给该扫描链,并将该扫描链放入第三扫描链集合。0033如图5所示,在步骤15,重构起点和终点都在顶层的扫描链以及完成在前两步骤10、11中未完成重构的扫描链。在步骤150中自第三扫描链集合中将从所需扫描元件最多的扫描链取出。在步骤151中检查是否有一计划组含有的可用扫描元件数比需求最多的扫描链所需要的扫描元件数多,如有,则步骤152该扫描。

25、链从含扫描元件数最少的计划组中选择;否则,在步骤153该扫描链从含有可用的扫描元件数最多的计划组开始选择,最后到顶层选择。如此,避免计划组被更多的扫描链分割,减少该计划组上的端口。0034第二阶段重构0035由于在扫描链的第一阶段重构时,扫描链是随机选择计划组内的扫描元件,有可能选中的扫描元件离其较远,而离其很近的元件并没有被选中。因而在第二阶段重构时,在同一计划组内的扫描链所需的扫描元件将基于扫描元件位置被重新分配。其中,相邻且离一扫描链距离近的扫描元件将被分配到该扫描链中,从而缩短该扫描链中扫描元件间布线的总长度。0036当以上两阶段重构完成后,还可对每条扫描链的扫描元件进行重排序,使得扫。

26、描链的布线总数达到最小。0037如图6所示,根据本发明一实施例将重构位于两个计划组40、41及顶层42内的三条扫描链50、51、52。其中第一计划组40包含七个扫描元件A,F,J,H,K,M,N;第二计划组包含四个扫描元件B,C,I,L,而顶层设有三个扫描元件D,E,G。该三条扫描链50、51、52的结构信息分别是0038扫描链50包含A、B、C共三个扫描元件,其起点500和终点501均在第一计划组40里;从而在两个计划组40、41间形成两条交叉线,四个端口;0039扫描链51包含D、E、F、G、H共五个扫描元件,其起点510在第二计划组41中,终点511在顶层42;从而在两个计划组40、41。

27、间形成三条交叉线,五个端口;0040扫描链52包含I、J、K、L、M、N共六个扫描元件,其起点520和终点521均在顶层42;从而在两计划组40、41间形成五条交叉线,八个端口。0041如果仅依现有方法对这三条扫描链50、51、52进行重新排序,以扫描链50为例,其所有扫描元件中A是距其起点500最近的,则先将A与扫描链50的起点500连接。接着经计算B与C中距离A最近的是B,连接A与B。然后连接B与C,C与终点501。如此,如图7所示,该三条扫描链50、51、52调整为0042扫描链50的扫描元件排序为A、B、C,仍是两条交叉线,四个端口;0043扫描链51的扫描元件排序为E、D、G、F、H。

28、,有两条交叉线,三个端口;0044扫描链52的扫描元件排序为J、M、N、K、L、I,有三条交叉线,四个端口。0045可以看出经单纯排序后,计划组40、41的端口和相互间的连线有所减少,然实际上仍有很多端口和连线可以减少。说明书CN102054075ACN102054082A5/7页90046以下根据本发明对该三条扫描链50、51、52进行两级重构0047首先根据该三条扫描链50、51、52的信息,即各扫描链所包含的扫描元件及其数量,各扫描元件所在的计划组、各扫描链的起点与终点位置,对该三条扫描链50、51、52进行分类。其中,扫描链50的起点500与终点501同在计划组40,则放入第一扫描链集。

29、合;扫描链51的起点510与终点511分别位于第二计划组41和顶层42,则将其放入第二扫描链集合;而扫描链52的起点520与终点521均位于顶层42,则归入第三扫描链集合。0048首先,随机选择计划组40内的扫描元件分配给第一扫描链集合内的扫描链50,如A、F、H。0049接着,为第二扫描链集合内的扫描链51分配扫描元件。因为扫描链51的终点511在顶层42,故将起点510所在计划组41中的元件B、C、I、L分配给扫描链51。此时,扫描链51还没有被填满,因而被放入第三扫描链集合。0050此时,第三扫描链集合中还有两条扫描链51、52需要构建,其中扫描链51需要一个扫描元件,扫描链52需要六个。

30、扫描元件,因此首先为扫描链52选择扫描元件。又,可用扫描元件最多的计划组40只有四个可用扫描元件,因而将计划组40中的可用扫描元件J、K、M、N以及顶层的D、E分配给扫描链52。最后为扫描链51选择剩余的可用扫描元件,即,顶层42的G。0051经过这一级的重构,各条扫描链50、51、52的构成如图8所示,可见端口和计划组间的连线的数目减为最少,具体情况如下0052扫描链50的扫描元件为A、F、H,且该扫描链50没有离开计划组40;0053扫描链51的扫描元件为B、C、I、L、G,有一条交叉线,一个端口;0054扫描链52的扫描元件为J、K、M、N、D、E,有两条交叉线,两个端口。0055接下来。

31、可对该若该扫描链进行第二级重构,由于计划组41的扫描元件全部分配给扫描链51,因而该第二级重构分别在计划组40和顶层42进行。该第二级重构可采用任意单一组或顶层内的优化方法,如考虑罚参数的排序法等。本实施例中仅以常见的距离排序为例,在计划组40中,M、N、K被分配给扫描链50,而H、J、A、F则被分配给扫描链51;在顶层42,E被分配给扫描链51,D、G被分配给扫描链52。0056如图9所示,这三条扫描链的组成变为0057扫描链50包含N、M、K,仅在计划组40内,且长度缩短;0058扫描链51包含B、I、C、L、E,有一条交叉线,一个端口,且长度缩短;0059扫描链52包含H、J、A、F、G。

32、、D,有两条交叉线,两个端口,且长度缩短。0060对应本发明的扫描链的重构方法,本发明提供一种扫描链的重构装置2。如图10所示,本发明的扫描链的结构重构装置包2含一第一级重构器20与第二级重构器21。0061所有的扫描链首先被输入该第一级重构器20,由该第一级重构器20在扫描链重构的第一阶段,以计划组中扫描元件的数目为主要依据,让一扫描链从尽可能少的计划组中选取扫描元件。该第一级重构器20在重构过程中将充分考虑扫描链的起点和终点与计划组的关系,使同一计划组中的扫描元件会被优先分配给与之有关联的扫描链,从而很好的减少计划组间可能出现的连线的数目。0062扫描链经第一级重构器20重构后由其输入第二。

33、级重构器21。第二级重构器21在扫描链重构的第二阶段,以扫描元件的位置信息为主要依据,在一个计划组内进行扫描元说明书CN102054075ACN102054082A6/7页10件分配,将相邻的扫描元件分配给同一个扫描链,从而减少每一扫描链内扫描元件之间布线的长度。0063以下分别就该扫描链的重构装置2的第一级重构器20与第二级重构器21详细说明如下0064第一级重构器0065第一级重构器20需完成扫描链重构的第一阶段任务,其重构的顺序是依据各扫描链的起点与终点的位置,使扫描链尽可能不穿出其所在的计划组。如图11,该第一级重构器20包含一分类器200,其由输入端口201接收所有扫描链并进行分类。。

34、其中起点和终点在一相同计划组内的扫描链归为第一扫描链集合,会优先从其所在计划组内选择扫描元件;起点和终点不在同一计划组内的扫描链归为第二扫描链集合,以较低优先级处理;起点和终点都在顶层的扫描链被归为第三扫描链集合,被最后处理。0066一分配器202与该分类器200通信连接,其首先检查该第一扫描链集合是否为空,如存在起点和终点在同一计划组内的扫描链,则重构起点和终点在同一计划组内的扫描链。否则检查第二扫描链集合是否为空,如存在起点和终点不在同一计划组内的扫描链,或只有一个端点,即起点或终点在顶层的扫描链,则重构该第二扫描链集合内的扫描链。否则检查第三扫描链集合是否为空,如非空,则重构该第三扫描链。

35、集合内的扫描链;如空,则结束该第一阶段重构。0067具体的,该分配器202首先找出第一扫描链集合中需要扫描元件数量最少的扫描链,将其自第一扫描链集合取出。检查该扫描链的起点与终点所在计划组中的可用扫描元件数量是否满足该扫描链需要。如足够,依需求数量将该计划组中可用扫描元件分配该扫描链;否则,将该计划组中所有的可用扫描元件分配该扫描链,并将其放入第三扫描链集合。0068在第一扫描链集合的扫描链重构结束后,该第一级重构器20重构该第二扫描链集合内的扫描链。为了扫描链尽可能少的穿出计划组,分配器202同样找出对第二扫描链集合中扫描元件需要数量最少的扫描链,将其自第二扫描链集合取出。判断该扫描链是否有。

36、一个端点起点或终点在顶层,如是则判断另一端点终点或起点所在计划组内的扫描元件数量是否满足该扫描链需要,如该计划组内的扫描元件数足够,则将该计划组内的扫描元件依需求数量分配给该扫描链;否则,将该计划组内的扫描元件分配给该扫描链,并将该扫描链添加至第三扫描链集合。否则,该扫描链的起点与终点在两个不同的计划组,针对该两个计划组,分别计算所有可能从其中选取扫描元件的扫描链对于扫描元件的需求总数。判断该两个计划组内的可用扫描元件是否满足该扫描链的需要,如满足,则从对应扫描元件需求总数较少的一计划组中优先选择扫描元件分配给该扫描链,不足的量从另一计划组选择;否则,将两个计划组中的可用扫描元件都分配给该扫描。

37、链,并将该扫描链放入第三扫描链集合。0069在检查第二扫描链集合为空时,该第一级重构器20重构起点和终点都在顶层的扫描链以及完成之前未完成重构的扫描链。分配器202自分类器200的第三扫描链集合中将从所需扫描元件最多的扫描链取出。检查是否有一计划组含有的可用的扫描元件数比需求最多的扫描链所需要的扫描元件数多,如有,则该扫描链从含扫描元件数最少的计划组中选择;否则,该扫描链从含有可用的扫描元件数最多的计划组开始选择,最后到顶层选说明书CN102054075ACN102054082A7/7页11择。如此,避免计划组被更多的扫描链分割,减少该计划组上的端口。0070第二级重构器0071第一级重构器2。

38、0在重构结束后,由输出端口203传输给第二级重构器21。由于第一级重构器20在重构扫描链时,是随机选择计划组内的扫描元件分配给扫描链的,有可能选中的扫描元件离该扫描链较远,而离其很近的元件并没有被选中。因而第二级重构器21会将在同一计划组内的扫描链所需的扫描元件基于其位置重新分配,其中,相邻且离一扫描链距离近的扫描元件将被分配到该扫描链中,从而缩短该扫描链中扫描元件间布线的总长度。0072本发明的扫描链的重构方法与装置较现有技术仅考虑降低扫描链长度的技术方案,在第一阶段重构时将全局扫描链依其端点的位置进行分类,使扫描链穿过尽可能少的计划组。因而大幅度降低计划组上的端口与计划组间的连线,降低了资。

39、源需求和后续设计难度。本发明还可在第一阶段后进行第二阶段重构,同一计划组内的扫描链所需的扫描元件基于其位置重新分配,从而进一步缩短扫描链的长度。0073本发明的技术内容及技术特点已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰。因此,本发明的保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。说明书CN102054075ACN102054082A1/10页12图1说明书附图CN102054075ACN102054082A2/10页13图2说明书附图CN102054075ACN102054082A3/10页14图3说明书附图CN102054075ACN102054082A4/10页15图4说明书附图CN102054075ACN102054082A5/10页16图5说明书附图CN102054075ACN102054082A6/10页17图6说明书附图CN102054075ACN102054082A7/10页18图7说明书附图CN102054075ACN102054082A8/10页19图8说明书附图CN102054075ACN102054082A9/10页20图9说明书附图CN102054075ACN102054082A10/10页21图10图11说明书附图CN102054075A。

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

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


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