JP3095066B2 - レジスタトランスファレベル回路の低コストテスト方法 - Google Patents
レジスタトランスファレベル回路の低コストテスト方法Info
- Publication number
- JP3095066B2 JP3095066B2 JP09293750A JP29375097A JP3095066B2 JP 3095066 B2 JP3095066 B2 JP 3095066B2 JP 09293750 A JP09293750 A JP 09293750A JP 29375097 A JP29375097 A JP 29375097A JP 3095066 B2 JP3095066 B2 JP 3095066B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- scan
- test
- change
- register
- 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.)
- Expired - Fee Related
Links
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
-
- 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/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318392—Generation of test inputs, e.g. test vectors, patterns or sequences for sequential circuits
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、電子回路のテスト
方法に関し、特に、フルスキャンテストにともなう高い
面積オーバーヘッドや長いテスト適用時間を要すること
なく、組合わせテストパターンの使用を可能とした、順
序回路のテスト方法に関する。
方法に関し、特に、フルスキャンテストにともなう高い
面積オーバーヘッドや長いテスト適用時間を要すること
なく、組合わせテストパターンの使用を可能とした、順
序回路のテスト方法に関する。
【0002】
【従来の技術】順序回路の自動テストパターン生成(au
tomatic test pattern generation :ATPG)技術に
おける最近の進歩にかかわらず、順序回路のためのテス
トパターン生成には、困難な課題が残されており、それ
ほど大きくない順序回路に対してテストを生成するに
も、莫大な計算資源が必要である。そこで、順序回路の
ためのテストパターン生成プロセスを容易にするための
テスト容易化設計(design-for-testability: DFT)
手法が各種提案されている。(例えば、T.W.Wil
liams及びK.P.Parkerによる「Desi
gn for Testability−a Surv
ey」Proceeding of theIEEE、
71(1)、98〜112頁、1983年1月や、E.
Eichelberger及びT.Williamsに
よる「A Logic Design Sturctu
re for LSI Testability」14
thDesign Automation Confe
rence、ACM/IEEE、462〜468頁、1
977年6月を参照のこと)。
tomatic test pattern generation :ATPG)技術に
おける最近の進歩にかかわらず、順序回路のためのテス
トパターン生成には、困難な課題が残されており、それ
ほど大きくない順序回路に対してテストを生成するに
も、莫大な計算資源が必要である。そこで、順序回路の
ためのテストパターン生成プロセスを容易にするための
テスト容易化設計(design-for-testability: DFT)
手法が各種提案されている。(例えば、T.W.Wil
liams及びK.P.Parkerによる「Desi
gn for Testability−a Surv
ey」Proceeding of theIEEE、
71(1)、98〜112頁、1983年1月や、E.
Eichelberger及びT.Williamsに
よる「A Logic Design Sturctu
re for LSI Testability」14
thDesign Automation Confe
rence、ACM/IEEE、462〜468頁、1
977年6月を参照のこと)。
【0003】テストモードの間、回路のすべてのフリッ
プフロップ(FF)が、制御可能かつ観測可能であるフ
ルスキャンテスト方法は、順序回路をテストのための組
み合わせ回路に変換することにより、順序ATPGの問
題を、効果的に解決する。さらに、大規模の産業用回路
を扱うことのできる組み合わせATPGプログラムの能
力は、フルスキャン法との合体が比較的容易なこととあ
わせて、フルスキャンテストを産業上幅広く使用するこ
とを可能としている。
プフロップ(FF)が、制御可能かつ観測可能であるフ
ルスキャンテスト方法は、順序回路をテストのための組
み合わせ回路に変換することにより、順序ATPGの問
題を、効果的に解決する。さらに、大規模の産業用回路
を扱うことのできる組み合わせATPGプログラムの能
力は、フルスキャン法との合体が比較的容易なこととあ
わせて、フルスキャンテストを産業上幅広く使用するこ
とを可能としている。
【0004】それでもなお、フルスキャン法には、2つ
の重大な欠点、即ち、高い面積オーバーヘッドと長いテ
スト適用時間の問題がある。フルスキャン設計の面積オ
ーバーヘッドは、FFをスキャン用FFに置き換える必
要性と、スキャンクロック及びスキャンチェーンにとも
なうルーティング及びバッファリングオーバーヘッドに
由来する。長いテスト適用時間は、テストベクトルをス
キャンチェーンを介してシフトする必要性に起因してい
る。
の重大な欠点、即ち、高い面積オーバーヘッドと長いテ
スト適用時間の問題がある。フルスキャン設計の面積オ
ーバーヘッドは、FFをスキャン用FFに置き換える必
要性と、スキャンクロック及びスキャンチェーンにとも
なうルーティング及びバッファリングオーバーヘッドに
由来する。長いテスト適用時間は、テストベクトルをス
キャンチェーンを介してシフトする必要性に起因してい
る。
【0005】特に、典型的な大容量低コスト用途に対し
ては、フルスキャンテストにともなう20%〜30%の
面積オーバーヘッドは、経済的には実行不能となるかも
しれない。同様に、このようなテストにともなう長いテ
スト時間も、実行可能でない場合がある。そこで、従来
の技術では、フルスキャンテスト法に代わる実行可能な
方法を発見するためにかなりの労力が費やされてきた。
ては、フルスキャンテストにともなう20%〜30%の
面積オーバーヘッドは、経済的には実行不能となるかも
しれない。同様に、このようなテストにともなう長いテ
スト時間も、実行可能でない場合がある。そこで、従来
の技術では、フルスキャンテスト法に代わる実行可能な
方法を発見するためにかなりの労力が費やされてきた。
【0006】近年、フルスキャン法の上述した欠点を克
服するための試みとして、いくつかの部分スキャン技術
が開発された。例えば、K.T.ChengとV.D.
Agrawalによる「A Partial Scan
Method for Sequential Ci
rcuits with Feedback」(IEE
E Transactions on Compute
rs、39(4):544〜548頁、1990年4
月)や、D.H.LeeとS.M.Reddyによる
「On Determining Scan Flip
−Flops inPartial−Scan Des
igns」(Proceedings of the
International Conference
on Computer−Aided Design、
322〜325頁、1990年11月)や、V.Chi
ckermaneとJ.H.Patelによる「An
Optimization Based Approa
ch to the Partial Scan De
sign Problem」(Proceedings
of the International Tes
t Conference、377〜386頁、199
0年9月)を参照されたい。しかしながら、これら従来
の部分スキャン技術では、部分スキャンのスキャン用F
Fがフルスキャンより十分少ないことを保証するため
の、有効な順序回路自動テストパターン生成(ATP
G)ツールの使用が必要である。
服するための試みとして、いくつかの部分スキャン技術
が開発された。例えば、K.T.ChengとV.D.
Agrawalによる「A Partial Scan
Method for Sequential Ci
rcuits with Feedback」(IEE
E Transactions on Compute
rs、39(4):544〜548頁、1990年4
月)や、D.H.LeeとS.M.Reddyによる
「On Determining Scan Flip
−Flops inPartial−Scan Des
igns」(Proceedings of the
International Conference
on Computer−Aided Design、
322〜325頁、1990年11月)や、V.Chi
ckermaneとJ.H.Patelによる「An
Optimization Based Approa
ch to the Partial Scan De
sign Problem」(Proceedings
of the International Tes
t Conference、377〜386頁、199
0年9月)を参照されたい。しかしながら、これら従来
の部分スキャン技術では、部分スキャンのスキャン用F
Fがフルスキャンより十分少ないことを保証するため
の、有効な順序回路自動テストパターン生成(ATP
G)ツールの使用が必要である。
【0007】テスト適用時間を減少させる方法の開発を
目指した最近の試みは、限られた成功しかおさめていな
い。通常、このような方法では、スキャンフリップフロ
ップを並列スキャンチェ−ンに配置したり、スキャンチ
ェーンを再構成する(例えば、B.Vinnakota
及びN.K.Jhaによる「Synthesis of
Sequential Circuits for
Parallel Scan」(Proc. of t
he European Conference on
Design Automation、366〜37
0頁、1992年3月)、S.Narayanan及び
M.A.Breurによる「Reconfigurab
le Scan Chains:A Novel Ap
proach to Reduce Test App
lication Time」(Proc. of I
CCAD、710〜715頁、1993年)を参照)。
目指した最近の試みは、限られた成功しかおさめていな
い。通常、このような方法では、スキャンフリップフロ
ップを並列スキャンチェ−ンに配置したり、スキャンチ
ェーンを再構成する(例えば、B.Vinnakota
及びN.K.Jhaによる「Synthesis of
Sequential Circuits for
Parallel Scan」(Proc. of t
he European Conference on
Design Automation、366〜37
0頁、1992年3月)、S.Narayanan及び
M.A.Breurによる「Reconfigurab
le Scan Chains:A Novel Ap
proach to Reduce Test App
lication Time」(Proc. of I
CCAD、710〜715頁、1993年)を参照)。
【0008】ごく最近では、IEEE Journal
of Solid−StateCircuits、2
4(2)、458〜462頁、1989年4月に掲載さ
れた「Integration of Algorit
hmic VLSI Synthesis with
Testability Incorporatio
n」と題するC.H.Gebotys及びM.I.El
masryの論文に記載されているような組込み自己テ
スト(Built-In-Self-Test: BIST)ベースのテスト
と、IEEE Transactions on Co
mputer−Aided Design、13
(6)、777〜785頁、1994年6月に掲載され
た「Structural and Behavior
al Synthesis for Testabil
ity Techniques」と題するC.H.Ch
en、T.Karnik、D.G.Saabの論文に記
載されているような順序回路ATPG法の両方につい
て、容易にテスト可能な回路を形成するための動作レベ
ル設計合成法が提案されている。
of Solid−StateCircuits、2
4(2)、458〜462頁、1989年4月に掲載さ
れた「Integration of Algorit
hmic VLSI Synthesis with
Testability Incorporatio
n」と題するC.H.Gebotys及びM.I.El
masryの論文に記載されているような組込み自己テ
スト(Built-In-Self-Test: BIST)ベースのテスト
と、IEEE Transactions on Co
mputer−Aided Design、13
(6)、777〜785頁、1994年6月に掲載され
た「Structural and Behavior
al Synthesis for Testabil
ity Techniques」と題するC.H.Ch
en、T.Karnik、D.G.Saabの論文に記
載されているような順序回路ATPG法の両方につい
て、容易にテスト可能な回路を形成するための動作レベ
ル設計合成法が提案されている。
【0009】しかしながら、従来のハイレベルDFT/
合成法は、例えば部分スキャン、順序回路ATPGまた
はBISTなどの選択されたDFT/テスト法に適した
回路しか生成しない。さらに、これらの方法は、DSP
(ディジタル信号処理)フィルタや、データパスにおけ
る機能ユニットの支配性により特徴づけられるプロセッ
サ設計などの、データフロー/演算意図設計にのみ適用
可能である。
合成法は、例えば部分スキャン、順序回路ATPGまた
はBISTなどの選択されたDFT/テスト法に適した
回路しか生成しない。さらに、これらの方法は、DSP
(ディジタル信号処理)フィルタや、データパスにおけ
る機能ユニットの支配性により特徴づけられるプロセッ
サ設計などの、データフロー/演算意図設計にのみ適用
可能である。
【0010】
【発明が解決しようとする課題】そこで、組み合わせテ
ストパターンを用い、ハイレベル回路仕様により最小限
のテストハードウェアで済み、フルスキャンや並列スキ
ャンと比較してテスト適用時間をかなり減少でき、しか
も、単一のテスト法にのみ適合した特別なテスト簡易回
路を生成するにとどまるものではない、回路テスト方法
が求められている。
ストパターンを用い、ハイレベル回路仕様により最小限
のテストハードウェアで済み、フルスキャンや並列スキ
ャンと比較してテスト適用時間をかなり減少でき、しか
も、単一のテスト法にのみ適合した特別なテスト簡易回
路を生成するにとどまるものではない、回路テスト方法
が求められている。
【0011】本発明の目的は、組み合わせATPGを使
用することができるというフルスキャンテストの主な利
点を維持しつつ、その欠点、特に、フルスキャン法にと
もなう高い面積オーバーヘッド及び長いテスト適用時間
を排除した新規なテスト方法(以下これをH−SCAN
方法と呼ぶ)を提供することである。
用することができるというフルスキャンテストの主な利
点を維持しつつ、その欠点、特に、フルスキャン法にと
もなう高い面積オーバーヘッド及び長いテスト適用時間
を排除した新規なテスト方法(以下これをH−SCAN
方法と呼ぶ)を提供することである。
【0012】
【課題を解決するための手段】本発明によるH−SCA
N方法は、いかなるRT(register transfer) レベル仕
様にも容易に適用できる実用的テスト(DFT+ATP
G)方法を提供する。H−SCANでは、回路FFに組
み合わせテストパターンをロードするために、回路のハ
イレベル仕様において利用可能なレジスタや他の構造の
既存の接続を利用する。
N方法は、いかなるRT(register transfer) レベル仕
様にも容易に適用できる実用的テスト(DFT+ATP
G)方法を提供する。H−SCANでは、回路FFに組
み合わせテストパターンをロードするために、回路のハ
イレベル仕様において利用可能なレジスタや他の構造の
既存の接続を利用する。
【0013】従来の並列スキャン法において行われてい
るような並列スキャンチェーンを付加することなく、回
路設計における固有の並列性(paralellism) を用いて1
つのクロックサイクルに複数のFFをロードすることに
より、テスト適用時間はかなり減少する。
るような並列スキャンチェーンを付加することなく、回
路設計における固有の並列性(paralellism) を用いて1
つのクロックサイクルに複数のFFをロードすることに
より、テスト適用時間はかなり減少する。
【0014】限られた数の出力ピンを有する回路の場
合、H−SCAN法では、並列スキャン法に比べテスト
適用時間はかなり少ない。特に、H−SCAN法では、
FFにとりこまれたテスト応答は、FFの内容を並行し
てスキャンアウトするかわりに既存のオンチップ比較器
を用いて分析されるため、少数の出力ピンによって課せ
られる制限が除去される。
合、H−SCAN法では、並列スキャン法に比べテスト
適用時間はかなり少ない。特に、H−SCAN法では、
FFにとりこまれたテスト応答は、FFの内容を並行し
てスキャンアウトするかわりに既存のオンチップ比較器
を用いて分析されるため、少数の出力ピンによって課せ
られる制限が除去される。
【0015】本発明のさらなる特徴及び利点は、以下の
説明から明らかになろう。
説明から明らかになろう。
【0016】
【発明の実施の形態】本発明の好ましい実施例を図面を
参照して説明する。以下の説明において幾つかの図面を
同時に参照することもある。
参照して説明する。以下の説明において幾つかの図面を
同時に参照することもある。
【0017】図1は、GCD(greatest common diviso
r:最大公約数)回路について、VHDLコードでの動作
記述を示している。この記述は、2つの16ビットの数
であるxin及びyinの最大公約数(GCD)を計算
する方法を示している。動作仕様は、図2に示すように
RT(register transfer) レベル仕様に合成される。
r:最大公約数)回路について、VHDLコードでの動作
記述を示している。この記述は、2つの16ビットの数
であるxin及びyinの最大公約数(GCD)を計算
する方法を示している。動作仕様は、図2に示すように
RT(register transfer) レベル仕様に合成される。
【0018】動作仕様におけるすべての動作は、RTL
(register transfer level) 回路の機能ユニット上で実
行される。XやYなどのレジスタは、アルゴリズム記述
における変数の中間値を保存するために用いられる。本
方法において、Xは、XIN、Y、図1の第19行の減
算動作から割り当てられる。したがって、RTL記述に
おけるXに対応するレジスタは、回路入力XINと、レ
ジスタYと、減算動作が実行される減算ユニットc23
の出力からの入力を有している。
(register transfer level) 回路の機能ユニット上で実
行される。XやYなどのレジスタは、アルゴリズム記述
における変数の中間値を保存するために用いられる。本
方法において、Xは、XIN、Y、図1の第19行の減
算動作から割り当てられる。したがって、RTL記述に
おけるXに対応するレジスタは、回路入力XINと、レ
ジスタYと、減算動作が実行される減算ユニットc23
の出力からの入力を有している。
【0019】これらの入力は、レジスタXの入力側の、
マルチプレクサツリーを用いて選択される。マルチプレ
クサツリーは、レジスタX自身からの入力を有してい
る。なぜなら、あるクロックサイクルにおいては、X
は、他の3つのソースから割り当てられず、その値を、
後のクロックサイクルにおいて用いるために保持する必
要があるためである。回路は、16ビットの出力OUT
PUT及び1ビットの出力RDYを有している。出力O
UTPUTは、RDY出力が高くなった場合の、入力X
IN及びYINのGCDの値をとる。
マルチプレクサツリーを用いて選択される。マルチプレ
クサツリーは、レジスタX自身からの入力を有してい
る。なぜなら、あるクロックサイクルにおいては、X
は、他の3つのソースから割り当てられず、その値を、
後のクロックサイクルにおいて用いるために保持する必
要があるためである。回路は、16ビットの出力OUT
PUT及び1ビットの出力RDYを有している。出力O
UTPUTは、RDY出力が高くなった場合の、入力X
IN及びYINのGCDの値をとる。
【0020】一例として、まず、従来のフルスキャン法
を用いてGCD回路をテストするために生じるオーバー
ヘッドについて説明する。例示のために、図2のGCD
回路の部分回路(subcircuit)について考える。部分回路
は、図3に示されている(フルスキャンに必要な修正/
追加がなされている)。部分回路は、元の回路における
レジスタX及びYの各々の(16個のフリップフロップ
のうちの)2個のフリップフロップと、対応する1ビッ
トマルチプレクサを有している。
を用いてGCD回路をテストするために生じるオーバー
ヘッドについて説明する。例示のために、図2のGCD
回路の部分回路(subcircuit)について考える。部分回路
は、図3に示されている(フルスキャンに必要な修正/
追加がなされている)。部分回路は、元の回路における
レジスタX及びYの各々の(16個のフリップフロップ
のうちの)2個のフリップフロップと、対応する1ビッ
トマルチプレクサを有している。
【0021】このスキャン実現は、以下のスキャンチェ
ーンを形成していることが分かる。すなわち、(scanin
→x0→y0→x1→y1→scanout )である。このチ
ェーンは、マルチプレクサ(310、330、350、
370)によって、接続された回路中の4個のFF(3
00、320、340、360)すべてからなり、チェ
ーンへの入力としての主入力スキャンインと、チェーン
の出力としての主出力スキャンアウトを備えている。
ーンを形成していることが分かる。すなわち、(scanin
→x0→y0→x1→y1→scanout )である。このチ
ェーンは、マルチプレクサ(310、330、350、
370)によって、接続された回路中の4個のFF(3
00、320、340、360)すべてからなり、チェ
ーンへの入力としての主入力スキャンインと、チェーン
の出力としての主出力スキャンアウトを備えている。
【0022】test入力がhigh状態になると、FFは、sc
anin入力を用いてテストパターンにおけるシフトを行う
ために用いることのできるシフトレジスタとしての動作
を始める。テストベクトルを回路に加えるために、テス
ト信号を低くする。次に、FFにとりこまれた回路応答
は、test入力を高くすることによって、scanout ピンを
介してシフトアウトされる。
anin入力を用いてテストパターンにおけるシフトを行う
ために用いることのできるシフトレジスタとしての動作
を始める。テストベクトルを回路に加えるために、テス
ト信号を低くする。次に、FFにとりこまれた回路応答
は、test入力を高くすることによって、scanout ピンを
介してシフトアウトされる。
【0023】このようなスキャン手法の欠点は、数多く
ある。第1に、回路中の68個のFFの各々を、入力側
にマルチプレクサをもち通常のFFの機能性を示すスキ
ャン用FFに置き換えなければならないことである。第
2に、スキャンチェーン及びtestピンをスキャン用FF
内の68個のマルチプレクサに接続するために特別なル
ーティングが必要であることである。最後に、実際の実
現形態においては、テスト信号の高いファンアウトのた
め、testピンとマルチプレクサ入力の間にバッファを付
加しなければならない。
ある。第1に、回路中の68個のFFの各々を、入力側
にマルチプレクサをもち通常のFFの機能性を示すスキ
ャン用FFに置き換えなければならないことである。第
2に、スキャンチェーン及びtestピンをスキャン用FF
内の68個のマルチプレクサに接続するために特別なル
ーティングが必要であることである。最後に、実際の実
現形態においては、テスト信号の高いファンアウトのた
め、testピンとマルチプレクサ入力の間にバッファを付
加しなければならない。
【0024】図14に示した結果から明らかなように、
GCD回路についてのフルスキャンを組み込むための面
積オーバーヘッドは、約17%であり、テスト適用時間
は、非常に長い。さらに、組み合わせテストパターン発
生器が用いられ、GCDにおけるすべての故障をテスト
するために260個のパターンを生成した。回路内に
は、68個のFFがあるため、各パターンをFFにロー
ドしてテストパターンを適用するために、69個のクロ
ックサイクルが必要である。そこで、この回路をテスト
するために必要なクロックサイクルの総数は、1800
7個と計算できる。
GCD回路についてのフルスキャンを組み込むための面
積オーバーヘッドは、約17%であり、テスト適用時間
は、非常に長い。さらに、組み合わせテストパターン発
生器が用いられ、GCDにおけるすべての故障をテスト
するために260個のパターンを生成した。回路内に
は、68個のFFがあるため、各パターンをFFにロー
ドしてテストパターンを適用するために、69個のクロ
ックサイクルが必要である。そこで、この回路をテスト
するために必要なクロックサイクルの総数は、1800
7個と計算できる。
【0025】上記の欠点は、RTL回路内にすでに存在
しているパスを用いることにより、かなり減少させるか
もしくは除去することができる。既に述べたように、ス
キャン実現形態では、パターンをFF内外にシフトする
ために用いることができるマルチプレクサを介して、ス
キャンチェーン内のFFを接続する。
しているパスを用いることにより、かなり減少させるか
もしくは除去することができる。既に述べたように、ス
キャン実現形態では、パターンをFF内外にシフトする
ために用いることができるマルチプレクサを介して、ス
キャンチェーン内のFFを接続する。
【0026】ここで、図4に示す回路について考えてみ
よう。この回路は、図3において用いたのと同じGCD
の部分回路のH−SCAN実現である。H−SCANの
ために追加されたものは、太字で示した4つのゲート
(400、420、430、440)だけである。マル
チプレクサを通過する次のパスは、回路内に既に存在し
ている。
よう。この回路は、図3において用いたのと同じGCD
の部分回路のH−SCAN実現である。H−SCANの
ために追加されたものは、太字で示した4つのゲート
(400、420、430、440)だけである。マル
チプレクサを通過する次のパスは、回路内に既に存在し
ている。
【0027】 YIN0→Y0→X0及びYIN1→Y1→X1 YIN0及びYIN1は入力であるため、X0及びX1
が主出力であると仮定すると、元の回路自体における2
つの並列スキャンチェーンに必要な基本構造が存在して
いる。当業者であれば図4から分かるように、テストモ
ードにおいてこれら2つのチェーンにテストパターンを
スキャンインさせるために、2個のANDゲート及び2
個のORゲートをtest入力に沿って追加しなければなら
ない。
が主出力であると仮定すると、元の回路自体における2
つの並列スキャンチェーンに必要な基本構造が存在して
いる。当業者であれば図4から分かるように、テストモ
ードにおいてこれら2つのチェーンにテストパターンを
スキャンインさせるために、2個のANDゲート及び2
個のORゲートをtest入力に沿って追加しなければなら
ない。
【0028】上述したようにテストパターンをスキャン
インするために用いることができる幾つかの並列パス
は、GCD回路内にすでに存在している。明確にすべき
点として、パスが2個のレジスタの間に存在すると言う
場合には、マルチプレクサのみを介したパスのことを指
している。図2のGCD回路内のレジスタ間のパスは、
図6(a)のコネクティヴィティ・グラフ(接続グラ
フ)によって示されている。例えば、図2において、1
6ビット入力YINは、2個の16ビットマルチプレク
サを介して16ビットレジスタYに接続されている。
インするために用いることができる幾つかの並列パス
は、GCD回路内にすでに存在している。明確にすべき
点として、パスが2個のレジスタの間に存在すると言う
場合には、マルチプレクサのみを介したパスのことを指
している。図2のGCD回路内のレジスタ間のパスは、
図6(a)のコネクティヴィティ・グラフ(接続グラ
フ)によって示されている。例えば、図2において、1
6ビット入力YINは、2個の16ビットマルチプレク
サを介して16ビットレジスタYに接続されている。
【0029】このパスに対応するものは、図6(a)の
コネクティヴィティ・グラフ(接続グラフ)中のノード
YINとYとの間の辺(edge)である。図5は、完全なR
TレベルGCD回路を、テスト中に並列パスを制御する
ために本発明の方法によって付加されたテスト回路とと
もに示している。テストパターンをGCD回路内にスキ
ャンインするために用いられるパスの概念図を図6
(b)に示し、この同じパスのビットレベル図を図6
(c)に示す。
コネクティヴィティ・グラフ(接続グラフ)中のノード
YINとYとの間の辺(edge)である。図5は、完全なR
TレベルGCD回路を、テスト中に並列パスを制御する
ために本発明の方法によって付加されたテスト回路とと
もに示している。テストパターンをGCD回路内にスキ
ャンインするために用いられるパスの概念図を図6
(b)に示し、この同じパスのビットレベル図を図6
(c)に示す。
【0030】ここで、いくつか留意すべき点がある。第
1に、図6(b)に示したパスは、ビット幅が1よりも
大きい場合がある。さらに、YIN[15−0]からY
[15−0]への矢印が示されているため、これは16
個の並列パスに対応している。同様に、H[3−1]か
らstate[2−0]への矢印は、3個の並列パスに
対応している。
1に、図6(b)に示したパスは、ビット幅が1よりも
大きい場合がある。さらに、YIN[15−0]からY
[15−0]への矢印が示されているため、これは16
個の並列パスに対応している。同様に、H[3−1]か
らstate[2−0]への矢印は、3個の並列パスに
対応している。
【0031】第2に、元の回路においては、図6(a)
のコネクティヴィティ・グラフ(接続グラフ)に示され
ているように、図6(b)のパスの多くに対応する1つ
のパスがある。例えば、GCD回路内には、YINから
Yへ向かうパスがある。実際に、図6(b)の矢印のう
ち、元の回路においてマルチプレクサのみを通過するパ
スに対応するものがないのは、以下のとおりである。H
[15−4]からOUTPUT[15−4]へ、H[3
−1]からstate[2−0]へ、H[0−0]から
RDY[0−0]へ、state[2−0]からOUT
PUT[3−1]へ、RDY[0−0]からOUTPU
T[0−0]へ。
のコネクティヴィティ・グラフ(接続グラフ)に示され
ているように、図6(b)のパスの多くに対応する1つ
のパスがある。例えば、GCD回路内には、YINから
Yへ向かうパスがある。実際に、図6(b)の矢印のう
ち、元の回路においてマルチプレクサのみを通過するパ
スに対応するものがないのは、以下のとおりである。H
[15−4]からOUTPUT[15−4]へ、H[3
−1]からstate[2−0]へ、H[0−0]から
RDY[0−0]へ、state[2−0]からOUT
PUT[3−1]へ、RDY[0−0]からOUTPU
T[0−0]へ。
【0032】GCD回路内にこれらのパスを生成するた
めに、図5に示すように、19個の1ビットマルチプレ
クサを、追加しなければならない。このように、H−S
CAN方法は、RTレベル回路内に存在するマルチプレ
クサを通過するパスを利用し、必要な時のみ臨時のマル
チプレクサを付加して、RTレベルにおける、並列スキ
ャンチェーンを生成する。
めに、図5に示すように、19個の1ビットマルチプレ
クサを、追加しなければならない。このように、H−S
CAN方法は、RTレベル回路内に存在するマルチプレ
クサを通過するパスを利用し、必要な時のみ臨時のマル
チプレクサを付加して、RTレベルにおける、並列スキ
ャンチェーンを生成する。
【0033】面積オーバーヘッド削減 ここで、本発明のH−SCAN方法を用いた結果の面積
オーバーヘッドを分析し、従来のSCAN実現形態とこ
れを比較することが有用であろう。当業者であれば、面
積オーバーヘッドには2つの構成要素、即ち付加される
マルチプレクサによるオーバーヘッドとテストモードに
おいてマルチプレクサを制御するために付加されるAN
D/ORゲートによるオーバーヘッドがあることが即座
に理解されよう。
オーバーヘッドを分析し、従来のSCAN実現形態とこ
れを比較することが有用であろう。当業者であれば、面
積オーバーヘッドには2つの構成要素、即ち付加される
マルチプレクサによるオーバーヘッドとテストモードに
おいてマルチプレクサを制御するために付加されるAN
D/ORゲートによるオーバーヘッドがあることが即座
に理解されよう。
【0034】従来のスキャン手法と同じく、H−SCA
Nは、FF間にスキャンパスを生成する。しかしなが
ら、ここでは、従来のスキャン手法とは異なり、既に回
路内に存在しているマルチプレクサを介するFF間のパ
スを再利用するために、RTレベル情報を使用してい
る。このようなパスが存在しない場合に、H−SCAN
は、マルチプレクサを導入する。
Nは、FF間にスキャンパスを生成する。しかしなが
ら、ここでは、従来のスキャン手法とは異なり、既に回
路内に存在しているマルチプレクサを介するFF間のパ
スを再利用するために、RTレベル情報を使用してい
る。このようなパスが存在しない場合に、H−SCAN
は、マルチプレクサを導入する。
【0035】図5から明らかなように、H−SCAN
は、GCDに対して、19個の1ビットマルチプレクサ
を導入した。これは、フルスキャンには68個が必要で
あることとは極だった対照をなしている。これは、同一
スキャンチェーン上にあるものとして選択された2個の
FF間にマルチプレクサを介するパスがある場合、H−
SCANは、マルチプレクサを導入せず、テストモード
の間パスを制御するための制御ロジック中にゲートを導
入するだけであるという事実に部分的に基づいている。
は、GCDに対して、19個の1ビットマルチプレクサ
を導入した。これは、フルスキャンには68個が必要で
あることとは極だった対照をなしている。これは、同一
スキャンチェーン上にあるものとして選択された2個の
FF間にマルチプレクサを介するパスがある場合、H−
SCANは、マルチプレクサを導入せず、テストモード
の間パスを制御するための制御ロジック中にゲートを導
入するだけであるという事実に部分的に基づいている。
【0036】一例として、図5の2個の16ビットマル
チプレクサを介するYINからYへの16ビット並列パ
スについて考えてみよう。テスト中に、マルチプレクサ
を制御するために、2個のORゲートが導入される。O
Rゲートへの入力のうちの1つは、マルチプレクサに対
する元々の制御信号であり、第2の入力はtest入力であ
る。test信号がhighの場合には、YINの16個のビッ
トすべては、並列に、Yと接続される。
チプレクサを介するYINからYへの16ビット並列パ
スについて考えてみよう。テスト中に、マルチプレクサ
を制御するために、2個のORゲートが導入される。O
Rゲートへの入力のうちの1つは、マルチプレクサに対
する元々の制御信号であり、第2の入力はtest入力であ
る。test信号がhighの場合には、YINの16個のビッ
トすべては、並列に、Yと接続される。
【0037】明らかなように、2個の16ビットマルチ
プレクサの各々は、1個の制御信号を有している。した
がって、各16ビットマルチプレクサには、1個のOR
ゲートのみが必要である。従来のスキャン方法であれ
ば、Yに対応する16個のFFを、各々が通常のFF及
びマルチプレクサを含む16個のスキャン用FFに置き
かえることになる。
プレクサの各々は、1個の制御信号を有している。した
がって、各16ビットマルチプレクサには、1個のOR
ゲートのみが必要である。従来のスキャン方法であれ
ば、Yに対応する16個のFFを、各々が通常のFF及
びマルチプレクサを含む16個のスキャン用FFに置き
かえることになる。
【0038】面積オーバーヘッド分析にともなう隠れた
コストは、スキャン実現法によって導入される余分な配
線に関係している。具体的に、パスが元の回路内に既に
存在しているYIN及びYに対応するFFについて考え
てみよう。従来のスキャンの場合、Yに対応する16個
のFFを16個のスキャン用FFに置き換えるだけでな
く、スキャンチェーン内の各スキャン用FFを接続する
ネットをルートティングすることが、さらに、16個の
スキャンFF内の1ビットマルチプレクサの各々の制御
入力にテスト入力をルーティングすることが必要であ
る。
コストは、スキャン実現法によって導入される余分な配
線に関係している。具体的に、パスが元の回路内に既に
存在しているYIN及びYに対応するFFについて考え
てみよう。従来のスキャンの場合、Yに対応する16個
のFFを16個のスキャン用FFに置き換えるだけでな
く、スキャンチェーン内の各スキャン用FFを接続する
ネットをルートティングすることが、さらに、16個の
スキャンFF内の1ビットマルチプレクサの各々の制御
入力にテスト入力をルーティングすることが必要であ
る。
【0039】対照的に、本発明の主題であるH−SCA
N方法においては、テスト入力を2個のORゲートのみ
にルーティングすればよい。ORゲートの出力が、元の
回路内のマルチプレクサに対する制御信号にとって換わ
る。したがって、ORゲートの出力をマルチプレクサに
ルーティングするための余分な面積オーバーヘッドはな
い。ここで重要なこととして、H−SCANの最終レイ
アウト面積オーバーヘッドは、フルスキャン実現形態の
場合の17%に比べ、わずか5%にすぎない。
N方法においては、テスト入力を2個のORゲートのみ
にルーティングすればよい。ORゲートの出力が、元の
回路内のマルチプレクサに対する制御信号にとって換わ
る。したがって、ORゲートの出力をマルチプレクサに
ルーティングするための余分な面積オーバーヘッドはな
い。ここで重要なこととして、H−SCANの最終レイ
アウト面積オーバーヘッドは、フルスキャン実現形態の
場合の17%に比べ、わずか5%にすぎない。
【0040】テスト適用時間オーバーヘッド 図6に示すように、H−SCAN方法によって合成され
た回路には、16個の有効スキャンチェーンが並列に存
在している。しかしながら、これらのチェーンのうち4
個は、長さが5であり、残りの12個の長さは4であ
る。不均衡なチェーンをもつことの意味は、FFをロー
ドする際、最初のクロックサイクルにおいて、O3〜O
0の値は、YIN3〜YIN0を介してロードされると
いうことである。よって、入力YIN15〜YIN4
は、最初のクロックサイクルにおいては、利用されな
い。したがって、並行にロードされるテストデータのビ
ット数は、実効的には、68÷5すなわち13.6であ
る。しかしながら、これは、従来のスキャンでは、1ク
ロックサイクルにつきロードされるのが1ビットである
ことと比較すると非常に高い。
た回路には、16個の有効スキャンチェーンが並列に存
在している。しかしながら、これらのチェーンのうち4
個は、長さが5であり、残りの12個の長さは4であ
る。不均衡なチェーンをもつことの意味は、FFをロー
ドする際、最初のクロックサイクルにおいて、O3〜O
0の値は、YIN3〜YIN0を介してロードされると
いうことである。よって、入力YIN15〜YIN4
は、最初のクロックサイクルにおいては、利用されな
い。したがって、並行にロードされるテストデータのビ
ット数は、実効的には、68÷5すなわち13.6であ
る。しかしながら、これは、従来のスキャンでは、1ク
ロックサイクルにつきロードされるのが1ビットである
ことと比較すると非常に高い。
【0041】量的な比較のために、従来のフルスキャン
方法を用いたテスト適用時間と本発明のH−SCAN方
法を用いたテスト適用時間を計算してもよい。すなわ
ち、GCD回路は、68個のFFを有している。従来の
スキャンを用いて各テストパターンをロードするには、
68個のクロックサイクルが必要である。1クロックサ
イクルが、テストパターンを適用するために必要であ
る。最後のテストパターンが適用された後、FFをフラ
ッシュアウトするために67個のクロックサイクルが必
要である。
方法を用いたテスト適用時間と本発明のH−SCAN方
法を用いたテスト適用時間を計算してもよい。すなわ
ち、GCD回路は、68個のFFを有している。従来の
スキャンを用いて各テストパターンをロードするには、
68個のクロックサイクルが必要である。1クロックサ
イクルが、テストパターンを適用するために必要であ
る。最後のテストパターンが適用された後、FFをフラ
ッシュアウトするために67個のクロックサイクルが必
要である。
【0042】回路の出力の数により、形成可能な並列ス
キャンチェーンの数を制限される場合には、既に述べた
よりもさらにテスト適用時間を短縮することが可能であ
る。これは、change maker回路により説明
する。そのVHDL動作記述は図7に示されている。
キャンチェーンの数を制限される場合には、既に述べた
よりもさらにテスト適用時間を短縮することが可能であ
る。これは、change maker回路により説明
する。そのVHDL動作記述は図7に示されている。
【0043】change maker回路は、自動販
売機用の制御器を構成する3つの部分回路のうちの1つ
であり、その記述は、どの状態(クロックサイクル)に
おいてどの動作が実行されるべきか、ならびに、1つの
状態から別の状態への遷移の条件を定めている。スケジ
ュールの各状態における動作は、1クロックサイクルに
おいて実行される。
売機用の制御器を構成する3つの部分回路のうちの1つ
であり、その記述は、どの状態(クロックサイクル)に
おいてどの動作が実行されるべきか、ならびに、1つの
状態から別の状態への遷移の条件を定めている。スケジ
ュールの各状態における動作は、1クロックサイクルに
おいて実行される。
【0044】クロック入力の他に、change ma
ker回路は、全部で26個の入力ピンに対してmy
reset(1ビット)、item stb(1ビッ
ト)、total(8ビット)、price(8ビッ
ト)、num coinsの入力を有している。出力
は、全部で4個の出力ピンに対してcoin(1ビッ
ト)、exact change(1ビット)、cha
nge stb(1ビット)、sel enable
(1ビット)である。
ker回路は、全部で26個の入力ピンに対してmy
reset(1ビット)、item stb(1ビッ
ト)、total(8ビット)、price(8ビッ
ト)、num coinsの入力を有している。出力
は、全部で4個の出力ピンに対してcoin(1ビッ
ト)、exact change(1ビット)、cha
nge stb(1ビット)、sel enable
(1ビット)である。
【0045】3つの8ビット内部変数、dime ou
t、nickel out、int changeがあ
る。さらに、s0〜s4の5つの状態を符号化するため
に3ビットを必要とする内部変数stateがある。こ
れらの内部変数の各々に対応して、RTレベル実現は、
3個の8ビットレジスタと1個の3ビットレジスタを有
している。また、4個の1ビット出力の各々に対して1
つのFFがあるから、回路内には、全部で31個のFF
がある(3×8+3+4=31)。よって、この回路に
は、従来の並列スキャン法を用いた最大4個の(=mini
mum (18,31,4))並列スキャンチェーンがあ
る。
t、nickel out、int changeがあ
る。さらに、s0〜s4の5つの状態を符号化するため
に3ビットを必要とする内部変数stateがある。こ
れらの内部変数の各々に対応して、RTレベル実現は、
3個の8ビットレジスタと1個の3ビットレジスタを有
している。また、4個の1ビット出力の各々に対して1
つのFFがあるから、回路内には、全部で31個のFF
がある(3×8+3+4=31)。よって、この回路に
は、従来の並列スキャン法を用いた最大4個の(=mini
mum (18,31,4))並列スキャンチェーンがあ
る。
【0046】図8に注目すると、change mak
erに対するRTレベル回路の部分で、説明に欠かせな
いのは比較器である。図7に示されているchange
makerのVHDL記述を参照すると、比較器で実
行される比較動作は、(total>price)(第
11行)と、(int change>5)(第31
行)と、(dime out)(第44行)である。
erに対するRTレベル回路の部分で、説明に欠かせな
いのは比較器である。図7に示されているchange
makerのVHDL記述を参照すると、比較器で実
行される比較動作は、(total>price)(第
11行)と、(int change>5)(第31
行)と、(dime out)(第44行)である。
【0047】3つの動作が同一リソース上で実行或いは
共有可能である。なぜなら、それらは、(変数stat
eによって与えられる)異なった状態s0、s2、s3
においてそれぞれ実行されるからであり、したがって同
一クロックサイクルにおいては、同時に実行されること
はない。ここで、スケジュール化された動作記述におい
てpriceがint changeと決して比較され
ることがなくても、比較器共有により、それら同一比較
器への入力とされる。
共有可能である。なぜなら、それらは、(変数stat
eによって与えられる)異なった状態s0、s2、s3
においてそれぞれ実行されるからであり、したがって同
一クロックサイクルにおいては、同時に実行されること
はない。ここで、スケジュール化された動作記述におい
てpriceがint changeと決して比較され
ることがなくても、比較器共有により、それら同一比較
器への入力とされる。
【0048】change makerにおけるレジス
タと上述した比較器のコネクティヴィティ・グラフ(接
続グラフ)を、図9に示す。矢印は、1つ以上のマルチ
プレクサを介する接続を示している。例えば、図8から
は、priceとint changeが、2個のマル
チプレクサを介して比較器に接続されていることがわか
る。マルチプレクサを介するこれらの接続は、int
changeから比較器への矢印と、priceから比
較器への矢印で表現されている。
タと上述した比較器のコネクティヴィティ・グラフ(接
続グラフ)を、図9に示す。矢印は、1つ以上のマルチ
プレクサを介する接続を示している。例えば、図8から
は、priceとint changeが、2個のマル
チプレクサを介して比較器に接続されていることがわか
る。マルチプレクサを介するこれらの接続は、int
changeから比較器への矢印と、priceから比
較器への矢印で表現されている。
【0049】しかしながら、図10に示されているよう
に、回路が4つの出力を有していても、回路中にすでに
存在している比較器を用いることによって、10個の並
列スキャンチェーンを持つことが可能である。図10に
は、2つの従来のスキャンチェーンがある。すなわち、 (item stb→state(2);→state
(0)→sel enable)および (my reset→state(1)→change
stb→coin) である。
に、回路が4つの出力を有していても、回路中にすでに
存在している比較器を用いることによって、10個の並
列スキャンチェーンを持つことが可能である。図10に
は、2つの従来のスキャンチェーンがある。すなわち、 (item stb→state(2);→state
(0)→sel enable)および (my reset→state(1)→change
stb→coin) である。
【0050】3番目のチェーンは、以下のレジスタから
構成されている。即ち、(num coins→dime
out→nickel out→int chang
e→exact change)である。増補(augment
ed) スキャンチェーンと呼ばれるこの後者のチェーン
は、2つの顕著な特徴を持っている。第1に、int c
hangeとexact changeの間に比較器を
有していることである。第2に、num coinsか
らint changeまでのチェーンは、ビット幅8
を有し、一方、最後のレジスタexact chang
eは、ビット幅がわずか1しかないことである。H−S
CAN方法に必要な接続のうち、8ビットの接続(nu
m coins→dime out→nickel o
ut)は、図9のコネクティヴィティ・グラフ(接続グ
ラフ)において示されているように、元の回路内にすで
に存在している。
構成されている。即ち、(num coins→dime
out→nickel out→int chang
e→exact change)である。増補(augment
ed) スキャンチェーンと呼ばれるこの後者のチェーン
は、2つの顕著な特徴を持っている。第1に、int c
hangeとexact changeの間に比較器を
有していることである。第2に、num coinsか
らint changeまでのチェーンは、ビット幅8
を有し、一方、最後のレジスタexact chang
eは、ビット幅がわずか1しかないことである。H−S
CAN方法に必要な接続のうち、8ビットの接続(nu
m coins→dime out→nickel o
ut)は、図9のコネクティヴィティ・グラフ(接続グ
ラフ)において示されているように、元の回路内にすで
に存在している。
【0051】チェーンへの入力num coinsは、
8ビット幅であるため、レジスタdime out、n
ickel out、int change中のFF
は、並列にロードできることが明らかである。int
changeとpriceが同一のビットパターンを有
している場合には、“1”であり、int chang
eとpriceが異なるビットパターンを有している場
合には“0”である比較器(=)出力を、1ビットレジ
スタexact changeをロードするために、利
用する。
8ビット幅であるため、レジスタdime out、n
ickel out、int change中のFF
は、並列にロードできることが明らかである。int
changeとpriceが同一のビットパターンを有
している場合には、“1”であり、int chang
eとpriceが異なるビットパターンを有している場
合には“0”である比較器(=)出力を、1ビットレジ
スタexact changeをロードするために、利
用する。
【0052】一例として、回路中の故障をテストするた
めに増補スキャンチェーン内のレジスタに以下のパター
ンをロードしなければならないと仮定する。
めに増補スキャンチェーン内のレジスタに以下のパター
ンをロードしなければならないと仮定する。
【0053】 dime out=“00000010” nickel out=“00000100” int change=“00001000” exact change=“1” そして、以下のパターンを、連続したクロックサイクル
において、入力num coins及びpriceに与え
なければならない。ここで、“x”は、don´t c
areを意味している。
において、入力num coins及びpriceに与え
なければならない。ここで、“x”は、don´t c
areを意味している。
【0054】 クロックサイクル num coins price 1 00000000 xxxxxxxx 2 00001000 xxxxxxxx 3 00000100 xxxxxxxx 4 00000010 00000000 クロックサイクル1においてnum coinsにロー
ドされたパターン“00000000”は、クロックサ
イクル4においてint changeにロードされ、
exact changeに“1”をロードするために
priceに与えられたパターン“00000000”
と比較される。
ドされたパターン“00000000”は、クロックサ
イクル4においてint changeにロードされ、
exact changeに“1”をロードするために
priceに与えられたパターン“00000000”
と比較される。
【0055】exact changeに“0”をロー
ドするために、4番目のクロックサイクルにおいて、パ
ターン“00000001”をpriceに与えられる
かもしれない。8ビットレジスタdime out、n
ickel out、int changeの各々は、1
クロックサイクル内でロードすることが可能であり、e
xact changeもまた、ロードするために1ク
ロックサイクルを必要とする。したがって、チェーン内
の25個のFFをロードするには、従来のスキャンに必
要な25個のクロックサイクルに代えて、全部で4つの
クロックサイクルで済む。
ドするために、4番目のクロックサイクルにおいて、パ
ターン“00000001”をpriceに与えられる
かもしれない。8ビットレジスタdime out、n
ickel out、int changeの各々は、1
クロックサイクル内でロードすることが可能であり、e
xact changeもまた、ロードするために1ク
ロックサイクルを必要とする。したがって、チェーン内
の25個のFFをロードするには、従来のスキャンに必
要な25個のクロックサイクルに代えて、全部で4つの
クロックサイクルで済む。
【0056】レジスタexact changeの内容
は、1クロックサイクルで観察可能である。しかしなが
ら、dime outは8ビットレジスタであるため、
1ビット幅のチェーンの出力側で、1クロックサイクル
でその内容を観察することはできない。同様に、8ビッ
ト幅のレジスタnickel out及びint ch
angeの内容も、それぞれ、1クロックサイクルでは
観察することができない。しかしながら、テストベクト
ルを与えた後のこれらのレジスタの期待値が、既知であ
るため、この期待値を入力priceに与え、比較器の
出力を主出力においてサンプリングして、故障を検出す
ることが可能である。
は、1クロックサイクルで観察可能である。しかしなが
ら、dime outは8ビットレジスタであるため、
1ビット幅のチェーンの出力側で、1クロックサイクル
でその内容を観察することはできない。同様に、8ビッ
ト幅のレジスタnickel out及びint ch
angeの内容も、それぞれ、1クロックサイクルでは
観察することができない。しかしながら、テストベクト
ルを与えた後のこれらのレジスタの期待値が、既知であ
るため、この期待値を入力priceに与え、比較器の
出力を主出力においてサンプリングして、故障を検出す
ることが可能である。
【0057】4つのクロックサイクル中の上記4つのパ
ターンをロードした後、第5のクロックサイクルにおい
てパターンを回路に与えたと仮定する。テストパターン
に対する故障のない回路の応答は以下のとおりである。
ターンをロードした後、第5のクロックサイクルにおい
てパターンを回路に与えたと仮定する。テストパターン
に対する故障のない回路の応答は以下のとおりである。
【0058】 dime out=“01100010” nickel out=“00100001” int change=“11010011” exact change=“1” 次に、以下のパターンが、次の3つのクロックサイクル
において入力priceに与えられる。
において入力priceに与えられる。
【0059】 クロックサイクル num coins price 6 xxxxxxxx 01100010 7 xxxxxxxx 00100001 8 xxxxxxxx 11010011 上記のレジスタのいずれかにおいて取り込まれた回路応
答が、故障なしの回路の応答と一致しない場合には、比
較器の出力は“0”となる。比較器の出力は、exac
t changeを介して観察可能なため、出力exa
ct changeが“0”である場合には、回路内に
故障がある。
答が、故障なしの回路の応答と一致しない場合には、比
較器の出力は“0”となる。比較器の出力は、exac
t changeを介して観察可能なため、出力exa
ct changeが“0”である場合には、回路内に
故障がある。
【0060】このように、回路の期待されたテスト応答
をそれらの入力に与え、既存の比較器を用いてチップ上
でそれらを比較することにより、1クロックサイクルで
8ビットレジスタに取り込まれた故障が検出される。
をそれらの入力に与え、既存の比較器を用いてチップ上
でそれらを比較することにより、1クロックサイクルで
8ビットレジスタに取り込まれた故障が検出される。
【0061】ここで、FFをロードするタスクとそれら
に取り込まれた回路応答を観察するタスクは、通常のス
キャン手法におけるスキャンインタスクと、スキャンア
ウトタスクのオーバーラップと同様に、オーバーラップ
させることができる。
に取り込まれた回路応答を観察するタスクは、通常のス
キャン手法におけるスキャンインタスクと、スキャンア
ウトタスクのオーバーラップと同様に、オーバーラップ
させることができる。
【0062】ここで、本発明のテスト方法であるH−S
CANの完全な概要を示すことが可能である。
CANの完全な概要を示すことが可能である。
【0063】最小限スキャン/増補スキャンチェーンを
備えたRTL回路の生成 I.コネクティヴィティ・グラフ(接続グラフ)は、ス
キャンチェーンや増補スキャンチェーン(以降単にチェ
ーンと呼ぶ)を形成するために用いられるRTL回路内
に存在するいくつかのパスを取り込んでいる。コネクテ
ィヴィティ・グラフ(接続グラフ)は、以下のように定
義される。
備えたRTL回路の生成 I.コネクティヴィティ・グラフ(接続グラフ)は、ス
キャンチェーンや増補スキャンチェーン(以降単にチェ
ーンと呼ぶ)を形成するために用いられるRTL回路内
に存在するいくつかのパスを取り込んでいる。コネクテ
ィヴィティ・グラフ(接続グラフ)は、以下のように定
義される。
【0064】1.グラフには、RTL回路内の各変数に
対してノードがある。ここで、変数とは、レジスタ、入
力、出力のうちのいずれかである。clock 入力は、対応
するノードを有していない。
対してノードがある。ここで、変数とは、レジスタ、入
力、出力のうちのいずれかである。clock 入力は、対応
するノードを有していない。
【0065】2.グラフには、=機能を有し入力の1つ
が回路入力である各比較器に対してノードがある。
が回路入力である各比較器に対してノードがある。
【0066】3.RTL回路内で、2つの変数間或いは
変数と比較器との間にパスがあり、そのパス上にマルチ
プレクサしかない場合、グラフ内の2つのノード間に有
向パスがある。
変数と比較器との間にパスがあり、そのパス上にマルチ
プレクサしかない場合、グラフ内の2つのノード間に有
向パスがある。
【0067】change maker回路に対するコ
ネクティヴィティ・グラフ(接続グラフ)が図9に示さ
れている。各変数のビット幅が与えられている。例え
ば、変数stateのビット幅は3であり、グラフ内の
他の変数には接続されていない。
ネクティヴィティ・グラフ(接続グラフ)が図9に示さ
れている。各変数のビット幅が与えられている。例え
ば、変数stateのビット幅は3であり、グラフ内の
他の変数には接続されていない。
【0068】II.グラフは、各変数が1つのチェーン
内に含まれるような複数のチェーンを形成するために用
いられる。増補スキャンチェーンを形成する場合、比較
器出力は、主出力を出力にもつレジスタに直接接続され
る。スキャンチェーンを生成する際、最大数の並列チェ
ーンを形成するためのあらゆる試みがなされ、同時に接
続グラフ内におけるノード間の接続の数を最小にする。
内に含まれるような複数のチェーンを形成するために用
いられる。増補スキャンチェーンを形成する場合、比較
器出力は、主出力を出力にもつレジスタに直接接続され
る。スキャンチェーンを生成する際、最大数の並列チェ
ーンを形成するためのあらゆる試みがなされ、同時に接
続グラフ内におけるノード間の接続の数を最小にする。
【0069】III.一旦スキャンチェーンが設定され
ると、テスト構造をRTL回路に挿入するために3つの
主なステップが必要となる。
ると、テスト構造をRTL回路に挿入するために3つの
主なステップが必要となる。
【0070】1.テスト入力を回路に加える。
【0071】2.チェーンにとって必要であるが、元の
接続グラフ内には存在しないあらゆる接続に対し、マル
チプレクサを導入し、テスト入力は、そのマルチプレク
サのセレクト入力に接続する。
接続グラフ内には存在しないあらゆる接続に対し、マル
チプレクサを導入し、テスト入力は、そのマルチプレク
サのセレクト入力に接続する。
【0072】3.コネクティヴィティ・グラフ(接続グ
ラフ)内に既に存在する、チェーン内の2つの変数間の
各接続に対して、RTL回路内の変数間に、マルチプレ
クサのみが介在するパスがある。テストモードの間パス
を活性化させるマルチプレクサに対する制御ロジックを
導く。例えば、図4において、YINとYの間の2つの
マルチプレクサのための制御信号は、テスト信号と論理
和演算(OR)する。制御を付加することで、テストモ
ードにおいて、テスト信号が高く、YINがYにロード
されることが保証される。
ラフ)内に既に存在する、チェーン内の2つの変数間の
各接続に対して、RTL回路内の変数間に、マルチプレ
クサのみが介在するパスがある。テストモードの間パス
を活性化させるマルチプレクサに対する制御ロジックを
導く。例えば、図4において、YINとYの間の2つの
マルチプレクサのための制御信号は、テスト信号と論理
和演算(OR)する。制御を付加することで、テストモ
ードにおいて、テスト信号が高く、YINがYにロード
されることが保証される。
【0073】IV.テスト構造を配してRTL回路を再
合成した後、公知のゲートレベル組み合わせテストパタ
ーン発生器を用いて組み合わせテストパターンを生成す
る。
合成した後、公知のゲートレベル組み合わせテストパタ
ーン発生器を用いて組み合わせテストパターンを生成す
る。
【0074】増補チェーンを用いる場合には、テストパ
ターンに対する組み合わせ回路の応答を、計算すること
も必要である。テスト応答は、やはり公知の論理シミュ
レーションツールを用いることによって得られ、テスト
応答パターン集合と呼ばれる。テストパターン及びシミ
ュレーション結果は、問題の回路に対する順序テストを
生成するために用いられる。
ターンに対する組み合わせ回路の応答を、計算すること
も必要である。テスト応答は、やはり公知の論理シミュ
レーションツールを用いることによって得られ、テスト
応答パターン集合と呼ばれる。テストパターン及びシミ
ュレーション結果は、問題の回路に対する順序テストを
生成するために用いられる。
【0075】V.本テスト方法における最後のステップ
は、組み合わせテストパターン集合及びテスト応答パタ
ーン集合を、回路の主入力に与えられる順序ベクトルの
集合に変換することである。
は、組み合わせテストパターン集合及びテスト応答パタ
ーン集合を、回路の主入力に与えられる順序ベクトルの
集合に変換することである。
【0076】change maker回路のためのこ
のステップを以下説明する。
のステップを以下説明する。
【0077】図10は、change maker回路
についてのH−SCANにより生成されたチェーンを示
し、図11はchange maker回路のためのテ
ストパターン及びテスト応答を示し、図12はchan
ge maker回路のための順序テストパターンを示
す。
についてのH−SCANにより生成されたチェーンを示
し、図11はchange maker回路のためのテ
ストパターン及びテスト応答を示し、図12はchan
ge maker回路のための順序テストパターンを示
す。
【0078】change maker回路のための上
述のステップを説明するには、図10の増補スキャンチ
ェーン内のレジスタ、即ちdime out、nick
el out、int change、exact ch
angeを考慮するだけでよい。増補スキャンチェーン
への入力は、num coins及びtotalであ
り、このチェーンは、比較器も備えている。
述のステップを説明するには、図10の増補スキャンチ
ェーン内のレジスタ、即ちdime out、nick
el out、int change、exact ch
angeを考慮するだけでよい。増補スキャンチェーン
への入力は、num coins及びtotalであ
り、このチェーンは、比較器も備えている。
【0079】第1のクロックサイクルにおいて、パター
ン“00000000”が、図10に示すように、入力
num coinsに与えられる。第4のクロックサイ
クルにおいて、与えられたパターンは、レジスタint
changeにシフトされる。パターン“00000
001”が、第4のクロックサイクルにおいて、入力t
otalに与えられる。テストモードにおいて、int
change及びtotalは比較器への入力である
ため、上記パターンは、実際には、比較器への入力であ
り、これらは、比較器の出力側で“0”を出力する。
ン“00000000”が、図10に示すように、入力
num coinsに与えられる。第4のクロックサイ
クルにおいて、与えられたパターンは、レジスタint
changeにシフトされる。パターン“00000
001”が、第4のクロックサイクルにおいて、入力t
otalに与えられる。テストモードにおいて、int
change及びtotalは比較器への入力である
ため、上記パターンは、実際には、比較器への入力であ
り、これらは、比較器の出力側で“0”を出力する。
【0080】テストパターン1によって要求されるよう
に、第5のクロックサイクルにおいて、“0”がexa
ct changeにロードされる。パターンI1、N
O1、D1が入力num coinsに与えられ、第5
のクロックサイクルによって、レジスタint cha
nge、nickel out、dime outにシ
フトされる。よって、第5のクロックサイクルによっ
て、増補スキャンチェーン内のレジスタは、テストパタ
ーン1によって要求されるように、ロードされる。さら
に、テストパターン1によって要求されるように、パタ
ーンT1、およびNC1が、第5のクロックサイクルに
おいて、主入力totalおよびnum coinsに与
えられる。
に、第5のクロックサイクルにおいて、“0”がexa
ct changeにロードされる。パターンI1、N
O1、D1が入力num coinsに与えられ、第5
のクロックサイクルによって、レジスタint cha
nge、nickel out、dime outにシ
フトされる。よって、第5のクロックサイクルによっ
て、増補スキャンチェーン内のレジスタは、テストパタ
ーン1によって要求されるように、ロードされる。さら
に、テストパターン1によって要求されるように、パタ
ーンT1、およびNC1が、第5のクロックサイクルに
おいて、主入力totalおよびnum coinsに与
えられる。
【0081】パターンは、回路の組み合わせ部分に与え
られ、応答は回路レジスタ内に取り込まれる。exac
t changeに取り込まれた応答は、回路出力にお
いて、直接観察可能である。しかしながら、レジスタi
nt change、nickel out、dime
outに取り込まれた応答は、出力側において直接観
察することはできない。
られ、応答は回路レジスタ内に取り込まれる。exac
t changeに取り込まれた応答は、回路出力にお
いて、直接観察可能である。しかしながら、レジスタi
nt change、nickel out、dime
outに取り込まれた応答は、出力側において直接観
察することはできない。
【0082】取り込まれた故障に対し、int cha
ngeに取り込まれたパターンを分析する手順について
説明する。テストパターン1を与えることにより、レジ
スタint changeに取り込まれることが予想さ
れるパターンは、I1 Rである。回路内に故障があり、
故障の影響がレジスタint changeのFFに取
り込まれた場合には、int changeに取り込ま
れた応答はI1 Rと異なることになる。さもなければ、
I1 Rになる。故障がレジスタint changeに
取り込まれたかどうかを検出するために、パターンI1
R自身が、第6のクロックサイクルにおいて、入力to
talに与えられる。
ngeに取り込まれたパターンを分析する手順について
説明する。テストパターン1を与えることにより、レジ
スタint changeに取り込まれることが予想さ
れるパターンは、I1 Rである。回路内に故障があり、
故障の影響がレジスタint changeのFFに取
り込まれた場合には、int changeに取り込ま
れた応答はI1 Rと異なることになる。さもなければ、
I1 Rになる。故障がレジスタint changeに
取り込まれたかどうかを検出するために、パターンI1
R自身が、第6のクロックサイクルにおいて、入力to
talに与えられる。
【0083】total及びint changeは、
テストモードにおける比較器への入力であるため、in
t changeに取り込まれたパターンがI1 Rであ
る場合には、比較器の出力側に、“1”が出力され、さ
もなければ、“0”が出力される。この結果は、exa
ct changeを介して、回路出力に伝達され、故
障がint changeに取り込まれたかどうかを決
定するために、第7のクロックサイクルにおいて、観察
することができる。
テストモードにおける比較器への入力であるため、in
t changeに取り込まれたパターンがI1 Rであ
る場合には、比較器の出力側に、“1”が出力され、さ
もなければ、“0”が出力される。この結果は、exa
ct changeを介して、回路出力に伝達され、故
障がint changeに取り込まれたかどうかを決
定するために、第7のクロックサイクルにおいて、観察
することができる。
【0084】同様に、nickel out及びdim
e outについての期待応答が、第7及び第8のクロ
ックサイクルにおいて、入力totalに与えられる。
これらは、第7及び第8のクロックサイクルにおいてレ
ジスタint changeにそれぞれシフトされたで
あろうnickel out及びdime outに取
り込まれた応答と比較される。第8或いは第9のサイク
ルにおいて出力exact changeに“0”が観
察された場合には、nickel out或いはdim
e out内の応答は、それぞれ、故障をもっている。
e outについての期待応答が、第7及び第8のクロ
ックサイクルにおいて、入力totalに与えられる。
これらは、第7及び第8のクロックサイクルにおいてレ
ジスタint changeにそれぞれシフトされたで
あろうnickel out及びdime outに取
り込まれた応答と比較される。第8或いは第9のサイク
ルにおいて出力exact changeに“0”が観
察された場合には、nickel out或いはdim
e out内の応答は、それぞれ、故障をもっている。
【0085】実験結果 ここでは、H−SCANテスト手法を、GCDアルゴリ
ズムとして実現された2つのRT−レベル設計、及び、
先に述べた自動販売機制御器におけるchange m
akerプロセスに適用した結果について述べる。
ズムとして実現された2つのRT−レベル設計、及び、
先に述べた自動販売機制御器におけるchange m
akerプロセスに適用した結果について述べる。
【0086】RT−レベル設計は、既知の高レベル合成
ツールであるSECONDS(例えば、S.Bhatt
acharya、S.Dey、F.Brglezによる
「Clock Period Optimizatio
n During Resource Sharing
and Assignment」(Proceedi
ngs of the 31st ACM/IEEE
Design Automation Confere
nce、195〜200頁、1994年6月)参照)を
用いた動作仕様から得られた。次に、RT−レベル回路
は、別の既知の合成システムを用いて等価ゲート−レベ
ル回路に合成される。得られたGCD及びchange
maker回路の特性を図13に示し、テスト生成結
果をそれぞれが図14及び図15に示す。
ツールであるSECONDS(例えば、S.Bhatt
acharya、S.Dey、F.Brglezによる
「Clock Period Optimizatio
n During Resource Sharing
and Assignment」(Proceedi
ngs of the 31st ACM/IEEE
Design Automation Confere
nce、195〜200頁、1994年6月)参照)を
用いた動作仕様から得られた。次に、RT−レベル回路
は、別の既知の合成システムを用いて等価ゲート−レベ
ル回路に合成される。得られたGCD及びchange
maker回路の特性を図13に示し、テスト生成結
果をそれぞれが図14及び図15に示す。
【0087】図13に示した結果に関して、RTレベル
構成要素、さらに、ゲートレベル構成要素であらわし
た、回路のサイズが与えられている。例えば、GCD回
路は、6つの機能ユニット(「機能ユニット」の欄)を
有している。6つのFUは、1つの減算ユニットと、1
6ビット幅のデータ入力を有する3つの比較器と、2つ
の1ビット比較器ユニットによって構成されている。G
CD回路内には178個の1ビットマルチプレクサ
(「マルチプレクサ」の欄)があり、6個のレジスタ
(「レジスタ」の欄)がある。レジスタは、異なる数の
FFを有していてもよい。
構成要素、さらに、ゲートレベル構成要素であらわし
た、回路のサイズが与えられている。例えば、GCD回
路は、6つの機能ユニット(「機能ユニット」の欄)を
有している。6つのFUは、1つの減算ユニットと、1
6ビット幅のデータ入力を有する3つの比較器と、2つ
の1ビット比較器ユニットによって構成されている。G
CD回路内には178個の1ビットマルチプレクサ
(「マルチプレクサ」の欄)があり、6個のレジスタ
(「レジスタ」の欄)がある。レジスタは、異なる数の
FFを有していてもよい。
【0088】レジスタYは16個のFFを有し、一方R
DYはFFを1個のみ有している。すべてのレジスタに
ついてFFの総数は、68個であり(「FF」の欄)、
GCDのためのゲートの総数は、1189個である
(「ゲート」の欄)。
DYはFFを1個のみ有している。すべてのレジスタに
ついてFFの総数は、68個であり(「FF」の欄)、
GCDのためのゲートの総数は、1189個である
(「ゲート」の欄)。
【0089】change maker回路は6個の機
能ユニットと、134個の1ビットマルチプレクサと、
8個のレジスタとを有している。6個の機能ユニットと
は、2個の減算ユニットと、8ビット幅のデータ入力を
もつ2個の比較器と、2個の1ビット比較器ユニットか
らなる。
能ユニットと、134個の1ビットマルチプレクサと、
8個のレジスタとを有している。6個の機能ユニットと
は、2個の減算ユニットと、8ビット幅のデータ入力を
もつ2個の比較器と、2個の1ビット比較器ユニットか
らなる。
【0090】図14及び図15には、GCD及びcha
nge maker回路上にフルスキャン手法及びH−
SCANを適用した結果がそれぞれ示されている。各R
T−レベル設計について、行ORIGは、いかなるスキ
ャンももたない元回路を示し、行FSCANは、既知の
ツールを用いて挿入された従来のスキャンチェーンをも
つフルスキャン回路を示し、行HSCANは、本発明の
方法を元のRT−レベル回路に適用することにより生成
された回路を示している。
nge maker回路上にフルスキャン手法及びH−
SCANを適用した結果がそれぞれ示されている。各R
T−レベル設計について、行ORIGは、いかなるスキ
ャンももたない元回路を示し、行FSCANは、既知の
ツールを用いて挿入された従来のスキャンチェーンをも
つフルスキャン回路を示し、行HSCANは、本発明の
方法を元のRT−レベル回路に適用することにより生成
された回路を示している。
【0091】報告されたテストハードウェアは、スキャ
ン用FFやマルチプレクサなどのロジックを有するだけ
でなく、相互に接続している。例えば、GCDのフルス
キャン設計においては、68個のスキャン用FFをスキ
ャンチェーンに組み入れるために、69個の相互接続が
必要である。又、テスト入力を、68個のスキャン用F
Fにルーティングしなければならず、68個の余分な相
互接続が生成される。すなわち、合計137個の相互接
続が、フルスキャン手法によって導入される。追加され
る3つのピンは、スキャンイン、スキャンアウト、テス
トのためのものである。H−SCANは、パターンを回
路FFにロード及びアンロードするために回路入力及び
出力を用いるため、特別なピンであるtestピンが1
つだけ必要である。
ン用FFやマルチプレクサなどのロジックを有するだけ
でなく、相互に接続している。例えば、GCDのフルス
キャン設計においては、68個のスキャン用FFをスキ
ャンチェーンに組み入れるために、69個の相互接続が
必要である。又、テスト入力を、68個のスキャン用F
Fにルーティングしなければならず、68個の余分な相
互接続が生成される。すなわち、合計137個の相互接
続が、フルスキャン手法によって導入される。追加され
る3つのピンは、スキャンイン、スキャンアウト、テス
トのためのものである。H−SCANは、パターンを回
路FFにロード及びアンロードするために回路入力及び
出力を用いるため、特別なピンであるtestピンが1
つだけ必要である。
【0092】従来のフルスキャン実現と本発明の方法に
よる面積オーバーヘッドの差異を説明するために、各バ
ージョンについてのレイアウト面積を報告する。すなわ
ち、「テスト面積オーバーヘッド」の欄には、従来及び
本提案の手法の実現における、アクティブ及び配線オー
バーヘッドを含む面積オーバーヘッドとテスト信号など
の高ファンアウト信号のバッファリングのオーバーヘッ
ドが報告されている。テスト信号は、FSCAN実現に
比べ、HSCAN実現についてはかなり低いファンアウ
トを有しているため、HSCAN手法はより少数のバッ
ファが導入される。GCD設計の場合には、従来のフル
スキャン実現の面積オーバーヘッドは17%であり、H
SCANの面積オーバーヘッドはわずかに5%であり、
これは、テスト面積オーバーヘッドにおいて70%以上
の減少に当たる。同様に、change makerに
ついてのテスト面積オーバーヘッドの減少は、50%で
ある。
よる面積オーバーヘッドの差異を説明するために、各バ
ージョンについてのレイアウト面積を報告する。すなわ
ち、「テスト面積オーバーヘッド」の欄には、従来及び
本提案の手法の実現における、アクティブ及び配線オー
バーヘッドを含む面積オーバーヘッドとテスト信号など
の高ファンアウト信号のバッファリングのオーバーヘッ
ドが報告されている。テスト信号は、FSCAN実現に
比べ、HSCAN実現についてはかなり低いファンアウ
トを有しているため、HSCAN手法はより少数のバッ
ファが導入される。GCD設計の場合には、従来のフル
スキャン実現の面積オーバーヘッドは17%であり、H
SCANの面積オーバーヘッドはわずかに5%であり、
これは、テスト面積オーバーヘッドにおいて70%以上
の減少に当たる。同様に、change makerに
ついてのテスト面積オーバーヘッドの減少は、50%で
ある。
【0093】これらの図14及びず15は、元の回路
(ORIG)、フルスキャン回路(FSCAN)、HS
CAN回路(HSCAN)についてのテスト生成の結果
をも示している。(スキャンなしの)元回路(ORI
G)に対しては、Proc. EDAC、214〜21
8頁、1991年に掲載された「HITEC: A t
est Generation Package fo
r SequentialCircuits」と題する
T.M.NiermannとJ.H.Patelの論文
に記載された既知の順序ATPGツールHITECを用
いて、テストパターン生成が実行された。
(ORIG)、フルスキャン回路(FSCAN)、HS
CAN回路(HSCAN)についてのテスト生成の結果
をも示している。(スキャンなしの)元回路(ORI
G)に対しては、Proc. EDAC、214〜21
8頁、1991年に掲載された「HITEC: A t
est Generation Package fo
r SequentialCircuits」と題する
T.M.NiermannとJ.H.Patelの論文
に記載された既知の順序ATPGツールHITECを用
いて、テストパターン生成が実行された。
【0094】FSCAN回路に対しては、IEEE T
ranzactions on Computer A
ided Design、Vol.9(No.7)、1
015〜1028頁、1993年7月に掲載された「A
Transitive Closure Algor
ithm for Test Generation」
と題するS.T.Chakradhar、V.D.Ag
rawal、S.G.Rothweilerの論文に記
載された、別の既知の組み合わせATPGツールを用い
てATPGを実行した。HSCAN回路に対しては、ま
ず組み合わせテストパターンをツールを用いて生成し、
上述したように自動的に順序テストパターンに変換し
た。最後に、生成されたテストパターンは、順序故障シ
ミュレータによって適用され、HSCAN上のパターン
の有効性が測定される。
ranzactions on Computer A
ided Design、Vol.9(No.7)、1
015〜1028頁、1993年7月に掲載された「A
Transitive Closure Algor
ithm for Test Generation」
と題するS.T.Chakradhar、V.D.Ag
rawal、S.G.Rothweilerの論文に記
載された、別の既知の組み合わせATPGツールを用い
てATPGを実行した。HSCAN回路に対しては、ま
ず組み合わせテストパターンをツールを用いて生成し、
上述したように自動的に順序テストパターンに変換し
た。最後に、生成されたテストパターンは、順序故障シ
ミュレータによって適用され、HSCAN上のパターン
の有効性が測定される。
【0095】「故障の数(# of Faults)」の欄は、元
の回路(ORIG)についてHITECによって判定さ
れた故障の数と、FSCAN回路についてTRANによ
って判定された故障の数と、HSCAN回路について順
序故障シミュレータによって判定された故障の数を示し
ている。
の回路(ORIG)についてHITECによって判定さ
れた故障の数と、FSCAN回路についてTRANによ
って判定された故障の数と、HSCAN回路について順
序故障シミュレータによって判定された故障の数を示し
ている。
【0096】これらの実験において、フルスキャン手法
に有利に、スキャンチェーン内の故障については判定せ
ず、H−SCANによって導入されたテストハードウェ
ア内の故障については判定した。FC欄及びTE欄に
は、元の回路(ORIG)、フルスキャン回路(FSC
AN)、HSCAN回路(HSCAN)についてHIT
EC、TRAN、本提案の技術によって得られた故障検
出率(Fault Coverage)のパーセント及びテスト効率(Tes
t Efficiency) のパーセントが報告されている。例え
ば、GCD(図14)の場合には、元の回路(ORI
G)ではテスト効率は80%にすぎないが、フルスキャ
ン方法(FSCAN)では100%のテスト効率が得ら
れ、本発明のHSCANでは、それに匹敵する99.7
%のテスト効率が得られた。ここで、HSCAN方法
は、従来のフルスキャン手法を用いずに、従来のフルス
キャン技術よりもかなり少ない面積オーバーヘッドで、
対等のテスト効率を達成できている。
に有利に、スキャンチェーン内の故障については判定せ
ず、H−SCANによって導入されたテストハードウェ
ア内の故障については判定した。FC欄及びTE欄に
は、元の回路(ORIG)、フルスキャン回路(FSC
AN)、HSCAN回路(HSCAN)についてHIT
EC、TRAN、本提案の技術によって得られた故障検
出率(Fault Coverage)のパーセント及びテスト効率(Tes
t Efficiency) のパーセントが報告されている。例え
ば、GCD(図14)の場合には、元の回路(ORI
G)ではテスト効率は80%にすぎないが、フルスキャ
ン方法(FSCAN)では100%のテスト効率が得ら
れ、本発明のHSCANでは、それに匹敵する99.7
%のテスト効率が得られた。ここで、HSCAN方法
は、従来のフルスキャン手法を用いずに、従来のフルス
キャン技術よりもかなり少ない面積オーバーヘッドで、
対等のテスト効率を達成できている。
【0097】TAT(Test Application Time) 欄には、
テストベクトルを与えるために必要なクロックサイクル
の数が報告されている。例えば、GCD(図14)の場
合には、本提案のHSCANスキームを用いると、テス
ト適用時間(Test Application Time) がフルスキャン方
法(FSCAN)の場合の10分の1以上に減少するこ
とがわかる。
テストベクトルを与えるために必要なクロックサイクル
の数が報告されている。例えば、GCD(図14)の場
合には、本提案のHSCANスキームを用いると、テス
ト適用時間(Test Application Time) がフルスキャン方
法(FSCAN)の場合の10分の1以上に減少するこ
とがわかる。
【0098】change maker(図15)の例
の場合には、HSCAN方法は、テスト適用時間TAT
がフルスキャンに比べて5分の1に減少したが、出力ピ
ンの制限により、既存の並行スキャン手法では、このよ
うなテスト適用時間オーバーヘッドの減少を達成するこ
とはできない。
の場合には、HSCAN方法は、テスト適用時間TAT
がフルスキャンに比べて5分の1に減少したが、出力ピ
ンの制限により、既存の並行スキャン手法では、このよ
うなテスト適用時間オーバーヘッドの減少を達成するこ
とはできない。
【0099】以上本発明について、好ましい実施例をあ
げて詳細に述べてきたが、当業者であれば、請求項に述
べられている本発明の原理及び趣旨を逸脱することなく
種々の変更及び修正が可能なことはいうまでもない。
げて詳細に述べてきたが、当業者であれば、請求項に述
べられている本発明の原理及び趣旨を逸脱することなく
種々の変更及び修正が可能なことはいうまでもない。
【図1】GCD回路の動作のためのVHDLコードを示
すプログラムリストである。
すプログラムリストである。
【図2】GCD回路のレジスタトランスファレベル(R
TL)での実現を示すブロック図である。
TL)での実現を示すブロック図である。
【図3】GCD部分回路のスキャン実現を示すブロック
図である。
図である。
【図4】本発明によるGCD部分回路のH−SCAN実
現を示すブロック図である。
現を示すブロック図である。
【図5】本発明によるGCD回路のH−SCAN実現を
示すブロック図である。
示すブロック図である。
【図6】本発明によるGCD回路のH−SCAN実現を
説明するための図であり、(a)はGCD回路中に存在
する並列接続パスを示すコネクティヴィティ・グラフ
(接続グラフ)であり、(b)は(a)の回路において
生成されたH−SCANパスを示す図であり、(c)は
(a)の回路のためのビットレベルH−SCANパスを
示す図である。
説明するための図であり、(a)はGCD回路中に存在
する並列接続パスを示すコネクティヴィティ・グラフ
(接続グラフ)であり、(b)は(a)の回路において
生成されたH−SCANパスを示す図であり、(c)は
(a)の回路のためのビットレベルH−SCANパスを
示す図である。
【図7】自動販売機のchange makerプロセ
スの動作スケジュールのためのVHDLコードを示すプ
ログラムリストである。
スの動作スケジュールのためのVHDLコードを示すプ
ログラムリストである。
【図8】change maker回路のRTL実現か
らの部分回路のブロック図である。
らの部分回路のブロック図である。
【図9】change maker回路のコネクティヴ
ィティ・グラフ(接続グラフ)である。
ィティ・グラフ(接続グラフ)である。
【図10】本発明によるchange maker回路
のためにH−SCANによって生成されたチェーンを示
すブロック図である。
のためにH−SCANによって生成されたチェーンを示
すブロック図である。
【図11】change maker回路のテストパタ
ーン及びテスト応答を示す図である。
ーン及びテスト応答を示す図である。
【図12】change maker回路の順序テスト
パターンを示す図である。
パターンを示す図である。
【図13】回路サイズ統計を説明するための図である。
【図14】GCD回路についての結果を説明するための
図である。
図である。
【図15】change maker回路についての結
果を説明するための図である。
果を説明するための図である。
300 FF(フリップフロップ) 310 マルチプレクサ 320 FF(フリップフロップ) 330 マルチプレクサ 340 FF(フリップフロップ) 350 マルチプレクサ 360 FF(フリップフロップ) 370 マルチプレクサ 400 ゲート 420 ゲート 430 ゲート 440 ゲート
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平7−334563(JP,A) (58)調査した分野(Int.Cl.7,DB名) G01R 31/3185 G06F 11/267
Claims (5)
- 【請求項1】 回路のレジスタトランスファ仕様をテス
トする方法において、 前記レジスタトランスファ仕様からコネクティヴィティ
・グラフを抽出するステップと、 前記コネクティヴィティ・グラフからH−SCANチェ
ーンの集合を有するH−SCANグラフを生成するH−
SCAN生成ステップと、 最少のマルチプレクサを前記レジスタトランスファ仕様
に挿入し、前記H−SCANチェーンを生成するステッ
プと、 与えられた組み合わせテストパターンを、前記H−SC
ANチェーンのすべてを用いて前記回路に適用され得る
順序テストパターンの集合に変換する変換ステップとを
有することを特徴とするレジスタトランスファレベル回
路の低コストテスト方法。 - 【請求項2】 前記H−SCAN生成ステップは、 前記コネクティヴィティ・グラフ内の最大数の既存のパ
スを再利用して、テスト面積オーバーヘッド及びテスト
適用時間が最小となるような最大数の並列H−SCAN
チェ−ンを生成するステップを有することを特徴とする
請求項1に記載のレジスタトランスファレベル回路の低
コストテスト方法。 - 【請求項3】 前記コネクティヴィティ・グラフは、レ
ジスタ、比較器、及び主入力及び主出力間の前記回路中
のパスであって、マルチプレクサを通過するパスをすべ
て記述していることを特徴とする請求項1に記載のレジ
スタトランスファレベル回路の低コストテスト方法。 - 【請求項4】 前記コネクティヴィティ・グラフは、レ
ジスタ、主入力及び主出力間の前記回路中のパスであっ
て、マルチプレクサを通過するパスをすべて記述してい
ることを特徴とする請求項2に記載のレジスタトランス
ファレベル回路の低コストテスト方法。 - 【請求項5】 前記H−SCAN生成ステップは、 前記回路に対する主出力の数が前記回路に対する主入力
の数よりも少ない場合に、前記レジスタトランスファ仕
様に含まれる1つ以上の比較器を再利用して、テスト適
用時間がさらに減少するように並行H−SCANチェー
ンの数を最大にすることを特徴とする請求項1に記載の
レジスタトランスファレベル回路の低コストテスト方
法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/741990 | 1996-10-31 | ||
US08/741,990 US5748647A (en) | 1996-10-31 | 1996-10-31 | Low cost testing method for register transfer level circuits |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10132899A JPH10132899A (ja) | 1998-05-22 |
JP3095066B2 true JP3095066B2 (ja) | 2000-10-03 |
Family
ID=24983061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09293750A Expired - Fee Related JP3095066B2 (ja) | 1996-10-31 | 1997-10-27 | レジスタトランスファレベル回路の低コストテスト方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5748647A (ja) |
JP (1) | JP3095066B2 (ja) |
KR (1) | KR100274178B1 (ja) |
DE (1) | DE19748016A1 (ja) |
GB (1) | GB2318876B (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5889788A (en) * | 1997-02-03 | 1999-03-30 | Motorola, Inc. | Wrapper cell architecture for path delay testing of embedded core microprocessors and method of operation |
JP2996213B2 (ja) * | 1997-08-28 | 1999-12-27 | 日本電気株式会社 | テスト容易化設計方法および装置、情報記憶媒体、集積回路装置 |
JP3401523B2 (ja) * | 1999-01-11 | 2003-04-28 | デュアキシズ株式会社 | 通信素子及びこれを用いた通信装置 |
US6865500B1 (en) * | 1999-05-19 | 2005-03-08 | Georgia Tech Research Corporation | Method for testing analog circuits |
US6463560B1 (en) * | 1999-06-23 | 2002-10-08 | Agere Systems Guardian Corp. | Method for implementing a bist scheme into integrated circuits for testing RTL controller-data paths in the integrated circuits |
US6823486B2 (en) * | 2000-06-05 | 2004-11-23 | Fujitsu Limited | Automatic test pattern generation for functional register transfer level circuits using assignment decision diagrams |
US6636995B1 (en) | 2000-07-13 | 2003-10-21 | International Business Machines Corporation | Method of automatic latch insertion for testing application specific integrated circuits |
US6877122B2 (en) | 2001-12-21 | 2005-04-05 | Texas Instruments Incorporated | Link instruction register providing test control signals to core wrappers |
US6957403B2 (en) * | 2001-03-30 | 2005-10-18 | Syntest Technologies, Inc. | Computer-aided design system to automate scan synthesis at register-transfer level |
FR2866435B1 (fr) * | 2004-02-13 | 2008-04-04 | Inst Nat Polytech Grenoble | Procede d'elaboration automatique de fichiers de description hdl de systeme electronique digital integre et systeme digital elecronique integre obtenu |
US20050210349A1 (en) * | 2004-03-22 | 2005-09-22 | Lambert Michael R | Scan test tools, models and/or methods |
US7996805B2 (en) * | 2008-01-08 | 2011-08-09 | National Semiconductor Corporation | Method of stitching scan flipflops together to form a scan chain with a reduced wire length |
US9081932B2 (en) * | 2013-02-01 | 2015-07-14 | Qualcomm Incorporated | System and method to design and test a yield sensitive circuit |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT982636B (it) * | 1972-05-24 | 1974-10-21 | Ibm | Sistema per provare il corretto funzionamento di circuiti logici |
US4680761A (en) * | 1986-01-30 | 1987-07-14 | Burkness Donald C | Self diagnostic Cyclic Analysis Testing System (CATS) for LSI/VLSI |
US5513118A (en) * | 1993-08-25 | 1996-04-30 | Nec Usa, Inc. | High level synthesis for partial scan testing |
US5550749A (en) * | 1994-06-03 | 1996-08-27 | Nec Usa, Inc. | High level circuit design synthesis using transformations |
US5502730A (en) * | 1994-06-10 | 1996-03-26 | Nec Usa, Inc. | Partial scan testability utilizing reconvergence through sequential elements |
US5513123A (en) * | 1994-06-30 | 1996-04-30 | Nec Usa, Inc. | Non-scan design-for-testability of RT-level data paths |
-
1996
- 1996-10-31 US US08/741,990 patent/US5748647A/en not_active Expired - Fee Related
-
1997
- 1997-10-27 JP JP09293750A patent/JP3095066B2/ja not_active Expired - Fee Related
- 1997-10-30 DE DE19748016A patent/DE19748016A1/de not_active Withdrawn
- 1997-10-30 GB GB9722970A patent/GB2318876B/en not_active Expired - Fee Related
- 1997-10-30 KR KR1019970056424A patent/KR100274178B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JPH10132899A (ja) | 1998-05-22 |
US5748647A (en) | 1998-05-05 |
KR19980033338A (ko) | 1998-07-25 |
GB2318876A (en) | 1998-05-06 |
GB2318876B (en) | 2001-06-06 |
KR100274178B1 (ko) | 2000-12-15 |
DE19748016A1 (de) | 1998-05-14 |
GB9722970D0 (en) | 1998-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ghosh et al. | Automatic test pattern generation for functional register-transfer level circuits using assignment decision diagrams | |
US6463560B1 (en) | Method for implementing a bist scheme into integrated circuits for testing RTL controller-data paths in the integrated circuits | |
Venkataraman et al. | Poirot: Applications of a logic fault diagnosis tool | |
US5748497A (en) | System and method for improving fault coverage of an electric circuit | |
Chen et al. | Structural and behavioral synthesis for testability techniques | |
Ghosh et al. | A design-for-testability technique for register-transfer level circuits using control/data flow extraction | |
JP3095066B2 (ja) | レジスタトランスファレベル回路の低コストテスト方法 | |
JP3059424B2 (ja) | 検査系列生成方法 | |
El-Maleh et al. | Behavior and testability preservation under the retiming transformation | |
Raghunathan et al. | Acceleration techniques for dynamic vector compaction | |
Shi et al. | Test generation for ultra-high-speed asynchronous pipelines | |
El-Maleh et al. | On test set preservation of retimed circuits | |
Lingappan et al. | Test generation for non-separable RTL controller-datapath circuits using a satisfiability based approach | |
Kanjilal et al. | Test function embedding algorithms with application to interconnected finite state machines | |
Chakraborty et al. | Effective path selection for delay fault testing of sequential circuits | |
Kambe et al. | Efficient template generation for instruction-based self-test of processor cores | |
US6876934B2 (en) | Method for determining fault coverage from RTL description | |
Ohtake et al. | A non-scan DFT method for controllers to achieve complete fault efficiency | |
US7702979B2 (en) | Semiconductor integrated circuit incorporating test configuration and test method for the same | |
Chakraborty et al. | Path delay fault simulation algorithms for sequential circuits | |
Lin et al. | Cost-free scan: a low-overhead scan path design | |
JP3117676B2 (ja) | 検査容易化設計方法 | |
Heragu et al. | A test generator for segment delay faults | |
Kim et al. | Combinational automatic test pattern generation for acyclic sequential circuits | |
JP2957508B2 (ja) | Rtlにおける検査容易化設計方法 |
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: 20000705 |
|
LAPS | Cancellation because of no payment of annual fees |