JP5267243B2 - 動作記述変換装置、動作記述変換方法、およびプログラム - Google Patents

動作記述変換装置、動作記述変換方法、およびプログラム Download PDF

Info

Publication number
JP5267243B2
JP5267243B2 JP2009064294A JP2009064294A JP5267243B2 JP 5267243 B2 JP5267243 B2 JP 5267243B2 JP 2009064294 A JP2009064294 A JP 2009064294A JP 2009064294 A JP2009064294 A JP 2009064294A JP 5267243 B2 JP5267243 B2 JP 5267243B2
Authority
JP
Japan
Prior art keywords
syntax tree
circuit
integer type
data
description
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.)
Active
Application number
JP2009064294A
Other languages
English (en)
Other versions
JP2010218217A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009064294A priority Critical patent/JP5267243B2/ja
Publication of JP2010218217A publication Critical patent/JP2010218217A/ja
Application granted granted Critical
Publication of JP5267243B2 publication Critical patent/JP5267243B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、動作記述から論理回路を自動生成する技術に関する。
C++言語等で記述された設計回路のアルゴリズム記述(動作記述)から、RTL(Register Transfer Language:レジスタ転送レベル)やゲート・レベルの回路記述を生成するために、動作合成技術が利用されている。
例えば、特許文献1に記載された回路設計支援システムは、経路遅延を計算しながら、記述中のアルゴリズムを適切に分割して回路記述を生成している。
また、非特許文献1に記載されたシミュレータは、固定小数点数型データを処理する時のシステムの挙動をシミュレーションするためのライブラリと、整数型データを処理する時のシステムの挙動をシミュレーションするためのライブラリと、を有する。
システム設計者は、このシミュレータに非整数型データを含むアルゴリズム記述を入力し、非整数型に対応するライブラリを使用することにより、非整数型データを処理する時のシステムの挙動を検証できる。
特開2000−124279号公報
IEEE Computer Society,"IEEE Standard SystemC Language Reference Manual",IEEE標準 1666−2005,pp.278−312
しかし、特許文献1に記載されたシステムや非特許文献1に記載されたシミュレータを利用すると、非効率的な回路記述が生成されることがあった。
詳細には、回路記述は、整数型のみを扱える演算器に対応した記述なので、整数以外の数値を扱う動作記述がシステムやシミュレータに入力された場合、そのシステム等は、動作記述を構文解析して構文木にした後、その構文木において、非整数型の数値を整数型に変換する必要がある。
ところが、非整数型を整数型に変換した構文木を回路記述に変換すると、その回路記述において、オーバーフロー処理、丸め処理、非整数型を用いた演算やシフト処理など、非整数型データから変換された数値データを処理する際に付随する論理が煩雑に発生する。非整数型を用いた記述量が増大するほど、これらの論理を演算する同じような回路が多数生成されてしまう。この結果、回路面積が増大し、回路記述が非効率的となる問題があった。
本発明は、非整数型のデータを含む動作記述から、効率的な回路記述を生成する技術を提供することを目的とする。
上記目的を達成するために、本発明の動作記述変換装置は、動作記述を解析し、該解析の結果として構文木を作成する構文木作成手段と、前記構文木作成手段により作成された前記構文木が、数値データに非整数型のデータを含む非整数型構文木であれば、該非整数型構文木を、全ての数値データが整数型のデータである整数型構文木に変換するとともに、該整数型構文木のうち、変換前に非整数型であった数値データに付随する処理を行う部分を示す情報を補助情報として記憶しておく構文木変換手段と、前記補助情報に示された部分に対応する回路を、同じ回路を互いに共有する回路の候補として、前記整数型構文木の各部分から生成される複数の回路が同じ回路を共有するように、該整数型構文木を回路記述に変換する回路記述生成手段と、を有する。
本発明の動作記述変換方法は、構文木作成手段が、動作記述を解析し、該解析の結果として構文木を作成し、前記構文木作成手段により作成された前記構文木が、数値データに非整数型のデータを含む非整数型構文木であれば、構文木変換手段が、該非整数型構文木を、全ての数値データが整数型のデータである整数型構文木に変換するとともに、該整数型構文木のうち、変換前に非整数型であった数値データに付随する処理を行う部分を示す情報を補助情報として記憶しておき、回路記述生成手段が、前記補助情報に示された部分に対応する回路を、同じ回路を互いに共有する回路の候補として、前記整数型構文木の各部分から生成される複数の回路が同じ回路を共有するように、該整数型構文木を回路記述に変換する、動作記述変換方法である。
本発明のプログラムは、コンピュータに、動作記述を解析し、該解析の結果として構文木を作成する構文木作成手順、前記構文木作成手順で作成された前記構文木が、数値データに非整数型のデータを含む非整数型構文木であれば、該非整数型構文木を、全ての数値データが整数型のデータである整数型構文木に変換するとともに、該整数型構文木のうち、変換前に非整数型であった数値データに付随する処理を行う部分を示す情報を補助情報として記憶しておく構文木変換手順、前記補助情報に示された部分に対応する回路を、同じ回路を互いに共有する回路の候補として、前記整数型構文木の各部分から生成される複数の回路が同じ回路を共有するように、該整数型構文木を回路記述に変換する回路記述生成手順、を実行させるためのプログラムである。
本発明によれば、動作記述変換装置は、非整数型構文木を整数型構文木に変換し、非整数型であった数値データに付随する処理を行う部分を示す補助情報を記憶しておき、その補助情報に基づいて、整数型構文木の各部分から生成される複数の回路が同じ回路を共有するように、整数型構文木を回路記述に変換するので、回路記述における回路数が削減され、非整数型のデータを含む動作記述から、効率的な回路記述を生成することができる。
本発明の動作合成装置の構成を示すブロック図である。 本発明の動作記述の一例を示す図である。 本発明の構文木の構造を示す図である。 本発明の整数型構文木の構造を示す図である。 本発明の整数型構文木と補助情報の内容とを表記したプログラムの一例である。 本発明の回路記述の一例を示す図である。 本発明の回路記述の一例を示す図である。 一般的な動作合成装置により生成された回路記述の一例を示す図である。 本発明の動作合成装置の動作を示すフローチャートである。 本発明の回路記述生成処理を示すフローチャートである。 本発明の変形例の動作合成システムを示す図である。
本発明を実施するための実施の形態について図面を参照して詳細に説明する。図1は、本実施形態の動作合成装置1の構成を示すブロック図である。動作合成装置1は、動作合成技術を使用することにより、動作記述を回路記述に変換する装置である。同図を参照すると、動作合成装置1は、入力部10、構文木生成部20、構文木変換部30、中間記述記憶部40、回路記述生成部50、および出力部60を有する。
入力部10は、動作記述101を構文木生成部20に入力する。ここで、動作記述とは、設計対象の回路に実行させる動作(アルゴリズム)をC++言語等で記述したプログラムである。
構文木生成部20は、入力された動作記述101を、コンパイラなどを使用して解析し、解析結果を構文木201として構文木変換部30へ出力する。ここで、構文木とは、構文解析の結果をツリー構造で表記したデータである。
構文木変換部30は、構文木201が、非整数型の数値データを含む構文木(以下、「非整数型構文木」という)であるか否かを判断する。
構文木201が非整数型構文木であれば、構文木変換部30は、その構文木を数値データが全て整数型のデータである、整数型構文木301に変換する。また、構文木変換部30は、非整数型構文木(201)から整数型構文木301への変換において、生成される補助情報401として中間記述記憶部40へ出力する。
ここで、補助情報(401)とは、非整数型構文木から整数型構文木への変換において、演算としては失われる情報、または変数としては存在しなくなる情報である。
更に詳細には、補助情報401は、整数型構文木のうち、非整数型であった数値データに付随する処理を行う部分を示す情報を含む。
例えば、補助情報(401)は、構文木(301、401)のうち、非整数型データから変換された数値データへの代入処理を行う部分を示す情報、または、非整数型データから変換された数値データに対する演算処理を行う部分を示す情報である。
また、変換前に処理対象とされるデータが固定小数点型または浮動小数点型であった場合、各小数点型データのデータ全体のビット幅(データサイズ)や小数点部のビット数を示す情報が補助情報401として記憶される。
回路記述生成部50は、構文木変換部30により変換された整数型構文木301の各部を処理の順番に従って回路記述に変換し、最終的に回路記述501を出力する。ここで、回路記述とはレジスタ転送レベルの回路やゲート・レベルの回路をハードウェア記述言語などで記述したものである。
回路記述生成部50は、整数型構文木301の各部分を順に回路記述に変換していく。回路記述生成部50は、各部分の変換において、補助情報401を参照して、変換により生成され得る回路記述が、非整数型であった数値データへの代入処理、または非整数型であった数値データに対する演算処理のための回路記述であるか否かを判断する。
変換により生成され得る回路記述が、それらの代入処理または演算処理であれば、回路記述生成部50は、補助情報401から、それらの代入処理または演算処理を検索する。そして、回路記述生成部50は、既に生成した回路記述の中から、検索した代入処理、または演算処理のための回路を抽出する。
回路記述生成部50は、変換により生成され得る回路と、抽出した回路とが、同じ回路を共有できるか否かを判断する。言い換えれば、回路記述生成部50は、変換対象の部分を変換することにより生成される回路が、既に生成した回路を供用できるか否かを判断する。
共有可能か否かの判断において、回路記述生成部50は、非整数型データのデータサイズ、回路面積や、必要なスループットを考慮することもできる。
例えば、8ビットの数値データに対するオーバーフロー処理のための回路と、16ビットの数値データに対するオーバーフロー処理のための回路とは、扱うことができる数値の最大値が異なるので、これらの回路を共有させると、かえって回路が複雑となることがある。このため、この場合は、回路記述生成部50は、回路を共有しなくてもよい。
また、回路が共有できる場合であっても、回路の共有により、回路面積は小さくなるが、回路が複雑となる結果、スループットが上昇することもある。そこで、回路記述生成部50は、共有後の回路面積やスループットの値を考慮して、その回路を共有するか否かを判断することもできる。
同じ回路を共有できる場合、回路記述生成部50は、既存の回路と、変換対象の部分に対応する回路とに同じ回路を共有させる。この結果、生成される回路記述における回路数が削減される。
回路記述生成部50は、作成した回路記述501を出力部60に出力する。出力部60は、作成された回路記述501を動作合成装置1の外部へ出力する。
図2は、動作記述101の一例を示す図である。同図に示すように、動作記述101において、設計対象のハードウェア回路の動作がC++言語で記述される。
固定小数点型は、例えば「fixed<x, y>」と記述される。ここで、「x」は、固定小数点型のデータ全体のビット幅、「y」は、そのデータの小数点部のビット数である。
変数「a」、「b」、「c」を加算した値を変数「x」に代入する演算は、例えば「x=a+b+c」と記述される。このような演算は、例えば、オペレーター・オーバーロード(演算子の多重定義)の手法を用いることにより、実現される。
図3は、構文木201の構造を図示したものである。同図に示すように、動作記述101内の各文を構文解析した結果は、ツリー構造となる。
図4は、整数型構文木301の構造を図示したものである。同図に示すように、固定小数点型のデータが、その小数点部のビット数に応じたシフト処理を行うことにより、整数型のデータに変換されている。また、同図では省略されているが、固定小数点型であった数値データへの代入において、オーバーフロー処理が追加される。
図5は、図4に示した整数型構文木301をC++言語のプログラムに逆コンパイルし、補助情報401の内容を「/*」〜「*/」内のコメントとして記載したプログラムである。
処理対象の変数が、固定小数点型から変換された整数型データであれば、変換前のデータ全体のビット幅と小数点部のビット数とを示すコメント(補助情報)が記載される。
例えば、「char a」は、変換前において、データ全体のビット幅が8ビット、小数点部が5ビットの固定小数点型のデータであったので、その変数に対応付けて「変換前の型=fixed<8, 5>」のコメント(補助情報)が記載される。
また、文ごとに、その文の示す処理が固定小数点型データに対応する整数型データへの代入処理、演算処理であれば、その旨のコメント(補助情報)が記載される。
例えば、「s = [ a+ (b << 3+c << 5)] >> 1]」から、「x=s;}」までの処理において、「b」、「c」は変換前に固定小数点型データであった整数型データであり、これらを含むデータの演算結果が「s」に代入されることから、「s」も固定小数点型データに対応する整数型データである。このように、この処理は、演算結果を固定小数点型データに対応するデータ(「s」)へ代入する処理なので、「s = [ a+ (b << 3+c << 5)] >> 1]」の直前に、コメント(補助情報)として、「次の文以降は、固定小数点への代入」が記載される。
例えば、「if ( s > 255 )」から、「x=s;}」までの処理は、固定小数点型であったデータ「s」を代入する際に、その値が、固定小数点で表現できる数を超えてしまったのであれば、適切な値を代入する処理である。
図6は、変換途中の回路記述501の一部を示す図である。同図を参照すると、整数型構文木301のうち、「t」を「x」に代入する処理が既に回路記述に変換されている。処理の順番に従って、次に、「s」を「x」に代入する処理が回路に変換される。同図において、破線の部分が、変換により生成される回路である。
図6に示すように、「t」を「x」に代入するための回路記述(既存の回路)と、「s」を「x」に代入するための回路記述(変換により生成される回路)とにおいて、一点鎖線で囲ったオーバーフロー処理を実行する回路が繰り返し発生している。
「t」を「x」に代入する回路と、「s」を「x」に代入する回路とは、出力データ(「x」)が一致し、処理対象のデータ(「s」、「t」、「x」)のデータサイズも一致するので、このオーバーフロー処理に対応する共通の回路を共有することができる。
図7は、両回路に同じ回路を共有させた(効率化した)回路記述501の一部を示す図である。同図に示すように、「s」を「x」に代入するための回路記述と、「t」を「x」に代入するための回路記述が、同じ回路(オーバーフロー処理を行う回路)を共有するので、回路記述に記載の回路全体の回路面積が小さくなる。
これに対して、補助情報401を参照せずに、整数型構文木301を順に回路記述に変換した場合の結果を図8に示す。同図に示すように、固定小数点型データであった数値データを扱う際に付随する論理回路(オーバーフロー処理、丸め処理、非整数型を用いた演算やシフト処理を行う回路など)が繰り返し発生することとなり、非効率な回路記述が生成される。
図8に示した回路記述から、作業者が手作業で、回路数を削減して図7に示したような効率的な回路記述を作成することもできるが、回路記述の規模が膨大となればなるほど、人為的なミスが生じ、作業効率も低くなってしまう。
手作業でなく、動作合成装置などが、自動的に回路数を削減することもできるが、回路記述のうち、どこからどこまでが共有できるかを探索しなくてはならず、更に共有する場合もどのように共有するかを自動的に判定する必要があり、効率化が完了するまでに大量の演算時間がかかる。
本発明では、動作合成装置1は、補助情報401を参照して、従来、手作業で効率化していた処理を自動化することができる。また、動作合成装置1は、補助情報401を参照することにより、どこまでが共有可能かを高速に検出し、しかも定型的な共有方法を使用できるので、自動で回路記述を効率化する場合においても、補助情報401を参照しない装置と比較して高速に効率的な回路記述を生成できる。
次いで、動作合成装置1の動作について説明する。図9は、動作合成装置1の動作を示すフローチャートである。この動作は、動作合成のための所定のアプリケーションが実行されたときに開始する。
構文木生成部20は、入力部10で入力された動作記述101を読み出す(ステップS1)。構文木生成部20は、その動作記述101を構文解析し、構文木201を生成する(ステップS3)。
構文木変換部30は、構文木201が非整数型構文木であるか否かを判断する(ステップS5)。非整数型構文木であれば(ステップS5:YES)、構文木変換部30は、その非整数型構文木を整数型構文木301に変換するとともに、中間記述記憶部40に補助情報401を記憶する(ステップS7)。
非整数型構文木でない場合(ステップS5:NO)、またはステップS7の後、回路記述生成部50は、回路記述生成処理を実行する(ステップS9)。ステップS9の後、動作合成装置1は、動作を終了する。
図10は、回路記述生成処理を示すフローチャートを示す図である。同図を参照すると、回路記述生成部50は、整数型構文木301の各部分を、処理の順番に従って、順に回路記述に変換する(ステップS91)。各部分の変換において、回路記述生成部50は、補助情報401を読み出す(ステップS92)。
回路記述生成部50は、補助情報401を参照して、変換により生成され得る回路が、固定小数点に対応するデータに対する代入処理、または演算処理を行うための回路であるか否かを判断する(ステップS93)。
固定小数点に対応するデータに対する代入処理、または演算処理のための回路であれば(ステップS93:YES)、回路記述生成部50は、補助情報401を検索して、既存の回路記述の中から、それらの代入処理または演算処理を行う回路を抽出する。そして、回路記述生成部50は、生成され得る回路と抽出した回路とが、同じ回路を共有できるか否かを判断する(ステップS94)。
共有できるのであれば(ステップS94:YES)、回路記述生成部50は、両回路に、同じ回路を共有させて、効率化した回路記述を出力する(ステップS95)。
変換により生成され得る回路が代入処理、または演算処理のための回路でない場合(ステップS93:NO)、又は同じ回路を共有できない場合(ステップS94:NO)、回路記述生成部50は、新規に、変換対象の部分を回路記述に変換し、新規に出力する(ステップS96)。
ステップS95、またはS96の後、回路記述生成部50は、全ての整数型構文木301が変換されて回路記述501が生成されたか否かを判断する(ステップS97)。
全ての整数型構文木301が変換されていなければ(ステップS97:NO)、回路記述生成部50は、ステップS91に戻る。全ての整数型構文木301が変換されたのであれば(ステップS97:NO)、回路記述生成部50は、回路記述生成処理を終了する。
なお、本実施形態では、1つの装置が、動作記述の入力処理、構文木の生成処理、構文木の変換処理、回路記述の生成処理、および出力処理を実行する構成としているが、図11に示すように、これらの処理を行う機能を複数の装置に分散する構成としてもよいのは勿論である。
また、本実施形態では、非整数型データとして、固定小数点型データを例示しているが、非整数型データは、浮動小数点型データであってもよいのは勿論である。
本実施形態では、整数型構文木301の各部分を順番に回路記述に変換している。しかし、回路記述生成部50は、整数型構文木301を一括変換して、図8に示したような回路記述を生成し、その後、共有可能な回路に同じ回路を共有させて図7に示したような効率的な回路記述を生成することもできる。
本実施形態では、動作合成装置1は、オーバーフロー処理を実行する回路を共有させているが、オーバーフロー処理に限らず、非整数型データから整数型に変換するために付随する論理であればよく、丸め処理、非整数型を用いた演算やシフト処理を行う回路などを共有させてもよい。
本発明は、動作合成とシミュレーションとを同時に実行可能なプログラムや、組み込み機器向けコンパイラにも適用可能である。本発明は、コンピュータのプロセッサの設計などに適用可能でもある。
以上説明したように、本実施形態においては、動作合成装置1(動作記述変換装置)は、非整数型構文木(201)を整数型構文木301に変換し、非整数型であった数値データに付随する処理を行う部分を示す補助情報401を記憶しておき、その補助情報401に基づいて、整数型構文木301の各部分から生成される複数の回路が同じ回路を共有するように、該整数型構文木を回路記述501に変換するので、回路記述501における回路数が削減され、非整数型のデータを含む動作記述から、効率的な回路記述501を生成することができる。
この結果、回路記述501から生成された回路では、計算数が減少し、入力から出力までのレイテンシ―が削減される。また、回路におけるメモリやレジスタの数が減少するので、回路面積が小さくなる。
加えて、動作合成装置1では、代入や演算がもともと固定小数点の演算や代入であったという補助情報が保持されるため、動作合成装置1は、単に整数の代入文とみなして回路記述に変換した場合よりも、固定小数点の代入に特化した効率の良い回路を生成できる。
また、動作合成装置1は、同じ回路がオーバーフロー処理等を行う回路であれば、共有させるので、特に、オーバーフロー処理などが煩雑に生じる、小数点型データを扱う回路において、回路数を削減するのに適している。
動作合成装置1は、処理対象のデータのデータサイズ、回路面積、およびスループットに基づいて共有可能か否かを判断することにより、非効率的な回路記述の生成を防止できる。
1 動作合成装置
10 入力部
20 構文木生成部
30 構文木変換部
40 中間記述記憶部
50 回路記述生成部
60 出力部
101 動作記述
201 構文木
301 整数型構文木
401 補助情報
501 回路記述

Claims (8)

  1. 動作記述を解析し、該解析の結果として構文木を作成する構文木作成手段と、
    前記構文木作成手段により作成された前記構文木が、数値データに非整数型のデータを含む非整数型構文木であれば、該非整数型構文木を、全ての数値データが整数型のデータである整数型構文木に変換するとともに、該整数型構文木のうち、変換前に非整数型であった数値データに付随する処理を行う部分を示す情報を補助情報として記憶しておく構文木変換手段と、
    前記補助情報に示された部分に対応する回路を、同じ回路を互いに共有する回路の候補として、前記整数型構文木から生成される複数の回路が同じ回路を共有するように、該整数型構文木を回路記述に変換する回路記述生成手段と、
    を有する動作記述変換装置。
  2. 前記回路記述生成手段は、前記整数型構文木の各部分を順に回路記述に変換し、それぞれの部分の変換において、該部分が前記補助情報に示された部分であれば、該部分から生成される回路が既に生成した回路を共用できるか否かを判断し、共用できれば共用させる請求項1に記載の動作記述変換装置。
  3. 前記補助情報は、変換前に非整数型であった数値データへの代入処理又は、該数値データに対する演算処理を行う部分を示す情報を含む、請求項2に記載の動作記述変換装置。
  4. 前記同じ回路は、オーバーフロー処理、丸め処理、非整数型を用いた演算、シフト処理のうち、いずれか1以上を実行するための回路である、請求項2又は3に記載の動作記述変換装置。
  5. 前記補助情報は、前記非整数型構文木における各データのデータサイズを示す情報を含み、
    前記回路記述生成手段は、前記非整数型構文木の前記部分が処理対象とするデータのデータサイズを、前記判断に用いる、請求項2乃至4のいずれか1項に記載の動作記述変換装置。
  6. 前記回路記述生成手段は、前記部分から生成される回路に、既に生成した回路を共用させるか否かを、該回路を共用するとした場合の回路面積及びスループットのうち、少なくとも一方に基づいて判断する、請求項2乃至5のいずれか1項に記載の動作記述変換装置。
  7. 構文木作成手段が、動作記述を解析し、該解析の結果として構文木を作成し、
    前記構文木作成手段により作成された前記構文木が、数値データに非整数型のデータを含む非整数型構文木であれば、構文木変換手段が、該非整数型構文木を、全ての数値データが整数型のデータである整数型構文木に変換するとともに、該整数型構文木のうち、変換前に非整数型であった数値データに付随する処理を行う部分を示す情報を補助情報として記憶しておき、
    回路記述生成手段が、前記補助情報に示された部分に対応する回路を、同じ回路を互いに共有する回路の候補として、前記整数型構文木の各部分から生成される複数の回路が同じ回路を共有するように、該整数型構文木を回路記述に変換する、動作記述変換方法。
  8. コンピュータに、
    動作記述を解析し、該解析の結果として構文木を作成する構文木作成手順、
    前記構文木作成手順で作成された前記構文木が、数値データに非整数型のデータを含む非整数型構文木であれば、該非整数型構文木を、全ての数値データが整数型のデータである整数型構文木に変換するとともに、該整数型構文木のうち、変換前に非整数型であった数値データに付随する処理を行う部分を示す情報を補助情報として記憶しておく構文木変換手順、
    前記補助情報に示された部分に対応する回路を、同じ回路を互いに共有する回路の候補として、前記整数型構文木の各部分から生成される複数の回路が同じ回路を共有するように、該整数型構文木を回路記述に変換する回路記述生成手順、
    を実行させるためのプログラム。
JP2009064294A 2009-03-17 2009-03-17 動作記述変換装置、動作記述変換方法、およびプログラム Active JP5267243B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009064294A JP5267243B2 (ja) 2009-03-17 2009-03-17 動作記述変換装置、動作記述変換方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009064294A JP5267243B2 (ja) 2009-03-17 2009-03-17 動作記述変換装置、動作記述変換方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2010218217A JP2010218217A (ja) 2010-09-30
JP5267243B2 true JP5267243B2 (ja) 2013-08-21

Family

ID=42977002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009064294A Active JP5267243B2 (ja) 2009-03-17 2009-03-17 動作記述変換装置、動作記述変換方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5267243B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011232963A (ja) * 2010-04-27 2011-11-17 Signal Process Logic Inc 論理設計支援装置およびこのためのソフトウエア
JP6249360B2 (ja) * 2013-05-17 2017-12-20 国立大学法人 筑波大学 ハードウェア設計装置,及びハードウェア設計用プログラム
US10452797B2 (en) * 2013-12-06 2019-10-22 Synopsys, Inc. Fault insertion for system verification

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06251103A (ja) * 1993-02-22 1994-09-09 Toshiba Corp 高位合成装置
JP4730536B2 (ja) * 2005-12-26 2011-07-20 日本電気株式会社 動作合成システム、動作合成方法およびプログラム
JP2007316731A (ja) * 2006-05-23 2007-12-06 Nec Electronics Corp Lsi設計支援装置

Also Published As

Publication number Publication date
JP2010218217A (ja) 2010-09-30

Similar Documents

Publication Publication Date Title
US10089426B2 (en) Logic circuit generation device and method
Darulova et al. Synthesis of fixed-point programs
US20160321039A1 (en) Technology mapping onto code fragments
US8434036B2 (en) Arithmetic program conversion apparatus, arithmetic program conversion method, and program
JP2006243839A (ja) 命令生成装置及び命令生成方法
JP2016177454A (ja) 動作合成方法、動作合成プログラムおよび動作合成装置
Zhai et al. Hardware synthesis from a recursive functional language
US20090049417A1 (en) Method of designing a circuit for optimizing output bit length and integrated circuit therefor
JP5267243B2 (ja) 動作記述変換装置、動作記述変換方法、およびプログラム
JP2009181446A (ja) プログラム生成装置およびブロック線図生成装置
JP2008510230A (ja) 非循環命令パターンの認識の方法
JP2011096082A (ja) プログラム解析方法、プログラム解析プログラムおよびプログラム解析装置
US8863058B2 (en) Characterization based buffering and sizing for system performance optimization
US11443088B1 (en) Simulation using accelerated models
CN107180193A (zh) 一种将程序代码转换成数据约束的方法和装置
JP2018041301A (ja) Rtl最適化システム及びrtl最適化プログラム
CN109710419B (zh) 基于文本分析的mpi代码通信过程解析方法
JP6547345B2 (ja) テストケース生成プログラム、テストケース生成方法およびテストケース生成装置
Khairy et al. Bloom filter acceleration: A high level synthesis approach
Wanna et al. Multiplier Optimization via E-Graph Rewriting
Grigoras et al. Dfesnippets: An open-source library for dataflow acceleration on FPGAs
CN115204077B (zh) 集成电路的节点优化方法、装置、电子设备及可读介质
CN116738900B (zh) 知识产权块的代码转换装置和方法
WO2021161428A1 (ja) プログラム生成装置、プログラム生成方法及びプログラム
CN112564922B (zh) 基于拟态计算的多功能集成高速hmac-sha1口令恢复方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130422

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5267243

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150