TOP > 国内特許検索 > ハードウェア設計装置,及びハードウェア設計用プログラム

ハードウェア設計装置,及びハードウェア設計用プログラム

国内特許コード P150011477
整理番号 S2013-0987-N0
掲載日 2015年3月3日
出願番号 特願2013-105024
公開番号 特開2014-225194
出願日 平成25年5月17日(2013.5.17)
公開日 平成26年12月4日(2014.12.4)
発明者
  • 山際 伸一
出願人
  • 国立大学法人 筑波大学
発明の名称 ハードウェア設計装置,及びハードウェア設計用プログラム
発明の概要 【課題】パイプライン処理の演算内容に応じたパイプラインハードウェアのモデルを自動生成可能とする。
【解決手段】ストリームデータを処理するためのパイプライン処理に使用可能な複数のハードウェアコンポーネントの定義を含むコンポーネント情報と、前記パイプライン処理で行われる演算が記述されたプログラムと、前記演算における入力及び出力の定義を少なくとも含む定義情報とを用いて、前記演算の内容及び前記定義情報に応じた2以上のハードウェアコンポーネントを前記コンポーネント情報に基づき特定し、前記2以上のハードウェアコンポーネントが前記パイプライン処理を行うように合成されたパイプラインハードウェアのハードウェア記述言語による記述を生成する。
【選択図】図2
従来技術、競合技術の概要



現在、ネットワークには、様々なセンサ及びデバイスが接続され、これらのセンサ及びデバイスから刻々と出力されるデータがネットワーク上でデータストリームを形成する。データストリームを形成するデータ(ストリームデータと呼ばれる)を滞りなく処理する(リアルタイムに処理する)手法として、ストリームコンピューティングがある。





ストリームコンピューティングでは、ストリームデータに関して所定のデータ単位が入力として決定され、このデータ単位に対する複数の処理(演算)が直列に実行されるパイプライン処理が行われる。





パイプライン処理を実行する典型的な環境として、GPU(Graphical Processing Unit)を用いたソフトウェア処理がある。GPUは、並列処理を実行可能な複数のプロセッ

サを含んでおり、パイプライン処理の手順を記述したプログラムに従って、各プロセッサにパイプライン処理に係る複数の処理を実行させることで、パイプライン処理結果を得ることができる。





OpenCLのような、GPU向けのプログラミング言語では、GPUが並列処理を実行可能な複数のプロセッサを有することを考慮した、パイプライン処理手順を記述することができる。例えば、プログラム上で、パイプライン処理に係る複数の演算を、複数のプロセッサに割り当てることができる。

産業上の利用分野



本発明は、ハードウェア設計装置,及びハードウェア設計用プログラムに関する。

特許請求の範囲 【請求項1】
ストリームデータを処理するためのパイプライン処理に使用可能な複数のハードウェアコンポーネントの定義を含むコンポーネント情報と、前記パイプライン処理で行われる演算が記述されたプログラムと、前記演算における入力及び出力の定義を少なくとも含む定義情報とを用いて、前記演算の内容及び前記定義情報に応じた2以上のハードウェアコンポーネントを前記コンポーネント情報に基づき特定し、前記2以上のハードウェアコンポーネントが前記パイプライン処理を行うように合成されたパイプラインハードウェアのハードウェア記述言語による記述を生成する制御装置
を含むハードウェア設計装置。

【請求項2】
前記プログラムは、前記演算を行うプロセッサを識別子の記述により指定可能なストリームコンピューティング向けのプログラム言語で記述され、
前記制御装置は、前記プログラム中の演算に関して識別子の指定が記述されている場合には、当該演算によって得られる出力データの書き込みアドレスを示すカウンタ値を出力するカウンタを含む前記パイプラインハードウェアのハードウェア記述言語による記述を生成し、
前記カウンタから出力されるカウンタ値は、前記演算の実行毎に変更される
請求項1に記載のハードウェア設計装置。

