JP4804620B2 - システムオンチップの設計検証方法および装置 - Google Patents

システムオンチップの設計検証方法および装置 Download PDF

Info

Publication number
JP4804620B2
JP4804620B2 JP2000333518A JP2000333518A JP4804620B2 JP 4804620 B2 JP4804620 B2 JP 4804620B2 JP 2000333518 A JP2000333518 A JP 2000333518A JP 2000333518 A JP2000333518 A JP 2000333518A JP 4804620 B2 JP4804620 B2 JP 4804620B2
Authority
JP
Japan
Prior art keywords
chip
verification
silicon
core
design
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.)
Expired - Fee Related
Application number
JP2000333518A
Other languages
English (en)
Other versions
JP2001189387A (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.)
Advantest Corp
Original Assignee
Advantest Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advantest Corp filed Critical Advantest Corp
Publication of JP2001189387A publication Critical patent/JP2001189387A/ja
Application granted granted Critical
Publication of JP4804620B2 publication Critical patent/JP4804620B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

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

Description

【0001】
【発明の属する技術分野】
この発明は、複数の機能コアを有するシステムオンチップ(SoC)集積回路の設計の完全性を試験するための方法および装置に関し、特に各コアの意図した機能、各コアのタイミング、各コア間のインタフェース、およびシステムオンチップのシステム全体としての動作のそれぞれについて正しい設計がされているかを確認するようにしたシステムオンチップの設計検証方法および装置に関する。
【0002】
【従来の技術】
最近数年間において、ASIC(Application Specific IC)の技術は、チップ組み合わせ思考から埋込みコアをベースとしたシステムオンチップの思考に発展している。これらのシステムオンチップは、「コア」(IPまたは知的財産とも称される)として知られる設計済みの複雑で各種のアプリケーションに寄与する機能ブロックを用いて構成されている。これらの機能コアは、一般にVerilog/VHDLのような高級記述言語(HDL)の形態として(ソフトコアとも称される)、あるいはGDSIIのようなトランジスタレベルのレイアウトの形態として(ハードコアとも称される)入手することができる。システムオンチップは、オンチップによる機能を形成するために、ハードコアとソフトコアの組み合わせとして構成されている。そのようなオンチップ機能の例は、マイクロプロセッサ、大規模メモリアレー、オーディオ・ビデオコントローラ、モデム、インターネット・チューナ、二次元・三次元グラフィック・コントローラ、DSP等である。
【0003】
多くの場合、このようなコア(以後「機能コア」ともいう)は、コア提供会社より購入することができ、これを集積回路化してシステムオンチップを形成する。機能コアを外部より購入する場合、コア提供会社は、そのコアのシミュレーションテストベンチとともに、その設計ネットリストを購入者に提供する。したがって、そのコアがシステムオンチップに集積する場合、そのコアのテストベンチを、直接的に何らの変更も加えずに、集積されたシステムオンチップの設計の動作検証に用いることが望ましい。
【0004】
現在においては、コアの設計は、Verilog/VHDLのような高級記述言語を用いて、ブロックあるいはサブブロックについて記述され、ビヘイビオラルおよびゲートレベルのVerilog/VHDLシミュレータによりシミュレートされている。このシミュレーションは、コア設計がシリコンICに組み込まれる前に、その機能をチェックすることを目的としている。
【0005】
システムオンチップの設計において、その設計の有効性を検証することが最も重要でかつ難しい仕事の1つである。それは、完全な機能の検証を経なくては、設計上の問題を発見することも取り除くこともできないからである。シミュレーション速度が遅いこと、システムオンチップのサイズが大規模であることの理由により、今日の装置や方法によっては、システムオンチップの全体レベルでの設計有効性の確認はほとんど不可能な仕事である。
【0006】
検証とは受付けた対象のチェックを意味し、それはシステム設計について言えば、仕様との対比における設計をチェックすることを意味する。システム設計においてその検証は、ある抽象レベルから他の抽象レベルへの翻訳が正しいかを証明することにより実行される。この目的は、実用的な限度においてこの設計を実施し、チップを製造する際に、意図したようにシステムが動作するかを判断することである。システムオンチップは、複数の埋込コアによる単一のハードウェア素子である。したがって、システムオンチップの設計検証は、コアの検証、コア間の相互接続についての検証、およびコアを組み合わせたシステム全体としての検証により構成される。
【0007】
現在のシステムオンチップの設計手法において、システムオンチップの仕様の開発とともに、ビヘイビオラル・モデル(行動モデル)が開発され、それにより設計の有効確認あるいはシステム動作の検証のためのシミュレーション用テストベンチが形成される。
【0008】
システムレベルでの検証は、設計のハイアラキ(階級)に基づいて実施される。最初にブロックレベル(通常それはコアレベル)において、スタンドアロン(単一状態)での正当性がチェックされる。次に、これらのコア間のインタフェースが、処理タイプとデータ内容についての正当性がチェックされる。次のステップにおいては、完全にアセンブリされたチップ上で、アプリケーション・ソフトウェアあるいはそれに等価のテストベンチを走らせる。これはハードウェアとソフトウェアの共同検証を伴う(M. Keating and P. Bricaud, "Reuse methodology manual",Kluwer Academic Press, 1998; J. Stcunstrub and W. Wolf, "hardware-software co-design" KluwerAcademic Press, 1997)。ソフトウェアはそのソフトウェアコードをその動作時間で実行することにより始めて検証することができるのであり、このためソフトウェアとハードウェアの共同シミュレーションを行う必要がある。
【0009】
ASIC(アプリケーション・スペシフィックIC)あるいはFPGA(フィールド・プログラマブル・ゲートアレー)によるハードウェア試作品(プロトタイプ)を形成し、それをシステム全体としての動作を検証するために用いることも頻繁に行われる。
【0010】
(機能の検証)
第1図は、コア設計における異なる抽象化レベルとその各レベルにおいて現在用いられている検証方法例をあらわしている。第1図では抽象化の最上位レベルから最下位レベルに向かって、ビヘイビオラル(行動)HDLレベル21、RTL(レジスタ・トランスファ・ランゲージ)レベル23、ゲートレベル25および物理的設計レベル27がそれぞれ示されている。そのような異なる抽象化レベルに対応する検証方法例が、第1図のブロック28に示されている。このような検証方法における各種の試験種類には、以下のようなものがある。
【0011】
(1)設計仕様に追従しているか確認するための追従テスト。
(2)電圧、温度あるいはプロセスの各条件における最大値と最小値のような両極端な状態でのテストであるコーナテスト。
(3)基本的に特定の対象を有せず、まれにバグを検出できるのみのランダムテスト。
(4)設計を現実に適用して、意図した機能の誤記を修正することができる実コードテスト。
(5)設計の修正後に集合的に行う回帰テスト。一般的にバグを修正する毎にテスト条件を付加した新たなテストが必要となる。
【0012】
テストベンチの開発については、目標とするシステムオンチップやコアの機能により異なる。例えばプロセッサのテストベンチは、インストラクションに基づいたテストプログラムを実行するが、バスコントローラ・インタフェースコアの場合は、バス機能モデルとバスモニタを用いてテスト信号を与え、そのシミュレーション出力結果をチェックする。このようなアプローチにおける問題は、ビヘイビオラル・テストベンチは非常に速度が遅いことである。
【0013】
テスト信号あるいはテストパターンを発生した後、その応答出力が正しいかどうかをチェックする必要がある。現在において、そのようなチェックは、出力波形を観察することにより手動的に行っているが、設計に変更があった場合には、このような手動によるチェックは不可能になる。応答出力を検証する他の方法としては、実際のアプリケーション・ソフトウェアを実行することであり、これは基本的にハードウェアとソフトウェアの共同シミュレーションをすることである。しかしこの方法は、現在のコンピュータを用いた場合には、非常に非効率的である。さらにそのようなテストベンチにおいて、アプリケーションソフトウェアと機能コア間のやりとり(トランザクション)は、シミュレーションの全体のサイクルにおけるわずか一部に相当するにすぎない。したがって、わずか一部の機能が検証されるにすぎない。
【0014】
(インタフェースの検証)
システムオンチップの設計において、コアとコアとの間のインタフェースを検証する必要がある。通常、インタフェースは、コアとコア間バス、あるいはチップ全体用のバスにより、コア間を接続するためのアドレスとデータによる一定の構造を有している。またインタフェースは何らかの形式による制御機構、リクエストや許可のような信号、及びバスコントローラを有している。このようなインタフェースにおける一定構造は、所定シーケンス数のデータや制御信号を処理することにより規定することができる。
【0015】
インタフェースの検証には、各インタフェースにおける全ての可能な処理の一覧が必要となるが、そのような全てのテスト信号を形成することは実際にはできないので、そのような検証は不可能である。したがって限られた範囲での検証が行われる。この限られた検証の後、次のタスクは、各コアが受領する全てのデータの値および全てのデータのシーケンスについて、そのコアが正しく行動するかを検証することである。全ての異なるデータ値を処理することは、必要データ量が大きすぎるので、そのような検証は不可能である。したがって、今日においては、非常に不完全な検証しかされていない。
【0016】
(タイミングの検証)
タイミングの検証は、機能の検証よりもさらに困難なタスクである。静的タイミング分析が、現在最も広く用いられている方法である。静的タイミング分析は、各種の技術ライブラリにより合成されたコアの代表的なネットリストについて実行される。静的タイミング分析は、不良信号路が適切に抽出されないため、信頼を置くことはできない。不良信号路を除去することは、手動のプロセスによることになり、過誤が起こる可能性がある。ゲートレベルでのシミュレーションは、そのような過誤について現実的なチェックを行うことができるが、テスト信号を形成するため、さらにゲートレベルにおけるあらゆるタイミング信号路をシミュレーションするために、多大な時間を要するので、完全な解決策とはならない。さらに、このゲートレベルによるシミュレーションは、設計技術者が適切に検出するにはあまりにも複雑で大量であるために、最悪条件下でのタイミングの検証をすることは不可能である。
【0017】
(システムオンチップ全体の検証)
システムオンチップの設計検証の主な目標は、最終ユーザにより使用されるような形態での、システム全体としての動作を検証することである。このためには、全ての機能コア(ハードウェア・モデル)の完全な機能モデルが必要であり、かつ実際のシステムのアプリケーションが適切な量的範囲内で実行できることが必要である。新たなシステムの場合には、そのようなアプリケーションは存在しないこともある。ここでの主な問題はシミュレーション速度である。例えばRTL(レジスタ・トランスファ・ランゲージ)レベルであっても、プロセッサにオペレーティング・システムを起動させるために何時間も要する。このシミュレーション速度を向上させるためには、シミュレーションをより高速に実行するためにより高い抽象レベルを用いるか、ハードウェアによるプロトタイプ化、またはエミュレーションのいずれかの方法を用いる。
【0018】
より高い抽象モデルとしては、RTLモデルが機能コアについて用いられ、ビヘイビオラル(行動)モデルやISA(インストラクション・セット・アーキテクチャ)モデルが、メモリやプロセッサコアについて用いられ、バス機能モデルやバスモニタが、通信コアをチェックするために用いられる。メディア・プロセッサのようなシステムオンチップにおいては、シミュレーション環境上で実行するためのアプリケーションコードが発生される。ソフトウェア・アプリケーションを用いる場合には、設計検証としてできることはほとんどなく、そのシリコンチップが機能しているかあるいは完全に死んでいるかの判定と、基本的なバグを見つける程度に限られる。現在は、バスモニタあるいはシーケンスチェッカを通信インタフェースに用いて、手動で不良を検出している。しかし、そのシミュレーション速度は非常に遅く、1秒間に10サイクル程度しかできないので、現実的なシステム規模に用いるにはあまりにも時間がかかりすぎる。
【0019】
ソフトウェアとハードウェアが同時にシミュレーションされることをコシミュレーション(共同シミュレーション)と呼んでいる。ハードウェアはC言語によりモデル化することができ、全体のシステムが単一のC言語プログラムによって実行される。しかしこれはシステムの実施レベルで行われるのではなく、むしろビヘイビオラル(行動的)検証、あるいは実行可能性の検討ともいうべきものであるので、システム設計の検証とはならない。ハードウェア素子の実現状態をあらわすHDL/RTLが、システム全体の検証のために必要である。共同シミュレーションには、1または2以上のHDLシミュレータとC・C++プログラム間の通信が必要である。したがって、現在における共同シミュレーションのさらに別の問題は、異なるシミュレータ間の通信である。
【0020】
(ハードウェア・プロトタイプ)
全ての設計者は、最初の半導体チップを作成する際に、全ての機能が完全であることを目指す。しかし、実際にシステムを形成した場合には、1回目の製作では50%以上が失敗する。これはシステムレベルでの検証、すなわちシステムオンチップレベルでのデザインの有効性の確認が不足しているからである。1回目の試作で信頼性ある結果を得るためには、さらにより現実のアプリケーションをシミュレーションすることが必要である。このためシミュレーションの時間が非常に長くなる。したがって現在可能なより現実的な手段は、非常にコスト高にはなるが、シリコンプロトタイプ(半導体試作品)を用いることである。このような技術としてFPGA/LPGAおよびエミュレーションがある。
【0021】
小規模な設計の場合は、FPGA(フィールド・プログラマブル・ゲートアレー)やLPGA(レーザ・プログラマブル・ゲートアレー)によるプロトタイプを作成することができる。FPGAやLPGAはASIC(アプリケーション・スペシフィックIC)ほどのゲート数容量や動作速度は得られないが、小さな機能ブロックやコアには好都合である。しかしシステムオンチップの全体として用いるには不都合である。複数のFPGAを回路基板上で相互に接続し、全体としてのシステムオンチップのプロトタイプを構成することは可能である。しかしこの場合、もしバグを修正することによりシステムオンチップの再分離が必要となる場合には、FPGA間の接続も変更する必要が生じ、したがって新たな回路基板が必要となる。すなわち、設計の変更があると非常に大きな費用と時間が必要となる。
【0022】
このように大規模なチップ用設計の評価のために複数のFPGAを組み合わせる方法の代わりに、エミュレーション技術を用いることができる。エミュレーション技術では、機能ブロック相互間の接続がプログラム可能であり、ボード設計を固定でき、比較的大きなゲート容量を実現でき、かつメモリとプロセッサによるサポートが得られる。もしシステム全体の設計をエミュレータに搭載できるのであれば、エミュレーションは、シミュレーションより高速な動作が得られる。しかし、実際のシリコンによるシステムと比較すると、その実行速度はまだ非常に低速である。システムオンチップ・データあるいはテストベンチ・データのかなりの部分が、ホストコンピュータにロードされた場合には、エミュレーションの性能はさらに劣化する。この方法のさらに別の欠点は費用である。現在商業的に入手可能なエミュレーション・システムは、100万ドルを超過している。
【0023】
設計規模が数100万トランジスタのように非常に大きい場合、シリコンによるプロトタイプを作成して最終システムとしての不備を修正することが、現在可能な唯一の方法である。この場合において、同じプロトタイプが最初のいくつかの不備を修正するために使用できる。不備の修正の全行程を行うためには、シリコンによるプロトタイプの作成を2ー3回行うことが必要であるが、1回の作成毎に大きな費用を伴うので、生産までの総合費用は膨大になる。
【0024】
上述したように、現在用いられている技術では、システムオンチップの設計を性能、コスト、速度の観点から有効にテストすることができない。したがって、半導体工業分野において、システムオンチップの設計の完全な検証を、高速にかつ低コストで実施することができる新たな方法と装置が望まれている。
【0025】
【発明が解決しようとする課題】
したがって、本発明の目的は、各コアの機能、各コア間の相互接続の正当性、およびシステム全体の性能について、完全な設計検証をすることができるシステムオンチップの設計検証方法とその装置を提供することにある。
【0026】
また、本発明の他の目的は、高速でかつ低コストにより、完全な設計検証をすることができるシステムオンチップの設計検証方法とその装置を提供することにある。
【0027】
本発明のさらに他の目的は、システムオンチップ全体としての機能を検証するためのテストを実行することができる設計検証ステーションを提供することにある。
【0028】
また、本発明のさらに他の目的は、現在のシステムで得られるよりはるかに容易に、システムオンチップのコアの欠陥を修正することができる方法と装置を提供することにある。
【0029】
本発明は埋込コアによるシステムオンチップの設計検証についての現在の困難性を解決し、設計の検証あるいは完全な機能検証を行うための新規な方法と装置をもたらすものである。本発明のシステムはシステムオンチップの全体の機能を検証するために用いることができるので、発明者らはこれを設計検証ステーションと称している。本出願において開示するシステム構成は非常に効率的であり、より低コストであり、上述した従来技術とは基本的に異なるものである。
【0030】
【課題を解決するための手段】
本発明の1の態様は、複数の機能コアが集積された埋込コアによるシステムオンチップの設計を検証する方法である。本発明の方法は、システムオンチップに集積される各コアの検証を行うステップと、各コアに相当するシリコンICとコア提供者からのシミュレーション・テストベンチを使用するステップと、各コア間のインタフェース、コア、オンチップバス、およびグルーロジックをシステムオンチップの設計において形成されたテストベンチとグルーロジックのFPGAまたはエミュレーションを用いて検証するステップと、コアとコア間のタイミングおよびシステムオンチップレベルのタイミングを検証するステップと、システムオンチップ全体のシミュレーション・テストベンチを使用しかつアプリケーションを実行することによりシステム全体としての設計の検証するステップと、により構成される。
【0031】
本発明の他の態様は、システムオンチップの設計検証を行うための装置である。本発明の装置は、使用者とのインタフェースを行うとともに設計検証のための全体動作を制御するためのメイン・システム・コンピュータと、そのメイン・システム・コンピュータから受けたテストベンチ・データを用いてシステムオンチップに集積された複数の機能コアをテストするためのテストパターンを発生する複数の検証ユニットと、その複数の検証ユニットとメイン・システム・コンピュータをインタフェースするシステムバスとにより構成される。本発明の装置では、複数のシリコンICが検証ユニットに接続されて、その検証ユニットからテストパターンを受け、それに対する応答出力を発生してそれを検証ユニットとメイン・システム・コンピュータにより評価する。そのシリコンICは、システムオンチップに集積される機能コアと同一の内部構造と機能を有する。
【0032】
【発明の実施の形態】
本発明のシステムオンチップ設計検証方法の全体的なフローを第2図に示す。この検証方法は、個々のコアの検証、オンチップバスおよびグルーロジックにおける各コア間の接続状態の検証、タイミングの検証、およびシステム全体としての動作の検証の4ステップによるプロセスにより構成されている。
【0033】
より具体的には、ステップS31において、検証プロセスは最初に、試験対象としてのコアと同一構成を有するシリコンICとそのコアのテストベンチを用いて、各コアの検証を実行する。次にこのプロセスは次のステップS32に移行して、コア相互間のインタフェース、オンチップバスの機能やグルーロジック機能を検証する。次のステップS33では、コアとコアとの間の通信やシステムオンチップレベルでのクリティカルパスについてのシミュレーション・テストベンチを用いてコアにおけるタイミングを検証する。最後のステップS34では、全機能シミュレーション・テストベンチを用い、かつアプリケーション・ソフトウェアを実行して、システムオンチップ全体の設計検証を行う。
【0034】
本発明の方法は、第3図に示す装置で実施することができる。第3図は本発明のシステムオンチップ設計検証の全体的コンセプト、さらに電子自動設計(EDA)環境とこの設計検証ステーションとの関係をあらわしている。第3図の左上部はEDA環境を示しており、システムオンチップ43のような半導体素子が、CAD(コンピュータ支援設計)を用いて設計される。第3図の右下部において、本発明は設計検証ステーション50として実施されている。設計検証ステーション50は、テストの対象であるシステムオンチップ43の設計段階で形成された設計データとテストデータを用い、さらにシステムオンチップに集積される各コアと同一構成のシリコンICを用いて、システムオンチップ43の設計検証を実施する。
【0035】
この例において、システムオンチップ43は、機能コアA、BおよびCを有しており、そのより詳細な構成は第4図(A)に示されている。EDA環境41のもとでシステムオンチップが設計されると、設計データファイル45とテストデータファイル53が得られる。各種のデータ変換プロセスを経て、設計データファイル45は、設計した半導体集積回路としてのシステムオンチップを構成する各ゲートをあらわした物理レベルデータに変換される。この物理レベルデータに基づいて、現実のシステムオンチップ49が、半導体集積回路製造工程(シリコンプロセス)により製造される。本発明においては、このように現実に製造されたシステムオンチップを直接に試験するのではなく、システムオンチップ43の各機能コアA、B、C等をあらわす個別のICを設計検証ステーション50において検証する。
【0036】
システムオンチップの設計段階で得られたテストデータファイル53を用いて、テストベンチ54によりロジックシミュレーションを実行することにより、Verilog/VCDのようなVCDデータファイル55が得られる。VCDデータファイル55のデータは、各機能コアおよびシステムオンチップ全体としての入力出力間の関係をあらわしている。後で説明するが、VCDファイル55のデータは、イベントフォーマットになっている。VCDファイル55のデータは、設計検証ステーション50のイベントファイル58に転送される。設計検証ステーション50は、第2図に示したプロセスによるテストを実施するために、イベントテスタ59を複数備えている。
【0037】
設計検証ステーション50の基本構成例は、第4図(B)に示されており、これはソフトウェアとハードウェアの共同開発および検証を行う。設計検証ステーション50は、複数の検証ユニット(VU)661ー66Nを有しており、この検証ユニットは被試験デバイスのピン構成に基づいて構成変更できる。検証ユニット661ー66NはシリコンIC681−68Nに割り当てられる。シリコンIC681−68Nは、試験対象であるシステムオンチップに集積される機能コアA−Nに相当する機能と構成を有している。
【0038】
メイン・システム・コンピュータ62は、検証プロセスの全体の動作を制御する。メイン・システム・コンピュータ62と検証ユニット661ー66N間は、システムバス64により接続されている。検証プロセスの開始に先立ち、メイン・システム・コンピュータ62には、各機能コアA−Nの設計段階で得られた設計データ61とテストベンチデータ63が与えられる。
【0039】
設計検証ステーションのより詳細は第5図に示されており、ここでは設計検証ステーションは、説明の便宜のために6個の設計検証ステーションDVS1ーDVS6により構成された状態を示している。この例では、機能コアA−Eとグルーロジックとを有するシステムオンチップ設計の正当性を評価する場合を想定している。この例において、設計検証ステーションDVS1は、「バス・マスタ・コア」(機能コアA)をテストするために構成されており、設計検証ステーションDVS2は、「プロセッサ・コア」(機能コアB)をテストするために構成されており、設計検証ステーションDVS3およびDVS4は、「機能固有コア」(機能コアCおよびD)をテストするために構成されており、設計検証ステーションDVS5は、「メモリ・コア」(機能コアE)をテストするために構成されている。同様に、設計検証ステーションDVS6は、システムオンチップ内の「グルーロジック」をテストするために構成されている。本発明においては、上記の機能コアA−Eの設計検証のために、別のシリコンIC681−68Nを形成して用いる。
【0040】
第4図(B)および第5図に示すように、本発明のシステムは、バスを基本とする構造を取っている。システムバス64は、メイン・システム・コンピュータ62から検証ユニット661ー665の入力ピンへデータを転送するためのバスであり、業界の標準的なバスであるVMEバス、VXIバス、あるいはPCIバスでもよい。このシステムのピン割り当ては、再構成(割り当ての変更)することができるので、使用者は、各機能コアA−Eに対応する各シリコンIC681−685の入出力ピンに応じて、検証ユニットのテストピンを、適宜グループ分けすることができる。シリコンIC681−685は、ピンエレクトロニクス・デバイス搭載ボード(以後「ピンエレクトロニクス」)691ー695に搭載され、相互接続バス71を通して相互に接続されている。
【0041】
第5図に示すように、各ピングループ(割り当てられた検証ユニット)は、制御コンピュータ67を有しており、この制御コンピュータ67は、データフローの制御、シミュレーション・データのシリコンIC681−685への供給とその応答出力の比較、さらに各コアの各種のタスクのスケジュール管理、各コアやシステムオンチップの状態の観察等を行う。制御コンピュータ671ー676は相互に接続されている。また制御コンピュータ671ー676は、メイン・システム・コンピュータ62に、システムバス64を経由して接続されている。グルーロジックの検証のための設計検証ステーションDVS6には、同期ユニット75と調停ユニット76が設けられており、メイン・システム・コンピュータ62と、設計検証ステーションDVS1ーDVS6の制御コンピュータ671ー676との相互のデータ転送を促進する機能を果たす。
【0042】
検証プロセスの開始に先だって、メイン・システム・コンピュータ62は、個別のテストベンチデータ78を搭載し、このテストベンチデータを検証ユニット661ー665に分配する。メイン・システム・コンピュータ62は、ユーザインタフェース、ソフトウェア・アプリケーションの実行、複数の検証ユニットへの分配制御等を含む、設計検証の全体プロセスを制御する。各設計検証ステーションDVSにおいて、検証ユニット66は、テストベンチデータに基づいて形成したテストパターンを、機能コアに対応するシリコンIC68に供給する。後で説明するが、各検証ユニット66は、イベントテスタとして構成されていることが好ましい。
【0043】
テストパターン(イベント)は、第5図のピンエレクトロニクス69を経由して、被試験デバイス(シリコンIC68)に供給される。ピンエレクトロニクス69は、テストピンを割り当てられた被試験デバイス(シリコンIC68)のデバイスピンに物理的に接続する。ピンエレクトロニクス69は、基本的に、試験対象であるシリコンIC68と検証ユニット66間を接続するためのインタフェース回路により構成されている。例えば各インタフェース回路は、1または2以上のドライバとコンパレータ(図示せず)およびパフォーマンスボードで構成されている。ドライバは、テストパターンを被試験デバイスの入力ピンに与えるものであり、コンパレータは、被試験デバイスの応答出力を期待値と比較するものである。パフォーマンスボードは、被試験デバイスを機械的に搭載するためのものである。
【0044】
(各機能コアの検証)
本発明において、機能コアA−Eの設計検証を実施するために、個別のシリコンIC681−68Nを用いる。一般にこのようなシリコンIC68は、その機能コアの提供会社あるいはその提供会社のパートナーとして半導体を製造する会社から入手が可能である。本発明のシステム全体を、目的に応じて構成の割り当てを行う。例えば第4図(B)や第5図に示すように、1の検証ユニットを1の機能コア(シリコンIC68)に割り当てる。検証の実施のために、各機能コアのテストベンチを、各コアの入出力情報とともに、メイン・システム・コンピュータ62に搭載する。
【0045】
メイン・システム・コンピュータ62は、システムピンを1の検証ユニットについて1の機能コアの関係となるように割り当てるとともに、制御コンピュータ67を割り当てる。システム性能を強化するためには、1の制御コンピュータ67を1の検証ユニットに割り当てる代わりに、1のピンについて1の制御コンピュータを割り当てることもできる。そのような実施方法は、第4図(B)および第5図に示すシステムの直接的な延長であるので、ここではその内容の記述はしない。
【0046】
機能コアの入出力情報に基づいて、検証ユニット66のピン数は、例えば64ピンから256ピンの間の値であり「2のべき乗」であるピン数で構成される。このピンは基本的にイベントテスタ・チャンネルであり、これを通してテストパターンの供給動作と応答信号の比較動作が行なわれる。第4図(B)や第5図に示す本発明のシステムは、各コアに対するこのようなピンの再構成や再分配が可能である。したがって、基本的に全体のシステムを複数の検証ユニット66として構成することができ、その検証ユニットが、第5図に示すように各コアに割り当てられる。したがって、各個別のコアについて、割り当てられた検証ユニット66は、専用のイベント型テストシステムのようになる。イベントテスタの例については、米国特許出願番号09/406300「イベント型半導体試験システム」に詳述されており、後でも簡単に説明する。検証ユニット66により、イベント型のシミュレーション・テストベクタ(コアの機能および構造テストのため)がコア(シリコンIC68)に与えられて、その応答出力がシミュレーションデータ(期待値データ)と比較される。
【0047】
機能コアの意図機能とタイミングを検証するために、メイン・システム・コンピュータ62は、該当するコアのシミュレーション・テストベンチデータを、対応する検証ユニット66の制御コンピュータ67に供給する。このデータは、対象とするコアの設計シミュレーション・テストベンチである。このテストベンチは、信号値とその信号値が0から1または1から0に変化したときのタイミング情報、すなわちイベント型のテストパターンを有している。したがって、何らのデータ翻訳は必要なく、そのデータを直接にコア(シリコンIC68)に印加することができる。
【0048】
このデータ(テストパターン)は設計シミュレーションデータなので、コアに欠陥がなければ、このシミュレーションで予定した通りの動作をすることになる。このテストパターンの印加の結果としてのコアの応答出力は、検証ユニット66の制御コンピュータ67によりシミュレーションデータ(期待値)と比較される。このシミュレーションデータとの相違があるときは、それが制御コンピュータ67により検出される。これにより被試験コア(シリコンIC68)に不良があることが、検証ユニット66により検出される。このステップにより、システムオンチップの総合レベルでの設計検証を行う前に、各検証ユニットに対応した被試験コア(シリコンIC68)に欠陥がない状態を確立することが可能となる。
【0049】
本発明の方法と装置はさらに、コアの有する欠陥を使用者により修正する作業が、現在のテストシステムを用いるよりもはるかに容易にできる。これは、本発明の検証システムの環境が、被試験デバイスの元の設計環境、すなわちEDA環境と同じであるからであり、イベント型データを用いることができるからである。
【0050】
(検証ユニット(イベントテスタ))
上記のように、各検証ユニットは、イベントテスタとして構成されている。そのようなイベントテスタの例を第6図を参照して簡単に説明する。イベントテスタのより詳細については、本発明の出願人と同一の出願人による上記の米国特許出願番号09/406300「イベント型半導体試験システム」に開示されている。イベントテスタにおいては、テストパターンは、信号値の0から1または1から0への変化が、基準時間点からの時間長として記述されている。これに対して、伝統的なサイクル型のテストデータにおいては、テストパターンは、各テストサイクルについて、タイミングデータと波形データとベクタデータとの組み合わせにより記述されている。現在の設計自動化システムは、設計された半導体デバイスの論理シミュレーションを実行することにより、イベント形式のテストデータを形成する。したがって、イベント型のテストシステムは、その半導体デバイスの設計段階で形成された論理シミュレーションデータを直接的に使用することができる利点がある。
【0051】
第6図の例において、検証ユニット66は、検証ユニット書き込みデコーダ83、システムバス64に接続された制御コンピュータ67、内部バス85、アドレスシーケンサ88、フェイルメモリ87、イベントメモリ90、伸張復元ユニット92、タイミング・カウント・スケーリング・ロジック93、およびイベント発生器94により構成されている。検証ユニット66は、ピンエレクトロニクスを通して、試験対象であるコアの機能を有したシリコンIC68にテストパターンを供給する。
【0052】
検証ユニット書き込みデコーダ83は、検証ユニットの身元確認を行うもので、それによりメイン・システム・コンピュータ62が、システムバス64を通してグループ選択アドレスを送付することにより、検証ユニット66の構成を設定することができる。内部バス85は、ハードウェアとしてのイベントテスタ用のバスであり、アドレスシーケンサ88、フェイルメモリ87、イベントメモリ90、伸張復元ユニット92、タイミング・カウント・スケーリング・ロジック93、およびイベント発生器94のようなテスタ内の大部分の構成ブロックに共通に接続されている。
【0053】
上記のように、制御コンピュータ67は、メイン・システム・コンピュータ62から送られた試験対象コアのテストベンチデータに基づいて、検証ユニット66内の他の機能ブロックにインストラクションを供給する。フェイルメモリ87は、試験結果を格納するものであり、例えばコンパレータ(図示せず)からのシリコンIC68(被試験コア)についての不良情報を、アドレスシーケンサ88からのアドレス情報ともに格納する。フェイルメモリ87に保存した情報は、被試験コアとシステムオンチップの不良解析の段階で利用される。
【0054】
アドレスシーケンサ88は、イベントメモリ90にアドレスデータを供給する。イベントメモリ90は、各イベントのタイミングデータを格納している。例えば、イベントメモリ90は、イベントデータを2つに分けて保存する。1つはマスタ(基準)クロックの1周期時間の整数倍の値を示すタイミングデータを格納し、他の1つは、基準クロックの1周期の端数分のタイミングデータを格納する。
【0055】
イベントメモリのタイミングデータを圧縮された状態で保存することにより、イベントメモリの必要な容量を減少させることが好ましい。伸張復元(デコンプレッション)ユニット92は、イベントメモリ90から圧縮されたデータを受け、それを伸張プロセスにより復元する。復元されたタイミングデータは、タイミング・カウント・スケーリング・ロジック93に供給される。
【0056】
タイミング・カウント・スケーリング・ロジック93は、イベントメモリからのタイミングデータに基づき、現イベントのタイミングを決定する。現イベントのタイミングデータとそれ以前のイベントのタイミングデータを加算して、総合的なタイミングデータを形成する。タイミング・カウント・スケーリング・ロジック93は、タイミングデータをスケーリングファクタに比例した値に変更する(スケーリング)機能もはたす。そのようなタイミングデータのスケーリング動作は、タイミングデータ(絶対的時間あるいは相対的時間)にスケーリングファクタを乗算する動作により構成される。イベント発生ユニット94は、タイミング・カウント・スケーリング・ロジック93からの総合的なタイミングデータに基づいて、イベント信号を実際に発生する。イベント発生ユニット94は、そのイベント信号(テストパターン)をピンエレクトロニクス69に供給する。
【0057】
(インタフェース、オンチップバスおよびグルーロジックの検証)
システムオンチップの大部分は、予め設計された機能コアにより構成されているが、システムオンチップには常に、その設計者(各種コアをシステムに集積する設計者)により設計された特殊な機能や各コアを接続する機能を果たすためのロジックが存在する。そのようなロジックを「グルーロジック」と呼んでいる。伝統的には、このグルーロジックは、カスタムデザインとして実現されてきたが、最近は埋込のFPGA(フィールド・プログラマブル・ゲートアレー)により、そのようなグルーロジックを実施することが提案されている。上述したように、現在の技術においては、このグルーロジックの検証は、極めて不完全にしかされていない。
【0058】
本発明の方法では、グルーロジックの検証は、第5図に示すような専用の設計検証ステーションDVS6のようなサブシステムにより行う。その基本的な方法は以下である。
(1)第5図に示すように、各種のシリコンIC68を接続する相互接続バス71を、システムオンチップのオンチップバスの模型(モデル)として使用する。これは各機能コアA−Eを接続するシステムバスであり、オンチップバスの行動を模擬するものである。この相互接続バスにより、インストラクションとデータのフローを、システムオンチップのレベル(1のコアから他のコアへ)から設計検証ステーションのレベル(1の検証ユニットから他の検証ユニットへ)のインストラクションとデータのフローに模擬する。したがってこのバスは、システムオンチップのオンチップバスにおける全てのリクエスト・許可プロトコルや各コアのインタフェースにおける処置を捉えることができる。
【0059】
(2)グルーロジックを実現するためのFPGA(フィールド・プログラマブル・ゲートアレー)を、専用サブシステムにおいて利用する。さらにその代替え方法として、専用サブシステムにおいて、グルーロジックをエミュレートする。これらの方法は、それぞれ第7図と第8図に示されている。
【0060】
第7図はエミュレータによるサブシステムを示している。この方法では、商業的に得られるどんなエミュレータでも使用可能である。第7図において、エミュレータ72は、グルーロジック・テストベンチ・ファイル77からのグルーロジックの合成可能RTLデータとテストベンチをロードする。同期ユニット75と調停ユニット76は、市販のエミュレータと検証ユニットとのインタフェースを行うために使用する。制御コンピュータ67は、メイン・システム・コンピュータ62との同期と通信のタスクを行う。
【0061】
第8図はFPGAによる方法を示している。この方法では、グルーロジックはFPGA73により実現され、このFPGA73をシリコンIP(知的財産)、すなわちコアとして取り扱う。もしグルーロジックが、システムオンチップにおいて、埋込FPGAとして実現される場合には、このFPGA73は、埋込FPGA(グルーロジック)の単独の複製となる。このFPGA73は、独立したIPとして用いられ、専用の検証ユニットに割り当てられる。
【0062】
もしグルーロジックがカスタムデザインとしてシステムオンチップに実現される場合には、グルーロジックのRTLが、独立のFPGAとして専用検証ユニットに用いられる。この状態では大部分の場合において、FPGAのスピードは、システムオンチップ内のカスタム・グルーロジックより低速となる。したがって、この専用検証ユニットは、追加の同期ユニット75やバスの調停ユニット76が必要となる。この低速動作スピード以外は、この専用検証ユニットは、他の検証ユニットと構成や動作が類似している。
【0063】
(タイミングの検証)
各機能コアとそのコア間のインタフェース、およびグルーロジックの各機能が検証されると、システムオンチップレベルにおけるクリティカル信号路のタイミング検証が行われる。第2図のステップ32と33が完了すると、本発明の設計検証ステーションにおいて、システムオンチップを構成する各機能ブロック(コアとグルーロジック)およびその相互接続関係が利用可能になっている。各コアの機能とグルーロジックは検証されており、各コアのタイミングも検証されている。したがって、システムオンチップレベルのテストベンチと全てのアプリケーションをシステム全体に起動することができ、不良があった場合には、その不良は(個別のコアではなく)コアの集積したシステムにあると結論づけることができる。
【0064】
本発明の方法では、少数のシステムオンチップレベルのシミュレーションベクタ(テストベンチ)を実行することが好ましい。これによりコアとコア間のタイミングの正当性とシステムオンチップレベルのタイミングのクリティカルな信号路の正当性が検証される。このために、システムオンチップレベルのシミュレーション・テストベンチをメイン・システム・コンピュータにロードする。システムオンチップの設計段階において、そのようなシミュレーション・テストベンチが、タイミングについてクリティカルな信号路を実行するために開発される。このテストベンチのデータは、イベント形式になっており、現在の技術では一般にVerilog/VHDLにより得られるVCD(バリュー・チェンジ・ダンプ)フォーマットで入手できる。
【0065】
テストベンチデータのベクタは、システムオンチップの各種の異なる部分を接続するタイミングのクリティカルな通路について実行する。上述したように、本発明の設計検証ステーションは、システムオンチップの全ての構成素子を有しており、従ってタイミング検証のためのシミュレーション・テストベンチを実行することにより、設計段階でのシミュレーションと同一の結果が得られることが期待できる。シミュレーション結果と異なる結果が得られた場合には、それは不良を意味し、本発明のイベント型の環境(設計シミュレーション環境と同等)において、容易に修復できる。
【0066】
(システムオンチップの検証および全体設計の検証)
システムオンチップをシステム全体として機能を検証するためには、設計段階でのシミュレーションにより形成したシステムオンチップレベルの機能ベクタを設計検証ステーション上で実行する。これらのベクタもイベント形式になっている。多くの場合、これらのベクタは、システムオンチップの設計データ(Verilog/VHDLのRTLモデルあるいはビヘイビオラルモデル)にソフトウェア・アプリケーションを実行して発生する。これらのベクタは、システムオンチップの異なる部分について同時にあるいは異なる時間で実行され、これによりシステムオンチップの全体としての動作(ビヘイビア)がこれらを結合した応答から決定される。
【0067】
アプリケーション・プログラムが、C/C++のような高級レベル言語あるいはバイナリ形式であるときは、第9図に示すように、API(アプリケーション・プログラム・インタフェース)やPLI(プログラム・ランゲージ・インタフェース)のようなインタフェースが、これらのプログラムをメイン・システム・コンピュータにロードするため、あるいはメイン・システム・コンピュータと外部世界との通信のために必要となる。
【0068】
これを実現するために、メイン・システム・コンピュータ62は、複数バスプロトコルを有した複数分配コントロール機能(第5図や第9図)備えている。これはアプリケーションタスク(ソフトウェアアプリケーション)を複数のサブタスクに分解(フォーク)して、それらのスケジュールを決定し、そのサブタスクを異なる検証ユニット66に割り当てることにより対応するコアに割り当てる。この複数サブタスクに分解する動作(フォーク動作)は、Verilog/VHDLやC/C++のような高級レベル言語によるアプリケーション・ソフトウェア上で行われる。したがって、複数分配コントロールによるシステムコンパイラは、アプリケーションタスクについてフォーク動作を実施することができ、複数の検証ユニット66により構成される分散コンピュータ環境でそのフォーク動作を実行する。
【0069】
このフォーク動作の後、そのサブタスクはシステムバスを通して、個々の検証ユニットに分配される。制御コンピュータ67、調停ユニット76および同期ユニット75は、メイン・システム・コンピュータ62から各検証ユニット66の制御コンピュータへの通信とエラーのないデータ転送を可能にする。このような調停ユニット76、同期ユニット75、およびメイン・システム・コンピュータ62による構成は第9図に示されている。
【0070】
このサブタスクの割り当てに基づいて、制御コンピュータ67は、イベント型ベクタを各機能コアに与え、その機能コアからの応答信号を収集する。この応答信号は、調停ユニット76や同期ユニット75を用いたエラー無しのデータ転送により、メイン・システム・コンピュータ62に伝送される。メイン・システム・コンピュータ62は、「ジョイン」動作を実施し、各応答信号を合流させてシステムレベルでの応答信号を形成する。このシステムレベルの応答信号が、シミュレーションされた応答信号と比較され、システムオンチップが、正しい動作をしているかが決定される。これがアプリケーションの実行の場合には、この応答信号はアプリケーションの期待結果と比較される。例えば映像アプリケーションが実行されている場合には、ピクチャフレームの表示が現れることが必要である。応答出力が、シミュレーションデータあるいはアプリケーションの期待値出力と異なる場合には、メイン・システム・コンピュータ62により、その不一致が検出される。本発明の設計検証ステーションの環境が、元のシステムオンチップ設計の環境と同じなので、そのような設計上の問題点は、設計技術者により容易に修正できる。
【0071】
(フィクスチャまたはパフェーマンスボード)
本発明の設計検証ステーションは、シリコンIC(コア)やグルーロジックとのインタフェースのために、パフォーマンスボードを必要とする。第5図から第9図の例では、デバイス搭載ボード、すなわちパフォーマンスボード69は、各コア毎(各設計検証ステーション毎)に装備されている。第10図のブロック図では、パフォーマンスボードについての他の構成を示している。この例では、パフォーマンスボード90は、全てのコアとグルーロジックを搭載している。コネクタ95がパフォーマンスボード90上に設けられ、検証ユニット66とシリコンIC(コア)68間を接続する。
【0072】
このパフォーマンスボード90は、従来技術におけるテスタのパフォーマンスボードによく類似しており、例えば多層回路基板により構成されている。テスタのパフォーマンスボードとこのパフォーマンスボード90の基本的な相違は、テスタのパフォーマンスボードは、単一の被試験デバイスを搭載するにすぎないが、本発明の設計検証ステーションにおけるパフォーマンスボード90は、全てのコアに対応するシリコンIC68とグルーロジック(FPGA等)を搭載する。
【0073】
第11図は本発明の設計検証ステーションの別の例を示しており、複数の検証ユニットがメイン・システム・コンピュータにより直接的に制御されている。この例では、先の例と異なり、各設計検証ステーションは、制御コンピュータを有しなく、システムバス64を通して、メイン・システム・コンピュータ62により直接的に制御される。したがって、全てのタスク、例えば同期、コアの応答信号の評価、タイミング評価、システムオンチップ全体としての評価等が、メイン・システム・コンピュータ62により実施される。
好ましい実施例しか明記していないが、上述した開示に基づき、添付した請求の範囲で、本発明の精神と範囲を離れることなく、本発明の様々な形態や変形が可能である。
【0074】
【発明の効果】
本発明は、上述の説明内容からして、下記に記載される効果を奏する。
各コアの機能、各コア間の相互接続の正当性、およびシステム全体の性能について、完全な設計検証をすることができるシステムオンチップの設計検証方法とその装置を提供することができた。
【図面の簡単な説明】
【図1】機能コアの設計における抽象化レベルとその設計の検証のためにその抽象化レベルに対応した検証方法を示す概念図である。
【図2】本発明におけるシステムオンチップ設計検証の全体的コンセプトと設計検証のプロセスを示すフローチャートである。
【図3】本発明におけるシステムオンチップ設計検証の全体的コンセプトであり、電子自動設計(EDA)環境と設計検証ステーションとの関係を含む概念図である。
【図4】(A)は第3図のEDA環境で設計されたシステムオンチップの例を示すブロック図であり、(B)は第3図の設計検証ステーションの基本構成の例を示すブロック図である。
【図5】本発明における設計検証ステーションのより詳細な構成例を示すブロック図であり、複数の検証ユニットを有している。
【図6】第5図の検証ユニットの構成例を示すブロック図であり、検証ユニットはイベントテスタの構成を有している。
【図7】システムオンチップ内のグルーロジックを評価するための検証ユニットの構成例を示すブロック図である。
【図8】システムオンチップ内のグルーロジックを評価するための検証ユニットの他の構成例を示すブロック図である。
【図9】本発明における設計検証ステーションの他の構成例を示すブロック図であり、高級アプリケーション言語をサポートする。
【図10】本発明における設計検証ステーションのさらに他の構成例を示すブロック図であり、試験対象としての機能コアを搭載するパフォーマンスボードとの構造的関係を示している。
【図11】本発明における設計検証ステーションのさらに他の構成例を示すブロック図であり、複数の検証ユニットがメイン・システム・コンピュータにより直接的に制御される。
【符号の説明】
62 メイン・システム・コンピュータ
64 バス
66 検証ユニット
67 制御コンピュータ
68 シリコンIC
69 ピンエレクトロニクス・デバイス搭載ボード
71 相互接続バス
72 エミュレータ
73 フィールド・プログラマブル・ゲートアレー(FPGA)
75 同期ユニット
76 調停ユニット
77 グルーロジックRTLデータ
78 個別コアのテストベンチデータ
DVS 設計検証ステーション

Claims (33)

  1. 複数の機能コアが集積された埋込コア型システムオンチップの設計を検証する方法において、
    設計の検証対象であるシステムオンチップに集積される各機能コアと同一の機能と構成を有する複数のシリコンICを製造するステップと、
    そのシリコンICを複数の検証ユニットに搭載するステップであり、各検証ユニットはハードウェアによるテスターであり、各シリコンICは、コンパレータとドライバーを有するピンエレクトロニクスを介して対応する検証ユニットに接続されるステップと、
    そのシリコンICにコア固有のテストパターン信号を上記ドライバーを介して印加してその結果シリコンICから得られる出力を上記コンパレータにより比較することにより、システムオンチップに集積される各コアに対応するシリコンICの検証を行うステップであり、上記コア固有のテストパターン信号は、そのコアの設計段階で形成されたシミュレーション・テストベンチを使用して発生するステップと、
    各コア間のインタフェース、コア、オンチップバス、およびグルーロジックをその間にインタフェーステスト信号を印加して検証するステップであり、そのインタフェーステスト信号はシステムオンチップの設計において形成されたテストベンチとグルーロジックのFPGAまたはエミュレーションを用いて検証するステップと、
    各コアに対応するシリコンICのタイミング動作を検証することにより、コアとコア間のタイミングおよびシステムオンチップレベルのタイミングを検証するステップと、
    複数のシリコンICに全体動作テストパターン信号を印加してその結果としてのシリコンICからの出力を検証することにより、複数のシリコンICの全体動作を検証し、これによりシステム全体としての設計を検証するステップであり、その全体動作テストパターン信号は、システムオンチップ全体のシミュレーション・テストベンチを使用し、かつアプリケーションを実行することにより発生するステップと、
    により構成されるシステムオンチップの設計検証方法。
  2. 上記検証するステップは、複数の検証ユニットを各コアと同一の機能と構成を有するシリコンICに割り当て、かつそのシリコンICを割り当てた検証ユニットに搭載した後に実施する請求項1に記載のシステムオンチップの設計検証方法。
  3. 上記検証するステップは、複数の検証ユニットを各コアと同一の機能と構成を有するシリコンICに割り当て、かつそのシリコンICを割り当てた検証ユニットに搭載した後に実施し、その検証ユニットのテストピンは試験対象であるシリコンICの入力・出力ピンに基づいて構成する請求項1に記載のシステムオンチップの設計検証方法。
  4. 上記検証するステップは、複数の検証ユニットを各コアと同一の機能と構成を有するシリコンICに割り当て、かつそのシリコンICを割り当てた検証ユニットに搭載した後に実施し、それぞれの検証ユニットはイベント型テスタで構成され、上記シミュレーション・テストベンチから抽出したテストパターンの信号値の変化とその変化点のタイミングをあらわしたイベントデータに基づいてテストパターンを発生する請求項1に記載のシステムオンチップの設計検証方法。
  5. 上記各コアのシミュレーション・テストベンチは、イベント型のフォーマットを有しており、これによ検証ユニットによりテストパターン信号を発生してシステムオンチップのコアの不良の発見とその修復のプロセスを容易に行う請求項1に記載のシステムオンチップの設計検証方法。
  6. 複数の機能コアが集積された埋込コア型システムオンチップの設計を検証する方法において、
    システムオンチップに集積される対応するコアと同一の機能と回路構成を有する複数のシリコンICを製造するステップと
    複数の検証ユニットを備え、その検証ユニットを試験対象コアに相当する上記製造したシリコンICに割り当てるステップと、
    そのシリコンICを複数の検証ユニットに搭載するステップであり、各検証ユニットはハードウェアによるテスターであり、各シリコンICは、コンパレータとドライバーを有するピンエレクトロニクスを介して対応する検証ユニットに接続されるステップと、
    その各コアをシステムオンチップ内で結合するためのオンチップバスをモデルとした相互接続バスにより上記シリコンICを接続するステップと、
    そのシリコンICにテストパターンを上記ドライバーを介して印加してそのシリコンICの応答出力を上記コンパレータにより比較しその結果を上記検証ユニットにより評価することによりシステムオンチップに集積される上記コアの検証を行うテップと、
    により構成され、上記テストパターンは、上記各コアの設計段階で形成されたテストベンチデータから抽出したイベントデータを用いて直接的に形成されるシステムオンチップの設計検証方法。
  7. エミュレータによりインタフェースとグルーロジックをエミュレーションすることにより、システムオンチップに集積するコアと同一の機能と回路構成を有するシリコンIC間のインターファイスやグルーロジックの設計の検証を行うステップをさらに有する請求項6に記載のシステムオンチップの設計検証方法。
  8. フィールド・プログラマブル・ゲートアレー(FPGA)によりインタフェース機能とグルーロジックを実行することにより、システムオンチップに集積するコアと同一の機能と回路構成を有するシリコンIC間のインターファイスやグルーロジックの設計の検証を行うステップをさらに有する請求項6に記載のシステムオンチップの設計検証方法。
  9. システムオンチップレベルでのテストベンチデータに基づいて形成したテスト信号を各コアと同一の機能と回路構成を有するシリコンICに与えることにより、コアとコア間のタイミングおよびシステムオンチップレベルでのタイミング・クリティカル信号路のタイミングの設計の検証を行うステップをさらに有する請求項6に記載のシステムオンチップの設計検証方法。
  10. 複数のシリコンICに全体動作テストパターン信号を印加してその結果としてのシリコンICからの出力を検証することにより、複数のシリコンICの全体動作を検証し、これによりシステム全体としての設計検証するステップをさらに有その全体動作テストパターン信号は、システムオンチップ全体のシミュレーション・テストベンチを使用し、かつアプリケーションを実行することにより発生する、請求項6に記載のシステムオンチップの設計検証方法。
  11. 上記検証するステップは、複数の検証ユニットを各コアと同一の機能と回路構成を有するシリコンICに割り当て、かつそのシリコンICを割り当てた検証ユニットに搭載した後に実施する請求項6に記載のシステムオンチップの設計検証方法。
  12. 上記検証するステップは、複数の検証ユニットを各コアと同一の機能と回路構成を有するシリコンICに割り当て、かつそのシリコンICを割り当てた検証ユニットに搭載した後に実施し、それぞれの検証ユニットはイベント型テスタで構成され、テストパターンの信号値の変化とその変化点のタイミングをあらわしたイベントデータに基づいてテストパターンを発生する請求項6に記載のシステムオンチップの設計検証方法。
  13. 上記各コアのシミュレーション・テストベンチは、イベント型のフォーマットを有しており、これによ検証ユニットによりテストパターン信号を発生してシステムオンチップのコアの不良の発見とその修復のプロセスを容易に行う請求項6に記載のシステムオンチップの設計検証方法。
  14. 上記検証するステップは、複数の検証ユニットを各コアと同一の機能と回路構成を有するシリコンICに割り当て、かつそのシリコンICを割り当てた検証ユニットに搭載した後に実施し、その検証ユニットのテストピンは試験対象であるシリコンICの入力・出力ピンに基づいて構成する請求項6に記載のシステムオンチップの設計検証方法。
  15. 複数の機能コアが集積された埋込コア型システムオンチップの設計を検証する設計検証装置において、
    使用者とのインタフェースを行うとともに設計検証のための全体動作を制御するためのメイン・システム・コンピュータと、
    そのメイン・システム・コンピュータから受けたテストベンチ・データを用いてシステムオンチップに集積される複数の機能コアをテストするためのテストパターンを発生し、そのテストパターンを上記機能コアとは別に製造された複数のシリコンICに印加してその応答結果を検証する、各検証ユニットがハードウェアによるテスターである複数の検証ユニットと、
    その複数の検証ユニットとメイン・システム・コンピュータをインタフェースするシステムバスと、
    を有し、上記各検証ユニットは上記メイン・システム・コンピュータからテストベンチデータを受け取る制御コンピュータを有しており、上記複数のシリコンICはコンパレータとドライバーを有するピンエレクトロニクスを介して対応する検証ユニットに接続されて、そのドライバーを介して検証ユニットからテストパターンを受け、そのテストパターンに対する応答出力を発生し、その応答出力をコンパレータと検証ユニットとメイン・システム・コンピュータにより評価し、そのシリコンICは、システムオンチップに集積される対応する機能コアと同一の内部構造と機能を有する、
    ように構成されたシステムオンチップの設計検証装置。
  16. 上記各検証ユニットにおける上記制御コンピュータは、割り当てられた上記シリコンICに、メイン・システム・コンピュータからシステムバスを通して送られたテストベンチデータに基づいて形成したテストパターンを印加しかつそのシリコンICからの応答出力を評価し、上記テストベンチデータは上記各機能コアの設計段階で形成される請求項15に記載のシステムオンチップの設計検証装置。
  17. 上記各検証ユニットは、対応する上記各機能コアと同一の機能と構造を有する上記各シリコンICに割り当てられる請求項15に記載のシステムオンチップの設計検証装置。
  18. 上記各検証ユニットは、設計検証するシステムオンチップに集積する上記各機能コアと同一の機能と構造を有する上記各シリコンICに割り当てられ、その検証ユニットのテストピンは被試験シリコンICの入力・出力ピンに基づいて構成される請求項15に記載のシステムオンチップの設計検証装置。
  19. 上記各検証ユニットは複数のテストピンによるグループを構成しており、テストピンの構成は試験対象であるシリコンICのピン構成に対応して自由に構成の変更ができる請求項15に記載のシステムオンチップの設計検証装置。
  20. 上記各検証ユニットは複数のテストピンによるグループを構成しており、テストピンの構成は試験対象であるシリコンICのピン構成に対応して自由に構成の変更ができ、そのグループのサイズは試験対象であるシリコンICの入力・出力ピンの数に基づいてメイン・システム・コンピュータにより決定される請求項15に記載のシステムオンチップの設計検証装置。
  21. 上記各検証ユニットは制御コンピュータを有し、その制御コンピュータは上記メイン・システム・コンピュータからシステムバスを通して送られたテストベンチデータを受け、そのテストベンチデータからイベントデータを抽出してテストパターン形成し、そのテストパターンを割り当てられたシリコンICに印加してそのシリコンICからの応答出力を評価し、その制御コンピュータは上記検証ユニットの1のテストピン毎に設けられ、上記テストベンチデータは上記各機能コアの設計段階で形成される請求項15に記載のシステムオンチップの設計検証装置。
  22. 上記検証ユニットは、割り当てられたシリコンICを評価することにより対応する機能コアを検証し、さらに検証ユニットは、搭載したエミュレータによりインタフェースとグルーロジックをエミュレーションすることにより、システムオンチップに集積する機能コア間のインターファイスやグルーロジックを検証する請求項15に記載のシステムオンチップの設計検証装置。
  23. 上記検証ユニットは、割り当てられたシリコンICを評価することにより対応する機能コアを検証し、さらに検証ユニットは、搭載したフィールド・プログラマブル・ゲートアレー(FPGA)によりインタフェース機能とグルーロジックを実行することにより、システムオンチップに集積する機能コア間のインターファイスやグルーロジックの検証を行う請求項15に記載のシステムオンチップの設計検証装置。
  24. 上記メイン・システム・コンピュータと制御ユニットは、システムオンチップレベルでのテストベンチデータに基づいて形成したテスト信号を各コアに対応するシリコンICに与えることにより、コアとコア間のタイミングおよびシステムオンチップレベルでのタイミング・クリティカル信号路のタイミングの設計の検証を行う請求項15に記載のシステムオンチップの設計検証装置。
  25. 上記メイン・システム・コンピュータと制御ユニットは、システムオンチップ全体のシミュレーション・テストベンチとアプリケーション・ソフトウェアを用いて上記複数のシリコンICの全体動作を検証することにより、システムオンチップ全体の検証を行う請求項15に記載のシステムオンチップの設計検証装置。
  26. 上記メイン・システム・コンピュータと制御ユニットは、システムオンチップ全体のシミュレーション・テストベンチとアプリケーション・ソフトウェアを用いて上記複数のシリコンICの全体動作を検証することにより、システムオンチップ全体の検証を行い、さらにメイン・システム・コンピュータは、システムオンチップのアプリケーション・ソフトウェアの実行のための計算を複数のサブタスクに分離して検証ユニットに分配し、その分配したサブタスクを複数の検証ユニットに割り当てる請求項15に記載のシステムオンチップの設計検証装置。
  27. 上記メイン・システム・コンピュータと制御ユニットは、システムオンチップ全体のシミュレーション・テストベンチとアプリケーション・ソフトウェアを用いて上記複数のシリコンICの全体動作を検証することにより、システムオンチップ全体の検証を行い、さらにメイン・システム・コンピュータは、システムオンチップのアプリケーション・ソフトウェアの実行のための計算を複数のサブタスクに分離して検証ユニットに分配し、その分配したサブタスクを複数の検証ユニットに割り当て、さらにメイン・システム・コンピュータは、その検証ユニットからの上記シリコンICの応答出力を合成してシステムオンチップレベルでの応答出力を形成し、その良否を決定する請求項15に記載のシステムオンチップの設計検証装置。
  28. 上記各検証ユニットは、対応するシリコンICを搭載するためのパフォーマンスボードをさらに有する請求項15に記載のシステムオンチップの設計検証装置。
  29. 上記各検証ユニットは、被試験グルーロジックと全てのシリコンICを搭載するためのパフォーマンスボードをさらに有する請求項15に記載のシステムオンチップの設計検証装置。
  30. 上記各検証ユニットはイベント型テスタで構成され、その検証ユニットは、テストパターンの信号値の変化とその変化点のタイミングをあらわしたイベントデータに基づいてテストパターンを発生する請求項15に記載のシステムオンチップの設計検証装置。
  31. 上記各コアのシミュレーション・テストベンチは、イベント型のフォーマットを有しており、これにより検証ユニットによりテストパターン信号を発生してシステムオンチップのコアの不良の発見とその修復のプロセスを容易に行う請求項15に記載のシステムオンチップの設計検証装置。
  32. 上記各検証ユニットはイベント型テスタとして構成され、そのイベント型テスタは、
    基準クロック周期の整数倍データと基準クロック周期の端数データとで形成されるタイミングデータを格納するイベントメモリを有し、そのタイミングデータは予め定めた基準時点と現在のイベントとの間の時間差であり、
    上記タイミングデータを読み出すために、上記イベントメモリをアクセスするためのアドレスデータを発生するアドレスシーケンサと、
    上記基準クロックの上記整数倍だけ遅延したイベントスタート信号を発生するためのタイミング・カウント・ロジック部と、
    そのタイミング・カウント・ロジック部からのイベントスタート信号と上記イベントメモリからの基準クロック周期の整数倍データと基準クロック周期の端数データを基にして、各イベントを形成し、これにより上記テスト信号やストローブ信号を発生するためのイベント発生ユニットと、
    上記シリコンIC上記検証ユニットを割り当てるために検証ユニットのアドレスを検出する検証ユニット書き込みデコーダと、
    により構成される請求項15に記載のシステムオンチップの設計検証装置。
  33. 複数の機能コアが集積された埋込コア型システムオンチップの設計を検証する設計検証装置において、
    使用者とのインタフェースを行うとともに設計検証のための全体動作を制御するためのメイン・システム・コンピュータと、そのメイン・システム・コンピュータから受けたテストベンチ・データを用いてシステムオンチップに集積される複数の機能コアをテストするためのテストパターンを発生して、そのテストパターンを上記機能コアとは別に製造された複数のシリコンICに印加してその応答結果を検証する、各検証ユニットがハードウェアによるテスターである複数の検証ユニットと、
    その複数の検証ユニットとメイン・システム・コンピュータをインタフェースするシステムバスと
    により構成され、上記各検証ユニットは上記メイン・システム・コンピュータからテストベンチデータを受け取る制御コンピュータを有しており、上記複数のシリコンICはコンパレータとドライバーを有するピンエレクトロニクスを介して対応する検証ユニットに接続されて、そのドライバーを介してその検証ユニットからテストパターンを受け、そのテストパターンに対する応答出力を発生し、その応答出力を上記コンパレータと検証ユニットとメイン・システム・コンピュータにより評価し、そのシリコンICは、システムオンチップに集積される対応する各機能コアと同一の内部構造と機能を有しており、
    さらに上記メイン・システム・コンピュータは、上記シリコンICに印加するテストパターンの発生、そのシリコンICからの応答出力の評価、システムオンチップのタイミングやインタフェースの評価、およびシステムオンチップ全体の設計検証の全てのタスクを行うシステムオンチップの設計検証装置。
JP2000333518A 1999-10-28 2000-10-27 システムオンチップの設計検証方法および装置 Expired - Fee Related JP4804620B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/428,746 US6678645B1 (en) 1999-10-28 1999-10-28 Method and apparatus for SoC design validation
US09/428746 1999-10-28

Publications (2)

Publication Number Publication Date
JP2001189387A JP2001189387A (ja) 2001-07-10
JP4804620B2 true JP4804620B2 (ja) 2011-11-02

Family

ID=23700234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000333518A Expired - Fee Related JP4804620B2 (ja) 1999-10-28 2000-10-27 システムオンチップの設計検証方法および装置

Country Status (5)

Country Link
US (1) US6678645B1 (ja)
JP (1) JP4804620B2 (ja)
KR (1) KR100491461B1 (ja)
DE (1) DE10053207A1 (ja)
TW (1) TW494325B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298250B2 (en) 2013-08-06 2016-03-29 Globalfoundries Inc. Reconfigurable circuit to emulate system critical paths

Families Citing this family (182)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076415B1 (en) * 1998-12-17 2006-07-11 Cadence Design Systems, Inc. System for mixed signal synthesis
US6904397B1 (en) * 2000-02-22 2005-06-07 Xilinx, Inc. System and method for assisting in the development and integration of reusable circuit designs
US6970814B1 (en) * 2000-03-30 2005-11-29 International Business Machines Corporation Remote IP simulation modeling
US7191112B2 (en) * 2000-04-28 2007-03-13 Cadence Design Systems, Inc. Multiple test bench optimizer
US7124376B2 (en) * 2000-05-02 2006-10-17 Palmchip Corporation Design tool for systems-on-a-chip
US6675310B1 (en) * 2000-05-04 2004-01-06 Xilinx, Inc. Combined waveform and data entry apparatus and method for facilitating fast behavorial verification of digital hardware designs
KR100374328B1 (ko) * 2000-06-03 2003-03-03 박현숙 칩 설계 검증 및 테스트 장치 및 방법
EP1301875A2 (en) * 2000-07-21 2003-04-16 Telecom Italia Lab S.p.A. Method and system for verifying modules destined for generating circuits
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US7016826B2 (en) * 2000-12-21 2006-03-21 Intel Corporation Apparatus and method of developing software for a multi-processor chip
US6922665B1 (en) * 2001-01-08 2005-07-26 Xilinx, Inc. Method and system for device-level simulation of a circuit design for a programmable logic device
US20020107678A1 (en) * 2001-02-07 2002-08-08 Chuan-Lin Wu Virtual computer verification platform
US6880112B2 (en) * 2001-04-04 2005-04-12 Nec Corporation Method and apparatus for online detection and correction of faults affecting system-on-chip buses
US6876941B2 (en) * 2001-04-12 2005-04-05 Arm Limited Testing compliance of a device with a bus protocol
JP4078435B2 (ja) * 2001-06-06 2008-04-23 株式会社ルネサステクノロジ 論理集積回路及び論理集積回路設計方法及び論理集積回路のハードウェア動作記述を生成するハードウェア記述生成方法
US20030005396A1 (en) * 2001-06-16 2003-01-02 Chen Michael Y. Phase and generator based SOC design and/or verification
US7260517B2 (en) * 2001-06-17 2007-08-21 Brian Bailey Synchronization of multiple simulation domains in an EDA simulation environment
US7401015B1 (en) 2001-06-17 2008-07-15 Brian Bailey Coherent state among multiple simulation models in an EDA simulation environment
KR100725135B1 (ko) * 2001-06-30 2007-06-25 어보브반도체 주식회사 시스템 온 칩
JP4102752B2 (ja) * 2001-08-14 2008-06-18 ベリシティー デザイン, インコーポレイテッド Vcd−オン−デマンドのシステムおよび方法
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7627462B2 (en) * 2001-11-27 2009-12-01 Arm Limited Hardware simulation using a test scenario manager
US20030105617A1 (en) * 2001-12-05 2003-06-05 Nec Usa, Inc. Hardware acceleration system for logic simulation
US7171602B2 (en) * 2001-12-31 2007-01-30 Advantest Corp. Event processing apparatus and method for high speed event based test system
US7353156B2 (en) * 2002-02-01 2008-04-01 International Business Machines Corporation Method of switching external models in an automated system-on-chip integrated circuit design verification system
US6941538B2 (en) * 2002-02-22 2005-09-06 Xilinx, Inc. Method and system for integrating cores in FPGA-based system-on-chip (SoC)
US7577540B2 (en) * 2002-03-01 2009-08-18 Nec Corporation Re-configurable embedded core test protocol for system-on-chips (SOC) and circuit boards
JP2003271694A (ja) * 2002-03-18 2003-09-26 Fujitsu Ltd プロセッサを含む論理回路の検証用シミュレーション方法及び装置並びに論理回路検証用エラー検出プログラム
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7099813B2 (en) * 2002-04-09 2006-08-29 Arm Limited Simulating program instruction execution and hardware device operation
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US6880133B2 (en) * 2002-05-15 2005-04-12 Sonics, Inc. Method and apparatus for optimizing distributed multiplexed bus interconnects
FR2841668B1 (fr) * 2002-06-26 2006-08-11 Emulation And Verification Eng Procede et systeme d'emulation d'un circuit sous test associe a un environnement de test
KR100487535B1 (ko) * 2002-08-14 2005-05-03 삼성전자주식회사 다른 종류의 반도체 장치들을 동시에 테스트하는 시스템
US7340585B1 (en) * 2002-08-27 2008-03-04 Xilinx, Inc. Method and system for fast linked processor in a system on a chip (SoC)
US7761845B1 (en) * 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US7092865B1 (en) * 2002-09-10 2006-08-15 Xilinx, Inc. Method and apparatus for timing modeling
US20040078179A1 (en) * 2002-10-17 2004-04-22 Renesas Technology Corp. Logic verification system
US8332197B2 (en) * 2002-12-12 2012-12-11 Pmc-Sierra Us, Inc. Simulation of complex system architecture
JP3951925B2 (ja) * 2003-01-31 2007-08-01 セイコーエプソン株式会社 ハードウェア/ソフトウェア協調検証方法
US7216318B1 (en) 2003-04-29 2007-05-08 Cadence Design Systems, Inc. Method and system for false path analysis
US7587690B1 (en) * 2003-04-29 2009-09-08 Cadence Design Systems, Inc. Method and system for global coverage analysis
US7007264B1 (en) * 2003-05-02 2006-02-28 Xilinx, Inc. System and method for dynamic reconfigurable computing using automated translation
US20040236562A1 (en) * 2003-05-23 2004-11-25 Beckmann Carl J. Using multiple simulation environments
US7194658B2 (en) * 2003-07-24 2007-03-20 Sonics, Inc. Various methods and apparatuses for interfacing of a protocol monitor to protocol checkers and functional checkers
US6920621B1 (en) * 2003-08-20 2005-07-19 Xilinx, Inc. Methods of testing for shorts in programmable logic devices using relative quiescent current measurements
US7376917B1 (en) * 2003-08-25 2008-05-20 Xilinx, Inc. Client-server semiconductor verification system
US7606695B1 (en) * 2003-09-30 2009-10-20 Sun Microsystems, Inc. Self-checking simulations using dynamic data loading
US8065128B1 (en) * 2003-10-23 2011-11-22 Altera Corporation Methods and apparatus for automated testbench generation
US9087036B1 (en) * 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling
US8504992B2 (en) * 2003-10-31 2013-08-06 Sonics, Inc. Method and apparatus for establishing a quality of service model
US7509603B2 (en) * 2003-10-31 2009-03-24 Semiconductor Energy Laboratory Co., Ltd. Semiconductor integrated circuit and design method thereof
US7409602B2 (en) * 2003-11-12 2008-08-05 Lsi Corporation Methodology for debugging RTL simulations of processor based system on chip
DE10353580A1 (de) * 2003-11-14 2005-06-30 Infineon Technologies Ag Verfahren zur Simulation der Systemleistung eines On-Chip-Systems
US20050120278A1 (en) * 2003-11-19 2005-06-02 Smith Zachary S. Systems and methods for verifying lockstep operation
US20050114735A1 (en) * 2003-11-20 2005-05-26 Smith Zachary S. Systems and methods for verifying core determinacy
US8856401B2 (en) * 2003-11-25 2014-10-07 Lsi Corporation Universal controller for peripheral devices in a computing system
US7475303B1 (en) * 2003-12-29 2009-01-06 Mips Technologies, Inc. HyperJTAG system including debug probe, on-chip instrumentation, and protocol
US8180620B2 (en) * 2004-01-27 2012-05-15 Arm Limited Apparatus and method for performing hardware and software co-verification testing
JP2007528553A (ja) * 2004-03-09 2007-10-11 セヤン ヤン 検証性能と検証效率性を高める動的検証−基盤方式の検証装置及びこれを用いた検証方法論
US6972571B2 (en) * 2004-03-22 2005-12-06 Freescale Semiconductor, Inc. Load board with embedded relay tracker
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US8818784B1 (en) 2004-06-23 2014-08-26 Cypress Semiconductor Corporation Hardware description language (HDL) incorporating statistically derived data and related methods
KR100921314B1 (ko) * 2004-07-12 2009-10-13 양세양 검증결과 재활용 기법을 채용한 고성능 설계검증 장치 및이를 활용한 신속한 설계검증 방법
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
TWI299468B (en) * 2004-09-06 2008-08-01 Matsushita Electric Ind Co Ltd Debug system for debugging multi-task system and a circuit device connected with a host computer
US7516058B2 (en) * 2004-09-21 2009-04-07 Faraday Technology Corp. Method for IP characterization and path finding, and computer readable recording medium for storing program thereof
US7676661B1 (en) 2004-10-05 2010-03-09 Xilinx, Inc. Method and system for function acceleration using custom instructions
US7526745B2 (en) * 2004-12-08 2009-04-28 Telefonaktiebolaget L M Ericsson (Publ) Method for specification and integration of reusable IP constraints
KR100626663B1 (ko) 2004-12-14 2006-09-25 한국전자통신연구원 인터넷 전화용 시스템온칩 개발 및 검증 장치
US7290194B2 (en) * 2004-12-17 2007-10-30 Lsi Corporation System for performing automatic test pin assignment for a programmable device
KR100638476B1 (ko) * 2004-12-22 2006-10-26 삼성전자주식회사 버추얼 플랫폼 기반의 시스템 온 칩 개발 환경 및 개발 방법
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7353162B2 (en) * 2005-02-11 2008-04-01 S2C, Inc. Scalable reconfigurable prototyping system and method
US7313738B2 (en) * 2005-02-17 2007-12-25 International Business Machines Corporation System and method for system-on-chip interconnect verification
EP1859289A4 (en) * 2005-03-16 2011-03-30 Gaterocket Inc FPGA MATRIX EMULATION SYSTEM
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8089461B2 (en) * 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US7562001B2 (en) * 2005-07-29 2009-07-14 International Business Machines Corporation Creating a behavioral model of a hardware device for use in a simulation environment
US20070074000A1 (en) * 2005-09-28 2007-03-29 Liga Systems, Inc. VLIW Acceleration System Using Multi-state Logic
US20070073999A1 (en) * 2005-09-28 2007-03-29 Verheyen Henry T Hardware acceleration system for logic simulation using shift register as local cache with path for bypassing shift register
US7444276B2 (en) 2005-09-28 2008-10-28 Liga Systems, Inc. Hardware acceleration system for logic simulation using shift register as local cache
JP4667206B2 (ja) * 2005-10-31 2011-04-06 富士通セミコンダクター株式会社 マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法
US20070129924A1 (en) * 2005-12-06 2007-06-07 Verheyen Henry T Partitioning of tasks for execution by a VLIW hardware acceleration system
US20070129926A1 (en) * 2005-12-01 2007-06-07 Verheyen Henry T Hardware acceleration system for simulation of logic and memory
US7444258B2 (en) * 2005-12-05 2008-10-28 International Business Machines Corporation Automated simulation testbench generation for serializer/deserializer datapath systems
US7711534B2 (en) * 2005-12-09 2010-05-04 International Business Machines Corporation Method and system of design verification
US7509605B2 (en) 2005-12-12 2009-03-24 International Business Machines Corporation Extending incremental verification of circuit design to encompass verification restraints
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US20070150702A1 (en) * 2005-12-23 2007-06-28 Verheyen Henry T Processor
US7469401B2 (en) * 2006-02-22 2008-12-23 International Business Machines Corporation Method for using partitioned masks to build a chip
US7496464B2 (en) * 2006-03-21 2009-02-24 Mediatek Usa Inc. Validation system with flow control capability
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US7571414B2 (en) * 2006-06-15 2009-08-04 National Chip Implementation Center, National Applied Research Laboratories Multi-project system-on-chip and its method
US8463589B2 (en) 2006-07-28 2013-06-11 Synopsys, Inc. Modifying a virtual processor model for hardware/software simulation
US7823017B2 (en) * 2006-08-02 2010-10-26 International Business Machines Corporation Structure for task based debugger (transaction-event-job-trigger)
KR100750184B1 (ko) * 2006-08-11 2007-08-17 삼성전자주식회사 반도체 집적 회로의 간접 시뮬레이션 방법 및 장치
KR100873956B1 (ko) * 2006-08-17 2008-12-15 삼성전자주식회사 에뮬레이션 시스템
US8868397B2 (en) 2006-11-20 2014-10-21 Sonics, Inc. Transaction co-validation across abstraction layers
KR100851524B1 (ko) 2006-12-29 2008-08-11 전자부품연구원 SoC 코아로직의 천이 지연 고장 테스트를 지원하는IEEE 1500 래퍼 셀 및 이를 이용한 테스트 방법
KR101375171B1 (ko) 2006-12-30 2014-03-18 삼성전자주식회사 시스템 온 칩 모델 검증 방법 및 장치
WO2008091575A2 (en) * 2007-01-22 2008-07-31 Vast Systems Technology Corporation Method and system for modeling a bus for a system design incorporating one or more programmable processors
JP5099119B2 (ja) * 2007-03-15 2012-12-12 富士通セミコンダクター株式会社 デバイス間接続試験回路生成方法、生成装置、および生成プログラム
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8026739B2 (en) * 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8130025B2 (en) * 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US20080263489A1 (en) * 2007-04-23 2008-10-23 Canada Miles G Method to identify and generate critical timing path test vectors
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US8145967B2 (en) * 2007-10-12 2012-03-27 Oracle America, Inc. System and method for verifying the receive path of an input/output component
US8136065B2 (en) * 2007-12-10 2012-03-13 Inpa Systems, Inc. Integrated prototyping system for validating an electronic system design
US8275975B2 (en) * 2008-01-25 2012-09-25 Mtekvision Co., Ltd. Sequencer controlled system and method for controlling timing of operations of functional units
US8046726B2 (en) * 2008-09-16 2011-10-25 Lsi Corporation Waiver mechanism for physical verification of system designs
TWI381180B (zh) * 2008-10-03 2013-01-01 Holtek Semiconductor Inc Circuit Simulation System
US8838406B2 (en) * 2008-11-11 2014-09-16 Advantest (Singapore) Pte Ltd Re-configurable test circuit, method for operating an automated test equipment, apparatus, method and computer program for setting up an automated test equipment
US8032848B2 (en) * 2009-01-29 2011-10-04 Synopsys, Inc. Performing abstraction-refinement using a lower-bound-distance to verify the functionality of a circuit design
US8020126B2 (en) * 2009-02-05 2011-09-13 Texas Instruments Incorporated Links and chains verification and validation methodology for digital devices
US8413103B2 (en) * 2009-03-13 2013-04-02 Synopsys, Inc. Execution monitor for electronic design automation
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8042079B1 (en) * 2009-05-19 2011-10-18 Xilinx, Inc. Synchronization for a modeling system
US8015537B1 (en) 2009-05-19 2011-09-06 Xilinx, Inc. Automated rate realization for circuit designs within high level circuit implementation tools
US9081924B2 (en) * 2010-03-29 2015-07-14 Synopsys, Inc. Method and apparatus for transaction recording and visualization
KR20110124617A (ko) 2010-05-11 2011-11-17 삼성전자주식회사 시스템-온-칩 및 그것의 디버깅 방법
TWI450118B (zh) * 2010-11-02 2014-08-21 Global Unichip Corp 混合的電子設計系統及其可重組連接矩陣
US20120330637A1 (en) * 2011-06-21 2012-12-27 International Business Machines Corporation Method for providing debugging tool for a hardware design and debugging tool for a hardware design
US8429581B2 (en) * 2011-08-23 2013-04-23 Apple Inc. Method for verifying functional equivalence between a reference IC design and a modified version of the reference IC design
US9734263B2 (en) * 2012-12-20 2017-08-15 Intel Corporation Method and apparatus for efficient pre-silicon debug
US8645897B1 (en) * 2013-01-07 2014-02-04 Freescale Semiconductor, Inc. Integrated circuit design verification system
KR20140113175A (ko) 2013-03-15 2014-09-24 삼성전자주식회사 버스 프로토콜 검사기, 이를 포함하는 시스템 온 칩 및 버스 프로토콜 검사 방법
US9038006B2 (en) * 2013-04-30 2015-05-19 Freescale Semiconductor, Inc. Method and apparatus for generating gate-level activity data for use in clock gating efficiency analysis
US9195575B2 (en) * 2013-05-17 2015-11-24 Coherent Logix, Incorporated Dynamic reconfiguration of applications on a multi-processor embedded system
US8856708B1 (en) * 2013-07-12 2014-10-07 Hamilton Sundstrand Corporation Multi-tier field-programmable gate array hardware requirements assessment and verification for airborne electronic systems
KR102122455B1 (ko) 2013-10-08 2020-06-12 삼성전자주식회사 프로세서의 디코더 검증을 위한 테스트 벤치 생성 방법 및 이를 위한 장치
JP6478562B2 (ja) 2013-11-07 2019-03-06 株式会社半導体エネルギー研究所 半導体装置
JP6393590B2 (ja) 2013-11-22 2018-09-19 株式会社半導体エネルギー研究所 半導体装置
US9317385B2 (en) 2013-12-30 2016-04-19 Samsung Electronics Co., Ltd. Hardware profiling
JP6444723B2 (ja) 2014-01-09 2018-12-26 株式会社半導体エネルギー研究所 装置
US9379713B2 (en) 2014-01-17 2016-06-28 Semiconductor Energy Laboratory Co., Ltd. Data processing device and driving method thereof
JP2015165226A (ja) 2014-02-07 2015-09-17 株式会社半導体エネルギー研究所 装置
JP6545970B2 (ja) 2014-02-07 2019-07-17 株式会社半導体エネルギー研究所 装置
US9760663B2 (en) * 2014-10-30 2017-09-12 Synopsys, Inc. Automatic generation of properties to assist hardware emulation
US9804911B2 (en) 2015-05-27 2017-10-31 Apple Inc. Concurrent validation of hardware units
US10176078B1 (en) * 2015-08-28 2019-01-08 Cadence Design Systems, Inc. Debugging process
CN105302950B (zh) * 2015-10-19 2018-07-24 北京精密机电控制设备研究所 一种软、硬件协同的可编程逻辑器件交联仿真测试方法
US10338138B2 (en) * 2015-12-31 2019-07-02 Chinsong Sul Low cost design for test architecture
US10534882B2 (en) * 2016-03-29 2020-01-14 Qualcomm Incorporated Method and apparatus for configuring an integrated circuit with a requested feature set
US10437946B1 (en) * 2016-09-01 2019-10-08 Xilinx, Inc. Using implemented core sources for simulation
KR20180043626A (ko) 2016-10-20 2018-04-30 삼성전자주식회사 버퍼를 포함하는 버스를 라우팅하기 위한 시스템 및 방법
CN106599343B (zh) * 2016-11-01 2020-10-20 深圳国微技术有限公司 一种提高仿真效率的soc系统验证方法和装置
CN109933880B (zh) * 2019-03-06 2022-10-11 西安微电子技术研究所 基于配置驱动的SoC原型验证用例提取模型建模方法
KR20210047127A (ko) 2019-10-21 2021-04-29 삼성전자주식회사 반도체 회로를 검증하기 위한 최적화된 검증 벡터를 생성하는 전자 장치 및 그 동작 방법
CN110907798A (zh) * 2019-10-23 2020-03-24 盛科网络(苏州)有限公司 集成SoC的交换芯片的测试验证板、测试装置及方法
US11144696B1 (en) * 2020-05-27 2021-10-12 Chinsong Sul Low cost design for test architecture
KR102183267B1 (ko) * 2020-05-28 2020-11-26 최훈기 Ic 간의 설계 적합성 체크 시스템
CN111859832B (zh) * 2020-07-16 2022-07-08 山东云海国创云计算装备产业创新中心有限公司 一种芯片仿真验证方法、装置及相关设备
US20220019720A1 (en) * 2020-07-17 2022-01-20 University Of Florida Research Foundation, Incorporated Framework for automated synthesis of secure, optimized system-on-chip architectures
CN111949470B (zh) * 2020-08-24 2024-07-02 海光信息技术股份有限公司 一种芯片验证方法、装置、电子设备及存储介质
CN114722750A (zh) * 2022-03-18 2022-07-08 北京遥感设备研究所 Soc芯片仿真验证方法、装置、设备和存储介质
CN114860519B (zh) * 2022-04-08 2022-12-23 中国人民解放军国防科技大学 一种面向大规模asic芯片的多芯片联合验证方法及装置
CN115248998B (zh) * 2022-09-22 2023-01-03 济南新语软件科技有限公司 一种SoC芯片分布式仿真验证平台和方法
CN115639461A (zh) * 2022-12-23 2023-01-24 长沙驰芯半导体科技有限公司 一种基于双处理器的超宽带芯片原型验证平台
CN116011392A (zh) * 2022-12-23 2023-04-25 摩尔线程智能科技(北京)有限责任公司 用于验证环境级联的装置、方法、设备、介质和程序产品
CN115993952B (zh) * 2023-03-23 2023-05-30 中大智能科技股份有限公司 基于risc-v的桥梁支座监测芯片及设计系统、方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0673363B2 (ja) * 1984-07-02 1994-09-14 株式会社東芝 システムlsiの設計方法
US5109353A (en) * 1988-12-02 1992-04-28 Quickturn Systems, Incorporated Apparatus for emulation of electronic hardware system
US5555201A (en) * 1990-04-06 1996-09-10 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information
JP2752262B2 (ja) * 1991-04-19 1998-05-18 株式会社東芝 1チップlsiの製造方法
JP3168839B2 (ja) * 1994-09-09 2001-05-21 株式会社日立製作所 論理エミュレーションシステム及び等価回路生成方法
JP2888512B2 (ja) * 1995-09-22 1999-05-10 三菱電機マイコン機器ソフトウエア株式会社 エミュレーション装置
US5903475A (en) * 1996-07-18 1999-05-11 Lsi Logic Corporation System simulation for testing integrated circuit models
JP4020462B2 (ja) * 1996-08-30 2007-12-12 テキサス インスツルメンツ インコーポレイテツド テストインタフェースを含む集積回路及びテストインタフェースを使用する方法
US5828824A (en) * 1996-12-16 1998-10-27 Texas Instruments Incorporated Method for debugging an integrated circuit using extended operating modes
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
JP3004641B2 (ja) * 1998-02-05 2000-01-31 松下電器産業株式会社 シミュレ―ション装置及び当該シミュレ―ション装置を実現するコンピュ―タに実行させるプログラムを記録したコンピュ―タ読み取り可能な記録媒体
US6094726A (en) * 1998-02-05 2000-07-25 George S. Sheng Digital signal processor using a reconfigurable array of macrocells
US6360353B1 (en) * 1998-02-21 2002-03-19 Adaptec, Inc. Automated alternating current characterization testing
US6304837B1 (en) * 1998-02-21 2001-10-16 Adaptec, Inc. Automated test vector generation and verification
KR19990079355A (ko) * 1998-04-03 1999-11-05 윤종용 테스트벤치 발생기 및 이를 이용한 시뮬레이션방법
WO2000019343A2 (en) * 1998-09-30 2000-04-06 Cadence Design Systems, Inc. Block based design methodology
US6249893B1 (en) * 1998-10-30 2001-06-19 Advantest Corp. Method and structure for testing embedded cores based system-on-a-chip
US6532561B1 (en) * 1999-09-25 2003-03-11 Advantest Corp. Event based semiconductor test system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298250B2 (en) 2013-08-06 2016-03-29 Globalfoundries Inc. Reconfigurable circuit to emulate system critical paths

