JP2005141624A - 検証装置、検証方法およびプログラム - Google Patents

検証装置、検証方法およびプログラム Download PDF

Info

Publication number
JP2005141624A
JP2005141624A JP2003379532A JP2003379532A JP2005141624A JP 2005141624 A JP2005141624 A JP 2005141624A JP 2003379532 A JP2003379532 A JP 2003379532A JP 2003379532 A JP2003379532 A JP 2003379532A JP 2005141624 A JP2005141624 A JP 2005141624A
Authority
JP
Japan
Prior art keywords
verification
model
hardware
software
timing information
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
JP2003379532A
Other languages
English (en)
Other versions
JP4251964B2 (ja
Inventor
Masami Iwamoto
正美 岩本
Yuichi Ozawa
裕一 小澤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003379532A priority Critical patent/JP4251964B2/ja
Priority to US10/852,241 priority patent/US7561999B2/en
Publication of JP2005141624A publication Critical patent/JP2005141624A/ja
Application granted granted Critical
Publication of JP4251964B2 publication Critical patent/JP4251964B2/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
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • 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)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 システムLSI開発におけるハードウェアおよびソフトウェアの検証を精度良く効率的に行う。
【解決手段】 ハードウェア検証時には、HDLモデル2の論理シミュレータ11によるシミュレーション結果と、期待値算出モデル12が生成する期待値とが、等価検証部13で比較、検証される。ソフトウェア検証時には、期待値算出モデル12がインタフェース部15を介して利用され、ファームウェア3がソフトウェアデバッガ14により検証される。期待値算出モデル12は、ハードウェア検証時には期待値生成モデルとして用いられ、ソフトウェア検証時にはハードウェアのCモデルとして用いられる。このように期待値算出モデル12をハードウェア検証とソフトウェア検証の双方に用いることにより、精度良く効率的に検証が行えるようになる。
【選択図】 図1

Description

