JP2009217778A - 動作合成装置、動作合成方法、および、プログラム - Google Patents

動作合成装置、動作合成方法、および、プログラム Download PDF

Info

Publication number
JP2009217778A
JP2009217778A JP2008063705A JP2008063705A JP2009217778A JP 2009217778 A JP2009217778 A JP 2009217778A JP 2008063705 A JP2008063705 A JP 2008063705A JP 2008063705 A JP2008063705 A JP 2008063705A JP 2009217778 A JP2009217778 A JP 2009217778A
Authority
JP
Japan
Prior art keywords
information
level description
synthesis
path
synthesis constraint
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
JP2008063705A
Other languages
English (en)
Other versions
JP5228546B2 (ja
Inventor
Tetsuya Aoyama
哲也 青山
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 JP2008063705A priority Critical patent/JP5228546B2/ja
Priority to US12/402,668 priority patent/US8117572B2/en
Publication of JP2009217778A publication Critical patent/JP2009217778A/ja
Application granted granted Critical
Publication of JP5228546B2 publication Critical patent/JP5228546B2/ja
Active 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

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)

Abstract

【課題】回路性能の良いRTレベル記述を合成できるように、合成制約情報を改善する。
【解決手段】動作合成部31は、動作レベル記述を解析して、制御とデータの流れを示したCDFGを作成して、中間レベル記述記憶領域24に記憶する。そして、データフローパス情報解析部32は、作成したCDFGと、ライブラリ記憶領域22に記憶されているライブラリ情報とに基づいて、処理のタイミング毎にパス情報を作成する。そして、合成制約生成部33は、作成したパス情報と、ライブラリ情報とに基づいて、回路性能が向上する回路構成要素の種類と数とを示した情報を合成制約情報として生成して、合成制約記憶領域23に記憶されている合成制約情報を更新する。
【選択図】図1

Description

本発明は、動作レベル記述からレジスタ転送レベル記述を作成する、動作合成装置、動作合成方法、および、プログラムに関する。
LSIやVLSI等の半導体集積回路の設計を支援するために、動作レベルの回路記述(動作レベル記述)からレジスタ転送レベルの記述(RTレベル記述)を合成する、動作合成が行われている(例えば、特許文献1を参照)。
特開2006−285865号公報
動作合成を行うにあたって、回路構成要素の制約を示した情報(合成制約情報)が、回路の設計者等によって事前に作成されている必要がある。動作合成処理は、この合成制約情報が示す制約に基づいて行われる。
合成制約情報が適切に作成されていないと、動作合成処理で作成されるRTレベル記述が示す回路の回路性能(遅延、面積等)は悪いものとなってしまう。従って、回路設計者は、適切な合成制約情報を作成しておく必要がある。
しかしながら、適切な合成制約情報を作成することは、回路設計者にとって困難である。その理由としては、作成する合成制約情報は、対象となる回路の多種多様な回路情報を含んだライブラリに対応した情報でなければならないからである。
また、他の理由としては、動作レベル記述に適用する動作合成方法の違いによっても、必要となる合成制約情報は異なるため、動作合成の方法に基づいて最適な合成制約を用意しておく必要があるからである。
本発明は上記実情に鑑みてなされたものであり、回路性能の良いRTレベル記述を合成できるように、合成制約情報を改善することを可能とする、動作合成装置、動作合成方法、および、プログラムを提供することを目的とする。
上記目的を達成するため、この発明の第1の観点に係る動作合成装置は、
動作レベル記述から合成制約情報が示す制約を満たすようにレジスタ転送レベル記述を動作合成する動作合成装置であって、
前記合成制約情報を記憶する合成制約情報記憶手段と、
前記レジスタ転送レベル記述に記載可能な回路構成要素を特定する情報を、ライブラリ情報として記憶するライブラリ情報記憶手段と、
前記動作レベル記述を解析して、該動作レベル記述が示す制御とデータの流れを示した中間レベル記述を作成する中間レベル記述作成手段と、
前期中間レベル記述作成手段で作成した中間レベル記述を解析して、処理の経路と、該経路に含まれる演算種別を特定する情報を含んだパス情報を取得する、パス情報取得手段と、
前期ライブラリ情報記憶手段に記憶されているライブラリ情報と、前期パス情報取得手段で取得したパス情報とに基づいて、回路性能が向上する回路構成要素の種類と数とを示した情報を合成制約情報として生成する、合成制約情報生成手段と、
前期合成制約情報記憶手段に記憶されている合成制約情報を、前記合成制約情報生成手段で生成した合成制約情報に更新する合成制約情報更新手段と、
を備えることを特徴とする。
上記目的を達成するため、この発明の第2の観点に係る動作合成方法は、
動作レベル記述から合成制約情報が示す制約を満たすようにレジスタ転送レベル記述を動作合成する動作合成方法であって、
前記合成制約情報を記憶する合成制約情報記憶ステップと、
前記レジスタ転送レベル記述に記載可能な回路構成要素を特定する情報を、ライブラリ情報として記憶するライブラリ情報記憶ステップと、
前記動作レベル記述を解析して、該動作レベル記述が示す制御とデータの流れを示した中間レベル記述を作成する中間レベル記述作成ステップと、
前期中間レベル記述作成ステップで作成した中間レベル記述を解析して、処理の経路と、該経路に含まれる演算種別を特定する情報を含んだパス情報を取得する、パス情報取得ステップと、
前期ライブラリ情報記憶ステップに記憶されているライブラリ情報と、前期パス情報取得ステップで取得したパス情報とに基づいて、回路性能が向上する回路構成要素の種類と数とを示した情報を合成制約情報として生成する、合成制約情報生成ステップと、
前期合成制約情報記憶ステップに記憶されている合成制約情報を、前記合成制約情報生成ステップで生成した合成制約情報に更新する合成制約情報更新ステップと、
を備えることを特徴とする。
上記目的を達成するため、この発明の第3の観点に係るプログラムは、
動作レベル記述から合成制約情報が示す制約を満たすようにレジスタ転送レベル記述を動作合成する機能を有するコンピュータを、
前記合成制約情報を記憶する合成制約情報記憶手段と、
前記レジスタ転送レベル記述に記載可能な回路構成要素を特定する情報を、ライブラリ情報として記憶するライブラリ情報記憶手段と、
前記動作レベル記述を解析して、該動作レベル記述が示す制御とデータの流れを示した中間レベル記述を作成する中間レベル記述作成手段と、
前期中間レベル記述作成手段で作成した中間レベル記述を解析して、処理の経路と、該経路に含まれる演算種別を特定する情報を含んだパス情報を取得する、パス情報取得手段と、
前期ライブラリ情報記憶手段に記憶されているライブラリ情報と、前期パス情報取得手段で取得したパス情報とに基づいて、回路性能が向上する回路構成要素の種類と数とを示した情報を合成制約情報として生成する、合成制約情報生成手段と、
前期合成制約情報記憶手段に記憶されている合成制約情報を、前記合成制約情報生成手段で生成した合成制約情報に更新する合成制約情報更新手段、
として機能させる。
上記構成によれば、中間レベル記述を解析して得られたパス情報とライブラリ情報とに基づいて、合成制約情報を作成、更新するため、回路性能の良いRTレベル記述を合成できるように、合成制約情報は改善される。
以下、本発明の実施形態に係る動作合成装置100について図面を参照して説明する。動作合成装置100は、半導体集積回路等の回路の動作レベル記述に基づいて動作合成処理を行い、レジスタ転送レベル記述(RTレベル記述)を出力するものである。
なお、当該実施形態は本発明の原理の理解を容易にするためのものであり、本発明の範囲は、下記の実施形態に限られるものではなく、当業者が以下の実施形態の構成を適宜置換した他の実施形態も、本発明の範囲に含まれる。
本発明の実施形態に係る動作合成装置100は、図1に示すように、入力部10と、記憶部20と、処理部30と、出力部40とを備える。
入力部10は、キーボード等を備え、ユーザによって入力された動作合成を行うことを指示する情報や動作レベル記述などを、処理部30に供給する。
記憶部20は、例えば、ハードディスクなどの記憶装置等を備え、処理部30が実行する動作プログラムを記憶する他、本発明を実現するために必要な種々のデータを記憶する。本実施形態では、動作レベル記述記憶領域21、ライブラリ記憶領域22、合成制約記憶領域23、中間レベル記述記憶領域24、パス情報記憶領域25、RTレベル記述記憶領域26などといった記憶領域が記憶部20内に設けられ、各記憶領域に所定のデータが格納される。
動作レベル記述記憶領域21は、動作レベル記述を記憶する領域である。図2に、SystemCで記述されている動作レベル記述の例を示す。
図1に戻り、ライブラリ記憶領域22には、演算器、メモリ、入出力端子、マルチプレクサ、レジスタ、デコーダ、論理演算、定数テーブル等の回路構成要素に関する情報がライブラリ情報として登録されている。半導体集積回路のRTレベル記述は、ライブラリ記憶領域22に登録されている回路構成要素で構成する必要がある。
一例として、ライブラリ記憶領域22に格納されている、ライブラリ情報を図3に示す。この例では、ビット幅が4、5、6、8、16の加算器が2種類ずつ、ライブラリ記憶領域22に登録されている。なお、各加算器には、L1〜L10の識別用のID(ライブラリID)がそれぞれ付与されている。
また、このライブラリ情報には、属性情報として、チェイン効果に関する情報も与えられている。チェイン効果とは、回路構成要素を複数個接続して回路を構成すると、回路全体の遅延は、各回路構成要素の遅延の和よりも小さくなる性質のことである。例えば、図3に示すライブラリ情報のライブラリIDがL5の加算器に着目すると、チェイン効果により、L1の加算器からの出力を入力とした場合には、この加算器の遅延は50になることを示している。
図1に戻り、合成制約記憶領域23は、動作合成処理でRTレベル記述を生成する際に必要となる制約を示す合成制約情報を記憶する領域である。具体的には、図4に示すような、RTレベル記述に含める回路構成要素の数を指定する情報が、合成制約情報として、合成制約記憶領域23に記憶されている。また、回路全体、又は、回路に含まれる演算種別毎に、動作周波数(遅延)や面積等の条件が、合成制約情報として、合成制約記憶領域23に記憶されていてもよい。
なお、上述した、動作レベル記述、ライブラリ情報、および、合成制約情報は、動作合成処理を行う前に回路設計者等によって事前に作成されて各領域に格納されている必要がある。
中間レベル記述記憶領域24は、動作合成の各工程(スケジューリング工程、バインディング工程、その他の最適化工程等)で生成される記述(中間レベル記述)を記憶する領域である。例えば、スケジューリング工程では、CDFG(Control Data Flow Graph)が作成され、中間レベル記述記憶領域24に記憶される。
図1に戻り、RTレベル記述記憶領域26は、動作合成処理によって、動作レベル記述から最終的に生成されるレジスタ転送レベル記述(RTレベル記述)を記憶する領域である。
パス情報記憶領域25は、後述するデータフローパス情報解析部32によって作成されたパス情報が記憶される領域である。
処理部30は、CPU(Central Processing Unit)やROM(Read Only Memory)やRAM(Random Access Memory)等を備え、ROMをワークエリアとして、RAMや記憶部20に格納されている動作プログラムを実行することで、動作合成装置100の動作を制御する。
処理部30は、機能的には、動作合成部31と、データフローパス情報解析部32と、合成制約生成部33とを備える。
動作合成部31は、ライブラリ記憶領域22に格納されたライブラリ情報、および、合成指示記憶領域23に格納された合成指示情報に基づいて、動作レベル記述からRTレベル記述を合成する動作合成処理を行う。なお、この動作合成処理には、スケジューリング工程、バインディング工程、その他の最適化工程等の工程が含まれる。
スケジューリング工程は、動作レベル記述から、制御とデータの流れを抽出し、どのタイミング(または状態)でどのような処理や演算等を実行すべきかを示すタイミング情報を含んだ中間レベル記述である、図5に示すようなCDFGを作成する工程である。
バインディング工程は、スケジューリングされた動作レベル記述内の各処理に対して、必要なハードウェアリソース(演算器などの回路素子、および、レジスタ等)を割り付ける工程である。
その他の最適化工程は、関数呼び出しの解消等のように後工程の処理に適した形式への変換や、不要コードの削除や、言語レベル最適化による変形処理や後工程としての論理最適化処理等を行う工程である。
なお、動作合成部31は、上述した各工程(スケジューリング工程、バインディング工程、その他の最適化工程)で作成される中間レベル記述を、中間レベル記述記憶領域24に記憶する。また、動作合成部31は、上述した各工程を経て、最終的に、RTレベル記述を作成して、RTレベル記述記憶領域26に記憶する。
データフローパス情報解析部32は、中間レベル記述記憶領域24からCDFGを読み出して解析し、処理のタイミング(ステップ)毎に、データフロー上の各経路(パス)に含まれる演算種別と当該パスの遅延時間とを含んだパス情報を取得し、パス情報記憶領域25に記憶する。
合成制約生成部33は、ライブラリ記憶領域22に記憶されているライブラリ情報と、パス情報記憶領域25に記憶されているパス情報とに基づいて、動作レベル記述記憶領域21に記憶されている動作レベル記述から、最適な回路性能となる回路構成要素を抽出し、新しい合成制約情報として、合成制約記憶領域23に記憶する。
続いて、上記構成の動作合成装置100による、合成制約更新処理について説明する。なお、予め、動作レベル記述、ライブラリ情報、合成制約情報が、動作レベル記述記憶領域21、ライブラリ記憶領域22、合成制約記憶領域23にそれぞれ格納されているものとする。
ユーザが、動作合成装置100の入力部10から合成制約更新処理を行う旨の指示を入力すると、その入力に応答して、処理部30は、図6に示す合成制約更新処理を開始する。
合成制約更新処理が開始されると、まず、処理部30の動作合成部31は、動作合成の工程の1つである、スケジューリングを行う(ステップS10)。即ち、動作合成部31は、動作レベル記述記憶領域21に記憶されている動作レベル記述を解析して、制御とデータの流れを抽出し、どのタイミング(または状態、ステップ)でどのような処理や演算等を実行すべきかを示すタイミング情報を含んだCDFGを作成して、中間レベル記憶領域に格納する。
例えば、図2に示す動作レベル記述をステップS10の処理対象とした場合には、図5に示すようなCDFGが作成される。動作レベル記述内の4ビット加算処理文A1、5ビット加算処理文A2、6ビット加算処理文A3は、CDFG内での加算処理を表す演算ノードn1、n2、n3にそれぞれ対応している。また、動作レベル記述内の8ビット加算処理文A4は、CDFG内の演算ノードn4、n5に対応している。また、動作レベル記述内の16ビット加算処理文A5、A6は、CDFG内での加算処理を表す演算ノードn6、n7にそれぞれ対応している。また、このCDFGには、タイミング情報として、演算ノードn1、n2、n3、n6にはstep1の状態が、演算ノードn4、n5、n7にはstep2の状態が、それぞれ割り当てられている。
図6に戻り、続いて、データフローパス情報解析部32は、作成したCDFGから、データフロー上のパス情報を抽出するパス情報抽出処理を実行する(ステップS20)。
図7に、パス情報抽出処理(ステップS20)の詳細について説明する。
パス情報抽出処理が開始されると、まず、データフローパス情報解析部32は、CDFGに含まれる未選択の状態(ステップ)を1つ選択する(ステップS21)。
続いて、データフローパス情報解析部32は、選択した状態(ステップ)内におけるデータフロー上の経路(パス)を特定して、特定したパス毎に一意のID(パスID)を発行する(ステップS22)。
続いて、データフローパス情報解析部32は、特定したパス毎に、パスに含まれる演算種別を特定する(ステップS23)。
続いて、データフローパス情報解析部32は、含まれる演算種別を特定したパス毎に、ライブラリ情報と合成制約情報とを参照して、遅延を算出する(ステップS24)。
続いて、データフローパス情報解析部32は、未だ選択していないCDFG内の状態(ステップ)が有るか否かを判別する(ステップS25)。
状態(ステップ)が有ると判別した場合には(ステップS25;Yes)、データフローパス情報解析部32は、ステップS21〜S24までの処理を繰り返す。
状態(ステップ)がないと判別した場合には(ステップS25;No)、データフローパス情報解析部32は、状態(ステップ)毎に、抽出したパス情報(パス上の回路構成要素と遅延)を、パス情報記憶領域25に格納して(ステップS26)、パス情報抽出処理は終了する。
続いて、具体例を挙げて、このパス情報抽出処理について説明する。
図5に示すCDFGを、このパス情報抽出処理の対象とした場合を考える。なお、前提として、ライブラリ記憶領域22と合成制約記憶領域23には、図3と図4に示すようなライブラリ情報と合成制約情報とが記憶されているものとする。
この場合、データフローパス情報解析部32は、まず、図5に示すCDFGのstep1の状態を選択する(ステップS21)。そして、データフローパス情報解析部32は、選択したCDFGのstep1の状態内におけるパスを特定する(ステップS22)。この場合では、(A)データa0(又はデータa1)から、データt0を経由して、データt2へと続くパス、(B)データb0(又はデータb1)から、データt1を経由して、データt2へと続くパス、(C)データe0(又はデータe1)から、データt4へと続くパス、の3つのパス(A)〜(C)が特定される。そして、データフローパス情報解析部32は、この3つのパス(A)〜(C)それぞれに一意のパスID、P1〜P3を発行する(ステップS22)。
続いて、データフローパス情報解析部32は、上述の各パス(A)〜(C)に含まれる演算種別を特定する(ステップS23)。即ち、パス(A)には、4ビット加算処理である演算ノードn1と、6ビット加算処理である演算ノードn3とが含まれていることが特定される。同様に、パス(B)には、5ビット加算処理である演算ノードn2と、6ビット加算処理である演算ノードn3とが含まれていることが特定される。同様に、パス(C)には、16ビット加算処理である演算ノードn6が含まれていることが特定される。
続いて、データフローパス情報解析部32は、ライブラリ情報と合成制約情報とを参照して、含まれている演算種別を特定したパス(A)〜(C)毎に、遅延を算出する(ステップS24)。即ち、パス(A)であれば、まず、パス(A)に含まれる演算ノードn1、n3に対応する回路構成要素が、ライブラリIDがL1、L5である加算器であることが、図4に示す合成制約情報を参照することにより判別される。そして、図3に示すライブラリ情報を参照することにより、そのL1、L5の加算器のチェイン効果も考慮に入れた遅延90が、算出される。同様に、パス(B)であれば、パス(B)に含まれる演算ノードn2、n3に対応するライブラリIDがL3、L5である加算器の、チェイン効果も考慮に入れた遅延105が算出される。同様に、パス(C)であれば、パス(C)に含まれる演算ノードn6に対応するライブラリIDがL9である加算器の遅延120が算出される。
以上で、CDFGのstep1に関するパス情報の取得は完了し、データフローパス情報解析部32は、step2についても同様にパス情報を取得する(ステップS21〜S24)。そして、データフローパス情報解析部32は、CDFG内のstep1とstep2とでパス情報の取得が完了すると(ステップS25;No)、取得したパス情報を、図8に示すように、パス情報記憶領域25に格納して(ステップS26)、パス情報抽出処理は終了する。
図6に戻り、続いて、パス情報抽出処理が終了すると、合成制約生成部33は、ステップS20の処理でパス情報記憶領域25に記憶したパス情報と、ライブラリ記憶領域22に記憶されているライブラリ情報とに基づいて、動作レベル記述の処理をライブラリ情報に登録されている回路構成要素を用いて実現するうえで、最適な回路性能となる回路構成要素の種類と数を判別して、新たな合成制約情報を作成する(ステップS30)。
そして、合成制約生成部33は、合成制約記憶領域23に記憶されている合成制約情報を、作成した合成制約情報に更新する(ステップS40)。
以上で、合成制約更新処理は終了する。
ここで、上述した合成制約情報を作成して(ステップS30)、更新する(ステップS40)、処理について、具体例を挙げて説明する。
なお、前提として、図3に示すようなライブラリ情報がライブラリ記憶領域22に記憶されているものとする。また、ステップS10の処理により、中間レベル記述記憶領域24には、図5に示すようなCDFGが記憶されているものとする。さらに、ステップS20の処理により、パス情報記憶領域25には、図8に示すようなパス情報が記憶されているものとする。
また、合成制約記憶領域23には、図4に示すような、RTレベル記述に含める回路構成要素の数を指定する情報が、合成制約情報として記憶されているものとする。さらに、合成制約記憶領域23には、出力データt2、t3について、遅延が最小になるように、動作合成することを示す指示情報が合成制約情報として記憶されているものとする。さらに、合成制約記憶領域23には、出力データt4について、遅延が150以下の範囲で面積が最小になるように動作合成することを示す指示情報が、合成制約情報として記憶されているものとする。
まず、図5に示すCDFG内のstep1の出力データt2に着目する。
合成制約生成部33は、図8に示すパス情報を参照して、データt2を出力とするパスP1、P2に含まれる処理種別(演算ノード)を特定する。この場合、演算ノードn1〜n3が特定される。
続いて、合成制約生成部33は、この演算ノードn1〜n3に当てはめることが可能な回路構成要素の組み合わせを、図3に示すライブラリ情報を参照して、判別する。この例では、4ビット演算ノードn1には、ビット幅が4であるライブラリIDがL1、L2の加算器が対応し、5ビット演算ノードn2には、ビット幅が5であるライブラリIDがL3、L4の加算器が対応し、6ビット演算ノードn3には、ビット幅が6であるライブライIDがL5、L6の加算器が対応する。即ち、演算ノードn1〜n3に当てはめることが可能な回路構成要素の組み合わせは、(n1、n2、n3)=(L1、L3、L5)、(L1、L3、L6)、(L1、L4、L5)、(L1、L4、L6)、(L2、L3、L5)、(L2、L3、L6)、(L2、L4、L5)、(L2、L4、L6)の8通りであると判別される。
続いて、合成制約生成部33は、その8通りの組み合わせのなかで、図3に示すライブラリ情報を参照して、チェイン効果も考慮したデータt2での遅延が最小となる組み合わせを判別する。この例では、(n1、n2、n3)=(L2、L4、L6)の組み合わせのときに、最小の遅延95となる。したがって、この組み合わせを、新たな合成制約とする。出力データt3でも、同様にして、遅延が最小になるような組み合わせを選択して、(n4、n5)=(L8、L8)の組み合わせを、新たな合成制約とする。
続いて、合成制約生成部33は、図5に示すCDFG内のstep1の出力データt4に着目する。図8に示すパス情報を参照して、データt4を出力とするパスP3に含まれる処理種別(演算ノード)を特定する。この場合、演算ノードn6が特定される。
続いて、合成制約生成部33は、この演算ノードn6に当てはめることが可能な回路構成要素を判別する。この例では、図3に示すライブラリ情報を参照して、16ビット演算ノードn6には、ビット幅が16であるライブラリIDがL9、L10の加算器を当てはめることが可能であると判別される。
続いて、合成制約生成部33は、当てはめることが可能なL9とL10の加算器のうち、データt4に設定されている制約である、遅延が150以下の範囲で面積が最小になる、加算器を特定する。図3に示すライブラリ情報を参照すると、L9とL10との加算器は両方とも遅延150以下の条件は満たすので、より小さい面積であるL10の加算器がこの場合特定される。即ち、演算ノードn6をL10の加算器とする合成制約を作成する。出力データt5でも、同様にして、遅延150以下で面積が最小になるように、演算ノードn7をL10の加算器とする合成制約を作成する。
以上で、新しい合成制約情報の作成は完了し(即ち、RTレベル記述に含めるべき回路構成要素の種類と数とが特定され)、続いて、合成制約生成部33は、合成制約記憶領域23に記憶されている合成制約情報を、図9に示すような作成してきた合成制約情報に更新する。
このように、本実施形態に係る動作合成装置100は、動作レベル記述を動作合成する際のスケジューリングの工程で作成されるCDFGを解析したパス情報と、ライブラリ情報とに基づいて、既存の合成制約情報を、更新(改善)することが可能となる。
なお、本発明は、上記実施の形態で示したものに限定されず、様々な変形および応用が可能である。
例えば、本実施形態では、合成制約更新処理において、CDFGを解析してパス情報を取得したが(ステップS20)、CDFG以外のスケジューリング工程で作成される中間レベル記述を解析してパス情報を取得してもよい。
また、本実施形態では、パス情報抽出処理(図7、ステップS20)において、パスの遅延の算出(ステップS24)を行ったが、動作周波数(遅延)に関する情報が合成制約情報として与えられていない場合には、この処理は必ずしも行う必要はない。
また、本実施形態では、回路構成要素の加算器を例にして、合成制約更新処理の具体例を説明したが、これに限らず、回路構成要素としては、減算器などの他の演算要素および、レジスタ等の記憶要素や入出力端子等にも、本発明を同様に適用可能である。また、その場合には、その回路構成要素に対応した処理属性(例えばレジスタであれば構成ビット数などの処理属性)と回路性能に関する情報(遅延、面積等)とで、適切に回路構成要素が分類されて、ライブラリ情報として登録されている必要がある。
また、本実施形態では、動作レベル記述の具体例として、図2等に、SystemCで記述された動作レベル記述を示したが、これに限らず、C言語やJAVA(登録商標)等のプログラミング言語や、他のHDL(Hardware Description Language)等を用いた動作レベル記述にも、本発明は適用可能である。
また、本発明の動作合成装置は、専用のハードウェアに限られるものではなく、通常のコンピュータによっても実現することができる。
具体的には、上記実施の形態では、動作合成装置のプログラムが、メモリ等に予め記憶されているものとして説明した。しかし、上述の処理動作を実行させるためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行するプログラムプロファイリング装置を構成してもよい。
また、プログラムをインターネット等の通信ネットワーク上のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するようにしてもよい。さらに、通信ネットワークを介してプログラムを転送しながら起動実行することによっても、上述の処理を達成することができる。
また、上述の機能を、OS(Operating System)が分担又はOSとアプリケーションの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等してもよい。
本実施形態に係る動作合成装置の構成を示すブロック図である。 動作レベル記述の例を示した図である。 ライブラリ記憶領域に記憶されているライブラリ情報の例を示した図である。 合成制約記憶領域に記憶されている合成制約情報の例を示した図である。 CDFGの例を示した図である。 合成制約更新処理を説明するためのフローチャートである。 パス情報抽出処理を説明するためのフローチャートである。 パス情報記憶領域に記憶されているパス情報の例を示した図である。 更新された合成制約記憶領域に記憶されている合成制約情報の例を示した図である。
符号の説明
10 入力部
20 記憶部
21 動作レベル記述記憶領域
22 ライブラリ記憶領域
23 合成制約記憶領域
24 中間レベル記述記憶領域
25 パス情報記憶領域
26 RTレベル記述記憶領域
30 処理部
31 動作合成部
32 データフローパス情報解析部
33 合成制約生成部
40 出力部
100 動作合成装置

Claims (7)

  1. 動作レベル記述から合成制約情報が示す制約を満たすようにレジスタ転送レベル記述を動作合成する動作合成装置であって、
    前記合成制約情報を記憶する合成制約情報記憶手段と、
    前記レジスタ転送レベル記述に記載可能な回路構成要素を特定する情報を、ライブラリ情報として記憶するライブラリ情報記憶手段と、
    前記動作レベル記述を解析して、該動作レベル記述が示す制御とデータの流れを示した中間レベル記述を作成する中間レベル記述作成手段と、
    前期中間レベル記述作成手段で作成した中間レベル記述を解析して、処理の経路と、該経路に含まれる演算種別を特定する情報を含んだパス情報を取得する、パス情報取得手段と、
    前期ライブラリ情報記憶手段に記憶されているライブラリ情報と、前期パス情報取得手段で取得したパス情報とに基づいて、回路性能が向上する回路構成要素の種類と数とを示した情報を合成制約情報として生成する、合成制約情報生成手段と、
    前期合成制約情報記憶手段に記憶されている合成制約情報を、前記合成制約情報生成手段で生成した合成制約情報に更新する合成制約情報更新手段と、
    を備えることを特徴とする、動作合成装置。
  2. 前記中間レベル記述には、処理の実行のタイミングを示した情報が含まれている、
    ことを特徴とする、請求項1に記載の動作合成装置。
  3. 前記パス情報取得手段は、中間レベル記述を解析して、処理の実行のタイミング毎に、処理の経路の遅延を示した遅延情報を含んだパス情報を取得し、
    前記合成制約情報生成手段は、前記処理の実行のタイミング毎に、経路の遅延が最小となる回路構成要素の種類と数とを示した情報を合成制約情報として生成する、
    ことを特徴とする、請求項2に記載の動作合成装置。
  4. 前記ライブラリ情報記憶手段は、前記レジスタ転送レベル記述に記載可能な回路構成要素を複数接続した場合における、遅延の削減効果に関する情報をさらに記憶しており、
    前記合成制約情報生成手段は、前記遅延の削減効果に関する情報に基づいて、遅延が最小となる回路構成要素の種類と数とを示した情報を合成制約情報として生成する、
    ことを特徴とする、請求項1乃至3の何れか1項に記載の動作合成装置。
  5. 前記ライブラリ情報記憶手段は、前記レジスタ転送レベル記述に記載可能な回路構成要素の面積を示す情報をさらに記憶しており、
    前記合成制約情報生成手段は、前記パス情報取得手段で取得したパス情報から特定される、処理の経路に含まれる演算に対してあらかじめ設定されている動作周波数を超えない範囲で面積が最小となる回路構成要素の種類と数とを示した情報を合成制約情報として生成する、
    ことを特徴とする、請求項1乃至4の何れか1項に記載の動作合成装置。
  6. 動作レベル記述から合成制約情報が示す制約を満たすようにレジスタ転送レベル記述を動作合成する動作合成方法であって、
    前記合成制約情報を記憶する合成制約情報記憶ステップと、
    前記レジスタ転送レベル記述に記載可能な回路構成要素を特定する情報を、ライブラリ情報として記憶するライブラリ情報記憶ステップと、
    前記動作レベル記述を解析して、該動作レベル記述が示す制御とデータの流れを示した中間レベル記述を作成する中間レベル記述作成ステップと、
    前期中間レベル記述作成ステップで作成した中間レベル記述を解析して、処理の経路と、該経路に含まれる演算種別を特定する情報を含んだパス情報を取得する、パス情報取得ステップと、
    前期ライブラリ情報記憶ステップに記憶されているライブラリ情報と、前期パス情報取得ステップで取得したパス情報とに基づいて、回路性能が向上する回路構成要素の種類と数とを示した情報を合成制約情報として生成する、合成制約情報生成ステップと、
    前期合成制約情報記憶ステップに記憶されている合成制約情報を、前記合成制約情報生成ステップで生成した合成制約情報に更新する合成制約情報更新ステップと、
    を備えることを特徴とする、動作合成方法。
  7. 動作レベル記述から合成制約情報が示す制約を満たすようにレジスタ転送レベル記述を動作合成する機能を有するコンピュータを、
    前記合成制約情報を記憶する合成制約情報記憶手段と、
    前記レジスタ転送レベル記述に記載可能な回路構成要素を特定する情報を、ライブラリ情報として記憶するライブラリ情報記憶手段と、
    前記動作レベル記述を解析して、該動作レベル記述が示す制御とデータの流れを示した中間レベル記述を作成する中間レベル記述作成手段と、
    前期中間レベル記述作成手段で作成した中間レベル記述を解析して、処理の経路と、該経路に含まれる演算種別を特定する情報を含んだパス情報を取得する、パス情報取得手段と、
    前期ライブラリ情報記憶手段に記憶されているライブラリ情報と、前期パス情報取得手段で取得したパス情報とに基づいて、回路性能が向上する回路構成要素の種類と数とを示した情報を合成制約情報として生成する、合成制約情報生成手段と、
    前期合成制約情報記憶手段に記憶されている合成制約情報を、前記合成制約情報生成手段で生成した合成制約情報に更新する合成制約情報更新手段、
    として機能させるプログラム。
JP2008063705A 2008-03-13 2008-03-13 動作合成装置、および、プログラム Active JP5228546B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008063705A JP5228546B2 (ja) 2008-03-13 2008-03-13 動作合成装置、および、プログラム
US12/402,668 US8117572B2 (en) 2008-03-13 2009-03-12 Data processing device, behavioral synthesis device, data processing method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008063705A JP5228546B2 (ja) 2008-03-13 2008-03-13 動作合成装置、および、プログラム

Publications (2)

Publication Number Publication Date
JP2009217778A true JP2009217778A (ja) 2009-09-24
JP5228546B2 JP5228546B2 (ja) 2013-07-03

Family

ID=41064382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008063705A Active JP5228546B2 (ja) 2008-03-13 2008-03-13 動作合成装置、および、プログラム

Country Status (2)

Country Link
US (1) US8117572B2 (ja)
JP (1) JP5228546B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011007640A1 (ja) * 2009-07-15 2011-01-20 日本電気株式会社 動作合成装置、動作合成方法、ならびに、記録媒体
JP2011039636A (ja) * 2009-08-07 2011-02-24 Nec Corp 動作合成装置、動作合成方法、ならびに、プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8739088B1 (en) * 2009-10-16 2014-05-27 Xilinx, Inc. Using constraints wtihin a high-level modeling system for circuit design
CN111258838B (zh) * 2020-01-17 2023-05-23 南京芯驰半导体科技有限公司 验证组件生成方法、装置、存储介质及验证平台

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334465A (ja) * 1992-06-02 1993-12-17 Nec Corp 演算器・記憶装置・データ転送装置必要数計数装置
JPH1196203A (ja) * 1997-09-18 1999-04-09 Toshiba Corp 論理回路設計方法
JP2001184377A (ja) * 1999-12-24 2001-07-06 Toshiba Corp 演算ディレイ計算装置及び方法
JP2002222228A (ja) * 2001-01-26 2002-08-09 Toshiba Corp 高位合成システム及び高位合成方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302670B2 (en) * 2000-12-21 2007-11-27 Bryan Darrell Bowyer Interactive interface resource allocation in a behavioral synthesis tool
US7120879B2 (en) * 2001-04-20 2006-10-10 Peter Pius Gutberlet Hierarchical presentation techniques for a design tool
JP2006285865A (ja) * 2005-04-04 2006-10-19 Nec Electronics Corp レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム
JP2007193529A (ja) * 2006-01-18 2007-08-02 Matsushita Electric Ind Co Ltd 半導体集積回路の高位合成方法
JP5157534B2 (ja) * 2008-03-06 2013-03-06 日本電気株式会社 動作合成装置、および、プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334465A (ja) * 1992-06-02 1993-12-17 Nec Corp 演算器・記憶装置・データ転送装置必要数計数装置
JPH1196203A (ja) * 1997-09-18 1999-04-09 Toshiba Corp 論理回路設計方法
JP2001184377A (ja) * 1999-12-24 2001-07-06 Toshiba Corp 演算ディレイ計算装置及び方法
JP2002222228A (ja) * 2001-01-26 2002-08-09 Toshiba Corp 高位合成システム及び高位合成方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSNG200500318004; 粟島 亨,戸井 崇雄,中村 典嗣,紙 弘和,加藤 吉之介,若林 一敏,宮澤 義幸,李 京: '動的再構成可能チップDRPのCコンパイラ' 情報処理学会研究報告 Vol.2004, No.5, 20040122, 第23-28頁, 一般社団法人情報処理学会 *
CSNG200600872050; 貞方 毅,松永 祐介: 'マルチファンクション演算器を考慮した演算のチェイニング手法' 回路とシステム軽井沢ワークショップ論文集 Vol.19, 20060424, 第601-606頁, 電子情報通信学会 *
CSNG200800193048; 貞方 毅,松永 祐介: '専用演算器と演算のチェイニングのトレードオフを考慮した動作合成手法' 回路とシステム軽井沢ワークショップ論文集 Vol.20, 20070423, 第655-660頁, 電子情報通信学会 *
JPN6012021857; 貞方 毅,松永 祐介: 'マルチファンクション演算器を考慮した演算のチェイニング手法' 回路とシステム軽井沢ワークショップ論文集 Vol.19, 20060424, 第601-606頁, 電子情報通信学会 *
JPN6012021860; 貞方 毅,松永 祐介: '専用演算器と演算のチェイニングのトレードオフを考慮した動作合成手法' 回路とシステム軽井沢ワークショップ論文集 Vol.20, 20070423, 第655-660頁, 電子情報通信学会 *
JPN6012021863; 粟島 亨,戸井 崇雄,中村 典嗣,紙 弘和,加藤 吉之介,若林 一敏,宮澤 義幸,李 京: '動的再構成可能チップDRPのCコンパイラ' 情報処理学会研究報告 Vol.2004, No.5, 20040122, 第23-28頁, 一般社団法人情報処理学会 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011007640A1 (ja) * 2009-07-15 2011-01-20 日本電気株式会社 動作合成装置、動作合成方法、ならびに、記録媒体
JP5110206B2 (ja) * 2009-07-15 2012-12-26 日本電気株式会社 動作合成装置、動作合成方法、ならびに、プログラム
JP2011039636A (ja) * 2009-08-07 2011-02-24 Nec Corp 動作合成装置、動作合成方法、ならびに、プログラム

Also Published As

Publication number Publication date
US20090235220A1 (en) 2009-09-17
US8117572B2 (en) 2012-02-14
JP5228546B2 (ja) 2013-07-03

Similar Documents

Publication Publication Date Title
US9075624B2 (en) Compilation of system designs
JP2009520268A5 (ja)
JP5228546B2 (ja) 動作合成装置、および、プログラム
JP2013109438A (ja) 動作合成方法、動作合成プログラム及び動作合成装置
JP4396987B2 (ja) 動作合成装置および動作合成方法、ディジタル回路の製造方法、動作合成制御プログラム、可読記録媒体
JP5157534B2 (ja) 動作合成装置、および、プログラム
JP5233355B2 (ja) プロパティ生成システムおよびプロパティ検証システム
JP5229716B2 (ja) 動作合成システム、動作合成方法および動作合成用プログラム
JP2008204111A (ja) 半導体集積回路の設計支援装置、その設計支援方法、その製造方法、プログラム、及び記録媒体
JP2007018313A (ja) 回路設計プログラム、回路設計装置、回路設計方法
JP2010026968A (ja) 回路生成支援プログラム及び回路生成支援方法
JP2002230062A (ja) 設計支援装置及び設計支援方法並びにシステム設計支援装置
JP7008780B2 (ja) 状態遷移編集装置および状態遷移編集プログラム
JP6807721B2 (ja) 状態遷移編集装置および状態遷移編集プログラム
JP5267376B2 (ja) 動作合成装置、動作合成方法、ならびに、プログラム
JP2006011840A (ja) 組み込みシステム
JP5233354B2 (ja) プロパティ検証システム、プロパティ検証方法、及びプログラム
JP5071189B2 (ja) プロセッサ合成装置、コンパイル装置、開発システム、プロセッサ合成方法およびプログラム
JP2006171913A (ja) 情報処理装置、情報処理方法、ならびにプログラム、記憶媒体
JP2008123315A (ja) 情報処理装置およびその方法、並びにプログラム
JP2007323606A (ja) 動作合成装置
JP6435892B2 (ja) 回路設計方法、回路設計ツール用セル・ライブラリのコンポーネント
JP5211776B2 (ja) 動作合成装置、動作合成方法及びプログラム
JP2014095955A (ja) 半導体集積回路の設計装置及び設計方法
JP6066031B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120709

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130304

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

Free format text: PAYMENT UNTIL: 20160329

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5228546

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150