JP2010181360A - 半導体集積回路、及び半導体集積回路の試験方法、及び半導体集積回路の設計方法 - Google Patents

半導体集積回路、及び半導体集積回路の試験方法、及び半導体集積回路の設計方法 Download PDF

Info

Publication number
JP2010181360A
JP2010181360A JP2009026949A JP2009026949A JP2010181360A JP 2010181360 A JP2010181360 A JP 2010181360A JP 2009026949 A JP2009026949 A JP 2009026949A JP 2009026949 A JP2009026949 A JP 2009026949A JP 2010181360 A JP2010181360 A JP 2010181360A
Authority
JP
Japan
Prior art keywords
circuit
logic
scan
delay
input
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.)
Pending
Application number
JP2009026949A
Other languages
English (en)
Inventor
Kuninobu Fujii
邦延 藤井
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009026949A priority Critical patent/JP2010181360A/ja
Priority to US12/700,925 priority patent/US20100205493A1/en
Publication of JP2010181360A publication Critical patent/JP2010181360A/ja
Pending legal-status Critical Current

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/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/318544Scanning methods, algorithms and patterns
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】スキャンテストにおいて、遅延値の小さい論理回路に不具合があっても、遅延値の大きい論理回路の影響で不具合の検出はできなかった。
【解決手段】スキャンチェーンを構成する第1と第2のスキャン記憶素子と、前記第1と第2のスキャン記憶素子の入力にそれぞれつながる第1と第2の論理回路とを有し、前記第1の論理回路は、前記第1のスキャン記憶素子の入力までの第1の論理パスと第2の論理パスとを有し、前記第1の論理パスは、通常時に動作し、前記第2の論理回路が有する前記第2のスキャン記憶素子の入力までの第3の論理パスとは、所定の範囲以上の遅延差を有し、前記第2の論理パスは、スキャンテスト時に動作し、前記第3の論理パスとは、所定の範囲以内の遅延差を有する半導体集積回路。
【選択図】図1

Description

本発明は、半導体集積回路、及び半導体集積回路の試験方法、及び半導体集積回路の設計方法に関するものである。
半導体集積回路は、所望の機能で動作するかをテストする機能テストと、所望の動作周波数で動作するかをテストする遅延テストが行われる。このような半導体集積回路に対する機能及び遅延テスト方法の1つとして、スキャンテスト回路を使ったテスト手法が行われていた。以下、図13〜図15を参照して従来のスキャンテスト回路を用いた機能及び遅延テストについての概略を説明する。
図13に示すようにスキャンテスト回路は、所望の機能を実現するために組み合わせ回路(論理回路)と順序回路(フリップフロップ)等とを有する半導体集積回路1に組み込まれる。このスキャンテスト回路は、半導体集積回路1の順序回路の一部または全部をスキャン記憶素子に置換える。なお、図13では、図面の簡略化のため、スキャン記憶素子を3つのみ示す。スキャン記憶素子11〜13は、入力に前段のスキャン記憶素子の出力を接続している。
図14に、スキャン記憶素子11〜13の構成の一例を示す。図14に示すように、スキャン記憶素子11〜13は、フリップフロップFF1と、セレクタMUX1とを有する。また、スキャン素子11〜13は、データ入力端子Din、データ出力端子Doutと、スキャンイン端子Sin、スキャンイネーブル端子SENおよびクロック端子CLKとを有する。
データ入力端子Dinは、前段の論理回路からの出力データを入力する。スキャンイン端子Sinは、前段のスキャン記憶素子からのスキャンデータを入力する。スキャンイネーブル端子SENは、スキャンイネーブル信号を入力する。クロック端子CLKは、クロック信号clkを入力する。データ出力端子Doutは、フリップフロップFF1からの出力データを出力する。
セレクタMUX1は、スキャンイネーブル端子SENに設定されるスキャンイネーブル信号scan_enの設定値に応じて、データ入力端子Din、もしくはスキャンイン端子Sinに入力されるデータをフリップフロップFF1に出力する。フリップフロップFF1は、クロック端子CLKに入力されるクロック信号に応じて、入力端子Dに入力したデータをラッチし、記憶保持して出力端子Qから出力する。
半導体集積回路1において、スキャンデータ入力端子31からスキャン記憶素子11〜13を経て、スキャンデータ出力端子35まで、1つのスキャンチェーンが構成される。なお、図13に示す半導体集積回路1では、図面の簡略化のためスキャン記憶素子11〜13のみを示しているが、スキャン記憶素子11の前段、スキャン記憶素子13の後段にも複数のスキャン記憶素子を有している。このスキャンチェーンを有するスキャンテスト回路は、スキャンイネーブル信号scan_enの値に応じて、上述のスキャンを活性化するシフトモードと、論理回路21〜22の出力を順序回路(各スキャン素子のフリップフロップFF1)が取り込むスキャンモードとを切り替えることができる。なお、スキャンモードは半導体集積回路1の通常の動作モードでもある。
半導体集積回路1のスキャンテスト回路の動作を以下に簡単に説明する。図15に半導体集積回路1のスキャンテスト回路のタイミングチャートを示す。まず時刻t1までスキャンイネーブル信号scan_enをハイレベルとする。スキャンイネーブル信号scan_enがハイレベルの期間、スキャンテスト回路は、シフトモードとなる。このシフトモードの半導体集積回路1は、クロック信号clkの立ち上がりエッジに同期させて、スキャンイン端子31から入力したスキャンデータをスキャン記憶素子11〜13に初期設定する。
そして、時刻t1〜t4まで、スキャンイネーブル信号scan_enをロウレベルとする。スキャンイネーブル信号scan_enがロウレベルの期間、スキャンテスト回路は、スキャンモードとなる。スキャンモードの半導体集積回路1において、時刻t2、t3に、所望のパルス周期をもったクロック信号clkをクロック端子34に入力する。この動作により、スキャン記憶素子11〜13に、初期値に応じた論理回路21、22の演算結果を、スキャン記憶素子11〜13に記憶保持させる。
最後に時刻t4から、スキャンイネーブル信号scan_enをハイレベルとする。よって、再びシフトモードとなり、クロック信号clkを印加し、演算結果をスキャンデータ出力端子35から取り出す。この外部に取り出した演算結果を、予め求められた期待値と照合することで、半導体装置1の機能テスト、および遅延テストを行う。また、このようなスキャンテストの診断の信頼性を上げる技術が特許文献1等に開示されている。
特開2007−178255号公報
近年、LSI等の半導体集積回路は、プロセスの微細化に応じて回路規模が増加し、高集積化一層進んでいる。このため、故障箇所を検出する難易度も上がっている。また、同時に高速化も進み、遅延故障箇所の特定も困難となっている。このような高集積化、高速化された半導体集積回路において、上述したスキャンテストを行っても、故障箇所の特定が困難となってきている。例えば、以下のような問題が考えられる。
まず、図13の論理回路21と22が有する遅延時間との関係を示す模式図を図16、図17に示す。図16は正常に回路が構成されている場合、図17は、回路構成に不具合がある場合の半導体集積回路1の構成である。図16に示すように、論理回路21は遅延値「5」、論理回路22は遅延値「10」を有するものとする。なお、ここで遅延値とは、論理回路の入出力応答に対する遅延時間を示すものとする。この遅延値の数値が大きいほど、論理回路の入出力応答に対する遅延時間が長いものとする。
図16に示すように、論理回路21に比べ論理回路22の遅延値の方が大きい。このため、スキャンモード時にスキャン記憶素子11〜13に入力されるクロック信号clkのパルス周期は、論理回路22の遅延値に合わせて設定される。しかし、図17に示すような、論理回路21に何らかの不具合があり所望した遅延値「5」ではなく、異常値である遅延値「8」となっている場合でも、スキャンテストで不具合は発見されず、見過ごされてしまう。この不具合は、例えば温度変化等により動作環境が変わった場合に、論理回路22の遅延値より論理回路21の遅延値の方が大きくなるなどして発現する可能性がある。このように不具合が発現すると、半導体集積回路が誤動作を起こす危険性がある。
また、上述の特許文献1の回路においても、各順序回路(フリップフロップ)間の論理回路に上述したのと同様の不具合があって場合、遅延値の大きい論理回路の影響で不具合の検出はできない。よって、半導体集積回路において、このような隠蔽された不具合を発見できるスキャンテスト回路の構成、検査方法、設計方法が求められている。
本発明の第1の態様は、スキャンチェーンを構成する第1と第2のスキャン記憶素子と、前記第1と第2のスキャン記憶素子の入力にそれぞれつながる第1と第2の論理回路とを有し、前記第1の論理回路は、前記第1のスキャン記憶素子の入力までの第1の論理パスと第2の論理パスとを有し、前記第1の論理パスは、通常時に動作し、前記第2の論理回路が有する前記第2のスキャン記憶素子の入力までの第3の論理パスとは、所定の範囲以上の遅延差を有し、前記第2の論理パスは、スキャンテスト時に動作し、前記第3の論理パスとは、所定の範囲以内の遅延差を有する半導体集積回路である。
本発明の半導体集積回路は、スキャン記憶素子にそれぞれつながる第1と第2の論理回路の第2と第3の論理パス遅延差が所定の範囲内に収まる。このため、第1の論理回路に不具合がある場合、スキャンテスト時にエラー検出することが可能となる。
本発明の第2の態様は、接続される前段のフリップフロップからの出力信号を入力し、その演算結果を後段のフリップフロップに出力する複数の論理回路を有する半導体集積回路のコンピュータによる設計方法であって、前記複数の論理回路のうち第1と第2の論理回路と、前記第1の論理回路の出力を受ける第1のフリップフロップと、前記第2の論理回路の出力を受ける第2のフリップフロップの回路情報を有するネットリストを作成し、前記ネットリストと、前記第1及び第2の論理回路の遅延の情報を有する遅延情報レポートとを参照して、前記第1と第2の論理回路の遅延差が所定の範囲内となる場合、前記第1と第2のフリップフロップをスキャンチェーン接続させる半導体集積回路のコンピュータによる設計方法である。
本発明の第3の態様は、接続される前段のフリップフロップからの出力信号を入力し、その演算結果を後段のフリップフロップに出力する複数の論理回路を有する半導体集積回路のコンピュータによる設計方法であって、前記複数の論理回路のうち第1と第2の論理回路と、前記第1の論理回路の出力を受ける第1のフリップフロップと、前記第2の論理回路の出力を受ける第2のフリップフロップの回路情報を有するネットリストを作成し、前記ネットリストと、前記第1及び第2の論理回路の遅延の情報を有する遅延情報レポートとを参照して、スキャンテスト時には前記第1と第2の論理回路の少なくとも一方を前記第1と第2の論理回路の遅延差が所定の範囲以内となるよう論理回路の分割もしくは遅延回路の追加が可能なように構成し、前記第1と第2のフリップフロップをスキャンチェーン接続させる半導体集積回路のコンピュータによる設計方法である。
本発明の第4の態様は、スキャンチェーンを構成する第1と第2のスキャン記憶素子と、前記第1と第2のスキャン記憶素子の入力にそれぞれつながる第1と第2の論理回路と、を有し、前記第1の論理回路は、前記第1のスキャン記憶素子の入力までの第1の論理パスと第2の論理パスとを有し、前記第2の論理回路は、前記第1の論理パスと所定の範囲以上、前記第2の論理パスと所定の範囲以内の遅延差を有する前記第2のスキャン記憶素子の入力までの第3の論理パスを備える半導体集積回路の試験方法であって、通常時には、前記第1の論理パスにより動作させ、スキャンテスト時には、前記第2の論理パスにより動作させる半導体集積回路の試験方法である。
本発明の半導体集積回路は、従来のスキャンテストでは隠蔽されていた、組み合わせ回路の不具合の発見が可能になる。
実施の形態1にかかる半導体集積回路の構成である。 実施の形態1にかかる半導体集積回路の効果を説明するための模式図である。 実施の形態1にかかる半導体集積回路の他の構成の例である。 実施の形態2にかかる半導体集積回路の構成である。 実施の形態2にかかる半導体集積回路の効果を説明するための模式図である。 実施の形態3にかかる半導体集積回路の構成である。 従来技術の半導体集積回路の構成である。 実施の形態3にかかる半導体集積回路の効果を説明するための模式図である。 実施の形態3にかかる半導体集積回路の他の構成の例である。 実施の形態4にかかる半導体集積回路の設計方法を説明する模式図である。 実施の形態4にかかる半導体集積回路の設計方法のフローチャートである。 その他の実施の形態にかかる半導体集積回路の構成である。 従来の半導体集積回路の構成である。 スキャン記憶素子の構成である。 一般的なスキャンテストのタイミングチャートである。 従来の半導体集積回路の問題点を説明するための模式図である。 従来の半導体集積回路の問題点を説明するための模式図である。
発明の実施の形態1
以下、本発明を適用した具体的な実施の形態1について、図面を参照しながら詳細に説明する。図1に本実施の形態にかかる半導集積回路100の構成の一例を示す。ここで、本実施の形態1では、所望の機能を実現するための組み合わせ回路(論理回路)と、フリップフロップ等の順序回路によりスキャンテスト回路が構成されるものとする。以下、図面で示す半導体集積回路100は、スキャンテスト回路での構成を示すものとする。
図1に示すように、半導体集積回路100は、スキャン記憶素子111〜113と、論理回路121、122と、制御回路150とを有する。また、半導体集積回路100は、スキャンデータ入力端子131と、データ入力端子132と、スキャンイネーブル信号入力端子133と、クロック信号入力端子134と、スキャンデータ出力端子135と、データ出力端子136とを有する。なお、スキャン記憶素子111〜113は、図14のスキャン記憶素子11〜13と同様の構成となっている。よって、構成及び動作は説明済みのため省略する。また、本実施の形態1では、図面の簡略化のため、スキャン記憶素子を3つのみとして示す。
スキャン記憶素子111〜113は、入力に前段のスキャン記憶素子の出力を接続している。つまり、スキャン記憶素子111〜113は、シリアル接続されシフトレジスタを構成している。このシフトレジスタの初段のスキャン記憶素子111は、スキャンデータ入力端子131からスキャンデータを入力される。最終段のスキャン記憶素子113は、その出力をスキャンデータ出力端子135に出力する。このように、半導体集積回路100において、スキャンデータ入力端子131、スキャン記憶素子111〜113、スキャンデータ出力端子135により1つのスキャンチェーンが構成される。
クロック信号入力端子134は、半導体集積回路100を動作させるクロック信号clkを入力する。また、スキャンテスト時には、テスト用のクロック信号clkを入力する。スキャンイネーブル信号入力端子133は、スキャンイネーブル信号scan_enを入力する。スキャンイネーブル信号scan_enは、半導体集積回路100が通常動作時には、ロウレベルとなる。スキャンデータ入力端子131は、スキャンテストでスキャン記憶素子にセットするためのスキャンデータを入力する。スキャンデータ出力端子135は、スキャンテスト後にスキャン記憶素子が保持しているテスト結果を出力する。データ入力端子132は、半導体集積回路100の通常動作時に利用する入力データ信号inputが入力される。データ出力端子136は、半導体集積回路100の通常動作時に、入力データ信号inputに応じた組み合わせ回路(論理回路121、122)の出力データ信号outputが出力される。なお、スキャン記憶素子113の後段に論理回路がない場合は、スキャンデータ出力端子135とデータ出力端子136を共通端子としてもよい。
論理回路121、122は、例えば、AND回路やインバータ回路等の複数の論理演算素子で構成されている。そして、論理回路121、122は、入力データ信号に対して所定の論理演算結果を後段のスキャン記憶素子に出力する。論理回路121は、スキャン記憶素子111のDout端子から入力データ信号を入力し、その入力に対する論理演算結果をスキャン記憶素子112のDin端子に出力する。論理回路122は、スキャン記憶素子112のDout端子から入力データ信号を入力し、その入力に対する論理演算結果をスキャン記憶素子113のDin端子に出力する。ここで、本実施の形態1では、論理回路121は遅延値「5」、論理回路122は遅延値「10」を有するものとする。なお、遅延値とは、前述したのと同様、論理回路の入出力応答に対する遅延時間を示すものとする。この遅延値の数値が大きいほど、論理回路の入出力応答に対する遅延時間が長いものとする。よって、本実施の形態1では、論理回路122の遅延時間は論理回路121の約2倍となる。
論理回路122は、論理回路141、142と、選択回路143、144とを有する。ここで、論理回路141の演算結果を論理回路142に入力すると、その出力演算結果は、論理回路122の出力演算結果と同一になるものとする。つまり、論理回路141、142は、論理回路122を構成する複数の論理演算素子を所定のノードにより分割し、その分割した前後でユニット化したものである。
論理回路141は、スキャン記憶素子112のDout端子から入力データ信号を入力し、その入力に対する論理演算結果を選択回路143の一方の入力端子に出力する。また、論理回路141は、論理回路121と同様の遅延値「5」を有するよう構成される。
選択回路143は、一方の入力端子が論理回路141の出力に接続され、他方の端子がスキャン記憶素子112のDout端子に接続され、出力端子がノードAに接続されている。また、選択回路143は、制御端子に制御回路150からの制御信号cntl1を入力する。この制御信号cntl1に応じて一方の入力端子もしくは他方の入力端子に入力されたデータ信号を選択し、出力端子に出力する。より具体的には、制御信号cntl1がハイレベルのとき、一方の入力端子に入力したデータ信号を出力端子に出力する。逆に、制御信号cntl1がロウレベルのとき、他方の入力端子に入力したデータ信号を出力端子に出力する。
論理回路142は、ノードA、つまり選択回路143の出力端子からのデータ信号を入力し、その入力に対する論理演算結果を選択回路144の一方の入力端子に出力する。また、論理回路142は、論理回路121と同様の遅延値「5」を有するよう構成される。
選択回路144は、一方の入力端子が論理回路142の出力に接続され、他方の端子がノードAに接続され、出力端子がスキャン記憶素子113のDin端子に接続されている。また、選択回路144は、制御端子に制御回路150からの制御信号cntl2を入力する。この制御信号cntl2に応じて一方の入力端子もしくは他方の入力端子に入力されたデータ信号のどちらか1つを選択し、出力端子に出力する。より具体的には、制御信号cntl2がハイレベルのとき、一方の入力端子に入力したデータ信号を出力端子に出力する。逆に、制御信号cntl2がロウレベルのとき、他方の入力端子に入力したデータ信号を出力端子に出力する。
このように、論理回路122は、自身の有する遅延値「10」を、遅延値「5」に分割した論理回路141、142を内部に備える。また、選択回路143、144は、それぞれ制御回路150の制御信号cntl1、cntl2に応じて動作する。このため、論理回路141、142の出力演算結果のどちらか一方が、制御回路150の制御信号に応じて後段のスキャン記憶素子113へ伝達される。よって、スキャン記憶素子111、112間に設けられる回路(第2の論理回路)の遅延値と、スキャン記憶素子112、113間に設けられる回路(第1の論理回路)の遅延値とがほぼ等しくなる。
なお、図1の例では、スキャン記憶素子112のDout端子から、論理回路141及び142を経てスキャン記憶素子113のDin端子に接続されるパスを第1の論理パスとする。また、論理回路141もしくは142のいずれか一方を経てスキャン記憶素子113のDin端子に接続されるパスを第2の論理パスとする。更に、スキャン記憶素子111のDout端子から、論理回路121を経てスキャン記憶素子112のDin端子に接続されるパスを第3の論理パスとする。
次に、上述した半導体集積回路100の動作について説明する。なお、基本的なスキャンテスト動作は、図15等で既に説明済みのため省略する。ここでは、本実施の形態1の特徴部分である論理回路122のスキャンテスト時の動作について説明する。
まず、制御回路150が出力する制御信号cntl1をロウレベル、制御信号cntl2をハイレベルとする。この状態(以下、第1の状態と称す)では、スキャンモードでスキャン記憶素子113の入力端子Dinに入力されるデータ信号は、論理回路142の演算結果のみが反映される。つまり、制御信号cntl1、cntl2により、スキャン記憶素子112の出力端子Doutとスキャン記憶素子113の入力端子Din間のパスは論理回路142だけを経由したパスが選択される。このため、論理回路121、及び論理回路122の遅延値は共に「5」となる。よって、スキャンテストのスキャンモードで使用するクロック信号clkのパルス周期を、遅延値「10」よりも短い遅延値「5」の設定で使用可能である。
次に、制御回路150が出力する制御信号cntl1をハイレベル、制御信号cntl2をロウレベルとする。この状態では、スキャンモードでスキャン記憶素子113の入力端子Dinに入力されるデータ信号は、論理回路141の演算結果のみが反映される。つまり、制御信号cntl1、cntl2により、スキャン記憶素子112の出力端子Doutとスキャン記憶素子113の入力端子Din間のパスは論理回路141だけを経由したパスが選択される。この状態(以下、第2の状態と称す)でも、論理回路121、及び論理回路122の遅延値は共に「5」となる。よって、スキャンテストのスキャンモードで使用するクロック信号clkのパルス周期を、遅延値「5」の設定で使用可能である。
なお、半導体集積回路100の通常動作時には、制御回路150が出力する制御信号cntl1、cntl2は、共にハイレベルとする。この場合、スキャン記憶素子112の出力端子Doutとスキャン記憶素子113の入力端子Din間のパスは論理回路141、142両方を経由したパスが選択される。よって、スキャン記憶素子113の入力端子Dinに入力されるデータ信号は、論理回路141、142の両方による演算結果、つまり、論理回路122の演算結果となる。このため、本実施の形態1の構成となっていても、通常動作にはなんら影響を与えることがない。
ここで、図17で説明したように、従来の半導体集積回路1では、スキャンテストを行っても、クリティカルパスである論理回路22の遅延値の影響で隠蔽され、論理回路21が有する不具合が検出できなかった。しかし、本実施の形態1の半導体集積回路100では、図1に示すように、クリティカルパスである論理回路122を、論理回路121と同じ遅延値「5」となるような論理回路141、142で分割する。そして、スキャンテスト時において、論理回路141、142それぞれ一方だけを経由するパスでスキャンテストを行う。この場合のスキャンモードで使用するクロック信号clkのパルス周期を、遅延値「5」に対応した設定とする。これらのことにより、図2の模式図に示すように、もし論理回路121が何らかの不具合を有しており、遅延値が正常な「5」ではなく異常値の「8」となっている場合、スキャンテスト後のデータが期待値と異なる結果を得る。よって、半導体集積回路1の回路構成では不可能だった、論理回路121が有する不具合を検出することが可能となる。
また、上述の説明では、遅延値「10」の論理回路122を、1/2の値の遅延値「5」の論理回路141、142で分割した構成を述べた。しかし、論理回路122内部の複数の論理演算素子の構成によっては、理想的に論理回路141、142を同じ値の遅延値となるように分割できない場合も考えられる。例えば、図3に示すように、論理回路122を、異なる遅延値「A」と「B」を有する論理回路141と142で分割する場合を考える。ここで、遅延値「A」と「B」の関係はA>Bとする。但し、論理回路141の遅延値「A」は、遅延値「B」に所定の遅延値「ΔT」が付加された値となるように設定される。つまり、図3に示すように、遅延値「A」を有する論理回路141は、遅延値「B」となる論理演算素子群161に、所定の遅延値「ΔT」を有する演算素子162が付加された構成となっている。このため、上記遅延値「ΔT」は、少なくとも1論理演算素子が有する遅延値(遅延時間)となる。このような構成とすることで、論理回路141、142の遅延値の差を最低限度に抑えることができる。よって、論理回路122を、ほぼ同一の遅延値を有する2つの論理回路141、142に分割することができる。なお、図3では、所定の遅延値「ΔT」を有する論理演算素子をインバータ回路で記載しているが、他の論理演算素子であってもかまわない。但し、可能な限り遅延時間の少ない論理演算素子を選択することが望ましい。
発明の実施の形態2
以下、本発明を適用した具体的な実施の形態2について、図面を参照しながら詳細に説明する。図4に本実施の形態2にかかる半導集積回路200の構成の一例を示す。ここで、本実施の形態2は、実施の形態1と同様、所望の機能を実現するための組み合わせ回路(論理回路)と、フリップフロップ等の順序回路によりスキャンテスト回路が構成されるものとする。以下、図面で示す半導体集積回路200は、スキャンテスト回路での構成を示すものとする。なお、図に示された符号のうち、図1と同じ符号を付した構成は、図1と同じか又は類似の構成を示している。よって、実施の形態1と同様な構成となっている部分の説明は省略する。実施の形態1とは、遅延値の小さい論理回路に遅延回路を付加することで、遅延値の大きな論理回路との間で遅延値と均一化させる点が異なる。ここでは、実施の形態1と異なる点について重点的に説明する。
図4に示すように、半導体集積回路200は、スキャン記憶素子111〜113と、論理回路121、122と、付加遅延回路170と、制御回路150とを有する。また、半導体集積回路200は、スキャンデータ入力端子131と、データ入力端子132と、スキャンイネーブル信号入力端子133と、クロック信号入力端子134と、スキャンデータ出力端子135と、データ出力端子136とを有する。各端子、各スキャン記憶素子、論理回路121は、実施の形態1と同様なため、具体的構成の説明は省略する。また、論理回路122は、特に実施の形態1のように、複数の論理回路に分割されておらず、遅延値「10」を有するものとする。
付加遅延回路170は、AND回路171と、バッファ回路172、173とを有する。論理回路121は、入力データ信号に応じた論理演算結果をノードBに出力する。AND回路171は、一方の入力端子がこのノードBに接続される。また、AND回路171は、他方の入力端子に制御回路150からの制御信号cntl3を入力する。AND回路171は、一方及び他方の入力端子に入力される信号を論理積し、演算結果を出力端子に出力する。よって、制御信号cntl3がロウレベルのときは、ノードBに印加されるデータ信号のレベルによらず、ロウレベルが出力される。逆に、制御信号cntl3がハイレベルのときは、ノードBに印加されるデータ信号と同相のデータ信号が出力端子から出力される。
バッファ回路172は、入力端子がAND回路171の出力端子、出力端子がバッファ回路173の入力端子に接続される。バッファ回路173は、入力端がバッファ回路の出力端子、出力端子が選択回路180の一方の入力端子に接続される。付加遅延回路170は、AND回路171と、バッファ回路172、173が有する入出力応答に対する遅延時間の和として遅延値「5」を有するよう設定される。つまり、論理回路122の遅延値と、論理回路121及び付加遅延回路170の遅延値の合計が同じとなるように、付加遅延回路170が構成される。
選択回路180は、一方の入力端子がバッファ回路173の出力端子、他方の入力端子がノードB、出力端子がスキャン記憶素子112の入力端子Dinに接続される。また、選択回路180は、制御端子に制御回路150からの制御信号cntl3を入力する。この制御信号cntl3に応じて一方の入力端子もしくは他方の入力端子に入力されたデータ信号のどちらか1つを選択し、出力端子に出力する。より具体的には、制御信号cntl3がハイレベルのとき、一方の入力端子に入力したデータ信号を出力端子に出力する。逆に、制御信号cntl3がロウレベルのとき、他方の入力端子に入力したデータ信号を出力端子に出力する。このため、スキャン記憶素子111、112間に設けられる回路(第2の論理回路)の遅延値は、論理回路121の遅延値「5」、もしくは、論理回路121及び付加遅延回路170の合計の遅延値「10」として、制御回路150の制御信号cntl3に応じて選択される。なお、スキャン記憶素子112、113間に設けられる回路(第1の論理回路)の遅延値は、論理回路122の遅延値「10」である。
なお、図4の例では、スキャン記憶素子111のDout端子から、論理回路141を経てスキャン記憶素子112のDin端子に接続されるパスを第1の論理パスとする。また、スキャン記憶素子111のDout端子から、論理回路121および付加遅延回路170を経てスキャン記憶素子112のDin端子に接続されるパスを第2の論理パスとする。更に、スキャン記憶素子112のDout端子から、論理回路122を経てスキャン記憶素子113のDin端子に接続されるパスを第3の論理パスとする。
次に、上述した半導体集積回路200の動作について説明する。なお、基本的なスキャンテスト動作は、図15等で既に説明済みのため省略する。ここでは、本実施の形態2の特徴部分である負荷遅延回路160と選択回路180のスキャンテスト時の動作について説明する。
まず、スキャンテスト時に、制御回路150が出力する制御信号cntl3をハイレベルとする。この状態(以下、第3の状態と称す)では、スキャン記憶素子111の出力端子Doutとスキャン記憶素子112の入力端子Din間のパスは論理回路121及び付加遅延回路170の両方を経由したパスが選択される。よって、スキャン記憶素子111の出力データ信号は、論理回路121と付加遅延回路170の遅延値の和である遅延値「10」をもって、スキャン記憶素子112に伝達される。
なお、半導体集積回路200の通常動作時、もしくはスキャンテスト時のシフトモード時には、制御回路150が出力する制御信号cntl3は、ロウレベルとする。この場合、スキャン記憶素子111の出力端子Doutとスキャン記憶素子112の入力端子Din間のパスは論理回路121のみ経由するパスが選択される。よって、スキャン記憶素子112の入力端子Dinに入力されるデータ信号は、通常の論理回路121での遅延値で伝達される。このため、本実施の形態2の構成となっていても、通常動作にはなんら影響を与えることがない。また、AND回路171には、ロウレベルの信号が入力されるため、後段のバッファ回路172、173が動作を行わない。このため、バッファ回路172、173で消費される電力を削減することができる。
本実施の形態2の半導体集積回路200では、図4に示すように、クリティカルパスである論理回路122と同じ遅延値となるよう、論理回路121に付加遅延回路170が付加される。そして、スキャンテスト時において、論理回路121と付加遅延回路170の両方を経由するパスでスキャンテストを行う。この場合のスキャンモードで使用するクロック信号clkのパルス周期を、遅延値「10」に対応した設定とする。これらのことにより、図5の模式図に示すように、もし論理回路121が何らかの不具合を有しており、遅延値が正常な「5」ではなく異常値の「8」となっている場合、付加遅延回路170の遅延値の合計が「13」となる。この異常遅延値「13」は、遅延値「10」よりも大きいため、スキャンテスト後のスキャンデータが期待値と異なる結果を得る。よって、実施の形態1と同様、半導体集積回路1の回路構成では不可能だった、論理回路121が有する不具合を検出することが可能となる。
また、本実施の形態1では、論理回路141、142をそれぞれ経由するパスでのスキャンテストが必要であった。このため、スキャンテストを2回行わなければならなかった。しかし、本実施の形態2では、スキャンテストを1回で済ますことができる。このため、検査工程の縮小が可能となり、検査コストを削減できるメリットを有する。また、本実施の形態2では、論理回路121と付加遅延回路170を経由したパスを利用しても、スキャン記憶素子112に入力される論理値には影響は無い。このため、スキャンテストに限らず、実動作テストでも論理回路121に付加遅延回路170を付加して動作させることができる。そして、その実動作を行ったテスト結果が期待値と異なっている場合、論理回路121に不具合があると判断できる。
ここで、図4の半導体集積回路200では、付加遅延回路170と選択回路180とがノードBとスキャン記憶素子112間に接続されている。しかし、この付加遅延回路170と選択回路180とをノードCと論理回路121間に接続してもかまわない。
発明の実施の形態3
以下、本発明を適用した具体的な実施の形態3について、図面を参照しながら詳細に説明する。但し、本実施の形態3にかかる半導体集積回路は、マルチスキャンチェーンとして構成される。図6に本実施の形態3にかかる半導集積回路300の構成の一例を示す。
図6に示すように、半導体集積回路300は、スキャン記憶素子311〜313、331〜333、352〜353と、論理回路321、322、341、342、361、362とを有する。また、半導体集積回路300は、スキャンデータ入力端子301、302、303と、スキャンデータ出力端子306、307、308と、スキャンイネーブル信号入力端子304と、クロック信号入力端子305とを有する。
スキャン記憶素子311〜313、331〜333、352〜353は、実施の形態1のスキャン素子111〜113と同様の構成を有する。よって、動作等の詳細な説明は省略する。また、スキャン記憶素子311〜313、331〜333、352〜353は、それぞれクロック信号入力端子305から供給されるクロック信号clkを端子CLKに入力する。更に、スキャン記憶素子311〜313、331〜333、352〜353は、それぞれスキャンイネーブル信号入力端子304から供給されるスキャンイネーブル信号scan_enを端子SENに入力する。
論理回路321、342は、遅延値「5」を有する。論理回路341、362は、遅延値「10」を有する。論理回路361、322は、遅延値「15」を有する。
スキャン記憶素子311は、端子Sinがスキャンデータ入力端子301、端子DoutがノードA1に接続される。また、スキャン記憶素子311は、前段の論理回路が出力するデータ信号を端子Dinに入力する。論理回路321は、ノードA1のデータ信号を入力し、その入力に対する論理演算結果を、スキャン記憶素子312の端子Dinに出力する。
スキャン記憶素子312は、端子SinがノードA1、端子DoutがノードA2に接続される。また、スキャン記憶素子312は、論理回路321が出力するデータ信号を端子Dinに入力する。論理回路322は、ノードA2のデータ信号を入力し、その入力に対する論理演算結果を、スキャン記憶素子313の端子Dinに出力する。
スキャン記憶素子313は、端子SinがノードC2、端子Doutがスキャンデータ出力端子306及び後段の論理回路に接続される。また、スキャン記憶素子313は、論理回路322が出力するデータ信号を端子Dinに入力する。
スキャン記憶素子331は、端子Sinがスキャンデータ入力端子302、端子DoutがノードB1に接続される。また、スキャン記憶素子331は、前段の論理回路が出力するデータ信号を端子Dinに入力する。論理回路341は、ノードB1のデータ信号を入力し、その入力に対する論理演算結果を、スキャン記憶素子332の端子Dinに出力する。
スキャン記憶素子332は、端子SinがノードB1、端子DoutがノードB2に接続される。また、スキャン記憶素子332は、論理回路341が出力するデータ信号を端子Dinに入力する。論理回路342は、ノードB2のデータ信号を入力し、その入力に対する論理演算結果を、スキャン記憶素子333の端子Dinに出力する。
スキャン記憶素子333は、端子SinがノードA2、端子Doutがスキャンデータ出力端子307及び後段の論理回路に接続される。また、スキャン記憶素子333は、論理回路342が出力するデータ信号を端子Dinに入力する。
スキャン記憶素子351は、端子Sinがスキャンデータ入力端子303、端子DoutがノードC1に接続される。また、スキャン記憶素子351は、前段の論理回路が出力するデータ信号を端子Dinに入力する。論理回路361は、ノードC1のデータ信号を入力し、その入力に対する論理演算結果を、スキャン記憶素子352の端子Dinに出力する。
スキャン記憶素子352は、端子SinがノードC1、端子DoutがノードC2に接続される。また、スキャン記憶素子352は、論理回路361が出力するデータ信号を端子Dinに入力する。論理回路362は、ノードC2のデータ信号を入力し、その入力に対する論理演算結果を、スキャン記憶素子353の端子Dinに出力する。
スキャン記憶素子353は、端子SinがノードB2、端子Doutがスキャンデータ出力端子308及び後段の論理回路に接続される。また、スキャン記憶素子353は、論理回路362が出力するデータ信号を端子Dinに入力する。
以上、上述した半導体集積回路300では、スキャンデータ入力端子301、スキャン記憶素子311、312、333、スキャンデータ出力端子307により1つのスキャンチェーン(以下、第1のスキャンチェーンと称す)が構成される。この第1のスキャンチェーンは、遅延値が「5」の論理回路321、342を考慮してスキャンチェーンが構成されている。
また、スキャンデータ入力端子302、スキャン記憶素子331、332、353、スキャンデータ出力端子308により1つのスキャンチェーン(以下、第2のスキャンチェーンと称す)が構成される。この第2のスキャンチェーンは、遅延値が「10」の論理回路341、362を考慮してスキャンチェーンが構成されている。
また、スキャンデータ入力端子303、スキャン記憶素子351、352、313、スキャンデータ出力端子306により1つのスキャンチェーン(以下、第3のスキャンチェーンと称す)が構成される。この第3のスキャンチェーンは、遅延値が「15」の論理回路361、322を考慮してスキャンチェーンが構成されている。
次に、上述した半導体集積回路300の動作について説明する。なお、基本的なスキャンテスト動作は、図15等で既に説明済みのため省略する。まず、スキャンモードで使用するクロック信号clkのパルス周期を、遅延値「15」用に設定してスキャンテスト(以下、第1条件スキャンテストと称す)を行う。
この第1条件スキャンテストを行うことにより、第1のスキャンチェーンのスキャン記憶素子312、333は、それぞれ遅延値「5」の論理回路321、342の論理演算結果を格納する。また、第2のスキャンチェーンのスキャン記憶素子332、353も、それぞれ遅延値「10」の論理回路341、362の論理演算結果を格納する。また、第3のスキャンチェーンのスキャン記憶素子352、313も、それぞれ遅延値「15」の論理回路361、322の論理演算結果を格納する。
そして、そのテスト後に、第3のスキャンチェーンのスキャン記憶素子351、352、313がそれぞれ格納しているスキャンデータをスキャンデータ出力端子306から取り出し、期待値と比較する。なお、同様に第1、第2のスキャンチェーンからも、それぞれスキャンデータがスキャンデータ出力端子307、308から取り出される。しかし、注目している第3のスキャンチェーン以外の出力結果は、破棄する。
次に、スキャンモードで使用するクロック信号clkのパルス周期を、遅延値「10」用に設定してスキャンテスト(以下、第2条件スキャンテストと称す)を行う。この第2条件スキャンテストを行い、第1条件スキャンテストと同様、第1〜第3のスキャンチェーンのスキャン記憶素子にそれぞれ、論理回路の演算結果を格納させる。そして、そのテスト後に、第2のスキャンチェーンのスキャン記憶素子331、332、353がそれぞれ格納しているスキャンデータをスキャンデータ出力端子308から取り出し、期待値と比較する。また、第1条件スキャンテストと同様、注目している第2のスキャンチェーン以外の出力結果は破棄する。
次に、スキャンモードで使用するクロック信号clkのパルス周期を、遅延値「5」用に設定してスキャンテスト(以下、第3条件スキャンテストと称す)を行う。この第3条件スキャンテストを行い、第1、第2条件スキャンテストと同様、第1〜第3のスキャンチェーンのスキャン記憶素子にそれぞれ、論理回路の演算結果を格納させる。そして、そのテスト後に、第1のスキャンチェーンのスキャン記憶素子311、312、333がそれぞれ格納しているスキャンデータをスキャンデータ出力端子307から取り出し、期待値と比較する。また、第1、第2条件スキャンテストと同様、注目している第1のスキャンチェーン以外の出力結果は破棄する。
ここで、従来の半導体集積回路3の構成を図7に示す。半導体集積回路3は、スキャン記憶素子311〜313、331〜333、352〜353と、論理回路321、322、341、342、361、362とを有する。また、半導体集積回路300は、スキャンデータ入力端子301、302、303と、スキャンデータ出力端子306、307、308と、スキャンイネーブル信号入力端子304と、クロック信号入力端子305とを有する。なお、図に示された符号のうち、図6と同じ符号を付した構成は、図6と同じか又は類似の構成を示している。
図7からわかるように、半導体集積回路3は、半導体集積回路300と同様の構成要素を有している。但し、構成要素間の接続関係が一部異なっている。具体的な異なる箇所は、スキャン記憶素子313の端子SinはノードA2、スキャン記憶素子333の端子SinはノードB2、スキャン記憶素子353の端子SinはノードC2に接続されている点である。このため、スキャンデータ入力端子301、スキャン記憶素子311、312、313、スキャンデータ出力端子306で1つのスキャンチェーンが構成される。以下同様に、スキャンデータ入力端子302、スキャン記憶素子331、332、333、スキャンデータ出力端子307で1つのスキャンチェーンが構成される。スキャンデータ入力端子303、スキャン記憶素子351、352、353、スキャンデータ出力端子308で1つのスキャンチェーンが構成される。これらのスキャンチェーンは、本実施の形態3の半導体集積回路300と異なり、論理回路が有する遅延値を考慮せず構成されている。
このため、もし論理回路321が不具合を有しており、遅延値が正常な場合の「5」ではなく異常値である「8」となっていても、遅延値「15」の論理回路の影響で、この不具合が隠蔽されスキャンテストで検出できない。つまり、クリティカルパスである遅延値「15」の論理回路322、361に合わせ、スキャンモードで使用するクロック信号clkのパルス周期を、遅延値「15」用に設定してスキャンテストするしかない。
しかし、本実施の形態3の半導体集積回路300では、例えば、図8に示すように論理回路321が不具合を有している場合、第3条件スキャンテストで上記不具合を検出することが可能である。このように、本実施の形態3の半導体集積回路300は、スキャンチェーンの配線パターンを各論理回路の遅延値を考慮して構成することで、従来の半導体集積回路3では、検出できなかった不具合を検出可能となる。
ここで、図9に本実施の形態3の半導体集積回路300の他の構成例を示す。図6の構成と異なるのは、構成要素間の接続関係が一部異なっている点である。以下に、その相違点を述べる。まず、スキャン記憶素子312、332、352の端子Doutが、それぞれノードA3、B3、C3に接続されている。論理回路322、342、362は、それぞれノードC3、A3、B3と、スキャン記憶素子313、333、353の端子Din間に接続されている。更に、スキャン記憶素子313、333、353の端子Sinは、それぞれノードC3、A3、B3と接続されている。
このような構成とすることで、スキャンテスト時に各スキャン記憶素子に格納させる初期値を、各スキャンチェーンだけを注目して設定できる。つまり、異なるスキャンチェーン間のテスト結果を考慮した、テストパターンを作成しなくてすむ。これにより、テストパターンの作成効率がよくなる利点と、検出率が向上する利点も有する。
発明の実施の形態4
以下、本発明を適用した具体的な実施の形態4について、図面を参照しながら詳細に説明する。本実施の形態4では、上述した実施の形態1から3までの半導体集積回路100〜300の回路の設計方法について述べる。この回路の設計には、PC等のコンピュータを利用して行う。
図10に、本実施の形態4の半導体集積回路の設計方法を説明するための概念図を示す。図10に示すように、所望の機能を有するよう半導体集積回路100〜300のネットリストを作成し、その回路情報をコンピュータのメモリやHDD等の記憶装置401に格納する。この格納された回路情報と、データベース402等で、ライブラリ化されている回路情報にある組み合わせ回路(論理回路等)の遅延情報レポートから、コンピュータ400で動作するテスト回路作成ツール403により、スキャンテスト用のテスト回路を反映したネットリスト(以後、テスト回路反映済みネットリストと称す)を作成する。
例えば、実施の形態1の半導体集積回路100の場合、スキャンチェーン接続を行い、遅延値「10」の論理回路122を遅延値「5」の論理回路141、142に分割する。そして、選択回路143、144を接続する。実施の形態2の半導体集積回路200の場合、スキャンチェーン接続を行い、遅延値「5」の論理回路121に遅延値「5」の付加遅延回路170を追加する。そして、選択回路180を接続する。実施の形態3の半導体集積回路200の場合、遅延値「5」の複数の論理回路を考慮したスキャンチェーン、遅延値「10」の複数の論理回路を考慮したスキャンチェーン、遅延値「15」の複数の論理回路を考慮したスキャンチェーン接続を行う。そして、そのテスト回路反映済みネットリストを再びメモリやHDD等の記憶装置404に格納、もしくは外部出力する。なお、記憶装置404と401は同一記憶装置であってもよい。
図11に、本実施の形態4の半導体集積回路の設計方法のフローチャートを示す。まず、所望の機能を有するよう半導体集積回路100〜300のネットリストを作成する(S401)。次に、S401で作成した回路情報にある組み合わせ回路(論理回路等)の遅延情報レポートとリンクさせて、半導体集積回路100のような論理回路の分割、半導体集積回路200のような付加遅延回路の追加、半導体集積回路300のような同様の遅延値の論理回路を考慮したスキャンチェーンの構築したテスト回路反映済みネットリストを作成する(S402)。完成したテスト回路反映済みネットリストを記憶装置に格納する(S403)。
以上、本実施の形態4の半導体集積回路の設計方法は、上述したように、遅延情報レポートからの情報に基づいて、遅延値がほぼ等しい論理回路をスキャンテストができるようテスト回路を反映してネットリストを作成できる。
なお、本発明は上記実施の形態に限られたものでなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態1〜3の特徴を合わせた半導体集積回路であってもよい。また、図12に示すように、論理回路121及び論理回路122が有する論理回路141、142に、スキャン記憶素子121、122以外の他のスキャン記憶素子151〜153が接続されていてもよい。つまり、スキャンスキャンテストの対象となっている論理回路が1入力型でなく2以上の多入力型であってもよい。なお、図12の説明は実施の形態1を基に行ったが、実施の形態2、3においても同様である。
100、200、300 半導体集積回路
111〜113、311〜313、331〜333、351〜353 スキャン記憶素子
121、122、141、142、321、322、341、342、361、362 論理回路
150 制御回路
143、144、180 選択回路
170 付加遅延回路
171 AND回路
172、173 バッファ回路
131〜136、301〜308 端子

Claims (14)

  1. スキャンチェーンを構成する第1と第2のスキャン記憶素子と、
    前記第1と第2のスキャン記憶素子の入力にそれぞれつながる第1と第2の論理回路とを有し、
    前記第1の論理回路は、前記第1のスキャン記憶素子の入力までの第1の論理パスと第2の論理パスとを有し、
    前記第1の論理パスは、通常時に動作し、前記第2の論理回路が有する前記第2のスキャン記憶素子の入力までの第3の論理パスとは、所定の範囲以上の遅延差を有し、
    前記第2の論理パスは、スキャンテスト時に動作し、前記第3の論理パスとは、所定の範囲以内の遅延差を有する
    半導体集積回路。
  2. 前記第2の論理回路は、第3と第4の論理回路とに分割され、
    前記第1の論理パスは、前記第3及び第4の論理回路とで構成され、
    前記第2の論理パスは、前記第3もしくは第4の論理回路で構成される
    請求項1に記載の半導体集積回路。
  3. 前記第3と第4の論理回路は、前記所定の範囲以内の遅延差となるよう分割される
    請求項2に記載の半導体集積回路。
  4. 制御回路と、
    前記制御回路に制御される第1と第2の選択回路と、を更に有し、
    前記第1の選択回路は、一方の入力が前記第3の論理回路、他方の入力が前段のスキャン記憶素子と接続され、
    前記第2の選択回路は、一方の入力が前記第4の論理回路、他方の入力が前記第1の選択回路の出力と接続され、
    前記制御回路は、前記スキャンテスト時において、
    第1の状態では、前記第1の選択回路の一方の入力を選択して出力させ、前記第2の選択回路の他方の入力を選択して出力させ、
    第2の状態では、前記第1の選択回路の他方の入力を選択して出力させ、前記第2の選択回路の一方の入力を選択して出力させる
    請求項3に記載の半導体集積回路。
  5. 前記制御回路は、前記通常時には、前記第1の選択回路の他方の入力を選択して出力させ、前記第2の選択回路の他方の入力を選択して出力させる
    請求項4に記載の半導体集積回路。
  6. 前記第1の論理回路は、第5の論理回路と遅延回路とを含み、
    前記第1の論理パスは、前記第5の論理回路で構成され、
    前記第2の論理パスは、前記第5の論理回路と前記遅延回路とで構成される
    請求項1に記載の半導体集積回路。
  7. 制御回路と、
    前段のスキャン記憶素子と第1のスキャン記憶素子との間に接続され、前記制御回路に制御される第3の選択回路と、を更に有し、
    前記第3の選択回路は、一方の入力には前記遅延回路を含むパス、他方の入力には前記遅延回路を含まないパスが接続され、
    前記制御回路は、
    通常時では、前記第3の選択回路の一方の入力を選択して出力し、
    スキャンテスト時には、前記第3の選択回路の他方の入力を選択して出力する
    請求項6に記載の半導体集積回路。
  8. 前記所定の範囲の遅延差は、少なくとも論理素子1つ分の遅延期間に相当する
    請求項1〜7のいずれか1項に記載の半導体集積回路。
  9. 接続される前段のフリップフロップからの出力信号を入力し、その演算結果を後段のフリップフロップに出力する複数の論理回路を有する半導体集積回路のコンピュータによる設計方法であって、
    前記複数の論理回路のうち第1と第2の論理回路と、前記第1の論理回路の出力を受ける第1のフリップフロップと、前記第2の論理回路の出力を受ける第2のフリップフロップの回路情報を有するネットリストを作成し、
    前記ネットリストと、前記第1及び第2の論理回路の遅延の情報を有する遅延情報レポートとを参照して、前記第1と第2の論理回路の遅延差が所定の範囲内となる場合、前記第1と第2のフリップフロップをスキャンチェーン接続させる
    半導体集積回路のコンピュータによる設計方法。
  10. 接続される前段のフリップフロップからの出力信号を入力し、その演算結果を後段のフリップフロップに出力する複数の論理回路を有する半導体集積回路のコンピュータによる設計方法であって、
    前記複数の論理回路のうち第1と第2の論理回路と、前記第1の論理回路の出力を受ける第1のフリップフロップと、前記第2の論理回路の出力を受ける第2のフリップフロップの回路情報を有するネットリストを作成し、
    前記ネットリストと、前記第1及び第2の論理回路の遅延の情報を有する遅延情報レポートとを参照して、スキャンテスト時には前記第1と第2の論理回路の少なくとも一方を前記第1と第2の論理回路の遅延差が所定の範囲以内となるよう論理回路の分割もしくは遅延回路の追加が可能なように構成し、
    前記第1と第2のフリップフロップをスキャンチェーン接続させる
    半導体集積回路のコンピュータによる設計方法。
  11. 前記第1の論理回路の遅延が、前記第2の論理回路の遅延より大きい場合、前記第1の論理回路を第3の論理回路と第4の論理回路に分割し、
    前記第3と第4の論理回路の遅延差が前記所定の範囲以内となるよう構成する
    請求項10に記載の半導体集積回路のコンピュータによる設計方法。
  12. 第1の状態では前記第3の論理回路、第2の状態では前記第4の論理回路がスキャンテストされるよう構成する
    請求項11に記載の半導体集積回路のコンピュータによる設計方法。
  13. 前記第1の論理回路の遅延が、前記第2の論理回路の遅延より小さい場合、前記第1の論理回路に、前記第2の論理回路の遅延と実質的に同等となるよう所定の遅延値を有する遅延回路を接続する
    請求項10に記載の半導体集積回路のコンピュータによる設計方法。
  14. スキャンチェーンを構成する第1と第2のスキャン記憶素子と、
    前記第1と第2のスキャン記憶素子の入力にそれぞれつながる第1と第2の論理回路と、を有し、
    前記第1の論理回路は、前記第1のスキャン記憶素子の入力までの第1の論理パスと第2の論理パスとを有し、
    前記第2の論理回路は、前記第1の論理パスと所定の範囲以上、前記第2の論理パスと所定の範囲以内の遅延差を有する前記第2のスキャン記憶素子の入力までの第3の論理パスを備える半導体集積回路の試験方法であって、
    通常時には、前記第1の論理パスにより動作させ、
    スキャンテスト時には、前記第2の論理パスにより動作させる
    半導体集積回路の試験方法。
JP2009026949A 2009-02-09 2009-02-09 半導体集積回路、及び半導体集積回路の試験方法、及び半導体集積回路の設計方法 Pending JP2010181360A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009026949A JP2010181360A (ja) 2009-02-09 2009-02-09 半導体集積回路、及び半導体集積回路の試験方法、及び半導体集積回路の設計方法
US12/700,925 US20100205493A1 (en) 2009-02-09 2010-02-05 Semiconductor integrated circuit, method of testing semiconductor integrated circuit, and method of designing semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009026949A JP2010181360A (ja) 2009-02-09 2009-02-09 半導体集積回路、及び半導体集積回路の試験方法、及び半導体集積回路の設計方法

Publications (1)

Publication Number Publication Date
JP2010181360A true JP2010181360A (ja) 2010-08-19

Family

ID=42541393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009026949A Pending JP2010181360A (ja) 2009-02-09 2009-02-09 半導体集積回路、及び半導体集積回路の試験方法、及び半導体集積回路の設計方法

Country Status (2)

Country Link
US (1) US20100205493A1 (ja)
JP (1) JP2010181360A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020047060A (ja) * 2018-09-20 2020-03-26 株式会社東芝 スキャンテスト回路の設計方法、スキャンテスト回路の設計プログラム、及び、半導体集積回路

Also Published As

Publication number Publication date
US20100205493A1 (en) 2010-08-12

Similar Documents

Publication Publication Date Title
JP3851782B2 (ja) 半導体集積回路及びそのテスト方法
US11293980B2 (en) Customer-transparent logic redundancy for improved yield
JP2013538358A (ja) フルスキャン能力を有するレジスタ
JP4512934B2 (ja) 論理設計された集積回路に対するレイアウト設計及びタイミング調整の方法及び装置並びにこの方法を実行するためのプログラム及びこのプログラムが記録されたコンピュータ読み取り可能な記録媒体
JP2006292646A (ja) Lsiのテスト方法
US6654939B2 (en) Method of designing logic circuit, and computer product
JP4549701B2 (ja) 半導体回路装置及び半導体回路に関するスキャンテスト方法
JP2010181360A (ja) 半導体集積回路、及び半導体集積回路の試験方法、及び半導体集積回路の設計方法
JP2005308500A (ja) 半導体集積回路装置及びテスト方法
JP2006145307A (ja) スキャンテスト回路
JP2007212339A (ja) 半導体装置及びそのテスト回路の追加方法
JP5761819B2 (ja) スキャン非同期記憶素子およびそれを備えた半導体集積回路ならびにその設計方法およびテストパターン生成方法
JP3469294B2 (ja) 線型帰還シフトレジスタおよび半導体集積回路装置
EP4227694A1 (en) Systems and methods to test an asynchronous finite state machine
JP5736674B2 (ja) 半導体集積回路
JP2009175154A (ja) 半導体集積回路およびその設計方法
JP5803561B2 (ja) 論理回路の故障検出方法、テスト回路挿入方法、テスト回路挿入装置および半導体集積回路
JP4526985B2 (ja) テストシステム
JP2008064717A (ja) 半導体集積回路における遅延測定回路
JP2004177194A (ja) 半導体装置
JP2006004509A (ja) 半導体集積回路およびハードマクロ回路
JP2006208077A (ja) 半導体集積回路およびその検査方法
Flanigan et al. Sequential Path Delay Fault Identification Using Encoded Delay Propagation Signatures
JPH1090368A (ja) 半導体集積回路および半導体集積回路の検証方法
JP2002156416A (ja) アドレスデータバステスト方法