Also Published As

Publication number Publication date
US6678645B1 (en) 2004-01-13
KR100491461B1 (ko) 2005-05-25
JP2001189387A (ja) 2001-07-10
DE10053207A1 (de) 2001-05-03
TW494325B (en) 2002-07-11
KR20010067370A (ko) 2001-07-12

Similar Documents

Publication Publication Date Title
JP4804620B2 (ja) システムオンチップの設計検証方法および装置
US8136065B2 (en) Integrated prototyping system for validating an electronic system design
US8020124B2 (en) Various methods and apparatuses for cycle accurate C-models of components
US8997034B2 (en) Emulation-based functional qualification
US7089517B2 (en) Method for design validation of complex IC
JP4508657B2 (ja) Asic/soc製造におけるプロトタイプホールドを回避するための製造方法と装置
US20070174805A1 (en) Debugging system for gate level IC designs
JP2002526908A (ja) ブロックをベースとする設計方法
JP2004531056A (ja) プログラム可能なコンポーネントを用いるブロックベースの設計方法論
US20080005710A1 (en) Automatic generation of timing constraints for the validation/signoff of test structures
TW563043B (en) Method and apparatus for design validation of complex IC without using logic simulation
KR20130081354A (ko) 분산 병렬 시뮬레이션에서의 통신 방법
Jindal et al. Verification of transaction-level SystemC models using RTL testbenches
Bombieri et al. On the evaluation of transactor-based verification for reusing TLM assertions and testbenches at RTL
US10664563B2 (en) Concurrent testbench and software driven verification
US7340705B1 (en) In-circuit device, system and method to parallelize design and verification of application-specific integrated circuits (“ASICs”) having embedded specialized function circuits
Mohanty et al. Test bench automation to overcome verification challenge of SOC Interconnect
US7509547B1 (en) System and method for testing of interconnects in a programmable logic device
US7065724B2 (en) Method and apparatus for generating and verifying libraries for ATPG tool
JP2001051025A (ja) 半導体試験用プログラムデバッグ装置
CN1383200A (zh) 单片系统的设计校验方法和装置
JP2000215226A (ja) 論理検証装置
Choi et al. Early HW/SW Co-Verification Using Virtual Platforms
CN116451625B (zh) 用于rtl和带sdf网表的联合仿真的装置和方法
Avss et al. Virtual prototyping increases productivity-A case study

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20041215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110624

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: 20110712

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110810

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees