JP5729983B2 - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP5729983B2
JP5729983B2 JP2010262872A JP2010262872A JP5729983B2 JP 5729983 B2 JP5729983 B2 JP 5729983B2 JP 2010262872 A JP2010262872 A JP 2010262872A JP 2010262872 A JP2010262872 A JP 2010262872A JP 5729983 B2 JP5729983 B2 JP 5729983B2
Authority
JP
Japan
Prior art keywords
synthesis
verification
description
information processing
data transfer
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
JP2010262872A
Other languages
English (en)
Other versions
JP2012113568A (ja
JP2012113568A5 (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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2010262872A priority Critical patent/JP5729983B2/ja
Priority to US13/298,164 priority patent/US8880387B2/en
Publication of JP2012113568A publication Critical patent/JP2012113568A/ja
Publication of JP2012113568A5 publication Critical patent/JP2012113568A5/ja
Application granted granted Critical
Publication of JP5729983B2 publication Critical patent/JP5729983B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation

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)

Description

本発明は、論理回路設計において検証モデルを用いてエミュレートする環境を作成する情報処理装置、情報処理方法およびプログラムに関する。
論理回路設計では、設計した論理回路の動作の検証が必須である。検証に用いるハードウェアとして、再構成可能な論理IC(Integrated Circuit)、または専用CPUで構成されたハードウェア・エミュレータがある。(以下、ハードウェア・エミュレータを単にエミュレータと記述する。)
ここで、用意した入力データを検証対象に供給して挙動を検証する方法を用いる場合、図2の(A)のようにエミュレータ側に検証対象114の回路を配置する。また、コンピュータ(以降、PCと称す)に検証用モデル113をプログラムとして実装する。そして、PCから入力データ103をエミュレータ側の検証対象114に転送する。
しかし、大容量の画像を入力データとする処理などをエミュレートする場合、PCからエミュレータへのデータ転送がエミュレーションのクロックイベント単位で起きるため、エミュレーションの速度がPCとエミュレータと間の通信に律速される。
そこで、図2の(B)のように、検証対象114と供にエミュレータ側に検証モデル113とメモリ112を回路として配置し、PC側にメモリデータ転送部111をプログラムとして実装する方法がある。この方法では最初に、PC側のメモリデータ転送部111が入力データ103をエミュレータ側でバッファの役割を果たすメモリ112に転送する。次に、検証モデル113はメモリ112のデータを検証対象114に供給する。
この方法により、PC側のメモリデータ転送部111がバッファの役割を果たすメモリ112の容量分だけ一括してエミュレータに入力データ103を転送することができる。つまり、PCからエミュレータへの通信は、クロックイベント単位で起こす必要がなくなるので、検証を高速化することができる。
図2の(B)のような高速なエミュレーション環境を構築するには、検証用モデル113はレジスタ・トランスファ・レベル(RTL)のハードウェア記述言語で設計する必要がある。近年、論理回路の設計では、抽象度の高いレベルで設計し、動作合成によりRTLを生成する設計手法が採用されている。この手法では、論理回路の所望の動作を実現する動作記述を設計し、動作合成ツールを用いて動作記述をRTLに変換する。
また、設計した動作記述が回路の所望の動作を正しく実装しているかを確認する為の検証を行うことが必要である。この動作記述の検証に用いる検証用プログラムはC言語等の抽象度の高いレベルの動作記述で設計される。
そこで、検証用プログラムから動作合成してエミュレータに実装するという方法が考えられる。ここで、ファイルで用意した入力データを検証対象に供給する検証の為に、検証用プログラムにはファイル入出力の記述がある。ファイルポインタはソフトウェア特有のものであり、ハードウェアに存在しないものなので、そのまま動作合成することができない。
特許文献1(特開2005−78402号公報)では、ファイル入出力の記述がある動作記述で設計した検証用プログラムの動作合成を可能としている。動作合成をかけると、検証用プログラムのファイル関数に関する記述は、論理合成可能ではないハードウェア記述言語で記述された検証モデルに変換される。
特開2005−78402
特許文献1の方法で生成されたファイル関数を含む検証モデルは論理合成可能ではないので、PC上に実装する際に論理合成を用いることができず、ユーザへの負荷が大きい。また特許文献1の方法では、バッファの役割を果たすメモリ112がないので、図2の(A)の構成のように高速なエミュレーション環境が実現できない。
以上のように、ファイル入出力の動作を含む高速なエミュレーション環境を構築するには論理合成による設計を用いることができないので、ユーザへの負荷が大きかった。
上記課題を解決するために、検証モデルと検証対象を配置するためのエミュレータと接続されている情報処理装置は以下の構成を備える。即ち、検証用プログラムのファイル入力に関する記述に基づいて、コンピュータに配置され前記コンピュータから前記エミュレータへデータを転送する第1のデータ転送手段を作成するコンパイル手段と、前記第1のデータ転送手段からのデータを受信し、受信したデータを前記検証対象に転送する前記検証モデルである第2のデータ転送手段を前記検証用プログラムから生成した動作合成可能な記述に基づいて動作合成及び論理合成することにより生成する生成手段。
ファイル入出力に関する記述を含む検証用プログラムからエミュレーション環境を作成する際に、論理合成が困難なファイル関数に関する記述を抽出してコンパイルすることで、簡単に高速なエミュレーション環境を構築できる。
本発明の実施形態の構成を示す図である。 エミュレーション環境の概略構成図である。 エミュレーション環境を構築する手順を示す図である。 検証用プログラムと検証モデルとメモリデータ転送部の記述例を示す図である。 解析部と生成部の構成を示す図である。 配列からメモリへの動作合成を示す図である。 情報処理装置の概略構成を示すブロック図である。
(実施形態1)
図7は本発明の情報処理装置の概略構成を示す。記憶装置(HDDなど)740やROM730は検証用プログラムやOS、および動作合成や論理合成をするためのプログラムおよびコンパイラを格納し、必要に応じてこれらのプログラムのコードをRAM720に読み出しCPU710が実行する。IO760は入出力部であり、エミュレータやデータを保持している外部機器に接続されることでデータの入出力が可能なインターフェースである。バス750は、ROM730、RAM720、CPU710、HDD740およびIO760間でデータやコマンドを伝達可能に接続する。
以下の本実施形態の説明では、図7に図示している情報処理装置(以下、PCと称す)によって、動作合成可能なC言語への変換、動作合成、論理合成およびコンパイルをして、エミュレータに配置するゲート回路(プログラム)やPCに配置するインターフェース(プログラム)を作成する。次に、IO760を介して作成したゲート回路(第2のデータ転送手段としてのメモリ112、検証モデル113、検証対象114)をエミュレータ内に配置(出力)し、作成したインターフェース(後述の第1のデータ転送手段としてのメモリデータ転送部111やトリガ検出器122)をPCに配置することでエミュレーション環境を作成する。
図1は、本発明の実施形態1の検証モデル生成システム(又は検証モデル生成装置)の概略構成を示す。図1において、101は検証用プログラムでありC言語等で記述され、ファイル関数に関する記述を含む。102は検証対象であり、信号処理回路、暗号回路、誤り訂正回路、画像処理回路等をアルゴリズムでC言語等により記述され、検証用プログラム101からの入力データ103を対象として供給される。103は入力データであり、画像データ等含むファイルである。
104は解析部であり、検証用プログラム101にファイル関数に関する記述があるか(動作合成又は論理合成が可能であるか不可能であるか)を解析して判定する。105は生成部であり、解析部104でファイル関数に関する記述を検出した場合に、ファイル関数に関する記述を抽出してPC上に配置されるメモリデータ転送部モデル106(以下、単にデータ転送部と称す)とバッファとして機能するエミュレータ上に実装されるメモリモデル112(以下、単にメモリ112)と検証モデル113を生成する。109はコンパイラであり、メモリデータ転送部106(及びトリガ検出器122)を第1の論理回路としてPC上に実装する。110はエミュレータ合成部であり、動作合成ツールや論理合成ツールを用いてメモリ107と検証モデル108と検証対象102とを第2の論理回路としてエミュレータに実装する。なお、論理合成はRTL記述からゲート回路(ネットリスト)を合成することを示し、動作合成はC言語等で記述された動作記述からRTL記述を合成することを示す。動作記述とは、処理順序どおりに動作を記述したものである。
111はPCにプログラムとして実装されたメモリデータ転送部であり、入力データ103をエミュレータ上のメモリ112に転送する。112はエミュレータに実装されたメモリであり、メモリデータ転送部111から受信するデータをバッファリングし検証モデルに送信する。113はエミュレータに実装された検証モデルであり、メモリ112のデータを検証対象114に供給する。
次に、本発明の実施形態1の詳細について、図3〜図5を使って説明する。図3は、本実施形態で使用する環境構築の手順の概略を示す。図4は、本実施形態で使用する検証用プログラムと検証モデルとメモリデータ転送部の記述例を示す。図5は、本実施形態で使用する解析部と生成部の概略構成を示す。なお、本実施形態1では、入力データ103のサイズを32bit×64000wordとし、メモリ112のサイズは32bit×32wordとする。また、このメモリ112のサイズは図5における制約ファイル120で指定する。本実施形態では、メモリ112のサイズが入力データ103のサイズより小さい条件で説明を行うが、メモリ112のサイズは入力データ以上の大きさであってもよい。
まず、図3(A)から図3(B)への変換の説明を行う。ここでは図4の(A)を用いて、検証用プログラム101の入力記述例を説明する。4行目で、入力データ103に対応するindata.binというファイルをファイル関数で開く。6行目のwhile文は、8行目の記述により7行目で読んだindata.binの最後の行が読み終わる(EOF=End Of File)までループする。次に検証用プログラム101は7行目で読んだ入力データ103を9行目の関数で検証対象102に供給する。つまり、indata.binのデータの全てを検証対象102に供給するまでデータ転送を継続することを示す。
図3(A)の検証対象102は論理回路の動作アルゴリズムで、動作合成可能なC言語で記述されている。図3(A)の構成において、検証用プログラム101が検証対象102に入力データ103を供給することにより、検証対象102の検証が可能である。
次に、図5を用いて検証モデル(C言語)125とメモリデータ転送部(verilog)106の生成手順を説明する。まず、解析部104に検証用プログラム101を入力する。解析部104は検証用プログラム101にファイル関数に関する記述があるかを解析する。解析部104は検証用プログラム101の図4の(A)の4行目から11行目のファイル関数に関する記述を検出する。解析部104が検出すると、生成部105は、検証用プログラム101と制約ファイル120から、検証モデル(C言語)125とメモリデータ転送部(verilog)106を生成する。このようにすることで、ファイル関数を変換することで、ファイルポインタを不要にすることができる。なお、検証モデル125は動作合成可能なC言語で記述され、メモリデータ転送部106はPC上に実装可能なVerilogで記述される。
次に、生成部105が生成した検証モデル125の記述について、図4の(B)を用いて説明する。1行目は配列memの宣言である。動作合成ツールは図6のように宣言した配列memをメモリとして実装する。また、配列のアドレスはそのままメモリアドレスとして使用することができる。従って、配列のサイズは制約ファイル120で指定したメモリ112のサイズに基づいて決定する必要がある。つまり、メモリ112のサイズが32bit×32wordなので、配列memはint型で32の要素数になる。ただし、ここではint型は32bitとする。
3行目のfor文のループ回数は、配列memの要素数である。4行目のmem[i]は配列からiで指定されたアドレスのデータを読む。out_data()の関数は検証対象102に引数のmem[i]の値を供給する。このような記述で、mem[0]からmem[31]までのデータを順次、検証対象102に出力することを実現する。6行目のtrig_out()の関数は、動作合成後に検証モデル125からPCへトリガを出力することを示す。この記述は、検証モデル113が配列memの全ての要素を検証対象102に供給したら、トリガをPCへ出力することを示す。
次に、図5のデータ分割部130は入力データ103と制約ファイル120が入力されると、入力データ103をメモリサイズと同じになるように分割する。ここでは、入力データ103のサイズが32bit×64000wordで、メモリサイズが32bit×32wordなので、データ分割部130は入力データ103を20,000個(すみません、)の分割入力データ124に分割する。ただし、指定されるメモリ112のサイズが入力データ103と同じならば、データ分割部130で分割する必要がない。
次に、生成部105が生成したメモリデータ転送部106の記述について、図4の(C)を用いて説明する。1行目のfor文のループ回数は分割入力データ124の数を指定する。ループ数は、分割入力データ124の数が20,000個なので20,000を設定する。2行目は転送する分割入力データ124のファイルの名前を指定する。3行目は2行目で指定した分割入力データ124をメモリ112に転送する。以上の記述で、メモリデータ転送部106が20,000個の分割入力データ124を順番に転送するように設定する。
以上のように、図3の(A)の検証用プログラム101に基づいて、解析部104と生成部105によって、図3(B)の検証モデル125と検証モデル125内の配列123とメモリ制御部121、及びメモリデータ転送部106が生成される。また、データ分割部130により図3(A)の入力データ103から図3(B)の分割入力データ124が生成される。
次に、図3の(B)の状態から図3の(C)の状態へ変換する処理について説明する。図3の(B)の検証モデル125に動作合成をかけることで、論理合成可能なRTLのハードウェア記述言語で記述された図3の(C)の検証モデル(RTL)126を出力する。また、検証対象102も同様にして動作合成をかけることで、論理合成可能なRTLのハードウェア記述言語で記述された図3の(C)の検証対象(RTL)127を出力する。
次に、図3の(C)の内容を図3の(D)のようにPCとエミュレータに実装する処理について説明する。図3の(C)の検証モデル(RTL)126とメモリ(RTL)107と検証対象(RTL)127に論理合成をかけることで、エミュレータ上にメモリ回路112、検証モデル113、検証対象114をゲート回路(ネットリスト)として配置する。また、図3の(C)のメモリデータ転送部106はコンパイラによりPC上にメモリデータ転送部111として実装される。
次に、図3の(D)を用いて、エミュレータでの検証時の動作を説明する。まず、メモリ転送部111が分割入力データ124の最初のデータをメモリ112に転送する。メモリ転送部111からメモリ112への転送が終了すると、検証モデル113はメモリ112からデータを読む。検証モデル113は図6におけるメモリ112のアドレス番地0から31まで順番に読んで、検証対象114に読み込んだデータを供給する。検証モデル113は、メモリ112のアドレス番地31を読み、検証対象102に供給し終えると、PC側にトリガを出力する。トリガ検出器122が検証モデル113からのトリガを検出したら、メモリデータ転送部111はメモリ107に、次の分割入力データ124を転送する。以上の処理を20,000個の分割入力データ124の転送が終了するまで繰り返して検証する。
以上のように、本実施形態ではファイル入出力に関する記述を含む検証用プログラムからエミュレーション環境を作成する際に、論理合成が困難なファイル関数に関する記述を抽出してコンピュータ側にファイル入出力に関わるインターフェースを生成する。これにより、ファイル関数に関する記述以外の記述に基づいてエミュレータに配置する構成を論理合成により簡単に作成することができるので、ユーザは簡単に高速なエミュレーション環境を構築できる。
なお、本実施形態1では検証用プログラム101はC言語の記述例を示したが、同様の手順によりC++/SystemC等の言語でも、同様の効果が得られる。さらに、動作合成ツールの記述スタイルの変更があっても、同様の効果が得られる。
また、検証対象102はC言語の記述例を示したが、C++/SystemC等の言語、もしくはVerilog/VHDL等のRTLのハードウェア記述言語でも、同様の効果が得られ。さらに、動作合成ツールの記述スタイルの変更があっても、同様の効果が得られる。
また、生成部105で生成される検証モデル125はC言語の記述例を示したが、C++/SystemC等の言語、もしくはVerilog/VHDL等のRTLのハードウェア記述言語でも同様の効果が得られる。
また、生成部105で生成されるメモリデータ転送部106はVerilogの記述例を示したが、C++/SystemC等の言語、もしくはVHDL等のRTLのハードウェア記述言語でも同様の効果が得られる。
以上のように、検証用モデル及びメモリデータ転送部を自動で生成することにより、短期間で高速なエミュレーション環境の構築が可能である。
本発明は前述した実施形態の機能をコンピュータに実現させるプログラムを記憶した記憶媒体を、システム或いは装置に供給することによって実現しても良い。
この記憶媒体として、例えばフレキシブルディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,フラッシュメモリ,SSD(ソリードステートディスク)などを用いることができる。

Claims (9)

  1. 検証モデルと検証対象を配置するためのエミュレータと接続されている情報処理装置であって、
    検証用プログラムのファイル入力に関する記述に基づいて、コンピュータに配置され前記コンピュータから前記エミュレータへデータを転送する第1のデータ転送手段を作成するコンパイル手段と、
    前記第1のデータ転送手段からのデータを受信し、受信したデータを前記検証対象に転送する前記検証モデルである第2のデータ転送手段を前記検証用プログラムから生成した動作合成可能な記述に基づいて動作合成及び論理合成することにより生成する生成手段とを有することを特徴とする情報処理装置。
  2. 前記情報処理装置は更に、
    前記生成手段によって作成した第2のデータ転送手段を前記コンピュータの入出力手段によって前記エミュレータに配置する出力手段を有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記生成手段は前記検証モデルと前記検証対象とを生成し、前記出力手段は前記生成手段によって生成した検証モデルと検証対象とを前記エミュレータに配置することを特徴とする請求項2に記載の情報処理装置。
  4. 検証用プログラムの各記述について、動作合成又は論理合成が可能か否かを判定する判定手段と、
    前記判定手段により動作合成又は論理合成が可能でないと判定される記述に基づいて第1の論理回路をコンパイルするコンパイル手段と、
    前記判定手段により動作合成又は論理合成が可能と判定された記述に基づいて動作合成及び論理合成をして第2の論理回路を生成する生成手段とを有することを特徴とする情報処理装置。
  5. 検証モデルと検証対象を配置するためのエミュレータと接続されている情報処理装置による情報処理方法であって、
    検証用プログラムのファイル入力に関する記述に基づいて、コンピュータに配置され前記コンピュータから前記エミュレータへデータを転送する第1のデータ転送手段を作成するコンパイル工程と、
    前記第1のデータ転送手段からのデータを受信し、受信したデータを前記検証対象に転送する前記検証モデルである第2のデータ転送手段を前記検証用プログラムから生成した動作合成可能な記述に基づいて動作合成及び論理合成することにより生成する生成工程と
    を有することを特徴とする情報処理方法。
  6. 検証用プログラムに基づいてエミュレーション環境を生成する情報処理装置による情報処理方法であって、前記検証用プログラムの各記述について、動作合成又は論理合成が可能か否かを判定する判定工程と、
    前記判定工程において動作合成又は論理合成が可能でないと判定される記述に基づいて第1の論理回路をコンパイルするコンパイル工程と、
    前記判定工程において動作合成又は論理合成が可能と判定された記述に基づいて動作合成及び論理合成をして第2の論理回路を生成する合成工程と
    を有することを特徴とする情報処理方法。
  7. 検証モデルと検証対象を配置するためのエミュレータと接続されている情報処理装置であって、
    検証用プログラムのファイル入力に関する記述に基づいて、前記情報処理装置に配置され前記情報処理装置から前記エミュレータへデータを転送する第1のデータ転送手段を作成するコンパイラと、
    前記第1のデータ転送手段からのデータを受信し、受信したデータを前記検証対象に転送する前記検証モデルである第2のデータ転送手段を前記検証用プログラムから生成した動作合成可能な記述に基づいて動作合成及び論理合成することにより生成する生成手段と
    を有することを特徴とする情報処理装置。
  8. 検証用プログラムに基づいてエミュレーション環境を生成する情報処理装置であって、前記検証用プログラムの各記述について、動作合成又は論理合成が可能か否かを判定する判定手段と、
    前記判定手段によって動作合成又は論理合成が可能でないと判定される記述に基づいて第1の論理回路をコンパイルするコンパイル手段と、
    前記判定手段によって動作合成又は論理合成が可能と判定された記述に基づいて動作合成及び論理合成をして第2の論理回路を生成する生成手段と
    を有することを特徴とする情報処理装置。
  9. 検証用プログラムの各記述について、動作合成又は論理合成が可能か否かを判定する判定手段と、
    前記検証用プログラムに動作合成不可能な記述が含まれると判定された場合、前記検証プログラムからコンピュータ上に実装可能なデータ転送に関する記述と動作合成可能な記述とを生成する生成手段と、
    前記コンピュータ上に実装可能なデータ転送に関する記述に基づいて第1の論理回路をコンパイルするコンパイル手段と、
    前記動作合成可能な記述に基づいて動作合成と論理合成とをして第2の論理回路を合成する合成手段と、を有することを特徴とする情報処理装置。
JP2010262872A 2010-11-25 2010-11-25 情報処理装置、情報処理方法およびプログラム Expired - Fee Related JP5729983B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010262872A JP5729983B2 (ja) 2010-11-25 2010-11-25 情報処理装置、情報処理方法およびプログラム
US13/298,164 US8880387B2 (en) 2010-11-25 2011-11-16 Information processing apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010262872A JP5729983B2 (ja) 2010-11-25 2010-11-25 情報処理装置、情報処理方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2012113568A JP2012113568A (ja) 2012-06-14
JP2012113568A5 JP2012113568A5 (ja) 2014-01-16
JP5729983B2 true JP5729983B2 (ja) 2015-06-03

Family

ID=46127213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010262872A Expired - Fee Related JP5729983B2 (ja) 2010-11-25 2010-11-25 情報処理装置、情報処理方法およびプログラム

Country Status (2)

Country Link
US (1) US8880387B2 (ja)
JP (1) JP5729983B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991824A (en) * 1997-02-06 1999-11-23 Silicon Graphics, Inc. Method and system for simultaneous high bandwidth input output
US5963736A (en) * 1997-03-03 1999-10-05 Quickturn Design Systems, Inc. Software reconfigurable target I/O in a circuit emulation system
AU2003268373A1 (en) * 2002-09-04 2004-03-29 Mentor Graphics (Holdings) Ltd. Polymorphic computational system and method
WO2005018219A2 (en) * 2003-08-15 2005-02-24 Dice America, Inc. Apparatus for communicating over a network images captured by a digital camera
JP2005078402A (ja) * 2003-09-01 2005-03-24 Nec Engineering Ltd 電子回路の動作合成方法
JP4567400B2 (ja) * 2004-08-19 2010-10-20 富士通株式会社 半導体集積回路のエミュレータ
US8336036B2 (en) * 2008-11-21 2012-12-18 Korea University Industrial & Academic Collaboration Foundation System and method for translating high programming level languages code into hardware description language code
US8572434B2 (en) * 2010-09-29 2013-10-29 Sepaton, Inc. System health monitor

Also Published As

Publication number Publication date
JP2012113568A (ja) 2012-06-14
US20120136642A1 (en) 2012-05-31
US8880387B2 (en) 2014-11-04

Similar Documents

Publication Publication Date Title
US20210081258A1 (en) Synthesis Path For Transforming Concurrent Programs Into Hardware Deployable on FPGA-Based Cloud Infrastructures
US7418681B2 (en) Simulation system, simulation method and simulation program for verifying logic behavior of a semiconductor integrated circuit
CN109783954B (zh) 一种ies联合fpga硬件仿真加速***
JP4994393B2 (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
US10586003B1 (en) Circuit design using high level synthesis and linked hardware description language libraries
US10180850B1 (en) Emulating applications that use hardware acceleration
US20180113961A1 (en) Bandwidth Test In Networking System-On-Chip Verification
US9864828B1 (en) Hardware acceleration device handoff for using programmable integrated circuits as hardware accelerators
US10678976B2 (en) Generic protocol analyzer for circuit design verification
US20140100841A1 (en) Testing a Hardware Emulation Model of a Circuit with Software Checker Routines Designed for an RTL Model of the Circuit
JP3852741B2 (ja) 高位合成方法および高位合成装置
JP5236908B2 (ja) エミュレーションシステム
JP2006285333A (ja) 動作合成装置及び方法
JP2004054755A (ja) システムレベル設計方法及びシステムレベル設計装置
US10664637B2 (en) Testbench restoration based on capture and replay
US9824173B1 (en) Software development-based compilation flow for hardware implementation
US20050144436A1 (en) Multitasking system level platform for HW/SW co-verification
US20210150110A1 (en) High Speed, Low Hardware Footprint Waveform
US7228513B2 (en) Circuit operation verification device and method
US20020188432A1 (en) Circuit model generation and circuit model testing
US10546081B2 (en) Full memory logical erase for circuit verification
Melnyk Self-Configurable FPGA-Based Computer Systems: Basics and Proof of Concep
JP5297707B2 (ja) シミュレーションシステムおよびシミュレーション方法、hils装置、ならびにシミュレーション支援装置、方法およびプログラム。
JP6265788B2 (ja) シミュレーション装置及びインタフェースモジュール生成装置及びプログラム
Huggi et al. Design and verification of memory elements using python

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141006

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150407

R151 Written notification of patent or utility model registration

Ref document number: 5729983

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees