Top > Search of Japanese Patents > HARDWARE DESIGN DEVICE, AND PROGRAM FOR HARDWARE DESIGN

HARDWARE DESIGN DEVICE, AND PROGRAM FOR HARDWARE DESIGN

Patent code P150011477
File No. S2013-0987-N0
Posted date Mar 3, 2015
Application number P2013-105024
Publication number P2014-225194A
Patent number P6249360
Date of filing May 17, 2013
Date of publication of application Dec 4, 2014
Date of registration Dec 1, 2017
Inventor
  • (In Japanese)山際 伸一
Applicant
  • (In Japanese)国立大学法人筑波大学
Title HARDWARE DESIGN DEVICE, AND PROGRAM FOR HARDWARE DESIGN
Abstract PROBLEM TO BE SOLVED: To enable automatic generation of a model of pipeline hardware corresponding to operation contents of pipeline processing.
SOLUTION: Two or more hardware components corresponding to contents of an operation and definition information are specified on the basis of component information by using the definition information including at least the component information including definition of a plurality of hardware components usable in pipeline processing for processing stream data, a program describing the operation to be performed in the pipeline processing, and the definition information including at least definition of an input and an output in the operation, and a description in a hardware language of pipeline hardware combined such that the two or more hardware components perform the pipeline processing is generated.
Outline of related art and contending technology (In Japanese)

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

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

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

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

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

Field of industrial application (In Japanese)

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

Scope of claims (In Japanese)
【請求項1】
 
ストリームデータを処理するためのパイプライン処理に使用可能な複数のハードウェアコンポーネントの定義を含むコンポーネント情報と、前記パイプライン処理で行われる演算が記述されたプログラムと、前記演算における入力及び出力の定義を少なくとも含む定義情報とを用いて、前記演算の内容及び前記定義情報に応じた2以上のハードウェアコンポーネントを前記コンポーネント情報に基づき特定し、前記2以上のハードウェアコンポーネントが前記パイプライン処理を行うように合成されたパイプラインハードウェアのハードウェア記述言語による記述を生成する制御装置を含み、
前記プログラムは、前記演算を行うプロセッサを識別子の記述により指定可能なストリームコンピューティング向けのプログラム言語で記述され、
前記制御装置は、前記プログラム中の演算に関して識別子の指定が記述されている場合には、当該演算によって得られる出力データの書き込みアドレスを示すカウンタ値を出力するカウンタを含む前記パイプラインハードウェアのハードウェア記述言語による記述を生成し、
前記カウンタから出力されるカウンタ値は、前記演算の実行毎に変更される
ことを特徴とするハードウェア設計装置。

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

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

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

【請求項5】
 
ストリームデータを処理するためのパイプライン処理に使用可能な複数のハードウェアコンポーネントの定義を含むコンポーネント情報と、前記パイプライン処理で行われる演算が記述されたプログラムと、前記演算における入力及び出力の定義を少なくとも含む定義情報とを用いて、前記演算の内容及び前記定義情報に応じた2以上のハードウェアコンポーネントを前記コンポーネント情報に基づき特定するステップと、
特定された2以上のハードウェアコンポーネントが前記パイプライン処理を行うように合成されたパイプラインハードウェアのハードウェア記述言語による記述を生成するステップとをコンピュータに実行させるハードウェア設計用プログラムにおいて、
前記プログラムは、前記演算を行うプロセッサを識別子の記述により指定可能なストリームコンピューティング向けのプログラム言語で記述され、
前記制御装置は、前記プログラム中の演算に関して識別子の指定が記述されている場合には、当該演算によって得られる出力データの書き込みアドレスを示すカウンタ値を出力するカウンタを含む前記パイプラインハードウェアのハードウェア記述言語による記述を生成するステップを前記コンピュータに実行させ、
前記カウンタから出力されるカウンタ値は、前記演算の実行毎に変更される
ことを特徴とするハードウェア設計用プログラム。

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

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

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

※Click image to enlarge.

JP2013105024thum.jpg
State of application right Registered
Please contact us by E-mail or facsimile if you have any interests on this patent.


PAGE TOP

close
close
close
close
close
close
close