本発明は検証装置、検証方法およびプログラムに関し、特にシステムLSI(Large Scale Integrated Circuit)のハードウェアおよびソフトウェアの開発・検証を行うための検証装置、検証方法およびプログラムに関する。
近年のシステムLSIの開発においては、その大規模化、多機能化に伴い、開発期間の長期化やコストの増加が問題となっており、短期間で効率良く、かつ、低コストで所望の高品質システムLSIを製造することのできるハードウェアおよびソフトウェアの開発・検証環境の構築が要望されている。
図5は従来のハードウェアおよびソフトウェアの開発・検証環境の概念図である。
システムLSI開発では、まず、LSI仕様の設計後、そのLSI仕様を基にアーキテクチャ設計を行ってシステムを機能モジュールに分割し、ハードウェアとそのハードウェアを制御するソフトウェアとの切り分けを行う。
ハードウェアは、例えばシステムLSIに搭載されるCPU(Central Processing Unit)/MPU(Micro Processing Unit)の周辺回路であり、通常、その論理機能のビヘイビアレベルでの記述を基に、ハードウェア記述言語(Hardware Description Language,HDL)でその動作記述が行われる。
そして、この動作記述からハードウェアの論理機能を表現した設計データがレジスタ・トランスファ・レベル(Resistor Transfer Level,RTL)で記述される。ハードウェア検証では、このようにHDLを用いてRTL記述されたハードウェアモデル(RTLモデル)101を、テストパターン102を用い、論理シミュレータ103でシミュレートする。
さらに、ハードウェア検証では、そのシミュレーション結果と、RTLモデル101の基になったビヘイビアレベルのハードウェアモデル(期待値モデル)104からテストパターン102を用いて得られる期待値との等価性が等価検証部105で検証される。シミュレーション結果と期待値とが等価であるか否かによって、RTLモデル101の機能の検証が行われる。
なお、ここで用いられる期待値モデル104には、通常、ハードウェアにおける処理のタイミングといった時間的概念は考慮されない。ハードウェア検証後は、論理合成やレイアウト設計等の工程へと進む。
一方、ソフトウェアは、通常、C/C++等のプログラミング言語で記述される。ソフトウェア検証では、CPU/MPUの周辺回路を動作記述した周辺回路ブロック106を、LSI仕様に合わせてC言語等で記述したバスインタフェース107およびバス108を介して、CPU/MPUを動作記述したCPU/MPUブロック109に接続し、さらに、検証すべきソフトウェア(ファームウェア)110をメモリブロック111に格納した仮想プロトタイプが使用される。
この仮想プロトタイプを用いたソフトウェア検証では、周辺回路ブロック106としてC言語で記述されたハードウェアモデルが必要になるが、通常はRTLモデル101をC言語に書き換えたプログラム(Cモデル)をソフトウェア検証用に作成し、これをソフトウェア検証時のハードウェアモデルとして使用する。このようなCモデルを用い、CPU/MPUの命令動作を実行する命令セットシミュレータ(Instruction Set Simulator,ISS)をソフトウェアデバッガとして使用し、ほぼ実回路と同じ環境でソフトウェアのデバッグを行う。
デバッグ後は、検証後のソフトウェアを、ハードウェア検証を基に形成された実回路に搭載し、システム全体の検証が行われる。
このようなシステムLSI開発においては、最近では、開発期間の短縮を目的として、ソフトウェアデバッガの動作と同期させながらRTLモデル101や期待値モデル104のシミュレーションを行って、ソフトウェアデバッガおよび論理シミュレータ103での各実行結果を比較する協調検証も行われている。
また、従来は、ハードウェア検証時のシミュレーションを高速化して開発期間を短縮する目的で、RTLモデルを用いたときのような詳細な(時刻精度が細かい)低速シミュレーションとビヘイビアレベルのモデルを用いたときのような簡略な(時刻精度が粗い)高速シミュレーションを、時刻精度と指定した切り替え時刻に基づいてモデルを切り替えて行うようにした提案もなされている(例えば特許文献1参照)。
特開平10−261002号公報(段落番号〔0037〕〜〔0092〕、図1)
しかし、従来のシステムLSI開発では、ソフトウェア検証のために、HDLで記述されたRTLモデルをC言語に書き換えたCモデルを作成する際、CモデルとRTLモデルの間の等価性に問題があった。
そのため、ソフトウェア検証を行ったときに、仕様通りの結果が得られないなど、不具合が生じた場合には、その不具合がRTLモデルに等価であるはずのCモデルに起因するものであるのか、検証しているソフトウェアに起因するものであるのか、その特定が非常に困難になる。原因特定のためには、RTLモデルやCモデルの再検証、システム全体の再検証が必要になり、CモデルとRTLモデルの等価性は、システムLSI開発期間の長期化を招く一因となっていた。
また、ソフトウェア検証に用いるCモデルは、検証精度を重視するか検証スピードを重視するかといった検証目的に応じた検証レベルごとに別々に作成していた。このようにCモデルを検証レベルごとに別々に作成すると、モデル作成やそのモデルを用いたソフトウェアデバッグに大変な労力と時間が必要になり、これによってもシステムLSI開発の効率化が損なわれていた。
本発明はこのような点に鑑みてなされたものであり、システムLSI開発におけるハードウェアおよびソフトウェアの検証を精度良く効率的に行うことのできる検証装置を提供することを目的とする。
また、本発明は、システムLSI開発におけるハードウェアおよびソフトウェアの検証を精度良く効率的に行う検証方法を提供することを目的とする。
また、本発明は、システムLSI開発におけるハードウェアおよびソフトウェアの検証を精度良く効率的に行うための処理をコンピュータに実行させるためのプログラムを提供することを目的とする。
本発明では上記課題を解決するために、図1に示す構成で実現可能な検証装置が提供される。本発明の検証装置は、ハードウェアとハードウェアを制御するソフトウェアとをモデルを用いて検証する検証装置において、検証時の検証レベルを示す一のタイミング情報と前記一のタイミング情報と異なる他のタイミング情報とを有するモデルを、ハードウェア検証とソフトウェア検証の双方に用いることを特徴とする。
図1に示した検証装置10によれば、HDLモデル2の検証の際には、HDLモデル2の論理シミュレータ11によるシミュレーション結果と、期待値算出モデル12が生成する期待値とが、等価検証部13で比較、検証される。そして、ファームウェア3の検証の際には、このHDLモデル2の検証に用いられる期待値算出モデル12がインタフェース部15を介して利用され、ファームウェア3がソフトウェアデバッガ14により検証される。すなわち、期待値算出モデル12は、ハードウェア検証の際には期待値の生成モデルとして用いられ、ソフトウェア検証の際にはハードウェアのCモデルとして用いられる。この期待値算出モデル12は、検証時の検証レベルを示す複数のタイミング情報を有し、ハードウェアまたはソフトウェアの検証の際には、そのタイミング情報を基に、検証レベルに応じたタイミングでデータを転送する。このように期待値算出モデル12をハードウェア検証とソフトウェア検証の双方に用いることにより、精度良く効率的に検証が行えるようになる。
また、本発明では、ハードウェアとハードウェアを制御するソフトウェアとをモデルを用いて検証する検証方法において、検証時の検証レベルを示す一のタイミング情報と前記一のタイミング情報と異なる他のタイミング情報とを有するモデルを、ハードウェア検証とソフトウェア検証の双方に用いることを特徴とする検証方法が提供される。
このような検証方法によれば、検証時の検証レベルを示す複数のタイミング情報を有するモデルが、ハードウェア検証とソフトウェア検証の双方に用いられ、精度良く効率的に検証が行えるようになる。
また、本発明では、コンピュータを用いて、ハードウェアとハードウェアを制御するソフトウェアとをモデルを用いて検証するためのプログラムにおいて、コンピュータに、検証時の検証レベルを示す一のタイミング情報と前記一のタイミング情報と異なる他のタイミング情報とを有するモデルを用いてハードウェア検証を行い、前記モデルを用いてソフトウェア検証を行う処理を実行させることを特徴とするプログラムが提供される。
このようなプログラムによれば、検証時の検証レベルを示す複数のタイミング情報を有する期待値算出モデルがハードウェア検証に用いられ、さらにソフトウェア検証にも用いられるようになるので、精度良く効率的に検証が行えるようになる。
また、本発明では、ハードウェア検証に使用されるモデルを、ソフトウェア検証を行えるように作成する検証装置において、前記モデルは、前記ソフトウェア検証に使用されるタイミング情報以外のタイミング情報を有することを特徴とする検証装置が提供される。
このような検証装置によれば、複数のタイミング情報を有するモデルを、ハードウェア検証とソフトウェア検証の双方に用いて、精度良く効率的に検証が行える。
また、本発明では、ハードウェア検証に使用されるモデルを、ソフトウェア検証を行えるように作成する検証装置において、前記モデルは、前記ソフトウェア検証に使用されるタイミング情報について、複数種別のソフトウェア検証に対応する数有することを特徴とする検証装置が提供される。
このような検証装置によれば、複数のタイミング情報を有するモデルを、ハードウェア検証とソフトウェア検証の双方に用いて、精度良く効率的に検証が行える。
本発明によれば、検証時の検証レベルを示す複数のタイミング情報を有するモデルを用いてハードウェア検証とソフトウェア検証が行われる。タイミング情報を基に、ひとつのモデルで異なる検証レベルの複数の検証に対応することができるので、ソフトウェア検証用にハードウェアモデル(Cモデル)を作成することが不要になり、また、不具合の原因を効率良く見つけ出すことが可能になる。これにより、システムLSIの開発効率を向上させ、高品質なシステムLSIを短期間でかつ低コストで開発・製造することが可能になる。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は本発明の原理説明図である。
システムLSI開発では、まず、LSI仕様(IP(Intellectual Property)仕様)1が設計され、アーキテクチャの設計を行ってハードウェアとそのハードウェアを制御するためのソフトウェアが切り分けられ、ハードウェア、ソフトウェアそれぞれの詳細設計が行われる。
ハードウェアは、例えば、システムLSIに搭載されるCPU/MPUの周辺回路等である。ハードウェアについては、その論理機能がVHDL(Very High Speed Integrated Circuit HDL)やVerilog−HDL等のHDLを用いて記述されたハードウェアモデル(HDLモデル)2が設計される。
また、ソフトウェアは、CPU/MPUやその周辺回路等に所定の処理動作を実行させるためのプログラムからなるファームウェア3である。ソフトウェアについては、C/C++等のプログラミング言語を用いて、システムLSIに搭載されるファームウェア3が設計される。
本発明の検証装置10は、HDLモデル2およびファームウェア3を有するとともに、HDLモデル2の機能を検証するための論理シミュレータ11、および論理シミュレータ11のシミュレーション結果と期待値算出モデル12によって生成される期待値との等価性を検証する等価検証部13を有している。さらに、この検証装置10は、ファームウェア3の処理動作を検証するためのソフトウェアデバッガ14、およびこのソフトウェアデバッガ14と期待値算出モデル12とを接続するインタフェース部15を有している。
このような検証装置10において、論理シミュレータ11は、LSI仕様1に基づく所定のテストパターンを用いてHDLモデル2をシミュレートし、シミュレーション結果を生成する。
期待値算出モデル12は、LSI仕様1に基づくハードウェアの機能仕様に従ってC/C++等のプログラミング言語を用いて作成されたハードウェアモデルを含んでおり、このハードウェアモデルは、HDLモデル2の検証における期待値の生成モデルとして用いられる。さらに、このハードウェアモデルは、ファームウェア3の検証においては、システムLSIのハードウェアを記述したCモデルとして用いられる。
等価検証部13は、HDLモデル2のシミュレーション結果と、所定のテストパターンを用いて期待値算出モデル12から生成される期待値とを比較し、その等価性を検証する。なお、シミュレーション結果が期待値と等価であるHDLモデル2は、ソフトウェア検証、あるいは論理合成、レイアウト設計、タイミング検証、テープアウト等の各工程で利用される。
ソフトウェアデバッガ14は、システムLSIに搭載されるCPU/MPUの命令動作をシミュレートするISSであり、ソフトウェア検証の際には、このISSがCPU/MPUに代わってファームウェア3を実行する。
インタフェース部15は、ソフトウェアデバッガ14とのインタフェースを有し、さらに、API(Application Program Interface)を用いた期待値算出モデル12とのインタフェースを有する。これにより、ソフトウェアデバッガ14は、このインタフェース部15を介して、ハードウェアのCモデルとして期待値算出モデル12を利用し、ファームウェア3の検証を行うことができるようになっている。
このように、期待値算出モデル12は、ハードウェア検証においては、システムLSIのCPU/MPUの周辺回路等を示したHDLモデル2の期待値生成モデルとして用いられ、ソフトウェア検証においては、CPU/MPUの周辺回路等を示したCモデルとして用いられるようになっている。
このようなハードウェア検証およびソフトウェア検証を行う検証装置10は、例えば、一般的なパーソナルコンピュータやワークステーションを用いて構成することができる。その場合、HDLモデル2、ファームウェア3、論理シミュレータ11、期待値算出モデル12、等価検証部13、ソフトウェアデバッガ14、インタフェース部15およびテストパターン等は、プログラムとして構成され、検証装置10が有するハードディスク等の記憶装置あるいは検証装置10内のメモリに格納される。検証装置10では、これらのプログラムが検証装置10のCPU等によって実行されることで、所定の処理機能が実現され、ハードウェア検証およびソフトウェア検証が行えるようになっている。
図2はハードウェアおよびソフトウェアの開発・検証環境の概念図である。
ハードウェア開発・検証環境は、期待値算出モデル12、RTLモデル2a、テストパターン16、論理シミュレータ11、等価検証部13で構成される。
ここで、RTLモデル2aは、LSI仕様(IP仕様)1に基づき、システムLSIのハードウェアの論理機能がHDLを用いてRTL記述されたハードウェアモデルである。また、テストパターン16は、このシステムLSIが使われるアプリケーションで想定される命令や命令の組み合わせを示したテストベンチである。
ソフトウェア開発・検証環境は、図2に示すように、期待値算出モデル12のほか、期待値算出モデル12にバス17およびバスインタフェース18を介して接続されるCPU/MPUの動作を記述したCPU/MPUブロック19、およびファームウェア3が格納されるメモリブロック20を有する仮想プロトタイプとして構成することができる。
ここで、バスインタフェース18は、USB(Universal Serial Bus)、PCI(Peripheral Component Interconnect)、IEEE(Institute of Electrical and Electronics Engineers)1394などの規格に従い、LSI仕様1に合わせてC言語で記述され、CPU/MPUブロック19をバス17に接続する。
CPU/MPUブロック19としては、ソフトウェアデバッガ14であるISSが用いられる。ISSは、CPU/MPUに代わってメモリブロック20に格納されたC言語のファームウェア3を実行し、CPU/MPUの命令動作をシミュレートするようになっている。
ISSは、ファンクション・アキュレート・レベル(Function Accurate Level)、トランザクション・アキュレート・レベル(Transaction Accurate Level)、サイクル・アキュレート・レベル(Cycle Accurate Level)のいずれかの検証レベルでCPU/MPUの命令動作をシミュレートする。
ここで、ファンクション・アキュレート・レベルとは、時間概念のない、機能単位でデータを転送して高速にシミュレーションが実行される検証レベルをいう。トランザクション・アキュレート・レベルとは、バスアクセス等のイベント単位でデータを転送してシミュレーションが実行される検証レベルをいう。サイクル・アキュレート・レベルとは、クロック単位でデータを転送してシミュレーションが実行される検証レベルをいう。
ソフトウェア検証の際には、検証精度を重視するか、検証スピードを重視するかといった検証目的に応じて、用いるISSが選択され、選択されるISSによってソフトウェア検証の検証レベルが決まる。
メモリブロック20は、システムLSIにおいてRAMあるいはROMとして機能し、CPU/MPUやその周辺回路を動作させるファームウェア3が格納される。
期待値算出モデル12は、後述のバスインタフェースおよびバス17を介して、CPU/MPUブロック19と接続されるようになっている。
また、期待値算出モデル12は、ファンクション・アキュレート・レベル、トランザクション・アキュレート・レベル、サイクル・アキュレート・レベルをそれぞれ示すタイミング情報を有する。このタイミング情報は、期待値算出モデル12において、例えばISSに応じ、ユーザが検証レベルを設定することによって決定される。期待値算出モデル12では、このタイミング情報によってシミュレーションの検証レベルが認識され、それによってシミュレーション時のデータ転送のタイミング(機能単位、イベント単位、クロック単位)が制御されるようになっている。
このような構成のハードウェアおよびソフトウェアの開発・検証環境において、ハードウェア検証の際には、HDLを用いて記述されたRTLモデル2aとテストパターン16を用い、論理シミュレータ11でRTLモデル2aの出力をシミュレートする。さらに、この論理シミュレータ11では、C言語で記述された期待値算出モデル12とテストパターン16を用い、期待値算出モデル12の出力がシミュレートされ、期待値が生成される。その際、期待値は、ファンクションレベルの演算によって生成される。
この期待値算出モデル12は、テストパターン16を用いたRTLモデル2aのシミュレーションにおける論理シミュレータ11のコントロール情報に基づいて演算を行うようにすることで、RTLモデル2aと動作の同期が行える。このように、期待値算出モデル12を、RTLモデル2aと同期させて同じ動作をするかどうかを比較することで、ハードウェアの不具合を早い段階で見つけ出すことが可能になる。
また、期待値算出モデル12は、LSI仕様1に基づくハードウェアの機能仕様に従って作成されているので、RTLモデル2aとの動作比較基準として好適である。すなわち、従来のハードウェア検証では、RTLモデル2aが適正に動作しているか否かの判定基準がなかったために、RTLモデル2aが仕様通りに動作しているか否かの見極めが難しかった。しかしながら、期待値算出モデル12をハードウェアの機能仕様に従って作成することにより、期待値算出モデル12をRTLモデル2aの動作が適正か否かの判断基準として利用することができる。
RTLモデル2aのシミュレーション結果と期待値算出モデル12の期待値とは、等価検証部13でその等価性が検証される。シミュレーション結果と期待値とが一致する場合には、ソフトウェア検証や、そのRTLモデル2aを用いた論理合成等、所定の次工程に移行する。シミュレーション結果と期待値とが不一致の場合には、RTLモデル2aおよび期待値算出モデル12を再検証し、不具合の生じる原因を究明することとなる。
このようにして期待値算出モデル12の出力とRTLモデル2aの出力とが等価となった後に、用いるISSによって決まる検証レベルでのソフトウェア検証が行われる。ソフトウェア検証の際には、ファームウェア3が期待値算出モデル12のハードウェアモデル(Cモデル)と共にISSによって正しく動作するかが検証される。
ここで、上記のようにハードウェア検証およびソフトウェア検証で用いられる期待値算出モデル12について、より詳細に説明する。
図3は期待値算出モデルの構成例を示す図である。
期待値算出モデル12は、バス17に接続されるUSB、PCI、IEEE1394などの規格に従ったバスインタフェース12a、バスインタフェース12aから転送される入力データを用いて所定の演算を実行するハードウェアモデル12b、およびハードウェアモデル12bの演算結果が格納されるスタックメモリ12cを有している。
バスインタフェース12aは、ファンクション・アキュレート・レベル、トランザクション・アキュレート・レベル、サイクル・アキュレート・レベルの各検証レベルに対応したタイミング情報に応じて、バス17から入力されてくるデータのハードウェアモデル12bへの転送方式を切り替えることができるように構成されている。
すなわち、バスインタフェース12aは、ファンクション・アキュレート・レベルでは、ハードウェアモデル12bが演算に必要とする入力データのすべてを転送する。トランザクション・アキュレート・レベルでは、ハードウェアモデル12bにバスアクセス等のイベントごとに入力データを転送する。サイクル・アキュレート・レベルでは、ハードウェアモデル12bに1クロックごとに入力データを転送する。
また、バスインタフェース12aは、タイミング情報に応じて、スタックメモリ12cからバス17への出力データの転送方式を切り替えることができるように構成されている。
すなわち、バスインタフェース12aは、ファンクション・アキュレート・レベルでは、スタックメモリ12cに格納されているデータをすべてバス17に転送する。トランザクション・アキュレート・レベルでは、スタックメモリ12cに格納されているデータをイベントごとにバス17に転送する。サイクル・アキュレート・レベルでは、スタックメモリ12cに格納されているデータを1クロックごとにバス17に転送する。
期待値算出モデル12にこのようなタイミング情報に基づくデータ転送方式の切り替え機能を備えることにより、RTLモデル2aの検証のほか、ISSの種類に依らずにファームウェア3の検証を行うことが可能になっている。また、別のソフトウェア検証装置を用いる場合であっても、その種類に依らずにファームウェア3の検証が可能になる。
また、ハードウェアモデル12bは、先のハードウェア検証においてRTLモデル2aと等価なファンクションレベルのモデルであり、例えばANSI規格のC言語等を用いて作成される。ハードウェアモデル12bでは、RTLモデル2aの検証あるいはファームウェア3の検証の際には、バスインタフェース12aから入力データが転送され、所定の演算処理に必要な入力データがすべて揃ったときに、その演算が実行され、演算結果のデータがスタックメモリ12cに転送される。スタックメモリ12cに転送される演算結果のデータが複数のデータの集合からなる場合には、そのデータの集合がスタックメモリ12cに一気に転送される。
ここで、ハードウェアモデル12bがANSI規格に従うC言語で作成されている場合には、ハードウェア検証の際、テストパターンやシミュレーションに用いられる4値(0,1,X,Z)のうちX(不定)およびZ(ハイインピーダンス)の値はそのままでは演算に用いることができない。そのため、このバスインタフェース12aは、ユーザ定義により、4値表現の入力データを0,1の2値表現に変換してハードウェアモデル12bに転送するように構成されている。例えば、バスインタフェース12aは、不定を示すXを0または1に、ハイインピーダンスを示すZを1または0に、それぞれ変換してハードウェアモデル12bに転送する。
ハードウェアモデル12bでは、0,1の2値で演算が実行され、その演算結果のデータがスタックメモリ12cに転送される。
また、その場合、バスインタフェース12aは、バス17に転送するデータが、入力データ転送時のデータ幅やビット幅に満たない場合には、4値表現から2値表現に変換されたデータであると認識し、そのデータを、ユーザ定義により、0または1をXまたはZに再変換し、4値表現でデータをバス17に出力する。
期待値算出モデル12に、このような4値/2値変換機能を備えることで、ANSI規格に従うC言語で作成されハードウェアモデル12bを、RTLモデル2aの検証およびファームウェア3の検証の双方に容易に用いることが可能になる。
また、検証装置10は、ハードウェア検証で使用する4値表現のモデルを、ソフトウェア検証に使用する2値表現に変換する4値/2値変換手段を有している。
なお、期待値算出モデル12は、その入力データに0,1,X,Zの4値以外の値(U,W,L,Hなど)が含まれている場合でも、同様にして最終的に0,1の2値に変換し、ハードウェアモデル12bによる演算を実行した後、再変換して出力するように構成することも可能である。
また、この期待値算出モデル12においては、演算結果のデータまたはデータの集合がスタックメモリ12cに格納される際、その演算結果のデータまたはデータの集合にフラグが付加されるようになっている。
図4はスタックメモリのデータ格納例を示す図である。
期待値算出モデル12のスタックメモリ12cには、ハードウェアモデル12bによる演算結果のデータが一気に転送され、各アドレスに格納される。期待値算出モデル12では、このように各アドレスに格納されるデータについて、検証レベルに応じて転送すべきデータ単位に、それぞれ目安となるフラグが定義されている。
図4に示したデータ格納例の場合、アドレス0x0〜0xFまでのアドレスに格納されるデータについて、検証レベルがファンクション・アキュレート・レベルのときには、アドレス0x0〜0x7,0x8〜0xFのデータの集合にそれぞれ0,1のフラグが付加されている。バスインタフェース12aでは、バス17に転送するデータ単位および転送順がこのフラグによって識別され、バス17へのデータ転送が制御される。
すなわち、バスインタフェース12aは、検証レベルがファンクション・アキュレート・レベルのときには、スタックメモリ12cからのデータ転送時に、まず、0のフラグが付加されているアドレス0x0〜0x7のデータの集合を転送し、次いで、1のフラグが付加されているアドレス0x8〜0xFのデータの集合を転送する。
また、検証レベルがトランザクション・アキュレート・レベルのときには、0x0〜0x3,0x4〜0x7,0x8〜0xB,0xC〜0xFのデータの集合にそれぞれ0〜3のフラグが付加されている。さらにまた、検証レベルがサイクル・アキュレート・レベルのときには、0x0〜0xFの16個の各データに0〜15のフラグがそれぞれ付加されている。トランザクション・アキュレート・レベル、サイクル・アキュレート・レベルのときもファンクション・アキュレート・レベルのときと同様、バスインタフェース12aでは、バス17に転送するデータ単位および転送順がこのフラグによって識別され、バス17へのデータ転送が制御される。
このように、検証レベルに応じて、転送するデータ単位にフラグを付加して格納しておくことにより、検証レベルに応じたバス17へのデータ転送が可能になる。したがって、この期待値算出モデル12では、ソフトウェア検証がファンクション・アキュレート・レベル、トランザクション・アキュレート・レベル、サイクル・アキュレート・レベルのいずれであっても、その検証レベルに応じてバス17にデータまたはデータの集合を転送することができる。
従来はソフトウェア検証がファンクション・アキュレート・レベルかトランザクション・アキュレート・レベルかサイクル・アキュレート・レベルかに依って、すなわちソフトウェア検証に用いるISSに依って、別々にハードウェアモデル(Cモデル)を作成し、別々にシミュレーションを行う必要があった。これに対し、上記期待値算出モデル12によれば、ひとつのハードウェアモデル(Cモデル)で複数の検証レベルあるいはソフトウェア検証装置に対応することができるので、より低コストで効率的にシミュレーションを行うことが可能になる。
以上説明したように、上記検証装置10によれば、ハードウェア検証において作成された期待値算出モデル12を、ソフトウェア検証に再利用するので、従来のようにソフトウェア検証用にハードウェアモデル(Cモデル)を作成することが不要になる。そのため、期待値算出モデル12が、RTLモデル2aと等価である限りは、ソフトウェア検証で生じる不具合の原因はファームウェア3にあると考えることができ、ソフトウェア検証の際にハードウェアモデルの検証を行う必要がなくなる。これにより、システムLSIの開発効率を向上させ、高品質なシステムLSIを短期間でかつ低コストで開発・製造することが可能になる。
また、期待値算出モデル12をソフトウェア検証に再利用するに当たり、期待値算出モデル12をソフトウェア検証の検証レベルに対応したタイミング情報に従ってデータの転送方式を切り替えるようにしたので、検証レベルの異なる複数種のISSに対応することができる。すなわち、システムLSIに搭載するCPU等が別のものに替わっても、期待値算出モデル12は特別な変更を加えることなくIPとして以後も利用していくことができ、非常に汎用性が高い。
また、期待値算出モデル12をハードウェア検証とソフトウェア検証の双方に利用できるようにするため、ハードウェアモデル12bをANSI規格のC言語を用いて作成し、期待値算出モデル12に4値/2値変換機能を備えたことにより、期待値算出モデル12の汎用性がいっそう高まるとともに、ソフトウェア検証への再利用が容易に行えるようになる。
なお、検証装置10は、ハードウェア検証の際にはタイミング情報を有していない期待値算出モデル12を用い、ソフトウェア検証の際に期待値算出モデル12に複数のタイミング情報を付加し、これを用いるようにすることができる。あるいは、あらかじめ複数のタイミング情報を有する期待値算出モデル12を、ハードウェア検証とソフトウェア検証の双方に用いるようにしてもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、検証装置10が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
(付記1) ハードウェアとハードウェアを制御するソフトウェアとをモデルを用いて検証する検証装置において、
検証時の検証レベルを示す一のタイミング情報と前記一のタイミング情報と異なる他のタイミング情報とを有するモデルを、ハードウェア検証とソフトウェア検証の双方に用いることを特徴とする検証装置。
(付記2) 前記モデルは、複数の異なる検証レベルに対応する数のタイミング情報を有し、検証時の検証レベルに応じた前記タイミング情報に従って入出力データの転送方式を切り替えることを特徴とする付記1記載の検証装置。
(付記3) 前記モデルは、検証時の入出力データを変換するデータ変換手段を有し、検証時に入力されるデータを前記データ変換手段によって変換して演算を実行し、演算後のデータを前記データ変換手段によって再変換して出力することを特徴とする付記1記載の検証装置。
(付記4) 前記モデルは、検証時の検証レベルに応じたタイミング情報に従って入出力データを転送するインタフェースと、前記インタフェースから転送されるデータを用いて演算を実行するハードウェアモデルと、前記ハードウェアモデルによって演算され前記インタフェースによって出力されるデータを格納するスタックメモリと、を有することを特徴とする付記1記載の検証装置。
(付記5) ハードウェアとハードウェアを制御するソフトウェアとをモデルを用いて検証する検証方法において、
検証時の検証レベルを示す一のタイミング情報と前記一のタイミング情報と異なる他のタイミング情報とを有するモデルを、ハードウェア検証とソフトウェア検証の双方に用いることを特徴とする検証方法。
(付記6) 前記モデルは、複数の異なる検証レベルに対応する数のタイミング情報を有し、検証時の検証レベルに応じた前記タイミング情報に従って入出力データの転送方式を切り替えることを特徴とする付記5記載の検証方法。
(付記7) 前記モデルは、検証時に入力されるデータを変換して演算を実行し、演算後のデータを再変換して出力することを特徴とする付記5記載の検証方法。
(付記8) 前記モデルは、入力されるデータを検証時の検証レベルに応じたタイミング情報に従ってインタフェースによってハードウェアモデルに転送し、前記インタフェースから転送されたデータを用いてハードウェアモデルによって演算を実行し、前記ハードウェアモデルによって演算されたデータをスタックメモリに格納し、前記スタックメモリに格納されたデータを前記検証時の検証レベルに応じたタイミング情報に従って出力することを特徴とする付記5記載の検証方法。
(付記9) コンピュータを用いて、ハードウェアとハードウェアを制御するソフトウェアとをモデルを用いて検証するためのプログラムにおいて、
コンピュータに、
検証時の検証レベルを示す一のタイミング情報と前記一のタイミング情報と異なる他のタイミング情報とを有するモデルを用いてハードウェア検証を行い、
前記モデルを用いてソフトウェア検証を行う処理を実行させることを特徴とするプログラム。
(付記10) 前記コンピュータに、
検証時の検証レベルに応じたタイミング情報に従って前記モデルの入出力データの転送方式を切り替える処理を実行させることを特徴とする付記9記載のプログラム。
(付記11) 前記コンピュータに、
検証時に前記モデルに入力されるデータを変換して演算を実行し、演算後のデータを再変換して出力する処理を実行させることを特徴とする付記9記載のプログラム。
(付記12) 前記コンピュータに、
前記モデルに入力されるデータを検証時の検証レベルに応じたタイミング情報に従ってインタフェースによってハードウェアモデルに転送し、前記インタフェースから転送されたデータを用いてハードウェアモデルによって演算を実行し、前記ハードウェアモデルによって演算されたデータをスタックメモリに格納し、前記スタックメモリに格納されたデータを前記検証時の検証レベルに応じたタイミング情報に従って出力する処理を実行させることを特徴とする付記9記載のプログラム。
(付記13) ハードウェア検証に使用されるモデルを、ソフトウェア検証を行えるように作成する検証装置において、
前記モデルは、前記ソフトウェア検証に使用されるタイミング情報以外のタイミング情報を有することを特徴とする検証装置。
(付記14) ハードウェア検証に使用されるモデルを、ソフトウェア検証を行えるように作成する検証装置において、
前記モデルは、前記ソフトウェア検証に使用されるタイミング情報について、複数種別のソフトウェア検証に対応する数有することを特徴とする検証装置。
(付記15) ハードウェア検証に使用されるモデルを、ソフトウェア検証を行えるように作成する検証装置において、
前記モデルは、前記ソフトウェア検証に使用されるタイミング情報について、複数のソフトウェア検証装置に対応する数有することを特徴とする検証装置。
(付記16) ハードウェア検証に使用されるモデルを、ソフトウェア検証を行えるように作成する検証装置において、
前記ハードウェア検証で使用する4値表現のモデルを、前記ソフトウェア検証に使用する2値表現に変換する4値/2値変換手段を有することを特徴とする検証装置。
本発明の原理説明図である。 ハードウェアおよびソフトウェアの開発・検証環境の概念図である。 期待値算出モデルの構成例を示す図である。 スタックメモリのデータ格納例を示す図である。 従来のハードウェアおよびソフトウェアの開発・検証環境の概念図である。
符号の説明
1 LSI仕様
2 HDLモデル
2a RTLモデル
3 ファームウェア
10 検証装置
11 論理シミュレータ
12 期待値算出モデル
12a,18 バスインタフェース
12b ハードウェアモデル
12c スタックメモリ
13 等価検証部
14 ソフトウェアデバッガ
15 インタフェース部
16 テストパターン
17 バス
19 CPU/MPUブロック
20 メモリブロック

