(57)【要約】【課題】故障検査のために観測用フリップフロップ回路を配置することなく，故障検査を可能とする半導体集積回路，その検査方法を提供する。【解決手段】第2の論理回路51の試験の際に試験モードを示す制御信号TSMが，故障検査用回路41に入力され，この試験モードに対応するテスト値が，論理回路51に入力されると，故障検査用回路41により，論理回路51の出力論理が，論理回路13に対応するフリップフロップ回路14に入力される。さらに，通常モード時に，論理回路13の出力論理が，故障検査用回路41により，論理回路13に対応するフリップフロップ回路14にそのまま入力される。【選択図】  図3
2013015494.tif 000002
【特許請求の範囲】
【請求項１】
複数のフリップフロップ回路と，
前記複数のフリップフロップ回路がそれぞれ対応する複数の第1の論理回路と，
前記複数のフリップフロップ回路が対応しない少なくとも1つの第2の論理回路と，
前記第2の論理回路の故障の有無を検査する故障検査用回路を有し，
前記故障検査用回路は，前記複数の第1の論理回路の何れか1つの論理回路の出力側と，前記１つの論理回路に対応するフリップフロップ回路の入力側との間に配置され，
前記第2の論理回路の試験の際に，
試験モードを示す制御信号が前記故障検査用回路に入力され，
前記試験モードに対応するテスト値が前記第2の論理回路に入力され，
前記第2の論理回路の出力論理が前記対応するフリップフロップ回路に入力され，
通常モード時に，
前記1つの論理回路の出力論理が，前記対応するフリップフロップ回路に入力される
ことを特徴とする半導体集積回路。
【請求項２】
複数のフリップフロップ回路と，
前記複数のフリップフロップ回路の少なくとも1つのフリップフロップ回路に対応する多段接続して配置される複数の論理回路と，
前記多段接続して配置される複数の論理回路の内の1つの論理回路の前段側に接続される第1の論理回路の故障の有無を検査する故障検査用回路を有し，
前記故障検査用回路は，前記１つのフリップフロップ回路と異なる第1のフリップフロップ回路に対応する第2の論理回路の出力側と，前記第1のフリップフロップ回路の入力側との間に配置され，
前記第1の論理回路の試験の際に，
試験モードを示す制御信号が前記故障検査用回路に入力され，
前記試験モードに対応するテスト値が前記第1の論理回路に入力され，
前記第1の論理回路の出力論理が前記１つのフリップフロップ回路と異なる第1のフリップフロップ回路に入力され，
通常モード時に，前記第2の論理回路の出力が，前記第1のフリップフロップ回路に入力される
ことを特徴とする半導体集積回路。
【請求項３】
複数のフリップフロップ回路と，
前記複数のフリップフロップ回路の少なくとも1つのフリップフロップ回路に対応する多段接続して配置される複数の論理回路と，
前記多段接続して配置される複数の論理回路の内の1つの論理回路の後段側に接続される第1の論理回路の故障の有無を検査する故障検査用回路を有し，
前記故障検査用回路は，前記第1の論理回路の前段に配置された第2の論理回路の出力側と前記第1の論理回路の入力側の間に配置され，
前記第1の論理回路の試験の際に，
試験モードを示す制御信号が前記故障検査用回路に入力され，
前記試験モードに対応するテスト値が前記故障検査用回路に入力され，
前記故障検査用回路の出力が前記第1の論理回路に入力され， 
通常モード時に，前記第2の論理回路の出力が，前記第1の論理回路を通して前記第1の論理回路に対応するフリップフロップ回路に入力される
ことを特徴とする半導体集積回路。
【請求項４】
半導体集積回路の故障検査方法において，
前記半導体集積回路は，複数のフリップフロップ回路と，
前記複数のフリップフロップ回路がそれぞれ対応する複数の第1の論理回路と，
前記複数のフリップフロップ回路が対応しない少なくとも1つの第2の論理回路と，
前記第2の論理回路の故障の有無を検査する故障検査用回路を有し，
前記故障検査用回路は，前記複数の第1の論理回路の何れか1つの論理回路の出力側と，前記１つの論理回路に対応するフリップフロップ回路の入力側との間に配置され，
前記第2の論理回路の試験の際に，
試験モードを示す制御信号が前記故障検査用回路に入力され，
前記試験モードに対応するテスト値が前記第2の論理回路に入力され，
前記第2の論理回路の出力論理が前記対応するフリップフロップ回路に入力され，
通常モード時に，
前記1つの論理回路の出力論理が，前記対応するフリップフロップ回路に入力される半導体集積回路であって，
前記故障検査用回路に試験モードを示す制御信号を入力し，前記試験モードに対応するテスト値を前記第2の論理回路に入力し，前記第2の論理回路の出力論理を前記対応するフリップフロップ回路を通して取得する工程と，
前記テスト値に対応する期待値と，前記取得した出力論理とが一致するか否かを判定する工程を有する
ことを特徴とする半導体集積回路の故障検査方法。
【請求項５】
半導体集積回路の故障検査方法において，
前記半導体集積回路は，複数のフリップフロップ回路と，
前記複数のフリップフロップ回路の少なくとも1つのフリップフロップ回路に対応する多段接続して配置される複数の論理回路と，
前記多段接続して配置される複数の論理回路の内の1つの論理回路の前段側に接続される第1の論理回路の故障の有無を検査する故障検査用回路を有し，
前記故障検査用回路は，前記１つのフリップフロップ回路と異なる第1のフリップフロップ回路に対応する第2の論理回路の出力側と，前記第1のフリップフロップ回路の入力側との間に配置され，
前記第1の論理回路の試験の際に，
試験モードを示す制御信号が前記故障検査用回路に入力され，
前記試験モードに対応するテスト値が前記第1の論理回路に入力され，
前記第1の論理回路の出力論理が前記１つのフリップフロップ回路と異なる第1のフリップフロップ回路に入力され，
通常モード時に，前記第2の論理回路の出力が，前記第1のフリップフロップ回路に入力される半導体集積回路であって，
前記故障検査用回路に試験モードを示す制御信号を入力し，前記試験モードに対応するテスト値を前記第1の論理回路に入力し，前記第1の論理回路の出力論理を前記第1のフリップフロップ回路を通して取得する工程と，
前記テスト値に対応する期待値と，前記取得した出力論理とが一致するか否かを判定する工程を有する
ことを特徴とする半導体集積回路の故障検査方法。
【請求項６】
半導体集積回路の故障検査方法において，
前記半導体集積回路は，複数のフリップフロップ回路と，
前記複数のフリップフロップ回路の少なくとも1つのフリップフロップ回路に対応する多段接続して配置される複数の論理回路と，
前記多段接続して配置される複数の論理回路の内の1つの論理回路の後段側に接続される第1の論理回路の故障の有無を検査する故障検査用回路を有し，
前記故障検査用回路は，前記第1の論理回路の前段に配置された第2の論理回路の出力側と前記第1の論理回路の入力側の間に配置され，
前記第1の論理回路の試験の際に，
試験モードを示す制御信号が前記故障検査用回路に入力され，
前記試験モードに対応するテスト値が前記故障検査用回路に入力され，
前記故障検査用回路の出力が前記第1の論理回路に入力され，
通常モード時に，前記第2の論理回路の出力が，前記第1の論理回路を通して前記第1の論理回路に対応するフリップフロップ回路に入力される半導体集積回路であって，
前記故障検査用回路に試験モードを示す制御信号を入力し，前記試験モードに対応するテスト値を前記故障検査用回路を通して前記第1の論理回路に入力する工程と，
前記第1の論理回路の出力論理を前記第1の論理回路に対応するフリップフロップ回路を通して取得する工程と，
前記テスト値に対応する期待値と，前記取得した出力論理とが一致するか否かを判定する工程を有する
ことを特徴とする半導体集積回路の故障検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，半導体集積回路，および，半導体集積回路の検査方法に関する。
【背景技術】
【０００２】
図1は,一般的な半導体集積回路の部分構成図を示す。図1の半導体集積回路は，複数のフリップフロップ回路12，14と，フリップフロップ回路12，14がそれぞれ対応する複数の論理回路11，13を有する。なお，論理回路は，論理ゲート群とも呼ばれる。論理回路11，13の出力論理値(以下，出力論理と記す)がそれぞれフリップフロップ回路12，14に入力される。また，半導体集積回路は，複数のフリップフロップ回路12，14が対応しない少なくとも1つの論理回路であるEN生成論理回路21と，クロックゲーティング回路22を有する。すなわち，EN生成論理回路21の出力論理は，フリップフロップ回路に入力されない。
【０００３】
論理回路11，13は，AND回路(論理積回路)，OR回路(論理和回路)などの回路を有し，入力値に対して所定の論理演算を実行し，後段のフリップフロップ回路12，14に出力する。
【０００４】
フリップフロップ回路12，14は，対応する論理回路からの出力論理を端子Dから入力し，この値を保持し，所定のタイミングで，保持した値を端子Qから後段に配置された回路(図示しない)に出力する。
【０００５】
EN生成論理回路21は，入力値に基づき，クロックゲーティング回路22を制御する制御信号(出力論理)ENsを生成し，クロックゲーティング回路22に出力する。クロックゲーティング回路22は，端子ENから入力された制御信号ENsに基づき，クロック端子CKから入力されたクロックCLKを，後段側に配置された回路に端子GCKを通して出力する処理，または，この出力を停止する処理を実行する。
【０００６】
例えば，クロックゲーティング回路22の後段側に配置された論理回路が不活性化状態に遷移する場合，EN生成論理回路21は，クロックCLKの出力を停止させる制御信号ENs(例えばローレベル:論理0)をクロックゲーティング回路22に出力する。クロックゲーティング回路22は，この制御信号ENsに応答し，クロックの出力を停止する。このようにクロックの出力を停止することで，クロックの出力に伴う電力消費を削減し，低消費電力化を図ることができる。
【０００７】
また，この論理回路が活性化状態に遷移する場合，EN生成論理回路21は，クロックCLKの出力を開始させる制御信号ENs(例えばハイレベル:論理1)をクロックゲーティング回路22に出力する。クロックゲーティング回路22は，この制御信号ENsに応答し，クロックの出力を開始する。
【０００８】
ところで，半導体集積回路の製造工程で物理的な欠陥が生じていないかを検査するため，出荷前の不良品検査が行われている。この不良品検査の方法として，スキャンテストがある(特許文献1，2参照)。なお，故障の原因としては，例えば，製造過程において，塵が混入することによる配線の断線，配線の混線などがある。
【０００９】
このスキャンテストを実行するため，故障検査時に，半導体集積回路内のフリップフロップ回路12，14や，その他図示しないフリップフロップ回路をシリアル接続してスキャンチェーンを形成する必要がある。このスキャンチェーン形成のために，これらのフリップフロップ回路にスキャンテスト用の回路(図示しない)を予め配置する。
【００１０】
そして，故障検査を行う際には，半導体集積回路の検査装置(図示しない)は，これらのフリップフロップ回路12，14をシリアル接続してスキャンチェーンを形成し，半導体集積回路の外部入出力端子からテスト値を有するテストパターンを入力する。そして，前記の検査装置は，半導体集積回路の出力論理がこのテストパターンに対応する期待値と一致するか否かを判定して，半導体集積回路の故障検査を行う。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平10-124564号公報
【特許文献２】特開2008-4024号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
ここで，図1のEN生成論理回路21における故障検査(テスト，試験とも言う)を行うことを考える。EN生成論理回路21のテストの際には，EN生成論理回路21の出力論理を保持するスキャンチェーン用のフリップフロップ回路が必要である。しかし， EN生成論理回路21の後段にはフリップフロップ回路が配置されていない。
【００１３】
そのため，このままでは，EN生成論理回路21についてスキャンテストを実行することができない。そこで，EN生成論理回路21の出力論理を保持するための観測用フリップフロップ回路を有する故障検査用回路を配置する。
【００１４】
図2は，図1の半導体集積回路に観測用フリップフロップ回路を有する故障検査用回路が配置された半導体集積回路の部分構成を示す。故障検査用回路31は，制御信号ENs，テストモード制御信号TSMの論理和を演算し結果をクロックゲーティング回路22に出力するOR回路311と，制御信号ENsを保持する観測用フリップフロップ回路312を有する。
【００１５】
テストモード制御信号TSMは，半導体集積回路のテスト(試験)を行う際に，例えば前記の検査装置から入力される信号であり，テストモード時にはハイレベル，通常動作時には，ローレベルである。このハイレベルのテストモード制御信号TSMが，例えば試験モードを示す制御信号である。
【００１６】
テストモード時には，クロックゲーティング回路22は，クロックCLKをゲーティングせず後段の回路に常に出力(スルー)する必要がある。これは，この回路もテスト対象の回路として動作する必要があるからである。そこで，テストモード時の制御信号TSM(ハイレベル)をそのままクロックゲーティング回路22に入力するためにOR回路311が設けられている。
【００１７】
テストモード時には，EN生成論理回路21にテスト値が入力される。EN生成論理回路21は，このテスト値に対応する制御信号ENsを生成し,OR回路311，観測用フリップフロップ回路312に出力する。観測用フリップフロップ回路312は，スキャンチェーンを形成するフリップフロップ回路としてのみ機能し，保持した制御信号ENsを，クロックCLKに基づく所定のタイミングで前記の検査装置に出力する。
【００１８】
前記の検査装置は，観測用フリップフロップ回路312の出力と，前記のテスト値に対応する期待値とを比較し，不一致の場合には，半導体集積回路に故障有りと判定する。
【００１９】
このようなクロックゲーティング回路，EN生成論理回路を多数有する半導体集積回路に前記したスキャンテストを行う場合，多数の観測用フリップフロップ回路を半導体集積回路に配置する必要がある。
【００２０】
また，フリップフロップ回路を通さずに論理回路11，13が多段接続している場合がある。この接続構成の詳細については，後述する図11で説明する。このように多段接続している論理回路11，13のテストを行う場合,各論理回路の後段に観測用フリップフロップ回路を設け，この観測用フリップフロップ回路を利用すればテストパターンのデータ量が減り，さらに，テスト精度が向上する。
【００２１】
しかし，多数の観測用フリップフロップ回路を配置すると，半導体集積回路の回路面積が増える結果，小型化を実現することが困難になる。また，観測用フリップ回路は，電力を消費するため，消費電力が増加する。
【００２２】
したがって，本発明の目的は，故障検査のために観測用フリップフロップ回路を配置することなく，故障検査を可能とする半導体集積回路，その検査方法を提供することにある。
【課題を解決するための手段】
【００２３】
半導体集積回路の第1の側面は，複数のフリップフロップ回路と，
前記複数のフリップフロップ回路がそれぞれ対応する複数の第1の論理回路と，
前記複数のフリップフロップ回路が対応しない少なくとも1つの第2の論理回路と，
前記第2の論理回路の故障の有無を検査する故障検査用回路を有し，
前記故障検査用回路は，前記複数の第1の論理回路の何れか1つの論理回路の出力側と，前記１つの論理回路に対応するフリップフロップ回路の入力側との間に配置され，
前記第2の論理回路の試験の際に，
試験モードを示す制御信号が前記故障検査用回路に入力され，
前記試験モードに対応するテスト値が前記第2の論理回路に入力され，
前記第2の論理回路の出力論理が前記対応するフリップフロップ回路に入力され，
通常モード時に，
前記1つの論理回路の出力論理が，前記対応するフリップフロップ回路に入力される。
【発明の効果】
【００２４】
第1の側面によれば，故障検査のために観測用フリップフロップ回路を配置することなく，故障検査を可能とすることができる。
【図面の簡単な説明】
【００２５】
【図１】一般的な半導体集積回路の部分構成図を示す。
【図２】図1の半導体集積回路に観測用フリップフロップ回路を有する故障検査用回路を配置した半導体集積回路の部分構成を示す。
【図３】第1の実施の形態の半導体集積回路の部分構成図を示す。
【図４】第1の実施の形態の半導体集積回路の具体例を示す部分構成図である。
【図５】半導体集積回路設計支援機能を有するワークステーションのブロック図の一例である。
【図６】半導体集積回路の設計，製造，テスト行程を説明するフロー図である。
【図７】故障検査用回路の回路情報をネットリストに挿入する工程を説明するフロー図である。
【図８】半導体集積回路検査装置のブロック図の一例である。
【図９】半導体集積回路のテスト工程を説明するフロー図である。
【図１０】図4の半導体集積回路の他の具体例を示す部分構成図である。
【図１１】一般的な半導体集積回路の部分構成図の他の例を示す。
【図１２】第2の形態の半導体集積回路の具体例を示す部分構成図である。
【図１３】第3の形態の半導体集積回路の具体例を示す部分構成図を示す。
【図１４】故障検査用回路の回路情報をネットリストに挿入する工程を説明するフロー図である。
【図１５】第1〜第3の実施の形態における故障検査用回路の他の例を示す構成図である。
【発明を実施するための形態】
【００２６】
(第1の実施の形態)
図3は，本実施の形態の半導体集積回路の部分構成図を示す。図3の半導体集積回路は，図2において，EN生成論理回路21を論理回路51として，さらに，故障検査用回路41を追加したものである。
【００２７】
図3の半導体集積回路は，複数のフリップフロップ回路12，14と，複数のフリップフロップ回路12，14がそれぞれ対応する複数の第1の論理回路11，13と，複数のフリップフロップ回路12，14が対応しない少なくとも1つの第2の論理回路51と，論理回路51の故障の有無を検査する故障検査用回路41を有する。
【００２８】
故障検査用回路41は，複数の第1の論理回路11，13の何れか1つの論理回路である例えば論理回路13の出力側と，この１つの論理回路に対応するフリップフロップ回路14の入力側に配置されている。フリップフロップ回路14は，論理回路51と同期して動作するフリップフロップ回路である。
【００２９】
第2の論理回路51のテストの際に，半導体集積回路検査装置からテストモード（試験モード）を示す制御信号TSMが，故障検査用回路41，OR回路311に入力され，このテストモードに対応するテスト値が，論理回路51に入力される。この半導体集積回路検査装置については，図8で詳細に説明する。
【００３０】
すると，故障検査用回路41により，論理回路51の出力論理が，前記した論理回路13に対応するフリップフロップ回路14に入力される。
【００３１】
そのため，フリップフロップ回路14は，論理回路51のテストの際に，論理回路51の出力論理を保持し，前記したスキャンチェーンを通して半導体集積回路検査装置にこの出力論理を出力することができる。
【００３２】
さらに，通常モード時に，論理回路13の出力論理が，故障検査用回路41により，前記した論理回路13に対応するフリップフロップ回路14にそのまま入力される。そのため，通常モード時において，故障検査用回路41を挿入したことにより，論理回路13の出力論理が変化することがない。
【００３３】
図4は，本実施の形態の半導体集積回路の具体例を示す部分構成図である。図4の半導体集積回路は，図2の半導体集積回路の観測用フリップフロップ回路312に替えて，故障検査用回路41を半導体集積回路に配置したものである。
【００３４】
故障検査用回路41は，AND回路411とOR回路412を有する。AND回路411は，第1の入力端に制御信号ENsが入力され，第2の入力端にテストモード制御信号TSMが入力される。AND回路411は，制御信号ENsとテストモード制御信号TSMとの論理積を演算し，OR回路412に出力する。OR回路412は，第1の入力端に論理回路13の出力論理が入力され，第2の入力端にAND回路411の出力論理が入力される。OR回路412は，論理回路13の出力論理とAND回路411の出力論理との論理和を演算し，フリップフロップ回路14に出力する。
【００３５】
テストモードを示す制御信号TSM(ハイレベル)が入力されると，論理回路13の出力論理がローレベルの場合，故障検査用回路41は，論理的にEN生成論理回路21の出力論理ENsを出力する。論理回路13の出力論理がハイレベルの場合，故障検査用回路41は，論理的にハイレベルの出力論理を出力する。
【００３６】
すなわち，テストモードを示す制御信号TSMがAND回路411の第2の入力端に入力されると，故障検査用回路41は，OR回路412の第1の入力端に入力された値に応じて，AND回路411の第1の入力端に入力された値，又は，この値の反転値を出力する。
【００３７】
一方，通常動作モードを示す制御信号TSM(ローレベル)が入力されると，故障検査用回路41は，論理的に，論理回路13の出力論理をそのまま出力する。
【００３８】
すなわち，故障検査用回路41は，通常動作モードを示す制御信号TSMがAND回路411の第2の入力端に入力されると，故障検査用回路41は，OR回路412の第1の入力端に入力された値を出力する。
【００３９】
ここで，テストモード時における半導体集積回路の動作について説明する。まず，後述する図8に示す半導体集積回路検査装置から，図4の半導体集積回路の入力端(図示しない)にテストモードを示す制御信号TSM(ハイレベル)が入力される。このとき，半導体集積回路は，この制御信号TSMに応答して，フリップフロップ回路12，14やその他のフリップフロップ回路(図示しない)をシリアル接続することでスキャンチェーンを形成するテストモードに移行する。
【００４０】
次いで，テストパターンのテスト値が，前記の半導体集積回路検査装置から入力される。以下の説明では，論理回路11,13，EN生成論理回路21は，入力されたテスト値に論理演算を実行する。
【００４１】
故障検査用回路41は，論理回路13の出力論理，EN生成論理回路21の出力論理に対して論理演算を実行する。前述したように，論理回路13の出力論理がローレベルの場合に，故障検査用回路41は，論理的に，EN生成論理回路21の出力論理ENsを出力する。
【００４２】
このテストの際に，EN生成論理回路21に入力されたテスト値の期待値と，このテスト値に対してEN生成論理回路21が論理演算して出力した出力論理ENsとが一致しない場合，半導体集積回路には，故障が有ると見なし破棄する。一致する場合には，このテストにおいて，EN生成論理回路21には故障が無いと見なす。
【００４３】
また，論理回路13の出力論理がハイレベルの場合には，故障検査用回路41は，ハイレベルの出力論理(期待値)を出力する。しかし，このとき，故障検査用回路41が，ローレベルの出力論理を出力した場合，期待値と一致しないので，この半導体集積回路には，故障があると見なし破棄する。
【００４４】
故障検査用回路41に，通常動作モードを示す制御信号TSM(ローレベル)が入力されると，AND回路411の出力は，常にローレベルである。従って，OR回路412は，論理回路13の出力論理をフリップフロップ回路14にそのまま(変化させることなく)出力する。そのため，通常動作モードにおいて，故障検査用回路41を配置することにより，半導体集積回路の出力論理が論理的に変化することがない。
【００４５】
次に，本実施の形態における半導体集積回路を設計，製造，テストする工程について説明する。
【００４６】
図5は，半導体集積回路設計支援機能を有するワークステーションのブロック図の一例である。設計者は，ワークステーション100を用いて半導体集積回路の設計を行う。
【００４７】
ワークステーション100のCPU101は，ROM102，RAM103，ハードディスク104，表示部105，操作部106，接続IF107の制御を行う。ROM102は，各種制御情報などを記録する。RAM103は，CPU101が実行する各種プログラムや，データを一時記憶する。ハードディスク104は，半導体集積回路設計支援機能を提供するプログラム(以下，支援ツール108と呼ぶ)や，支援ツール108により作成されたネットリストを記録する。表示部105は，液晶表示装置などを有する。操作部106は，キーボード，マウスなどを有する。接続IF107は，ネットワークや図8に示す半導体集積回路検査装置と接続するためのインターフェイス機能を有する。CPU101は，支援ツール108をハードディスク104から読み出して，RAM103に展開し，実行する。
【００４８】
図6は，本実施の形態の半導体集積回路の設計，製造，テスト行程を説明するフロー図である。
【００４９】
なお，ここでは，既に，設計者がレジスタ転送レベル(RTL:Register Transfer Level)で記述した製造対象となる半導体集積回路の回路情報(RTLソースともいう)が例えば図5のハードディスク104に記録されているとする。このRTLソースとしては，例えは図1の半導体集積回路に対応するものである。
【００５０】
ステップS1:設計者は，支援ツール108を利用して，前記したRTLレベルの回路情報に対して論理合成を実行し，ネットリストを作成する。なお，ネットリストとは，ゲートレベルの回路情報であり，論理回路の論理素子，フリップフロップ回路の接続関係や配置情報が例えばハードウェア記述言語(HDL:Hardware description language)で記述されたものである。
【００５１】
ステップS2:ステップS1で作成した，ネットリストに対して，設計者が，図3，図4で説明した故障検査用回路の回路情報を挿入する。この回路情報の挿入は，支援ツール108やエディタを利用して設計者自らが行う。
【００５２】
図7は，故障検査用回路の回路情報をネットリストに挿入する工程を説明するフロー図である。この工程においては，設計者は，ネットリストを，ワークステーション100の表示部105に表示させ，操作部106を介して故障検査用回路の回路情報をネットリストに挿入する作業を行う。
【００５３】
ステップS21: 故障検査用回路を挿入する論理回路(検査対象)をネットリストの回路情報の中から特定する。図4の例では，EN生成論理回路21を特定する。
【００５４】
ステップS22:設計者は，ステップS21で特定した論理回路の出力論理を保持する出力用のフリップフロップ回路を特定する。このフリップフロップ回路は，EN生成論理回路21と同期して動作するフリップフロップ回路である。すなわち，EN生成論理回路21に入力されるクロック信号と同一周波数のクロック信号が入力されるフリップフロップ回路を特定する。図4の例では，フリップフロップ回路14を特定する。
【００５５】
ステップS23:設計者は，故障検査用回路の回路情報をネットリストに挿入する。図4の例では，設計者は，故障検査用回路41のAND回路411の第1の入力端にEN生成論理回路21の出力論理が入力され，第2の入力端にテストモード制御信号TSMが入力されるようにネットリストを編集する。そして，設計者は，OR回路412の第1の入力端に論理回路13の出力論理が入力され，第2の入力端にAND回路411の出力論理が入力されるようにネットリストを編集する。
【００５６】
また，OR回路412の出力論理が，フリップフロップ回路14に入力されるようにネットリストを編集する。さらに，OR回路311の第1の入力端にEN生成論理回路21の出力が入力され，第2の入力端にテストモード制御信号TSMが入力されるようにネットリストを編集する。図6の説明に戻る。
【００５７】
図6のステップS3:設計者は，故障検査用回路の回路情報が挿入されたネットリストに，支援ツール108を利用して，テスト設計を行う。テスト設計は，テスト容易化設計( DFT:Design For Testability)とも呼ばれ，出荷検査時におけるテストを容易化するために行うものである。DFTとしては，例えば，前記したスキャン設計がある。この場合，半導体集積回路内のフリップフロップ回路12，14や，その他図示しないフリップフロップ回路をシリアル接続してスキャンチェーンを形成するために，これらのフリップフロップ回路にスキャンテスト用の回路を予め配置する設計を行う。このようにテスト設計をすることで，後段のステップで説明するように,ATPG(Automatic Test Pattern Generator)により，自動的にテストパターンを生成することができる。なお，このとき，BIST(Built In Self Test)回路を配置するようにしてもよい。
【００５８】
ステップS4:設計者は，テスト設計が行われたネットリストに，支援ツール108を利用して，配置配線などのレイアウト設計を行う。
【００５９】
ステップS5:設計者は，支援ツール108のATPGに，テスト値とこのテスト値に対応する期待値を有するテストパターンを作成させる。テストパターンは，ハードディスク104に記録される。
【００６０】
ステップS6：設計者は，支援ツール108を利用して，テスト設計が行われたネットリストにタイミング検証などのシミュレーションを行う。
【００６１】
ステップS7:シュミレーション済みのネットリストに基づき，半導体集積回路製造装置により，半導体集積回路が製造される。
【００６２】
ステップS8: 図8に示す半導体集積回路検査装置は，製造された半導体集積回路に対して出荷試験を行う。
【００６３】
図8は，半導体集積回路検査装置のブロック図の一例である。半導体集積回路検査装置200は，ワークステーション100と接続用インターフェイスを通して接続される。半導体集積回路201は，図6のフロー図で説明した工程を経て製造された半導体集積回路であり，検査対象となる半導体集積回路である。
【００６４】
テスト情報記憶部202は，半導体集積回路201のテストパターンを記憶する。このテストパターンは，ワークステーション100により作成されたものであり，テスト値と期待値を有する。
【００６５】
テスト制御部203は，半導体集積回路201の検査を制御する。具体的には，テスト制御部203は，半導体集積回路201にテストモードを示す制御信号TSMを出力し，テスト情報記憶部202からテストパターンTPを読み出し，半導体集積回路201に出力する。
【００６６】
半導体集積回路201は，テストモードを示す制御信号TSMに応答してスキャンテストを実行するテストモードに移行する。なお，このとき，半導体集積回路201のフリップフロップ回路によりスキャンチェーンが形成される。そして，半導体集積回路201は，入力されたテストパターンTPに対して論理演算を実行し，結果を出力論理OUTとしてスキャンチェーンを通してテスト制御部203に出力する。テスト制御部203は，期待値と出力論理OUTとを比較する。
【００６７】
テスト制御部203は，全テストパターンに対応する期待値と出力論理OUTとが一致した場合には，半導体集積回路201が良品である旨を示す比較結果CMPを出力部204に出力する。不一致の場合には，半導体集積回路201が不良品である旨を示す比較結果CMPを出力部204に出力する。
【００６８】
出力部204は，良品である旨を示す比較結果CMPが入力されると半導体集積回路201が良品である旨を表示出力する。一方，不良品である旨を示す比較結果CMPが入力されると，出力部204は，半導体集積回路201が不良品である旨を表示出力する。
【００６９】
図9は，半導体集積回路のテスト工程を説明するフロー図である。なお，既に，半導体集積回路検査装置200に検査対象となる半導体集積回路201がセットされ，テスト情報記憶部202に半導体集積回路201のテストパターンが記憶されているものとする。この半導体集積回路201は，図4で説明した半導体集積回路であるとする。
【００７０】
ステップS81: テスト制御部203は，半導体集積回路201にテストモードを示す制御信号TSMを入力する。この工程が，例えば，故障検査用回路41にテストモードを示す制御信号を入力する工程である。半導体集積回路201は，この制御信号TSMに応答して，テストモードに移行する。
【００７１】
ステップS82: テスト制御部203は，テスト情報記憶部202からテストパターンTPを読み出し，半導体集積回路201に出力する。この工程が，例えば，テスト制御部203がステップS81におけるテストモードに対応するテスト値をEN生成論理回路21(第2の論理回路51)に入力する工程である。
【００７２】
ステップS83: テスト制御部203は，テストパターンTPを半導体集積回路201に実行させる。半導体集積回路201は，入力されたテストパターンTPに対して論理演算を実行し，結果を出力論理OUTとして出力する。
【００７３】
図4の例では，EN生成論理回路21のテストの際には，論理回路13が常にローレベルの出力論理を出力するように作成されたテスト値を有するテストパターンが図5の支援ツール108により作成されたとする。そして，EN生成論理回路21のテストの際に，論理回路13にこのテスト値が入力される。さらに，前記したように，EN生成論理回路21にテスト値が入力されると，EN生成論理回路21は，このテスト値に論理演算を実行し，出力論理ENsを出力する。
【００７４】
ステップS84:テスト制御部203は，半導体集積回路201からの出力論理OUTを取得する。この工程が，例えば，テスト制御部203がEN生成論理回路21の出力論理をフリップフロップ回路14を通して取得する工程である。
【００７５】
図4の例では，テスト制御部203は，出力論理OUTとして，EN生成論理回路21からの出力論理ENsを取得する。
【００７６】
ステップS85: テスト制御部203は，期待値と出力論理OUTとを比較する。図4の例では，テスト制御部203は，EN生成論理回路21に入力されたテスト値の期待値とこのテスト値の出力論理ENsとを比較する。この，期待値と出力論理OUTの比較処理を全テストパターンについて実行する。この工程が，例えば，前記のテスト値に対応する期待値と，前記の取得した出力論理とが一致するか否かを判定する工程である。
【００７７】
ステップS86: 全テストパターンに対応する期待値と出力論理OUTが一致した場合(ステップS85/YES)，出力部204は，半導体集積回路201が良品である旨を表示する。良品の半導体集積回路201は，出荷される。
【００７８】
ステップS87:全テストパターンに対応する期待値と出力論理OUTが一致しない場合(ステップS85/NO)，出力部204は，半導体集積回路201が不良品である旨を表示する。不良品の半導体集積回路201は，破棄される。
【００７９】
図10は，図4の半導体集積回路の他の具体例を示す部分構成図である。フリップフロップ回路14の入力端に論理回路13以外の論理回路が配置されている場合，故障検査用回路41を論理回路13とこの論理回路との間に挿入してもよい。
【００８０】
図10の半導体集積回路は，前記の論理回路として，例えばAND回路151が配置されたものである。AND回路151の第1の入力端151aには，他の論理回路(図示しない)からの出力論理やフリップフロップ回路の出力が入力され，第2の入力端151bには，故障検査用回路41の出力論理が入力される。テストモード時において，EN生成論理回路21のテストを実行する場合，AND回路151の第1の入力端151aには，テストパターンとして，ハイレベルのテスト値が入力される。
【００８１】
本実施の形態で説明した半導体集積回路によれば，観測用のフリップフロップ回路を配置することなく，半導体集積回路のスキャンテストが可能になる。観測用のフリップフロップ回路をD型のフリップフロップ回路で構成した場合，クロック入力用のインバータや，多数のAND回路を有する入力値保持用のラッチ回路などが必要である。そのため，この観測用のフリップフロップ回路の回路面積は，本実施の形態の故障検査用回路の回路面積に比べて約2倍ほど大きくなる。
【００８２】
すなわち，本実施の形態で説明した故障検査用回路の回路規模は，観測用のフリップフロップ回路の回路規模に比べて約半分である。そのため，本実施の形態の半導体集積回路において，故障検査用回路の回路規模を約半分に削減することができる。回路規模を削減することにより，テスト時の消費電力も抑制することができる。
【００８３】
(第2の実施の形態)
図11は，一般的な半導体集積回路の部分構成図の他の例を示す。図11の半導体集積回路は，複数のフリップフロップ回路12，14，17，18と，この複数のフリップフロップ回路の少なくとも1つのフリップフロップ回路，例えばフリップフロップ回路14に対応する多段接続して配置される複数の論理回路11，13を有する。フリップフロップ回路12の端子Qは，論理回路11の入力端に接続され，論理回路13の出力端は，フリップフロップ回路14の端子Dに接続される。複数の論理回路11，13の間には，フリップフロップ回路が配置されていない。また，半導体集積回路は，フリップフロップ回路17が対応する論理回路16を有する。
【００８４】
図11の半導体集積回路において，初段側の論理回路11のテストを行うことを考える。論理回路11のテストの際，論理回路11に入力されたテスト値の出力論理は，フリップフロップ回路14を通して，半導体集積回路検査装置200のテスト制御部203に入力されることになる。
【００８５】
論理回路11とフリップフロップ回路14との間には論理回路13が配置されているため，論理回路11の出力論理がフリップフロップ回路14に入力されるまでの遅延時間が長くなり，テスト時間が増える。また，テストパターンのデータ量も増える。さらに，論理回路11の出力論理が，テスト値の期待値と異なる場合であっても，この出力論理が論理回路13により論理演算される結果，テスト値の期待値と同値になり，テスト結果が不正確になる場合もある。そこで，多段接続された論理回路において，初段側に配置された論理回路11のテストを行う場合，論理回路11の出力をフリップフロップ回路17に入力する。
【００８６】
図12は，本実施の形態における半導体集積回路の具体例を示す部分構成図である。図12の半導体集積回路は，多段接続して配置される複数の論理回路11,13の内の1つの論理回路の前段側に接続される第1の論理回路，例えば論理回路11の故障の有無を検査する故障検査用回路41を有する。故障検査用回路41は，前記した１つのフリップフロップ回路14と異なる第1のフリップフロップ回路17に対応する第2の論理回路16の出力側と，第1のフリップフロップ回路17の入力側との間に配置されている。
【００８７】
第1の論理回路11のテストの際に，半導体集積回路検査装置200からテストモードを示す制御信号TSMが，故障検査用回路41に入力され，このテストモードに対応するテスト値が，第1の論理回路11に入力される。すると，故障検査用回路41により，第1の論理回路11の出力論理が，前記した１つのフリップフロップ回路，例えばフリップフロップ回路14と異なる第1のフリップフロップ回路17に入力される。
【００８８】
さらに，通常モード時に，第2の論理回路16の出力が，第1のフリップフロップ回路17に入力される。
【００８９】
このような入出力を行うため，故障検査用回路41は，AND回路411とOR回路412を有する。AND回路411は，第1の入力端にテストモード制御信号TSMが入力され，第2の入力端に論理回路11の出力論理が入力される。AND回路411は，テストモード制御信号TSMと論理回路11の出力論理との論理積を演算し，OR回路412に出力する。OR回路412は，第1の入力端に論理回路16の出力論理が入力され，第2の入力端にAND回路411の出力論理が入力される。OR回路412は，論理回路16の出力論理とAND回路411の出力論理との論理和を演算し，フリップフロップ回路17に出力する。
【００９０】
図4で説明したように，テストモードを示す制御信号TSM(ハイレベル)が入力されると，論理回路16の出力論理がローレベルの場合，故障検査用回路41は，論理的に論理回路11の出力論理を出力する。論理回路16の出力論理がハイレベルの場合，故障検査用回路41は，論理的にハイレベルの出力論理を出力する。従って，論理回路11のテストの際には，半導体集積回路検査装置200は，論理回路16が常にローレベルの出力論理を出力するように作成されたテスト値を論理回路16に入力する。そして，半導体集積回路検査装置200は，テストモードに対応するテスト値を論理回路11に入力する。すると，故障検査用回路41は，論理回路11の出力論理をフリップフロップ回路17に出力する。なお，フリップフロップ回路17は，スキャンチェーンを形成している。半導体集積回路検査装置200は，このスキャンチェーンを形成しているフリップフロップ回路17を通して論理回路11の出力論理を取得することで，論理回路11の故障の有無を検査することができる。
【００９１】
一方，通常動作モードを示す制御信号TSM(ローレベル)が入力されると，故障検査用回路41は，論理的に，論理回路16の出力論理をそのまま出力する。
【００９２】
図12の半導体集積回路を製造する場合，設計者は，図6，図7のフロー図で説明した処理を行う。具体的には，図11の半導体集積回路に対応するネットリストの回路情報の中から故障検査用回路41を挿入する論理回路を特定する。図12の例では，論理回路11を特定する(ステップS21)。
【００９３】
そして，設計者は，論理回路11の出力論理を保持するフリップフロップ回路を特定する (ステップS22) 。このフリップフロップ回路は，論理回路11と同期して動作するフリップフロップ回路である。図12の例では，このフリップフロップ回路は，フリップフロップ回路17である。設計者は，故障検査用回路の回路情報をネットリストに挿入する(ステップS23)。図12の例では，設計者は，故障検査用回路41のAND回路411の第1の入力端にテストモード制御信号TSMが入力され，第2の入力端に論理回路11の出力論理が入力されるようにネットリストを編集する。そして，設計者は，OR回路412の第1の入力端に論理回路16の出力論理が入力され，第2の入力端にAND回路411の出力論理が入力されるようにネットリストを編集する。また，OR回路412の出力論理が，フリップフロップ回路17に入力されるようにネットリストを編集する。
【００９４】
以後は，図6のステップS3〜S7の処理を実行して，図12の半導体集積回路を製造する。
【００９５】
なお，図10に示したように,故障検査用回路41とフリップフロップ回路17との間にAND回路が設けられていてもよい。
【００９６】
図12の半導体集積回路のテストをする場合，半導体集積回路検査装置200は，図9のフロー図で説明した処理を実行する。例えば，論理回路11のテストの際には，論理回路16が常にローレベルの出力論理を出力するように作成されたテスト値が図5の支援ツール108により作成されたとする。そして，テスト制御部203により，論理回路11のテストの際に論理回路16にこのテスト値が入力される工程が実行され，さらに，テストモードに対応するテスト値が第1の論理回路11に入力される(ステップS82に対応)。この工程が，例えば，テスト制御部203がテストモードに対応するテスト値を第1の論理回路11に入力する工程である。
【００９７】
この場合，前記したように，論理回路11は，入力されたテスト値に論理演算を実行し，出力論理を故障検査用回路41に出力する(ステップS83に対応) 。故障検査用回路41は，この出力論理をフリップフロップ回路17に出力し，テスト制御部203がこの出力論理を取得する(ステップS84に対応)。この工程が，例えば，テスト制御部203が第1の論理回路11の出力論理を第1のフリップフロップ回路17を通して取得する工程である。
【００９８】
半導体集積回路検査装置200のテスト制御部203は，論理回路11に入力されたテスト値の出力論理とこのテスト値の期待値とを比較し，一致するか否かを判定する工程(ステップS85に対応)を実行する。
【００９９】
本実施の形態によれば，テストパターンデータの削減，テスト時間の短縮，テスト精度の向上を図ることができる。
【０１００】
（第3の実施の形態）
図11の半導体集積回路において，論理回路13のテストをすることを考える。この場合，論理回路13にテストパターンを直接入力し，このテストパターンの出力論理をフリップフロップ回路14を通して取得できれば，前記したように，テストパターンデータの削減，テスト時間の短縮，テスト精度の向上を図ることができる。
【０１０１】
図13は，本実施の形態の半導体集積回路の具体例を示す部分構成図を示す。図13は，図11に対応するものであるが，図11における半導体集積回路から論理回路16，フリップフロップ回路17を省略している。図13の半導体集積回路は，多段接続して配置される複数の論理回路11，13の内の1つの論理回路11の後段側に接続される第1の論理回路，例えば論理回路13の故障の有無を検査する故障検査用回路41を有する。故障検査用回路41は，第1の論理回路13の前段に配置された第2の論理回路11の出力側と第1の論理回路13の入力側の間に配置されている。
【０１０２】
第1の論理回路13のテストの際に，半導体集積回路検査装置200からテストモードを示す制御信号TSMが，故障検査用回路41に入力され，このテストモードに対応するテスト値が，故障検査用回路41に入力され，故障検査用回路41の出力が第1の論理回路13に入力される。このテスト値は，故障検査用回路41の後段側に配置されたフリップフロップ回路18から故障検査用回路41に入力される。
【０１０３】
さらに，通常モード時に，第2の論理回路11の出力が，第1の論理回路13を通して第1の論理回路13に対応するフリップフロップ回路14に入力される。
【０１０４】
このような入出力を行うため，故障検査用回路41は，AND回路411とOR回路412を有する。AND回路411は，第1の入力端にテストモード制御信号TSMが入力され，第2の入力端にフリップフロップ回路18の出力が入力される。フリップフロップ回路18は，半導体集積回路を構成するフリップフロップ回路であり，テスト用途だけではなく他の用途にも使用される。フリップフロップ回路18は，テストモード時において，半導体集積回路検査装置200から入力されたテストパターンのテスト値を故障検査用回路41に出力する。
【０１０５】
AND回路411は，テストモード制御信号TSMとフリップフロップ回路18の出力(テスト値)との論理積を演算し，OR回路412に出力する。OR回路412は，第1の入力端に論理回路11の出力論理が入力され，第2の入力端にAND回路411の出力論理が入力される。OR回路412は，論理回路11の出力論理とAND回路411の出力論理との論理和を演算し，論理回路13に出力する。
【０１０６】
図4で説明したように，テストモードを示す制御信号TSM(ハイレベル)が入力されると，論理回路11の出力論理がローレベルの場合，故障検査用回路41は，論理的にフリップフロップ回路18の出力，すなわちテスト値を論理回路13に出力する。論理回路11の出力論理がハイレベルの場合，故障検査用回路41は，論理的にハイレベルの出力論理を出力する。従って，論理回路13のテストの際には，半導体集積回路検査装置200は，論理回路11が常にローレベルの出力論理を出力するように作成されたテスト値を論理回路11に入力する。
【０１０７】
すると，故障検査用回路41は，フリップフロップ回路18から入力されたテスト値を論理回路13に入力する。そして，論理回路13は，このテスト値の出力論理をフリップフロップ回路14に出力する。なお，フリップフロップ回路14は，スキャンチェーンを形成している。半導体集積回路検査装置200は，このスキャンチェーンを形成しているフリップフロップ回路14を通して論理回路13の出力論理を取得することで，論理回路13の故障の有無を検査することができる。
【０１０８】
一方，通常動作モードを示す制御信号TSM(ローレベル)が入力されると，故障検査用回路41は，論理的に，論理回路11の出力論理をそのまま出力する。そして，論理回路11の出力論理が，論理回路13を通して，フリップフロップ回路14に入力される。
【０１０９】
図13の半導体集積回路を製造する場合，設計者は，図6，図14のフロー図で説明した処理を行う。図14は，故障検査用回路の回路情報をネットリストに挿入する工程を説明するフロー図である。
【０１１０】
具体的には，図11の半導体集積回路に対応するネットリストの回路情報の中から故障検査用回路41を挿入する論理回路を特定する。図13の例では，論理回路13を特定する(ステップS201)。
【０１１１】
そして，設計者は，論理回路13に直接入力されるテストパターンのテスト値を保持するテストパターン入力用のフリップフロップ回路を特定する。(ステップS202)。図13の例では，このフリップフロップ回路は，フリップフロップ回路18である。
【０１１２】
設計者は，故障検査用回路の回路情報をネットリストに挿入する(ステップS203)。図13の例では，設計者は，故障検査用回路41のAND回路411の第1の入力端にテストモード制御信号TSMが入力され，第2の入力端にフリップフロップ回路18の出力が入力されるようにネットリストを編集する。そして，設計者は，OR回路412の第1の入力端に論理回路11の出力論理が入力され，第2の入力端にAND回路411の出力論理が入力されるようにネットリストを編集する。また，OR回路412の出力論理が，論理回路13に入力されるようにネットリストを編集する。
【０１１３】
以後は，図6のステップS3〜S7の処理を実行して，図13の半導体集積回路を製造する。
【０１１４】
図13の半導体集積回路のテストをする場合，半導体集積回路検査装置200は，図9のフロー図で説明した処理を実行する。例えば，論理回路13のテストの際には，論理回路11が常にローレベルの出力論理を出力するように作成されたテスト値が図5の支援ツール108により作成されたとする。そして，テスト制御部203により，論理回路13のテストの際に論理回路11にこのテスト値が入力される工程が実行され，さらにテストモードに対応するテスト値がフリップフロップ回路18，故障検査用回路41を通して論理回路13に入力される(ステップS82に対応)。この工程が，例えば，テスト制御部203がテストモードに対応するテスト値を故障検査用回路41を通して第1の論理回路13に入力する工程である。
【０１１５】
この場合，前記したように，論理回路13は，入力されたテスト値に論理演算を実行し，出力論理をフリップフロップ回路14に出力する(ステップS83に対応)。そして，テスト制御部203がこの出力論理を取得する(ステップS84に対応)。この工程が，例えば、テスト制御部203が第1の論理回路13の出力論理を論理回路13に対応するフリップフロップ回路14を通して取得する工程である。
【０１１６】
半導体集積回路検査装置200のテスト制御部203は，フリップフロップ回路14から出力された値と，フリップフロップ回路18に入力されたテスト値の期待値とを比較し，一致するか否かを判定する工程(ステップS85に対応)を実行する。
【０１１７】
本実施の形態によれば，論理回路13にテストパターンを直接入力し，このテストパターンの出力論理をフリップフロップ回路14を通して取得することができる。その結果，テストパターンデータの削減，テスト時間の短縮，テスト精度の向上を図ることができる。
【０１１８】
図15は，第1〜第3の実施の形態における故障検査用回路41の他の例を示す構成図である。故障検査用回路41a〜41cを上記実施の形態で説明した半導体集積回路に適用することができる。
【０１１９】
故障検査用回路41aは，NOR回路421とOR回路422を有する。NOR回路421は，第1の入力端に入力Tbが入力され，第2の入力端にはテストモード制御信号TSMが入力される。入力Tbは，図4の半導体集積回路では，EN生成論理回路21の出力論理，図12の半導体集積回路では，論理回路11の出力論理，図13の例では，フリップフロップ回路18の出力である。
【０１２０】
また，NOR回路421は，第2の入力端に反転素子421aを有する。OR回路422は，第1の入力端に入力Taが入力され，第2の入力端には，NOR回路421の出力が入力される。入力Taは，図4の半導体集積回路では，論理回路13の出力論理，図12の半導体集積回路では，論理回路16の出力論理，図13の例では，論理回路11の出力論理である。
【０１２１】
故障検査用回路41bは，NAND回路431とOR回路432を有する。NAND回路431は，第1の入力端に入力Tbが入力され，第2の入力端にはテストモード制御信号TSMが入力される。OR回路432は，第1の入力端に入力Taが入力され，第2の入力端には，AND回路431の出力が入力される。また，OR回路432は，第2の入力端に反転素子432aを有する。
【０１２２】
故障検査用回路41cは，NAND回路441とNAND回路442を有する。NAND回路441は，第1の入力端に入力Tbが入力され，第2の入力端にはテストモード制御信号TSMが入力される。NAND回路442は，第1の入力端に入力Taが入力され，第2の入力端には，NAND回路441の出力が入力される。また，NAND回路442は，第1の入力端に反転素子442aを有する。
【０１２３】
以上の実施の形態をまとめると，次の付記のとおりである。
【０１２４】
（付記１）
複数のフリップフロップ回路と，
前記複数のフリップフロップ回路がそれぞれ対応する複数の第1の論理回路と，
前記複数のフリップフロップ回路が対応しない少なくとも1つの第2の論理回路と，
前記第2の論理回路の故障の有無を検査する故障検査用回路を有し，
前記故障検査用回路は，前記複数の第1の論理回路の何れか1つの論理回路の出力側と，前記１つの論理回路に対応するフリップフロップ回路の入力側との間に配置され，
前記第2の論理回路の試験の際に，
試験モードを示す制御信号が前記故障検査用回路に入力され，
前記試験モードに対応するテスト値が前記第2の論理回路に入力され，
前記第2の論理回路の出力論理が前記対応するフリップフロップ回路に入力され，
通常モード時に，
前記1つの論理回路の出力論理が，前記対応するフリップフロップ回路に入力される
ことを特徴とする半導体集積回路。
【０１２５】
(付記２)
付記1において，
前記対応するフリップフロップ回路は，前記第2の論理回路と同期して動作する
ことを特徴とする半導体集積回路。
【０１２６】
（付記３）
複数のフリップフロップ回路と，
前記複数のフリップフロップ回路の少なくとも1つのフリップフロップ回路に対応する多段接続して配置される複数の論理回路と，
前記多段接続して配置される複数の論理回路の内の1つの論理回路の前段側に接続される第1の論理回路の故障の有無を検査する故障検査用回路を有し，
前記故障検査用回路は，前記１つのフリップフロップ回路と異なる第1のフリップフロップ回路に対応する第2の論理回路の出力側と，前記第1のフリップフロップ回路の入力側との間に配置され，
前記第1の論理回路の試験の際に，
試験モードを示す制御信号が前記故障検査用回路に入力され，
前記試験モードに対応するテスト値が前記第1の論理回路に入力され，
前記第1の論理回路の出力論理が前記１つのフリップフロップ回路と異なる第1のフリップフロップ回路に入力され，
通常モード時に，前記第2の論理回路の出力が，前記第1のフリップフロップ回路に入力される
ことを特徴とする半導体集積回路。
【０１２７】
(付記４)
付記３において，
前記第1のフリップフロップ回路は，前記第1の論理回路と同期して動作する
ことを特徴とする半導体集積回路。
【０１２８】
（付記５）
複数のフリップフロップ回路と，
前記複数のフリップフロップ回路の少なくとも1つのフリップフロップ回路に対応する多段接続して配置される複数の論理回路と，
前記多段接続して配置される複数の論理回路の内の1つの論理回路の後段側に接続される第1の論理回路の故障の有無を検査する故障検査用回路を有し，
前記故障検査用回路は，前記第1の論理回路の前段に配置された第2の論理回路の出力側と前記第1の論理回路の入力側の間に配置され，
前記第1の論理回路の試験の際に，
試験モードを示す制御信号が前記故障検査用回路に入力され，
前記試験モードに対応するテスト値が前記故障検査用回路に入力され，
前記故障検査用回路の出力が前記第1の論理回路に入力され，
通常モード時に，前記第2の論理回路の出力が，前記第1の論理回路を通して前記第1の論理回路に対応するフリップフロップ回路に入力される
ことを特徴とする半導体集積回路。
【０１２９】
(付記６)
付記５において，
前記テスト値は，前記故障検査用回路の後段側に配置されたフリップフロップ回路から前記故障検査用回路に入力される
ことを特徴とする半導体集積回路。
【０１３０】
（付記７）
半導体集積回路の故障検査方法において，
前記半導体集積回路は，複数のフリップフロップ回路と，
前記複数のフリップフロップ回路がそれぞれ対応する複数の第1の論理回路と，
前記複数のフリップフロップ回路が対応しない少なくとも1つの第2の論理回路と，
前記第2の論理回路の故障の有無を検査する故障検査用回路を有し，
前記故障検査用回路は，前記複数の第1の論理回路の何れか1つの論理回路の出力側と，前記１つの論理回路に対応するフリップフロップ回路の入力側との間に配置され，
前記第2の論理回路の試験の際に，
試験モードを示す制御信号が前記故障検査用回路に入力され，
前記試験モードに対応するテスト値が前記第2の論理回路に入力され，
前記第2の論理回路の出力論理が前記対応するフリップフロップ回路に入力され，
通常モード時に，
前記1つの論理回路の出力論理が，前記対応するフリップフロップ回路に入力される半導体集積回路であって，
前記故障検査用回路に試験モードを示す制御信号を入力し，前記試験モードに対応するテスト値を前記第2の論理回路に入力し，前記第2の論理回路の出力論理を前記対応するフリップフロップ回路を通して取得する工程と，
前記テスト値に対応する期待値と，前記取得した出力論理とが一致するか否かを判定する工程を有する
ことを特徴とする半導体集積回路の故障検査方法。
【０１３１】
（付記８）
半導体集積回路の故障検査方法において，
前記半導体集積回路は，複数のフリップフロップ回路と，
前記複数のフリップフロップ回路の少なくとも1つのフリップフロップ回路に対応する多段接続して配置される複数の論理回路と，
前記多段接続して配置される複数の論理回路の内の1つの論理回路の前段側に接続される第1の論理回路の故障の有無を検査する故障検査用回路を有し，
前記故障検査用回路は，前記１つのフリップフロップ回路と異なる第1のフリップフロップ回路に対応する第2の論理回路の出力側と，前記第1のフリップフロップ回路の入力側との間に配置され，
前記第1の論理回路の試験の際に，
試験モードを示す制御信号が前記故障検査用回路に入力され，
前記試験モードに対応するテスト値が前記第1の論理回路に入力され，
前記第1の論理回路の出力論理が前記１つのフリップフロップ回路と異なる第1のフリップフロップ回路に入力され，
通常モード時に，前記第2の論理回路の出力が，前記第1のフリップフロップ回路に入力される半導体集積回路であって，
前記故障検査用回路に試験モードを示す制御信号を入力し，前記試験モードに対応するテスト値を前記第1の論理回路に入力し，前記第1の論理回路の出力論理を前記第1のフリップフロップ回路を通して取得する工程と，
前記テスト値に対応する期待値と，前記取得した出力論理とが一致するか否かを判定する工程を有する
ことを特徴とする半導体集積回路の故障検査方法。
【０１３２】
（付記９）
半導体集積回路の故障検査方法において，
前記半導体集積回路は，複数のフリップフロップ回路と，
前記複数のフリップフロップ回路の少なくとも1つのフリップフロップ回路に対応する多段接続して配置される複数の論理回路と，
前記多段接続して配置される複数の論理回路の内の1つの論理回路の後段側に接続される第1の論理回路の故障の有無を検査する故障検査用回路を有し，
前記故障検査用回路は，前記第1の論理回路の前段に配置された第2の論理回路の出力側と前記第1の論理回路の入力側の間に配置され，
前記第1の論理回路の試験の際に，
試験モードを示す制御信号が前記故障検査用回路に入力され，
前記試験モードに対応するテスト値が前記故障検査用回路に入力され，
前記故障検査用回路の出力が前記第1の論理回路に入力され， 
通常モード時に，前記第2の論理回路の出力が，前記第1の論理回路を通して前記第1の論理回路に対応するフリップフロップ回路に入力される半導体集積回路であって，
前記故障検査用回路に試験モードを示す制御信号を入力し，前記試験モードに対応するテスト値を前記故障検査用回路を通して前記第1の論理回路に入力する工程と，
前記第1の論理回路の出力論理を前記第1の論理回路に対応するフリップフロップ回路を通して取得する工程と，
前記テスト値に対応する期待値と，前記取得した出力論理とが一致するか否かを判定する工程を有する
ことを特徴とする半導体集積回路の故障検査方法。
【符号の説明】
【０１３３】
100…ワークステーション，101…CPU，102…ROM，103…RAM，104…ハードディスク，105…表示部，106…操作部，107…接続IF，108…支援ツール，11，13，16，51…論理回路，12，14，17，18…フリップフロップ回路，151…AND回路，200…半導体集積回路検査装置，201…半導体集積回路，202…テスト情報記憶部，203…制御部，204…出力部，21…EN生成論理回路，22…クロックゲーティング回路，31…故障検査用回路，311…OR回路，312…観測用フリップフロップ回路，41，41a〜41c…故障検査用回路，411，421,431…AND回路，412，422，432…OR回路，421…NOR回路，421a，432a，442a…反転素子，431，441，442…NAND回路。
【図１】
2013015494.tif 000003
【図２】
2013015494.tif 000004
【図３】
2013015494.tif 000005
【図４】
2013015494.tif 000006
【図５】
2013015494.tif 000007
【図６】
2013015494.tif 000008
【図７】
2013015494.tif 000009
【図８】
2013015494.tif 000010
【図９】
2013015494.tif 000011
【図１０】
2013015494.tif 000012
【図１１】
2013015494.tif 000013
【図１２】
2013015494.tif 000014
【図１３】
2013015494.tif 000015
【図１４】
2013015494.tif 000016
【図１５】
2013015494.tif 000017