(57)【要約】【課題】マルチサイクルパスの経路の故障検出率を上げることができるスキャンテスト回路の設計方法を提供することである。【解決手段】スキャン回路の設計方法は、タイミング制約情報、ネットリスト及びレイアウト情報を読み込んで、半導体集積回路内に存在する経路の中から、マルチサイクルパスの経路を抽出し、抽出したマルチサイクルパスの経路をサイクル数分に分割し、サイクル数分に分割した箇所にテスト回路を追加する。【選択図】図３
2020047060.tif 000002
【特許請求の範囲】
【請求項１】
タイミング制約情報、ネットリスト及びレイアウト情報を読み込んで、半導体集積回路内に存在する経路の中から、マルチサイクルパスの経路を抽出し、
抽出した前記マルチサイクルパスの経路をサイクル数分に分割し、
前記サイクル数分に分割した箇所にテスト回路を追加する
ことを特徴とするスキャン回路の設計方法。
【請求項２】
タイミング制約情報、ネットリスト及びレイアウト情報を読み込んで、半導体集積回路内に存在する経路の中から、マルチサイクルパスの経路を抽出するステップと、
抽出した前記マルチサイクルパスの経路をサイクル数分に分割するステップと、
前記サイクル数分に分割した箇所にテスト回路を追加するステップと、
をコンピュータに実行させることを特徴とするスキャン回路の設計プログラム。
【請求項３】
マルチサイクルパスの経路に設けられた論理回路がサイクル数分に分割された複数の論理回路と、
前記複数の論理回路の間に追加されたテスト回路と、
を有することを特徴とする半導体集積回路。
【請求項４】
前記テスト回路は、フリップフロップと、前記フリップフロップの出力に接続された入力を備えた第１のマルチプレクサと、を有することを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
前記テスト回路は、さらに、前記フリップフロップの入力に接続された出力を備える第２のマルチプレクサを有することを特徴とする請求項４に記載の半導体集積回路。
【請求項６】
前記テスト回路は、第１のマルチプレクサと、前記第１のマルチプレクサの出力に接続された入力を備え、前記半導体集積回路のシステムに使用されているフリップフロップと、前記フリップフロップの出力に接続された入力を備えた第２のマルチプレクサと、を有することを特徴とする請求項３に記載の半導体集積回路。
【請求項７】
前記テスト回路は、さらに、前記第１のマルチプレクサの入力に接続された出力を備える第３のマルチプレクサを有することを特徴とする請求項６に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
実施の形態は、スキャンテスト回路の設計方法、スキャンテスト回路の設計プログラム、及び、半導体集積回路に関する。
【背景技術】
【０００２】
従来、タイミング制約を顧慮したＡＴＰＧ（automatic test pattern generator）において、マルチサイクルパスの経路はツールによってはＡＴＰＧの対象外となっていた。近年、マルチサイクルパスの経路をＡＴＰＧの対象として扱うことができるツールも存在しているが、トラブルも多く発生しており、故障検出率が上がらないという問題がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１８９４５１号公報
【特許文献２】特開２００５−２０１８２１号公報
【特許文献３】特開２００６−２５０９２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
実施形態の課題は、マルチサイクルパスの経路の故障検出率を上げることができるスキャンテスト回路の設計方法、スキャンテスト回路の設計プログラム、及び、半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００５】
実施形態のスキャン回路の設計方法は、タイミング制約情報、ネットリスト及びレイアウト情報を読み込んで、半導体集積回路内に存在する経路の中から、マルチサイクルパスの経路を抽出し、抽出したマルチサイクルパスの経路をサイクル数分に分割し、サイクル数分に分割した箇所にテスト回路を追加する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】設計プログラム１０６の処理手順を説明するためのフローチャートである。
【図３】第１の実施形態に係るスキャンテスト回路の一例を示す図である。
【図４】第１の実施形態に係るスキャンテスト回路を有する半導体集積回路の一例を示す図である。
【図５】第１の実施形態の変形例に係るスキャンテスト回路の一例を示す図である。
【図６】第２の実施形態に係るスキャンテスト回路の一例を示す図である。
【図７】第２の実施形態の変形例に係るスキャンテスト回路の一例を示す図である。
【発明を実施するための形態】
【０００７】
以下、図面を参照して実施形態について詳細に説明する。
【０００８】
（第１の実施形態）
まず、図１に基づき、第１の実施形態に係る情報処理装置の構成を説明する。図１は、第１の実施形態に係る情報処理装置の構成を示すブロック図である。図１に示すように、情報処理装置１００は、例えば、パーソナルコンピュータ等であり、本体装置１０１と、記憶装置１０２と、表示装置１０３と、キーボード１０４と、マウス１０５とを有して構成されている。また、本体装置１０１は、中央処理装置（以下、ＣＰＵという）１０１ａを有して構成されている。入力装置としてのキーボード１０４及びマウス１０５は、本体装置１０１に接続されている。
【０００９】
記憶装置１０２には、スキャンテスト回路を設計するための設計プログラム１０６が記憶されている。また、記憶装置１０２には、タイミング制約情報１０７、ネットリスト１０８、及び、レイアウト情報１０９が記憶されている。ユーザは、キーボード１０４及びマウス１０５を操作し、タイミング制約情報１０７、ネットリスト１０８、及び、レイアウト情報１０９を読み込むとともに、設計プログラム１０６をＣＰＵ１０１ａ上で実行することで、後述するスキャンテスト回路を設計することができる。
【００１０】
ここで、設計プログラム１０６の処理手順について、図２を用いて説明する。図２は、設計プログラム１０６の処理手順を説明するためのフローチャートである。また、図３は、第１の実施形態に係るスキャンテスト回路の一例を示す図であり、図４は、第１の実施形態に係るスキャンテスト回路を有する半導体集積回路の一例を示す図である。
【００１１】
まず、ユーザによって終了条件が設定される（Ｓ１）。ユーザは、例えば入力装置としてのキーボード１０４及びマウス１０５を用いて、終了条件を所望の条件に変更することができる。また、終了条件のデフォルト値は、「全てのマルチサイクルパスの経路を抽出したか」である。ユーザが終了条件を設定（変更）しなかった場合、終了条件は「全てのマルチサイクルパスの経路を抽出したか」になる。
【００１２】
次に、ユーザが、記憶装置１０２からタイミング制約情報１０７、ネットリスト１０８、及び、レイアウト情報１０９を読み込み、設計プログラム１０６を実行することで、ＣＰＵ１０１ａは、半導体集積回路の経路の中からマルチサイクルパスの経路を抽出する（Ｓ２）。
【００１３】
具体的には、図３に示すように、ＣＰＵ１０１ａは、フリップフロップ１０、組合せ回路１１、及び、フリップフロップ１２の回路構成において、フリップフロップ１０及び１２間のデータの伝搬に複数のクロックが必要となるマルチサイクルパスの経路を抽出する。なお、図３の例では、フリップフロップ１０、組合せ回路１１、及び、フリップフロップ１２の経路が２サイクルとなっているが、ＣＰＵ１０１ａは、３サイクル以上の経路も抽出する。
【００１４】
次に、ＣＰＵ１０１ａは、マルチサイクルパスの経路をシングルサイクルパスになるように分割する（Ｓ３）。具体的には、ＣＰＵ１０１ａは、マルチサイクルパスの経路をサイクル数分に分割する。本実施形態では、フリップフロップ１０、組合せ回路１１、及び、フリップフロップ１２の経路が２サイクルとなっているため、マルチサイクルパスの経路を２つに分割している。そのため、図３に示すように、ＣＰＵ１０１ａは、組合せ回路１１を組合せ回路１１Ａと組合せ回路１１Ｂとの２つに分割する。
【００１５】
次に、ＣＰＵ１０１ａは、分割した箇所にテスト回路を挿入する（Ｓ４）。具体的には、図３に示すように、ＣＰＵ１０１ａは、組合せ回路１１Ａと組合せ回路１１Ｂとの間にテスト回路１３を挿入する。テスト回路１３は、フリップフロップ１４とマルチプレクサ１５とにより構成されている。これにより、フリップフロップ１０とフリップフロップ１４との間、及び、フリップフロップ１４とフリップフロップ１２との間が、それぞれシングルサイクルパス（１サイクル）となる。
【００１６】
なお、フリップフロップ１０、組合せ回路１１、及び、フリップフロップ１２の経路が例えば３サイクルの場合、ＣＰＵ１０１ａは、マルチサイクルパスの経路を３つに分割し、分割したそれぞれの箇所にテスト回路１３を挿入する。
【００１７】
組合せ回路１１Ａの出力は、フリップフロップ１４の入力端子に入力されるとともに、マルチプレクサ１５の一方の入力端子に入力される。フリップフロップ１４の出力は、マルチプレクサ１５の他方の入力端子に入力される。マルチプレクサ１５の出力は、組合せ回路１１Ｂの入力端子に入力される。
【００１８】
そして、マルチプレクサ１５は、選択信号ＳＥＬ１に基づいて、組合せ回路１１Ａの出力と、フリップフロップ１４の出力との一方を組合せ回路１１Ｂに出力する。より具体的には、マルチプレクサ１５は、選択信号ＳＥＬ１が０の場合、組合せ回路１１Ａの出力を組合せ回路１１Ｂに出力し、選択信号ＳＥＬ１が１の場合、フリップフロップ１４の出力を組合せ回路１１Ｂに出力する。
【００１９】
選択信号ＳＥＬ１として１がマルチプレクサ１５に入力された場合、フリップフロップ１０とフリップフロップ１４との間の組合せ回路１１Ａに対して、所定の遅延時間内にデータが遷移するか否かのトランジッションテストを行うことができる。同様に、選択信号ＳＥＬ１として１がマルチプレクサ１５に入力された場合、フリップフロップ１４とフリップフロップ１２との間の組合せ回路１１Ｂに対してトランジッションテストを行うことができる。すなわち、選択信号ＳＥＬ１として１がマルチプレクサ１５に入力された場合、フリップフロップ１０からフリップフロップ１４の間の配線５０、及び、フリップフロップ１４からフリップフロップ１２の間の配線５１の故障検出が可能となる。なお、半導体集積回路１をシステムとして使用する場合、マルチプレクサ１５に選択信号ＳＥＬ１として０を入力すればよい。
【００２０】
最後に、ＣＰＵ１０１ａは、終了判定を行う。具体的には、ＣＰＵ１０１ａは、Ｓ１において設定された終了条件になったか否かを判定する（Ｓ５）。ＣＰＵ１０１ａは、Ｓ１において設定された終了条件になっていないと判定した場合（Ｓ５：ＮＯ）、Ｓ２の処理に戻り、同様の処理を繰り返す。一方、ＣＰＵ１０１ａは、Ｓ１において設定された終了条件になったと判定した場合（Ｓ５：ＹＥＳ）、処理を終了する。
【００２１】
図４に示す半導体集積回路１は、図３のスキャンテスト回路に加え、制御回路２と、複数の組合せ回路１１Ｎと、複数のフリップフロップ１２Ｎとを有して構成されている。
【００２２】
制御回路２は、半導体集積回路１全体の制御を行う。例えば、フリップフロップ１０、１２、１２ＮにクロックＣＬＫを供給するとともに、マルチプレクサ１５に選択信号ＳＥＬ１を供給する。
【００２３】
以上の処理により、半導体集積回路１の全てのマルチサイクルパスがシングルサイクルパスに分割され、分割された箇所のそれぞれにテスト回路１３が挿入されることになる。これにより、フリップフロップ１０とフリップフロップ１４との間の組合せ回路１１Ａと、フリップフロップ１４とフリップフロップ１２との間の組合せ回路１１Ｂとに対して、所定の遅延時間内にデータが遷移するか否かのトランジッションテストを行うことができる。
【００２４】
この結果、分割されたパス毎に、例えば図３の例では、配線５０及び配線５１毎に故障検出が可能となり、全体のパスとしても故障検出が可能となる。なお、図３において、配線５２は十分短いため、この配線５２のタイミングは無視することができる。
【００２５】
よって、本実施形態のスキャンテスト回路の設計方法によれば、マルチサイクルパスの経路の故障検出率を上げることができる。
【００２６】
（変形例）
次に、第１の実施形態の変形例について説明する。
【００２７】
第１の実施形態では、配線５２がトランジッションテストの対象外となっていたが、変形例では、マルチサイクルパスの全ての配線がトランジッションテストの対象とすることができるスキャンテスト回路について説明する。
【００２８】
図５は、第１の実施形態の変形例に係るスキャンテスト回路の一例を示す図である。なお、図５において、図３と同様の構成については、同一の符号を付して説明を省略する。
【００２９】
第１の実施形態の変形例のテスト回路１３Ａは、図３のテスト回路１３のフリップフロップ１４及びマルチプレクサ１５に加え、マルチプレクサ１６を追加して構成されている。組合せ回路１１Ａの出力がマルチプレクサ１６の一方の入力端子に入力され、マルチプレクサ１５の出力がマルチプレクサ１６の他方の入力端子に入力される。マルチプレクサ１６は、選択信号ＳＥＬ２に基づいて、組合せ回路１１Ａの出力またはマルチプレクサ１５の出力をフリップフロップ１４に出力する。
【００３０】
より具体的には、マルチプレクサ１６は、選択信号ＳＥＬ２が０の場合、マルチプレクサ１５の出力をフリップフロップ１４に出力し、選択信号ＳＥＬ２が１の場合、組合せ回路１１Ａの出力をフリップフロップ１４に出力する。
【００３１】
選択信号ＳＥＬ１及びＳＥＬ２として１がマルチプレクサ１５及び１６に入力された場合、第１の実施形態と同様に、フリップフロップ１０からフリップフロップ１４の間の配線５０のトランジッションテストと、フリップフロップ１４からフリップフロップ１２の間の配線５１のトランジッションテストが可能となる。
【００３２】
一方、選択信号ＳＥＬ１及びＳＥＬ２として０がマルチプレクサ１５及び１６に入力された場合、フリップフロップ１０、マルチプレクサ１５、マルチプレクサ１６及びフリップフロップ１４の経路が有効となり、配線５３のトランジッションテストが可能となる。なお、配線５３のトランジッションテストを実現するには、フリップフロップ１０、マルチプレクサ１５、マルチプレクサ１６及びフリップフロップ１４の経路を指定してＡＴＰＧを実行すればよい。
【００３３】
また、半導体集積回路１をシステムとして使用する場合、マルチプレクサ１５に選択信号ＳＥＬ１として０を入力すればよい。このとき、マルチプレクサ１６に入力される選択信号ＳＥＬ２は、０及び１のどちらでもよい。
【００３４】
このように、変形例のテスト回路１３Ａは、図３のテスト回路１３にマルチプレクサ１６を追加することにより、配線５３のトランジッションテストが可能となる。この配線５３は、図３の配線５２を含んで構成されている。
【００３５】
この結果、変形例のスキャンテスト回路は、図３においてトランジッションテストの対象外としていた配線５２をトランジッションテストの対象とすることができる。すなわち、本変形例の半導体集積回路１では、フリップフロップ１０からフリップフロップ１２の全ての配線をトランジッションテストの対象として扱うことができる。
【００３６】
（第２の実施形態）
次に、第２の実施形態について説明する。
【００３７】
第２の実施形態では、マルチサイクルパスの経路をシングルサイクルパスにするためのフリップフロップとして、システムのフリップフロップを流用している。
【００３８】
図６は、第２の実施形態に係るスキャンテスト回路の一例を示す図である。なお、図６において、図３と同様の構成については、同一の符号を付して説明を省略する。
【００３９】
本実施形態の半導体集積回路１は、システム３１と、システム３１の出力が入力されるフリップフロップ３２とを備えている。スキャンテスト回路は、フリップフロップ３２を用いる。
【００４０】
第２の実施形態では、テスト回路１３Ｂとして、２つのマルチプレクサ２１及び２２が追加される。マルチプレクサ２１は、フリップフロップ３２の前段に追加され、マルチプレクサ２２は、フリップフロップ３２の後段に追加される。
【００４１】
マルチプレクサ２１は、選択信号ＳＥＬ３に基づいて、組合せ回路１１Ａの出力とシステム３１の出力の一方をフリップフロップ３２に出力する。マルチプレクサ２２は、選択信号ＳＥＬ４に基づいて、組合せ回路１１Ａの出力とフリップフロップ３２の出力の一方を組合せ回路１１Ｂに出力する。
【００４２】
より具体的には、マルチプレクサ２１は、選択信号ＳＥＬ３が０の場合、システム３１の出力をフリップフロップ３２に出力し、選択信号ＳＥＬ３が１の場合、組合せ回路１１Ａの出力をフリップフロップ３２に出力する。
【００４３】
また、マルチプレクサ２２は、選択信号ＳＥＬ４が０の場合、組合せ回路１１Ａの出力を組合せ回路１１Ｂに出力し、選択信号ＳＥＬ４が１の場合、フリップフロップ３２の出力を組合せ回路１１Ｂに出力する。
【００４４】
選択信号ＳＥＬ３及びＳＥＬ４として１がマルチプレクサ２１及び２２に入力された場合、シングルサイクルパスに分割されたフリップフロップ１０とフリップフロップ３２との間の配線５４と、フリップフロップ３２とフリップフロップ１２との間の配線のトランジッションテストを行うことが可能となる。なお、半導体集積回路１をシステムとして使用する場合、マルチプレクサ２１及び２２に選択信号ＳＥＬ３及びＳＥＬ４として０を入力すればよい。
【００４５】
この結果、分割されたパス毎に、例えば図６の例では、配線５４及び配線５５毎に故障検出が可能となり、全体のパスとしても故障検出が可能となる。なお、配線５５は十分短いため、この配線５５のタイミングは無視することができる。
【００４６】
第１の実施形態では、テスト回路１３としてフリップフロップ１４及びマルチプレクサ１５が追加されていたが、第２の実施形態では、テスト回路１３Ｂとして２つのマルチプレクサ２１及び２２を追加した構成となっている。そして、マルチサイクルパスをシングルサイクルパスに分割するためのフリップフロップとしてシステムのフリップフロップ３２を流用している。この結果、第２の実施形態の半導体集積回路は、第１の実施形態の半導体集積回路よりも回路規模を抑えることができる。
【００４７】
（変形例）
次に、第２の実施形態の変形例について説明する。
【００４８】
第２の実施形態では、配線５５がトランジッションテストの対象外となっていたが、変形例では、マルチサイクルパスの全ての配線がトランジッションテストの対象とすることができるスキャンテスト回路について説明する。
【００４９】
図７は、第２の実施形態の変形例に係るスキャンテスト回路の一例を示す図である。なお、図７において、図６と同様の構成については、同一の符号を付して説明を省略する。
【００５０】
第２の実施形態の変形例のテスト回路１３Ｃは、図６のテスト回路１３Ｂのマルチプレクサ２１及び２２に加え、マルチプレクサ２３を追加して構成されている。組合せ回路１１Ａの出力がマルチプレクサ２３の一方の入力端子に入力され、マルチプレクサ２２の出力がマルチプレクサ２３の他方の入力端子に入力される。マルチプレクサ２３は、選択信号ＳＥＬ５に基づいて、組合せ回路１１Ａの出力またはマルチプレクサ２２の出力をマルチプレクサ２１に出力する。
【００５１】
より具体的には、マルチプレクサ２３は、選択信号ＳＥＬ５が０の場合、マルチプレクサ２２の出力をマルチプレクサ２１に出力し、選択信号ＳＥＬ５が１の場合、組合せ回路１１Ａの出力をマルチプレクサ２１に出力する。
【００５２】
選択信号ＳＥＬ３、ＳＥＬ４及びＳＥＬ５として１がマルチプレクサ２１、２２及び２３に入力された場合、第２の実施形態と同様に、フリップフロップ１０からフリップフロップ３２の間の配線５４のトランジッションテストと、フリップフロップ３２からフリップフロップ１２の間の配線５５のトランジッションテストが可能となる。
【００５３】
一方、選択信号ＳＥＬ３として０がマルチプレクサ２１に入力され、かつ、選択信号ＳＥＬ４及びＳＥＬ５として１がマルチプレクサ２２及び２３に入力された場合、フリップフロップ１０、マルチプレクサ２２、マルチプレクサ２３、マルチプレクサ２１及びフリップフロップ３２の経路が有効となり、配線５７のトランジッションテストが可能となる。なお、配線５７のトランジッションテストを実現するには、フリップフロップ１０、マルチプレクサ２２、マルチプレクサ２３、マルチプレクサ２１及びフリップフロップ３２の経路を指定してＡＴＰＧを実行すればよい。
【００５４】
また、半導体集積回路１をシステムとして使用する場合、マルチプレクサ２１及び２２に選択信号ＳＥＬ３及びＳＥＬ４として０を入力すればよい。このとき、マルチプレクサ２３に入力される選択信号ＳＥＬ５は、０及び１のどちらでもよい。
【００５５】
このように、変形例のテスト回路１３Ｃは、図６のテスト回路１３Ｂにマルチプレクサ２３を追加することにより、配線５７のトランジッションテストが可能となる。この配線５７は、図６の配線５６を含んで構成されている。
【００５６】
この結果、変形例のスキャンテスト回路は、図６においてトランジッションテストの対象外としていた配線５６をトランジッションテストの対象とすることができる。すなわち、本変形例の半導体集積回路では、フリップフロップ１０からフリップフロップ１２の全ての配線をトランジッションテストの対象として扱うことができる。
【００５７】
なお、本明細書におけるフローチャート中の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
【００５８】
発明のいくつかの実施の形態を説明したが、これらの実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５９】
１…半導体集積回路、２…制御回路、１０，１２，１４，３２…フリップフロップ、１１，１１Ａ，１１Ｂ…組合せ回路、１３，１３Ａ，１３Ｂ，１３Ｃ…テスト回路、１５，１６，２１，２２，２３…マルチプレクサ、３１…システム、５０〜５７…配線、１００…情報処理装置、１０１…本体装置、１０１ａ…ＣＰＵ、１０２…記憶装置、１０３…表示装置、１０４…キーボード、１０５…マウス、１０６…設計プログラム、１０７…タイミング制約情報、１０８…ネットリスト、１０９…レイアウト情報。
【図１】
2020047060.tif 000003
【図２】
2020047060.tif 000004
【図３】
2020047060.tif 000005
【図４】
2020047060.tif 000006
【図５】
2020047060.tif 000007
【図６】
2020047060.tif 000008
【図７】
2020047060.tif 000009