Claims (10)

  1. ハードウェアとハードウェアを制御するソフトウェアとをモデルを用いて検証する検証装置において、
    検証時の検証レベルを示す一のタイミング情報と前記一のタイミング情報と異なる他のタイミング情報とを有するモデルを、ハードウェア検証とソフトウェア検証の双方に用いることを特徴とする検証装置。
  2. 前記モデルは、複数の異なる検証レベルに対応する数のタイミング情報を有し、検証時の検証レベルに応じた前記タイミング情報に従って入出力データの転送方式を切り替えることを特徴とする請求項1記載の検証装置。
  3. 前記モデルは、検証時の入出力データを変換するデータ変換手段を有し、検証時に入力されるデータを前記データ変換手段によって変換して演算を実行し、演算後のデータを前記データ変換手段によって再変換して出力することを特徴とする請求項1記載の検証装置。
  4. 前記モデルは、検証時の検証レベルに応じたタイミング情報に従って入出力データを転送するインタフェースと、前記インタフェースから転送されるデータを用いて演算を実行するハードウェアモデルと、前記ハードウェアモデルによって演算され前記インタフェースによって出力されるデータを格納するスタックメモリと、を有することを特徴とする請求項1記載の検証装置。
  5. ハードウェアとハードウェアを制御するソフトウェアとをモデルを用いて検証する検証方法において、
    検証時の検証レベルを示す一のタイミング情報と前記一のタイミング情報と異なる他のタイミング情報とを有するモデルを、ハードウェア検証とソフトウェア検証の双方に用いることを特徴とする検証方法。
  6. 前記モデルは、複数の異なる検証レベルに対応する数のタイミング情報を有し、検証時の検証レベルに応じた前記タイミング情報に従って入出力データの転送方式を切り替えることを特徴とする請求項5記載の検証方法。
  7. 前記モデルは、検証時に入力されるデータを変換して演算を実行し、演算後のデータを再変換して出力することを特徴とする請求項5記載の検証方法。
  8. コンピュータを用いて、ハードウェアとハードウェアを制御するソフトウェアとをモデルを用いて検証するためのプログラムにおいて、
    コンピュータに、
    検証時の検証レベルを示す一のタイミング情報と前記一のタイミング情報と異なる他のタイミング情報とを有するモデルを用いてハードウェア検証を行い、
    前記モデルを用いてソフトウェア検証を行う処理を実行させることを特徴とするプログラム。
  9. ハードウェア検証に使用されるモデルを、ソフトウェア検証を行えるように作成する検証装置において、
    前記モデルは、前記ソフトウェア検証に使用されるタイミング情報以外のタイミング情報を有することを特徴とする検証装置。
  10. ハードウェア検証に使用されるモデルを、ソフトウェア検証を行えるように作成する検証装置において、
    前記モデルは、前記ソフトウェア検証に使用されるタイミング情報について、複数種別のソフトウェア検証に対応する数有することを特徴とする検証装置。
