JP5169697B2 - 動作合成装置、動作合成方法並びにプログラム - Google Patents

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

Info

Publication number
JP5169697B2
JP5169697B2 JP2008255207A JP2008255207A JP5169697B2 JP 5169697 B2 JP5169697 B2 JP 5169697B2 JP 2008255207 A JP2008255207 A JP 2008255207A JP 2008255207 A JP2008255207 A JP 2008255207A JP 5169697 B2 JP5169697 B2 JP 5169697B2
Authority
JP
Japan
Prior art keywords
stage
state
circuit
semiconductor integrated
circuits
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
JP2008255207A
Other languages
English (en)
Other versions
JP2010086310A (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
Renesas Electronics Corp
Original Assignee
NEC Corp
Renesas Electronics 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, Renesas Electronics Corp filed Critical NEC Corp
Priority to JP2008255207A priority Critical patent/JP5169697B2/ja
Priority to US12/569,043 priority patent/US8176451B2/en
Publication of JP2010086310A publication Critical patent/JP2010086310A/ja
Application granted granted Critical
Publication of JP5169697B2 publication Critical patent/JP5169697B2/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/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

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

本発明は、高速なパイプライン回路を実現する動作レベル記述を生成するのに好適な動作合成装置、動作合成方法並びにプログラムに関する。
近年、専用論理回路並の性能を実現しつつ、回路動作を容易に変更可能なアレイ型プロセッサとしてDRP(Dynamically Reconfigurable Processor)が注目されている。また、コンピュータ技術の進歩により、DRPを用いて実現される電子回路の設計、解析および評価等を動作合成ツールや論理合成ツールを備えるCAD(Computer−Aided Design)システムを使用して行うのが一般的になっている。例えば、特許文献1には、このようなCADシステムに適用される動作合成装置が開示されている。
ここで、動作合成ツールは、入力ポートや変数のビット幅等のH/W化に必要な情報を含んだ動作レベル記述を動作合成することにより、RTL(Register Transfer Level(レジスタ転送レベル))記述を出力するツールである。より詳細には、動作合成ツールは、SystemC言語等の高水準言語で記述された動作レベル記述の構文解析を行い、DFG(Data Flow Graph)を生成する。続いて、動作合成ツールは、生成したDFGに基づいてスケジューリングすることにより、CDFG(Control Data Flow Graph)を生成する。そして、動作合成ツールは、生成したCDFGに基づいて、論理合成ツールに直接入力可能なRTL記述を生成する。
なお、動作合成ツールは、複数のコンテキスト(動作状態)を切り換えながら処理を実行する電子回路が生成されるように動作合成してもよい。この場合、動作合成ツールは、クロック信号などに基づいてコンテキストを切り換えるSTC(State Transition Controller)が生成される電子回路に含まれるように動作合成する。また、コンテキストは1つであってもよく、STCが1つのコンテキスト内において複数の処理段階(段階状態)を切り換えるようにしてもよい。
一方、高速な計算回路を実現するためにパイプライン回路を用いることがよくある。パイプライン回路は、複数の段階回路からなり、各段階回路には、互いに異なる計算処理が割り当てられ、前の段階回路からデータを受け取り、互いに共通するクロック数で並列に計算処理を行い、次の段階回路へ計算結果を受け渡す。
特開2003−99409号公報
従って、このようなパイプライン回路をDRPなどの再構成可能半導体集積回路で実現する際に、高速な計算を可能としたいという要望は大きい。
本発明は、上記問題に鑑みてなされたものであり、高速なパイプライン回路を実現する動作レベル記述を生成するのに好適な動作合成装置、動作合成方法並びにプログラムを提供することを目的とする。
上記目的を達成するために、第1の観点に係る動作合成装置は、
半導体集積回路の動作を記述する動作レベル記述を受け付ける受付部、
前記受け付けられた動作レベル記述を、N個の段階記述に分割し、当該N個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールするスケジュール部、
当該N個の段階記述及び当該タイミングに基づいて、当該N個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる2N−1個の段階状態を制御する状態制御回路と、が形成されるように、当該半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル記述を生成する生成部、
を備え、
前記生成部は、
整数i=1,2,…,N−1のそれぞれについて、i番目の段階回路の出力がi+1番目の段階回路の入力となり、
当該状態制御回路は、当該半導体集積回路の段階状態を1番目の段階状態からN−1番目の段階状態まで順に更新し、その後N番目の段階状態をL回繰り返し、その後N+1番目の段階状態から2N−1番目の段階状態まで順に更新し、
現在の段階状態がj番目の段階状態である場合、当該状態制御回路は、
(a)jが1以上N未満であれば、
1番目からj番目までの段階回路を動作させ、j+1番目からN番目までの段階回路を停止させ、
(b)jがNに等しければ、
1番目からN番目までの段階回路を動作させ、
(c)jがNより大きければ、
1番目からj−N番目までの段階回路を停止させ、j−N+1番目からN番目までの段階回路を動作させ
当該2N−1個の段階状態のそれぞれを、M個の動作状態に分割し、
現在の動作状態がk番目の動作状態である場合、当該状態制御回路は、当該半導体集積回路の構成、配置、配線をk番目のコンテキストに切り換える
ように、当該レジスタ転送レベル記述を生成する
ことを特徴とする。
上記目的を達成するために、第2の観点に係る動作合成方法は、
受付部、スケジュール部、生成部を備える動作合成装置が実行する動作合成方法であって、
前記受付部が、半導体集積回路の動作を記述する動作レベル記述を受け付ける受付ステップ、
前記スケジュール部が、前記受け付けられた動作レベル記述を、N個の段階記述に分割し、当該N個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールするスケジュールステップ、
前記生成部が、当該N個の段階記述及び当該タイミングに基づいて、当該N個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる2N−1個の段階状態を制御する状態制御回路と、が形成されるように、当該半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル記述を生成する生成ステップ、
を備え、
前記生成部は、
整数i=1,2,…,N−1のそれぞれについて、i番目の段階回路の出力がi+1番目の段階回路の入力となり、
当該状態制御回路は、当該半導体集積回路の段階状態を1番目の段階状態からN−1番目の段階状態まで順に更新し、その後N番目の段階状態をL回繰り返し、その後N+1番目の段階状態から2N−1番目の段階状態まで順に更新し、
現在の段階状態がj番目の段階状態である場合、当該状態制御回路は、
(a)jが1以上N未満であれば、
1番目からj番目までの段階回路を動作させ、j+1番目からN番目までの段階回路を停止させ、
(b)jがNに等しければ、
1番目からN番目までの段階回路を動作させ、
(c)jがNより大きければ、
1番目からj−N番目までの段階回路を停止させ、j−N+1番目からN番目までの段階回路を動作させ
当該2N−1個の段階状態のそれぞれを、M個の動作状態に分割し、
現在の動作状態がk番目の動作状態である場合、当該状態制御回路は、当該半導体集積回路の構成、配置、配線をk番目のコンテキストに切り換える
ように、当該レジスタ転送レベル記述を生成する
ことを特徴とする。
上記目的を達成するために、第3の観点に係るプログラムは、
コンピュータを、
半導体集積回路の動作を記述する動作レベル記述を受け付ける受付部、
前記受け付けられた動作レベル記述を、N個の段階記述に分割し、当該N個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールするスケジュール部、
当該N個の段階記述及び当該タイミングに基づいて、当該N個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる2N−1個の段階状態を制御する状態制御回路と、が形成されるように、当該半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル記述を生成する生成部、
として機能させるためのプログラムであって、
前記生成部は、
整数i=1,2,…,N−1のそれぞれについて、i番目の段階回路の出力がi+1番目の段階回路の入力となり、
当該状態制御回路は、当該半導体集積回路の段階状態を1番目の段階状態からN−1番目の段階状態まで順に更新し、その後N番目の段階状態をL回繰り返し、その後N+1番目の段階状態から2N−1番目の段階状態まで順に更新し、
現在の段階状態がj番目の段階状態である場合、当該状態制御回路は、
(a)jが1以上N未満であれば、
1番目からj番目までの段階回路を動作させ、j+1番目からN番目までの段階回路を停止させ、
(b)jがNに等しければ、
1番目からN番目までの段階回路を動作させ、
(c)jがNより大きければ、
1番目からj−N番目までの段階回路を停止させ、j−N+1番目からN番目までの段階回路を動作させ
当該2N−1個の段階状態のそれぞれを、M個の動作状態に分割し、
現在の動作状態がk番目の動作状態である場合、当該状態制御回路は、当該半導体集積回路の構成、配置、配線をk番目のコンテキストに切り換える
ように、当該レジスタ転送レベル記述を生成する
ことを特徴とする。
本発明によれば、高速なパイプライン回路を実現する動作レベル記述を生成するのに好適な動作合成装置、動作合成方法並びにプログラムを提供することができる。
(第1の実施形態)
以下、図面を参照して、本実施形態に係る動作合成装置について説明する。まず、図1を参照して、本実施形態に係る動作合成装置100の構成について説明する。動作合成装置100は、入力ポートや変数のビット幅等のH/W化に必要な情報を記述する動作レベル記述を動作合成することにより、半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル(RTL(Register Transfer Level))記述を得る装置である。
図1に示すように、動作合成装置100は、物理的には、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、ハードディスク14と、入力装置15と、表示装置16と、通信装置17と、を備える。動作合成装置100が備える各構成要素はバスを介して接続される。
CPU11は、ハードディスク14に記憶されたプログラムに従って動作合成装置100全体の動作を制御する。CPU11は、各構成要素とバスを介して接続され制御信号やデータのやりとりをする。
ROM12は、電源投入直後に実行されるIPL(Initial Program Loader)を記憶する。IPLが実行された後、CPU11は、ハードディスク14に記憶されたプログラムをRAM13に読み出して実行する。
RAM13は、データやプログラムを一時的に記憶する。
ハードディスク14は、CPU11により実行されるプログラムを記憶する。また、ハードディスク14は、動作合成する対象の動作レベル記述、動作合成により得られたRTL記述、動作合成する際の制約条件等を記憶する。なお、制約条件は、ポート数の条件や遅延時間の制約条件などを含む。
入力装置15は、CPU11による制御のもと、動作合成する対象の動作合成記述の指定、動作合成の開始要求等をユーザから受け付ける。入力装置15は、例えば、キーボードやマウスから構成される。
表示装置16は、CPU11による制御のもと、動作合成する対象の動作合成記述の指定をユーザから受け付けるための画面、動作合成の開始要求をユーザから受け付けるための画面、動作レベル記述をユーザに提示する画面、レジスタ転送レベル記述をユーザに提示する画面等を表示する。表示装置16は、例えば、液晶ディスプレイ装置から構成される。
通信装置17は、CPU11による制御のもと、外部の情報処理装置と通信することにより、動作レベル記述を外部の情報処理装置から入力したり、レジスタ転送レベル記述を外部の情報処理装置へ出力したりする。通信装置17は、例えば、NIC(Network Interface Card)から構成される。
次に、本実施形態に係る動作合成装置100の基本構成について説明する。
図2は、本実施形態に係る動作合成装置100の基本構成を示すブロック図である。図2に示すように、動作合成装置100は、機能的には、受付部21と、スケジュール部22と、生成部23と、を備える。
受付部21は、半導体集積回路の動作を記述する動作レベル記述を受け付ける。
スケジュール部22は、受け付けられた動作レベル記述を、N個の段階記述に分割し、当該N個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールする。
生成部23は、当該N個の段階記述及び当該タイミングに基づいて、当該N個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる2N−1個の段階状態を制御する状態制御回路と、が形成されるように、当該半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル記述を生成する。
ここで、生成部23は、以下の(1)〜(3)に示すようにレジスタ転送レベルを生成する。
(1)整数i=1,2,…,N−1のそれぞれについて、i番目の段階回路の出力がi+1番目の段階回路の入力となる。
(2)当該状態制御回路は、当該半導体集積回路の段階状態を1番目の段階状態からN−1番目の段階状態まで順に更新し、その後N番目の段階状態をL回繰り返し、その後N+1番目の段階状態から2N−1番目の段階状態まで順に更新する。
(3)現在の段階状態がj番目の段階状態である場合、当該状態制御回路は、以下の(a)〜(c)に示すように動作する。
(a)jが1以上N未満であれば、
1番目からj番目までの段階回路を動作させ、j+1番目からN番目までの段階回路を停止させる。
(b)jがNに等しければ、
1番目からN番目までの段階回路を動作させる。
(c)jがNより大きければ、
1番目からj−N番目までの段階回路を停止させ、j−N+1番目からN番目までの段階回路を動作させる。
次に、動作合成装置100が生成したレジスタ転送レベル記述により実現される半導体集積回路を実現するDRP(Dynamically Reconfigurable Processor)300の構成の概要について、図3を参照して説明する。
DRP300は、供給された処理データに所定の演算を施し、演算結果を結果データとして出力する。図3に示すように、DRP300は、多数のPE(Processing Element)30と、データ入力部41と、データ出力部42と、状態遷移制御部43と、を備える。
PE30は、DRP300の内部に格子状に配置され、データ配線及びフラグ配線により他のPE30と接続される。図3に示す例では、8×8=64個のPE30が配置されている。
図4に示すように、PE30は、コンフィギュレーションメモリ31と、演算ユニット32と、レジスタ33と、を備える。PE30が備える各要素は、PE30内において、図示しないデータ配線を介してデータの受け渡しを行い、図示しないフラグ配線を介してフラグの受け渡しを行う。
PE30は、データ配線を介して他のPE30から供給されたデータに簡単な演算を施し、演算により得られたデータをデータ配線を介して別のPE30に供給する。また、PE30は、フラグ配線を介して他のPE30からフラグを供給される。さらにPE30は、フラグをフラグ配線を介して別のPE30に供給する。
コンフィギュレーションメモリ31は、演算ユニット32の命令の内容(以下、「演算情報」という。)と、配線接続スイッチ34〜38の配線接続情報とをコンフィギュレーションコード(以下、「回路構成情報」という。)として記憶する。コンフィギュレーションメモリ31は、回路構成情報を、時間軸上で動的に切り替える構成面(以下「コンテキスト」という。)の個数分記憶する。図4に示す例では、コンフィギュレーションメモリ31は、コンテキスト1〜コンテキストMにそれぞれ対応したM個分の回路構成情報(コード1〜コードM)を記憶している。なお、コンテキストは、後述する状態遷移制御部43により指定される。
演算ユニット32は、供給されたデータに簡単な演算を施す。なお、演算ユニット32が施す演算内容は、コンフィギュレーションメモリ31に記憶された演算情報のうち、状態遷移制御部43により指定されたコンテキストの演算情報により決定される。
レジスタ33は、演算ユニット32が出力した演算の結果データや演算の中間データなどを一時記憶する。
配線接続スイッチ34〜36は、それぞれの配線接続情報に従って、対応するPE30(当該配線接続情報を記憶するコンフィギュレーションメモリ31を備えるPE30)と、他のPE30(例えば、隣接するPE30)とをデータ配線で接続する。
配線接続スイッチ36〜38は、それぞれの配線接続情報に従って、対応するPE30(当該配線接続情報を記憶するコンフィギュレーションメモリ31を備えるPE30)と、他のPE30(例えば、隣接するPE30)とをフラグ配線で接続する。
配線接続スイッチ34〜36は、コンフィギュレーションメモリ31に記憶された配線接続情報のうち、対応するコンテキストの配線接続情報に従って配線を接続する。なお、配線接続スイッチ36は、データ配線やフラグ配線の交差部に配置される。
データ入力部41は、DRP300の周辺部に配置され、DRP300の外部から供給された処理データをPE30に供給する。
データ出力部42は、PE30から供給されたデータを結果データとしてDRP300の外部に出力する。
状態遷移制御部43は、各PE30の入出力の状態やクロック信号などに基づいて、回路の遷移状態を検出する。そして、状態遷移制御部43は、検出した遷移状態に基づいて、どのタイミングでどのコンテキストに切り換えるかを検出するとともに、どのタイミングでどの回路部分をアクティブにするかを検出する。状態遷移制御部43は、検出結果を示す信号を生成して、出力する。
次に、図5に示すフローチャートを参照して、動作合成装置100が実行する動作合成処理について説明する。なお、動作合成装置100は、あらかじめハードディスク14に記憶されている動作レベル記述を、あらかじめハードディスク14に記憶されている制約条件に従って動作合成し、生成したレジスタ転送レベル記述をハードディスク14に記憶するものとして説明する。また、当該動作レベル記述は、パイプライン処理により効率よくデータを処理する回路(以下「パイプライン回路」という。)を生成するための動作レベル記述であるものとして説明する。
動作合成装置100は、例えば、動作合成する対象の動作合成記述の指定と動作合成の開始要求とを入力装置15を介してユーザから受けると、図5のフローチャートに示す動作合成処理を開始する。
まず、CPU11は、動作合成する対象の動作レベル記述を受け付ける(ステップS101)。具体的には、CPU11は、入力装置15がユーザから動作合成する対象の動作レベル記述の指定を受け付けたことに応答して、指定された動作レベル記述をハードディスク装置14から読み出してRAM13に記憶する。すなわち、CPU11と入力装置15とが協働することにより受付部21として機能する。
次に、CPU11は、動作レベル記述に基づいてグラフを生成する(ステップS102)。具体的には、CPU11は、RAM13に記憶されている動作レベル記述により示される一連のソースコードを言語解析してDFG(Data Flow Graph)を生成し、生成したDFGをRAM13に記憶する。
次に、CPU11は、生成したグラフに基づいてスケジューリングする(ステップS103)。具体的には、CPU11は、ハードディスク14に記憶されている制約条件を考慮してRAM13に記憶されているDFGをスケジューリングすることによりCDFG(Control Data Flow Graph)を生成し、生成したCDFGをRAM13に記憶する。すなわち、CPU11は、スケジュール部22として機能する。
そして、CPU11は、スケジューリング結果に基づいてレジスタ転送レベル記述を生成する(ステップS104)。具体的には、CPU11は、ハードディスク14に記憶されている制約条件とRAM13に記憶されているCDFGとに基づいて、状態遷移制御部43と複数段の段階回路から構成されるパイプライン回路とを表現するレジスタ転送レベル記述とを生成し、生成したレジスタ転送レベル記述をハードディスク14に記憶する。すなわち、CPU11は、生成部23として機能する。
CPU11がレジスタ転送レベル記述の生成を完了すると、動作合成装置は動作合成処理を完了する。
ここで、図6〜8を参照して、動作合成装置100が生成するレジスタ転送レベル記述により実現される半導体集積回路について説明する。図6は、パイプライン回路60を構成する段階回路61〜64を状態遷移制御部43がアクティブにする様子を模式的に示す図である。図7は、状態遷移制御部43が段階回路61〜64をアクティブにする信号を生成する手法の一例を説明するための図である。図8は、パイプライン回路60を構成する段階回路61〜64がどのような順序でアクティブになるのかを模式的に示す図である。
図6に示す例では、パイプライン回路60は、パイプライン回路60に供給された処理データに演算を施して演算結果を示すデータを出力する1段目の段階回路である段階回路61と、段階回路61から供給されたデータに演算を施して演算結果を示すデータを出力する2段目の段階回路である段階回路62と、段階回路62から供給されたデータに演算を施して演算結果を示すデータを出力する3段目の段階回路である段階回路63と、段階回路63から供給されたデータに演算を施して演算結果を示すデータを結果データとして出力する4段目の段階回路である段階回路64と、の4(N=4)段の段階回路から構成される。なお、パイプライン回路60は、コンテキスト(構成面)の切り換えを行わずにパイプライン処理を実行する回路である。従って、状態遷移制御部43は、コンテキストの切り換えを行なうための信号は出力しない。また、理解を容易にするため、半導体集積回路が取りうる遷移状態と、パイプライン回路60が取りうる段階状態とが一対一に対応するものとして説明する。
状態遷移制御部43は、パイプライン回路60が取りうる1〜7(2N−1=7)の段階状態に基づいて生成した信号であって、段階回路61〜64のそれぞれをアクティブにするアクティブ信号ACT1〜4をパイプライン回路60に供給する。より詳細には、段階回路61をアクティブにするときにアクティブ信号ACT1を段階回路61に供給し、段階回路62をアクティブにするときにアクティブ信号ACT2を段階回路62に供給し、段階回路63をアクティブにするときにアクティブ信号ACT3を段階回路63に供給し、段階回路64をアクティブにするときにアクティブ信号ACT4を段階回路64に供給する。ここで、アクティブ信号ACT1〜4、後述する遷移信号ST1〜7及び後述するコンテキスト信号SC1、2は、Hレベル又はLレベルのいずれか一方の信号レベルを有する電気信号とすることができる。理解を容易にするため、「信号レベルをHレベルにする」ことを「信号を出力(供給)する」といい、「信号レベルをLレベルにする」ことを「信号を出力(供給)しない」という。
ここで、図7を参照して、状態遷移制御部43がアクティブ信号ACT1〜4を生成する手法の一例を説明する。図7に示すように、状態遷移制御部43は、遷移信号生成部70と、ORゲート71〜74と、を備える。
遷移信号生成部70は、半導体集積回路がどの遷移状態にあるかを示す遷移信号ST1〜7を生成して出力する。図7に示す例では、遷移状態は1〜7の7つである。従って、段階状態も1〜7の7つである。遷移信号生成部70は、遷移状態が1のときに遷移信号ST1を出力し、他の遷移信号ST2〜7を全て出力しない。遷移信号生成部70は、同様にして、遷移状態に対応する遷移信号のみを出力し、他の遷移信号を全て出力しない。
ORゲート71〜74は、遷移信号ST1〜7に基づいて、アクティブ信号ACT1〜4を生成して出力する。より詳細には、ORゲート71は、遷移信号ST1〜4のORをとる論理演算を実行して、演算結果をアクティブ信号ACT1として出力し、ORゲート72は、遷移信号ST2〜5のORをとる論理演算を実行して、演算結果をアクティブ信号ACT2として出力し、ORゲート73は、遷移信号ST3〜6のORをとる論理演算を実行して、演算結果をアクティブ信号ACT3として出力し、ORゲート74は、遷移信号ST4〜7のORをとる論理演算を実行して、演算結果をアクティブ信号ACT4として出力する。このように、状態遷移制御部43は、段階状態(本実施形態では、段階状態と遷移状態とが一対一に対応するため、段階状態は遷移状態と同じ)に基づいて、アクティブ信号ACT1〜4を生成して出力する。
一方、段階回路61〜64のそれぞれは、アクティブ信号が供給されている間はアクティブとなり、アクティブ信号が供給されていない間はアクティブとならない。つまり、段階回路61は、アクティブの間は、パイプライン回路60の外部から供給された処理データに所定の演算を施して演算結果を示すデータを段階回路62に出力し、アクティブでない間は、段階回路62にデータを出力しないように(或いは、所定の値を出力するように)構成される。そして、段階回路62は、アクティブの間は、段階回路61から供給されたデータに所定の演算を施して演算結果を示すデータを段階回路63に出力し、アクティブでない間は、段階回路63にデータを出力しないように(或いは、所定の値を出力するように)構成される。また、段階回路63は、アクティブの間は、段階回路62から供給されたデータに所定の演算を施して演算結果を示すデータを段階回路64に出力し、アクティブでない間は、段階回路64にデータを出力しないように(或いは、所定の値を出力するように)構成される。そして、段階回路64は、アクティブの間は、段階回路63から供給されたデータに所定の演算を施して演算結果を示すデータを結果データとしてパイプライン回路60の外部に出力し、アクティブでない間は、パイプライン回路60の外部にデータを出力しないように(或いは、所定の値を出力するように)構成される。
ここで、図8を参照して、段階回路61〜64がどのような順序でアクティブになるかを説明する。なお、図8においては、アクティブになる段階回路のみを正方形で示している。
パイプライン回路60は、段階回路61〜64のそれぞれにおいて、対応する段階処理を繰り返し実行することによりパイプライン処理を実現する回路である。従って、パイプライン処理の開始時の処理(プロローグ処理)及びパイプライン処理の終了時の処理(エピローグ処理)を実行する過渡状態では、アクティブにする必要がない段階回路(あるいは、アクティブにすると誤動作等の不具合を招きかねない段階回路)が存在する。従って、過渡状態は、動作させる必要のない段階回路をアクティブにせず、パイプライン処理を実行中の定常状態では、全ての段階回路をアクティブにするように構成する。
図8に示す例では、段階状態が1の間は、段階回路61をアクティブに設定し、段階状態が2の間は、段階回路61、62をアクティブに設定し、段階状態が3の間は、段階回路61、62、63をアクティブに設定し、段階状態が4の間は、全ての段階回路61〜64をアクティブに設定し、段階状態が5の間は、段階回路62、63、64をアクティブに設定し、段階状態が6の間は、段階回路63、64をアクティブに設定し、段階状態が7の間は、段階回路64をアクティブに設定する。すなわち、エピローグ処理を実行する段階状態が1〜3の間、及び、プロローグ処理を実行する段階状態が5〜7の間は、いずれかの段階回路をアクティブにしない。そして、パイプライン処理を実行する段階状態が4の間は全ての段階回路をアクティブにする。
以上説明したように、本実施形態に係る動作合成装置100を用いて動作合成することにより得られるパイプライン回路60においては、状態遷移制御部43は使用しない回路部分がアクティブにならないように制御する。従って、次の工程を処理する回路部分に不正なデータを供給することによって生じ得る誤動作を減らすことが期待できる。
なお、本実施形態に係る動作合成装置100によれば、状態遷移制御部43が検出する遷移状態に基づいて、各回路部分をアクティブにするかしないかを決定する。このため、各回路部分をアクティブ化/非アクティブ化するための余分な回路を追加することなく、パイプライン回路を生成することが可能となる。これらの余分な回路を追加する場合、回路遅延や回路規模を算出することが困難であるため、設計上多くのマージンをとる必要があった。しかし、本願発明においては、回路遅延や回路規模を制約する際に、これらの余分な回路を追加することによる影響を考慮せずに動作合成が可能となる。従って、回路規模のコンパクト化が期待できるとともに、定常状態(図8において波線で囲んだ部分に相当する状態)における処理速度の向上が期待できる。
(第2の実施形態)
第1の実施形態では、コンテキストを切り換えずにパイプライン処理を実行する例を示した。しかしながら、例えば、パイプライン処理で並列に処理するデータ量が多い場合、1つのコンテキストに各段階回路が収まらないこともある。この場合、複数のコンテキストを用意して、コンテキストを切り換えながらパイプライン処理を実行するように構成する。以下、図面を参照して、本実施形態に係る動作合成装置100について説明する。なお、本実施形態に係る動作合成装置100の構成は第1の実施形態に係る動作合成装置100と同様であるため説明を省略する。
図9は、パイプライン回路90を構成する段階回路61〜68を状態遷移制御部43がアクティブにする様子を模式的に示す図である。
図9に示す例では、パイプライン回路90は、論理的には、第1のパイプライン処理を実行する第1コンテキスト91と、第2のパイプライン処理を実行する第2コンテキスト92との2つのコンテキスト(M=2)から構成される。第1コンテキスト91は、パイプライン回路60に供給された処理データに演算を施して演算結果を示すデータを出力する1段目の段階回路である段階回路61と、段階回路61から供給されたデータに演算を施して演算結果を示すデータを出力する2段目の段階回路である段階回路62と、段階回路62から供給されたデータに演算を施して演算結果を示すデータを出力する3段目の段階回路である段階回路63と、段階回路63から供給されたデータに演算を施して演算結果を示すデータを結果データとして出力する4段目の段階回路である段階回路64と、の4(N=4)段の段階回路から構成される。
第2コンテキスト92は、パイプライン回路60に供給された処理データに演算を施して演算結果を示すデータを出力する1段目の段階回路である段階回路65と、段階回路65から供給されたデータに演算を施して演算結果を示すデータを出力する2段目の段階回路である段階回路66と、段階回路66から供給されたデータに演算を施して演算結果を示すデータを出力する3段目の段階回路である段階回路67と、段階回路67から供給されたデータに演算を施して演算結果を示すデータを結果データとして出力する4段目の段階回路である段階回路68と、の4(N=4)段の段階回路から構成される。
状態遷移制御部43は、パイプライン回路90が取りうる1〜7(2N−1=7)の段階状態基づいて生成した信号であって、段階回路61〜68のそれぞれをアクティブにするアクティブ信号ACT1〜4をパイプライン回路90に供給する。より詳細には、段階回路61、65をアクティブにするときにアクティブ信号ACT1を段階回路61、65に供給し、段階回路62、66をアクティブにするときにアクティブ信号ACT2を段階回路62、66に供給し、段階回路63、67をアクティブにするときにアクティブ信号ACT3を段階回路63、67に供給し、段階回路64、68をアクティブにするときにアクティブ信号ACT4を段階回路64、68に供給する。
また、パイプライン回路90は、コンテキストの切り換えを行ないながらパイプライン処理を実行する回路である。従って、状態遷移制御部43は、第1コンテキスト91をアクティブにするコンテキスト信号SC1と、第2コンテキスト92をアクティブにするコンテキスト信号SC2とのいずれかをパイプライン回路90に供給する。より詳細には、状態遷移制御部43は、第1のパイプライン処理を実行させるときは、コンテキスト信号SC1を第1コンテキスト91に供給し、第2のパイプライン処理を実行させるときは、コンテキスト信号SC2を第2コンテキスト92に供給する。
ここで、図10を参照して、状態遷移制御部43がアクティブ信号ACT1〜4及びコンテキスト信号SC1、2を生成する手法の一例を説明する。図10に示すように、状態遷移制御部43は、遷移信号生成部70と、ORゲート71〜76と、を備える。
遷移信号生成部70は、半導体集積回路がどの遷移状態にあるかを示す遷移信号ST1〜14を生成して出力する。図10に示す例では、遷移状態は1〜14の14個である。そして、コンテキストは2つであるため、2つの遷移状態が1つの段階状態に対応する。従って、段階状態は1〜7の7つである。遷移信号生成部70が、遷移状態に対応する遷移信号のみを出力し、他の遷移信号を全て出力しないことは第1の実施形態と同様である。
ORゲート71〜74は、遷移信号ST1〜14に基づいて、アクティブ信号ACT1〜4を生成して出力する。より詳細には、ORゲート71は、遷移信号ST1〜8のORをとる論理演算を実行して、演算結果をアクティブ信号ACT1として出力し、ORゲート72は、遷移信号ST3〜10のORをとる論理演算を実行して、演算結果をアクティブ信号ACT2として出力し、ORゲート73は、遷移信号ST5〜12のORをとる論理演算を実行して、演算結果をアクティブ信号ACT3として出力し、ORゲート74は、遷移信号ST7〜14のORをとる論理演算を実行して、演算結果をアクティブ信号ACT4として出力する。このように、状態遷移制御部43は、遷移状態に2対1で対応する段階状態に基づいて、アクティブ信号ACT1〜4を生成して出力する。
また、ORゲート75、76は、遷移信号ST1〜14に基づいて、コンテキスト信号SC1を生成して出力する。より詳細には、ORゲート75は、遷移信号ST1、3、5、7、9、11、13のORをとる論理演算を実行して、演算結果をコンテキスト信号SC1として出力し、ORゲート76は、遷移信号ST2、4、6、8、10、12、14のORをとる論理演算を実行して、演算結果をコンテキスト信号SC2として出力する。
一方、第1コンテキスト91は、コンテキスト信号SC1が供給されている間のみアクティブとなり、第2コンテキスト92は、コンテキスト信号SC2が供給されている間のみアクティブとなる。
従って、段階回路61〜68のそれぞれは、対応するコンテキストにコンテキスト信号が供給され、且つ、アクティブ信号が供給されている間はアクティブとなり、対応するコンテキストにコンテキスト信号が供給されていない間、若しくは、アクティブ信号が供給されていない間はアクティブとならない。
図11は、パイプライン回路90を構成する段階回路61〜68をどのような順序でアクティブにするかを模式的に示す図である。
図11に示す例では、段階状態が1の間は、段階回路61、65をアクティブに設定し、段階状態が2の間は、段階回路61、62、65、66をアクティブに設定し、段階状態が3の間は、段階回路61、62、63、65、66、67をアクティブに設定し、段階状態が4の間は、全ての段階回路61〜68をアクティブに設定し、段階状態が5の間は、段階回路62、63、64、66、67、68をアクティブに設定し、段階状態が6の間は、段階回路63、64、67、68をアクティブに設定し、段階状態が7の間は、段階回路64、68をアクティブに設定する。すなわち、エピローグ処理を実行する段階状態が1〜3の間、及び、プロローグ処理を実行する段階状態が5〜7の間は、いずれかの段階回路をアクティブにしない。そして、パイプライン処理を実行する段階状態が4の間は全ての段階回路をアクティブにする。
図12は、状態遷移制御部43が第1コンテキスト91と第2コンテキスト92との間でコンテキストを切り換える様子を模式的に示す図である。図12に示すように、状態遷移制御部43は、遷移状態に応じて、第1のパイプライン処理を実行する第1コンテキスト91と第2のパイプライン処理を実行する第2コンテキスト92との間でコンテキストを切り換える。
なお、各段階回路は、対応するコンテキストがアクティブにされ、且つ、段階信号が供給されている場合にアクティブとなる。つまり、各段階回路は、段階信号が供給されていても、対応するコンテキストがアクティブでなければアクティブとならない。
以上説明したように、本実施形態に係る動作合成装置100によれば、余分な回路を追加することなく、コンテキストを切り換えながら複数のパイプライン処理をほぼ並列して実行するパイプライン回路を生成することが期待できる。従って、本実施形態に係る動作合成装置100によれば、生成するパイプライン回路が、コンテキストを切り換えながら複数のパイプライン処理をほぼ並列して実行する場合であっても、第1の実施形態と同様の効果が得られる。
上記実施形態では、パイプライン回路をDRPで実現する動作合成装置について説明した。しかし、本発明は、パイプライン回路をFPGAなど他の再構成可能電子回路装置で実現する動作合成装置に適用することも可能である。
上記実施形態では、状態遷移制御部43は、遷移信号を生成する遷移信号生成部とORゲートを用いて、アクティブ信号を生成するものとして説明した。しかし、状態遷移制御部43がアクティブ信号を生成する手法はこれに限られない。
上記実施形態では、プログラムが、記憶装置に予め記憶されているものとして説明した。しかし、動作合成装置を、装置の全部又は一部として動作させ、あるいは、上述の処理を実行させるためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disk Read−Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto Optical Disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等してプログラムを実行してもよい。
上述のように、本発明によれば、高速なパイプライン回路を実現する動作レベル記述を生成するのに好適な動作合成装置、動作合成方法並びにプログラムを提供することができる。
第1、2の実施形態に係る動作合成装置の構成を示す図である。 第1、2の実施形態に係る動作合成装置の基本構成を示すブロック図である。 DRPの概要構成を示す図である。 PEの概要構成を示す図である。 第1、2の実施形態に係る動作合成装置が実行する動作合成処理の一例を示すフローチャートである。 パイプライン回路が1つのコンテキストから構成される場合に、状態遷移制御部が各段階回路をアクティブにする様子を模式的に示す図である。 パイプライン回路が1つのコンテキストから構成される場合に、状態遷移制御部がアクティブ信号を生成する手法の一例を説明するための図である。 パイプライン回路が1つのコンテキストから構成される場合に、各段階回路がどのような順序でアクティブになるのかを模式的に示す図である。 パイプライン回路が2つのコンテキストから構成される場合に、状態遷移制御部が各段階回路をアクティブにする様子を模式的に示す図である。 パイプライン回路が2つのコンテキストから構成される場合に、状態遷移制御部がアクティブ信号とコンテキスト信号とを生成する手法の一例を説明するための図である。 パイプライン回路が2つのコンテキストから構成される場合に、各段階回路がどのような順序でアクティブになるのかを模式的に示す図である。 状態遷移制御部が2つのコンテキストを切り換える様子を模式的に示す図である。
符号の説明
11 CPU
12 ROM
13 RAM
14 ハードディスク
15 入力装置
16 表示装置
17 通信装置
21 受付部
22 スケジュール部
23 生成部
30 PE
31 コンフィギュレーションメモリ
32 演算ユニット
33 レジスタ
34〜38 配線接続スイッチ
41 データ入力部
42 データ出力部
43 状態遷移制御部
60、90 パイプライン回路
61〜68 段階回路
70 遷移信号生成部
71〜76 ORゲート
91 第1コンテキスト
92 第2コンテキスト
100 動作合成装置
200 DRP

Claims (3)

  1. 半導体集積回路の動作を記述する動作レベル記述を受け付ける受付部、
    前記受け付けられた動作レベル記述を、N個の段階記述に分割し、当該N個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールするスケジュール部、
    当該N個の段階記述及び当該タイミングに基づいて、当該N個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる2N−1個の段階状態を制御する状態制御回路と、が形成されるように、当該半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル記述を生成する生成部、
    を備え、
    前記生成部は、
    整数i=1,2,…,N−1のそれぞれについて、i番目の段階回路の出力がi+1番目の段階回路の入力となり、
    当該状態制御回路は、当該半導体集積回路の段階状態を1番目の段階状態からN−1番目の段階状態まで順に更新し、その後N番目の段階状態をL回繰り返し、その後N+1番目の段階状態から2N−1番目の段階状態まで順に更新し、
    現在の段階状態がj番目の段階状態である場合、当該状態制御回路は、
    (a)jが1以上N未満であれば、
    1番目からj番目までの段階回路を動作させ、j+1番目からN番目までの段階回路を停止させ、
    (b)jがNに等しければ、
    1番目からN番目までの段階回路を動作させ、
    (c)jがNより大きければ、
    1番目からj−N番目までの段階回路を停止させ、j−N+1番目からN番目までの段階回路を動作させ
    当該2N−1個の段階状態のそれぞれを、M個の動作状態に分割し、
    現在の動作状態がk番目の動作状態である場合、当該状態制御回路は、当該半導体集積回路の構成、配置、配線をk番目のコンテキストに切り換える
    ように、当該レジスタ転送レベル記述を生成する
    ことを特徴とする動作合成装置。
  2. 受付部、スケジュール部、生成部を備える動作合成装置が実行する動作合成方法であって、
    前記受付部が、半導体集積回路の動作を記述する動作レベル記述を受け付ける受付ステップ、
    前記スケジュール部が、前記受け付けられた動作レベル記述を、N個の段階記述に分割し、当該N個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールするスケジュールステップ、
    前記生成部が、当該N個の段階記述及び当該タイミングに基づいて、当該N個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる2N−1個の段階状態を制御する状態制御回路と、が形成されるように、当該半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル記述を生成する生成ステップ、
    を備え、
    前記生成部は、
    整数i=1,2,…,N−1のそれぞれについて、i番目の段階回路の出力がi+1番目の段階回路の入力となり、
    当該状態制御回路は、当該半導体集積回路の段階状態を1番目の段階状態からN−1番目の段階状態まで順に更新し、その後N番目の段階状態をL回繰り返し、その後N+1番目の段階状態から2N−1番目の段階状態まで順に更新し、
    現在の段階状態がj番目の段階状態である場合、当該状態制御回路は、
    (a)jが1以上N未満であれば、
    1番目からj番目までの段階回路を動作させ、j+1番目からN番目までの段階回路を停止させ、
    (b)jがNに等しければ、
    1番目からN番目までの段階回路を動作させ、
    (c)jがNより大きければ、
    1番目からj−N番目までの段階回路を停止させ、j−N+1番目からN番目までの段階回路を動作させ
    当該2N−1個の段階状態のそれぞれを、M個の動作状態に分割し、
    現在の動作状態がk番目の動作状態である場合、当該状態制御回路は、当該半導体集積回路の構成、配置、配線をk番目のコンテキストに切り換える
    ように、当該レジスタ転送レベル記述を生成する
    ことを特徴とする動作合成方法。
  3. コンピュータを、
    半導体集積回路の動作を記述する動作レベル記述を受け付ける受付部、
    前記受け付けられた動作レベル記述を、N個の段階記述に分割し、当該N個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールするスケジュール部、
    当該N個の段階記述及び当該タイミングに基づいて、当該N個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる2N−1個の段階状態を制御する状態制御回路と、が形成されるように、当該半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル記述を生成する生成部、
    として機能させるためのプログラムであって、
    前記生成部は、
    整数i=1,2,…,N−1のそれぞれについて、i番目の段階回路の出力がi+1番目の段階回路の入力となり、
    当該状態制御回路は、当該半導体集積回路の段階状態を1番目の段階状態からN−1番目の段階状態まで順に更新し、その後N番目の段階状態をL回繰り返し、その後N+1番目の段階状態から2N−1番目の段階状態まで順に更新し、
    現在の段階状態がj番目の段階状態である場合、当該状態制御回路は、
    (a)jが1以上N未満であれば、
    1番目からj番目までの段階回路を動作させ、j+1番目からN番目までの段階回路を停止させ、
    (b)jがNに等しければ、
    1番目からN番目までの段階回路を動作させ、
    (c)jがNより大きければ、
    1番目からj−N番目までの段階回路を停止させ、j−N+1番目からN番目までの段階回路を動作させ
    当該2N−1個の段階状態のそれぞれを、M個の動作状態に分割し、
    現在の動作状態がk番目の動作状態である場合、当該状態制御回路は、当該半導体集積回路の構成、配置、配線をk番目のコンテキストに切り換える
    ように、当該レジスタ転送レベル記述を生成する
    ことを特徴とするプログラム。
JP2008255207A 2008-09-30 2008-09-30 動作合成装置、動作合成方法並びにプログラム Expired - Fee Related JP5169697B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008255207A JP5169697B2 (ja) 2008-09-30 2008-09-30 動作合成装置、動作合成方法並びにプログラム
US12/569,043 US8176451B2 (en) 2008-09-30 2009-09-29 Behavioral synthesis apparatus, behavioral synthesis method, and computer readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008255207A JP5169697B2 (ja) 2008-09-30 2008-09-30 動作合成装置、動作合成方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2010086310A JP2010086310A (ja) 2010-04-15
JP5169697B2 true JP5169697B2 (ja) 2013-03-27

Family

ID=42059055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008255207A Expired - Fee Related JP5169697B2 (ja) 2008-09-30 2008-09-30 動作合成装置、動作合成方法並びにプログラム

Country Status (2)

Country Link
US (1) US8176451B2 (ja)
JP (1) JP5169697B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012198633A (ja) * 2011-03-18 2012-10-18 Fujitsu Ltd 動作合成方法,装置およびプログラム
JP6305663B2 (ja) * 2015-12-10 2018-04-04 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226776B1 (en) * 1997-09-16 2001-05-01 Synetry Corporation System for converting hardware designs in high-level programming language to hardware implementations
JP3921367B2 (ja) * 2001-09-26 2007-05-30 日本電気株式会社 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
JP4204039B2 (ja) * 2003-04-24 2009-01-07 シャープ株式会社 動作合成システム、動作合成方法、制御プログラム、可読記録媒体、論理回路の製造方法および論理回路

Also Published As

Publication number Publication date
US8176451B2 (en) 2012-05-08
JP2010086310A (ja) 2010-04-15
US20100083209A1 (en) 2010-04-01

Similar Documents

Publication Publication Date Title
Ansaloni et al. EGRA: A coarse grained reconfigurable architectural template
Hauck et al. Reconfigurable computing: the theory and practice of FPGA-based computation
US8473880B1 (en) Synchronization of parallel memory accesses in a dataflow circuit
US6988192B2 (en) Method and apparatus for compiling source code to configure hardware
JP3921367B2 (ja) データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
EP2490141B1 (en) Method of, and apparatus for, stream scheduling in a parallel pipelined stream processor
JP4988758B2 (ja) マルチサイクル・クロック・ゲーティングのための方法および装置
US20120144160A1 (en) Multiple-cycle programmable processor
JP2002503839A (ja) プログラマブルハードウェアアーキテクチャを用いた特定用途向け集積回路を生成する方法
EP3356966B1 (en) Interactive multi-step physical synthesis
TW544603B (en) Designer configurable multi-processor system
JP2007034887A (ja) ハイレベル合成コンパイラ用のシフトレジスタファイルを自動生成するための方法および装置
US10445445B2 (en) Sliding time window control mechanism for parallel execution of multiple processor core models in a virtual platform simulation
JP5169697B2 (ja) 動作合成装置、動作合成方法並びにプログラム
JP4753895B2 (ja) 遅延調整回路を有するアレイ型プロセッサ
JP2005078309A (ja) データ処理システム
JP2003527711A (ja) データ処理装置、データ処理装置を動作させる方法及びプログラムをコンパイルする方法
Berekovic et al. A core generator for fully synthesizable and highly parameterizable RISC-cores for system-on-chip designs
Takahashi et al. Power-conscious design of the cell processor's synergistic processor element
JP4787711B2 (ja) データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並びにデータ処理システム
Lysaght et al. Configuration controller synthesis for dynamically reconfigurable systems
JP2011108164A (ja) 動作合成システム及び動作合成方法並びに動作合成プログラム
Zavala et al. RISC-based architecture for computer hardware introduction
JP3989397B2 (ja) 集積回路装置およびその装置に対するデータ設定装置
Moraes et al. Dynamic and partial reconfiguration in FPGA SoCs: requirements tools and a case study

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120911

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121217

R150 Certificate of patent or registration of utility model

Ref document number: 5169697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees