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
Application number
JP6163513A
Other languages
English (en)
Other versions
JP2692595B2 (ja
Inventor
Bararishiyan Arankumaa
バラリシャン アランクマー
Teii Chiyaradahaa Surimatsuto
ティー チャラダハー スリマット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPH07160753A publication Critical patent/JPH07160753A/ja
Application granted granted Critical
Publication of JP2692595B2 publication Critical patent/JP2692595B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318583Design for test
    • G01R31/318586Design for test with partial scan or non-scannable parts
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31707Test strategies

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】 【目的】 回路に含まれるフリップフロップの最適な選
択により、回路の部分スキャンテストを実行するため
に、MFVS問題を解く。 【構成】 回路の部分スキャンテストにおいて、回路中
の自己ループを除くすべてのフィードバックを除去する
ために必要な最適数のスキャンフリップフロップを決定
する。テストされるべき回路のSグラフに対する最少フ
ィードバック頂点集合(MFVS)を決定するために、
MFVS保存変換、分割された探索方法、及び整数線形
計画(ILP)に基づく下界値技術がを組み合わせて、
MFVSを計算するための厳密なアルゴリズムを得る。
その結果は、製造された回路の部分スキャンテストを実
行する能力を提供する結果として、面積及び性能劣化の
点で最小のオーバヘッドを有する回路の製造に使用され
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、部分スキャンテストに
関し、特に、回路中のすべてのフィードバックを除去す
るのに必要な最適数のスキャンフリップフロップを選択
するための方法に関する。より具体的には、本発明は、
回路における部分スキャンフリップフロップを選択する
ために、有向グラフの最少フィードバック頂点集合を検
出するための厳密なアルゴリズムに関する。
【0002】
【従来の技術】スキャン設計は、テスト容易化設計技術
のために広く使用されている。この技術によれば、テス
トをモード時に、記憶素子(フリップフロップ)は、シ
フトレジスタスキャン連鎖中に結合されるため、直接制
御でき、観測できる。回路中のすべてのフリップフロッ
プがスキャン連鎖に含まれている(フルスキャン設計)
場合には、組合せテスト生成方法でテスト可能である。
しかし、フルスキャン設計は、面積オーバヘッド及び性
能劣化の点で、許容範囲外のペナルティを伴う場合があ
る。もう1つの方法として、フリップフロップの部分集
合をスキャン連鎖に含ませる方法(部分スキャン)があ
る。この場合、面積及び性能上のペナルティは大きく改
善されるが、部分スキャン回路は、順序回路テスト生成
方法を必要とする。
【0003】部分スキャンのために用いられるフリップ
フロップを選択する種々の手法は、テスト容易化解析に
基づいたもの、テスト生成に基づいたもの、及び構造解
析に基づいたものに分類される。論文“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は、フリップフロップ間のフィードバックサ
イクルが主にテスト生成の複雑さの原因であることを示
した。彼らは、自己ループは有するがフィードバックサ
イクルを持たない部分スキャン回路は、長いフィードバ
ックサイクルを有する回路よりも容易にテストできるこ
とを実験的に観測した。自己ループとは、あるフリップ
フロップの出力が、組合せ論理を通過した後で同じフリ
ップフロップの入力としてフィードバックされる状態を
指している。一般的に用いられる設計においては多くの
フリップフロップが自己ループを有するため、部分スキ
ャン回路において自己ループを許容することは特に魅力
的である。したがって、もしすべてのフィードバックル
ープを切断する必要があるとすればスキャンオーバヘッ
ドは大きなものとなるであろう。
【0004】Cheng及びAgrawalによって提
案された手法は、グラフ理論問題に変換される。V1
・・・,Vn を回路中のフリップフロップの集合とす
る。フリップフロップ間の構造的な依存関係は、Sグラ
フと呼ばれる有向グラフによって表現される。このグラ
フは、回路中のフリップフロップと同じ数の頂点を有す
る。もしフリップフロップvi からフリップフロップv
j への組合せ経路があれば、頂点vi から頂点vj への
弧が存在する。また、もしフリップフロップviからそ
れ自身への組合せ経路があれば、頂点vi からそれ自身
への弧(自己ループ)が存在する。フリップフロップの
選択問題は、除去することによりSグラフが閉路をもた
なくなる様な頂点の最少集合の検出問題と等価であり、
これは、最少フィードバック頂点集合(MFVS)問題
と呼ばれる。もし部分スキャン回路中の自己ループの存
在が許容されれば、MFVSを計算する際に、Sグラフ
中の自己ループは無視できるであろう。自己ループをも
除去することが望ましい様な状況も存在する。自己ルー
プを有する頂点は必ずMFVSに属さなければならない
ので、これらの頂点はSグラフから最初に除去すること
ができる。残ったSグラフはより小さく、そのMFVS
(本発明の教える手法により解くことができる)は、よ
り容易に解くことができる問題となる。
【0005】MFVS問題は、NP困難問題のクラスに
属する。この問題を解くためのアルゴリズムは、計算量
理論概念が発展する以前に提案されている。よく知られ
た、自明でない厳密なアルゴリズムは、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困難であることは、あり得ることである。
【0006】
【発明が解決しようとする課題】本発明の目的は、回路
に含まれるフリップフロップの最適な選択により、回路
の部分スキャンテストを実行するために、MFVS問題
を解くことにある。
【0007】
【課題を解決するための手段】本発明は、回路をテスト
する際に使用される有向グラフのMFVSを発見するた
めの厳密なアルゴリズムに関するものである。また、本
発明は、現在利用可能な発見的方法より少ないか、また
は同等の計算資源を使用するものである。多項式時間計
算量でMFVS問題を解くことができる様な新しいクラ
スのグラフを定義する。MFVS保存グラフ変換を詳述
する。次に、厳密なアルゴリズムを提案するために、分
岐限定手続における分割方式を説明する。その結果、本
質的に新たな分岐方法が得られる。最後に、MFVS問
題の新しい整数線形計画法への定式化について説明す
る。その様な定式化は、MFVS問題を解くために、ま
たはMFVSの大きさ(cardinality)の下
界を発見するために直接使用することができる。この下
界は、分岐限定検索木の枝刈りをするのに有用である。
【0008】
【実施例】本発明のより明瞭な理解のためには、幾つか
の定義が必要である。ある順序回路のSグラフを考え
る。V及びAは、それぞれ頂点及び弧の集合である。ま
た、n=|V|であり、m=|A|である。どの弧(v
i →vj )に対しても、viはvj の直前の要素、vj
はvi の直後の要素である。remove(vi )は、
頂点vi を、それに入って来る弧及びそれから出て行く
弧と共に除去する処理を表すものとする。ignore
(vi )は、vi のすべての直前の要素をそのすべての
直後の要素に結合し、その後remove(vi )を行
ない、さらに、二個の頂点間の複数の弧を一つの個にま
とめる処理を表すものとする。以下の三種類の変換はM
FVS保存的であることが知られている。
【0009】T1:もしvi が自己ループであれば、r
emove(vi )を行ない、viを返す。Sグラフの
MFVSは、修正グラフのMFVSにvi を追加するこ
とにより得られる。
【0010】T2:vi へ入ってくる弧の数、またはv
i から出ていく弧の数が0の場合、remove
(vi )を行なう。Sグラフと修正グラフのMFVSは
等しい。
【0011】T3:vi へ入ってくる弧の数、またはv
i から出ていく弧の数が1であり、自己ループを持たな
い場合、ignore(vi )を行なう。修正グラフの
どのMFVSも、SグラフのMFVSである。
【0012】上記のそれぞれの変換は、頂点が一個少な
い修正グラフを生成する。Sグラフから始めて、どの変
換も適用できなくなるまで、変換T1,T2,T3が繰
り返し適用される。変換が適用される順序に関係なく、
最終的に得られるグラフはただ一つである。したがっ
て、変換T1,T2,T3を繰り返し適用する過程は適
切に定義され、手続compress_graphと呼
ばれる。この手続は、O(mlogn)の時間で動作す
る様に実現することができる。変換T1によって返され
た頂点は、与えられたSグラフのMFVSを得るため
に、最終グラフのMFVSに追加されなければならな
い。特に、Sグラフがcompress_graphに
よって空グラフとなる場合、MFVSは多項式時間計算
量で決定される。空グラフに縮小するグラフのクラス
は、双方向可簡約クラスと呼ばれる。
【0013】本発明は、compress_graph
以上にSグラフを縮小可能なMFVS保存変換を含むも
のである。この新しい変換を使用することは、二つの有
利性を有する。第一に、この変換は、双方向可簡約クラ
スよりも厳密な意味で大きな、新しいグラフの多項式時
間可解クラスを定義するものであるから、多項式時間で
双方向簡約できないSグラフに対するMFVSを決定す
ることが可能である。第二に、任意のSグラフに対し
て、新たな変換は、compress_graphによ
って得られる最終グラフにおけるよりも、少ない頂点を
有する最終グラフを生成するであろう。しがたって、M
FVS問題の探索段階において、より少数の頂点が考慮
されなければならない。
【0014】図1に示されたグラフSを考える。これ
は、13個のフリップフロップX1 ,・・・,X13を有
する順序回路のSグラフであると仮定する。まず、手続
compress_graph(S)を使用してSグラ
フを縮小する。変換T3によって、頂点v1 が除去され
る。この結果、v2 に自己ループが発生する。頂点v2
は、変換T1を使って除去される。この時点で、どの変
換も適用できなくなる。変換されたグラフS′は、図2
に示されている。S′は空グラフではないので、Sは双
方向可簡約クラスには属さない。しかし、MFVSを検
出するためには、グラフS′の強連結成分(SCC)の
みを考慮すれば十分であることに注目すると、変換され
たグラフS′をさらに縮小することができる。グラフ
S′は、次の強連結成分を有する:{v3 ,v4
5 ,v6 }、{v7 ,v8 ,v9 }、{v10,v11
12,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も空グラフに縮小できる。
【0015】下記の手続は、上記の知見を繰り返し使用
することによりグラフを縮小する。
【0016】 Procedure transform _graph(S) do{ extract _scc(S); compress_graph(s); add vertices returned by compress _graph(S) to mfvs_list } }while (S is modified and S is not empty) return (S and mfvs_list); 手続transform_graphは、図1のグラフ
Sを考察することにより、最良に理解される。手続ex
tract_sccは、グラフの強連結成分を計算し、
異なったSCCに属するvi 及びvj に関する弧vi
j を除去する。この場合、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)で動作する様に実現でき
る。
【0017】この手続は、双方向可簡約クラスに属さな
いグラフSを、手続transform_graphを
使用することにより空グラフに変換するものである。し
たがって、これは、双方向可簡約クラスよりも厳密な意
味で大きな、グラフの新しいクラスを定義するものであ
る。このクラスは、「SCC可圧縮」と呼ばれる。すな
わち、あるグラフSは、手続transform_gr
aphによって空グラフにまで縮小できる場合のみ、S
CC可圧縮クラスに属する。
【0018】本発明の新規な分岐限定手続部において使
用される分割方式を、図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とする。したがって、頂点
4 はMFVSに含まれ、Sから除去される。修正グラ
フS′は、図6に示されている。新たな決定変数を選択
する前に、transform_graph(S′)に
よってグラフS′を縮小することを試みる。この場合、
グラフS′はそれ以上縮小されない。S′の探索空間に
対応する指標集合は、N1 ={1,2,3,5,6,
7}である。したがって、この探索空間は、図7に示さ
れた様に探索されるであろう。しかし、S′のMFVS
は、二つの強連結成分{v1 ,v2 ,v3 }と{v5
6 ,v7 }を独立に解くことによって検出することが
できる。したがって、指標集合N1 は{1,2,3,}
と{5,6,7}に分割され、対応する部分空間が独立
に探索される。この状態は、図8に示されている。指標
集合の分割は、この問題における効率的な探索の鍵とな
るものである。図7の探索木における節点の数は4であ
るのに対し、図8のそれは3である。一般に、分割され
た分岐限定における探索木は、従来の分岐限定における
探索木よりもかなり小さくなるであろう。MFVSを発
見するためには、グラフのSCCのみを考慮すれば十分
であるという知見は、分岐限定において再帰的に適用さ
れる。
【0019】どの様な分岐限定手続も、探索空間におけ
る一連の移動として表現できる。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に縮小する。
【0020】分割探索方法においては、現在の部分空間
の指標集合は、その後独立に解かれることになる一つま
たはそれ以上の部分に分割される。したがって、後に発
生する探索空間は、より小さいものに縮小されることに
なる。例えば、従来の分岐限定において、指標集合N1
に対応する探索空間のサイズは26 =64であるのに対
し、分割された分岐限定におけるそれは23 +23 =1
6である。したがって、探索はかなり速くなるであろ
う。
【0021】N1 の場合の様に、分割は固有のものであ
る。分割は、現在のグラフに存在する圧縮されたSCC
に依存する。探索は、圧縮されたSCCの数に依存した
それぞれの決定後複数に分岐し得るので、これは、マル
チウェイ分岐限定アルゴリズムと呼ばれる。このアルゴ
リズムを実現する場合の準符号及びその他の詳細を以下
に説明する。
【0022】どの様な圧縮されたSCCのSに対して
も、MFVSのサイズは2以上である。この値は、分岐
限定手続における自明な下界として使用できる。MFV
S問題は、新規な整数線形計画(Integer Li
near Program:ILP)として定式化され
る。この定式化は、下界を計算するための幾つかの方法
で使用できる。
【0023】整数線形計画を定式化するために、W=
{w1 ,w2 ,・・・,wn }を、グラフSの頂点に割
当てられた実数の重みとする。次の要求から始める:す
べての弧vi →vj それぞれに対して、wi >wj であ
ることが要求される。推移性により、このことは、どの
経路に沿った頂点に割当てられた重みも減少しなければ
ならないことを意味する。明らかに、もしグラフがサイ
クルを持っていれば、上記要求は満たされない。この実
行不可能性は、グラフの頂点/弧フィードバック集合を
認識するのに使用される。スラック変数yi がそれぞれ
の頂点vi に対して導入され、その値は、上記要求を満
たすために使用される。すなわち、以下の通りである。
【0024】
【数5】
【0025】使用されるスラック変数の数を最少にする
解を検出することが望ましい。そのために、それぞれの
スラック変数にブール数xi を掛け、Σxi の最小化を
試みる。この定式化をさらに改善するため、実現可能な
解の集合を上記の拘束によって限定する。Wに対するど
の解も、順序関係が保存されるように[0,n−1]の
範囲にマッピングできる。例えば、最小値に0を割当
て、次に小さな値に1を割当てる、等である。次に、ス
ラック変数に代えて、それぞれの頂点に対して、値nの
バッファを付与する。すべての弧に対して、−(n−
1)≦(wi −wj)≦n−1であるから、yi =nで
あれば十分である。ブール変数は、そのまま保存され
る。そこで、
【0026】
【数6】
【0027】を条件として、Σxi を最小化する。ここ
で、0≦wi ≦n−1であり、xi はブール数である。
【0028】例として、図9に示されたグラフを考え
る。これは、圧縮されたSCCのSグラフである。W=
(w1 ,・・・,w6 )及びX=(x1 ,・・・,
6 )とする。このグラフのILP定式化は、以下の様
に為される。
【0029】x1 +x2 +x3 +x4 +x5 +x6 を最
小化する。
【0030】制約:w1 −w2 +nx1 ≧1 w2 −w1 +nx2 ≧1 w1 −w3 +nx1 ≧1 w5 −w1 +nx5 ≧1 w2 −w4 +nx2 ≧1 w6 −w2 +nx6 ≧1 w3 −w4 +nx3 ≧1 w3 −w5 +nx3 ≧1 w4 −w3 +nx4 ≧1 w4 −w6 +nx4 ≧1 w5 −w6 +nx5 ≧1 w6 −w5 +nx6 ≧1 0≦wi ≦5 この例では、n=6であり、xi はブール数である。
【0031】ILPに関する最適解は、MFVS問題の
最適解に対応する。この例においては、解x=(0,
1,1,0,0,1)は、MFVS{v2 ,v3
6 }に対応する。グラフは多くのMFVSを有するこ
とに注意を要する。
【0032】フィードバック頂点集合と上記定式化のX
に対する実現可能な解の間には、一対一の対応が存在す
る。
【0033】上記定式化に対する最適解は、そのMFV
Sを与える。
【0034】線形計画のこの定式化への緩和は、下界を
決定するための一つの方法である。緩和によってもたら
された下界は弱いものである。緩和において、0≦xi
≦1を許容し、したがって、
【0035】
【数7】
【0036】は実現可能である。LPによってもたらさ
れる最適値は、常に1以下である。上記で言及された圧
縮されたSCCに対する2の下界を考慮すると、これは
特に弱いものである。
【0037】さらなる拘束を追加することにより、上記
定式化を改善することが可能である。これらの拘束とし
て、グラフから導かれるファセットか、上記定式化から
導かれるカットを用いることができる。その様な改善後
のLP緩和は、より良い限界をもたらすであろう。その
様な拘束の一つは、サイクル拘束である。任意のサイク
ルCに対して、不等式
【0038】
【数8】
【0039】を追加することが可能である。二サイクル
は認識し易いため、すべての二サイクル拘束を追加し、
下界を計算するためにLP緩和を使用することができ
る。もし二個より多くの頂点を有するサイクルが含まれ
ていると、より良い下界を得ることができる。図9に示
された例について考察する。二サイクルC1 ,C2 ,C
3に対して次の不等式を追加する。
【0040】w1 +w2 ≧1 w3 +w4 ≧1 w5 +w6 ≧1 これらの拘束を追加した後のLP緩和に対する最適解は
3であるのに対し、追加以前のそれは1であった。
【0041】上記で説明されたMFVS保存変換、分割
探索方法、及びILPに基づく下界値技術を組み合わせ
て、MFVSを計算するための厳密なアルゴリズムを得
る。Sグラフが与えられた時、それはまず、手続tra
nsform_graphを用いて縮小される。それに
よって得られるグラフが空グラフでない場合、分割探索
方法を用いて、このグラフのそれぞれの圧縮されたSC
Cを独立に解く。SグラフのMFVSは、次の手続によ
り計算される。
【0042】 Procedure MFVS(S) mfvs_list=transform_graph(S); if (S is not empty) { for (each scc S i ) { SOLVE _SCC(S i ); add vertices returned by SOLVE_SCC(S i ) to mfvs _list; } } return (mfvs_list) 再帰的手続SOLVE_SCCを使用することにより、
それぞれの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 ]|の最小値に等しい。
【0043】手続remove(vj )を使用すること
により、頂点vj をフィードバック頂点集合に含めるこ
とができる。同様に、手続ignore(vj )を使用
することにより、頂点vj をフィードバック頂点集合か
ら除くことができる。いずれの場合も、SCCのS1
変化しており、手続transform_graph
(S1 )がさらにS1 を縮小するために使用される。v
j を含めた後、縮小されたS1 が強連結成分をもつ場
合、これらの要素のそれぞれに対して、手続SOLVE
_SCCが再帰的に適用される。そして、S1 を、頂点
j が除去される前の状態にもどる(バックトラックす
る)。次に、左側の分枝を検討する。vj を除去した
後、変換されたグラフに関するMFVSの大きさの下界
を計算するためにlower_bound(vj )を使
用することができる。もし|l_fvs[vj ]|+l
ower_bound(vj )≧|r_fvs[vj
|であれば、左側の分枝を探索する必要はない。そうで
ない場合には、縮小されたS1 におけるそれぞれのSC
Cに関して、MFVSを再び再帰的に計算する。そし
て、S1 を頂点vj をignoreする前の状態に戻す
(バックトラックする)。下界計算のために、2の自明
な下界、または、上に述べた改善されたLP緩和によっ
てもたらされた下界を使用する。
【0044】 Procedure SOLVE _SCC (Si ) Pick a variable v from scc Si ; r _fvs[v]= φ;l_fvs[v]= φ; remove(v);/ * Include v in feedback vertex set* / r _fvs[v]=transform_graph(S i )+v; if (S i is not empty) { for (each scc of Si ) r _fvs[v]=r_fvs[v]+SOLVE_SCC(scc); } backtrack;/ * Restore S i to its state before remove(v) * / ignore(v);/ * Exclude v from feedback vertex set* / l _fvs[v]=transform_graph(S i ); if (|l _fvs[v]|+lower_bound(v)<|r _fvs[v]|) { if (S i is not empty) { for (each scc of Si ) l _fvs[v]=l_fvs[v]+SLOVE_SCC(scc); } backtrack;/ * Restore S i to its state before ignore(v) * / return (minimum (r_fvs[v], l _fvs[v])); }else{ backtrack;/ * Restore S i to its state before ignore(v) * / return (r _fvs[v]); } 上に示された手続MFVSを、C言語で実現した。本発
明を含むアルゴリズム(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上で行なわれ
た。
【0045】表1にISCAS89ベンチマークの回路
の組に関して行なわれた実験の結果を報告する。回路中
の主入力,主出力及びフリップフロップの数は、PI,
PO及びFFの欄にそれぞれ示されている。スキャンフ
リップフロップの数及び上記の異なった方法によってそ
れらのフリップフロップを選択するために必要なCPU
動作時間は、スキャンフリップフロップ及びCPU秒の
欄にそれぞれ示している。報告のCPU時間は、Sグラ
フを生成するための時間を含まない。LR,Pasc,
Opus及びPSCANの欄には、LeeとReddy
のアルゴリズム,Pascant,Opus及び本発明
の厳密なアルゴリズムを使用して得られたデータがそれ
ぞれ示されている。LeeとReddyは、二つの異な
った発見的方法を提案しており、この内良い方の結果が
示されている。上に述べたSmithとWalford
の厳密なアルゴリズムは小さな回路に対してのみ実際的
であるため、その結果は表に含まれていない。
【0046】大きな回路に対する最適な結果は、本発明
を使用することによって初めて達成された。PSCAN
は、大きなSグラフ(s15850,s38417,s
38584等から得られる様な)のMFVSを一分以内
で計算する。PSCANが最適解を計算するのに要する
CPU時間は、近似解を計算する発見的方法が要する時
間と同等か、より少ない。小さな回路に対しては、発見
的方法によって得られるフィードバック頂点集合は最適
なものである。大きな回路に対しては、発見的方法は次
善の結果を生じさせる。例として、回路s38417の
場合を取りあげる。この回路は、28の主入力、106
の主出力、及び1636のフリップフロップを有する。
LeeとReddyの方法は、サイズ384のフィード
バック頂点集合を計算した。Pascant及びOpu
sは、それぞれ400と380のサイズのフィードバッ
ク頂点集合を計算した。PSCANは、サイズ374の
最適フィードバック頂点集合を計算した。
【0047】本発明のアルゴリズムは、従来の分岐限定
方法とも比較された。新しい変換手続及び枝刈り技術が
含まれない場合、従来の分岐限定アルゴリズムは、SU
NワークステーションのSparc2を3日以上動作さ
せても、s15850やs38417の様な大きな回路
のMFVSを決定できない。新しい変換と枝刈り技術が
含まれた場合、従来の分岐限定方法は、s38417を
除いたすべてのSグラフのMFVSを決定できる。しか
し、MFVSが得られた場合でも、分岐限定アルゴリズ
ムはかなり多くのCPU技術を要する。表1に示されて
いる様に、分割された分岐限定を使用することにより、
s15850及びs38417のSグラフに関するMF
VSを、1分以内のCPU時間で計算できる。
【0048】表1中の符号「−」は、対応するプログラ
ムによって記録されたフィードバック頂点集合がすべて
のサイクルを切断するものではないことを示す。
【0049】もし自己ループも切断されるならば、発見
的方法によって得られるフィードバック頂点集合のサイ
ズは、すべてのベンチマーク回路に関して、PSCAN
によって決定される最適解のサイズと同じである。これ
は、これらの回路は多くの自己ループをもち、自己ルー
プの除去後に得られるグラフは既に閉路をもたないか、
非常に少数のサイクルしか持たないからである。したが
って、部分スキャンテスト中で切断されずに残っている
自己ループをもつ回路に適用された時、本発明は優れた
結果を提供するものである。
【0050】
【表1】
【0051】回路中の自己ループを除くすべてのフィー
ドバックを除去するために必要な最適数のスキャンフリ
ップフロップを選択する好ましい方法を説明、例証した
が、本発明の広い原理及び趣旨から逸脱しない形で、変
更及び修正が可能であることは、当業者にとっては明ら
かであろう。
【0052】
【発明の効果】本発明は、順序回路のフリップフロップ
依存グラフのMFVSを計算するための厳密なアルゴリ
ズムを含む。このアルゴリズムは、最悪計算量が指数関
数的であるが、実験結果は、部分スキャン問題の多くの
実際的な例において、既存の発見的方法より優っている
ことを示している。説明された解法には、その他の応用
法もある。例えば、提案された技術は、テスト容易性向
上のための順序回路の再合成及び再タイミングにおいて
生じるMFVS問題を解くために使用された。
【0053】厳密なアルゴリズムの結果、即ち、回路中
の自己ループを除くすべてのフィードバックを除去する
ために必要な最適数のスキャンフリップフロップの発見
は、回路の製造において、回路の部分スキャンテストに
必要な付加的なスキャンフリップフロップを、面積及び
性能劣化の点で最小のオーバヘッドコストで提供するた
めに使用される。
【図面の簡単な説明】
【図1】任意に選ばれた回路のSグラフである。
【図2】手続compress_graphにより図1
のSグラフを縮小したSグラフである。
【図3】図2のSグラフのSCCを表すSグラフであ
る。
【図4】図3におけるSCC{V3 ,V4 ,V5
6 }を縮小するための一連の変換を示す図である。
【図5】強連結成分(Strongly Connec
ted Component:SCC)Sグラフであ
る。
【図6】図5に示されたグラフの修正Sグラフである。
【図7】図6のSグラフに対応する探索空間における従
来の分岐限定を表現したものを示す図である。
【図8】図6のSグラフに対応する探索空間に対する分
割された分岐限定の表現したものを示す図である。
【図9】ILP定式化を示すSグラフである。
【符号の説明】
1 〜v11 頂点 N0 ,N1 指標集合

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】順序回路における自己ループを除くすべて
    のフィードバックループを除去するために必要な最適数
    のスキャンフリップフロップを決定する方法において、 (a)順序回路のSグラフを導出するステップと、 (b)Sグラフを空でない圧縮されたSCC(強連結成
    分)へ縮小するため、最少フィードバック頂点集合(M
    FVS)保存変換をそのSグラフに適用するステップ
    と、 (c)グラフの圧縮されたSCCを解くために、分割さ
    れた分岐限定方法を実行するステップと、 (d)SグラフのMFVSに関する最適解または下界を
    得るために、整数線形計画(ILP)を適用するステッ
    プとを含み、 (e)ステップ(d)において下界が得られた場合に
    は、ステップ(c)及び(d)を繰り返すステップと、
    または、 (f)ステップ(d)において最適解のどれかが得られ
    た場合には、順序回路の部分スキャンテストを可能とす
    るために、最適解として得られた数のスキャンフリップ
    フロップを順序回路に組み込むステップと、を含むこと
    を特徴とするスキャンフリップフロップ決定方法。
  2. 【請求項2】上記MFVS保存変換を適用するステップ
    が、手続transform_graphを適用するこ
    とを含むことを特徴とする請求項1記載の方法。
  3. 【請求項3】上記分割された分岐限定方法を実行するス
    テップが、手続SOLVE_SCCを含むことを特徴と
    する請求項2記載の方法。
  4. 【請求項4】上記整数線形計画を適用するステップが、
    0≦wi ≦n−1、xi はブール数、wi はそのグラフ
    の頂点vi に割当てられた実数値重みとし、どの弧vi
    →vj に対してもwi >wj である場合、 【数1】 の条件下でΣxi を最小化することを含むことを特徴と
    する請求項3記載の方法。
  5. 【請求項5】グラフ中の任意のサイクルCに関して、 【数2】 となることを特徴とする請求項4記載の方法。
  6. 【請求項6】上記分割された分岐限定方法を実行するス
    テップが、手続SOLVE_SCCを適用することを含
    むことを特徴とする請求項1記載の方法。
  7. 【請求項7】上記整数線形計画を適用するステップが、
    0≦wi ≦n−1、xi はブール数、wj はそのグラフ
    の頂点vi に割当てられた実数値重みとし、どの弧vi
    →vj に対してもwi >wj である場合、 【数3】 の条件下でΣxi を最小化することを含むことを特徴と
    する請求項1記載の方法。
  8. 【請求項8】グラフ中の任意のサイクルCに関して、 【数4】 となることを特徴とする請求項7記載の方法。
  9. 【請求項9】上記分割された分岐限定方法を実行するス
    テップが、再帰的に実行されることを特徴とする請求項
    1記載の方法。
  10. 【請求項10】請求項1記載の方法に従って決定され
    た、部分スキャンテストを実行するための量のフリップ
    フロップを含む順序回路。
  11. 【請求項11】請求項3記載の方法に従って決定され
    た、部分スキャンテストを実行するための量のフリップ
    フロップを含む順序回路。
  12. 【請求項12】請求項4記載の方法に従って決定され
    た、部分スキャンテストを実行するための量のフリップ
    フロップを含む順序回路。
  13. 【請求項13】請求項5記載の方法に従って決定され
    た、部分スキャンテストを実行するための量のフリップ
    フロップを含む順序回路。
  14. 【請求項14】請求項9記載の方法に従って決定され
    た、部分スキャンテストを実行するための量のフリップ
    フロップを含む順序回路。
JP6163513A 1993-12-02 1994-07-15 スキャンフリップフロップ決定方法及び順序回路 Expired - Lifetime JP2692595B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109490753A (zh) * 2018-11-13 2019-03-19 吉林大学 一种结合极小碰集约简集成电路测试模式集的方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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