【請求項3】
前記制御装置は、前記プログラムに記述された前記パイプライン処理で実行される演算の構文解析を行い、前記演算の代入部分を幹ノードとし、この幹ノードの左側に前記パイプライン処理の出力データを示す葉ノードが置かれ、且つ幹ノードの右側が前記パイプライン処理に係る複数の入力データのそれぞれを示す葉ノードと前記複数の入力データを用いて前記出力データを算出するために使用される演算子を示す枝ノードとを含む二分木構造で表された抽象構文木の生成を試行し、前記抽象構文木が生成されないときにエラーを出力する
請求項1又は2に記載のハードウェア設計装置。

【請求項4】
前記制御装置は、前記抽象構文木が生成されたときに、前記枝ノードに対する2つの入力のそれぞれにおける遅延が均等になるように遅延を挿入し、挿入した遅延を含む前記パイプラインハードウェアのハードウェア記述言語による記述を生成する
請求項3に記載のハードウェア設計装置。

【請求項5】
前記制御装置は、前記コンポーネント情報が同一の演算タイプを有する複数のハードウェアコンポーネントの定義を含むときに、演算による遅延が最も小さいハードウェアコンポーネントを前記2以上のハードウェアコンポーネントの1つとして選択する
請求項1から4のいずれか1項に記載のハードウェア設計装置。

【請求項6】
ストリームデータを処理するためのパイプライン処理に使用可能な複数のハードウェアコンポーネントの定義を含むコンポーネント情報と、前記パイプライン処理で行われる演算が記述されたプログラムと、前記演算における入力及び出力の定義を少なくとも含む定義情報とを用いて、前記演算の内容及び前記定義情報に応じた2以上のハードウェアコンポーネントを前記コンポーネント情報に基づき特定するステップと、
特定された2以上のハードウェアコンポーネントが前記パイプライン処理を行うように合成されたパイプラインハードウェアのハードウェア記述言語による記述を生成するステップと
をコンピュータに実行させるハードウェア設計用プログラム。

【請求項7】
前記プログラムは、前記演算を行うプロセッサを識別子の記述により指定可能なストリ
ームコンピューティング向けのプログラム言語で記述され、
前記制御装置は、前記プログラム中の演算に関して識別子の指定が記述されている場合には、当該演算によって得られる出力データの書き込みアドレスを示すカウンタ値を出力するカウンタを含む前記パイプラインハードウェアのハードウェア記述言語による記述を生成するステップを前記コンピュータに実行させ、
前記カウンタから出力されるカウンタ値は、前記演算の実行毎に変更される
請求項6に記載のハードウェア設計用プログラム。

【請求項8】
前記プログラムに記述された前記パイプライン処理で実行される演算の構文解析を行うステップと、
前記演算の代入部分を幹ノードとし、この幹ノードの左側に前記パイプライン処理の出力データを示す葉ノードが置かれ、且つ幹ノードの右側が前記パイプライン処理に係る複数の入力データのそれぞれを示す葉ノードと前記複数の入力データを用いて前記出力データを算出するために使用される演算子を示す枝ノードとを含む二分木構造で表された抽象構文木の生成を試行するステップと、
前記抽象構文木が生成されないときにエラーを出力するステップと
を前記コンピュータに実行させる請求項6又は7に記載のハードウェア設計用プログラム。

【請求項9】
前記抽象構文木が生成されたときに、前記枝ノードに対する2つの入力のそれぞれにおける遅延が均等になるように遅延を挿入するステップと、
挿入した遅延を含む前記パイプラインハードウェアのハードウェア記述言語による記述を生成するステップと
を前記コンピュータに実行させる請求項8に記載のハードウェア設計用プログラム。

【請求項10】
前記コンポーネント情報が同一の演算タイプを有する複数のハードウェアコンポーネントの定義を含むときに、演算による遅延が最も小さいハードウェアコンポーネントを前記2以上のハードウェアコンポーネントの1つとして選択するステップ
を前記コンピュータに実行させる請求項6から9のいずれか1項に記載のハードウェア設計用プログラム。
国際特許分類(IPC)
Fターム
画像

※ 画像をクリックすると拡大します。

JP2013105024thum.jpg
出願権利状態 公開
この特許について質問等ある場合は、電子メールによりご連絡ください。


PAGE TOP

close
close
close
close
close
close
close