JP2003379532A 2003-11-10 2003-11-10 検証装置、検証方法およびプログラム Expired - Fee Related JP4251964B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003379532A JP4251964B2 (ja) 2003-11-10 2003-11-10 検証装置、検証方法およびプログラム
US10/852,241 US7561999B2 (en) 2003-11-10 2004-05-25 Verification apparatus, verification method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003379532A JP4251964B2 (ja) 2003-11-10 2003-11-10 検証装置、検証方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2005141624A true JP2005141624A (ja) 2005-06-02
JP4251964B2 JP4251964B2 (ja) 2009-04-08

Family

ID=34544521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003379532A Expired - Fee Related JP4251964B2 (ja) 2003-11-10 2003-11-10 検証装置、検証方法およびプログラム

Country Status (2)

Country Link
US (1) US7561999B2 (ja)
JP (1) JP4251964B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7908518B2 (en) 2008-02-08 2011-03-15 International Business Machines Corporation Method, system and computer program product for failure analysis implementing automated comparison of multiple reference models
JP5056856B2 (ja) * 2007-10-18 2012-10-24 富士通株式会社 論理回路モデルの検証方法及び装置
JP2014232472A (ja) * 2013-05-30 2014-12-11 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
JP2016042326A (ja) * 2014-08-19 2016-03-31 日本システムウエア株式会社 情報処理装置、シミュレーション方法、及び制御プログラム

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899661B2 (en) * 2006-02-16 2011-03-01 Synopsys, Inc. Run-time switching for simulation with dynamic run-time accuracy adjustment
US8543367B1 (en) * 2006-02-16 2013-09-24 Synopsys, Inc. Simulation with dynamic run-time accuracy adjustment
CN100371910C (zh) * 2006-04-30 2008-02-27 华为技术有限公司 单板中本地版本软件的校验方法
EP1933245A1 (en) * 2006-12-15 2008-06-18 Onespin Solutions GmbH Equivalence verification between transaction level models and RTL examples of processors
US8027825B2 (en) * 2007-01-09 2011-09-27 International Business Machines Corporation Structure for testing an operation of integrated circuitry
US8006155B2 (en) * 2007-01-09 2011-08-23 International Business Machines Corporation Testing an operation of integrated circuitry
US7870524B1 (en) * 2007-09-24 2011-01-11 Nvidia Corporation Method and system for automating unit performance testing in integrated circuit design
US8359561B2 (en) * 2007-12-06 2013-01-22 Onespin Solutions Gmbh Equivalence verification between transaction level models and RTL at the example to processors
US8195995B2 (en) * 2008-07-02 2012-06-05 Infineon Technologies Ag Integrated circuit and method of protecting a circuit part of an integrated circuit
US10713069B2 (en) * 2008-09-04 2020-07-14 Synopsys, Inc. Software and hardware emulation system
JP2010160543A (ja) * 2009-01-06 2010-07-22 Renesas Electronics Corp 半導体装置のレイアウトパターンのレイアウト検証装置、レイアウト検証プログラム及びレイアウト検証方法
US8402403B2 (en) * 2009-12-17 2013-03-19 International Business Machines Corporation Verifying a register-transfer level design of an execution unit
US8948182B1 (en) * 2011-11-08 2015-02-03 Marvell International Ltd. Method and system for verification
CN102567165B (zh) * 2011-12-29 2014-04-23 中国科学院自动化研究所 对寄存器传输级硬件实现进行验证的系统及方法
US9063922B2 (en) * 2012-12-18 2015-06-23 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Firmware generated register file for use in hardware validation
US9600384B2 (en) * 2014-10-14 2017-03-21 Cypress Semiconductor Corporation System-on-chip verification
US10289779B2 (en) 2017-04-18 2019-05-14 Raytheon Company Universal verification methodology (UVM) register abstraction layer (RAL) traffic predictor
US10536337B2 (en) * 2017-06-19 2020-01-14 Cisco Technology, Inc. Validation of layer 2 interface and VLAN in a networked environment
US10432467B2 (en) * 2017-06-19 2019-10-01 Cisco Technology, Inc. Network validation between the logical level and the hardware level of a network
CN115481594B (zh) * 2021-11-22 2023-09-08 北京百度网讯科技有限公司 计分板实现方法、计分板、电子设备及存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW421761B (en) * 1994-04-12 2001-02-11 Yokogawa Electric Corp Verification support system
US5768567A (en) * 1996-05-14 1998-06-16 Mentor Graphics Corporation Optimizing hardware and software co-simulator
WO1998047152A1 (fr) * 1997-04-16 1998-10-22 Hitachi, Ltd. Circuit integre a semi-conducteur et procede pour tester la memoire
US5991529A (en) * 1997-05-16 1999-11-23 Sony Corporation Testing of hardware by using a hardware system environment that mimics a virtual system environment
US6188975B1 (en) * 1998-03-31 2001-02-13 Synopsys, Inc. Programmatic use of software debugging to redirect hardware related operations to a hardware simulator
US6052524A (en) * 1998-05-14 2000-04-18 Software Development Systems, Inc. System and method for simulation of integrated hardware and software components
JP4077578B2 (ja) * 1999-04-30 2008-04-16 松下電器産業株式会社 集積回路装置の設計方法
US6810373B1 (en) * 1999-08-13 2004-10-26 Synopsis, Inc. Method and apparatus for modeling using a hardware-software co-verification environment
JP2001060210A (ja) * 1999-08-20 2001-03-06 Nec Corp Lsi検証方法、lsi検証装置および記録媒体
GB2363214B (en) * 1999-10-29 2002-05-29 Sgs Thomson Microelectronics A method of identifying an accurate model
JP2002073719A (ja) * 2000-08-31 2002-03-12 Hitachi Ltd 回路動作モデル記述の生成方法および論理設計検証装置
JP2002230065A (ja) * 2001-02-02 2002-08-16 Toshiba Corp システムlsi開発装置およびシステムlsi開発方法
US6817001B1 (en) * 2002-03-20 2004-11-09 Kudlugi Muralidhar R Functional verification of logic and memory circuits with multiple asynchronous domains
US7020856B2 (en) * 2002-05-03 2006-03-28 Jasper Design Automation, Inc. Method for verifying properties of a circuit model
US7239996B2 (en) * 2002-06-10 2007-07-03 Boland Arthur J Causality based event driven timing analysis engine
US6842883B2 (en) * 2002-06-24 2005-01-11 Lsi Logic Corporation Application of co-verification tools to the testing of IC designs
EP1376413A1 (en) * 2002-06-25 2004-01-02 STMicroelectronics S.r.l. Test bench generator for integrated circuits, particularly memories
FR2843214B1 (fr) * 2002-07-30 2008-07-04 Bull Sa Procede de verification fonctionnelle d'un modele de circuit integre pour constituer une plate-forme de verification, equipement emulateur et plate-forme de verification.
US6904578B2 (en) * 2002-11-13 2005-06-07 Fujitsu Limited System and method for verifying a plurality of states associated with a target circuit
US6925617B2 (en) * 2003-01-22 2005-08-02 Sun Microsystems, Inc. Method and apparatus for generating test pattern for integrated circuit design
US20040153301A1 (en) * 2003-02-03 2004-08-05 Daniel Isaacs Integrated circuit development methodology
US7096440B2 (en) * 2003-07-22 2006-08-22 Lsi Logic Corporation Methods and systems for automatic verification of specification document to hardware design

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5056856B2 (ja) * 2007-10-18 2012-10-24 富士通株式会社 論理回路モデルの検証方法及び装置
US7908518B2 (en) 2008-02-08 2011-03-15 International Business Machines Corporation Method, system and computer program product for failure analysis implementing automated comparison of multiple reference models
JP2014232472A (ja) * 2013-05-30 2014-12-11 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
JP2016042326A (ja) * 2014-08-19 2016-03-31 日本システムウエア株式会社 情報処理装置、シミュレーション方法、及び制御プログラム

Also Published As

Publication number Publication date
US20050102640A1 (en) 2005-05-12
US7561999B2 (en) 2009-07-14
JP4251964B2 (ja) 2009-04-08

Similar Documents

Publication Publication Date Title
JP4251964B2 (ja) 検証装置、検証方法およびプログラム
JP4989629B2 (ja) 複製ロジック及びトリガロジックを用いたデバッグのための方法及びシステム
US8468475B2 (en) Conversion of circuit description to an abstract model of the circuit
JP4994393B2 (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
US6536031B2 (en) Method for generating behavior model description of circuit and apparatus for logic verification
JP4806529B2 (ja) 複製されたロジックを使用するデバッグの方法とシステム
JP2001189387A (ja) システムオンチップの設計検証方法および装置
JP2000082094A (ja) 半導体集積回路設計検証システム
JP2002535684A (ja) 集積回路のリアルバージョンテストとシミュレートバージョンテストを行うシステム
US5974241A (en) Test bench interface generator for tester compatible simulations
US7437701B1 (en) Simulation of a programming language specification of a circuit design
JP2009503749A (ja) 複製されたロジックを使用するデバッグ及びテスト方法並びにシステム
JP2006048525A (ja) シミュレーション方法
JP2006285333A (ja) 動作合成装置及び方法
JP5040758B2 (ja) シミュレーション装置、シミュレーション方法及びプログラム
JP4850091B2 (ja) 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置
JP5056511B2 (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
JP2009517759A (ja) Ic設計方法およびic設計ツール
JP2008204199A (ja) 検証装置、検証方法及びプログラム
JP2006318121A (ja) 遅延付加rtl論理シミュレーション方法および装置
JP2006268606A (ja) シミュレーション装置
JP2003067438A (ja) シミュレーションモデルの生成方法及びシミュレーション方法及びその記録媒体
JP2007241836A (ja) マルチサイクルパス検証方法
US10210294B1 (en) System and methods for simulating a circuit design
JP7351189B2 (ja) タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060627

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081021

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081119

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120130

Year of fee payment: 3

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

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

Free format text: PAYMENT UNTIL: 20120130

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140130

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees