JP3955301B2 - デジタル回路を検証するための方法、装置、プログラムおよびプログラムを格納したデジタル記憶媒体 - Google Patents

デジタル回路を検証するための方法、装置、プログラムおよびプログラムを格納したデジタル記憶媒体 Download PDF

Info

Publication number
JP3955301B2
JP3955301B2 JP2004535108A JP2004535108A JP3955301B2 JP 3955301 B2 JP3955301 B2 JP 3955301B2 JP 2004535108 A JP2004535108 A JP 2004535108A JP 2004535108 A JP2004535108 A JP 2004535108A JP 3955301 B2 JP3955301 B2 JP 3955301B2
Authority
JP
Japan
Prior art keywords
digital circuit
verified
circuit
alternative realization
simulated
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 - Lifetime
Application number
JP2004535108A
Other languages
English (en)
Other versions
JP2006500647A (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.)
Onespin Solutions GmbH
Original Assignee
Onespin Solutions GmbH
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 Onespin Solutions GmbH filed Critical Onespin Solutions GmbH
Publication of JP2006500647A publication Critical patent/JP2006500647A/ja
Application granted granted Critical
Publication of JP3955301B2 publication Critical patent/JP3955301B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Landscapes

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

Description

発明の詳細な説明
本発明は、デジタル回路、特に乗算器を備えたデジタル回路の検証方法に関するものであるとともに、そのための装置、およびコンピュータプログラム製品に関するものである。
周知のように、プロセッサやデジタル信号プロセッサ(DSP),グラフィックチップセット等のデジタル回路には、乗算器または乗算機能(Multipliziererstrukturen oder Multiplikationsfunktionen)が広く用いられている。このような乗算機能を有するチップ内でエラーが生じると、他の回路構造内で生じるエラーと同様に、チップ全体を破損させてしまう場合がある。
したがって、最も重要となるのは、例えば合成ツールを用いてコンピュータを援用することによりデジタル回路を開発(entwickelt)した後、そのデジタル回路を検証することである。この検証に関し、近年、いわゆる等価試験(Aequivalenzpruefung)の注目度が上がっている。この等価試験とは、デジタル回路内の乗算機能が、基準記述(Referenzbeschreibung)にあるような回路構造の機能と、どの程度等しいのかを試験するものである。なお、基準記述とは、例えば、操作モードに関するRTL(レジスタトランスファーレベル:Register Transfer Level)記述、VHDL(超高速IC HW記述ランゲージ:Very High Speed IC HW Description Language)記述、Verilog記述等である。近年の等価試験器は、数百万ゲートを有するデジタル回路を処理できる。等価試験器では、特に、回路構造を互い比較した結果(つまり、検証対象となるデジタル回路と、このデジタル回路が基準としている上記の基準回路記述とを比較した結果)、これらの回路構造が互いに非常に類似している(等価である)とき、比較結果が非常によいと判断する。一方、検証対象のデジタル回路と基準記述との構造が、その程度に差はあっても実質的に異なり、これにより内部等価(interne Aequivalenzen)が非常に低くなる場合には、満足な結果ではないと判断する。この場合、乗算器または乗算機能の形式的な検証が、デジタル回路の等価試験に関する最も複雑な課題の1つとなる。
十進数AとBとは、様々な方法によって乗算できることが知られている。つまり、例えば積A×Bであってもよいし、積B×Aであってもよい。さらに、乗算される2つの十進数の個々の桁を互いに乗算し、その結果生じる部分積を合計することにより、上記と同じ積となることも知られている。これらの部分積を互いに加算する順序は、場合によって異なっていてもよい。もちろん、十進数Aと十進数Bとにおいて他の乗算結果が得られることはない。そこで、選択される十進数AとBとの乗算方法に応じるために、乗算器は、様々な代替実現部(Implementierungsalternativen)や改変実現部(Implemtantierungsvarianten)を用いることができる。なお、これら全ての改変実現部による乗算結果は同じであるが、改変実現部の構造に関しては、内部等価が全くない場合や、あるいは僅かにある場合がある。また、他の構造(アーキテクチャ)を乗算器の実現部として用いることができることも自明である。
さらに問題となるのは、デジタル回路の乗算機能は、通常、単独で存在しておらず、外因ロジック(Umgebungslogik)に内蔵されているという点である。また、これと同時に考慮に入れておかなくてはならない事として、場合によって、乗算機能の限定(例えば、デジタル回路を最適化するための乗算機能の限定)が不十分であり<SOG(Sea of Gates)>、よって、形式的にみると、乗算機能はもはや(実際には)存在しないという事である。
これまで、デジタル回路内の乗算器を早くかつ確実に認識する方法は知られていない。デジタル回路を設計する近年の合成プロセスは、機能的に最適化しようとするがゆえに、例えば上記した回路構造と基準回路構造とを簡単に比較するような簡単な「パターン照合」といった方法は、除外されている。乗算器の検証については、競合する様々な方法があることが知られている。
最も簡単な、一般的といえる方法として、デジタル回路の乗算器に、特別な処理を行うことができないようにすることが提案されており、これによれば、等価試験という形で、デジタル回路を検証する前にデジタル回路の乗算器または乗算機能を明確に認識する必要がなくなるというものである。しかしながら、この方法によると、等価試験で度々長時間を要し、さらに、検証に失敗してしまう場合があるという不都合が生じた。なお、等価試験に要する時間の長さは、個々の乗算器が、(ランダムに)選択する代替実現部(等価試験はこの代替実現部に基づいて行われる)の影響を強く受ける。
各乗算器または乗算機能の等価試験を実行する前に乗算器を検証するという別の方法は、物理的に選択される代替実現部を、使用者が確定(つまり特定)するという方法である。しかしながら、この方法の問題は、この確定するために必要となる情報を検証時点で(もはや)得られないことが頻繁にある、ということである。等価試験を実行する前に使用者によって誤ったデータが作成されれば、誤った代替実現部(等価試験の基となる)が用いられ、よって、上記した一般的な(検証)方法と同じように不都合が生じてしまう。
最後に、単独で存在しているようにみえる個々の乗算機能または乗算器に限定した様々な検証方法(つまり、デジタル回路の実現部を検証すること、および、上記実現と基準記述を比較することが、乗算によってのみ行われる)も、従来技術から知られている。つまり、これは、例えばY.T. ChangおよびK.-T. Cheng「乗算器の、誘導に基づくゲートレベル検証(Induction-based Gate-level Verification of multipliers)」(International Conference on Computer-Aided Design (ICCAD)、190ページ以下、2001年)で知られているような、nビット乗算器の検証をn回の部分等価試験に分けるための、誘導に基づいた方法である。また、J.-C. ChenおよびY.-A. Chen「整数乗算器の等価試験(Equivalence Checking of Integer Multipliers)」(Asian-Pacific Design Automation Conference (ASPDAC)、2001年)には、例えば、2つの整数乗算器(zwei ganzzahligen Multiplizierern)の等価を試験するための、データ要素レベルに説明図の形式で示した、いわゆる「乗算型Power Hybrid Decision Diagrams」(PHDD)と呼ばれるnxn配列乗算器またはnxnウォリスバウム乗算器(Wallace-Baum-multiplizierer)が提案されている。さらに、この文献には、いわゆる「二分決定グラフ(Binary Decision Diagrams)」(BDD)の形式でのビットレベルの整数乗算器や、いわゆる「乗算型Binary Moment Diagrams」(BMD)の形式でのデータ要素レベルの整数乗算器が開示されている。最後に、D. StoffelおよびW. Kunz「演算ビットレベルにおける整数乗算器の検証(Verification of Integer Multipliers on the Arithmetic Bitlevel)」(International Conference on Computer-Aided Design (ICCAD),183−189ページ、2001年)では、整数乗算器を検証するために、加算器回路のゲートネットリスト(Gatternetzliste)から半加算器(Halbaddierern)のネットワークを抽出するというブールマッピングアルゴリズムまたはイメージアルゴリズム(Boolschern Mapping- oder Abbildungsalgorithmus)を使用し、その後、簡単な算術演算によって、加算器回路のビットレベルにおいて知られた算術の場合は、等価試験を実行できるようになることが提案されている。この文献において提案された方法は、整数乗算が、実質的に、部分積を形成し、最後の乗算結果を出すために当該部分積を加算する、という2つの部分に分割できるという既に説明した考え方に基づいている。
最後に記載した検証方法はそれぞれ、個々に単独で存在する乗算機能に限定している。しかしながら、乗算機能は、通常、単独では存在していないため、この検証方法は、実際にはデジタル回路の検証(つまり総合結果の検証)に用いることはできない。
したがって、デジタル回路内に実現された乗算器または乗算機能を検証するための実用的な方法は、これまで知られていない。従来技術から知られている検証方法の能率は、通常、各乗算機能の物理的実現の影響を強く受ける。したがって、従来技術によれば、デジタル回路を効果的に検証するために、検証するデジタル回路内の乗算器の特性および構造に関する情報が不可欠であった。
そこで、本発明の目的は、デジタル回路を検証するための効果的な方法、および、そのための装置を提示することにあり、これによって、デジタル回路内に実現された乗算器の代替実現部に関する情報が明確に知ることなく、あるいは乗算器の具体的な代替実現部のみに検証を限定しなくても、上記した問題を解決でき、特に、乗算器を備えた複雑なデジタル回路であっても、この回路を、等価試験を通じて検証することができる。
この目的を、請求項1の特徴部分を有する検証方法、および/または、請求項14の特徴部分を有する検証装置によって達成する。さらに、本発明の検証方法を実行するためのプログラムコードを有するコンピュータプログラム製品は、コンピュータシステムにおいてプログラムを実行する場合、請求項16の特徴部分によって提供される。また、本発明の検証方法を実行するための電子的に読み出し可能な制御信号を有するデジタル記憶媒体(例えば、ディスクまたはCD‐ROM)は、請求項17に記載のコンピュータシステムとともに提供される。また、従属請求項に、本発明の好適で、かつ有効な形態について明示している。
本発明では、初めに、特定の回路構造における複数からなる所定の代替実現部のうちのどれを、デジタル回路を検証するために用いるかを確定または決定する。そのために、複数の回路構造の複数の異なる所定の代替実現部が、デジタル回路の基準記述への埋め込みの間にシミュレート(simuliert)され、そして、デジタル回路の実現部のシミュレーションと比較される。なお、この基準記述とは、等価試験の際にデジタル回路の実現部と比較されるものである。すなわち、複数ある所定の代替実現部を並行してシミュレートできる。
このようにして、デジタル回路の各特定回路構造に対して、検証対象であるデジタル回路の実現部のシミュレーションと等価の度合いが高いシミュレーションを示した代替実現部が決定される。
次に、このようにして決定された回路構造の代替実現部は、この回路構造の基準記述内にこの基準記述の代わりに挿入され、これにより、挿入によって改変された基準記述との実等価試験(eigentliche Aequivalenzpruefung)が実行できる。つまり、改変された基準記述が、検証対象となるデジタル回路の実現部と比較される。基準記述に挿入された特定の回路構造の代替実現部は、最終的に、特別な方法によって分離して検証することができる。
本発明によれば、等価試験を行うにあたり、および/または重要な部分構造(kritischen Teilstrukturen)を含む基準回路と、この回路の実現部との等価比較を行うにあたり、上記の部分構造の複数ある既知の代替実現部のうちからどれを検証対象であるデジタル回路の実現部に用いるのか、および/または、用いられた実現部の既知の代替実現部のうちのいずれが構造的に最も類似しているのかということを、まず確定および/または決定する。この構造的な類似は、(基準記述のコンテキスト(Kontext)に挿入された後の)1つの代替実現部が、検証対象の実現部にある内部設計点(interne Berechnungspunkte)と同一の内部設計点を有している場合に与えられる。ここでは、複数の代替実現部と、実際に用いられる1つの実現部との構造的な類似度を、その複雑さがデジタル回路の大きさにのみ線形従属する、シミュレーションに基づく方法によって決定する。これは、デジタル回路のランダム形成された入力割当ての定数によって、デジタル回路の全ての内部設計点において値を計算する(「ランダムパターン」シミュレーション)ことにより可能になる。このことは、基準記述のコンテキストにおける非常に重要な部分構造の知られている全ての代替実現部に対しても、デジタル回路の全ての実現部に対しても生じる。
また、重要な部分構造の代替実現部の内部設計点と、検証対象のデジタル回路の実現部の内部設計点とを完全に一致させる代わりに、ランダム形成された全ての入力割当てにおける設計点の一致のみを測定することが好ましい。この統計的な方法によって、個々の重要な部分構造にとって、実現部に対して構造的に最も類似した代替実現部を十分に決定することができる。
機能的に同じであるが構造的には著しく異なっている、部分構造の複数の代替実現部が存在する場合、基準回路の部分構造は、通常、非常に重要である。このような重要な部分構造の例として、乗算器構造が挙げられる場合が多い。したがって、上記した統計的な方法を用いるためには、重要な部分構造用の代替実現部だけは知られている必要があるが、検証対象のデジタル回路の実現部においてどの代替実現部を実際に使用したかということは知られる必要はない。
上記の構造的に最も類似した代替実現部を、すなわち、シミュレートした全パターンにおける代替実現部の内部設計点と、検証対象である実現部の内部設計点とが一致(等価)している代替実現部を、その複雑さがデジタル回路の大きさに線形依存する方法によって効率的に決定できるようにするためには、同値類細分(Aequivalenzklassenverfeinerung)方法を使用することができる。この方法とは、全ての内部設計点(それらの一致の度合いはまだ証明されていない)を、それぞれ同値類に統合する。次に、ランダム形成された、デジタル回路の入力割当てを、シミュレートした後、各同値類は、シミュレートされた入力割当てにおける要素(Elemente)が一致している部分類に分割する。その後、所定の数のシミュレーション工程後もなお同じ同値類に位置している内部観測点(Interne Beobachtungspunkte)を、等価(一致している)と見なすことができる。
上記方法により決定される、デジタル回路のシミュレーションと一致度が最も高いシミュレーションがなされた代替実現部を有する特定の回路構造または重要な部分構造の場合、乗算機能または乗算器は特に、上記したような従来の方法では検証できない(あるいは十分に検証できない)可能性がある。ところで、本発明は、当然ながら、デジタル回路の乗算器の検証または認識に限定されず、基本的には、様々な所定の代替実現部が適用されることにより形成されるあらゆる回路構造に対して用いられる。
以上の説明に関連する様々な利点もさらに得られる。乗算器は、その乗算器の基準記述、およびこの基準記述に埋め込まれた実現部を評価するだけでよい。検証対象である合成デジタル回路において、実現部の制限と乗算器の位置とを知る必要がない。具体的には、合成デジタル回路内のこのような実現部制限が明確に存在する必要もなく、例えば、他の回路部分との合成最適化を通じてこの制限を「インターリーブ(verwoben)」してもよい。本発明の好ましい形態では、合成デジタル回路に含まれる全ての乗算器または乗算機能を同時に認識することができる。本発明は、低コストで実現でき、また、デジタル回路に用いられる、乗算器のための代替実現部を認識するための、本発明の認識度および認識信頼性は高い。本発明の方法を実現するために必要な時間は、検証対象であるデジタル回路の大きさに線形依存する。上述したように、本発明の方法を、基本的には他の回路機能の認識にも転用できる。
本発明から得られた検証対象となるデジタル回路に用いられる、または本発明によって得られる他の特定回路構造に用いられる乗算器の改変実現部(ここでは、様々な異なるおよび/または所定の改変実現部が問題となる)に関する情報が、デジタル回路の等価試験の所要時間を著しく早める。このとき、コンピュータおよび/またはそれを用いた等価試験を実行する際の付加的なコストはほとんど必要ない。デジタル回路に用いられる改変実現部を確定することにより、そして、認識された改変実現部をデジタル回路と比較される基準記述に挿入することにより、基準記述とデジタル回路とは、構造的に非常に類似することになる。これにより、検証方法の所要時間とそのための必要メモリを著しく低減できる。また、検証機能自体の実現部の検証は、乗算機能の実現部を分離して観察でき、かつこの実現部の方法および構造に関して周知であるため、著しく改善して実行することができる。合成最適化を通じて回路の一部(特に乗算器構造の入力/出力部)を発見できなかった場合であっても、本発明の方法は、実際、しっかりと、かつ正確に実施できる。
次に、本発明に関する好ましい実施形態について、添付図面を参照しながら詳述する。本発明は、コンピュータを用いることによる、乗算器および/または乗算機能を備えたデジタル回路の、検証に関するものである。以下では、デジタル回路内の乗算器に用いられる代替実現部を認識する工程と、既に述べたような対応する改変された基準記述との等価試験を、実行する工程とを説明しており、これらの工程はは、他の回路構造における、いくつかの異なる予め規定された、あるいは所定の改変実現部にも原則的に適用できる。
図に、デジタル回路をコンピュータを用いて検証するための本発明に係る装置1を示す。中心的な構成要素としての装置1には、プログラム制御された制御部2が設けられている。この制御部2は、自動化された検証方法を実行するために、プログラム記憶装置3に格納されたコンピュータプログラムによって制御される。プログラム記憶装置3に格納されたコンピュータプログラムとは、例えば、ディスクまたはCD−ROMのような内部交換可能なデータ媒体から読み込まれたプログラムが挙げられる。さらに、この制御ユニット2は、例えば、RTL記述やVHDL記述やVerilog記述といったデジタル回路の基準記述が格納された記憶装置5にアクセスしている。この基準記述は、対応するデジタル回路の開発に用いられ、このデジタル回路の実現部(例えばVHDL記述やVerilog記述やゲートネット記述といった形状で実現される実現部)は、制御部2がアクセス可能な別の記憶装置6に格納されている。さらに、装置1には、デジタル回路の開発を可能にする合成ツールとして機能する記憶装置7が設けられており、デジタル回路の(整数)乗算機能を合成ツールによって可能にする代替実現部が格納されている。また、上述したように、乗算機能または乗算器はそれぞれ、他の様々な方法、および、特に様々な構造であっても実現可能である。
したがって、記憶装置5〜7に格納された情報にアクセスすると、検証対象である(例えばゲートネットリストの形の)デジタル回路の実現部と、等価試験を用いて比較するデジタル回路の基準記述(例えばRTL記述の形)と、(例えば、各合成ツールにより可能になった構造に応じて)乗算機能または乗算器としての互いに異なる予め規定された代替実現部と、基準記述における乗算器の位置/埋め込みとに関する情報が制御部2に認識される。これらの情報を用いて、制御部2では、次に詳述するデジタル回路の実現部の等価試験を実行できる。上記した記憶装置5〜7に格納された情報は、例えば、いずれにしても標準的な合成の流れの中に存在している。しかしながら、制御部2には、例えば、検証対象となるデジタル回路の実現部内の乗算器の位置/埋め込みは、その型と同じく、認識される必要はない。
また、制御部2は、与えられた情報を用いて、基準記述の個々の乗算機能のための、予め規定した代替実現部のうちのどれが、デジタル回路の実現部に使用されるのかを決定する。このために、制御部2は、基準記述内に乗算機能が埋め込まれる間に、全ての乗算機能の様々な代替実現部を並行してシミュレートし、このシミュレーション結果を、検証対象のデジタル回路の実現部のシミュレーションと比較する。この場合、基準記述の全乗算機能の全ての代替実現部に対して、デジタル回路の実現部との等価(一致)の度合いが決定される。この等価の度合いは、全てのシミュレーションパターンに対するデジタル回路の実現部の(任意だが確実な)設計点と同じ値を算出する各代替実現部の(内部)設計点である、各代替実現部の等価点の総数と定義できる。このようにして、制御部2は、基準記述の全乗算機能に対して、実現されたデジタル回路のシミュレーションと等価の度合いが最も高い代替実現部を決定する。等価の度合いの計算は、比較対象である回路の大きさに応じた線形時間において、同値類細分を用いて行ってもよい。
このような情報に基づけば、検証タスクを著しく簡単にできる。そのためには、制御部2によって、各乗算機能または乗算器構造に対して決定された代替実現部は、デジタル回路の基準記述にこの乗算機能(例えばRTL乗算機能)の代わりに挿入される。そして、このようにして改変された基準記述と検証対象となるデジタル回路の実現部とが等価比較される。この改変された基準記述と、デジタル回路の実現部との間の構造的な一致度は高いため、続く等価試験を著しく早く行なうことができる。乗算に関する理想は、2つの回路記述が完全に一致(等価)していることである。そうすれば、等価試験を著しく簡単に実行できるからである。実際、非常に高度な構造的な一致が少なくとも得られる。
最後に、基準記述内で使用される乗算機能または乗算器としての代替実現部は、別々に検証することができる。つまり特殊な方法によって分離してもよい。
また、等価試験の結果を、出力部4を介して出力することができる(よって、スクリーンに映像化するといったことが可能となる)。
乗算機能や乗算器の機能の全代替実現部を同時にシミュレートすることは、技術的には非常に簡単に実現できる。したがって、例えば、乗算器の第1入力部を互いに接続することができ、かつ、第1出力部を、機能を維持したまま(つまり個々の全ての乗算器の乗算結果を誤る(Verfaelschung)ことなく)共通の出力部に供給することできる。これは、例えば、論理的なODER結合(ODER-Verknuepfung)を用いることによって可能である。さらに、代替実現部およびデジタル回路記述のシミュレーションのために、従来のランダムパターンシミュレーションを使用することもできる。
デジタル回路記述における乗算器の様々な代替実現部を認識するための上記した方法には、合成検証を加速するために(つまり、RTL記述から合成されるゲートネットリストとRTL記述とを比較するために)、重要な意味がある。形式的な回路比較のためのツールの実行時間と必要メモリとは、比較対象となる回路間、または、それに相当する回路記述間の等価の度合いの高さに著しく影響される。この等価の度合いを、一致する機能を算出する2つの回路からなる一対の内部設計点の個数として表すことができる。上記の方法により、乗算器において実現された代替実現部に対して非常に高い認識度が得られる。また、この方法は、非常に少ないシミュレーションによって、複数の異なる代替実現部を区別することができ、これによって、この方法の付加的な所要時間をさらに短くできるという点でも優れている。
本発明の方法の実験結果は、例外なく非常に好ましいものが得られている。したがって、21個もの異なる(異なるビット幅、および異なる構造をもつ)乗算器の実現部を認識するために、わずか約2分間の所要時間を要した。各乗算器に対して4つの代替実現部を選択することができ、全ての場合に、適切な代替実現部が認識できた。また、これらの適切な代替実現部では、内部設計点の50〜60%一致が達成される一方で、この方法によれば誤った代替実現部は10〜20%しかなかった。この場合、1024シミュレーション(シミュレーション刺激(Simulations-Stimuli))のみが算出された。最後の検証工程(等価試験)を、この情報を用いて著しく加速でき、約45分後に終了することができた。従来の手順、つまり、最後の分離した検証を有する乗算器構造用の代替実現部を認識する際には、約24時間の事項時間が必要であった。
要約すれば、ほとんど無視できる程度しかコストがかからずに、用いた乗算器の代替実現部を非常に高い信頼度で認識でき、デジタル回路の形式的な検証を著しく早めることができる。
乗算器構造または乗算機能を備えたデジタル回路を、コンピュータを用いて検証するための装置の構成を示す図である。

Claims (17)

  1. 記憶装置に格納された検証対象となるデジタル回路(6)と、記憶装置に格納された、このデジタル回路の基準記述(5)とを比較する等価試験を用いて、デジタル回路内のエラーを認識する、制御部(2)と記憶装置とを備える回路検証装置(1)が実行するデジタル回路の検証方法であって、
    上記デジタル回路の基準記述(5)によって記述される特定の回路構造に対して、上記デジタル回路の基準記述(5)に対する、記憶装置に格納された、異なる複数の代替実現部(7)を、制御部(2)がシミュレートする工程aと、
    上記シミュレートされた、複数の互いに異なる代替実現部(7)と、上記の検証対象となるデジタル回路(6)の対応するシミュレーションとを、制御部(2)が比較する工程bと、
    上記シミュレートされた、異なる複数の代替実現部(7)のうち、上記の検証対象となるデジタル回路(6)と構造的な等価度が最も高いものを、制御部(2)が決定する工程cと、
    デジタル回路の基準記述(5)内において上記の特定の回路構造の記述を、上記シミュレートされた、複数の互いに異なる代替実現部のうち上記決定されたものに、制御部(2)が置き換える工程と、
    上記の検証対象となる上記デジタル回路(6)と、上記置き換えられた基準記述(5)とを比較することにより、制御部(2)が等価試験を実行する工程とを含むことを特徴とする方法。
  2. 上記シミュレートされた、異なる複数の代替実現部(7)のうち、上記の検証対象となるデジタル回路(6)の設計点が最も等価なものを決定することによって、上記シミュレートされた、異なる複数の代替実現部(7)のうち、上記の検証対象となるデジタル回路(6)と構造的な等価度が最も高いものを決定することを特徴とする、請求項1に記載の方法。
  3. 工程aにおいて、等価度が最も高い複数の代替実現部(7)のうちの1つが決定される上記の特定の回路構造は、乗算器であることを特徴とする、請求項1に記載の方法。
  4. 工程において、等価度が最も高い複数の代替実現部(7)のうちの1つが決定される上記の特定の回路構造は、整数乗算機能を実現する乗算器であることを特徴とする、請求項に記載の方法。
  5. 上記の基準記述(5)が、RTL回路記述、VHDL回路記述、およびVerilog回路記述を含む群から選択されることを特徴とする請求項1〜4のいずれか1項に記載の方法。
  6. 工程では、デジタル回路(6)にある実現部と、工程によって置き換えられた基準記述(5)とを比較する等価試験を実行することを特徴とする請求項1〜5のいずれか1項に記載の方法。
  7. 上記の特定の回路構造に対する所定の複数の代替実現部(7)のうちの1つには、デジタル回路を設計するための合成装置によって援用される、上記の特定の回路構造の他の構造が含まれることを特徴とする請求項1〜6のいずれか1項に記載の方法。
  8. 工程aにおいて、各特定の回路構造に対して、複数の互いに異なる代替実現部(7)を同時にシミュレートし、工程bにおいて、シミュレートした上記の代替実現部をデジタル回路(6)のシミュレーションと比較することを特徴とする、請求項1〜7のいずれか1項に記載の方法。
  9. 複数の互いに異なる代替実現部(7)の入力部を互いに接続し、この代替実現部(7)の対応する出力部を共通出力部に供給することにより、各回路構造に対する複数の互いに異なる代替実現部(7)を同時にシミュレートして、複数の異なる代替実現部(7)のそれぞれの回路機能を維持することを特徴とする請求項8に記載の方法。
  10. 上記異なる代替実現部(7)の出力部を、論理ODER回路部を用いて上記の共通出力部に接続することを特徴とする請求項9に記載の方法。
  11. 工程では、各代替実現部に対して、検証対象となるデジタル回路(6)のシミュレーションとの等価度を、複数の互いに異なる代替実現部のそれぞれについて、シミュレートされた、複数の互いに異なる代替実現部(7)として出力される値の数を算出することによって獲得し、
    該出力される値は、検証対象となるデジタル回路(6)によって対応するシミュレーションパターンとして出力される対応する値と一致することを特徴とする請求項1〜10のいずれか1項に記載の方法。
  12. 工程では、同値類細分方法を用いて、構造的な等価度が最も高い代替実現部(7)を決定することを特徴とする請求項1〜11のいずれか1項に記載の方法。
  13. 検証対象となるデジタル回路の記述を格納する第1記憶手段(6)と、
    上記のデジタル回路の基準記述を格納する第2記憶手段(5)と、
    検証手段(2)とを備え、
    上記の検証手段が、上記の検証対象となるデジタル回路(6)の記述と、基準記述(5)とを比較する等価試験によってデジタル回路内のエラーを認識できる、デジタル回路を検証する装置であって、
    さらに、上記のデジタル回路における特定の回路構造に対する様々な所定の代替実現部を格納する第3記憶手段(7)を備え、
    上記の検証手段(2)は、特定の回路構造に対して、検証対象となるデジタル回路との構造的な等価度が高い代替実現部を決定する構成となっており、
    上記の検証手段(2)は、個々の特定の回路構造に対して、構造的な等価度が最も高い所定の代替実現部をデジタル回路の基準記述に挿入するとともに、等価試験を実行するために、検証対象となるデジタル回路の記述と、改変された基準記述とを比較することができる構成となっていることを特徴とする装置。
  14. データ媒体(3)に格納されたプログラムコードを有し、記憶装置に格納された検証対象となるデジタル回路(6)と、記憶装置に格納された、このデジタル回路の基準記述(5)とを比較する等価試験を用いて、デジタル回路内のエラーを認識するデジタル回路の検証処理を、制御部(2)と記憶装置とを備えるコンピュータ(1)が実行するコンピュータプログラムであって、
    上記デジタル回路の基準記述(5)によって記述される特定の回路構造に対して、上記デジタル回路の基準記述(5)に対する、記憶装置に格納された、異なる複数の代替実現部(7)を、制御部(2)がシミュレートする工程aと、
    上記シミュレートされた、複数の互いに異なる代替実現部(7)と、上記の検証対象となるデジタル回路(6)の対応するシミュレーションとを、制御部(2)が比較する工程bと、
    上記シミュレートされた、異なる複数の代替実現部(7)のうち、上記の検証対象となるデジタル回路(6)と構造的な等価度が最も高いものを、制御部(2)が決定する工程cと、
    デジタル回路の基準記述(5)内において上記の特定の回路構造の記述を、上記シミュレートされた、複数の互いに異なる代替実現部のうち上記決定されたものに、制御部(2)が置き換える工程dと、
    上記の検証対象となる上記デジタル回路(6)と、上記置き換えられた基準記述(5)とを比較することにより、制御部(2)が等価試験を実行する工程eとを含むことを特徴とするコンピュータプログラム
  15. 上記シミュレートされた、異なる複数の代替実現部(7)のうち、上記の検証対象となるデジタル回路(6)の設計点が最も等価なものを決定することによって、上記シミュレートされた、異なる複数の代替実現部(7)のうち、上記の検証対象となるデジタル回路(6)と構造的な等価度が最も高いものを決定することを特徴とする、請求項14に記載のコンピュータプログラム。
  16. 電気的に読み出し可能な制御信号を備え、プログラムを格納し、上記プログラムにより、記憶装置に格納された検証対象となるデジタル回路(6)と、記憶装置 に格納された、このデジタル回路の基準記述(5)とを比較する等価試験を用いて、デジタル回路内のエラーを認識するデジタル回路の検証処理を、制御部(2)と記憶装置とを備えるコンピュータ(1)が実行するデジタル記憶媒体(3)であって、
    上記プログラムは、上記デジタル回路の基準記述(5)によって記述される特定の回路構造に対して、上記デジタル回路の基準記述(5)に対する、記憶装置に格納された、異なる複数の代替実現部(7)を、制御部(2)がシミュレートする工程aと、
    上記シミュレートされた、複数の互いに異なる代替実現部(7)と、上記の検証対象となるデジタル回路(6)の対応するシミュレーションとを、制御部(2)が比較する工程bと、
    上記シミュレートされた、異なる複数の代替実現部(7)のうち、上記の検証対象となるデジタル回路(6)と構造的な等価度が最も高いものを、制御部(2)が決定する工程cと、
    デジタル回路の基準記述(5)内において上記の特定の回路構造の記述を、上記シミュレートされた、複数の互いに異なる代替実現部のうち上記決定されたものに、制御部(2)が置き換える工程dと、
    上記の検証対象となる上記デジタル回路(6)と、上記置き換えられた基準記述(5)とを比較することにより、制御部(2)が等価試験を実行する工程eとを含むことを特徴とするデジタル記憶媒体。
  17. 上記プログラムが、上記シミュレートされた、異なる複数の代替実現部(7)のうち、上記の検証対象となるデジタル回路(6)の設計点が最も等価なものを決定することによって、上記シミュレートされた、異なる複数の代替実現部(7)のうち、上記の検証対象となるデジタル回路(6)と構造的な等価度が最も高いものを決定することを特徴とする、請求項16に記載のデジタル記憶媒体。
JP2004535108A 2002-08-29 2003-08-19 デジタル回路を検証するための方法、装置、プログラムおよびプログラムを格納したデジタル記憶媒体 Expired - Lifetime JP3955301B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10239782A DE10239782A1 (de) 2002-08-29 2002-08-29 Verfahren und Vorrichtung zur Verifikation von digitalen Schaltungen
PCT/EP2003/009179 WO2004025520A2 (de) 2002-08-29 2003-08-19 Verfahren und vorrichtung zur verifikation von digitalen schaltungen

Publications (2)

Publication Number Publication Date
JP2006500647A JP2006500647A (ja) 2006-01-05
JP3955301B2 true JP3955301B2 (ja) 2007-08-08

Family

ID=31724165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004535108A Expired - Lifetime JP3955301B2 (ja) 2002-08-29 2003-08-19 デジタル回路を検証するための方法、装置、プログラムおよびプログラムを格納したデジタル記憶媒体

Country Status (6)

Country Link
US (1) US7802211B2 (ja)
EP (1) EP1546949B1 (ja)
JP (1) JP3955301B2 (ja)
AU (1) AU2003251712A1 (ja)
DE (2) DE10239782A1 (ja)
WO (1) WO2004025520A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10239782A1 (de) 2002-08-29 2004-03-18 Infineon Technologies Ag Verfahren und Vorrichtung zur Verifikation von digitalen Schaltungen
CN1885293A (zh) * 2005-06-22 2006-12-27 鸿富锦精密工业(深圳)有限公司 电路设计图元件关系对比系统及方法
US8555218B2 (en) * 2008-05-24 2013-10-08 Tabula, Inc. Decision modules
US8201117B2 (en) * 2009-01-22 2012-06-12 International Business Machines Corporation Method for scalable derivation of an implication-based reachable state set overapproximation

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504691A (en) 1991-11-08 1996-04-02 U.S. Philips Corporation Method and device for tracking down a prespecified subcircuit in an electrical circuit, method for constructing integrated circuit masks using the method
JP3002066B2 (ja) 1992-11-27 2000-01-24 富士通株式会社 機能図と回路図との対応関係保存方法
US5493508A (en) * 1994-06-01 1996-02-20 Lsi Logic Corporation Specification and design of complex digital systems
JPH1063707A (ja) 1996-08-15 1998-03-06 Nec Corp 論理回路検証装置および論理回路検証方法
US5754454A (en) * 1997-03-03 1998-05-19 Motorola, Inc. Method for determining functional equivalence between design models
US6086626A (en) * 1997-05-16 2000-07-11 Fijutsu Limited Method for verification of combinational circuits using a filtering oriented approach
US6026222A (en) * 1997-12-23 2000-02-15 Nec Usa, Inc. System for combinational equivalence checking
US6148436A (en) * 1998-03-31 2000-11-14 Synopsys, Inc. System and method for automatic generation of gate-level descriptions from table-based descriptions for electronic design automation
US6247165B1 (en) * 1998-03-31 2001-06-12 Synopsys, Inc. System and process of extracting gate-level descriptions from simulation tables for formal verification
US6321173B1 (en) * 1998-12-10 2001-11-20 Hewlett-Packard Company System and method for efficient verification of functional equivalence between design models
JP2000242672A (ja) 1999-02-23 2000-09-08 Mitsubishi Electric Corp 形式的論理検証装置および形式的論理検証方法
JP2001092869A (ja) 1999-09-24 2001-04-06 Nec Eng Ltd 論理合成・検証装置,論理合成・検証方法および記録媒体
US6484292B1 (en) * 2000-02-07 2002-11-19 Xilinx, Inc. Incremental logic synthesis system for revisions of logic circuit designs
US7082586B2 (en) * 2000-09-05 2006-07-25 Onespin Solutions, Gmbh Method and arrangement for the comparison of technical system by means of system replacements
US7143021B1 (en) * 2000-10-03 2006-11-28 Cadence Design Systems, Inc. Systems and methods for efficiently simulating analog behavior of designs having hierarchical structure
US6993730B1 (en) * 2001-01-10 2006-01-31 Tempus Fugit, Inc. Method for rapidly determining the functional equivalence between two circuit models
US6742174B1 (en) * 2001-10-19 2004-05-25 Cadence Design Systems, Inc. Similarity-driven synthesis for equivalence checking of complex designs
DE10152213B4 (de) * 2001-10-23 2006-04-27 Onespin Solutions Gmbh Verfahren zur Verifikation digitaler arithmetischer Schaltungen mittels eines Äquivalenzvergleiches
US6813201B2 (en) * 2001-10-24 2004-11-02 Sun Microsystems, Inc. Automatic generation and validation of memory test models
US6931611B2 (en) * 2001-12-19 2005-08-16 Freescale Semiconductor, Inc. Design verification system for avoiding false failures and method therefor
US6848084B1 (en) * 2002-07-02 2005-01-25 Cadence Design Systems, Inc. Method and apparatus for verification of memories at multiple abstraction levels
DE10239782A1 (de) * 2002-08-29 2004-03-18 Infineon Technologies Ag Verfahren und Vorrichtung zur Verifikation von digitalen Schaltungen

Also Published As

Publication number Publication date
DE10239782A1 (de) 2004-03-18
EP1546949A2 (de) 2005-06-29
US7802211B2 (en) 2010-09-21
DE50302911D1 (de) 2006-05-18
EP1546949B1 (de) 2006-04-05
WO2004025520A3 (de) 2004-05-13
WO2004025520A2 (de) 2004-03-25
AU2003251712A1 (en) 2004-04-30
US20060101359A1 (en) 2006-05-11
JP2006500647A (ja) 2006-01-05

Similar Documents

Publication Publication Date Title
Chen et al. A scalable software-based self-test methodology for programmable processors
US4862399A (en) Method for generating efficient testsets for a class of digital circuits
US7260799B2 (en) Exploiting suspected redundancy for enhanced design verification
US7454324B1 (en) Selection of initial states for formal verification
US6074426A (en) Method for automatically generating behavioral environment for model checking
US8000950B2 (en) Random initialization of latches in an integrated circuit design for simulation
KR100329896B1 (ko) 응용 주문형 집적 회로 설계 방법
US6370493B1 (en) Simulation format creation system and method
US8522182B2 (en) Generation of an end point report for a timing simulation of an integrated circuit
US7882483B2 (en) Method for checking constraints equivalence of an integrated circuit design
US9965575B2 (en) Methods and systems for correcting X-pessimism in gate-level simulation or emulation
US6687882B1 (en) Methods and apparatuses for non-equivalence checking of circuits with subspace
US20080172551A1 (en) Operation verification method for verifying operations of a processor
US7823101B2 (en) Device, method, and storage for verification scenario generation, and verification device
US7673288B1 (en) Bypassing execution of a software test using a file cache
US20170270228A1 (en) Method and system for emulation of multiple electronic designs in a single testbench environment
Bombieri et al. Incremental ABV for functional validation of TL-to-RTL design refinement
Kaiss et al. Industrial strength SAT-based alignability algorithm for hardware equivalence verification
JP3955301B2 (ja) デジタル回路を検証するための方法、装置、プログラムおよびプログラムを格納したデジタル記憶媒体
KR102558036B1 (ko) Python을 활용한 RTL 설계 검증 자동화 방법 및 시스템
US8091052B2 (en) Optimization of post-layout arrays of cells for accelerated transistor level simulation
US12073159B2 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US20080077893A1 (en) Method for verifying interconnected blocks of IP
US7650579B2 (en) Model correspondence method and device
Kang et al. Accurate logic simulation by overcoming the unknown value propagation problem

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20051114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070319

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070501

R150 Certificate of patent or registration of utility model

Ref document number: 3955301

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20140511

Year of fee payment: 7

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term