JPH07160753A - スキャンフリップフロップ決定方法及び順序回路 - Google Patents
スキャンフリップフロップ決定方法及び順序回路Info
- Publication number
- JPH07160753A JPH07160753A JP6163513A JP16351394A JPH07160753A JP H07160753 A JPH07160753 A JP H07160753A JP 6163513 A JP6163513 A JP 6163513A JP 16351394 A JP16351394 A JP 16351394A JP H07160753 A JPH07160753 A JP H07160753A
- Authority
- JP
- Japan
- Prior art keywords
- graph
- sequential circuit
- flip
- mfvs
- scc
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000009466 transformation Effects 0.000 claims abstract description 21
- 238000012360 testing method Methods 0.000 claims description 19
- 238000009472 formulation Methods 0.000 description 11
- 239000000203 mixture Substances 0.000 description 11
- 238000000844 transformation Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 5
- 229920000915 polyvinyl chloride Polymers 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013138 pruning Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002546 full scan Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- 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
- G01R31/318586—Design for test with partial scan or non-scannable parts
-
- 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/31707—Test strategies
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
択により、回路の部分スキャンテストを実行するため
に、MFVS問題を解く。 【構成】 回路の部分スキャンテストにおいて、回路中
の自己ループを除くすべてのフィードバックを除去する
ために必要な最適数のスキャンフリップフロップを決定
する。テストされるべき回路のSグラフに対する最少フ
ィードバック頂点集合(MFVS)を決定するために、
MFVS保存変換、分割された探索方法、及び整数線形
計画(ILP)に基づく下界値技術がを組み合わせて、
MFVSを計算するための厳密なアルゴリズムを得る。
その結果は、製造された回路の部分スキャンテストを実
行する能力を提供する結果として、面積及び性能劣化の
点で最小のオーバヘッドを有する回路の製造に使用され
る。
Description
関し、特に、回路中のすべてのフィードバックを除去す
るのに必要な最適数のスキャンフリップフロップを選択
するための方法に関する。より具体的には、本発明は、
回路における部分スキャンフリップフロップを選択する
ために、有向グラフの最少フィードバック頂点集合を検
出するための厳密なアルゴリズムに関する。
のために広く使用されている。この技術によれば、テス
トをモード時に、記憶素子(フリップフロップ)は、シ
フトレジスタスキャン連鎖中に結合されるため、直接制
御でき、観測できる。回路中のすべてのフリップフロッ
プがスキャン連鎖に含まれている(フルスキャン設計)
場合には、組合せテスト生成方法でテスト可能である。
しかし、フルスキャン設計は、面積オーバヘッド及び性
能劣化の点で、許容範囲外のペナルティを伴う場合があ
る。もう1つの方法として、フリップフロップの部分集
合をスキャン連鎖に含ませる方法(部分スキャン)があ
る。この場合、面積及び性能上のペナルティは大きく改
善されるが、部分スキャン回路は、順序回路テスト生成
方法を必要とする。
フロップを選択する種々の手法は、テスト容易化解析に
基づいたもの、テスト生成に基づいたもの、及び構造解
析に基づいたものに分類される。論文“A Parti
al Scan Method for Sequen
tial Circuits with Feedba
ck”,IEEE Transactions on
Computing,Vol.39,pp544−54
8,August 1990の中で、ChengとAg
rawalは、フリップフロップ間のフィードバックサ
イクルが主にテスト生成の複雑さの原因であることを示
した。彼らは、自己ループは有するがフィードバックサ
イクルを持たない部分スキャン回路は、長いフィードバ
ックサイクルを有する回路よりも容易にテストできるこ
とを実験的に観測した。自己ループとは、あるフリップ
フロップの出力が、組合せ論理を通過した後で同じフリ
ップフロップの入力としてフィードバックされる状態を
指している。一般的に用いられる設計においては多くの
フリップフロップが自己ループを有するため、部分スキ
ャン回路において自己ループを許容することは特に魅力
的である。したがって、もしすべてのフィードバックル
ープを切断する必要があるとすればスキャンオーバヘッ
ドは大きなものとなるであろう。
案された手法は、グラフ理論問題に変換される。V1 ,
・・・,Vn を回路中のフリップフロップの集合とす
る。フリップフロップ間の構造的な依存関係は、Sグラ
フと呼ばれる有向グラフによって表現される。このグラ
フは、回路中のフリップフロップと同じ数の頂点を有す
る。もしフリップフロップvi からフリップフロップv
j への組合せ経路があれば、頂点vi から頂点vj への
弧が存在する。また、もしフリップフロップviからそ
れ自身への組合せ経路があれば、頂点vi からそれ自身
への弧(自己ループ)が存在する。フリップフロップの
選択問題は、除去することによりSグラフが閉路をもた
なくなる様な頂点の最少集合の検出問題と等価であり、
これは、最少フィードバック頂点集合(MFVS)問題
と呼ばれる。もし部分スキャン回路中の自己ループの存
在が許容されれば、MFVSを計算する際に、Sグラフ
中の自己ループは無視できるであろう。自己ループをも
除去することが望ましい様な状況も存在する。自己ルー
プを有する頂点は必ずMFVSに属さなければならない
ので、これらの頂点はSグラフから最初に除去すること
ができる。残ったSグラフはより小さく、そのMFVS
(本発明の教える手法により解くことができる)は、よ
り容易に解くことができる問題となる。
属する。この問題を解くためのアルゴリズムは、計算量
理論概念が発展する以前に提案されている。よく知られ
た、自明でない厳密なアルゴリズムは、SmithとW
alfordの論文“TheIdentificati
on of Minimum feedbackVer
tex Set of a Directed Gra
ph”,IEEETransactions on C
ircuits and Systems, Vol.
22,pp.9−14,Jannarg 1975に記
載されている。彼らの方法は、小さなグラフに対しての
み実際的なものである。幾つかの発見的な方法が大きな
問題に対して開発されたが、これらは、その解が最適解
に近いことを保証できるものではない。最適解の定数要
素の範囲内に存在すると証明できる解を発見する問題が
NP困難であることは、あり得ることである。
に含まれるフリップフロップの最適な選択により、回路
の部分スキャンテストを実行するために、MFVS問題
を解くことにある。
する際に使用される有向グラフのMFVSを発見するた
めの厳密なアルゴリズムに関するものである。また、本
発明は、現在利用可能な発見的方法より少ないか、また
は同等の計算資源を使用するものである。多項式時間計
算量でMFVS問題を解くことができる様な新しいクラ
スのグラフを定義する。MFVS保存グラフ変換を詳述
する。次に、厳密なアルゴリズムを提案するために、分
岐限定手続における分割方式を説明する。その結果、本
質的に新たな分岐方法が得られる。最後に、MFVS問
題の新しい整数線形計画法への定式化について説明す
る。その様な定式化は、MFVS問題を解くために、ま
たはMFVSの大きさ(cardinality)の下
界を発見するために直接使用することができる。この下
界は、分岐限定検索木の枝刈りをするのに有用である。
の定義が必要である。ある順序回路のSグラフを考え
る。V及びAは、それぞれ頂点及び弧の集合である。ま
た、n=|V|であり、m=|A|である。どの弧(v
i →vj )に対しても、viはvj の直前の要素、vj
はvi の直後の要素である。remove(vi )は、
頂点vi を、それに入って来る弧及びそれから出て行く
弧と共に除去する処理を表すものとする。ignore
(vi )は、vi のすべての直前の要素をそのすべての
直後の要素に結合し、その後remove(vi )を行
ない、さらに、二個の頂点間の複数の弧を一つの個にま
とめる処理を表すものとする。以下の三種類の変換はM
FVS保存的であることが知られている。
emove(vi )を行ない、viを返す。Sグラフの
MFVSは、修正グラフのMFVSにvi を追加するこ
とにより得られる。
i から出ていく弧の数が0の場合、remove
(vi )を行なう。Sグラフと修正グラフのMFVSは
等しい。
i から出ていく弧の数が1であり、自己ループを持たな
い場合、ignore(vi )を行なう。修正グラフの
どのMFVSも、SグラフのMFVSである。
い修正グラフを生成する。Sグラフから始めて、どの変
換も適用できなくなるまで、変換T1,T2,T3が繰
り返し適用される。変換が適用される順序に関係なく、
最終的に得られるグラフはただ一つである。したがっ
て、変換T1,T2,T3を繰り返し適用する過程は適
切に定義され、手続compress_graphと呼
ばれる。この手続は、O(mlogn)の時間で動作す
る様に実現することができる。変換T1によって返され
た頂点は、与えられたSグラフのMFVSを得るため
に、最終グラフのMFVSに追加されなければならな
い。特に、Sグラフがcompress_graphに
よって空グラフとなる場合、MFVSは多項式時間計算
量で決定される。空グラフに縮小するグラフのクラス
は、双方向可簡約クラスと呼ばれる。
以上にSグラフを縮小可能なMFVS保存変換を含むも
のである。この新しい変換を使用することは、二つの有
利性を有する。第一に、この変換は、双方向可簡約クラ
スよりも厳密な意味で大きな、新しいグラフの多項式時
間可解クラスを定義するものであるから、多項式時間で
双方向簡約できないSグラフに対するMFVSを決定す
ることが可能である。第二に、任意のSグラフに対し
て、新たな変換は、compress_graphによ
って得られる最終グラフにおけるよりも、少ない頂点を
有する最終グラフを生成するであろう。しがたって、M
FVS問題の探索段階において、より少数の頂点が考慮
されなければならない。
は、13個のフリップフロップX1 ,・・・,X13を有
する順序回路のSグラフであると仮定する。まず、手続
compress_graph(S)を使用してSグラ
フを縮小する。変換T3によって、頂点v1 が除去され
る。この結果、v2 に自己ループが発生する。頂点v2
は、変換T1を使って除去される。この時点で、どの変
換も適用できなくなる。変換されたグラフS′は、図2
に示されている。S′は空グラフではないので、Sは双
方向可簡約クラスには属さない。しかし、MFVSを検
出するためには、グラフS′の強連結成分(SCC)の
みを考慮すれば十分であることに注目すると、変換され
たグラフS′をさらに縮小することができる。グラフ
S′は、次の強連結成分を有する:{v3 ,v4 ,
v5 ,v6 }、{v7 ,v8 ,v9 }、{v10,v11,
v12,v13}。これらのSCCは、異なった強連結成分
に属するvi 及びvj に関する弧vi →vj を除去する
ことにより抽出される。結果として得られるグラフS″
が図3に示されている。手続compress_gra
ph(S″)を再度使用することにより、グラフS″を
さらに空グラフまで縮小することが可能である。例え
ば、S″の強連結成分{v3 ,v4 ,v5 ,v6 }につ
いて考える。この要素に対する一連の変換が図4に示さ
れている。まず、変換T3が頂点v6 に適用され、頂点
が除去される。次に、変換T1が頂点v5 に適用され、
頂点v5 が除去される。次に、変換T3が頂点v4 に適
用され、自己ループ頂点v3 のみが残る。そして、変換
T1が頂点v3 に適用され、空グラフとなる。同様に、
他の二つのSCCも空グラフに縮小できる。
することによりグラフを縮小する。
Sを考察することにより、最良に理解される。手続ex
tract_sccは、グラフの強連結成分を計算し、
異なったSCCに属するvi 及びvj に関する弧vi →
vj を除去する。この場合、Sは強連結であるので、手
続extract_scc(S)はSを修正しない。手
続compress_graph(S)を適用すること
によって、グラフSは図2に示されたグラフに修正され
る。手続compress_graphはグラフSを修
正するので、extract_scc(S)を使って、
修正されたグラフの強連結成分を再計算する。そこで、
extract_sccは、Sを図3に示されたグラフ
にまでさらに修正する。最後に、compress_g
raph(S)は、図4に示されたグラフを空グラフに
縮小する。手続transform_graphは、時
間計算量O(mnlogn)で動作する様に実現でき
る。
いグラフSを、手続transform_graphを
使用することにより空グラフに変換するものである。し
たがって、これは、双方向可簡約クラスよりも厳密な意
味で大きな、グラフの新しいクラスを定義するものであ
る。このクラスは、「SCC可圧縮」と呼ばれる。すな
わち、あるグラフSは、手続transform_gr
aphによって空グラフにまで縮小できる場合のみ、S
CC可圧縮クラスに属する。
用される分割方式を、図5に示されたSグラフを用いて
説明する。このグラフは、v1 ,・・・,v7 で表され
た7個の頂点を有する。グラフ全体は、強連結成分であ
る。transform_graph(S)を実行して
も、このグラフをさらに縮小することはできない。tr
ansform_graphによってはさらに縮小でき
ない強連結成分は、「圧縮されたSCC」と呼ばれる。
ブール変数xi が、それぞれの頂点vi に付与される。
ブール変数に対する値0と1のどの様な割当てに対して
も、対応するブール変数の値が1である様な頂点のみを
含む頂点集合を構成することが可能である。フィードバ
ック頂点集合に対応する0と1の割当ては、実現可能な
解である。MFVSは、一つあるいはそれ以上の解であ
り得る。すべてのブール変数が割当てされていない状態
で、探索は開始する。指標集合は、割当てされていない
変数のサブスクリプトのリストであるとして定義され
る。初期探索空間に対する指標集合は、N0 ={1,
2,3,4,5,6,7}と表される。x4 を第一決定
変数として選択し、x4 =1とする。したがって、頂点
v4 はMFVSに含まれ、Sから除去される。修正グラ
フS′は、図6に示されている。新たな決定変数を選択
する前に、transform_graph(S′)に
よってグラフS′を縮小することを試みる。この場合、
グラフS′はそれ以上縮小されない。S′の探索空間に
対応する指標集合は、N1 ={1,2,3,5,6,
7}である。したがって、この探索空間は、図7に示さ
れた様に探索されるであろう。しかし、S′のMFVS
は、二つの強連結成分{v1 ,v2 ,v3 }と{v5 ,
v6 ,v7 }を独立に解くことによって検出することが
できる。したがって、指標集合N1 は{1,2,3,}
と{5,6,7}に分割され、対応する部分空間が独立
に探索される。この状態は、図8に示されている。指標
集合の分割は、この問題における効率的な探索の鍵とな
るものである。図7の探索木における節点の数は4であ
るのに対し、図8のそれは3である。一般に、分割され
た分岐限定における探索木は、従来の分岐限定における
探索木よりもかなり小さくなるであろう。MFVSを発
見するためには、グラフのSCCのみを考慮すれば十分
であるという知見は、分岐限定において再帰的に適用さ
れる。
る一連の移動として表現できる。S(N0 )を(ブー
ル)ベクトルの初期空間とし、i≧1に対するS
(Ni )を、後に発生する部分空間とする。ここで、N
0 及びNi は、指標集合である。従来の分岐限定探索に
おいては、探索木は、一つの決定変数の値を固定するこ
とにより二等分される。したがって、|Ni+1 |=|N
i |−1である。例えば、図7においては、|N1 |=
|N0 |−1である。小さな値kに対して、|Ni+1 |
=|Ni |−kとすることがしばしば可能である。一つ
の変数の値を決定したときに他の変数の値を決定する場
合(一つの変数の値が他の変数の値を含意する場合)、
このことが発生し得る。MFVSに対するvi の追加ま
たは削除がMFVSに対するvj の追加または削除を強
要する場合、変数xi は変数xj を含意する。部分空間
の探索の複雑さは、その指標集合のサイズに対して指数
関数的に増加し、したがって、kの値のすべての単位増
加は、後に発生する探索空間を1/2に縮小する。
の指標集合は、その後独立に解かれることになる一つま
たはそれ以上の部分に分割される。したがって、後に発
生する探索空間は、より小さいものに縮小されることに
なる。例えば、従来の分岐限定において、指標集合N1
に対応する探索空間のサイズは26 =64であるのに対
し、分割された分岐限定におけるそれは23 +23 =1
6である。したがって、探索はかなり速くなるであろ
う。
る。分割は、現在のグラフに存在する圧縮されたSCC
に依存する。探索は、圧縮されたSCCの数に依存した
それぞれの決定後複数に分岐し得るので、これは、マル
チウェイ分岐限定アルゴリズムと呼ばれる。このアルゴ
リズムを実現する場合の準符号及びその他の詳細を以下
に説明する。
も、MFVSのサイズは2以上である。この値は、分岐
限定手続における自明な下界として使用できる。MFV
S問題は、新規な整数線形計画(Integer Li
near Program:ILP)として定式化され
る。この定式化は、下界を計算するための幾つかの方法
で使用できる。
{w1 ,w2 ,・・・,wn }を、グラフSの頂点に割
当てられた実数の重みとする。次の要求から始める:す
べての弧vi →vj それぞれに対して、wi >wj であ
ることが要求される。推移性により、このことは、どの
経路に沿った頂点に割当てられた重みも減少しなければ
ならないことを意味する。明らかに、もしグラフがサイ
クルを持っていれば、上記要求は満たされない。この実
行不可能性は、グラフの頂点/弧フィードバック集合を
認識するのに使用される。スラック変数yi がそれぞれ
の頂点vi に対して導入され、その値は、上記要求を満
たすために使用される。すなわち、以下の通りである。
解を検出することが望ましい。そのために、それぞれの
スラック変数にブール数xi を掛け、Σxi の最小化を
試みる。この定式化をさらに改善するため、実現可能な
解の集合を上記の拘束によって限定する。Wに対するど
の解も、順序関係が保存されるように[0,n−1]の
範囲にマッピングできる。例えば、最小値に0を割当
て、次に小さな値に1を割当てる、等である。次に、ス
ラック変数に代えて、それぞれの頂点に対して、値nの
バッファを付与する。すべての弧に対して、−(n−
1)≦(wi −wj)≦n−1であるから、yi =nで
あれば十分である。ブール変数は、そのまま保存され
る。そこで、
で、0≦wi ≦n−1であり、xi はブール数である。
る。これは、圧縮されたSCCのSグラフである。W=
(w1 ,・・・,w6 )及びX=(x1 ,・・・,
x6 )とする。このグラフのILP定式化は、以下の様
に為される。
小化する。
最適解に対応する。この例においては、解x=(0,
1,1,0,0,1)は、MFVS{v2 ,v3 ,
v6 }に対応する。グラフは多くのMFVSを有するこ
とに注意を要する。
に対する実現可能な解の間には、一対一の対応が存在す
る。
Sを与える。
決定するための一つの方法である。緩和によってもたら
された下界は弱いものである。緩和において、0≦xi
≦1を許容し、したがって、
れる最適値は、常に1以下である。上記で言及された圧
縮されたSCCに対する2の下界を考慮すると、これは
特に弱いものである。
定式化を改善することが可能である。これらの拘束とし
て、グラフから導かれるファセットか、上記定式化から
導かれるカットを用いることができる。その様な改善後
のLP緩和は、より良い限界をもたらすであろう。その
様な拘束の一つは、サイクル拘束である。任意のサイク
ルCに対して、不等式
は認識し易いため、すべての二サイクル拘束を追加し、
下界を計算するためにLP緩和を使用することができ
る。もし二個より多くの頂点を有するサイクルが含まれ
ていると、より良い下界を得ることができる。図9に示
された例について考察する。二サイクルC1 ,C2 ,C
3に対して次の不等式を追加する。
3であるのに対し、追加以前のそれは1であった。
探索方法、及びILPに基づく下界値技術を組み合わせ
て、MFVSを計算するための厳密なアルゴリズムを得
る。Sグラフが与えられた時、それはまず、手続tra
nsform_graphを用いて縮小される。それに
よって得られるグラフが空グラフでない場合、分割探索
方法を用いて、このグラフのそれぞれの圧縮されたSC
Cを独立に解く。SグラフのMFVSは、次の手続によ
り計算される。
それぞれのSCC Si に関する最適解が得られる。x
j を、SCCのS1 に対する第一の決定変数とする。決
定変数xj の右側の分枝は、頂点vj がフィードバック
頂点集合に含まれる場合に対応する。左側の分枝は、v
j がフィードバック頂点集合に含まれない場合に対応す
る。右側及び左側の分枝双方に対して、最良の可能なフ
ィードバック頂点集合を計算し、それぞれr_fvs
[vj ]及びl_fvs[vj ]に入れておく。SCC
のSi のMFVSは、|r_fvs[vj ]|と|l_
fvs[vj ]|の最小値に等しい。
により、頂点vj をフィードバック頂点集合に含めるこ
とができる。同様に、手続ignore(vj )を使用
することにより、頂点vj をフィードバック頂点集合か
ら除くことができる。いずれの場合も、SCCのS1 が
変化しており、手続transform_graph
(S1 )がさらにS1 を縮小するために使用される。v
j を含めた後、縮小されたS1 が強連結成分をもつ場
合、これらの要素のそれぞれに対して、手続SOLVE
_SCCが再帰的に適用される。そして、S1 を、頂点
vj が除去される前の状態にもどる(バックトラックす
る)。次に、左側の分枝を検討する。vj を除去した
後、変換されたグラフに関するMFVSの大きさの下界
を計算するためにlower_bound(vj )を使
用することができる。もし|l_fvs[vj ]|+l
ower_bound(vj )≧|r_fvs[vj ]
|であれば、左側の分枝を探索する必要はない。そうで
ない場合には、縮小されたS1 におけるそれぞれのSC
Cに関して、MFVSを再び再帰的に計算する。そし
て、S1 を頂点vj をignoreする前の状態に戻す
(バックトラックする)。下界計算のために、2の自明
な下界、または、上に述べた改善されたLP緩和によっ
てもたらされた下界を使用する。
明を含むアルゴリズム(PSCAN)を、次の三種類の
最新方法と比較した。(1)論文“On Determ
ining Scan Flip−Flops in
Partial−Scan Designs”, Pr
oc. of the Int’l Conf.on
CAD, pp.322−325, November
1990に記載されているLee and Redd
y. (2)S.Bhawmikらによる論文“Pas
cant: A Partial Scan and
Test Generation System”,
Custom Integrated Circuit
s Conf., pp17.3.1−17.3.4,
1991に記載されているPscant. (3)
V.Chickermaneらの論文“A Fault
Oriented partial Scan De
sign Approach”, Proc. In
t’l Conf. on CAD, pp.400−
403, November 1991に記載されてい
るOpus. この三種類の方法すべては、発見的手法
であり、MFVSを保証するものではない。しかし、そ
れぞれの方法は、Sグラフにおけるすべてのサイクル
(自己サイクルを除いて)を切断するためのフリップフ
ロップを選択するものである。すべての実験は、SUN
のワークステーションであるSpare2上で行なわれ
た。
の組に関して行なわれた実験の結果を報告する。回路中
の主入力,主出力及びフリップフロップの数は、PI,
PO及びFFの欄にそれぞれ示されている。スキャンフ
リップフロップの数及び上記の異なった方法によってそ
れらのフリップフロップを選択するために必要なCPU
動作時間は、スキャンフリップフロップ及びCPU秒の
欄にそれぞれ示している。報告のCPU時間は、Sグラ
フを生成するための時間を含まない。LR,Pasc,
Opus及びPSCANの欄には、LeeとReddy
のアルゴリズム,Pascant,Opus及び本発明
の厳密なアルゴリズムを使用して得られたデータがそれ
ぞれ示されている。LeeとReddyは、二つの異な
った発見的方法を提案しており、この内良い方の結果が
示されている。上に述べたSmithとWalford
の厳密なアルゴリズムは小さな回路に対してのみ実際的
であるため、その結果は表に含まれていない。
を使用することによって初めて達成された。PSCAN
は、大きなSグラフ(s15850,s38417,s
38584等から得られる様な)のMFVSを一分以内
で計算する。PSCANが最適解を計算するのに要する
CPU時間は、近似解を計算する発見的方法が要する時
間と同等か、より少ない。小さな回路に対しては、発見
的方法によって得られるフィードバック頂点集合は最適
なものである。大きな回路に対しては、発見的方法は次
善の結果を生じさせる。例として、回路s38417の
場合を取りあげる。この回路は、28の主入力、106
の主出力、及び1636のフリップフロップを有する。
LeeとReddyの方法は、サイズ384のフィード
バック頂点集合を計算した。Pascant及びOpu
sは、それぞれ400と380のサイズのフィードバッ
ク頂点集合を計算した。PSCANは、サイズ374の
最適フィードバック頂点集合を計算した。
方法とも比較された。新しい変換手続及び枝刈り技術が
含まれない場合、従来の分岐限定アルゴリズムは、SU
NワークステーションのSparc2を3日以上動作さ
せても、s15850やs38417の様な大きな回路
のMFVSを決定できない。新しい変換と枝刈り技術が
含まれた場合、従来の分岐限定方法は、s38417を
除いたすべてのSグラフのMFVSを決定できる。しか
し、MFVSが得られた場合でも、分岐限定アルゴリズ
ムはかなり多くのCPU技術を要する。表1に示されて
いる様に、分割された分岐限定を使用することにより、
s15850及びs38417のSグラフに関するMF
VSを、1分以内のCPU時間で計算できる。
ムによって記録されたフィードバック頂点集合がすべて
のサイクルを切断するものではないことを示す。
的方法によって得られるフィードバック頂点集合のサイ
ズは、すべてのベンチマーク回路に関して、PSCAN
によって決定される最適解のサイズと同じである。これ
は、これらの回路は多くの自己ループをもち、自己ルー
プの除去後に得られるグラフは既に閉路をもたないか、
非常に少数のサイクルしか持たないからである。したが
って、部分スキャンテスト中で切断されずに残っている
自己ループをもつ回路に適用された時、本発明は優れた
結果を提供するものである。
ドバックを除去するために必要な最適数のスキャンフリ
ップフロップを選択する好ましい方法を説明、例証した
が、本発明の広い原理及び趣旨から逸脱しない形で、変
更及び修正が可能であることは、当業者にとっては明ら
かであろう。
依存グラフのMFVSを計算するための厳密なアルゴリ
ズムを含む。このアルゴリズムは、最悪計算量が指数関
数的であるが、実験結果は、部分スキャン問題の多くの
実際的な例において、既存の発見的方法より優っている
ことを示している。説明された解法には、その他の応用
法もある。例えば、提案された技術は、テスト容易性向
上のための順序回路の再合成及び再タイミングにおいて
生じるMFVS問題を解くために使用された。
の自己ループを除くすべてのフィードバックを除去する
ために必要な最適数のスキャンフリップフロップの発見
は、回路の製造において、回路の部分スキャンテストに
必要な付加的なスキャンフリップフロップを、面積及び
性能劣化の点で最小のオーバヘッドコストで提供するた
めに使用される。
のSグラフを縮小したSグラフである。
る。
V6 }を縮小するための一連の変換を示す図である。
ted Component:SCC)Sグラフであ
る。
来の分岐限定を表現したものを示す図である。
割された分岐限定の表現したものを示す図である。
Claims (14)
- 【請求項1】順序回路における自己ループを除くすべて
のフィードバックループを除去するために必要な最適数
のスキャンフリップフロップを決定する方法において、 (a)順序回路のSグラフを導出するステップと、 (b)Sグラフを空でない圧縮されたSCC(強連結成
分)へ縮小するため、最少フィードバック頂点集合(M
FVS)保存変換をそのSグラフに適用するステップ
と、 (c)グラフの圧縮されたSCCを解くために、分割さ
れた分岐限定方法を実行するステップと、 (d)SグラフのMFVSに関する最適解または下界を
得るために、整数線形計画(ILP)を適用するステッ
プとを含み、 (e)ステップ(d)において下界が得られた場合に
は、ステップ(c)及び(d)を繰り返すステップと、
または、 (f)ステップ(d)において最適解のどれかが得られ
た場合には、順序回路の部分スキャンテストを可能とす
るために、最適解として得られた数のスキャンフリップ
フロップを順序回路に組み込むステップと、を含むこと
を特徴とするスキャンフリップフロップ決定方法。 - 【請求項2】上記MFVS保存変換を適用するステップ
が、手続transform_graphを適用するこ
とを含むことを特徴とする請求項1記載の方法。 - 【請求項3】上記分割された分岐限定方法を実行するス
テップが、手続SOLVE_SCCを含むことを特徴と
する請求項2記載の方法。 - 【請求項4】上記整数線形計画を適用するステップが、
0≦wi ≦n−1、xi はブール数、wi はそのグラフ
の頂点vi に割当てられた実数値重みとし、どの弧vi
→vj に対してもwi >wj である場合、 【数1】 の条件下でΣxi を最小化することを含むことを特徴と
する請求項3記載の方法。 - 【請求項5】グラフ中の任意のサイクルCに関して、 【数2】 となることを特徴とする請求項4記載の方法。
- 【請求項6】上記分割された分岐限定方法を実行するス
テップが、手続SOLVE_SCCを適用することを含
むことを特徴とする請求項1記載の方法。 - 【請求項7】上記整数線形計画を適用するステップが、
0≦wi ≦n−1、xi はブール数、wj はそのグラフ
の頂点vi に割当てられた実数値重みとし、どの弧vi
→vj に対してもwi >wj である場合、 【数3】 の条件下でΣxi を最小化することを含むことを特徴と
する請求項1記載の方法。 - 【請求項8】グラフ中の任意のサイクルCに関して、 【数4】 となることを特徴とする請求項7記載の方法。
- 【請求項9】上記分割された分岐限定方法を実行するス
テップが、再帰的に実行されることを特徴とする請求項
1記載の方法。 - 【請求項10】請求項1記載の方法に従って決定され
た、部分スキャンテストを実行するための量のフリップ
フロップを含む順序回路。 - 【請求項11】請求項3記載の方法に従って決定され
た、部分スキャンテストを実行するための量のフリップ
フロップを含む順序回路。 - 【請求項12】請求項4記載の方法に従って決定され
た、部分スキャンテストを実行するための量のフリップ
フロップを含む順序回路。 - 【請求項13】請求項5記載の方法に従って決定され
た、部分スキャンテストを実行するための量のフリップ
フロップを含む順序回路。 - 【請求項14】請求項9記載の方法に従って決定され
た、部分スキャンテストを実行するための量のフリップ
フロップを含む順序回路。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/161140 | 1993-12-02 | ||
US08/161,140 US5502646A (en) | 1993-12-02 | 1993-12-02 | Selection of partial scan flip-flops to break feedback cycles |
US8/161140 | 1993-12-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07160753A true JPH07160753A (ja) | 1995-06-23 |
JP2692595B2 JP2692595B2 (ja) | 1997-12-17 |
Family
ID=22579982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6163513A Expired - Lifetime JP2692595B2 (ja) | 1993-12-02 | 1994-07-15 | スキャンフリップフロップ決定方法及び順序回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5502646A (ja) |
JP (1) | JP2692595B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109490753A (zh) * | 2018-11-13 | 2019-03-19 | 吉林大学 | 一种结合极小碰集约简集成电路测试模式集的方法 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5731983A (en) * | 1995-12-29 | 1998-03-24 | Nec Usa, Inc. | Method for synthesizing a sequential circuit |
US6134687A (en) * | 1997-12-19 | 2000-10-17 | Nec Usa, Inc. | Peripheral partitioning and tree decomposition for partial scan |
JP2000067105A (ja) * | 1998-06-08 | 2000-03-03 | Matsushita Electric Ind Co Ltd | 集積回路の検査容易化設計方法 |
US6556962B1 (en) * | 1999-07-02 | 2003-04-29 | Intel Corporation | Method for reducing network costs and its application to domino circuits |
US6492837B1 (en) | 2000-03-17 | 2002-12-10 | Intel Corporation | Domino logic with output predischarge |
US7712886B2 (en) * | 2004-01-21 | 2010-05-11 | Silverbrook Research Pty Ltd | Composite heating system for use in a web printing system |
US7665836B2 (en) * | 2004-01-21 | 2010-02-23 | Silverbrook Research Pty Ltd | Method of drying printed media |
US7163287B2 (en) * | 2004-01-21 | 2007-01-16 | Silverbrook Research Pty Ltd | Combined cutter and slitter module for a printer |
US7258424B2 (en) * | 2004-01-21 | 2007-08-21 | Silverbrook Research Pty Ltd | Printer with a MEMS printhead |
US7484841B2 (en) * | 2004-01-21 | 2009-02-03 | Silverbrook Research Pty Ltd | Mobile web printer |
US20050157132A1 (en) * | 2004-01-21 | 2005-07-21 | Kia Silverbrook | Patterned media produced by a printing system |
US7191978B2 (en) * | 2004-01-21 | 2007-03-20 | Silverbrook Research Pty Ltd | Media web cartridge for a printing system |
US20050156961A1 (en) * | 2004-01-21 | 2005-07-21 | Kia Silverbrook | Method of printing on-demand patterned media |
US7225739B2 (en) * | 2004-01-21 | 2007-06-05 | Silverbrook Research Pty Ltd | Drying system for use in a printing system |
US7419053B2 (en) * | 2004-01-21 | 2008-09-02 | Silverbrook Research Pty Ltd | Container for receiving printed web |
US7611237B2 (en) * | 2004-01-21 | 2009-11-03 | Silverbrook Research Pty Ltd | Cabinet for a web printing system |
US7258415B2 (en) * | 2004-01-21 | 2007-08-21 | Silverbrook Research Pty Ltd | Printhead tile for use in a printing system |
AU2004314463B2 (en) * | 2004-01-21 | 2009-02-05 | Zamtec Limited | Web printing system |
US7524046B2 (en) * | 2004-01-21 | 2009-04-28 | Silverbrook Research Pty Ltd | Printhead assembly for a web printing system |
US7322677B2 (en) * | 2004-01-21 | 2008-01-29 | Silverbrook Research Pty Ltd | Printhead assembly with communications module |
US20050157103A1 (en) * | 2004-01-21 | 2005-07-21 | Kia Silverbrook | Ink fluid delivery system for a printer |
JP2007066125A (ja) * | 2005-09-01 | 2007-03-15 | Fumihiro Okabe | グラフ探索アルゴリズム及びそれを用いたグラフ探索装置 |
US8462161B1 (en) | 2009-01-20 | 2013-06-11 | Kount Inc. | System and method for fast component enumeration in graphs with implicit edges |
US9581643B1 (en) * | 2015-10-27 | 2017-02-28 | Xilinx, Inc. | Methods and circuits for testing partial circuit designs |
CN110288507B (zh) * | 2019-05-06 | 2021-03-09 | 中国科学院信息工程研究所 | 一种基于gpu的多分区强连通图检测方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4534028A (en) * | 1983-12-01 | 1985-08-06 | Siemens Corporate Research & Support, Inc. | Random testing using scan path technique |
US5043986A (en) * | 1989-05-18 | 1991-08-27 | At&T Bell Laboratories | Method and integrated circuit adapted for partial scan testability |
US5132974A (en) * | 1989-10-24 | 1992-07-21 | Silc Technologies, Inc. | Method and apparatus for designing integrated circuits for testability |
US5166604A (en) * | 1990-11-13 | 1992-11-24 | Altera Corporation | Methods and apparatus for facilitating scan testing of asynchronous logic circuitry |
US5329533A (en) * | 1991-12-26 | 1994-07-12 | At&T Bell Laboratories | Partial-scan built-in self-test technique |
US5329167A (en) * | 1992-09-25 | 1994-07-12 | Hughes Aircraft Company | Test flip-flop with an auxillary latch enabling two (2) bits of storage |
-
1993
- 1993-12-02 US US08/161,140 patent/US5502646A/en not_active Expired - Lifetime
-
1994
- 1994-07-15 JP JP6163513A patent/JP2692595B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109490753A (zh) * | 2018-11-13 | 2019-03-19 | 吉林大学 | 一种结合极小碰集约简集成电路测试模式集的方法 |
CN109490753B (zh) * | 2018-11-13 | 2020-12-08 | 吉林大学 | 一种结合极小碰集约简集成电路测试模式集的方法 |
Also Published As
Publication number | Publication date |
---|---|
US5502646A (en) | 1996-03-26 |
JP2692595B2 (ja) | 1997-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2692595B2 (ja) | スキャンフリップフロップ決定方法及び順序回路 | |
Mauw et al. | An algebraic semantics of basic message sequence charts | |
Chakradhar et al. | An exact algorithm for selecting partial scan flip-flops | |
Gunter et al. | Compositional message sequence charts | |
Hachtel et al. | ATPG aspects of FSM verification | |
Wegbreit | Goal-directed program transformation | |
EP0365309B1 (en) | A data unification system and method | |
Rho et al. | Don't care sequences and the optimization of interacting finite state machines | |
Farzan et al. | Modular divide-and-conquer parallelization of nested loops | |
JPH1196016A (ja) | Gdmoトランスレータ及びgdmoトランスレーション方法並びにgdmoトランスレータプログラムを記録した記録媒体 | |
Cooper et al. | The Hamiltonian cycle and travelling salesman problems in cP systems | |
Torisawa et al. | An HPSG parser with CFG filtering | |
Gamrath | Generic branch-cut-and-price | |
Hong | Graph construction and analysis as a paradigm for plan recognition | |
Bolognesi et al. | Correctness Preserving Transformations for the early phases of software development | |
JP2692594B2 (ja) | スキャンフリップフロップ選択方法および順序回路 | |
Denzinger et al. | Analysis and representation of equational proofs generated by a distributed completion based proof system | |
Aminof et al. | Synthesis of hierarchical systems | |
Brlek et al. | Synchronization of Constrained Transition Systems. | |
Hojati et al. | Edge-Streett/edge-Rabin automata environment for formal verification using language containment | |
US20070213968A1 (en) | User Interface Software Design System | |
EP1019811B1 (en) | Method and apparatus for processing a request to a boolean rule | |
Bergami | Fast Synthetic Data-Aware Log Generation for Temporal Declarative Models | |
CN116113939A (zh) | 一种软件信息组织方法、装置和计算机可读介质 | |
KR100930622B1 (ko) | 태블로 알고리즘을 이용한 온톨로지 추론 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19970805 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080905 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080905 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090905 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090905 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100905 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110905 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120905 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130905 Year of fee payment: 16 |
|
EXPY | Cancellation because of completion of term |