JP2008009823A - テストクロック回路自動挿入方法及びプログラム - Google Patents
テストクロック回路自動挿入方法及びプログラム Download PDFInfo
- Publication number
- JP2008009823A JP2008009823A JP2006180996A JP2006180996A JP2008009823A JP 2008009823 A JP2008009823 A JP 2008009823A JP 2006180996 A JP2006180996 A JP 2006180996A JP 2006180996 A JP2006180996 A JP 2006180996A JP 2008009823 A JP2008009823 A JP 2008009823A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- setting location
- selector
- test
- program
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】論理合成後のLSIに遅延故障の検出が可能なテスト回路を自動挿入することができ、テスト容易化設計工数の低減化を図ることができるテストクロック回路自動挿入方法を提供する。
【解決手段】論理合成後テスト容易化設計前のLSIのネットリスト7と、STAタイミング制約情報8と、クロックグループ情報9を入力し(S1)、論理合成後のLSIのSTAでのクロック設定箇所にテストクロック供給可能なテストクロック回路を挿入し(S2)、システムモード時に論理0または論理1に設定される0/1ケース設定箇所の論理値を外部から制御することができる0/1制御回路を挿入し(S3)、テスト容易化設計回路合成を行う(S4)。
【選択図】図2
【解決手段】論理合成後テスト容易化設計前のLSIのネットリスト7と、STAタイミング制約情報8と、クロックグループ情報9を入力し(S1)、論理合成後のLSIのSTAでのクロック設定箇所にテストクロック供給可能なテストクロック回路を挿入し(S2)、システムモード時に論理0または論理1に設定される0/1ケース設定箇所の論理値を外部から制御することができる0/1制御回路を挿入し(S3)、テスト容易化設計回路合成を行う(S4)。
【選択図】図2
Description
本発明は、論理合成後の半導体集積回路(以下、LSIという)についてテスト容易化設計の一種類であるテストクロック設計を行う場合に使用して好適なテストクロック回路自動挿入方法及びプログラムに関する。
論理合成後のLSIについてテストクロック設計を行う場合において、縮退故障(短絡や断線などで、回路を構成している素子の入力端子または出力端子などが論理0または論理1に固定されてしまう故障)のみを検出することを目的とする場合には、LSIがシステムモード(実使用時の動作モード)時に周波数の異なる複数のクロックを使用するものである場合であっても、これら複数のクロックの周波数を考慮する必要がなく、低速のスキャンクロックを全フリップフロップに供給するようにテストクロック回路を挿入すれば足りる。
しかしながら、近年のLSIの高速化に伴い、遅延故障(何らかの理由で、回路の遅延が仕様に収まらなくなる故障)の割合が高くなり、縮退故障の検出だけでなく、遅延故障の検出が必要となっている。遅延故障を検出しようとする場合には、システムモード時のクロックの周波数を考慮する必要があり、このため、LSIがシステムモード時に周波数の異なる複数のクロックを使用するものであり、かつ、LSIに許容されているテストクロック端子数がシステムモード時のクロック数よりも少ない場合には、システムモード時のクロックをテストクロック端子数にグループ化することが必要となる。
特開2003−6253号公報
特開2003−307551号公報
ところで、LSI設計工程では、論理設計者とテスト容易化設計者とが同一人で無い場合が多く、テスト容易化設計者は、論理設計者による論理合成後のLSIについて遅延故障の検出を可能とするテストクロック設計を行う場合において、前述のようにLSIがシステムモード時に周波数の異なる複数のクロックを使用するものであり、かつ、LSIに許容されているテストクロック端子数がシステムモード時のクロック数よりも少ない場合には、システムモード時のクロックをテストクロック端子数にグループ化することが必要となるので、LSIのシステムモード時のクロック構造を完全に理解する必要がある。
しかしながら、LSIの大規模化に伴い、LSIのシステムモード時のクロック構造が極めて複雑になってきていることから、テスト容易化設計者がLSIのシステムモード時のクロック構造を完全に理解することは困難となっており、このため、テスト容易化設計者がLSIのシステムモード時のクロック構造を調べることによるテスト容易化設計工数の増大が問題となっている。
本発明は、かかる点に鑑み、論理合成後のLSIに遅延故障の検出が可能なテストクロック回路を自動挿入することができ、テスト容易化設計工数の低減化を図ることができるテストクロック回路自動挿入方法及びプログラムを提供することを目的とする。
本発明のテストクロック回路自動挿入方法は、コンピュータにより、論理合成後のLSIの静的タイミング解析(以下、STA[Static Timing Analysis]という)でのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程を含むものである。
前記テストクロック回路挿入工程は、クロック設定箇所抽出プログラムにより、前記LSIから前記クロック設定箇所を抽出するクロック設定箇所抽出工程と、セレクタ挿入プログラムにより、前記クロック設定箇所にテストクロック供給可能なセレクタを挿入するセレクタ挿入工程と、ネット結線プログラムにより、前記セレクタの所定の入力端子にテストクロック端子を接続し、前記セレクタのセレクト制御端子にテストモード制御信号を接続するネット結線工程を含むものとすることができる。
この場合、前記セレクタ挿入工程は、前記クロック設定箇所がセル端子の場合には、該セル端子に前記セレクタを挿入し、前記クロック設定箇所がモジュールポートの場合には、該モジュールポートの直前のセルの出力端子にセレクタを挿入する工程とすることができる。
また、本発明のテストクロック回路自動挿入方法には、コンピュータにより、システムモード時に論理0または論理1に設定される0/1ケース(case)設定箇所を抽出し、該0/1ケース設定箇所の論理値を外部から制御することができる0/1制御回路を挿入する0/1制御回路挿入工程を含めることができる。
この場合、前記0/1制御回路挿入工程は、0/1ケース設定箇所抽出プログラムにより、前記0/1ケース設定箇所を抽出する0/1ケース設定箇所抽出工程と、前記セレクタ挿入プログラムにより、前記0/1ケース設定箇所がセルの入力端子の場合には、該セルの入力側にセレクタを挿入し、前記0/1ケース設定箇所がセルの出力端子の場合には、該セルの出力側にセレクタを挿入し、前記0/1ケース設定箇所がセルの入力端子でもなく、セルの出力端子でもない場合には、セルの出力端子を探索し、該探索したセルの出力側にセレクタを挿入する工程を含むものとすることができる。
本発明のテストクロック回路自動挿入プログラムは、論理合成後のLSIのSTAでのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程をコンピュータに実行させるものである。
本発明のテストクロック回路自動挿入プログラムは、前記クロック設定箇所を抽出するクロック設定箇所抽出工程を前記コンピュータに実行させるクロック設定箇所抽出プログラムと、前記クロック設定箇所にテストクロック供給可能なセレクタを挿入するセレクタ挿入工程を前記コンピュータに実行させるセレクタ挿入プログラムと、前記セレクタの所定の入力端子にテストクロック端子を接続し、前記セレクタのセレクト制御端子にテストモード制御信号を接続するネット結線工程を前記コンピュータに実行させるネット結線プログラムを含むものとすることができる。
この場合、前記クロック設定箇所がセル端子であるか否かの判定を行う端子判定工程を前記コンピュータに実行させる端子判定プログラムを含むものとし、前記セレクタ挿入プログラムは、前記クロック設定箇所がセル端子の場合には、該セル端子に前記セレクタを挿入し、前記クロック設定箇所がモジュールポートの場合には、該モジュールポートの直前のセルの出力端子にセレクタを挿入するものとすることができる。
また、本発明のテストクロック回路自動挿入プログラムには、システムモード時に論理0または論理1に設定される0/1ケース設定箇所を抽出し、該0/1ケース設定箇所の論理値を外部から制御することができる0/1制御回路を挿入する0/1制御回路挿入工程を前記コンピュータに実行させる0/1制御回路挿入プログラムを含めることができる。
この場合、前記0/1制御回路挿入プログラムには、0/1ケース設定箇所を抽出する0/1ケース設定箇所抽出工程を前記コンピュータに実行させる0/1ケース設定箇所抽出プログラムと、前記0/1ケース設定箇所がセルの入力端子の場合には、該セルの入力側にセレクタを挿入し、前記0/1ケース設定箇所がセルの出力端子の場合には、該セルの出力側にセレクタを挿入し、前記0/1ケース設定箇所がセルの入力端子でもなく、セルの出力端子でもない場合には、セルの出力端子を探索し、該探索したセルの出力側にセレクタを挿入する工程を前記コンピュータに実行させるセレクタ挿入プログラムを含めることができる。
本発明のテストクロック回路自動挿入方法によれば、コンピュータにより、論理合成後のLSIのSTAでのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程が実行されるので、論理合成後のLSIに遅延故障の検出が可能なテストクロック回路を自動挿入することができ、テスト容易化設計工数の低減化を図ることができる。
本発明のテストクロック回路自動挿入プログラムによれば、論理合成後のLSIのSTAでのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程をコンピュータに実行させることができるので、論理合成後のLSIに遅延故障の検出が可能なテストクロック回路を自動挿入することができ、テスト容易化設計工数の低減化を図ることができる。
図1は本発明のテストクロック回路自動挿入方法の一実施形態を実施するための装置の概略的構成図である。この装置は、コンピュータからなり、CPU(central processing unit)1、RAM(random access memory)2、マウス3、キーボード4、ディスプレイ5及びハードディスク6等を備えている。
ハードディスク6には、本発明のテストクロック回路自動挿入方法の一実施形態の実施に必要なデータ及びプログラム(本発明のテストクロック回路自動挿入プログラムの一実施形態)が格納され、論理合成後のLSIへのテストクロック回路及び0/1制御回路の自動挿入時には、これらデータ及びプログラムは、ハードディスク6からRAM2に転送される。
本発明のテストクロック回路自動挿入方法の一実施形態の実施に必要なデータとしては、論理合成後テスト容易化設計前のLSIのネットリスト7、STAタイミング制約情報8、及び、システムモード時の周波数の異なる複数のクロックをテストクロック端子数にグループ化するためのクロックグループ情報9がハードディスク6に格納される。
また、本発明のテストクロック回路自動挿入方法の一実施形態の実施に必要なプログラムとしては、クロック設定箇所抽出プログラム10、端子判定プログラム11、セル抽出プログラム12、セレクタ挿入プログラム13、グループ化プログラム14、ネット結線プログラム15及び0/1ケース設定箇所抽出プログラム16がハードディスク6に格納される。
クロック設定箇所抽出プログラム10は、論理合成後テスト容易化設計前のLSIのネットリスト7からSTAでのクロック設定箇所を抽出するプログラムであり、後述するステップS201で使用するものである。
端子判定プログラム11は、クロック設定箇所抽出プログラム10により抽出したSTAでのクロック設定箇所がセル端子であるか否かの判定や、0/1ケース設定箇所抽出プログラム16により抽出した0/1ケース設定箇所がセルの入力端子であるか否かの判定や、セルの出力端子であるか否かの判定を行うプログラムであり、後述するステップS202、S302、S304で使用するものである。
セル抽出プログラム12は、クロック設定箇所抽出プログラム10により抽出したSTAでのクロック設定箇所がセルの上位階層のモジュールポートである場合におけるモジュールポートの直前のセルの出力端子の探索や、0/1ケース設定箇所抽出プログラム16により抽出した0/1ケース設定箇所がセルの入力端子でもなく、セルの出力端子でもない場合におけるセルの出力端子の探索を行うプログラムであり、後述するステップS204、S306に使用するものである。
セレクタ挿入プログラム13は、クロック設定箇所抽出プログラム10により抽出したクロック設定箇所であるセル端子へのセレクタの挿入や、セル抽出プログラム12により探索したセルの出力端子へのセレクタの挿入や、0/1ケース設定箇所抽出プログラム16により抽出した0/1ケース設定箇所がセルの入力端子である場合におけるセルの入力側へのセレクタの挿入や、0/1ケース設定箇所がセルの出力端子である場合におけるセルの出力側へのセレクタの挿入や、0/1ケース設定箇所がセルの入力端子でもなく、セルの出力端子でもない場合において、セル抽出プログラム12により抽出したセルの出力側へのセレクタの挿入を行うプログラムであり、後述するステップS203、S303、S305に使用するものである。
グループ化プログラム14は、セレクタ挿入プログラム13により挿入したセレクタを同一周波数のテストクロックを供給するセレクタごとにグループ化するプログラムであり、後述するステップS205で使用するものである。
ネット結線プログラム15は、セレクタ挿入プログラム13により挿入したテストクロック回路を構成するセレクタへのテストクロック端子及びテストモード制御信号の接続や、0/1制御回路を構成するセレクタの入力端子のうち、テストモード時に選択される入力端子の論理0または論理1へのクリップや、同セレクタへのテストモード制御信号の接続を行うプログラムであり、後述するステップS206、S207、S307、S308で使用するものである。
0/1ケース設定箇所抽出プログラム16は、論理合成後テスト容易化設計前のLSIのネットリスト7から0/1ケース設定箇所を抽出するプログラムであり、後述するステップS301で使用するものである。なお、本発明のテストクロック回路自動挿入プログラムに含まれる0/1制御回路挿入プログラムは、端子判定プログラム11、セル抽出プログラム12、セレクタ挿入プログラム13、ネット結線プログラム15及び0/1ケース設定個所抽出プログラムを含むものである。
図2は本発明のテストクロック回路自動挿入方法の一実施形態を示すフローチャートである。すなわち、本発明のテストクロック回路自動挿入方法の一実施形態を実施する場合には、まず、論理合成後テスト容易化設計前のLSIのネットリスト7、STAタイミング制約情報8及びクロックグループ情報9をハードディスク6からRAM2に入力する(ステップS1)。
次に、論理合成後のLSIのSTAでのクロック設定箇所にテストクロック供給可能なテストクロック回路を挿入し(ステップS2)、システムモード時に論理0または論理1に設定される0/1ケース設定箇所の論理値を外部から制御することができる0/1制御回路を挿入し(ステップS3)、テスト容易化設計回路合成を行う(ステップS4)。
図3はステップS2でのテストクロック回路挿入処理結果例を具体的に示す回路図であり、実線で示す回路部分は、論理合成後テスト容易化設計前のネットリスト7が示すLSIの回路状態の一部分を示し、破線で示す回路部分は、本発明のテストクロック回路自動挿入方法の一実施形態で挿入したテストクロック回路を示している。図3中、20はPLL、21、22は入力セル、23〜25はテストクロック端子、26〜28はフリップフロップからなる2分周器、29はゲーティングクロックセルからなる2分周器、30〜39はテスト時にシフトレジスタを構成するフリップフロップである。
また、40〜46はSTAでのクロック設定箇所であり、40は100MHzのクロックCLK100が設定されるクロック設定箇所、41は50MHzのクロックCLK50が設定されるクロック設定箇所、42は25MHzのクロックCLK25が設定されるクロック設定箇所、43は80MHzのクロックCLK80が設定されるクロック設定箇所、44は40MHzのクロックCLK40が設定されるクロック設定箇所、45は60MHzのクロックCLK60が設定されるクロック設定箇所、46は30MHzのクロックCLK30が設定されるクロック設定箇所、47〜53はテストクロック回路を構成するセレクタである。
図4はステップS2でのテストクロック回路挿入処理手順を示すフローチャートである。すなわち、論理合成後テスト容易化設計前のLSIにテストクロック回路を挿入する場合には、まず、クロック設定箇所抽出プログラム10により、論理合成後テスト容易化設計前のLSIのネットリスト7からSTAでのクロック設定箇所を抽出する(ステップS201)。図3の例では、STAでのクロック設定箇所40〜46が抽出されることになる。
なお、STAクロックは、例えば、図5に示すように定義され、STAタイミング制約情報8中に含まれる。この例では、記述60は、「クロックCLK100は、1周期を10000ピコ秒とし、t=0で立ち上がり、t=5000ピコ秒で立ち下がり、PLL20(PLL_A)の出力端子(X)に設定されるもの」であることを示している。
記述61は、「クロックCLK50は、PLL20(PLL_A)の出力端子(X)をソースとし、2分周器26(REG_A)の出力端子(Q)に設定されるもの」であることを示している。記述62は、「クロックCLK25は、PLL20(PLL_A)の出力端子(X)をソースとし、4分周したものであり、2分周器27(REG_B)の出力端子(Q)に設定されるもの」であることを示している。
記述63は、「クロックCLK80は、1周期を12500ピコ秒とし、t=0で立ち上がり、t=6259ピコ秒で立ち下がり、入力セル21(INPUT_A)の出力端子(X)に設定されるもの」であることを示している。記述64は、「クロックCLK40は、入力セル21(INPUT_A)の出力端子(X)をソースとし、2分周器28(REG_C)の出力端子(Q)に設定されるもの」であることを示している。
記述65は、「クロックCLK60は、1周期を16600ピコ秒とし、t=0で立ち上がり、t=8300ピコ秒で立ち下がり、入力セル22(INPUT_B)の出力端子(X)に設定されるもの」であることを示している。記述66は、「クロックCLK30は、入力セル22(INPUT_B)の出力端子(X)をソースとし、2分周器29(GCB_A)の出力端子(GCLK)に設定されるもの」であることを示している。
前述のステップS201の後、抽出したSTAでのクロック設定箇所がセル端子であるかモジュールポートであるかを端子判定プログラム11により判定する(ステップS202)。判定の結果、抽出したSTAでのクロック設定箇所がセル端子である場合には、抽出したSTAでのクロック設定箇所であるセル端子にセレクタ挿入プログラム13によりセレクタを挿入する(ステップS203)。
図3の例では、STAでのクロック設定箇所40〜46は、全てセル端子であるから、クロック設定箇所40〜46にセレクタ47〜53が挿入される。なお、セレクタ47〜53は、テストモード制御信号XTST=“0”の場合には、システムモード時のクロックを選択し、テストモード制御信号XTST=“1”の場合には、テストクロックを選択するものとして挿入される。
また、前述のステップS202での判定の結果、抽出したSTAでのクロック設定箇所がモジュールポートである場合には、STAでのクロック設定箇所として抽出したモジュールポートの直前のセルの出力端子をセル抽出プログラム12により探索し(ステップS204)、探索したセルの出力端子にセレクタ挿入プログラム13によりセレクタを挿入する(ステップS203)。
次に、クロックグループ情報9及びグループ化プログラム14により、ステップS203で挿入したセレクタを同一のテストクロックを与えるセレクタ毎のグループにグループ化する(ステップS205)。
図6はクロックグループ情報9の例を示す表図である。この例の場合には、記述70は、「クロックCLK100は、テストクロックTestClock100のグループにグループ化される」ことを示し、記述71は、「クロックCLK80、CLK60、CLK50は、テストクロックTestClock50のグループにグループ化される」ことを示し、記述72は、「クロックCLK40、CLK30、CLK25は、テストクロックTestClock25のグループにグループ化される」ことを示している。
したがって、図3の例の場合には、セレクタ47は、テストクロックTestClock100のグループにグループ化され、セレクタ48〜50は、テストクロックTestClock50のグループにグループ化され、セレクタ51〜53は、テストクロックTestClock25のグループにグループ化されることになる。
次に、挿入されたセレクタの入力端子のうち、テストモード時に選択される入力端子にネット結線プログラム15によりテストクロック端子をグループごとに接続し(ステップS206)、更に、挿入されたセレクタのセレクト制御端子にネット結線プログラム15によりテストモード制御信号XTSTを接続する(ステップS207)。
図3の例では、セレクタ47の入力端子のうち、テストモード制御信号XTST=“1”の場合に選択される入力端子にテストクロック端子23が接続され、セレクタ48〜50の入力端子のうち、テストモード制御信号XTST=“1”の場合に選択される入力端子にテストクロック端子24が接続され、セレクタ51〜53の入力端子のうち、テストモード制御信号XTST=“1”の場合に選択される入力端子にテストクロック端子25が接続され、更に、セレクタ47〜53のセレクト制御端子にはテストモード制御信号XTSTが接続される。
この結果、テストモード時には、システムモード時に100MHzのクロックCLK100が与えられるフリップフロップ(フリップフロップ30等)には、テストクロックTestClock100として、100MHzのスキャンクロックが供給される。
また、システムモード時に80MHzのクロックCLK80が与えられるフリップフロップ(フリップフロップ34等)、システムモード時に60MHzのクロックCLK60が与えられるフリップフロップ(フリップフロップ37等)、及び、システムモード時に50MHzのクロックCLK50が与えられるフリップフロップ(フリップフロップ31等)には、テストクロックTestClock50として、50MHzのスキャンクロックが供給される。
また、システムモード時に40MHzのクロックCLK40が与えられるフリップフロップ(フリップフロップ35、36等)、システムモード時に30MHzのクロックCLK30が与えられるフリップフロップ(フリップフロップ38、39等)、及び、システムモード時に25MHzのクロックCLK25が与えられるフリップフロップ(フリップフロップ32、33等)には、テストクロックTestClock25として、25MHzのスキャンクロックが供給される。
図7はステップS3での0/1制御回路挿入処理結果例を具体的に示す回路図であり、実線で示す回路部分は、論理合成後テスト容易化設計前のLSIのネットリスト7が示す回路状態の一部分を示し、破線で示す部分は、本発明のテストクロック回路自動挿入方法の一実施形態で挿入された0/1制御回路を示している。
図7中、75は50MHzのクロックCLKAまたは100MHzのクロックCLKBを選択するセレクタであり、セレクト制御端子S0のレベル=“0”の場合にはクロックCLKAを選択し、セレクト制御端子S0のレベル=“1”の場合にはクロックCLKBを選択するものである。76はセレクタ75のセレクト制御端子S0にセレクト制御信号を与えるフリップフロップ、77は0/1制御回路を構成するセレクタである。
また、78は100MHzのクロックCLKCまたは50MHzのクロックCLKDを選択するセレクタであり、セレクト制御端子S0のレベル=“0”の場合にはクロックCLKCを選択し、セレクト制御端子S0のレベル=“1”の場合にはクロックCLKDを選択するものである。79はセレクタ78のセレクト制御端子S0にセレクト制御信号を与えるフリップフロップ、80は0/1制御回路を構成するセレクタである。
図8はステップS3での0/1制御回路挿入処理手順を示すフローチャートである。すなわち、0/1制御回路を挿入する場合には、まず、0/1ケース設定箇所抽出プログラム16により、論理合成後テスト容易化設計前のLSIのネットリスト7から0/1ケース設定箇所を抽出する(ステップS301)。図7の例では、0/1ケース設定箇所としてセレクタ75、78のセレクト制御端子S0が抽出される。
次に、抽出した0/1ケース設定箇所がセルの入力端子か否かを端子判定プログラム11により判定する(ステップS302)。判定の結果、抽出した0/1ケース設定箇所がセルの入力端子の場合(ステップS302でYESの場合)には、セレクタ挿入プログラム13により、セルの入力側にセレクタを挿入する(ステップS303)。
図7の例では、セレクタ75のセレクト制御端子S0側にセレクタ77が挿入され、セレクタ78のセレクト制御端子S0側にセレクタ80が挿入される。セレクタ77は、テストモード制御信号XTST=“0”の場合にはフリップフロップ76の出力を選択し、セレクタ80は、テストモード制御信号XTST=“0”の場合にはフリップフロップ79の出力を選択するように挿入される。
これに対して、抽出した0/1ケース設定箇所がセルの入力端子でない場合(ステップS302でNOの場合)には、抽出した0/1ケース設定箇所がセルの出力端子であるか否かを端子判定プログラム11により判定する(ステップS304)。判定の結果、抽出した0/1ケース設定箇所がセルの出力端子の場合(ステップS304でYESの場合)には、セルの出力側にセレクタを挿入する(ステップS305)。
また、ステップS304での判定の結果、抽出した0/1ケース設定箇所がセルの出力端子でない場合(ステップS304でNOの場合)には、セル抽出プログラム12により、抽出した0/1ケース設定箇所からセルの出力端子を探索し(ステップS306)、探索したセルの出力側にセレクタ挿入プログラム13によりセレクタを挿入する(ステップS305)。
次に、挿入したセレクタの入力端子のうち、テストモード時に選択される入力端子をケース設定の値にあわせて論理0または論理1にネット結線プログラム15によりクリップし(ステップS307)、更に、挿入したセレクタのセレクト制御端子にテストモード制御信号をネット結線プログラム15により接続する(ステップS308)。
図7の例では、セレクタ77は、テストモード制御信号XTST=“1”の場合に選択される入力端子が論理1にクリップされ、セレクト制御端子にテストモード制御信号XTSTが接続される。セレクタ80は、テストモード制御信号XTST=“1”の場合に選択される入力端子が論理0にクリップされ、セレクト制御端子にテストモード制御信号XTSTが接続される。
図9はSTAタイミング制約情報8に含まれる0/1ケース設定情報例を示す表図であり、記述85は、「セレクタ75(MUX_A)のセレクト制御端子(S0)には論理1が設定される」ことを示している。記述86は、「セレクタ78(MUX_B)のセレクト制御端子(S0)には論理0が設定される」ことを示している。
以上のように、本発明のテストクロック回路自動挿入方法の一実施形態では、クロック設定箇所抽出プログラム10によるSTAでのクロック設定箇所の抽出(ステップS201)と、端子判定プログラム11、セル抽出プログラム12及びセレクタ挿入プログラム13によるクロック設定箇所にテストクロック供給可能なテストクロック回路を構成するセレクタの挿入(ステップS202〜S204)と、グループ化プログラム14によるテストクロック回路を構成するセレクタのグループ化(ステップS205)と、ネット結線プログラム15によるテストクロック回路を構成するセレクタへのテストクロック端子及びテストモード制御信号XTSTの接続(ステップS206、S207)が実行される。
さらに、0/1ケース設定箇所抽出プログラム16による0/1ケース設定箇所の抽出(ステップS301)と、端子判定プログラム11、セル抽出プログラム12及びセレクタ挿入プログラム13によるセルの入力側または出力側への0/1制御回路を構成するセレクタの挿入(ステップS302〜S306)と、ネット結線プログラム15による0/1制御回路を構成するセレクタの所定の入力端子の論理0または論理1へのクリップと、0/1制御回路を構成するセレクタのセレクト制御端子へのテストモード制御信号XTSTの接続(ステップS307、S308)が実行される。
すなわち、本発明のテストクロック回路自動挿入方法の一実施形態によれば、本発明のテストクロック回路自動挿入プログラムの一実施形態を使用し、コンピュータにより、論理合成後のLSIのSTAでのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程が実行されるので、論理合成後のLSIに遅延故障の検出が可能なテストクロック回路及び0/1制御回路を自動挿入することができる。したがって、テスト容易化設計工数の低減化を図ることができる。
ここで、本発明を整理すると、本発明には、少なくとも、以下のテストクロック回路自動挿入方法及びプログラムが含まれる。
(付記1)コンピュータにより、論理合成後のLSIのSTAでのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程を含むことを特徴とするテストクロック回路自動挿入方法。
(付記2)前記テストクロック回路挿入工程は、クロック設定箇所抽出プログラムにより、前記LSIから前記クロック設定箇所を抽出するクロック設定箇所抽出工程と、セレクタ挿入プログラムにより、前記クロック設定箇所にテストクロック供給可能なセレクタを挿入するセレクタ挿入工程と、ネット結線プログラムにより、前記セレクタの所定の入力端子にテストクロック端子を接続し、前記セレクタのセレクト制御端子にテストモード制御信号を接続するネット結線工程を含むことを特徴とする付記1記載のテストクロック回路自動挿入方法。
(付記3)前記セレクタ挿入工程は、前記クロック設定箇所がセル端子の場合には、該セル端子に前記セレクタを挿入し、前記クロック設定箇所がモジュールポートの場合には、該モジュールポートの直前のセルの出力端子にセレクタを挿入する工程であることを特徴とする付記2記載のテストクロック回路自動挿入方法。
(付記4)前記コンピュータにより、システムモード時に論理0または論理1に設定される0/1ケース設定箇所を抽出し、該0/1ケース設定箇所の論理値を外部から制御することができる0/1制御回路を挿入する0/1制御回路挿入工程を含むことを特徴とする付記1、2または3記載のテストクロック回路自動挿入方法。
(付記5)前記0/1制御回路挿入工程は、0/1ケース設定箇所抽出プログラムにより、前記0/1ケース設定箇所を抽出する0/1ケース設定箇所抽出工程と、前記セレクタ挿入プログラムにより、前記0/1ケース設定箇所がセルの入力端子の場合には、該セルの入力側にセレクタを挿入し、前記0/1ケース設定箇所がセルの出力端子の場合には、該セルの出力側にセレクタを挿入し、前記0/1ケース設定箇所がセルの入力端子でもなく、セルの出力端子でもない場合には、セルの出力端子を探索し、該探索したセルの出力側にセレクタを挿入する工程を含むことを特徴とする付記4記載のテストクロック回路自動挿入方法。
(付記6)論理合成後のLSIのSTAでのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程をコンピュータに実行させることを特徴とするテストクロック回路自動挿入プログラム。
(付記7)前記クロック設定箇所を抽出するクロック設定箇所抽出工程を前記コンピュータに実行させるクロック設定箇所抽出プログラムと、前記クロック設定箇所にテストクロック供給可能なセレクタを挿入するセレクタ挿入工程を前記コンピュータに実行させるセレクタ挿入プログラムと、前記セレクタの所定の入力端子にテストクロック端子を接続し、前記セレクタのセレクト制御端子にテストモード制御信号を接続するネット結線工程を前記コンピュータに実行させるネット結線プログラムを含むことを特徴とする付記6記載のテストクロック回路自動挿入プログラム。
(付記8)前記クロック設定箇所がセル端子であるか否かの判定を行う端子判定工程を前記コンピュータに実行させる端子判定プログラムを含み、前記セレクタ挿入プログラムは、前記クロック設定箇所がセル端子の場合には、該セル端子に前記セレクタを挿入し、前記クロック設定箇所がモジュールポートの場合には、該モジュールポートの直前のセルの出力端子にセレクタを挿入するものであることを特徴とする付記7記載のテストクロック回路自動挿入プログラム。
(付記9)システムモード時に論理0または論理1に設定される0/1ケース設定箇所を抽出し、該0/1ケース設定箇所の論理値を外部から制御することができる0/1制御回路を挿入する0/1制御回路挿入工程を前記コンピュータに実行させる0/1制御回路挿入プログラムを含むことを特徴とする付記6、7または8記載のテストクロック回路自動挿入プログラム。
(付記10)前記0/1制御回路挿入プログラムには、前記0/1ケース設定箇所を抽出する0/1ケース設定箇所抽出工程を前記コンピュータに実行させる0/1ケース設定箇所抽出プログラムと、前記0/1ケース設定箇所がセルの入力端子の場合には、該セルの入力側にセレクタを挿入し、前記0/1ケース設定箇所がセルの出力端子の場合には、該セルの出力側にセレクタを挿入し、前記0/1ケース設定箇所がセルの入力端子でもなく、セルの出力端子でもない場合には、セルの出力端子を探索し、該探索したセルの出力側にセレクタを挿入する工程を前記コンピュータに実行させるセレクタ挿入プログラムを含むことを特徴とする付記9記載のテストクロック回路自動挿入プログラム。
1…CPU
2…RAM
3…マウス
4…キーボード
5…ディスプレイ
6…ハードディスク
7…ネットリスト
8…STAタイミング制約情報
9…クロックグループ情報
10…クロック設定箇所抽出プログラム
11…端子判定プログラム
12…セル抽出プログラム
13…セレクタ挿入プログラム
14…グループ化プログラム
15…ネット結線プログラム
16…0/1ケース設定箇所抽出プログラム
20…PLL
21、22…入力セル
23〜25…テストクロック端子
26〜29…2分周器
30〜39…フリップフロップ
40〜46…STAでのクロック設定箇所
47〜53…セレクタ
75…セレクタ
76…フリップフロップ
77、78…セレクタ
79…フリップフロップ
80…セレクタ
2…RAM
3…マウス
4…キーボード
5…ディスプレイ
6…ハードディスク
7…ネットリスト
8…STAタイミング制約情報
9…クロックグループ情報
10…クロック設定箇所抽出プログラム
11…端子判定プログラム
12…セル抽出プログラム
13…セレクタ挿入プログラム
14…グループ化プログラム
15…ネット結線プログラム
16…0/1ケース設定箇所抽出プログラム
20…PLL
21、22…入力セル
23〜25…テストクロック端子
26〜29…2分周器
30〜39…フリップフロップ
40〜46…STAでのクロック設定箇所
47〜53…セレクタ
75…セレクタ
76…フリップフロップ
77、78…セレクタ
79…フリップフロップ
80…セレクタ
Claims (5)
- コンピュータにより、論理合成後の半導体集積回路の静的タイミング解析でのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程を含むことを特徴とするテストクロック回路自動挿入方法。
- 論理合成後の半導体集積回路の静的タイミング解析でのクロック設定箇所を抽出し、該クロック設定箇所にテストクロック供給可能なテストクロック回路を挿入するテストクロック回路挿入工程をコンピュータに実行させることを特徴とするテストクロック回路自動挿入プログラム。
- 前記クロック設定箇所を抽出するクロック設定箇所抽出工程を前記コンピュータに実行させるクロック設定箇所抽出プログラムと、
前記クロック設定箇所にテストクロック供給可能なセレクタを挿入するセレクタ挿入工程を前記コンピュータに実行させるセレクタ挿入プログラムと、
前記セレクタの所定の入力端子にテストクロック端子を接続し、前記セレクタのセレクト制御端子にテストモード制御信号を接続するネット結線工程を前記コンピュータに実行させるネット結線プログラムを含むことを特徴とする請求項2記載のテストクロック回路自動挿入プログラム。 - 前記クロック設定箇所がセル端子であるか否かの判定を行う端子判定工程を前記コンピュータに実行させる端子判定プログラムを含み、
前記セレクタ挿入プログラムは、前記クロック設定箇所がセル端子の場合には、該セル端子に前記セレクタを挿入し、前記クロック設定箇所がモジュールポートの場合には、該モジュールポートの直前のセルの出力端子にセレクタを挿入するものであることを特徴とする請求項3記載のテストクロック回路自動挿入プログラム。 - システムモード時に論理0または論理1に設定される0/1ケース設定箇所を抽出し、該0/1ケース設定箇所の論理値を外部から制御することができる0/1制御回路を挿入する0/1制御回路挿入工程を前記コンピュータに実行させる0/1制御回路挿入プログラムを含むことを特徴とする請求項2、3または4記載のテストクロック回路自動挿入プログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006180996A JP2008009823A (ja) | 2006-06-30 | 2006-06-30 | テストクロック回路自動挿入方法及びプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006180996A JP2008009823A (ja) | 2006-06-30 | 2006-06-30 | テストクロック回路自動挿入方法及びプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008009823A true JP2008009823A (ja) | 2008-01-17 |
Family
ID=39067953
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006180996A Withdrawn JP2008009823A (ja) | 2006-06-30 | 2006-06-30 | テストクロック回路自動挿入方法及びプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008009823A (ja) |
-
2006
- 2006-06-30 JP JP2006180996A patent/JP2008009823A/ja not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8819507B2 (en) | Field programmable gate arrays with built-in self test mechanisms | |
| US11216607B2 (en) | Double glitch capture mode power integrity analysis | |
| US12572727B2 (en) | Static timing analysis method and static timing analysis system | |
| US9449127B1 (en) | System for verifying timing constraints of IC design | |
| US20150227410A1 (en) | Hardware state data logger for silicon debug | |
| CN117907812B (zh) | 电路检测方法及装置、电子设备、存储介质、程序产品 | |
| US8042074B2 (en) | Circuit design device, circuit design program, and circuit design method | |
| US8799731B2 (en) | Clock control for reducing timing exceptions in scan testing of an integrated circuit | |
| US10963613B1 (en) | Partial reconfiguration of integrated circuits using shell representation of platform design with extended routing region | |
| CN114880975B (zh) | 一种硬件木马的生成方法、系统、设备以及介质 | |
| US9280623B2 (en) | Signal selection apparatus and system, and circuit emulator and method and program | |
| US7945882B2 (en) | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium | |
| US20090288046A1 (en) | Circuit design processes | |
| US20170356959A1 (en) | Implementing decreased scan data interdependence for compressed patterns in on product multiple input signature register (opmisr) through scan skewing | |
| US20050223345A1 (en) | Circuit design assistant system, circuit design method, and program product for circuit design | |
| US7962875B2 (en) | Method, apparatus and program for designing circuits | |
| US20080148209A1 (en) | Method of designing semiconductor integrated circuit using test point insertion adjustable to delay time | |
| Lin et al. | Speed binning with high-quality structural patterns from functional timing analysis (FTA) | |
| US10416232B1 (en) | Timing optimizations in circuit designs using opposite clock edge triggered flip-flops | |
| US7086015B2 (en) | Method of optimizing RTL code for multiplex structures | |
| US8468407B2 (en) | Method for creating test clock domain during integrated circuit design, and associated computer readable medium | |
| JP2002073712A (ja) | 回路生成装置、回路生成方法及びcad設計装置 | |
| Pomeranz et al. | Forward-Looking Reverse Order Fault Simulation for $ n $-Detection Test Sets | |
| JP2012003684A (ja) | 回路設計装置、回路設計プログラム及び回路設計方法 | |
| JP2007226686A (ja) | クリティカルパス推定プログラム、推定装置、推定方法、および集積回路設計プログラム。 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080730 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090302 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20101126 |