JP5408052B2 - 集積回路、シミュレーション装置、及びシミュレーション方法 - Google Patents

集積回路、シミュレーション装置、及びシミュレーション方法 Download PDF

Info

Publication number
JP5408052B2
JP5408052B2 JP2010142421A JP2010142421A JP5408052B2 JP 5408052 B2 JP5408052 B2 JP 5408052B2 JP 2010142421 A JP2010142421 A JP 2010142421A JP 2010142421 A JP2010142421 A JP 2010142421A JP 5408052 B2 JP5408052 B2 JP 5408052B2
Authority
JP
Japan
Prior art keywords
scan
input pattern
circuit
clock
under test
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
Application number
JP2010142421A
Other languages
English (en)
Other versions
JP2012007929A (ja
Inventor
直人 小杉
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2010142421A priority Critical patent/JP5408052B2/ja
Priority to US13/048,578 priority patent/US8793548B2/en
Publication of JP2012007929A publication Critical patent/JP2012007929A/ja
Application granted granted Critical
Publication of JP5408052B2 publication Critical patent/JP5408052B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/31813Test pattern generators
    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318371Methodologies therefor, e.g. algorithms, procedures
    • 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/318577AC testing, e.g. current testing, burn-in
    • G01R31/31858Delay testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/333Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Power Engineering (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

本発明は、ディレイテスト用のディレイテストパターンを生成する集積回路、シミュレーション装置、及びシミュレーション方法に関する。
半導体集積回路(以下、適宜「LSI」と呼ぶ。)は、製造ばらつき等により、素子の遅延値が規格値を超えてしまうような不良(所謂、遅延故障)が発生することがある。近年ではLSIにおける同期式デジタル回路の動作周波数の高速化が進んでいるため、小さな遅延故障による不良が回路動作不良の原因となる傾向にある。このような動作不良を防ぐために、同期式デジタル回路においては、例えば実際に使用する動作周波数で回路を動作するかを確かめるための試験(以下、適宜「ディレイテスト」と呼ぶ。)を出荷前に実施することが望ましい。
この種の技術として、スキャン方式の故障シミュレーションを行う場合に、レジスタからレジスタへ至るパスの論理を活性化し、それぞれのパスが仕様周波数で動作可能であるか否かをテストする技術が提案されている(特許文献1)。また、遅延故障が特定されないパスを特定し、それらのパスの遅延故障を検出可能なテストパターンを生成すると共に、各パスが活性化されているか否かを確認する技術が提案されている(特許文献2)。更に、各外部入力ピン及びフリップフロップの初期値及び遷移値を用いて、論理回路の組み合わせ部分に対してディレイ故障シミュレーションを行う技術が提案されている(特許文献3)。
特開平2−287271号公報 特開2004−54329号公報 特開平5−72287号公報
しかしながら、上記したような従来の技術では、LSIを実際の使用形態に沿って動作させるような入力パターンを用いて、LSI内部の遅延故障をLSI外部において効率良く検出することが困難であった。
開示の装置は、LSIのディレイテスト用のテストパターン(以下、適宜「ディレイテストパターン」と呼ぶ。)を生成する制御を行うために好適に利用される。入力パターン制御回路は、被試験対象回路へ供給される入力パターンのサイクル数をカウントし、予め設定されたカウント数と一致した時点で、被試験対象回路への入力パターンの供給を停止し、入力パターン保存回路は、このような入力パターンを保存する。スキャン制御回路は、入力パターン制御回路からの制御信号を受け、被試験対象回路へスキャンシフト信号を供給し、被試験対象回路内のスキャンチェインをシフトさせる。そして、期待値生成回路は、スキャンチェインの出力を期待値データとして保存する。
開示の装置によって得られたパターンを実機(LSI)に入力し、これにより得られた出力データと期待値データとを比較することで、実機(LSI)内部の不良個所を適切に特定することが可能となる。
比較例に係るディレイテストを実施するためのフローを示す。 第1比較例に係るシミュレーション装置の概略構成を示すブロック図である。 本実施形態に係るシミュレーション装置を構成するコンピューのハードウェア構成例を示すブロック図である。 本実施形態に係るシミュレーション装置の概略構成を示すブロック図である。 本実施形態に係る入力パターン制御機構及びスキャン制御機構の構成例を示す。 本実施形態に係るディレイテストを実施するためのフローを示す。 第1のステップSTEP1の詳細を表したフローを示す。 入力パターン制御機構及びスキャン制御機構の回路例を示す。 ステップSTEP1−1〜STEP1−3を行った際の動作波形例を示す。 STEP1−3、STEP1−4を行った後にステップSTEP1−1に戻った際の動作波形例を示す。
以下、実施形態の一例について図面を参照しつつ説明する。
[比較例の問題点]
本実施形態の内容を説明する前に、従来から行われているディレイテスト(以下、従来から行われているディレイテストの手法を適宜「比較例」と呼ぶ。)の問題点について説明する。
図1は、比較例に係るディレイテストを実施するためのフローを示す。図1に示すように、当該フローは2つのステップから構成される。第1のステップSTEP1(302a)は、論理シミュレーション装置等を用いて、入力パターンVI(105)を印加して論理シミュレーションを実施することで期待値VO(106a)を得る期待値生成過程である。つまり、ディレイテストパターンの生成過程である。第2のステップSTEP2(312)は、実際のLSI313に入力パターンVI(105)を印加することで得た出力値を期待値VO(106a)と比較するステップ314と、この比較結果を出力するステップ315とから構成される試験実施過程である。
ここで、上記した第1のステップSTEP1において、どのようなパターンを入力し出力期待値を得るかによって、ディレイテストの特徴・品質が決定される。その手法については、従来から、例えば下記の2種類の手法(以下、それぞれ「第1比較例」及び「第2比較例」と呼ぶ。)が知られている。
・第1比較例:ロジックスキャン試験等で使用するスキャンチェインを使用したテストパターンを生成し試験を実施する手法。
・第2比較例:第1のステップSTEP1において、LSIを実際の使用形態に沿って動作させるような入力パターンVIを用意し、論理シミュレーション装置により、LSI通常動作時の動作周期で動作させて出力値の期待値VOを得る手法。
図2を参照して、第1比較例に係る手法について具体的に説明する。図2は、第1比較例に係るシミュレーション装置101aの概略構成を示すブロック図である。なお、図2は、スキャン動作時における信号の流れを太線で表している。
シミュレーション装置101aは、コンピュータ等で動作するプログラムである。テストベンチ102aは、LSIの論理シミュレーションモデルを用いてシミュレーション全体を制御するシステムであり、例えば「Verilog」記述で書かれている。LSIの論理シミュレーションモデル103a(以下では、当該モデルを単に「LSI」とも表記する。)は、実際のLSIの回路情報を論理シミュレーション装置で動作可能なプログラム記述にモデル化したものである。例えば、論理シミュレーションモデル103aは、ゲートレベルネットリストやRTL等の「Verilog」記述で書かれている。
試験対象回路104は、内部にLSIの回路を有する。具体的には、試験対象回路104は、6つのフリップフロップFF1〜FF6、6つのセレクタ回路S1〜S6、及び組合せ回路115を有する。セレクタ回路S1〜S6は、フリップフロップFF1〜FF6にて、スキャンチェインを選択するか、通常入力を選択するかの選択を行う回路である。ここで、「スキャンチェイン」とは、フリップフロップをシリアルに接続するフリップフロップのチェインを意味し、図2に示す例では、スキャン入力信号SIを入力としてスキャン出力信号SOを出力するようなチェインに対応する。
シミュレーション装置101aで用いられる各信号について具体的に説明する。入力パターンVIは、一定サイクルごとに試験対象回路104に供給されるパターンである。具体的には、入力パターンVIは、LSIの各構成要素を動作させることが可能なパターンである。例えば、入力パターンVIは、パターン発生装置に記憶されており、内部発振クロックPCKに同期してパターン発生装置から出力される。出力パターンVOは、試験対象回路104からの出力期待値であり、試験対象回路104の出力値を一定サイクルごとにサンプリングすることにより得られる(なお、本明細書では、出力パターン及び出力期待値の両方について「VO」の符号を用いる。)。通常入力信号NIは、通常動作時における入力信号であり、入力パターンVIに対応する信号である。通常出力信号NOは、通常動作時における出力信号である。スキャン入力信号SI及びスキャン出力信号SOは、スキャン試験時のみに使用されるスキャン信号である。
スキャン選択信号SEは、セレクタ回路S1〜S6に供給される選択信号であり、当該信号が「1」のときにはスキャンチェインが選択され、当該信号が「0」のときには通常動作回路が選択される。外部入力クロックECKは、LSI103a外部から入力されるクロックである。内部発振クロックPCKは、LSI103a内部のPLL114で発振されるクロックであり、LSI103a内部の回路は基本的には当該クロックをベースに動作する。内部クロックCKは、試験対象回路104に供給されるクロック信号であり、図2に示す例では内部クロックCKは内部発振クロックPCKと同一のクロックである。
このような第1比較例に係るシミュレーション装置101aは、上記した第1のステップSTEP1において、以下のような小ステップ(1)〜(4)を含む動作を行うことで期待値VOを得る。なお、小ステップ(1)→(2)→(3)→(4)の順に動作を行うものとする。
(1)スキャン選択信号SEを「1」に設定して、スキャンチェインを用いて、試験対象回路104内の各フリップフロップFF1〜FF6にスキャン入力信号SIに対応する値を設定するステップ。
(2)スキャン選択信号SEを「1」から「0」に設定し、内部クロックCKより第1のクロックパルスを各フリップフロップFF1〜FF6に印加することで、各フリップフロップFF1〜FF6の値を変化させるステップ。
(3)遅延故障を測定するための第2のクロックパルスを内部クロックCKより各フリップフロップFF1〜FF6に印加して、各フリップフロップFF1〜FF6の値を観測するステップ。
(4)スキャン選択信号SEを「0」から「1」に設定し、スキャンチェインを通して出力されたスキャン出力信号SOに対応する値を、期待値VOとして取得するステップ。
上記の動作において、第1のクロックパルスから第2のクロックパルスまでの時間が、LSI通常動作時の動作周期に等しければ、第2のクロックパルスにより確定した各フリップフロップFF1〜FF6の値は、当該動作周期を規格値としたディレイテストの期待値となる。なぜならば、もし遅延故障が発生しているとすれば、第2のクロックパルスにより確定する各フリップフロップFF1〜FF6の値は異なる値になるからである。したがって、スキャン入力信号SIに対応する値を入力値とし、スキャン出力信号SOに対応する値を期待値とするような動作パターンを用いて、実際のLSIに対するディレイテストを行うことが可能である。
第1比較例に係る手法は、スキャンチェインを挿入することで各フリップフロップの値をLSI外部に出力することができるため、網羅的にLSI内部の遅延故障を検出することができる。しかしながら、第1比較例に係る手法は、スキャンチェインが挿入されたフリップフロップ間を結ぶ同期式デジタル回路には適用できるが、LSIの実際の動作形態と一致しないような場合には適用することは困難であると言える。例えば以下のような場合には第1比較例に係る手法を適用することは困難である。
・RAM/ROMのメモリなどに代表されるようなマクロ(以下、「ハードマクロ」とも呼ぶ。)と同期式デジタル回路との境界を含む場合には、スキャンチェインにより値を自由に設定できない回路を含むため、第1比較例に係る手法を適用することは困難である。
・同期式デジタル回路であっても、複数サイクルの遅延を許すようなパス(以下、「マルチサイクルパス」と呼ぶ。)や異なるクロック間を含むような回路には、第1比較例に係る手法を適用することは困難である。というのは、第2のクロックパルスを印加するタイミングの設定が複雑になるからである。
・例えば、SoC(System on Chip)などと呼ばれるようなCPUやバス・RAM/ROMマクロ・高速動作のI/Oなどを含むような大規模LSIでは、上記のような回路が多数存在する。そのため、それらの箇所に対して第1比較例に係るディレイテストを実施することは困難である。
・印加するパターンは厳密にはLSIを実際の使用形態に沿って動作させるパターンではないため、第1比較例に係る手法では、LSI通常動作中にのみ発生する特定のパスの遅延故障を再現することは困難である。
次に、第2比較例に係る手法の問題点について説明する。第2比較例に係る手法は、LSI通常動作時の動作周期で通常動作させることにより試験を実施しているため、以下のような特徴を持つ。
・第1比較例に係る手法においてディレイテストが困難であった、ハードマクロを含む回路やマルチサイクルパスを含む回路に対しても、LSI内部の遅延故障の有無を確かめることができる。
・LSI使用中にのみ発生するような故障モードであっても、厳密に再現することができる。
一方で、第2比較例に係る手法では、LSI内部で遅延故障が発生した場合に、当該故障の発生による試験対象回路内のフリップフロップ値は、LSI出力端子を通して期待値に変化が現れるように伝播させる必要がある。しかしながら、CPUやバス・RAM/ROMマクロ・高速動作のI/Oを含むような大規模なLSIでは、回路規模に対して試験時に使用できる端子数がかなり少ない。そのため、第2比較例に係る手法では、LSI内部で遅延故障が発生していたとしても、それを出力端子の変化としてLSI外部に伝播させることは困難である。
[シミュレーション装置]
次に、本実施形態に係るシミュレーション装置について説明する。
図3は、本実施形態に係るシミュレーション装置を構成するコンピュータ910のハードウェア構成例を示すブロック図である。例えば、このコンピュータ910は、CAD(computer-aided design)により、RTL設計データ及びネットリスト設計データを生成し、シミュレーションを行うことができる。
バス914には、CPU911と、RAM912と、ROM913と、可換媒体記憶装置915と、外部インターフェース916とが接続されている。
CPU911は、データの処理及び演算を行うと共に、バス914を介して接続された上記の構成ユニットを制御するものである。ROM913には、予めブートプログラムが記憶されており、このブートプログラムをCPU911が実行することにより、コンピュータ910が起動する。図示しないハードディスクなどにコンピュータプログラムが記憶されており、そのコンピュータプログラムがRAM912にコピーされ、CPU911により実行される。このコンピュータ910は、コンピュータプログラムを実行することにより、後述するディレイテストのためのシミュレーションなどを行うことができる。
可換媒体記憶装置915は、CD−ROMやフロッピー(登録商標)ディスクなどの媒体924を動作させる装置である。外部インターフェース916は、コンピュータ910内部と外部とを接続するインターフェースであり、ネットワークに対してコンピュータプログラム及びRTL設計データ等を入出力することができる。ディスプレイ920は、コンピュータ910からの出力表示を行い、キーボード921及びマウス922はコンピュータ910への情報入力に使用される。モデム923は、LANや電話線などを通じてネットワークと接続する。
本実施形態は、コンピュータ910がプログラムを実行することによって実現することができる。また、プログラムをコンピュータ910に供給するための手段、例えばかかるプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びコンピュータプログラムプロダクトは、本発明の範疇に含まれる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
図4は、本実施形態に係るシミュレーション装置101の概略構成を示すブロック図である。
シミュレーション装置101は、LSIの論理シミュレーションモデル103(以下では、当該モデルを単に「LSI」とも表記する。)内に制御機構109を有する点で、上記した第1比較例に係るシミュレーション装置101aと異なる。なお、前述したシミュレーション装置101aと同一の符号を付した構成要素や信号などについては同様の意味を有するものとして、その詳細な説明を省略する。また、特に説明しない構成要素や信号などについては、シミュレーション装置101aと同様であるものとする。図4では、スキャン動作(言い換えると「スキャンシフト動作」。以下同様とする。)を行っている際の信号の流れを太線で表している。
制御機構109は、入力パターン制御機構110と、スキャン制御機構111と、クロック選択機構112と、スキャン入力選択機構113とを有する。
入力パターン制御機構110は、LSI103内部へのクロック信号を制御する機構である。具体的には、入力パターン制御機構110は、内部発振クロックPCKが供給され、内部発振クロックPCKに応じた通常動作クロックFCKをクロック選択機構112に供給する。この場合、入力パターン制御機構110は、既存の入力パターンVIを試験対象回路104に印加している際のサイクル数をカウントし、当該サイクル数に基づいて通常動作クロックFCKを生成する。詳しくは、入力パターン制御機構110は、カウントしているサイクル数が、試験対象サイクル記憶部108に記録されている試験対象サイクルACIに一致するまでは、内部発振クロックPCKをそのまま通常動作クロックFCKとして出力する。なお、試験対象サイクルACIは、ディレイテストの検証対象となるパス動作したサイクルである、言い換えると検証対象パスが活性化するようなサイクルである。例えば、試験対象サイクルACIは、LSI通常動作時の動作周期などに相当する。試験対象サイクル記憶部108は、複数の試験対象サイクルACIをリストとして記憶している。
入力パターン制御機構110は、カウントしているサイクル数が試験対象サイクルACIに一致した際に、内部発振クロックPCKをクロックゲーティングした通常動作クロックFCKを出力する。このように内部発振クロックPCKをクロックゲーティングすることで、試験対象回路104へのクロック供給が停止される。加えて、入力パターンVIは通常動作クロックFCKに同期してパターン発生装置から読み出されるため、内部発振クロックPCKをクロックゲーティングすることで、試験対象回路104への入力パターンVIの印加が停止され、それに伴う試験対象回路104内の動作が停止される。
また、入力パターン制御機構110は、上記のように既存の入力パターンVIのサイクル数が試験対象サイクルACIに一致した際に、サイクル数のカウントを停止すると共に、スキャン制御機構111にスキャン動作要求信号REQ2を供給する。スキャン動作要求信号REQ2は、スキャン制御機構111によってスキャン動作を実行させるため、及びスキャン制御機構111のサイクルカウンタを再び動作させるための要求信号である。
スキャン制御機構111は、試験対象回路104においてスキャンチェインをシフトさせる動作(即ちスキャン動作)を制御することで、試験対象回路104内の各フリップフロップFF1〜FF6の値を、スキャン出力信号SOとしてLSI103外部に出力させる。具体的には、スキャン制御機構111は、入力パターン制御機構110からスキャン動作要求信号REQ2が供給された際に、スキャンクロックSCK及びスキャン選択信号SEを生成する。スキャンクロックSCKは、スキャン動作時に使用されるクロックであり、容易にLSI103外部からアクセス可能な程度に低速なクロックが用いられる。スキャン選択信号SEは、セレクタ回路S1〜S6に供給される選択信号である。スキャン制御機構111は、スキャン動作要求信号REQ2が供給された際にスキャン選択信号SEを「1」に設定し、スキャン動作要求信号REQ2が供給されない際にはスキャン選択信号SEを「0」に設定する。この場合、スキャン選択信号SEが「1」のときにはスキャンチェインが選択され、スキャン選択信号SEが「0」のときには通常動作回路が選択される。
また、スキャン制御機構111は、クロック選択信号SELをクロック選択機構112に供給する。クロック選択信号SELは、通常動作クロックFCK及びスキャンクロックSCKのいずれかを選択するための信号である。スキャン制御機構111は、スキャン動作要求信号REQ2が供給された際(つまりスキャン動作時)にクロック選択信号SELを「1」に設定し、スキャン動作要求信号REQ2が供給されない際(つまり既存入力パターンVI印加時)はクロック選択信号SELを「0」に設定する。クロック選択機構112は、クロック選択信号SELが「1」のときはスキャンクロックSCKを選択し、クロック選択信号SELが「0」のときは通常動作クロックFCKを選択する。そして、クロック選択機構112は、選択した信号を内部クロックCKとして試験対象回路104に供給する。なお、クロック選択信号SELの変化時に細かいパルスが発生しないように制御することが好ましい。
また、スキャン制御機構111は、試験対象回路104内のスキャンチェインの長さに応じて、試験対象回路104においてスキャンチェインをシフトさせる動作を制御する。具体的には、スキャン制御機構111は、スキャンチェインの長さに応じたサイクルだけ、スキャンクロックSCKを試験対象回路104に印加する制御を行う。詳しくは、スキャン制御機構111は、フリップフロップFFの数及びスキャンチェインの本数に基づいて決定されるサイクルだけ、スキャンクロックSCKを印加する。図4に示す例では、フリップフロップが6つ存在し、スキャンチェインが1本であるため、スキャン制御機構111は、スキャンクロックSCKを6サイクルだけ印加する。
そして、スキャン制御機構111は、このようなサイクルだけスキャンクロックSCKを印加した時点で、スキャン選択信号SEを「0」に設定すると共に、入力パターン制御機構110に対してサイクルカウンタ動作要求信号REQ1を供給する。サイクルカウンタ動作要求信号REQ1は、入力パターン制御機構110のサイクルカウンタを再び動作させるための要求信号である。こうしてサイクルカウンタ動作要求信号REQ1が入力パターン制御機構110に供給された際に、入力パターン制御機構110は、試験対象回路104への既存の入力パターンVIの印加を再開させ、それに伴う試験対象回路104内の動作を再開させる。
スキャン入力選択機構113には、上記したスキャン選択信号SE及び通常のスキャン入力信号SIが供給されると共に、スキャンチェイン循環機構121を介してスキャン出力信号SOが供給される。スキャン入力選択機構113は、スキャン選択信号SEに応じて、スキャン入力信号SI及びスキャン出力信号SOのいずれかを選択し、選択した信号をスキャン入力信号iSIとして試験対象回路104に供給する。具体的には、スキャン入力選択機構113は、スキャン選択信号SEが「1」のときはスキャン出力信号SOを選択し、スキャン選択信号SEが「0」のときはスキャン入力信号SIを選択する。つまり、スキャン入力選択機構113は、スキャン動作時に、スキャン出力信号SOをスキャン入力信号iSIとしてフリップフロップFF1〜FF6に戻す動作を行う。このようなスキャン入力選択機構113及びスキャンチェイン循環機構121によれば、スキャンチェインのシフト後に、試験対象回路104内のフリップフロップFF1〜FF6の値を通常動作の停止前の状態に戻すことができる。なお、シミュレーション装置101においては、スキャン入力信号SIとして例えば固定値を用いることができる。
上記のようなシミュレーション装置101を使用して論理シミュレーションを実行すると、入力パターン制御機構110及びスキャン制御機構111などの動作により、単純に既存の入力パターンVIを印加した場合と比べて異なる動作が行われることとなる。具体的には、シミュレーション装置101による論理シミュレーション時のLSI103の入力信号NI及び出力信号SOの値を記録することで、修正された新しい入力パターンVI’及び新しい出力パターン(出力期待値)VO’が得られる。つまり、ディレイテストパターンとして、新しい入力パターンVI’及び新しい出力パターンVO’が取得される。新しい入力パターンVI’は、LSI103への入力値(入力信号NI)を一定サイクルごとにサンプリングすることで得られるパターンであり、入力パターン制御機構110の動作によってホールド等された入力パターンVIに相当する。
なお、図4では、入力パターン制御機構110及びスキャン制御機構111の両方がLSI103内部に実装されている構成を示しているが、その一部がテストベンチ102上に実装されていても良い。また、試験対象回路104は、上記したフリップフロップFF1〜FF6やセレクタ回路S1〜S6や組合せ回路115以外にも、実際にはRAMやROMなどのメモリマクロ等回路を構成する様々なマクロを有する。また、図4では、組合せ回路115を1つのみ示し、フリップフロップFFを6つのみしか示していないが、実際には組合せ回路及びフリップフロップは多数存在する。また、図4では、通常入力信号NI、通常出力信号NO、スキャン入力信号SI、及びスキャン出力信号SOを1本のみしか示していないが、実際には複数本存在する。また、図4では内部クロックCKを1系統しか示していないが、実際には複数系統存在する。また、図4に示すようにフリップフロップとセレクタ回路とを分離して構成することに限定はされず、フリップフロップとセレクタ回路とを一体に構成しても良い。
[入力パターン制御機構及びスキャン制御機構の構成例]
次に、図5を参照して、上記したシミュレーション装置101内の入力パターン制御機構110及びスキャン制御機構111の構成例について説明する。
入力パターン制御機構110は、サイクルカウンタ201、比較器202、及びクロックゲーティング(CG)203を有する。サイクルカウンタ201は、試験対象回路104内のサイクル数、つまり既存の入力パターンVI印加中のサイクル数をカウントする。具体的には、サイクルカウンタ201は、リセット後において、内部発振クロックPCKを検出する毎に、サイクルカウンタ値を1ずつインクリメントする動作を行う。
比較器202は、予め指定されている試験対象サイクルACIの値と、サイクルカウンタ201のサイクルカウンタ値とを比較する。比較器202は、試験対象サイクルACIの値とサイクルカウンタ値とが一致した際に、スキャン制御機構111に対してスキャン動作要求を出す、具体的にはスキャン制御機構111にスキャン動作要求信号REQ2を供給する。加えて、この際に、比較器202は、クロックゲーティング203にクロック停止要求を出すと共に、サイクルカウンタ201にカウンタ停止要求を出す。クロックゲーティング203は、比較器202からクロック停止要求が出された場合に、内部発振クロックPCKをクロックゲーティングして通常動作クロックFCKを生成する。クロックゲーティング203は、生成した通常動作クロックFCKをクロック選択機構112に供給する。上記のような入力パターン制御機構110の動作により、試験対象回路104への入力パターンVIの印加が停止され、それに伴う試験対象回路104の動作が停止される。
スキャン制御機構111は、スキャン動作生成機構205及びチェイン長情報記憶部206を有する。チェイン長情報記憶部206は、試験対象回路104内の1本のスキャンチェインに繋がるフリップフロップの数に関する情報(以下、「スキャンチェイン長情報SLI」と呼ぶ。)を記憶する。スキャン動作生成機構205は、スキャン動作要求信号REQ2が供給された際に、スキャンチェイン長情報SLIに基づいてスキャンクロックSCKを生成すると共に、スキャン選択信号SEを「1」に設定し、且つクロック選択信号SELを「1」に設定する。この場合、スキャン動作生成機構205は、スキャンチェイン長情報SLIに対応するサイクル数だけ、スキャンクロックSCKを生成する。スキャン動作生成機構205は、スキャンクロックSCK及びクロック選択信号SELをクロック選択機構112に供給すると共に、スキャン選択信号SEをセレクタ回路S1〜S6及びスキャン入力選択機構113に供給する。このようなスキャン動作生成機構205の動作により、試験対象回路104内のスキャンチェイン長に応じたサイクルだけ、スキャンクロックSCKが試験対象回路104に印加されることとなる。
そして、スキャン制御機構111は、スキャンクロックSCKをスキャンチェイン長に応じたサイクルだけ印加した時点で、スキャン選択信号SEを「0」に設定し、入力パターン制御機構110内のサイクルカウンタ201に対してカウンタ再起動要求を出す。具体的には、スキャン制御機構111は、サイクルカウンタ201にサイクルカウンタ動作要求信号REQ1を供給する。これにより、入力パターン制御機構110内のサイクルカウンタ201は、サイクル数のカウントを再開する。また、入力パターン制御機構110は、サイクルカウンタ動作要求信号REQ1が供給された際に、試験対象回路104への既存の入力パターンVIの印加を再開させ、それに伴う試験対象回路104内の動作を再開させる。
[ディレイテストのフロー]
次に、図6を参照して、上記したシミュレーション装置101によるディレイテストのフローについて説明する。
第1のステップSTEP1(302)の前段ステップSTEP0(301)は、論理シミュレーション実施過程である。具体的には、ステップSTEP0では、シミュレーション装置101は、LSIを実際の使用形態に沿って動作させる既存の入力パターンVIを使用した論理シミュレーションを実施し、検証対象となるパス動作したサイクル(試験対象サイクルACI)を調査し記録する。この場合、シミュレーション装置101は、少なくとも1以上の試験対象サイクルACIをリストとして記録する。1つの例では、論理シミュレーション実行時に、取得された波形を目視することで(言い換えると波形観測によるマニュアル観測)、サイクルカウンタ201のサイクルカウンタ値を試験対象サイクルACIとして記録する方法がある。他の例では、論理シミュレーション実行時に、試験対象回路104内の信号動作を検出し(言い換えるとテストベンチ102による信号動作観測)、そのときのサイクルカウンタ201のサイクルカウンタ値を試験対象サイクルACIとして記録する方法がある。なお、上記では試験対象サイクルに基づいて検証対象パスの活性化を検出しているが、サイクルを用いる代わりに、シミュレーション時間に基づいて検証対象パスの活性化を検出しても良い。
続いて、第1のステップSTEP1(302)は、期待値生成過程である。言い換えると、ディレイテストパターンとして入力パターンVI’及び出力パターン(出力期待値)VO’を取得するための過程である。具体的には、第1のステップSTEP1では、シミュレーション装置101は、既存の入力パターンVIおよび前段ステップSTEP0で得られた試験対象サイクルACIを利用して、論理シミュレーションを実施する。そして、シミュレーション装置101は、このような論理シミュレーションの実施時に、LSI103の入力信号NIの値をサンプリングすることで新しい入力パターンVI’を取得すると共に、出力信号SOの値をサンプリングすることで新しい出力期待値VO’を取得する。なお、第1のステップSTEP1の詳細については後述する。
続いて、第2のステップSTEP2(312)は、試験実施過程である。具体的には、第2のステップSTEP2では、シミュレーション装置101は、第1のステップSTEP1で取得された新しい入力パターンVI’を実際のLSI313に印加することで出力値を得て、当該出力値を期待値VO’と比較することでLSI313の試験を実施する。なお、第2のステップSTEP2については、ここで示した手法以外にも、一般的な公知の試験手法を適用することができる。
次に、図7を参照して、第1のステップSTEP1の詳細を示したフローについて説明する。
ステップSTEP1−1(303)は、既存の入力パターンVIを試験対象回路104に入力する既存入力パターン実行過程である。具体的には、シミュレーション装置101は、まず、上記のステップSTEP0で記録した試験対象サイクルACIを格納し(ステップ304)、試験対象回路104への既存の入力パターンVIの入力を実行する(ステップ305)。そして、既存の入力パターンVIが終了している場合(ステップ306;Yes)、シミュレーション装置101は、論理シミュレーションを終了する。つまり、第1のステップSTEP1を終了する。
これに対して、既存の入力パターンVIが終了していない場合(ステップ306;No)、シミュレーション装置101内の入力パターン制御機構110は、サイクルカウンタ201のサイクルカウンタ値(以下「i」と表記する。)と試験対象サイクルACIの値(以下「m」と表記する。)とが一致するか否かを判定する(ステップ307)。サイクルカウンタ値iと試験対象サイクルの値mとが一致している場合(ステップ307;Yes)、ステップSTEP1−2(308)に進む。この場合、入力パターン制御機構110は、スキャン制御機構111にスキャン動作要求信号REQ2を供給する。これに対して、サイクルカウンタ値iと試験対象サイクルの値mとが一致していない場合(ステップ307;No)、ステップ305に戻り、次のサイクル(i=i+1)の動作に進む。
続いて、ステップSTEP1−2(308)では、入力パターン制御機構110は、既存入力パターンVIの入力を一時停止させ、入力パターンVIを保持する。つまり、入力パターン制御機構110は、試験対象回路104の通常動作を停止させる。
続いて、ステップSTEP1−3(309)では、シミュレーション装置101内のスキャン制御機構111は、スキャン選択信号SEを「1」に設定すると共に、試験対象回路104にスキャンクロックSCKを印加することで、スキャン動作を実行する。この場合、スキャン制御機構111は、印加したスキャンクロックSCKについてのサイクル数(以下「j」と表記する。)が、スキャンチェイン長情報SLIに対応するサイクル数(以下「n」と表記する。)に達したか否かを判定する(ステップ310)。サイクル数jがサイクル数nに達していない場合(ステップ310;No)、ステップ310に戻り、次のサイクル(j=j+1)に進む。このような判定を行うことで、試験対象回路104内のスキャンチェインの長さに応じたサイクルだけスキャンクロックSCKを印加して、フリップフロップFF1〜FF6の値をスキャン出力信号SOとしてLSI103外部に出力させることができる。
また、ステップSTEP1−3では、シミュレーション装置101は、スキャン入力選択機構113及びスキャンチェイン循環機構121によって、スキャン出力信号SOをスキャン入力信号iSIとしてフリップフロップFF1〜FF6に戻す。これにより、スキャンチェインのシフト後に、フリップフロップFF1〜FF6の値を通常動作の停止前の状態に戻すことができる。よって、次の試験対象サイクルACIについての第1のステップSTEP1の処理を直ちに行うことが可能となる。したがって、試験対象サイクル記憶部108に記憶された全ての試験対象サイクルACIに関する第1のステップSTEP1の処理を、効率良く行うことが可能となる。
サイクル数jがサイクル数nに達した場合(ステップ310;Yes)、ステップSTEP1−4(311)に進む。この場合、スキャン制御機構11は、スキャン選択信号SEを「0」に設定し、入力パターン制御機構110にサイクルカウンタ動作要求信号REQ1を供給する。そして、ステップSTEP1−4では、入力パターン制御機構110は、既存の入力パターンVIの供給を再開する。
その後、ステップSTEP1−1に戻り、シミュレーション装置101は、上記した処理を再度行う。具体的には、シミュレーション装置101は、既存の入力パターンVIが終了するまで(ステップ306の判定参照)、ステップSTEP1−1〜STEP1−4の処理を繰り返し行う。例えば、シミュレーション装置101は、試験対象サイクル記憶部108に記憶された試験対象サイクルACIのリスト数だけ、処理を繰り返し行う。なお、シミュレーション装置101は、上記したステップSTEP1の実行時において、LSI103の入力信号NI及び出力信号SOの値を記録することで、修正された新しい入力パターンVI’及び新しい出力期待値VO’を得る。つまり、シミュレーション装置101は、新しい入力パターンVI’及び新しい出力期待値VO’をディレイテストパターンとして取得する。
このようなフローを実行して、新しい入力パターンVI’を使用して実際のLSI313の試験を行うと、既存の入力パターンVIを使用した場合と同様に、LSI313を実際の使用形態に沿って動作させる論理シミュレーションとなる。この場合、試験対象サイクルACIの値(サイクル)mとサイクルカウンタ201のサイクルカウンタ値iとが一致したサイクルにおける各フリップフロップFF1〜FF6の値が、スキャン出力信号SOとして出力されることとなる。
ここで、出力されたスキャン出力信号SOの値は、サイクル「m」における各フリップフロップFF1〜FF6の値に相当する。上記第2のステップSTEP2において、実際のLSI313の出力値が期待値VO’に一致しない場合には、サイクル「m」において正しい値が各フリップフロップFF1〜FF6に格納できなかったことを意味する。つまり、サイクル「m−1」からサイクル「m」の間の通常動作において何らかの遅延に起因する故障が発生していることがわかる。よって、本実施形態によれば、サイクル「m−1」からサイクル「m」までの間の遅延故障を適切に検出することができると言える。つまり、本実施形態によれば、サイクル「m−1」からサイクル「m」までの間に発生する遅延故障を適切に検出できるディレイテストパターンを生成することが可能となる。
[本実施形態による効果]
上記したように、本実施形態に係るシミュレーション装置101は、LSI通常動作時の動作周期で通常動作させる既存の動作パターンを基本にして、新しい入力パターンVI’及び新しい出力期待値VO’を生成して、ディレイテストを実施する。そのため、本実施形態によれば、前述した第2比較例と同様に以下のような特徴を持つ。
・第1比較例に係る手法においてディレイテストが困難であった、ハードマクロを含む回路やマルチサイクルパスを含む回路に対しても、LSI内部の遅延故障の有無を確かめることができる。
一方で、本実施形態では、第2比較例と異なり、特定サイクル「m」におけるフリップフロップFF1〜FF6の値をスキャン出力信号SOとして出力させることができる。そのため、本実施形態によれば、第2比較例と比較して、LSI内部で遅延故障が発生していたとしても、それを出力端子の変化として適切にLSI外部に伝播させることができる。したがって、本実施形態によれば、第2比較例と比較して、LSIを実際の使用形態に沿って動作させるような入力パターンでありながら、LSI内部の遅延故障をLSI外部において効率良く検出することが可能となる。
[回路構成の一例]
次に、図8を参照して、上記した入力パターン制御機構110及びスキャン制御機構111の回路例について説明する。
図8は、図5に示した入力パターン制御機構110及びスキャン制御機構111の構成について、更に具体的な回路形式にて示した図である。図8に示すような入力パターン制御機構110及びスキャン制御機構111は、本発明における「半導体集積回路」の一例を構成する。なお、図5と同一の符号を付した構成要素及び信号については、同様の意味を有するものとして、ここでは詳細な説明を省略する。
入力パターン制御機構110は、主に、サイクルカウンタ201と、比較器202と、クロックゲーティング203と、同期化回路411と、カウンタ再開要求回路412と、クロック停止要求回路413と、を有する。なお、この場合、入力パターン制御機構110は入力パターン制御回路に相当する。
サイクルカウンタ201は、論理シミュレーション開始後から、既存の入力パターンVI印加中のサイクル数をカウントする。比較器202は、試験対象サイクルACIの値とサイクルカウンタ201のサイクルカウンタ値とを比較し、比較結果に応じてストップ信号STP1を生成する。具体的には、比較器202は、これらの値が一致した際に、LSI103内部へのクロック供給を停止させるべく、及びサイクルカウンタ201のカウンタを停止させるべく、ストップ信号STP1として「1」を出力する。
同期化回路411は、2つのフリップフロップを有しており、内部発振クロックPCK及びサイクルカウンタ動作要求信号REQ1が供給される。同期化回路411は、内部発振クロックPCKが高速なクロックであるのに対してスキャンクロックSCKが低速なクロックであることを想定した非同期対策回路である。カウンタ再開要求回路412は、同期化回路411からの信号が供給され、カウンタ再開要求信号RST1を生成する。具体的には、カウンタ再開要求回路412は、同期化回路411から供給された信号のエッジ(変化)が検出された際に、サイクルカウンタ201のカウンタを再開させるべく、カウンタ再開要求信号RST1として「1」を出力する。基本的には、カウンタ再開要求回路412は、サイクルカウンタ動作要求信号REQ1が「0」から「1」に切り替わった際に、カウンタ再開要求信号RST1として「1」を一時的に出力する。
クロック停止要求回路413は、ストップ信号STP1及びカウンタ再開要求信号RST1が供給され、クロック停止要求信号CENを生成する。基本的には、クロック停止要求回路413は、ストップ信号STP1として「1」が供給された際にクロック停止要求信号CENとして「0」を出力する。このようなクロック停止要求信号CENはインバータ415により反転されて、反転された信号は所定の処理が施されてスキャン動作要求信号REQ2としてスキャン制御機構111に供給される。
クロックゲーティング203は、内部発振クロックPCK及びクロック停止要求信号CENが供給され、クロック停止要求信号CENに応じて内部発振クロックPCKより通常動作クロックFCKを生成する。具体的には、クロックゲーティング203は、クロック停止要求信号CENとして「0」が供給された際に、内部発振クロックPCKをクロックゲーティングして通常動作クロックFCKを生成する。こうして生成された通常動作クロックFCKは、OR回路420に供給される。なお、クロックゲーティング203がクロックゲーティングした際に、サイクルカウンタ201はカウントアップを停止する。
他方で、スキャン制御機構111は、主に、同期化回路401と、カウンタ初期化要求回路402と、スキャン選択信号生成回路403と、サイクルカウンタ404と、比較器405と、クロックゲーティング406と、チェイン長情報記憶部206と、を有する。なお、この場合、スキャン制御機構111はスキャン制御回路に相当する。
同期化回路401は、2つのフリップフロップを有しており、外部入力クロックECK及びスキャン動作要求信号REQ2が供給される。同期化回路401は、内部発振クロックPCKが高速なクロックであるのに対してスキャンクロックSCKが低速なクロックであることを想定した非同期対策回路である。カウンタ初期化要求回路402は、同期化回路401からの信号が供給され、カウンタ初期化要求信号RST2を生成する。具体的には、カウンタ初期化要求回路402は、同期化回路401から供給された信号のエッジ(変化)が検出された際に、サイクルカウンタ404のカウンタを初期化するべく、カウンタ初期化要求信号RST2として「1」を出力する。基本的には、カウンタ初期化要求回路402は、スキャン動作要求信号REQ2が「0」から「1」に切り替わった際に、カウンタ初期化要求信号RST2として「1」を一時的に出力する。
サイクルカウンタ404は、スキャン動作を管理するためのサイクルカウンタである。具体的には、サイクルカウンタ404は、カウンタ初期化要求回路402から要求があった際(つまりカウンタ初期化要求信号RST2として「1」が供給された際)に、サイクルカウンタ値を「1」に初期化し、その後サイクルカウンタ値をインクリメントする。比較器405は、スキャンチェイン長情報SLIに対応するサイクル数とサイクルカウンタ404のサイクルカウンタ値とを比較し、比較結果に応じてストップ信号STP2を生成する。具体的には、比較器405は、これらの値が一致した際に、スキャンクロックSCKの供給を停止させるべく、及びサイクルカウンタ404のカウンタを停止させるべく、ストップ信号STP2として「1」を出力する。
スキャン選択信号生成回路403は、ストップ信号STP2及びカウンタ初期化要求信号RST2が供給され、スキャン選択信号SEを生成する。基本的には、スキャン選択信号生成回路403は、カウンタ初期化要求信号RST2として「1」が供給された際にスキャン選択信号SEとして「1」を出力する。このようなスキャン選択信号SEはインバータ408により反転されて、反転された信号は所定の処理が施されてサイクルカウンタ動作要求信号REQ1として入力パターン制御機構110に供給される。
クロックゲーティング406は、外部入力クロックECK及びスキャン選択信号SEが供給され、スキャン選択信号SEに応じて外部入力クロックECKよりスキャンクロックSCKを生成する。具体的には、クロックゲーティング406は、スキャン選択信号SEが「0」である際には外部入力クロックECKをクロックゲーティングし、これに対して、スキャン選択信号SEが「1」である際には当該クロックゲーティングを停止する。つまり、クロックゲーティング406は、スキャン選択信号SEとして「1」が供給された際に、外部入力クロックECKをスキャンクロックSCKとして出力する。外部入力クロックECKは比較的低速なクロックであるため、外部入力クロックECKをスキャンクロックSCKとして用いることで、スキャン動作時に、LSI103外部から容易にアクセス可能となる。こうして生成されたスキャンクロックSCKは、OR回路420に供給される。なお、クロックゲーティング406がクロックゲーティングした際に、サイクルカウンタ404はカウントアップを停止する。
OR回路420は、前述したクロック選択機構112の一例に相当する。OR回路420は、通常動作クロックFCK及びスキャンクロックSCKが供給され、これらに応じて内部クロックCKを生成する。具体的には、OR回路420は、通常動作クロックFCKが停止している際(つまり値が「0」で固定されている際)には、スキャンクロックSCKを内部クロックCKとして出力する。これに対して、OR回路420は、スキャンクロックSCKが停止している際(つまり値が「0」で固定されている際)には、通常動作クロックFCKを内部クロックCKとして出力する。このようにOR回路420が順序動作を行って通常動作クロックFCK及びスキャンクロックSCKの論理和(OR)を演算することで、クロック選択論理を適切に実現することができる。
なお、図8では、入力パターン制御機構110及びスキャン制御機構111の両方がLSI103内部にハードウェアとして実装されているが、その一部機能がハードウェア化されずテストベンチ102上の記述として実装されていても良い。但し、入力パターン制御機構110については、LSI103内部にハードウェアとして実装させることが望ましい。その理由は以下の通りである。
近年のLSIでは、通常動作時の内部発振クロックPCKは、PLL等で高速発振したものを使用している場合が多い。一方で、LSIを試験する際に使用できるクロック周波数は試験装置によって決められるが、その周波数がPLL等で高速発振した周波数に比べて低い場合が多い。従って、LSI外部からは低速な周波数でしかLSI内部にアクセスできないのに対して、LSI内部では高速動作をしているといった状況が発生し得る。このような状況では、入力パターン制御機構110内のサイクルカウンタ201を所望のサイクル「m」で確実に止めるには、クロック停止要求信号CENを試験対象回路104内の通常動作クロックFCKで動作させる必要があると言える。しかしながら、LSI試験においては、LSI外部からは非常に高速な周波数でのアクセスは困難である。従って、入力パターン制御機構110をLSI103内部にハードウェアとして実装させることが望ましい。
[動作波形の一例]
次に、図9及び図10を参照して、図8に示した入力パターン制御機構110及びスキャン制御機構111を実装したシミュレーション装置100の動作波形の一例について説明する。
図9は、図7に示したフローのステップSTEP1−1〜STEP1−3を行った際の動作波形例を示す。なお、図9では、サイクルカウンタ201のサイクルカウンタ値を「CC1」と表記し、サイクルカウンタ404のサイクルカウンタ値を「CC2」と表記する(以下同様とする。)。その他の符号については上記した通りである。
まず、サイクル501では、既存の入力パターンVIを入力するステップSTEP1−1の実行中に、試験対象サイクルACIの値「m」とサイクルカウンタ201のサイクルカウンタ値「i」が一致する。そのため、入力パターン制御機構110のクロック停止要求信号CENが「1」から「0」に変化する。このようなクロック停止要求信号CENの変化がクロックゲーティング203に伝わることで、通常動作クロックFCKの供給が停止されると共に、サイクルカウンタ201のカウントアップが停止される。続いて、サイクル502では、スキャン制御機構111に対してスキャン動作要求信号REQ2として「1」が供給される(ステップSTEP1−2)。
続いて、サイクル503では、入力パターン制御機構110によるスキャン動作要求信号REQ2を受けて、スキャン選択信号SEが「1」になる(ステップSTEP1−3)。そして、サイクル504以降では、スキャンクロックSCKの動作が始まり、フリップフロップFF1〜FF6の値がスキャン出力信号SOとしてLSI103外部に出力される(ステップSTEP1−3)。また、スキャン出力信号SOがフリップフロップFF1〜FF6に戻されることで、スキャンチェインのシフト後に、フリップフロップFF1〜FF6の値が通常動作の停止前の状態に戻される。
次に、図10は、図7に示したフローのステップSTEP1−3、STEP1−4を行った後にステップSTEP1−1に戻った際の動作波形例を示す。
まず、サイクル601では、スキャン制御機構111内のサイクルカウンタ404のサイクルカウンタ値「j」がスキャンチェイン長「n」と一致する(ステップSTEP1−3)。そのため、スキャン選択信号SEが「0」になり、スキャンクロックSCKの動作が停止される。
続いて、サイクル602では、入力パターン制御機構110に対してサイクルカウンタ動作要求信号REQ1として「1」が供給される(ステップSTEP1−4)。そして、サイクル603では、スキャン制御機構111によるサイクルカウンタ動作要求信号REQ1を受けて、クロック停止要求信号CENが「0」から「1」に変化する(ステップSTEP1−4)。このようなクロック停止要求信号CENの変化がクロックゲーティング203に伝わることで、通常動作クロックFCKの供給が再開される。
したがって、サイクル604以降では、既存の入力パターンVIが入力されて通常動作が復帰される。また、サイクルカウンタ201のカウントアップが再開される。
101 シミュレーション装置
102 テストベンチ
103 LSIの論理シミュレーションモデル
104 試験対象回路
109 制御機構
110 入力パターン制御機構
111 スキャン制御機構
112 クロック選択機構
113 スキャン入力選択機構
115 組合せ回路
201 サイクルカウンタ
202 比較器
203 クロックゲーティング
205 スキャン動作生成機構
910 コンピュータ
FF1〜FF6 フリップフロップ

Claims (8)

  1. 被試験対象回路へ供給される入力パターンのサイクル数をカウントし、前記入力パターンのサイクル数が予め設定されたカウント数と一致した時点で、前記被試験対象回路への前記入力パターンの供給を停止する入力パターン制御回路と、
    前記入力パターンを保存する入力パターン保存回路と、
    前記入力パターン制御回路からの制御信号を受け、前記被試験対象回路へスキャンシフト信号を供給し、前記被試験対象回路内のスキャンチェインをシフトさせるスキャン制御回路と、
    前記スキャンチェインの出力を期待値データとして保存する期待値生成回路と、を備えることを特徴とする集積回路。
  2. 前記スキャン制御回路による前記スキャンチェインのシフト動作中に、前記被試験対象回路から出力された値をスキャン入力として当該被試験対象回路に再度入力させる制御を行う回路を更に備えることを特徴とする請求項1に記載の集積回路。
  3. 前記入力パターン制御回路は、前記入力パターンのサイクル数が前記予め設定されたカウント数と一致した時点で、前記被試験対象回路へのクロック供給を停止させ、
    前記スキャン制御回路は、前記入力パターン制御回路が前記被試験対象回路へのクロック供給を停止させた後に、外部から前記被試験対象回路にアクセス可能な程度の周波数を有するクロックを、前記スキャンチェインの長さに応じたサイクルだけ前記被試験対象回路に印加させることを特徴とする請求項1又は2に記載の集積回路。
  4. 被試験対象回路へ供給される入力パターンのサイクル数をカウントし、前記入力パターンのサイクル数が予め設定されたカウント数と一致した時点で、前記被試験対象回路への前記入力パターンの供給を停止する入力パターン制御手段と、
    前記入力パターンを保存する入力パターン保存手段と、
    前記入力パターン制御手段からの制御信号を受け、前記被試験対象回路へスキャンシフト信号を供給し、前記被試験対象回路内のスキャンチェインをシフトさせるスキャン制御手段と、
    前記スキャンチェインの出力を期待値データとして保存する期待値生成手段と、を備えることを特徴とするシミュレーション装置。
  5. 前記スキャン制御手段による前記スキャンチェインのシフト動作中に、前記被試験対象回路から出力された値をスキャン入力として当該被試験対象回路に再度入力させる制御を行う手段を更に備えることを特徴とする請求項4に記載のシミュレーション装置。
  6. 前記入力パターン制御手段は、前記入力パターンのサイクル数が前記予め設定されたカウント数と一致した時点で、前記被試験対象回路へのクロック供給を停止させ、
    前記スキャン制御手段は、前記入力パターン制御手段が前記被試験対象回路へのクロック供給を停止させた後に、外部から前記被試験対象回路にアクセス可能な程度の周波数を有するクロックを、前記スキャンチェインの長さに応じたサイクルだけ前記被試験対象回路に印加させることを特徴とする請求項4又は5に記載のシミュレーション装置。
  7. 被試験対象回路へ供給される入力パターンのサイクル数をカウントし、前記入力パターンのサイクル数が予め設定されたカウント数と一致した時点で、前記被試験対象回路への前記入力パターンの供給を停止する入力パターン制御工程と、
    前記入力パターンを保存する入力パターン保存工程と、
    前記入力パターン制御工程からの制御信号を受け、前記被試験対象回路へスキャンシフト信号を供給し、前記被試験対象回路内のスキャンチェインをシフトさせるスキャン制御工程と、
    前記スキャンチェインの出力を期待値データとして保存する期待値生成工程と、を備えることを特徴とするシミュレーション方法。
  8. 請求項7に記載のシミュレーション方法で得られたデータを用いて試験を行う試験方法であって、
    前記入力パターン保存工程で保存された前記入力パターンを半導体装置に入力してスキャンシフトさせた際の前記半導体装置の出力値と、前記期待値生成工程で保存された前記期待値データとを比較することで、前記半導体装置の試験を行う工程を備えることを特徴とする試験方法。
JP2010142421A 2010-06-23 2010-06-23 集積回路、シミュレーション装置、及びシミュレーション方法 Expired - Fee Related JP5408052B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010142421A JP5408052B2 (ja) 2010-06-23 2010-06-23 集積回路、シミュレーション装置、及びシミュレーション方法
US13/048,578 US8793548B2 (en) 2010-06-23 2011-03-15 Integrated circuit, simulation apparatus and simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010142421A JP5408052B2 (ja) 2010-06-23 2010-06-23 集積回路、シミュレーション装置、及びシミュレーション方法

Publications (2)

Publication Number Publication Date
JP2012007929A JP2012007929A (ja) 2012-01-12
JP5408052B2 true JP5408052B2 (ja) 2014-02-05

Family

ID=45353344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010142421A Expired - Fee Related JP5408052B2 (ja) 2010-06-23 2010-06-23 集積回路、シミュレーション装置、及びシミュレーション方法

Country Status (2)

Country Link
US (1) US8793548B2 (ja)
JP (1) JP5408052B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10310014B1 (en) * 2016-05-12 2019-06-04 Xilinx, Inc. Method to convert OVM/UVM-based pre-silicon tests to run post-silicon on a tester
JP2021148628A (ja) * 2020-03-19 2021-09-27 株式会社東芝 半導体装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3090929B2 (ja) 1989-04-28 2000-09-25 富士通株式会社 ディレイ故障検査方式
JPH0572287A (ja) 1991-09-18 1993-03-23 Hitachi Ltd デイレイテストパターン生成方法
US5504756A (en) * 1993-09-30 1996-04-02 Intel Corporation Method and apparatus for multi-frequency, multi-phase scan chain
US6327687B1 (en) * 1999-11-23 2001-12-04 Janusz Rajski Test pattern compression for an integrated circuit test environment
JP2002174662A (ja) * 2000-12-06 2002-06-21 Hitachi Ltd 半導体集積回路装置とそのテスト方法
JP3851782B2 (ja) * 2001-03-07 2006-11-29 株式会社東芝 半導体集積回路及びそのテスト方法
US6957403B2 (en) * 2001-03-30 2005-10-18 Syntest Technologies, Inc. Computer-aided design system to automate scan synthesis at register-transfer level
US7010735B2 (en) * 2002-01-10 2006-03-07 International Business Machines Corporation Stuck-at fault scan chain diagnostic method
JP2004054329A (ja) 2002-07-16 2004-02-19 Renesas Technology Corp パス遅延故障シミュレータおよび自動テストパターン生成装置
JP2004157090A (ja) * 2002-11-08 2004-06-03 Matsushita Electric Ind Co Ltd パス遅延測定回路
JP4131937B2 (ja) * 2003-03-26 2008-08-13 株式会社東芝 テスト機能を有する論理回路
JP4105077B2 (ja) * 2003-10-30 2008-06-18 株式会社東芝 半導体集積回路
US7055118B1 (en) * 2004-03-01 2006-05-30 Sun Microsystems, Inc. Scan chain verification using symbolic simulation
JP2006292646A (ja) * 2005-04-14 2006-10-26 Oki Electric Ind Co Ltd Lsiのテスト方法
US7469372B2 (en) * 2005-05-13 2008-12-23 Texas Instruments Incorporated Scan sequenced power-on initialization
JP2006339948A (ja) * 2005-06-01 2006-12-14 Renesas Technology Corp パルスラッチ回路及び半導体集積回路
US7487419B2 (en) * 2005-06-15 2009-02-03 Nilanjan Mukherjee Reduced-pin-count-testing architectures for applying test patterns
JP4842876B2 (ja) * 2007-03-30 2011-12-21 富士通セミコンダクター株式会社 故障診断装置及び故障診断方法
JP4922055B2 (ja) * 2007-04-27 2012-04-25 ルネサスエレクトロニクス株式会社 スキャンテスト回路、及びスキャンテスト制御方法
US7886263B1 (en) * 2007-12-10 2011-02-08 Cadence Design Systems, Inc. Testing to prescribe state capture by, and state retrieval from scan registers
JP5256840B2 (ja) * 2008-04-30 2013-08-07 富士通セミコンダクター株式会社 論理回路
JP5164266B2 (ja) * 2008-10-28 2013-03-21 ルネサスエレクトロニクス株式会社 半導体装置

Also Published As

Publication number Publication date
US20110320160A1 (en) 2011-12-29
JP2012007929A (ja) 2012-01-12
US8793548B2 (en) 2014-07-29

Similar Documents

Publication Publication Date Title
US7461312B2 (en) Digital signature generation for hardware functional test
US8386866B2 (en) Methods for implementing variable speed scan testing
JP4874963B2 (ja) 低周波数デジタル信号と高周波数デジタル信号との間の同期化
US8543966B2 (en) Test path selection and test program generation for performance testing integrated circuit chips
US20080320348A1 (en) Launch-On-Shift Support for On-Chip-Clocking
Karimi et al. Detection, diagnosis, and recovery from clock-domain crossing failures in multiclock SoCs
US8145963B2 (en) Semiconductor integrated circuit device and delay fault testing method thereof
US8413102B2 (en) Vectorless IVD analysis prior to tapeout to prevent scan test failure due to voltage drop
US8661384B2 (en) Verification support apparatus, verifying apparatus, computer product, verification support method, and verifying method
WO2007113940A1 (ja) 半導体検査装置
JP5408052B2 (ja) 集積回路、シミュレーション装置、及びシミュレーション方法
US8135557B2 (en) Apparatus for testing semiconductor integrated circuit and method for testing semiconductor integrated circuit
JP2003028928A (ja) 半導体装置およびそのテスト方式
Karimi et al. Testing of clock-domain crossing faults in multi-core system-on-chip
US8943457B2 (en) Simulating scan tests with reduced resources
JP7169044B2 (ja) 半導体集積回路、その設計方法、プログラム及び記憶媒体
US8468409B2 (en) Speed-path debug using at-speed scan test patterns
US6789242B1 (en) Method and system for integrated circuit design and diagnosis
JP2008107872A (ja) 半導体集積回路
JP5625241B2 (ja) 半導体装置及びその試験方法
Fang et al. Reproduction and detection of board-level functional failure
JP7354815B2 (ja) 検証支援装置、検証支援方法および検証支援プログラム
US11755804B2 (en) Hybrid synchronous and asynchronous control for scan-based testing
JP2013088400A (ja) 半導体集積回路の検査方法および半導体集積回路
JP2013061229A (ja) 半導体集積回路、半導体集積回路の設計支援方法、及び設計支援プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130924

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131021

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees