JP2011501290A - スキャン回路テスト中のic構造シミュレーション速度向上 - Google Patents

スキャン回路テスト中のic構造シミュレーション速度向上 Download PDF

Info

Publication number
JP2011501290A
JP2011501290A JP2010529992A JP2010529992A JP2011501290A JP 2011501290 A JP2011501290 A JP 2011501290A JP 2010529992 A JP2010529992 A JP 2010529992A JP 2010529992 A JP2010529992 A JP 2010529992A JP 2011501290 A JP2011501290 A JP 2011501290A
Authority
JP
Japan
Prior art keywords
scan
instruction set
computer
path
chip
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.)
Granted
Application number
JP2010529992A
Other languages
English (en)
Other versions
JP5263904B2 (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.)
Synopsys Inc
Original Assignee
Synopsys Inc
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 Synopsys Inc filed Critical Synopsys Inc
Publication of JP2011501290A publication Critical patent/JP2011501290A/ja
Application granted granted Critical
Publication of JP5263904B2 publication Critical patent/JP5263904B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/267Reconfiguring circuits for testing, e.g. LSSD, partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • 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/318583Design for test
    • G01R31/318591Tools

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

コンピュータが、集積回路(IC)チップの動作を、ICチップ内のスキャン回路をテストするためにシミュレートするためのコンピュータプログラムを作成するためにプログラムされる。コンピュータはICチップの構造内の組合せ論理回路を通る第1のスキャンセルの出力ポートから始まり、第2のスキャンセルの入力ポートで終端するパスをトレースするようにプログラムされる。第1及び第2のスキャンセルが共通スキャンイネーブル信号を受け取っている場合には、コンピュータはコンピュータプログラムの少なくとも一部である、例えば、共通スキャンイネーブル信号が非アクティブである場合は、条件付でパスを通る信号の伝搬のシミュレーションを実施し、他方で共通スキャンイネーブル信号がアクティブである場合は、シミュレーションの実施をスキップするソフトウエアを生成する。コンピュータはコンピュータプログラムのその部分を、コンピュータプログラムの他のそのような部分とともに使用するために、メモリに格納する。

Description

本発明の実施形態は集積回路(IC)チップのシミュレーションに関し、特に実ICチップ内のスキャン回路とともに用いるために自動テストパターン生成(ATPG)によってつくられたテストパターンの試験のためのシミュレーションに関する。
今日、電子デバイスは数100万の単位回路すなわち「セル」を有する。そのようなデバイスの設計及び製作を自動化するため、電子設計自動化(EDA)システムが開発されている。EDAシステムは、1つないしさらに多くのICチップを含み得る電子デバイスを設計するために、チップ設計者が用いるための、プログラムされた1台ないしさらに多くのコンピュータを含む。EDAシステムは一般に、ICチップに組み込まれるべき回路の1つないしさらに多くの(例えば、VHDL,Verilog,等のようなハードウエア記述言語(HDL)の)高水準機能記述を受け取り、この機能記述を様々な水準のアブストラクションのネットリストに変換する。ネットリストは一般にEDAシステム内のコンピュータ読出可能媒体に格納され、多くの周知の手法を用いて処理及び検証される。EDAシステムはネットリストを使用して、最終的に、実ICチップ製作に用いるための、マスク形態の実デバイスレイアウトをつくり出す。
テスト容易化設計(DFT)プロセスは所望の機能、例えばデジタル信号処理(DSP)を実装するICチップの、例えばネットリストの形態の、構成をとることができ、1つないしさらに多くのフリップフロップ11〜12(図1A)を、ICチップ10の外部入力31(図1B)から1つないしさらに多くの領域13へのテストベクトルを供給するように設計された、「スキャンセル」21〜22(図1B)と呼ばれる専用セルに置き換えることができる。原ICチップの構造の領域13は一般に、フリップフロップ11及び12を結合する、組合せ論理回路を有する。上述したばかりのスキャンセルによるフリップフロップの置換中に、領域13は一般に不変に保たれる。そのような変更された構造は、ICチップ10が設計された目的の機能(例:DSP)を実施するミッションモード及びICチップ10の回路素子が適正に作成されているか否かをテストするテストモードの、2つの動作モードを有する。
一般に、ICチップ10のそのような変更された構造におけるスキャンセル21(図1B)は、マルチプレクサ21Mによって駆動されるフリップフロップ21Fを有し、マルチプレクサ21Mはフリップフロップ21Fのデータ入力(D入力)ピンに、テストモードで動作させていれば(この間スキャンイネーブル信号SEはアクティブである)信号SIを供給し、あるいはミッションモードで動作させていれば(この間スキャンイネーブル信号SEは非アクティブである)信号MIを供給する。フリップフロップ21Fに入力される信号は、図1Bにおいて、マルチプレクサの出力信号MOとして示される。スキャン構造内で、スキャンセル21及び22は接続されてスキャンチェーンを構成するようにされているとチップ設計者によって認識されることができ、スキャンチェーンの構成はスキャンセル21及び22の接続(例えば、セル22の入力ピンSIがセル21のフリップフロップ21Fの出力ピンQに接続される)によるスキャンパス23(図1Bを見よ)の生成を含む。スキャンパス23は領域13を通るミッションパス13Pに対して択一されるパスであり、これらのパスの1つからの信号は、スキャンイネーブル信号に基づき、マルチプレクサ22Mによって選択される。チップ設計者は、マルチプレクサ21M及び22Mを動作させるため、共通スキャンイネーブル信号SEを指定するかまたは相異なるスキャンイネーブル信号を指定することができる。
ICチップ設計を進める次のステップはICチップ10に適用されるべきテストパターンの生成を含む。ATPGソフトウエアでプログラムされたコンピュータはネットリストの形態のIC構造の1つないしさらに多くの表現を解析することができ、テストパターンを自動的に生成することができる。そのような(テストベクトルとも呼ばれる)テストパターンは、(「テスタ」と呼ばれる)ハードウエア装置によって実ICチップのセルをスキャンして、例えば回路のある選ばれた領域が正しく作成されているか否かを、テストするために適用される。
さらに詳しくは、テスタ(図示せず)は、(「ローディング動作」とも呼ばれる)シフト動作中にICチップ10の外部入力31から1つないしさらに多くの(「入力スキャンセル」とも呼ばれる)スキャンセル21に1つないしさらに多くのテストパターンを順次にロードし、同時にスキャンイネーブル信号をアクティブにすることによって、ICチップ10をテストする。ICチップ10の外部入力31及び外部出力32はチップ10の外から、例えばいずれかのテスタが、アクセスできる外部ピンである。そのようなシフト動作後、テスタはスキャンイネーブル信号を非アクティブにし、(「テスト動作」において)領域13に適用されるテストパターンで1クロックサイクルの間ICチップ10を動作させることができる。
テスト動作に続いて、出力スキャンセル22にラッチされたテスト動作結果がICチップ10の外部出力32に移される、1つないしさらに多くのサイクルの、(「アンローディング動作」とも呼ばれる)別のシフト動作が行われる。本発明の発明者等は、従来技術においては、ローディング動作及びアンローディング動作のいずれの間もソーススキャンセル21とシンクスキャンセル22の間の選択された回路領域13が通常は動作し続ける、すなわちこれらの領域の全てのゲートが評価されることに注目する。
実ICチップの製作に先立ち、一般にICチップのゲートレベルコンピュータモデルにテストパターンが適用される。例えば、HDLで表されたIC構造をコンピュータで(コンパイル後に)実行されるかまたは(コンパイルせずに)1ステップずつ実行される(例えばプログラミング言語CまたはC++の)ソフトウエアソースコードに変換することによって、コンピュータ命令40(図1C)が得られる。図1Cの説明において、コンピュータ命令40には3つの関数があり、第1の関数“Evaluate_Flipflop”はスキャンセル21のフリップフロップ21Fの出力ピンQ(図1B)における信号をシミュレートし、第2の関数“propagate”はこの信号の、組み合わせ論理回路13を通る、ミッションパス13Pを介するスキャンセル22のMI入力ピンへの伝搬をシミュレートする。最後に、第3の関数“Evaluate_Multiplexer”はマルチプレクサ22Mによってフリップフロップ22Dの入力ピンDに供給される信号をシミュレートする。コンパイル後のコンピュータ命令40の実行は1ステップずつの実行より高速であり、したがって、そのようなソフトウエアソースコードは普通コンパイルされてコンパイル済みコードにされる。
前段落で説明された関数“propagate”は、構成に依存して、スキャンパス23上の信号の進行をシミュレートすることともしないこともある。例えば、フリップフロップは一般に別の出力ピン、すなわち(Qピンとは別の)‘−Q’ピンを有し、いくつかの実施形態において‘−Q’ピンは、関数“propagate”にいかなる追加シミュレーションも行わせない、スキャンチェーン形成に用いられる。別の構成において、‘−Q’ピンは用いられず、代わりにセルのインスタンス化においてパス分岐がおこる。そのような構成においては、スキャンパス23上の信号を駆動するために‘−Q’ピンをシミュレートすることができる。
コンパイル済みコードに基づくシミュレーションは、例えば非特許文献1に説明されている。非特許文献1はその全体が背景技術として本明細書に参照として含まれる。さらに、従来技術のいくつかのコンパイル済みコードのシミュレータが特許文献1(アッシャー(Asher):2001年4月24日)にも説明されている。特許文献1もその全体が背景技術として本明細書に参照として含まれる。アッシャーは、ネットリスト変換を用いる平準化コンパイル済みコードのシミュレーションの速度向上を説明している。詳しくは、平準化コンパイル済みコードのシミュレーションを用いる同期デジタル回路の非遅延依存サイクルベース論理回路のシミュレーションは速度をかなり速くする。スイープ、エリミネート及びファクターがリテラル数を減じる。特にエリミネート関数は、その存在によりリテラル数が増大するゲートのネットリストを一掃する。すなわちそのようなゲートをその直ファンアウトに落とし込むことよってリテラル数を減じる。ゲートをそのファンアウトに落とし込む前に、関数は新しいオンセットサイズを評価する。評価されたサイズが予め設定されている限界より大きければ、落とし込みは実施されない。リテラル数減少のほとんどはエリミネート関数による。
発明者等はコンパイル済みコードのシミュレータが甚だしく低速になり得ると考えている。特に、高い故障検出率を達成するに必要なテストパターンの数が回路サイズを増大させる。さらに、ディープサブミクロン技術では、より多くの故障機構及びより多くの欠陥タイプの可能性があるため、既存の欠陥モデルが無効になり得る。さらに、欠陥モデルが多いほど、同じ故障検出率及び品質レベルに対してより多くのテストパターンが必要になり、これはテストパターンのテストをシミュレートするに必要な時間を長くする。したがって、発明者等はコンパイル済みコードのシミュレーションの速度をさらに速くする必要があると考えている。
米国特許第6223141号明細書
マイケル・イー・リープ(Michael. E. Riepe)等著 「レイベル-XL:割当遅延コンパイル済みコード論理ゲートシミュレーションのためのハードウエアアクセラレータ(Ravel-XL: A Hardware Accelerator for Assigned-Delay Compiled-Code Logic Gate Simulation)」,ミシガン大学(University of Michigan),1994年3月
本発明の課題はIC構造におけるコンパイル済みコードのシミュレーションの速度をさらに高めるための手段を提供することである。
本明細書に開示される本発明の実施形態は、集積回路(IC)チップ内のスキャン回路をテストするための、ICチップの動作をシミュレートするためのコンピュータプログラムを作成するための、コンピュータ実施方法、装置、及びコンピュータ読出可能媒体を提供する。
本発明の例示実施形態は、スキャン回路をテストするための、ICチップの動作をシミュレートするためのコンピュータプログラムを作成するためのコンピュータ実施方法を提供する。本方法は、ICチップの構造の組合せ論理回路を通るパスをトレースし、パスを通る信号の伝搬をシミュレートするための第1の命令セットを生成し、第1の命令セットの実行に合わせられている予め定められた条件を必要とする、第2の命令セットを生成するために第1の命令セットを修正して、第1の命令セット及び第2の命令セットをメモリに格納する。
本発明の例示実施形態は、スキャン回路をテストするための、ICチップの動作をシミュレートするためのコンピュータプログラムを作成するための装置を提供する。本装置は、構造の組合せ論理回路を通るパスをトレースするための手段、第1のスキャンセル及び第2のスキャンセルが共通のスキャンイネーブル信号を受け取るか否かをチェックするための手段、条件付の、共通スキャンイネーブル信号が非アクティブであればパスを通して信号を伝搬させ、共通スキャンイネーブル信号がアクティブであればパスを通して信号を伝搬させない、コンピュータプログラムの少なくとも一部を生成するための手段、及びコンピュータプログラムのその部分をメモリに格納するための手段を備える。
本発明の例示実施形態は、スキャン回路をテストするための、集積回路(IC)チップの動作をシミュレートするためのコンピュータプログラムを作成するためのコンピュータ読出可能媒体を提供する。本コンピュータ読出可能媒体は、ICチップの構造の組合せ論理回路を通るパスをトレースするための命令、パスを通って伝搬している信号をシミュレートするための第1の命令セットを生成するための命令、第1の命令セットの実行に合わせられている予め定められた条件を必要とする、第2の命令セットを得るための第1の命令セットを修正するための命令、並びに第1の命令セット及び第2の命令セットの命令を、コンピュータプログラムの一部として、コンピュータのメモリに格納するための命令を収める。
図1Aは、スキャン回路挿入前の、従来技術のICチップの構造を示す。 図1Bは、スキャン回路挿入後の、従来技術のICチップの構造を示す。 図1Cは、スキャン回路をテストするための、図1Bの構造のシミュレーションのための従来技術のコンピュータプログラムを示す。 図2Aは、シミュレーション速度を向上させるための、本発明の一実施形態にしたがって用いられる方法をフローチャートで示す。 図2Bは、図2Aの方法の実施により、本発明の一実施形態にしたがって生成されたコンピュータプログラムの、条件文を含む、一部を示す。 図3は、図2Aの方法を実施するために、本発明の例示実施形態において実施される作業をフローチャートで示す。 図4Aは本発明の一実施形態の実施において行われる作業をフローチャートで示す。 図4Bは本発明の一実施形態の実施において行われる作業をフローチャートで示す。 図4Cは本発明の一実施形態の実施において行われる作業をフローチャートで示す。 図5は本発明の一実施形態にしたがってプログラムされたコンピュータをブロック図で示す。 図6は、本発明の一実施形態にしたがう、例示的なデジタル特定用途IC(ASIC)構造の簡略な説明を示す。
コンピュータ150(図5)が、スキャン回路をテストするためにICチップのシミュレーション速度を高めるコンピュータプログラムを生成するために方法200(図2A)を実施するために、本発明の一実施形態にしたがって、プログラムされる。特に、本特許出願の発明者等は、スキャンイネーブル信号SE(図1B)がアクティブであるときに組合せ論理回路13の出力におけるマルチプレクサ22Mがスキャンパス23を通って進む信号を選択することに注目する。したがって、発明者等は(スキャンイネーブル信号がアクティブであるときの)マルチプレクサのそのような動作によってミッションパス23を通る信号の伝搬のシミュレーションが不要になると考えた。この着想に基づき、発明者等は以下の段落で論じられるように、スキャンイネーブル信号がアクティブであるときはパス13Pに関する不要なシミュレーションを回避することによってシミュレーション速度を向上させる方法200を案出した。当業者には明らかであろうように、スキャンイネーブル信号は、実施形態に依存して、アクティブハイ信号(すなわち信号がハイであるかまたは値“1”をもつときにアクティブ)あるいはアクティブロー信号(すなわち信号がローであるかまたは値“0”をもつときにアクティブ)とすることができる。
図2Aに示されるように、第1の作業工程201において、コンピュータ150は、初めにICチップのどのコンポーネントがスキャンセルを形成するかを決定する。この作業工程において、コンピュータ150は、それぞれのスキャンセルについて、ピンのいずれが(1)スキャンデータ信号、(2)ミッションモードにおける動作で得られるデータ信号、(3)スキャンイネーブル信号及び(4)クロック信号をそれぞれ伝えるかも決定する。コンピュータ150はさらに、例えば組合せ論理回路13を通るパス13Pを識別するために、トレース作業工程202を実施するようにプログラムされる。図1Bに示されるように、ミッションパス13Pはソーススキャンセル21のフリップフロップ21Fの出力ピンQから始まり、シンクスキャンセル22のマルチプレクサ22Mの入力ピンMIで終端する。コンピュータ150は、ミッションパス13Pを通る信号の伝搬をシミュレートするためのソフトウエア命令を生成するための作業工程203を実施するようにも、プログラムされる。
作業工程203の結果は図1Cに従来技術のコンピュータ命令40で示されることに注意されたい。コンピュータ150は当業者には明らかないずれかの態様で作業工程201〜203を実施するようにプログラムされ得ることにも注意されたい。したがって、作業工程201,202及び203がコンピュータ150によって実施される態様の特定の詳細は本発明の実施形態の実施に肝要ではない。
コンピュータ150はさらに、(作業工程204において)1つないしさらに多くの条件をチェックするようにプログラムされ、条件が合えばコンピュータ150は作業工程205を実施し、条件が合わなければ作業工程205はスキップされる。作業工程204に用いられる条件997(図5)は予め定められ、コンピュータ150のメモリに格納される。作業工程204のいくつかの条件は、パス13Pをシミュレートしなくともスキャン回路とともに用いるための自動テストパターン生成(ATPG)によってつくられる1つないしさらに多くのテストパターンのテスト結果が変わらないであろうことを保証するために用いられる。条件が満たされれば、パス13Pは「最適化可能」と判定され、よって無シミュレーションへの候補になる。
例えば、本発明のいくつかの実施形態は複数のスキャンイネーブル信号の使用をサポートする。したがって、そのような実施形態では、作業工程204において、ソーススキャンセル21によってパス13Pに供給される信号及びシンクスキャンセル22によってパス13Pから受け取られる信号が同期態様で用いられるか(または用いられないか)、すなわちスキャンセル21及び22のそれぞれのマルチプレクサを同じスキャンイネーブル信号で動作させているか否かのような、予め定められた条件がチェックされる。結果が真であれば、パス13Pは最適化可能であると判定される。本発明のいくつかの実施形態の作業工程204においてチェックされる他のそのような予め定められた条件はパス13Pが何らかの順序要素を有しているか否かであり、結果が否である場合に限り、パス13Pは「最適化可能」としてコンピュータ150によってマークされる。本発明のいくつかの実施形態は、パスがスキャンセルのデータピンに始まり、最終的にスキャンセルのデータピンで終われば、最適化可能であるとしてパスを扱うことに注意されたい。一例示実施形態において、そのようなパスがトレースされている間、組合せ要素を通るトレースは行われるが、他の回路要素を通るトレースは行われない。組合せ要素の出力状態はその入力における状態から直ちに決定され得る。この例示実施形態では、本明細書に説明されるようにパスをトレースしている間に組合せ要素以外のいずれかの回路要素に遭遇すれば、パスは最適化不能としてマークされる。
上述したように、作業工程204でパス13Pが最適化可能ではないことがわかれば、コンピュータ150は単に、作業工程203で生成されたコンピュータ命令40(図1C)がコンピュータプログラムの一部として、(例えば反復によって作業工程203で生成される)他のそのような部分とともに用いるために、メモリに格納される作業工程206に進む。命令40(すなわちソフトウエア)にはパス13P上の信号の伝搬が無条件でシミュレートされるとするソフトウエア文42が含まれていることに注意されたい。作業工程204でパス13Pが最適化可能であることがわかれば、以下で説明されるように、そのような条件下での作業工程205がコンピュータ150によって実施される。
作業工程205において、コンピュータ150は作業工程203で生成されたコンピュータ命令40を、不要であれば最適化可能パス13Pに沿う信号伝搬のシミュレーションを回避する修正コンピュータ命令を得るため、チェックされるべき1つないしさらに多くの条件をコンピュータ命令40に付加することによって、修正する。例えば、図2Bに示される修正コンピュータ命令250のソフトウエア文252で示されるように、スキャンイネーブル信号がチェックされ、スキャンイネーブル信号がアクティブであれば関数“propagate”は実行されず、そうでなければパス13Pは最適化可能ではない。詳しくは、ソフトウエア文252はパス13Pが最適化可能ではないかどうかをチェックし、最適化可能でなければ関数“propagate”が実行される。他方で、パス13Pが最適化可能であるか否かにかかわらず、スキャンイネーブル信号が非アクティブ(例えばミッションモードがシミュレートされる場合)であれば、関数“propagate”は再び実行される。命令250には信号伝搬のシミュレーションが条件付で実施されるとするソフトウエア文252が含まれていることに注意されたい。さらに詳しくは、ソフトウエア文252には、スキャンイネーブル信号の状態に関する、及びパス13Pが最適化可能であるか否かに関する条件が付けられている。
したがって、当業者にはこの開示から明らかなように、ミッションパス13Pを通る信号伝搬のシミュレーションはそのような修正コンピュータ命令250の1つないしさらに多くの条件をチェックすることによって排除され、したがってローディング動作及びアンローディング動作、すなわち外部入力からテストパターンを移し入れる動作及び外部出力からテストパターンを移し出する動作の速度が向上する。したがって、IC内のスキャン回路のテスト中のIC構造のシミュレーションの速度は図28に示されるような修正コンピュータ命令250によって向上する。よって、作業工程205の後、コンピュータ150は、コンピュータプログラム部分(すなわちソフトウエア)として修正コンピュータ命令250が、他のそのような部分とともに用いるために、メモリに格納される作業工程206を実施する。作業工程206の後、コンピュータ150は作業工程207に進み、(ゲートレベルネットリストの形態の(図5を見よ))ICチップ構造の全てのスキャンセルから始まる全てのパスが調べられたか否かをチェックする。調べられていなければ、コンピュータ150は(上述した)作業工程202に戻る。作業工程207において全てのパスがトレースされていることがわかれば、コンピュータ150はこの方法を完了したことになり、よって、終了する(作業工程208を見よ)。
作業工程203で得られたコンピュータ命令は、図1Cに示されるように、(スキャンイネーブル信号に対し)無条件で実行されていたはずであった。本発明にしたがえば、作業工程205(図2A)がこれらのコンピュータ命令を、ソフトウエア文252(図2B)に示されるように、条件付で実行できるように修正する。ソフトウエア文252には条件のいくつかの例が示されているが、当業者には本開示から明らかなように、別の実施形態においては別の条件をチェックすることができる。
本発明のいくつかの実施形態において、コンピュータ150は、図2Aの方法200における作業工程201に基づき、図3に示されるタイプのプロセスを実施する。詳しくは、作業工程301において、コンピュータ150は、フリップフロップに対応するような、ICチップ10の構造内の1つないしさらに多くのユーザ定義プリミティブ(UDP)を識別する。用いられる特定のUDPは、製造施設によって提供されるセルの技術ライブラリのような、多くのファクターに依存する。次に、作業工程302において、コンピュータ150は構造内の、マルチプレクサに対応するような、別のUDPを識別する。作業工程301及び302は当業者には本開示から明らかであろういずれかの態様で実施され得ることに注意されたい。
その後、作業工程303において、コンピュータ150はICチップ構造のデータモデルから、作業工程301において識別されたフリップフロップをインスタンスとして含む全てのモジュールのリストを受け取る。次に、作業工程304において、コンピュータ150はデータモデルから、作業工程303で識別された(個々に処理される場合は以降「現モジュール」と称される)モジュールのそれぞれの全てのポートのリストを受け取る。作業工程304において、コンピュータ150はデータモデル内のそれぞれのフリップフロップの入力ピンへの接続の全ても得る。次いで、作業工程305において、コンピュータ150はデータモデルから、それぞれのフリップフロップへのデータ信号を駆動するドライバの全てのリストを得る。次いで、作業工程306において、コンピュータ150は、作業工程305で得たリスト内のドライバに作業工程302においてマルチプレクサとして認識されていたドライバがあるか否かをチェックする。マルチプレクサがあれば、コンピュータ150は(「現」マルチプレクサと称される)そのマルチプレクサをさらに処理するために作業工程307に進み、マルチプレクサがなければ作業工程310に進む。作業工程310において、コンピュータ150はフリップフロップのデータピンDへのパスを最適化不能としてマークし、次いで作業工程311に進む。
作業工程307において、コンピュータ150は現マルチプレクサのどのピンがスキャンデータを受け取るかを識別(すなわちSIピンを識別)し、どのピンがミッションデータを受け取るかを識別(すなわちMIピンを識別)する。次に、作業工程308において、コンピュータ150は現マルチプレクサの2つの入力ピン(すなわちSIピン及びMIピン)から現モジュールの入力ポートまで信号を逆方向にトレースする。次いで、作業工程309において、コンピュータ150は現フリップフロップのQピンから現モジュールの出力ポートまで信号を順方向にトレースする。次に、コンピュータ150は、例えばトレースされておらず、最適化可能であるか最適化不能であるかのいずれかであるとしてまだマークされていないスキャンセル間のパスがあれば、上述した作業工程の内の1つないしさらに多くが反復される、作業工程311に進む。トレースされていないパスがなければ、コンピュータは作業工程312において本方法を終了する。
本発明にしたがう説明のためのいくつかの実施形態では、次に論じられる、図4Aに示される作業工程が実施される。詳しくは、いくつかの実施形態は作業工程401〜404の実施にかかり、作業工程401では、コンピュータ150がIC構造を表す「ネットリスト」内のそれぞれのモジュール“m”を個々に選択する、“for”ループが実施される。作業工程402において、コンピュータ150はモジュール“m”にスキャンセルがあるか否かをチェックする。答えが「イエス」であれば、コンピュータ150は作業工程403に進み、そのスキャンセルに関する識別情報及び、マルチプレクサ及びフリップフロップのような、内部コンポーネントのような情報を格納する。作業工程403の後、コンピュータ150は作業工程404に進む。作業工程402における答えが「ノー」である場合にも、コンピュータ150は作業工程404に進む。作業工程404では、ネットリスト内の全てのモジュールが調べられたか否かをチェックし、調べられていればコンピュータ150は作業工程405に進み、調べられていなければコンピュータ150が作業工程401に戻る、作業工程401へのループ処理を行う。スキャンセル(及びその、マルチプレクサ及びフリップフロップのような、1つないしさらに多くのコンポーネント)が識別される特定の態様は実施形態に依存してそれぞれ異なるが、図3を参照して上述したように、いくつかの実施形態はUDPの認識に基づく。
作業工程405において、コンピュータ150は(例えば作業工程403で識別された)スキャンセルインスタンス対を、対のいずれのインスタンスも同じスキャンイネーブル信号で駆動されるか否かを調べ、そうであればそのような対の識別情報を(例えば、実施形態に依存して、2つのディメンションテーブルが用いられる)データ構造に格納するために、チェックする。作業工程405の後、コンピュータ150は、次に論じられるように作業工程406に進む。
作業工程406では、コンピュータ150が作業工程403で識別されたそれぞれのスキャンセルインスタンスを個々に選択して作業工程407に進む、別の“for”ループが実施される。作業工程407において、コンピュータ150は、例えばファンアウトをトレースすることで、現スキャンセルインスタンスからのパスの全てが最適化可能であるか否かをチェックする。答えが「イエス」であれば、コンピュータ150は作業工程408に進み、そのようなパスの全てを最適化可能であるとしてマークする。作業工程408の後、コンピュータ150は作業工程409に進む。コンピュータ150は、作業工程407における答えが「ノー」である場合にも作業工程409に進む。作業工程409では、作業工程403において識別されたスキャンセルインスタンスの全てが調べられたか否かをチェックし、そうであれば作業工程410に進み、そうでなければ作業工程406に戻ることで、作業工程406へのループターミネートが実施される。
作業工程410において、コンピュータ150は、(図2Bのソフトウエア文252に示されるタイプの)条件を含むかまたは無条件の、組合せ論理回路を通る信号の伝搬をシミュレートするためのソフトウエア命令を生成する。上述したように、このソフトウエア命令に用いられる条件はスキャンイネーブル信号に基づく。さらに、生成されるソフトウエアがそのような条件を含むか否かはパスの最適化可能性に依存する。パスが最適化可能であれば、ソフトウエア命令は条件付になる。パスが最適化不能であれば、ソフトウエア命令は無条件である。
図4Aの作業工程405は当業者には本開示から明らかであろういずれかの態様で実施することができ、作業工程405の実施の詳細は本発明に肝要ではない。とはいっても、説明の目的のため、作業工程405を実施するために図4Bに示される作業工程411〜418がいくつかの実施形態で実施されることに注意されたい。詳しくは、作業工程411において、コンピュータ150は作業工程403(図4A)で識別されたスキャンセルインスタンスのそれぞれを個々に選択することによって“for”ループを実施して、作業工程412に進む。作業工程412において、コンピュータ150はスキャンイネーブル信号についてのルートネットを識別するために逆方向にトレースし、現セルインスタンスについて識別されたルートネットをセーブする。次いで、コンピュータ150は作業工程413に進み、作業工程413においてコンピュータ150は全てのセルインスタンスが調べられたか否かをチェックし、そうでなければ作業工程411に戻る。全てのセルインスタンスが調べられていれば、コンピュータ150は、次に論じられる、作業工程414に進む。
作業工程414において、コンピュータ150はスキャンインスタンス対を個々に選択することによって別の“for”ループを実施し、作業工程415に進む。作業工程415において、コンピュータ150は現在選択されている対のスキャンセルのそれぞれのスキャンイネーブル信号のルートネットが同じであるか否かをチェックする。作業工程415における答えが「イエス」であれば、コンピュータ150は作業工程416に進み、そうでなければ作業工程417に進む。作業工程416及び417において、コンピュータ150は、スキャンイネーブル信号が同じか否かをそれぞれが示すために、フラッグを‘真’または‘偽’であるとして格納する。作業工程416及び417の後、コンピュータ150は、スキャンセルインスタンス対の全てが調べられたか否かをチェックし、チェックされていなければ作業工程414に戻ることによって作業工程414へのループターミネートを実施する、作業工程418を実施する。
図4Aの作業工程407も当業者には本開示から明らかであろういずれかの態様で実施することができ、業工程407の実施の詳細は本発明に肝要ではない。とはいえ、説明の目的のため、作業工程407を実施するために図4Cに示される作業工程421〜427がいくつかの実施形態で実施されることに注意されたい。詳しくは、作業工程421において、コンピュータ150はそのファンアウトがトレースされるべきスキャンセルのQピンのファンアウトのそれぞれを個々に選択することによって“for”ループを実施する。次に、作業工程422において、コンピュータ150は、このファンアウトfがANDゲートまたはORゲートあるいはインバータのような一方向性の簡単な組合せ素子であるか否かをチェックする。作業工程422における答えが「ノー」であれば、コンピュータ150は作業工程424に進み、ファンアウトfが推定スキャンセルインタンスであるか否かをチェックして、そうでなければ、パスが最適化可能ではないことを意味する‘偽’を返す。作業工程424における答えが「イエス」であれば、コンピュータ150は、ファンアウトfとスキャンセルが同じスキャンイネーブル信号を有するか否かをチェックして、そうでなければ、パスが最適化可能ではないことを意味する‘偽’を再び返すための作業工程425に進む。作業工程425における答えが「イエス」であれば、コンピュータ150は、ファンアウトfがスキャンセルdataNetと同じであるか否をチェックして、そうでなければパスが最適化可能ではないことを示す‘偽’を再び返すための作業工程426に進む。作業工程426における答えが「イエス」であれば、コンピュータ150は、パスが最適化可能であることを意味する、‘真’を返す。
作業工程422において、答えが「イエス」であれば、コンピュータ150は作業工程423に進み、再帰呼出しを作業工程422に返すが、ともなう新しいファンアウトfは作業工程423で入力された古いファンアウトfである。作業工程423において達し得るファンアウトがもはやない場合、すなわち外部出力に達してしまえば、コンピュータ150は、スキャンセル対の全てが調べられたか否かをチェックし、そうでなければ作業工程421に戻るために工程421へのループターミネートを実施するための作業工程427に進む。スキャンセル対の全てが調べられていれば、コンピュータ150は本方法から戻る、すなわち作業工程407(図4A)が完了される。
(例えば図2Aを参照して)上述したようなシミュレーション速度向上を実施するための方法200を実施する、適切にプログラムされたいずれのコンピュータ(以降「コンパイル済みコードのシミュレータ」)も、簡略な例示図表で図6に示される、デジタルASIC設計フローに用いられ得ることに注意されたい。高水準において、チップ設計プロセスは製品計画(900)に始まり、EDAソフトウエア設計プロセス(910)において実現される。設計が終わると、テープアウトすることができる(イベント940)。テープアウト後、製造プロセス(950)及びパッケージング/組立プロセス(960)が行われて、最終的に、完成チップ(結果990)が得られる。
EDAソフトウエア設計プロセス(910)は実際上、簡単のために直行態様で示される、多くの段階912〜913からなる。実際のASIC設計プロセスにおいて、特定の設計はいくつかのテストに合格するまでのステップを通して戻らなければならないであろう。同様に、いずれの実設計プロセスにおいても、そのようなステップは異なる順序及び組合せでおこり得る。したがって、本説明は、特定のASICに対する、仕様または推奨ではなく、状況上の及び全般的な説明として与えられる。EDAソフトウエア設計プロセス(段階910)のコンポーネントの簡潔な説明が次に与えられる。
システム設計(段階912):実装したい機能を設計者が記述する。設計者は‘もし万一’プランニングを実施して、機能の精化、コストのチェック、等を行うことができる。この段階でハードウエアとソフトウエアの仕分けを行うことができる。この段階で用いることができる例示的なSynopsys(登録商標)社のEDAソフトウエア製品には、Modl Architect、Saber、System Studio及びDesignWare(登録商標)がある。
論理設計及び機能検証(段階914):この段階において、システム内のモジュールに対するVHDLまたはVerilogコードが書かれ、(同期/非同期混成とすることができる)設計が機能no正確さについてチェックされる。この段階で用いることができる、例示的なSynopsys社のEDAソフトウエア製品には、VCS、VERA、DesignWare、Magellan、Formality、ESP及びLEDAがある。
統合及びテスト容易化設計(段階916):ここでVHDL/Verilogがネットリストに変換される。ネットリストは目標技術に対して最適化され得る。さらに、この段階で用いることができる例示的なSynopsys社のEDAソフトウエア製品には、Design Compiler(登録商標)、Physical Cpmpiler、Test Compiler、Power Compiler、FPGA Compiler,Tetramax及びDesignWareがある。
設計プランニング(段階918):ここで、チップに対する全体的な基本プランが構築され、タイミング及びトップレベルルーティングについて解析される。この段階で用いることができる例示的なSynopsys社のEDAソフトウエア製品には、Jupiter及びFloorplan Compilerがある。
ネットリスト検証(段階920):この段階において、タイミングの制約の遵守に対し、及びVHDL/Verilogソースコードとの対応に対し、ネットリストがチェックされる。この段階で用いることができる例示的なSynopsys社のEDAソフトウエア製品には、VCS、VERA、Formality及びPrimeTimeがある。
(図2Aの方法を実施する上述のタイプの)コンパイル済みコードのシミュレータ999は、図6に示されるように、この段階920の間に用いられ得ることに注意されたい。表示される結果に満足できなければ、チップ設計者は段階916に戻って図5に示されるようにIC構造を変更することができる。
実体的実施(段階922):配置(上述した順序セル及び組合せセルのような回路要素の位置決め)及びルーティング(回路要素の接続)がこの段階で行われる。この段階で用いることができる例示的なSynopsys社のEDAソフトウエア製品にはAstroがある。この段階における回路及び(長方形のような)その領域は現実世界に存在するかのように考えられるかもしれないが、この段階においてはレイアウトがコンピュータ150内に存在するに過ぎないことは当然である。現実世界の実回路は以下で論じられるようにこの段階の後につくり出される。
解析及び抽出(段階924):この段階において、回路機能がトランジスタレベルで検証され、続いて、「もし万一」精化が可能になる。この段階で用いることができる例示的なSynopsys社のEDAソフトウエア製品には、Star RC/XT、Raphael及びAuroraがある。
実体的検証(段階926):この段階において、製造、電気的問題、リソグラフィ上の問題及び回路に対する適切性を保証するために様々なチェック機能が実施される。この段階で用いることができる例示的なSynopsys社のEDAソフトウエア製品にはHerculesがある。
分解能増強(段階928):この段階は設計の製造容易性を改善するためのレイアウトの幾何学的操作を含む。この段階で用いることができる例示的なSynopsys社のEDAソフトウエア製品にはin-Phase、Proteus及びAFGenがある。
マスクデータ作成(段階930):この段階は完成チップを製造するためのリソグラフィ用マスクの作成のための「テープアウト」データを提供する。この段階で用いることができる例示的なSynopsys社のEDAソフトウエア製品にはCATS(R)ファミリーがある。現実世界における実回路はこの段階の後で(「ファブ」とも呼ばれる)ウエハ製造施設においてつくり出される。
この詳細な説明で述べられた作業工程の1つないしさらに多くを実施するためのデータ構造及びソフトウエアコード(例えば、図2A,3,4A〜4C及び/または表1に与えられる追補A)は、コンピュータで用いるためにコード及び/またはデータを保持できるいずれかの記憶媒体及び/または通信媒体とすることができるコンピュータ読出可能媒体にコード化することができる。記憶媒体には、デスクドライブ、磁気テープ、CD(コンパクトディスク)及びDVD(デジタル多用途ディスク)のような磁気記憶デバイス及び光記憶デバイスがあるが、これらには限定されない。(信号で変調される搬送波を含むかまたは含まない)通信媒体には、インターネットのような、有線通信ネットワークまたは無線通信ネットワークがあるが、これらには限定されない。一実施形態において、通信媒体は、図2Aに示される方法によって実施される1つないしさらに多くの作業工程を実行するためのコンピュータ命令信号を含む、搬送波を使用する。別の実施形態では図2Aに示されるような方法を実施するための命令を含む搬送波が用いられる。
本明細書に説明されるタイプのシミュレーション速度エンハンサーを実施するためのいくつかの実施形態に用いられるコンピュータシステムには、それぞれが2GHzのCPU及び1GBのメモリを有する、ローカルエリアネットワーク(イーサネット)を介して相互接続された、1つないしさらに多くの、(IBM(登録商標)互換PCベースの)リナックス(登録商標)オペレーティングシステムワークステーション及び/またはユニックス(登録商標)オペレーティングシステムワークステーション(例えば、SUN Ultrasparc,HP PA-RISCまたは互換システム)が用いられることに注意されたい。
表1に与えられる、この詳細な説明の章の追補Aはこの詳細な説明と一体の部分であり、その全体が本明細書に参照として含まれる。追補Aは、例えば、Synopsys社から入手できる“VCS”と呼ばれるソフトウエア製品を用いて図4A〜4Cに示される作業工程を実施するための、本発明にしたがうシミュレーション速度エンハンサーの一例示実施形態を実施するための擬似コード及び関連情報を含む。
当業者には本明細書に説明される実施形態の数多くの改変及び翻案が本開示から明らかになるであろう。したがって、本明細書に説明される実施形態の数多くの改変及び翻案は本発明の範囲によって包含される。
Figure 2011501290
Figure 2011501290
Figure 2011501290
10 ICチップ
11,12 フリップフロップ
13 組合せ論理回路
13P ミッションパス
21 ソーススキャンセル
21M,22M マルチプレクサ
22 シンクスキャンセル
23 スキャンパス
150 コンピュータ
999 コンパイル済みコードのシミュレータ

Claims (18)

  1. 集積回路(IC)チップに含まれるスキャンセルをテストするために、前記ICチップの動作をシミュレートするためのコンピュータプログラムを作成するコンピュータで実施される方法において、
    前記ICチップの構造内の組合せ論理回路を通るパスをトレースする工程であって、該パスが前記構造内の第1のスキャンセルの出力ポートから始まり、該パスが前記構造内の第2のスキャンセルの入力ポートを終端とする工程と、
    前記パスを通る信号の伝搬をシミュレートするための第1の命令セットをつくり出す工程と、
    第2の命令セットをつくり出すために前記第1の命令セットを修正する工程であって、前記第2の命令セットが、前記第1の命令セットの実行に合わせられた、予め定められた条件を必要とする工程と、
    前記第1の命令セット及び前記第2の命令セットを前記コンピュータプログラムの一部としてメモリに格納する工程と、
    を備えることを特徴とする方法。
  2. 前記第1の命令セットを修正する工程が、前記第1のスキャンセル及び前記第2のスキャンセルのそれぞれに共通スキャンイネーブル信号が供給されていれる場合には前記第1の命令セットを修正する工程を有し、
    前記第1の命令セット及び前記第2の命令セットを格納する工程が、前記第1のスキャンセル及び前記第2のスキャンセルのそれぞれが相異なるスキャンイネーブル信号を受け取っていれる場合には前記第1の命令セット及び前記第2の命令セットを格納する工程を有する、
    ことを特徴とする請求項1に記載の方法。
  3. 前記第1の命令セット及び前記第2の命令セットを格納する工程が、前記第1のスキャンセル及び前記第2のスキャンセルのそれぞれに共通スキャンイネーブル信号が供給されている場合には前記第2の命令セットを格納する工程を有することを特徴とする請求項1に記載の方法。
  4. 前記予め定められた条件が、前記共通スキャンイネーブル信号が非アクティブであることを特徴とする請求項3に記載の方法。
  5. 前記トレースする工程に先立ち、複数のスキャンセルが少なくとも前記第1のスキャンセル及び第2のスキャンセルを含むことを前記構造から決定する工程をさらに備えることを特徴とする請求項1に記載の方法。
  6. 前記決定する工程が、前記複数のスキャンセルのそれぞれについて、フリップフロップ及び前記フリップフロップに先行するマルチプレクサを識別する工程を有することを特徴とする請求項5に記載の方法。
  7. 前記決定する工程が、前記構造に基づき、前記フリップフロップ及び前記マルチプレクサをインスタンスとして含む少なくとも1つのモジュールを識別する工程を有することを特徴とする請求項6に記載の方法。
  8. 前記決定する工程が、前記マルチプレクサを表すために前記モジュールによって用いられるユーザ定義プリミティブを識別する工程を有することを特徴とする請求項7に記載の方法。
  9. 集積回路(IC)チップに含まれるスキャンセルをテストするために、前記ICチップの動作をシミュレートするためのコンピュータプログラムを作成するための装置において、
    前記ICチップを表す構造をコード化したメモリと、
    前記構造内の組合せ論理回路を通るパスをトレースするための手段であって、該パスが前記構造内の第1のスキャンセルの出力ポートから始まり、該パスが前記構造内の第2のスキャンセルの入力ポートを終端とする手段と、
    前記第1のスキャンセル及び前記第2のスキャンセルが共通のスキャンイネーブル信号を受け取っているか否かをチェックするための手段と、
    条件付きで、前記共通スキャンイネーブル信号が非アクティブであれば前記パスを通して信号を伝搬させ、前記共通イネーブル信号がアクティブであれば前記パスを通して信号を伝搬させないための前記コンピュータプログラムの少なくとも一部を生成するための手段と、
    前記コンピュータプログラムの前記部分を前記メモリに格納するための手段と、
    を備えることを特徴とする装置。
  10. 前記構造から、少なくとも前記第1のスキャンセル及び前記第2のスキャンセルを含む、複数のスキャンセルを決定するための手段をさらに備えることを特徴とする請求項9に記載の装置。
  11. 前記決定するための手段が、前記複数のスキャンセルのそれぞれについて、フリップフロップ及び前記フリップフロップに先行するマルチプレクサを識別するための手段を有することを特徴とする請求項10に記載の装置。
  12. 前記決定するための手段が、前記構造に基づき、前記フリップフロップ及び前記マルチプレクサをインスタンスとして含む少なくとも1つのモジュールを識別するための手段を有することを特徴とする請求項10に記載の装置。
  13. 前記決定するための手段が、前記マルチプレクサを表すために前記少なくとも1つのモジュールによって用いられるユーザ定義プリミティブを識別するための手段を有することを特徴とする請求項12に記載の装置。
  14. 集積回路(IC)チップに含まれるスキャンセルをテストするために、前記ICチップの動作をシミュレートするためのコンピュータプログラムを作成するための命令をコード化して記憶したコンピュータ読出可能媒体において、
    前記ICチップの構造内の組合せ論理回路を通るパスをトレースするための命令であって、該パスが前記構造内の第1のスキャンセルの出力ポートから始まり、該パスが前記構造内の第2のスキャンセルの入力ポートを終端とする命令と、
    前記パスを通る信号の伝搬をシミュレートするための第1の命令セットをつくり出すための命令と、
    第2の命令セットを得るために前記第1の命令セットを修正するための命令であって、前記第2の命令セットが、前記第1の命令セットの実行に合わせられた、予め定められた条件を必要とする命令と、
    前記第1の命令セット及び前記第2の命令セットを前記コンピュータプログラムの一部としてコンピュータのメモリに格納するための命令と
    を備えることを特徴とする媒体。
  15. 前記構造から、少なくとも前記第1のスキャンセル及び前記第2のスキャンセルを含む、複数のスキャンセルを決定するための命令、
    をさらに備えることを特徴とする請求項14に記載の媒体。
  16. 前記複数のスキャンセルのそれぞれのスキャンセルについて、フリップフロップ及び前記フリップフロップに先行するマルチプレクサを識別するための命令、
    をさらに備えることを特徴とする請求項14に記載の媒体。
  17. 前記構造に基づき、フリップフロップ及び前記フリップフロップに先行するマルチプレクサをインスタンスとして含む少なくとも1つのモジュールを識別するための命令、
    をさらに備えることを特徴とする請求項14に記載の媒体。
  18. マルチプレクサを表すために前記構造内の少なくとも1つのモジュールによって用いられるユーザ定義プリミティブを識別するための命令、
    を備えることを特徴とする請求項14に記載の媒体。
JP2010529992A 2007-10-17 2008-07-18 スキャン回路テスト中のic構造シミュレーション速度向上 Active JP5263904B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/873,800 US7925940B2 (en) 2007-10-17 2007-10-17 Enhancing speed of simulation of an IC design while testing scan circuitry
US11/873,800 2007-10-17
PCT/US2008/070563 WO2009051871A1 (en) 2007-10-17 2008-07-18 Enhancing speed of simulation of an ic design while testing scan circuitry

Publications (2)

Publication Number Publication Date
JP2011501290A true JP2011501290A (ja) 2011-01-06
JP5263904B2 JP5263904B2 (ja) 2013-08-14

Family

ID=40564711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010529992A Active JP5263904B2 (ja) 2007-10-17 2008-07-18 スキャン回路テスト中のic構造シミュレーション速度向上

Country Status (6)

Country Link
US (1) US7925940B2 (ja)
EP (1) EP2208078A4 (ja)
JP (1) JP5263904B2 (ja)
CN (1) CN101828120B (ja)
TW (1) TWI457777B (ja)
WO (1) WO2009051871A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI425795B (zh) * 2010-07-29 2014-02-01 Univ Nat Chiao Tung 追蹤網路封包之處理程序的方法
US8589835B2 (en) 2012-01-17 2013-11-19 Atrenta, Inc. System and method for inferring higher level descriptions from RTL topology based on naming similarities and dependency
US8656335B2 (en) 2012-04-27 2014-02-18 Atrenta, Inc. System and methods for inferring higher level descriptions from RTL topology based on connectivity propagation
US8782587B2 (en) 2012-07-30 2014-07-15 Atrenta, Inc. Systems and methods for generating a higher level description of a circuit design based on connectivity strengths
TWI477794B (zh) 2012-10-02 2015-03-21 Realtek Semiconductor Corp 積體電路掃描時脈域分配方法以及相關機器可讀媒體
US9274171B1 (en) 2014-11-12 2016-03-01 International Business Machines Corporation Customer-transparent logic redundancy for improved yield
EP3157172B1 (en) * 2015-10-15 2018-11-28 Menta System and method for testing and configuration of an fpga
TWI670617B (zh) * 2018-10-31 2019-09-01 財團法人工業技術研究院 模擬系統與方法
US11231462B1 (en) * 2019-06-28 2022-01-25 Synopsys, Inc. Augmenting an integrated circuit (IC) design simulation model to improve performance during verification
EP4200717A2 (en) * 2020-08-24 2023-06-28 Unlikely Artificial Intelligence Limited A computer implemented method for the automated analysis or use of data
US11977854B2 (en) 2021-08-24 2024-05-07 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
CN114253862A (zh) * 2021-12-29 2022-03-29 湖南泛联新安信息科技有限公司 一种hdl代码仿真覆盖率异步事件驱动自动分析方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573638A (ja) * 1991-09-18 1993-03-26 Nec Corp 演算制御シミユレーシヨン方式
JPH0926981A (ja) * 1995-07-11 1997-01-28 Fujitsu Ltd 回路の故障シミュレーション方法および故障シミュレーション装置
JPH1115860A (ja) * 1997-06-20 1999-01-22 Toshiba Microelectron Corp 論理シミュレーション方法、論理シミュレーション装置及び論理シミュレーションプログラムを格納したコンピュータ読み取り可能な記録媒体
US20050149805A1 (en) * 2003-12-10 2005-07-07 Syed Ikram H. Pending bug monitors for efficient processor development and debug
US20050229123A1 (en) * 2001-03-30 2005-10-13 Syntest Technologies, Inc. Computer-aided design system to automate scan synthesis at register-transfer level

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5854752A (en) * 1996-01-19 1998-12-29 Ikos Systems, Inc. Circuit partitioning technique for use with multiplexed inter-connections
US6046984A (en) * 1997-04-11 2000-04-04 Digital Equipment Corp. Pruning of short paths in static timing verifier
US5960191A (en) * 1997-05-30 1999-09-28 Quickturn Design Systems, Inc. Emulation system with time-multiplexed interconnect
JP3357577B2 (ja) 1997-07-24 2002-12-16 富士通株式会社 故障シミュレーション方法および装置並びに故障シミュレーションプログラムを格納した記憶媒体
US6134689A (en) * 1998-02-12 2000-10-17 Motorola Inc. Method of testing logic devices
DE19917884C1 (de) * 1999-04-20 2000-11-16 Siemens Ag Schaltung mit eingebautem Selbsttest
JP3555071B2 (ja) * 1999-07-06 2004-08-18 Necエレクトロニクス株式会社 故障伝搬経路推定方法、故障伝搬経路推定装置及び記録媒体
US6895372B1 (en) 1999-09-27 2005-05-17 International Business Machines Corporation System and method for VLSI visualization
JP3614811B2 (ja) * 2001-02-15 2005-01-26 Necエレクトロニクス株式会社 組合せ論理回路における故障伝搬経路推定システム及び方法並びにプログラム
US7363099B2 (en) * 2002-06-07 2008-04-22 Cadence Design Systems, Inc. Integrated circuit metrology
JP4322509B2 (ja) * 2003-01-16 2009-09-02 株式会社東芝 故障検出率算出装置及び故障検出率算出方法
CN1997909B (zh) * 2004-05-22 2010-11-10 株式会社爱德万测试 用于控制模块化测试系统中可互换部件的方法和系统
US7437698B2 (en) * 2005-11-30 2008-10-14 Freescale Semiconductor, Inc. Method and program product for protecting information in EDA tool design views
JP5073638B2 (ja) * 2008-11-17 2012-11-14 本田技研工業株式会社 車体側部構造

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573638A (ja) * 1991-09-18 1993-03-26 Nec Corp 演算制御シミユレーシヨン方式
JPH0926981A (ja) * 1995-07-11 1997-01-28 Fujitsu Ltd 回路の故障シミュレーション方法および故障シミュレーション装置
JPH1115860A (ja) * 1997-06-20 1999-01-22 Toshiba Microelectron Corp 論理シミュレーション方法、論理シミュレーション装置及び論理シミュレーションプログラムを格納したコンピュータ読み取り可能な記録媒体
US20050229123A1 (en) * 2001-03-30 2005-10-13 Syntest Technologies, Inc. Computer-aided design system to automate scan synthesis at register-transfer level
US20050149805A1 (en) * 2003-12-10 2005-07-07 Syed Ikram H. Pending bug monitors for efficient processor development and debug

Also Published As

Publication number Publication date
EP2208078A4 (en) 2013-03-20
JP5263904B2 (ja) 2013-08-14
CN101828120A (zh) 2010-09-08
US20090106612A1 (en) 2009-04-23
WO2009051871A1 (en) 2009-04-23
CN101828120B (zh) 2013-01-30
TWI457777B (zh) 2014-10-21
EP2208078A1 (en) 2010-07-21
TW200919246A (en) 2009-05-01
US7925940B2 (en) 2011-04-12

Similar Documents

Publication Publication Date Title
JP5263904B2 (ja) スキャン回路テスト中のic構造シミュレーション速度向上
US6195776B1 (en) Method and system for transforming scan-based sequential circuits with multiple skewed capture events into combinational circuits for more efficient automatic test pattern generation
Navabi Digital system test and testable design
Corno et al. RT-level ITC'99 benchmarks and first ATPG results
Miczo Digital logic testing and simulation
KR100463735B1 (ko) 복합 ic의 설계 검증 방법
TWI479351B (zh) 模擬電路設計之方法及設備以及電腦可讀取儲存媒體
US20040117167A1 (en) Simulation of software objects generated from a hardware description
US8650513B2 (en) Reducing x-pessimism in gate-level simulation and verification
US20040078175A1 (en) Method and apparatus for modeling and simulating the effects of bridge defects in integrated circuits
Sohofi et al. Assertion-based verification for system-level designs
US7210109B2 (en) Equivalence checking of scan path flush operations
US7254793B2 (en) Latch modeling technique for formal verification
US10977400B2 (en) Deterministic test pattern generation for designs with timing exceptions
US5819072A (en) Method of using a four-state simulator for testing integrated circuit designs having variable timing constraints
Abdelatty et al. Fault: Open-source EDA’s missing DFT toolchain
US6725187B1 (en) Latch inference using dataflow analysis
US6269463B1 (en) Method and system for automatically determining transparency behavior of non-scan cells for combinational automatic test pattern generation
Perelroyzen Digital integrated circuits: design-for-test using Simulink and Stateflow
US7127691B2 (en) Method and apparatus for manufacturing test generation
US6546514B1 (en) Integrated circuit analysis and design involving defective circuit element replacement on a netlist
Joe Incremental Test Pattern Generation for structurally similar circuits
Swetha Priya et al. Estimation of SoC Testability at Early RTL Stage
Indino An open source platform and EDA tool framework to enable scan test power analysis testing
Chew et al. Integrating Design for Testability Technique into OpenLane with Skywater 130-Nanometer Process Design Kit

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120410

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120417

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120510

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120521

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120611

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130425

R150 Certificate of patent or registration of utility model

Ref document number: 5263904

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250