JPWO2009063596A1 - 再構成可能回路、リセット方法、及び構成情報生成装置 - Google Patents

再構成可能回路、リセット方法、及び構成情報生成装置 Download PDF

Info

Publication number
JPWO2009063596A1
JPWO2009063596A1 JP2009541027A JP2009541027A JPWO2009063596A1 JP WO2009063596 A1 JPWO2009063596 A1 JP WO2009063596A1 JP 2009541027 A JP2009541027 A JP 2009541027A JP 2009541027 A JP2009541027 A JP 2009541027A JP WO2009063596 A1 JPWO2009063596 A1 JP WO2009063596A1
Authority
JP
Japan
Prior art keywords
reset
configuration information
unit
flag
configuration
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.)
Withdrawn
Application number
JP2009541027A
Other languages
English (en)
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2009063596A1 publication Critical patent/JPWO2009063596A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17772Structural details of configuration resources for powering on or off
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17756Structural details of configuration resources for partial configuration or partial reconfiguration
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories

Abstract

本発明は、複数の再構成セルを含み、各再構成セルに含まれる演算処理部の構成を変更する再構成可能回路であって、前記各再構成セルは、前記演算処理部による演算結果を保持する演算記憶部と、前記演算記憶部のリセットの要否を示すリセットフラグを保持しているフラグ保持部と、前記演算処理部の構成変更時に、前記フラグ保持部に保持されているフラグを用いて、前記演算記憶部のリセットを制御するリセット制御部とを備えることを特徴とする。

Description

本発明は、再構成可能回路に関し、特に、再構成可能回路内で演算結果を保持するレジスタのリセットを制御する技術に関する。
従来では複数個のLSIで実現していたシステムを、近年では1チップに集約するSoC(System on A Chip)と呼ばれるLSIが多数開発されている。
SoCでは、多数の機能を一つのLSI上に実装するが、必要な全ての機能を搭載しようとすれば、回路面積が大きくなる。また、ユースケースによって使用する機能の組み合わせが決まっており、LSI上で休止中のブロックが存在すれば、実装面積の非効率という問題がある。上記問題を解決すべくハードウェア的な柔軟性をもつ再構成可能回路が開発されている。
再構成可能回路では、各再構成セルの内部のレジスタに演算結果である中間データを保持しているが、構成変更時にレジスタが初期化されるため、構成変更後に前の演算結果を再利用することができない。
特許文献1は、再構成セルの外部にデータキャッシュ部を設け、データキャッシュ部に演算結果を退避させておくことにより、構成変更後においても、前の演算結果を再利用することができる発明を開示している。
具体的には、特許文献1は、ブロック単位で画像を処理する場合に、データキャッシュ部に複数のブロックの中間データを退避させておき、効率的に画像処理を行うことができる発明を開示している。
特開2001−202236号公報
しかしながら、特許文献1の技術は、データの退避のためのデータキャッシュ部が必須であることからコスト高の問題が生じる。
さらには、特許文献1の技術は、画像処理のように複数のブロックデータに対して同一の処理を行う場合には有効であると考えられるが、小規模の再構成セルを用いて短い時間で再構成を繰り返す処理で用いれば、データの退避及びデータの復帰によるオーバーヘッドが大きくなり、処理性能が低下するという問題がある。
本発明は、上記の問題点に鑑みなされたものであって、データキャッシュ部を設けることなく、前の再構成可能回路で処理した中間データを、次の回路でも使用することができる再構成可能回路、再構成可能回路のリセット方法、及び、再構成可能回路で用いられる構成情報を生成する構成情報生成装置を提供することを目的とする。
上記の目的を達成するために、本発明の一実施形態である再構成可能回路は、複数の再構成セルを含み、各再構成セルに含まれる演算処理部の構成を変更する再構成可能回路であって、前記各再構成セルは、前記演算処理部による演算結果を保持する演算記憶部と、前記演算記憶部のリセットの要否を示すリセットフラグを保持しているフラグ保持部と、前記演算処理部の構成変更時に、前記フラグ保持部に保持されているリセットフラグを用いて、前記演算記憶部のリセットを制御するリセット制御部とを備えることを特徴とする。
上記の構成を有することにより、従来必要とされていた中間データ退避用のバッファメモリを必要とせずに、前の回路で生成された演算結果を次の回路で利用することができる。
また、上記の構成を有することにより、再構成可能回路に含まれる再構成セル毎に、演算内容に応じて、選択的に演算記憶部をリセットすることができるので、ユースケースに即した効率的な処理を実現できる。
再構成可能回路1の構成を示す図である。 再構成セル11の構成を機能的に示す図である。 構成情報記憶部102の構成を機能的に示す図である。 リセット制御部104の構成を機能的に示す図である。 再構成セル11の動作を示すフローチャートである。 (a)再構成セル11が行う処理の具体例を説明するための図である。(b)再構成セル11に入力される構成情報120のデータ構成を示す図である。 (a)再構成セル11の構成を模式的に示す図である。(b)リセット制御の具体例を説明するための図である。 回路構成情報の生成処理の動作を示すフローチャートである。 回路構成情報の生成処理において、ユーザからリセットフラグの設定を受け付けるためのGUI画像を示す図である。 本発明の変形例に係る再構成セル11aの構成を機能的に示す図である。 本発明の変形例に係るリセット制御部104aの構成を機能的に示す図である。 本発明の変形例に係るリセット制御を説明するための図である。 本発明の変形例に係るリセット制御を説明するための図である。 本発明の再構成可能回路をBlu−rayレコーダシステムで用いる場合の例を示す図である。 本発明の再構成可能回路の応用例を示す図である。
符号の説明
1 再構成可能回路
10 構成制御部
11 再構成セル
11a 再構成セル
12 再構成セル
101 演算処理部
102 構成情報記憶部
103 配線部
104 リセット制御部
104a リセット制御部
105 演算記憶部
1021 演算構成情報保持部
1022 配線構成情報保持部
1023 リセットフラグ保持部
1041 リセット生成部
1042 リセット保護部
請求項1に記載の態様である再構成可能回路は、複数の再構成セルを含み、各再構成セルに含まれる演算処理部の構成を変更する再構成可能回路であって、前記各再構成セルは、前記演算処理部による演算結果を保持する演算記憶部と、前記演算記憶部のリセットの要否を示すリセットフラグを保持しているフラグ保持部と、前記演算処理部の構成変更時に、前記フラグ保持部に保持されているリセットフラグを用いて、前記演算記憶部のリセットを制御するリセット制御部とを備えることを特徴とする。
請求項2に記載の態様である再構成可能回路において、前記リセット制御部は、前記リセットフラグが、リセットが必要である旨を示す場合に前記演算記憶部をリセットし、リセットが不要である旨を示す場合に前記演算記憶部をリセットしないように制御することを特徴とする。
この構成によると、再構成セル毎にリセットの要否を示すリセットフラグを用いて、演算記憶部をリセットしたり、リセットから保護したりすることができる。
ここで、リセットが不要である旨を示すリセットフラグが保持されている場合には、演算記憶部に保持されている演算結果を、外部バッファに退避させることなく、次の回路でも利用することができる。
請求項3に記載に態様である再構成可能回路において、前記各再構成セルは、前記演算処理部の構成を変更するための構成情報と前記リセットフラグとを対応付けて取得する取得手段と、前記取得手段が取得した前記構成情報を保持する構成情報保持部とを備え、前記フラグ保持部は、前記取得手段が取得した前記リセットフラグを保持し、前記リセット制御部は、前記構成情報に基づいて前記演算処理部の構成が変更される時に、前記リセットフラグを用いて前記演算記憶部のリセット制御を行うことを特徴とする。
ここで、前記取得手段は、後述する実施形態では、構成情報記憶部102によって実現される。
この構成によると、リセット制御部は、リセットフラグとセットで取得された構成情報を用いて構成される回路による演算処理の前に、演算記憶部のリセット制御を行うので、前記リセットフラグが、リセットが不要である旨を示す場合には、演算処理部は、前の回路で算出された演算結果を、当該構成情報を用いて構成される回路で利用することができる。
請求項4に記載の態様である再構成可能回路において、前記取得手段は、さらに、前記演算処理部の構成をさらに変更するための、前記構成情報とは異なる他の構成情報を取得し、前記リセット制御部は、前記取得手段が取得した前記他の構成情報に基づいて前記演算処理部の構成が変更される時に、前記リセットフラグを用いて前記演算記憶部のリセット制御を行うことを特徴とする。
この構成によると、リセット制御部は、リセットフラグとセットで取得された構成情報を用いて構成される回路による演算結果が演算記憶部に保持されている状態において、次の構成情報を用いて演算記憶部が再構成される前に、前記リセットフラグを用いたリセット制御を行うので、前記リセットフラグが、リセットが不要である旨を示す場合には、演算処理部は、当該構成情報を用いて構成された回路で算出された演算結果を、次の構成情報を用いて構成される回路で利用することができる。
請求項5に記載の態様である再構成可能回路において、前記各再構成セルは、前記演算記憶部をリセットから保護する保護モード、及び、リセットから保護しない通常モードの何れかの状態にあり、前記リセットフラグは、前記各再構成セルの状態を通常モードから保護モードへ遷移させるための保護設定フラグ、及び、前記再構成セルの状態を保護モードから通常モードへ遷移させるための保護解除フラグの何れかに設定されており、前記リセット制御部は、再構成セルが通常モードの状態にある場合、並びに、再構成セルが保護モードの状態にあり、且つ、前記リセットフラグが保護解除フラグに設定されている場合に、前記構成情報に基づいて前記演算処理部の構成が変更される時に、前記演算記憶部をリセットし、再構成セルが保護モードの状態にあり、且つ、前記リセットフラグが保護解除フラグに設定されていない場合に、前記構成情報に基づいて前記演算処理部の構成が変更される時に、前記演算記憶部をリセットしないように制御することを特徴とする。
この構成によると、各再構成セルは、リセットフラグを用いてモードを遷移させ、モードに応じてリセットの保護/非保護を決定する。そのため、保護設定フラグを含まない構成情報で回路が構成されるときであっても、保護モードであれば、演算記憶部をリセットから保護することができる。
請求項6に記載の態様である再構成可能回路において、前記構成情報保持部は、前記演算処理部の構成変更を指示する構成変更信号を検出すると、前記演算処理部に対して構成情報を出力し、前記演算処理部は、前記構成情報保持部から受け取る前記構成情報を用いて内部を再構成し、前記リセット制御部は、前記構成変更信号を検出すると、前記再構成処理部による再構成処理と並行して、前記演算記憶部のリセット制御を行うことを特徴とする。
例えば、クロック用のグローバル配線を用いて、各再構成セルにリセット信号を入力する場合、構成切替時には、構成切替信号のための1クロックと、リセット信号のための1クロックとが必要である。そして、数クロックで構成を変更しながら処理を行うアプリケーションを実行する場合を考えると、構成切替信号に1クロック、リセット信号に1クロックを要すると、リセット時間が、オーバーヘッドとして大きくなってしまう。
しかし、上記の構成によると、再構成処理とリセット制御とを並列処理するため、リセット時間を再構成時間内に隠蔽することができ、リセット制御によるオーバーヘッドを解消することができる。
請求項7に記載の態様である再構成可能回路において、前記リセット制御部は、前記構成変更信号を検出すると、リセット信号を生成するリセット生成部と、前記リセット生成部により生成された前記リセット信号を受け取ると、前記フラグ保持部に保持されている前記リセットフラグを用いて、前記リセット信号を前記演算記憶部に出力するか否かを判断し、前記リセット信号を出力すると判断する場合にのみ、前記リセット信号を前記演算記憶部に出力し、前記リセット信号を出力しないと判断する場合には、前記リセット信号を前記演算記憶部に出力しないリセット保護部とを備え、前記演算記憶部は、前記リセット保護部から前記リセット信号を受け取った場合にのみ、内部をリセットすることを特徴とする。
上記の構成では、再構成セル毎にローカル配線を用いてリセット制御を行う。そのため、外部から各再構成セルにリセット信号を入力するためのグローバル配線は不要である。
請求項8に記載の態様である構成情報生成装置は、複数の再構成セルを含み、各再構成セルに含まれる演算処理部の構成を変更する再構成可能回路で用いられる構成情報を生成する構成情報生成装置であって、前記各再構成セルは、前記演算処理部による演算結果を保持する演算記憶部を備え、前記構成情報生成装置は、前記構成情報を生成する過程において、前記各再構成セルの構成変更時にリセットする演算記憶部の選択を、ユーザから受け付けることを特徴とする。
ここで、前記構成情報生成装置は、後述する実施形態では、コンパイラを実行するコンパイル装置によって実現される。
この構成によると、再構成可能回路を用いて実行される様々なコンピュータプログラムを作成する際に、再構成セル毎に、リセットの要否をユーザが設定することが可能となる。
請求項9に記載の態様である構成情報生成装置は、前記演算処理部の構成を変更するための情報である演算構成情報のソースコードの入力を受け付けるソースコード入力手段と、前記ソースコードの構文を解析する解析手段と、前記解析手段が演算記憶部を示す所定の構文を検出すると、構成変更時に前記演算記憶部をリセットするか否かを示すリセットフラグの設定をユーザから受け付けるためのGUI画像を出力する出力手段と、ユーザの操作により、リセットフラグの設定を受け付けるユーザ入力手段とを備えることを特徴とする。
この構成によると、ユーザはGUI画像を用いることで、簡便な操作でリセットフラグを設定することができる。
請求項10に記載の態様である構成情報生成装置は、さらに、前記演算構成情報とユーザにより指定された前記リセットフラグとを含む構成情報を生成する構成情報生成手段を含むことを特徴とする。
この構成によると、ユーザが設定したリセットフラグを含む構成情報を生成することができる。
以下、本発明の一実施形態である再構成可能回路1について、図面を参照して説明する。
<構成>
図1は、再構成可能回路1を示す図である。
同図に示すように、再構成可能回路1は、構成制御部10、及び、マトリックス状に配置された複数個の再構成セル11、12、13、・・・から構成される。
1.構成制御部10
構成制御部10は、再構成可能回路1の外部に接続された外部メモリから、回路構成情報の入力を受け付ける。回路構成情報は、再構成セル11、12、13、・・・を用いて所望の回路を構成するために各再構成セルの演算内容及び配線を決定するための構成情報を含む。
構成制御部10は、再構成可能回路1に含まれる全ての再構成セルと接続されており、各再構成セルへ、対応する構成情報を出力する。また、構成制御部10は、各再構成セルへ、回路の変更を指示する構成切替信号を出力する。
2.再構成セル
図1に記載した複数個の再構成セルのそれぞれは、組み合わせ回路、順序回路、フリップフロップ等から構成され、入力される構成情報に従い演算内容を変更しながら処理を行う。
図2は、再構成セル11の内部構成を機能的に示す機能ブロック図である。なお、再構成セル11以外の他の再構成セル12、13、・・・は、再構成セル11と同様の構成を有するため説明を省略する。
図2に示すように、再構成セル11は、演算処理部101、構成情報記憶部102、配線部103、リセット制御部104、及び演算記憶部105から構成される。以下では、再構成セル11の各構成要素について説明する。
(1)演算処理部101
演算処理部101は、ALU(Arithmetic Logic Unit)及びLUT(Look Up Table)等から構成され、構成情報記憶部102から受け取る演算構成情報、演算記憶部105内の演算結果、及び他の再構成セルから受け取る演算結果等を入力として、算術演算及び論理演算を行う。
演算処理部101は、構成切替信号に基づき、構成情報記憶部102から演算構成情報を受け取ると、受け取った演算構成情報に基づいてLUTの設定値を変更することにより、回路の再構成を行う。
なお、演算処理部101は、具体的には小規模なSRAMで構成される。
(2)構成情報記憶部102
図3は、構成情報記憶部102の内部構成を示す図である。
同図に示すように、構成情報記憶部102は、演算構成情報保持部1021、配線構成情報保持部1022、及びリセットフラグ保持部1023を含み、これらの各構成要素は、複数のフリップフロップから成るレジスタで構成されている。
構成情報記憶部102は、構成制御部10から構成情報の入力を受け付けることにより、構成情報を取得する。構成情報は、演算処理部101にて所望の演算を実現するための情報であって、演算構成情報、配線構成情報、及びリセットフラグから構成される。
構成情報記憶部102は、構成制御部10から受け取る構成情報に含まれる演算構成情報を演算構成情報保持部1021に保持し、配線構成情報を、配線構成情報保持部1022に保持し、リセットフラグを、リセットフラグ保持部1023に保持する。
続いて、構成情報に含まれる各情報について説明する。
演算構成情報は、演算処理部101が行う演算内容を決定するための情報であり、先に述べたようにLUTの設定値などを含む。
配線構成情報は、配線部103の接続を決定するための情報であり、具体的には配線部103に含まれる複数個のトランジスタスイッチのオン又はオフを示す情報である。
リセットフラグは、演算記憶部105のリセットを制御するための情報であって、具体的には、保護設定フラグ及び保護解除フラグの2種類がある。
後述するリセット保護部1042は、演算記憶部105をリセットから保護する保護モードと、リセットから保護しない通常モードとの何れかの状態にある。保護設定フラグは、リセット保護部1042の状態を、通常モードから保護モードへ遷移させるためのフラグであり、保護解除モードは、リセット保護部1042の状態を、保護モードから通常モードへ遷移させるためのフラグである。
リセット保護部1042の状態が保護モードのとき、演算記憶部105内のデータは、回路の再構成時にリセットから保護されるので、演算処理部101は、前の演算で生成された演算結果を次の演算でも使用することができる。
一方、リセット保護部1042の状態が通常モードのとき、演算記憶部105内のデータは、回路の再構成時にリセットされるので、演算処理部101は、前の演算で生成された演算結果を次の演算で使用することはできない。
再構成セル11は、構成情報に基づき回路の構成を変更しながら一連の処理を行うが、構成情報に含まれるリセットフラグを用いて、リセット保護部1042の状態(モード)を変更しながら演算記憶部105のリセット制御を行う。このようにして、再構成セル11は、一連の処理において、演算記憶部105に保持されている演算結果を有効に利用し、処理の効率化を図ることができる。
なお、構成情報記憶部102が構成制御部10から受け取る構成情報に、演算構成情報及び配線構成情報のみが含まれ、保護設定フラグ及び保護解除フラグの何れも含まれていない場合には、リセット保護部1042は、現在の状態を維持し、そのときの状態に応じて、演算記憶部105のリセットを制御する。
ここで、実装レベルの具体例として、構成情報に含まれるリセットフラグを2ビットのデータで表してもよい。この場合、例えば、保護設定フラグを「01」とし、保護解除フラグを「10」とし、保護設定フラグ及び保護解除フラグの何れでもない場合を「00」としてもよい。
(3)配線部103
配線部103は、演算処理部101及び演算記憶部105を、他の再構成セルと接続することができる。具体的には、配線部103は、各再構成セルを接続している配線の端子であり、複数のトランジスタスイッチで構成される。各トランジスタスイッチは、構成情報記憶部102から受け取る配線構成情報に基づいて、オン及びオフの何れかに設定される。
また、配線部103は、構成切替信号に基づき、構成情報記憶部102から配線構成情報を受け取ると、受け取った配線構成情報に基づいて各トランジスタスイッチのオン及びオフの設定を変更することにより、接続先を変更することができる。
(4)リセット制御部104
図4は、リセット制御部104の内部構成を示す図である。同図に示すように、リセット制御部104は、リセット生成部1041及びリセット保護部1042から構成される。
リセット生成部1041は、回路の再構成時を検出する機能を備え、再構成時を検出すると、リセット信号を生成する。リセット生成部1041は、生成したリセット信号をリセット保護部1042へ出力する。
なお、本実施形態では、グローバル配線を用いて、構成制御部10から各再構成セルへ回路の再構成を指示する構成切替信号が入力されるので、リセット生成部1041は、構成切替信号を検出すると、リセット信号を生成する。
リセット保護部1042は、通常モード及び保護モードの何れかの状態を保持している。
リセット保護部1042は、通常モードのときに、リセット生成部1041によって生成されたリセット信号を受け取ると、リセット信号を演算記憶部105に出力する。
また、リセット保護部1042は、保護モードのときに、リセット信号をマスクする機能を備え、リセット信号をマスクすることにより、演算記憶部105をリセットから保護することができる。
再構成セル11が処理を行っていない初期状態では、リセット保護部1042は通常モードである。そして、再構成セル11が保護設定フラグを含む構成情報に基づき処理を行った後に、リセット保護部1042は、通常モードから保護モードへ遷移する。その後、リセット保護部1042は、再構成セル11が保護解除フラグを含む構成情報に基づき回路を再構成するまで、保護モードを維持する。
(5)演算記憶部105
演算記憶部105は、演算処理部101による演算結果を保持するレジスタを含む。
演算記憶部105は、リセット保護部1042からリセット信号を受け取ると、レジスタをリセットする。
先に述べたように、回路の再構成時に演算記憶部105のレジスタがリセットされると、前の回路による演算で生成された演算結果を、次に構成された回路による演算で利用することができるが、回路の再構成時にレジスタがリセットされなければ、前の回路による演算で生成された演算結果を、次に構成された回路による演算で利用することができない。
<動作>
図5は、再構成セル11の動作を示すフローチャートである。
再構成可能回路1は複数の再構成セルから構成されるので、再構成可能回路1全体では、各再構成セルによって、図5に示す動作が並列処理される。
再構成セル11は、構成情報記憶部102に構成情報が入力されると、処理を開始する。
構成変更信号を検出しない場合(ステップS1でN)、再構成セル11は、処理を終了する。構成変更信号を検出する場合(ステップS1でY)、再構成セル11は、ステップS2の処理とステップS3からステップS9までの処理とを並列に行う。
ステップS1で構成変更信号を検出した構成情報記憶部102は、演算構成情報保持部1021に保持されている演算構成情報を演算処理部101へ出力し、配線構成情報保持部1022に保持されている配線構成情報を配線部103へ出力する。
演算処理部101は、受け取った演算構成情報に基づき回路の再構成を行い、配線部103は、受け取った配線構成情報に基づきトランジスタスイッチのオン及びオフの設定を行う(ステップS2)。
ステップS1で構成変更信号を検出したリセット生成部1041は、リセット信号を生成し、リセット保護部1042へ出力する。
リセット保護部1042は、リセット信号を受け取ると、現在のモードが保護モードであるのか、通常モードであるのか判断する。
通常モードの場合(ステップS3でN)、ステップS6へ進む。
保護モードの場合(ステップS3でY)、リセット保護部1042は、リセットフラグ保持部1023に保護解除フラグが保持されているか否か判断する。なお、リセットフラグ保持部1023に、2種類のリセットフラグが保持されている場合(後述する図6(b)の構成情報Aのように、2種類のリセットフラグA1及びA2が含まれる場合)は、ここでは、先頭のリセットフラグ(図6(b)のリセットフラグA1)が保護解除フラグであるか否かを判断する。
保護解除フラグが保持されている場合(ステップS4でY)、リセット保護部1042は、モードを保護モードから通常モードに変更して(ステップS5)、ステップS6へ進む。
保護解除フラグが保持されていない場合(ステップS4でN)、リセット保護部1042は、ステップS8へ進む。
リセット保護部1042の状態が通常モードのとき、リセット保護部1042は、リセット信号を演算記憶部105へ出力する。リセット信号を受け付けた演算記憶部105は、内部のレジスタをリセットする(ステップS6)。
次に、リセット保護部1042は、リセットフラグ保持部1023に保護設定フラグが保持されているか否か判断する。なお、リセットフラグ保持部1023に、2種類のリセットフラグが保持されている場合(後述する図6(b)の構成情報Aのように、2種類のリセットフラグA1及びリセットフラグA2が含まれる場合)は、ここでは、先頭のリセットフラグに後続するリセットフラグ(図6(b)のリセットフラグA2)が保護設定フラグであるか否かを判断する。
保護設定フラグが保持されている場合(ステップS7でY)、モードを保護モードに変更し、既に保護モードの場合は、そのまま保護モードを維持する(ステップS8)。
保護設定フラグが保持されていない場合(ステップS7でN)、モードを通常モードに変更し、既に通常モードの場合は、そのまま通常モードを維持する(ステップS9)。
ステップS2の再構成とステップS3からステップS9までのリセット制御とが終了すると、演算処理部101は、演算処理を行う(ステップS10)。
その後、再構成セル11は、ステップS1に戻り、処理を継続する。
<具体例>
ここでは、図6(a)に示すように、再構成セル11が、入力データA及び入力データBに対して、1クロック毎に構成を変更しながら3クロックで、加算処理、乗算処理及び減算処理の順序で処理を行う場合を考える。
ここで、2クロック目の乗算処理及び3クロック目の減算処理は、それぞれ前の処理の演算結果を使用して処理を行う。
なお、以下では、図6(a)に示す加算処理、乗算処理及び減算処理を行う回路を、それぞれ、回路A、回路B、及び回路Cと呼称する。
図6(a)に示した一連の処理を行うため、構成情報記憶部102には、図6(b)に示す構成情報A(121)、構成情報B(122)、及び構成情報C(123)が入力される。
構成情報Aは、回路Aを構成するための情報であり、構成情報Bは、回路Bを構成するための情報であり、構成情報Cは、回路Cを構成するための情報である。
構成情報A(121)は、リセットフラグA1(10)、リセットフラグA2(01)、演算構成情報A、及び配線構成情報Aから構成される。リセットフラグA1及びA2は、回路Aを構成するときに演算記憶部105のリセットを制御するための情報である。
構成情報B(122)は、リセットフラグB(00)、演算構成情報B、及び配線構成情報Bから構成される。リセットフラグBは、回路Bを構成するときに演算記憶部105のリセットを制御するための情報である。
構成情報C(123)は、リセットフラグC(00)、演算構成情報C、及び配線構成情報Cから構成される。リセットフラグCは、回路Cを構成するときに演算記憶部105のリセットを制御するための情報である。
なお、ここでは、保護設定フラグを「01」と表し、保護解除フラグを「10」と表している。また、構成情報に保護設定フラグ及び保護解除フラグの何れでもない場合を「00」と表している。したがって、リセットフラグA1は、保護解除フラグであり、リセットフラグA2は、保護設定フラグであり、リセットフラグB及びCは、何れでもない。
続いて、図7を用いて、再構成セル11における、モード、リセットフラグ、及びリセット制御について説明する。
図7(a)は、再構成セル11の構成要素を模式的に表している。
図7(b)は、再構成セル11で構成される回路とモードの時間的変化、リセットフラグ、及びリセット制御について説明するための図である。
先ず、構成変更信号を検出すると、再構成セル11は、構成情報A(121)に基づく処理を開始する。
図6(b)に示したように、構成情報A(121)に含まれるリセットフラグA1は、保護解除フラグであるから、加算処理→乗算処理→減算処理の一連の処理の開始前である時刻T1において、再構成セル11は、通常モードに設定される。以後、保護設定フラグが出るまで、再構成セル11は、通常モードを維持する。
時刻T1において、再構成セル11が通常モードに設定されるのは、回路Aによる演算の前に、演算記憶部105をリセットするためである。
なお、処理開始前のモードが通常モードであるなら、保護解除フラグが無くても回路Aを構成するときに演算記憶部105は当然にリセットされる(図5のフローチャートのステップS3及びステップS5参照)。したがって、ここに設定されているリセットフラグA1(保護解除フラグ)は、処理開始前のモードが保護モードの場合であっても、演算記憶部105をリセットしてから処理を開始できるようにするためである。
いま、再構成セル11は通常モードであるから、時刻T1の後に、演算記憶部105はリセットされる。
続いて、構成情報A(121)には、保護設定フラグであるリセットフラグA2が含まれることから、演算記憶部105のリセットの後、時刻T2において再構成セル11は保護モードに設定される(図5のフローチャートのステップS7及びステップS8参照)。以後、保護解除フラグが出るまで、再構成セル11は保護モードを維持する。
リセット制御と並行して、演算処理部101及び配線部103では、それぞれ、構成情報A(121)に含まれる演算構成情報A及び配線構成情報Aに基づき回路Aを構成する。そして、再構成セル11は、時刻T2以降に、回路Aによる加算処理を行う。加算処理の結果であるA+Bの値は、演算記憶部105に保持される。
次に、構成変更信号を検出すると、再構成セル11は、構成情報B(122)に基づく処理を開始する。
図6(b)に示したように、構成情報B(122)に含まれるリセットフラグBは、保護解除フラグではないから、再構成セル11は、このまま保護モードを維持する。したがって、時刻T3において演算記憶部105はリセットされない。
リセット制御と並行して、演算処理部101及び配線部103では、それぞれ、構成情報B(122)に含まれる演算構成情報B及び配線構成情報Bに基づき回路Bを構成する。そして、再構成セル11は、時刻T3以降に、演算記憶部105に保持されているA+Bの値を用いて、回路Bによる乗算処理を行う。乗算処理の結果である(A+B)×Bの値は、演算記憶部105に保持される。
次に、構成変更信号を検出すると、再構成セル11は、構成情報C(123)に基づく処理を開始する。
図6(b)に示したように、構成情報C(123)に含まれるリセットフラグCは、保護解除フラグではないから、再構成セル11は、このまま保護モードを維持する。したがって、時刻T4において演算記憶部105はリセットされない。
リセット制御と並行して、演算処理部101及び配線部103では、それぞれ、構成情報C(123)に含まれる演算構成情報C及び配線構成情報Cに基づき回路Cを構成する。そして、再構成セル11は、時刻T4以降に、演算記憶部105に保持されている(A+B)×Bの値を用いて、回路Cによる減算処理を行う。減算処理の結果である((A+B)×B)−Bの値は、演算記憶部105に保持され、その後、他の再構成セルや外部端子へ出力される。
<回路構成情報の生成>
再構成可能回路1で用いられる構成情報を作成する過程において、ユーザは、EDA(Electronic Design Automation)ツールを用いて、構成情報に含まれるリセットフラグの設定を行うことができる。以下では、EDAツールを用いたリセットフラグの設定について説明する。
図8は、再構成可能回路1で用いられる回路構成情報の生成処理の動作を示すフローチャートである。ここに示す動作は、図示していないコンパイル装置がコンパイラを実行することにより実現される。
先ず、コンパイル装置にソースコードが入力される(ステップS11)。ここで入力されるソースコードは、HDL(Hardware Description Language)で記述されており、再構成可能回路1の各再構成セルで用いられる演算構成情報及び配線構成情報が記述されている。
コンパイル装置は、always文を検索する。always文が検出されなければ(ステップS12でN)、ステップS17に進む。
always文が検出されると(ステップS12でY)、コンパイル装置は、always文に続くライン毎にレジスタ記述(ここでは、一例としてReg_delay_sel)を検索する。レジスタ記述が検出されなければ(ステップS13でN)、ステップS17に進む。
レジスタ記述が検出されると(ステップS13でY)、コンパイル装置は、ソースコードにリセットフラグ設定のためのGUI画像を付加した画面を、コンパイル装置と接続されているディスプレイに出力する(ステップS14)。
続いて、コンパイル装置は、ユーザ入力を受け付ける(ステップS15)。例えば、ユーザは、ディスプレイに表示されている画面を見ながら、コンパイル装置に接続されたキーボードやマウス等の入力デバイスを用いて、保護設定フラグ及び保護解除フラグの選択を入力する。
コンパイル装置は、ステップS15で受け付けた内容に従って、演算構成情報及び配線構成情報に対応付けて、リセットフラグを設定する(ステップS16)。
なお、ステップS13で複数のレジスタ記述が検出されると、コンパイル装置は、検出されたレジスタ記述毎に、ステップS14からステップS16までの処理を繰り返す。
コンパイル装置は、入力されたソースコードの全てについて処理が終了していなければ(ステップS17でN)、ステップS12に戻り処理を続ける。入力されたソースコードの全てについて処理が終了していれば(ステップS17でY)、コンパイル装置は、ソースコードをオブジェクトコードへ変換し(ステップS18)、その後、処理を終了する。
ここで生成されたオブジェクトコードは、回路構成情報として、再構成可能回路1と接続された外部メモリに格納される。
図9は、図8のステップS15で、ディスプレイに表示される画面の具体例を示す図である。
同図に示すように、画面150は、HDLで記述された構成情報のソースコードが表示されており、always文1051に続くレジスタ記述(Reg_delay_sel)1052に対応付けて、GUI画像151が付加されている。
GUI画像151は、リセット保護設定を受け付けるチェックボックス152と、リセット解除設定を受け付けるチェックボックス153とを含む。ユーザは、入力デバイスを用いて(例えば、マウスをクリックすることにより)、画面150上でチェックボックス152及びチェックボックス153にチェックを入れることができる。
ユーザがチェックボックス152をチェックすれば、レジスタ記述1052に対応する演算記憶部をリセットから保護するために、コンパイル装置は、構成情報に含まれるリセットフラグに「保護設定フラグ」を設定する。
一方、ユーザがチェックボックス153をチェックすれば、レジスタ記述1052に対応する演算記憶部をリセットするために、コンパイル装置は、構成情報に含まれるリセットフラグに「保護解除フラグ」を設定する。
<その他の変形例>
以上、本発明を上記の実施形態に基づき説明してきたが、本発明は、上記の実施形態に限定されないのは勿論のことであり、以下のような場合も本発明に含まれる。
(1)上記の実施形態では、各再構成セルの演算記憶部にリセットフラグが1対1に対応しており、再構成セル毎に演算記憶部のリセット制御を行うことができる。しかし、本発明はこの構成に限定されず、演算記憶部内の特定のビットフィールド毎に一つのリセットフラグを割り当てて、ビットフィールド毎にリセットの可否を制御してもよい。この構成により、きめ細かいリセット制御を実現することが可能となる。
(2)上記の実施形態では、リセット制御部104がリセット生成部1041を備え、リセット生成部1041が構成切替信号を検出することにより、リセット信号を生成する構成を有していた。しかし、本発明は、この構成に限定されず、以下のような場合も含まれる。
例えば、図10に示す再構成セル11aは、上記の実施形態のリセット制御部104に替えて、リセット制御部104aを備える。リセット制御部104aは、リセット信号を生成せず、外部信号として取り込む構成を備えている。この場合、配線リソースが多く必要になるが、図11に示すように、リセット制御部104aは、リセット保護部1042のみを備えており、リセット生成部1041を備えている必要がない。
(3)上記の実施形態では、リセットフラグは2ビットの情報であり、保護設定フラグ及び保護解除フラグの2種類があった。しかしながら、本発明におけるリセットフラグは、1ビットの情報で、保護解除フラグを用いず、保護フラグのみを用いても実現することができる。
例えば、構成情報に含まれるリセットフラグが「1」の場合を「保護フラグあり」とし、構成情報に含まれるリセットフラグが「0」の場合を「保護フラグなし」としてリセット制御を行うことができる。
また、上記の実施形態では、保護設定フラグの有効期限(保護モードの有効期限)は、次に保護解除フラグが出るまでであった。しかし、保護フラグのみを用いてリセット制御を実現する場合には、保護フラグの有効期限(保護モードの有効期限)は、再構成セルが一つの構成で処理を行う期間のみとする。
図12及び図13は、保護フラグのみを用いてリセット制御を実現する実施形態を示す図である。ここでは、図6及び図7で説明した例と同様の例を用いて説明する。なお、再構成セルで回路Aが構成される以前のリセット保護部の状態は「通常モード」であるとする。
図12の具体例では、構成情報に保護フラグが含まれる場合に、その構成情報に基づき回路の構成変更がされるときに、演算記憶部をリセットから保護する。
この場合、構成情報Aに含まれるリセットフラグAの値を「0」、構成情報Bに含まれるリセットフラグBの値を「1」、構成情報Cに含まれるリセットフラグCの値を「1」に設定すればよい。
リセットフラグAは「0」なので、時刻T1〜T2まで、リセット保護部は通常モードであり、さらに、回路Aによる処理を行う前の時刻T1で演算記憶部105はリセットされる。
リセットフラグBは「1」なので、時刻T2〜T3まで、リセット保護部は保護モードであり、時刻T2で、演算記憶部はリセットから保護される。
リセットフラグCは「1」なので、時刻T3以降、リセット保護部は保護モードであり、時刻T3で、演算記憶部はリセットから保護される。
この構成により、演算処理部101は、回路Aで算出された演算結果を回路Bで利用することができ、回路Bで算出された演算結果を回路Cで利用することができる。
図13の具体例では、構成情報に保護フラグが含まれる場合に、その構成情報の次の構成情報に基づき回路の構成変更がされるときに、演算記憶部をリセットから保護する。
この場合、構成情報Aに含まれるリセットフラグAの値を「1」、構成情報Bに含まれるリセットフラグBの値を「1」、構成情報Cに含まれるリセットフラグCの値を「0」に設定すればよい。
時刻T1以前にリセット保護部は通常モードなので、時刻T1で、演算記憶部はリセットされる。
そして、リセットフラグAは「1」なので、時刻T1〜T2まで、リセット保護部は保護モードであり、時刻T2で、演算記憶部はリセットから保護される。
リセットフラグBは「1」なので、時刻T2〜T3まで、リセット保護部は保護モードであり、時刻T3で、演算記憶部はリセットから保護される。
リセットフラグCは「0」なので、時刻T3以降、リセット保護部は通常モードであり、回路Cの次の回路が構成されるときに、演算記憶部はリセットされる。
この構成により、演算処理部101は、回路Aで算出された演算結果を回路Bで利用することができ、回路Bで算出された演算結果を回路Cで利用することができる。
(4)上記の実施形態で説明した再構成可能回路1は、例えば、図14に示すBlu−rayレコーダシステム2に応用することができる。
Blu−rayレコーダシステム2は、図14に示すように、メモリ処理用LSI201、フラッシュメモリ202、DRAM203、光学Disc制御回路204、デジタルチューナ回路205、アナログチューナ回路206、ビデオA/D207、オーディオA/D208、USB用回路209、オーディオD/A210、及びHDMI用回路211から構成される。
ここで、メディア処理用LSI201は、上記の実施形態で説明した再構成可能回路1、DMA制御回路211、及びメディア制御回路222を含む。
再構成可能回路1は、各再構成セルの構成を変更しながら、AV入出力制御回路、DSP(Digital Signal Processor)、メディア処理回路などの機能を実現する。
(5)さらに、上記の実施形態における再構成可能回路1は、様々な電子機器に搭載して用いることができる。
例えば、図15に示すように、再構成可能回路1を組み込んだシステムLSI3を基板回路4に搭載する。そして基板回路4を、携帯電話5、放送受信装置又は蓄積再生装置6、デジタルテレビ7、車載端末8等に応用することができる。車載端末8は、自動車9に搭載して用いることができる。
(6)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(7)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明は、FPGA、PLD、リコンフィギュラブルロジック等の再構成可能回路に利用可能であって、特に数クロックで再構成を繰り返すマルチコンテキスト型のリコンフィギュラブルロジックに有効である。そして、本発明は、再構成可能回路を製造及び販売する産業、及び、これらの再構成回路を組み込んだ電子機器を製造及び販売する産業において利用可能である。
本発明は、再構成可能回路に関し、特に、再構成可能回路内で演算結果を保持するレジスタのリセットを制御する技術に関する。
従来では複数個のLSIで実現していたシステムを、近年では1チップに集約するSoC(System on A Chip)と呼ばれるLSIが多数開発されている。
SoCでは、多数の機能を一つのLSI上に実装するが、必要な全ての機能を搭載しようとすれば、回路面積が大きくなる。また、ユースケースによって使用する機能の組み合わせが決まっており、LSI上で休止中のブロックが存在すれば、実装面積の非効率という問題がある。上記問題を解決すべくハードウェア的な柔軟性をもつ再構成可能回路が開発されている。
再構成可能回路では、各再構成セルの内部のレジスタに演算結果である中間データを保持しているが、構成変更時にレジスタが初期化されるため、構成変更後に前の演算結果を再利用することができない。
特許文献1は、再構成セルの外部にデータキャッシュ部を設け、データキャッシュ部に演算結果を退避させておくことにより、構成変更後においても、前の演算結果を再利用することができる発明を開示している。
具体的には、特許文献1は、ブロック単位で画像を処理する場合に、データキャッシュ部に複数のブロックの中間データを退避させておき、効率的に画像処理を行うことができる発明を開示している。
特開2001−202236号公報
しかしながら、特許文献1の技術は、データの退避のためのデータキャッシュ部が必須であることからコスト高の問題が生じる。
さらには、特許文献1の技術は、画像処理のように複数のブロックデータに対して同一の処理を行う場合には有効であると考えられるが、小規模の再構成セルを用いて短い時間で再構成を繰り返す処理で用いれば、データの退避及びデータの復帰によるオーバーヘッドが大きくなり、処理性能が低下するという問題がある。
本発明は、上記の問題点に鑑みなされたものであって、データキャッシュ部を設けることなく、前の再構成可能回路で処理した中間データを、次の回路でも使用することができる再構成可能回路、再構成可能回路のリセット方法、及び、再構成可能回路で用いられる構成情報を生成する構成情報生成装置を提供することを目的とする。
上記の目的を達成するために、本発明の一実施形態である再構成可能回路は、 複数の再構成セルを含み、各再構成セルに含まれる演算処理部の構成を変更する再構成可能回路であって、前記各再構成セルは、前記演算処理部による演算結果を保持する演算記憶部と、前記演算記憶部のリセットの要否を示すリセットフラグを保持しているフラグ保持部と、前記演算処理部の構成変更時に、前記フラグ保持部に保持されているリセットフラグを用いて、前記演算記憶部のリセットを制御するリセット制御部とを備えることを特徴とする。
上記の構成を有することにより、従来必要とされていた中間データ退避用のバッファメモリを必要とせずに、前の回路で生成された演算結果を次の回路で利用することができる。
また、上記の構成を有することにより、再構成可能回路に含まれる再構成セル毎に、演算内容に応じて、選択的に演算記憶部をリセットすることができるので、ユースケースに即した効率的な処理を実現できる。
再構成可能回路1の構成を示す図である。 再構成セル11の構成を機能的に示す図である。 構成情報記憶部102の構成を機能的に示す図である。 リセット制御部104の構成を機能的に示す図である。 再構成セル11の動作を示すフローチャートである。 (a)再構成セル11が行う処理の具体例を説明するための図である。(b)再構成セル11に入力される構成情報120のデータ構成を示す図である。 (a)再構成セル11の構成を模式的に示す図である。(b)リセット制御の具体例を説明するための図である。 回路構成情報の生成処理の動作を示すフローチャートである。 回路構成情報の生成処理において、ユーザからリセットフラグの設定を受け付けるためのGUI画像を示す図である。 本発明の変形例に係る再構成セル11aの構成を機能的に示す図である。 本発明の変形例に係るリセット制御部104aの構成を機能的に示す図である。 本発明の変形例に係るリセット制御を説明するための図である。 本発明の変形例に係るリセット制御を説明するための図である。 本発明の再構成可能回路をBlu−rayレコーダシステムで用いる場合の例を示す図である。 本発明の再構成可能回路の応用例を示す図である。
請求項1に記載の態様である再構成可能回路は、複数の再構成セルを含み、各再構成セルに含まれる演算処理部の構成を変更する再構成可能回路であって、前記各再構成セルは、前記演算処理部による演算結果を保持する演算記憶部と、前記演算記憶部のリセットの要否を示すリセットフラグを保持しているフラグ保持部と、前記演算処理部の構成変更時に、前記フラグ保持部に保持されているリセットフラグを用いて、前記演算記憶部のリセットを制御するリセット制御部とを備えることを特徴とする。
請求項2に記載の態様である再構成可能回路において、前記リセット制御部は、前記リセットフラグが、リセットが必要である旨を示す場合に前記演算記憶部をリセットし、リセットが不要である旨を示す場合に前記演算記憶部をリセットしないように制御することを特徴とする。
この構成によると、再構成セル毎にリセットの要否を示すリセットフラグを用いて、演算記憶部をリセットしたり、リセットから保護したりすることができる。
ここで、リセットが不要である旨を示すリセットフラグが保持されている場合には、演算記憶部に保持されている演算結果を、外部バッファに退避させることなく、次の回路でも利用することができる。
請求項3に記載に態様である再構成可能回路において、前記各再構成セルは、前記演算処理部の構成を変更するための構成情報と前記リセットフラグとを対応付けて取得する取得手段と、前記取得手段が取得した前記構成情報を保持する構成情報保持部とを備え、前記フラグ保持部は、前記取得手段が取得した前記リセットフラグを保持し、前記リセット制御部は、前記構成情報に基づいて前記演算処理部の構成が変更される時に、前記リセットフラグを用いて前記演算記憶部のリセット制御を行うことを特徴とする。
ここで、前記取得手段は、後述する実施形態では、構成情報記憶部102によって実現される。
この構成によると、リセット制御部は、リセットフラグとセットで取得された構成情報を用いて構成される回路による演算処理の前に、演算記憶部のリセット制御を行うので、前記リセットフラグが、リセットが不要である旨を示す場合には、演算処理部は、前の回路で算出された演算結果を、当該構成情報を用いて構成される回路で利用することができる。
請求項4に記載の態様である再構成可能回路において、前記取得手段は、さらに、前記演算処理部の構成をさらに変更するための、前記構成情報とは異なる他の構成情報を取得し、前記リセット制御部は、前記取得手段が取得した前記他の構成情報に基づいて前記演算処理部の構成が変更される時に、前記リセットフラグを用いて前記演算記憶部のリセット制御を行うことを特徴とする。
この構成によると、リセット制御部は、リセットフラグとセットで取得された構成情報を用いて構成される回路による演算結果が演算記憶部に保持されている状態において、次の構成情報を用いて演算記憶部が再構成される前に、前記リセットフラグを用いたリセット制御を行うので、前記リセットフラグが、リセットが不要である旨を示す場合には、演算処理部は、当該構成情報を用いて構成された回路で算出された演算結果を、次の構成情報を用いて構成される回路で利用することができる。
請求項5に記載の態様である再構成可能回路において、前記各再構成セルは、前記演算記憶部をリセットから保護する保護モード、及び、リセットから保護しない通常モードの何れかの状態にあり、前記リセットフラグは、前記各再構成セルの状態を通常モードから保護モードへ遷移させるための保護設定フラグ、及び、前記再構成セルの状態を保護モードから通常モードへ遷移させるための保護解除フラグの何れかに設定されており、前記リセット制御部は、再構成セルが通常モードの状態にある場合、並びに、再構成セルが保護モードの状態にあり、且つ、前記リセットフラグが保護解除フラグに設定されている場合に、前記構成情報に基づいて前記演算処理部の構成が変更される時に、前記演算記憶部をリセットし、再構成セルが保護モードの状態にあり、且つ、前記リセットフラグが保護解除フラグに設定されていない場合に、前記構成情報に基づいて前記演算処理部の構成が変更される時に、前記演算記憶部をリセットしないように制御することを特徴とする。
この構成によると、各再構成セルは、リセットフラグを用いてモードを遷移させ、モードに応じてリセットの保護/非保護を決定する。そのため、保護設定フラグを含まない構成情報で回路が構成されるときであっても、保護モードであれば、演算記憶部をリセットから保護することができる。
請求項6に記載の態様である再構成可能回路において、前記構成情報保持部は、前記演算処理部の構成変更を指示する構成変更信号を検出すると、前記演算処理部に対して構成情報を出力し、前記演算処理部は、前記構成情報保持部から受け取る前記構成情報を用いて内部を再構成し、前記リセット制御部は、前記構成変更信号を検出すると、前記再構成処理部による再構成処理と並行して、前記演算記憶部のリセット制御を行うことを特徴とする。
例えば、クロック用のグローバル配線を用いて、各再構成セルにリセット信号を入力する場合、構成切替時には、構成切替信号のための1クロックと、リセット信号のための1クロックとが必要である。そして、数クロックで構成を変更しながら処理を行うアプリケーションを実行する場合を考えると、構成切替信号に1クロック、リセット信号に1クロックを要すると、リセット時間が、オーバーヘッドとして大きくなってしまう。
しかし、上記の構成によると、再構成処理とリセット制御とを並列処理するため、リセット時間を再構成時間内に隠蔽することができ、リセット制御によるオーバーヘッドを解消することができる。
請求項7に記載の態様である再構成可能回路において、前記リセット制御部は、前記構成変更信号を検出すると、リセット信号を生成するリセット生成部と、前記リセット生成部により生成された前記リセット信号を受け取ると、前記フラグ保持部に保持されている前記リセットフラグを用いて、前記リセット信号を前記演算記憶部に出力するか否かを判断し、前記リセット信号を出力すると判断する場合にのみ、前記リセット信号を前記演算記憶部に出力し、前記リセット信号を出力しないと判断する場合には、前記リセット信号を前記演算記憶部に出力しないリセット保護部とを備え、前記演算記憶部は、前記リセット保護部から前記リセット信号を受け取った場合にのみ、内部をリセットすることを特徴とする。
上記の構成では、再構成セル毎にローカル配線を用いてリセット制御を行う。そのため、外部から各再構成セルにリセット信号を入力するためのグローバル配線は不要である。
請求項8に記載の態様である構成情報生成装置は、複数の再構成セルを含み、各再構成セルに含まれる演算処理部の構成を変更する再構成可能回路で用いられる構成情報を生成する構成情報生成装置であって、前記各再構成セルは、前記演算処理部による演算結果を保持する演算記憶部を備え、前記構成情報生成装置は、前記構成情報を生成する過程において、前記各再構成セルの構成変更時にリセットする演算記憶部の選択を、ユーザから受け付けることを特徴とする。
ここで、前記構成情報生成装置は、後述する実施形態では、コンパイラを実行するコンパイル装置によって実現される。
この構成によると、再構成可能回路を用いて実行される様々なコンピュータプログラムを作成する際に、再構成セル毎に、リセットの要否をユーザが設定することが可能となる。
請求項9に記載の態様である構成情報生成装置は、前記演算処理部の構成を変更するための情報である演算構成情報のソースコードの入力を受け付けるソースコード入力手段と、前記ソースコードの構文を解析する解析手段と、前記解析手段が演算記憶部を示す所定の構文を検出すると、構成変更時に前記演算記憶部をリセットするか否かを示すリセットフラグの設定をユーザから受け付けるためのGUI画像を出力する出力手段と、ユーザの操作により、リセットフラグの設定を受け付けるユーザ入力手段とを備えることを特徴とする。
この構成によると、ユーザはGUI画像を用いることで、簡便な操作でリセットフラグを設定することができる。
請求項10に記載の態様である構成情報生成装置は、さらに、前記演算構成情報とユーザにより指定された前記リセットフラグとを含む構成情報を生成する構成情報生成手段を含むことを特徴とする。
この構成によると、ユーザが設定したリセットフラグを含む構成情報を生成することができる。
以下、本発明の一実施形態である再構成可能回路1について、図面を参照して説明する。
<構成>
図1は、再構成可能回路1を示す図である。
同図に示すように、再構成可能回路1は、構成制御部10、及び、マトリックス状に配置された複数個の再構成セル11、12、13、・・・から構成される。
1.構成制御部10
構成制御部10は、再構成可能回路1の外部に接続された外部メモリから、回路構成情報の入力を受け付ける。回路構成情報は、再構成セル11、12、13、・・・を用いて所望の回路を構成するために各再構成セルの演算内容及び配線を決定するための構成情報を含む。
構成制御部10は、再構成可能回路1に含まれる全ての再構成セルと接続されており、各再構成セルへ、対応する構成情報を出力する。また、構成制御部10は、各再構成セルへ、回路の変更を指示する構成切替信号を出力する。
2.再構成セル
図1に記載した複数個の再構成セルのそれぞれは、組み合わせ回路、順序回路、フリップフロップ等から構成され、入力される構成情報に従い演算内容を変更しながら処理を行う。
図2は、再構成セル11の内部構成を機能的に示す機能ブロック図である。なお、再構成セル11以外の他の再構成セル12、13、・・・は、再構成セル11と同様の構成を有するため説明を省略する。
図2に示すように、再構成セル11は、演算処理部101、構成情報記憶部102、配線部103、リセット制御部104、及び演算記憶部105から構成される。以下では、再構成セル11の各構成要素について説明する。
(1)演算処理部101
演算処理部101は、ALU(Arithmetic Logic Unit)及びLUT(Look Up Table)等から構成され、構成情報記憶部102から受け取る演算構成情報、演算記憶部105内の演算結果、及び他の再構成セルから受け取る演算結果等を入力として、算術演算及び論理演算を行う。
演算処理部101は、構成切替信号に基づき、構成情報記憶部102から演算構成情報を受け取ると、受け取った演算構成情報に基づいてLUTの設定値を変更することにより、回路の再構成を行う。
なお、演算処理部101は、具体的には小規模なSRAMで構成される。
(2)構成情報記憶部102
図3は、構成情報記憶部102の内部構成を示す図である。
同図に示すように、構成情報記憶部102は、演算構成情報保持部1021、配線構成情報保持部1022、及びリセットフラグ保持部1023を含み、これらの各構成要素は、複数のフリップフロップから成るレジスタで構成されている。
構成情報記憶部102は、構成制御部10から構成情報の入力を受け付けることにより、構成情報を取得する。構成情報は、演算処理部101にて所望の演算を実現するための情報であって、演算構成情報、配線構成情報、及びリセットフラグから構成される。
構成情報記憶部102は、構成制御部10から受け取る構成情報に含まれる演算構成情報を演算構成情報保持部1021に保持し、配線構成情報を、配線構成情報保持部1022に保持し、リセットフラグを、リセットフラグ保持部1023に保持する。
続いて、構成情報に含まれる各情報について説明する。
演算構成情報は、演算処理部101が行う演算内容を決定するための情報であり、先に述べたようにLUTの設定値などを含む。
配線構成情報は、配線部103の接続を決定するための情報であり、具体的には配線部103に含まれる複数個のトランジスタスイッチのオン又はオフを示す情報である。
リセットフラグは、演算記憶部105のリセットを制御するための情報であって、具体的には、保護設定フラグ及び保護解除フラグの2種類がある。
後述するリセット保護部1042は、演算記憶部105をリセットから保護する保護モードと、リセットから保護しない通常モードとの何れかの状態にある。保護設定フラグは、リセット保護部1042の状態を、通常モードから保護モードへ遷移させるためのフラグであり、保護解除モードは、リセット保護部1042の状態を、保護モードから通常モードへ遷移させるためのフラグである。
リセット保護部1042の状態が保護モードのとき、演算記憶部105内のデータは、回路の再構成時にリセットから保護されるので、演算処理部101は、前の演算で生成された演算結果を次の演算でも使用することができる。
一方、リセット保護部1042の状態が通常モードのとき、演算記憶部105内のデータは、回路の再構成時にリセットされるので、演算処理部101は、前の演算で生成された演算結果を次の演算で使用することはできない。
再構成セル11は、構成情報に基づき回路の構成を変更しながら一連の処理を行うが、構成情報に含まれるリセットフラグを用いて、リセット保護部1042の状態(モード)を変更しながら演算記憶部105のリセット制御を行う。このようにして、再構成セル11は、一連の処理において、演算記憶部105に保持されている演算結果を有効に利用し、処理の効率化を図ることができる。
なお、構成情報記憶部102が構成制御部10から受け取る構成情報に、演算構成情報及び配線構成情報のみが含まれ、保護設定フラグ及び保護解除フラグの何れも含まれていない場合には、リセット保護部1042は、現在の状態を維持し、そのときの状態に応じて、演算記憶部105のリセットを制御する。
ここで、実装レベルの具体例として、構成情報に含まれるリセットフラグを2ビットのデータで表してもよい。この場合、例えば、保護設定フラグを「01」とし、保護解除フラグを「10」とし、保護設定フラグ及び保護解除フラグの何れでもない場合を「00」としてもよい。
(3)配線部103
配線部103は、演算処理部101及び演算記憶部105を、他の再構成セルと接続することができる。具体的には、配線部103は、各再構成セルを接続している配線の端子であり、複数のトランジスタスイッチで構成される。各トランジスタスイッチは、構成情報記憶部102から受け取る配線構成情報に基づいて、オン及びオフの何れかに設定される。
また、配線部103は、構成切替信号に基づき、構成情報記憶部102から配線構成情報を受け取ると、受け取った配線構成情報に基づいて各トランジスタスイッチのオン及びオフの設定を変更することにより、接続先を変更することができる。
(4)リセット制御部104
図4は、リセット制御部104の内部構成を示す図である。同図に示すように、リセット制御部104は、リセット生成部1041及びリセット保護部1042から構成される。
リセット生成部1041は、回路の再構成時を検出する機能を備え、再構成時を検出すると、リセット信号を生成する。リセット生成部1041は、生成したリセット信号をリセット保護部1042へ出力する。
なお、本実施形態では、グローバル配線を用いて、構成制御部10から各再構成セルへ回路の再構成を指示する構成切替信号が入力されるので、リセット生成部1041は、構成切替信号を検出すると、リセット信号を生成する。
リセット保護部1042は、通常モード及び保護モードの何れかの状態を保持している。
リセット保護部1042は、通常モードのときに、リセット生成部1041によって生成されたリセット信号を受け取ると、リセット信号を演算記憶部105に出力する。
また、リセット保護部1042は、保護モードのときに、リセット信号をマスクする機能を備え、リセット信号をマスクすることにより、演算記憶部105をリセットから保護することができる。
再構成セル11が処理を行っていない初期状態では、リセット保護部1042は通常モードである。そして、再構成セル11が保護設定フラグを含む構成情報に基づき処理を行った後に、リセット保護部1042は、通常モードから保護モードへ遷移する。その後、リセット保護部1042は、再構成セル11が保護解除フラグを含む構成情報に基づき回路を再構成するまで、保護モードを維持する。
(5)演算記憶部105
演算記憶部105は、演算処理部101による演算結果を保持するレジスタを含む。
演算記憶部105は、リセット保護部1042からリセット信号を受け取ると、レジスタをリセットする。
先に述べたように、回路の再構成時に演算記憶部105のレジスタがリセットされると、前の回路による演算で生成された演算結果を、次に構成された回路による演算で利用することができるが、回路の再構成時にレジスタがリセットされなければ、前の回路による演算で生成された演算結果を、次に構成された回路による演算で利用することができない。
<動作>
図5は、再構成セル11の動作を示すフローチャートである。
再構成可能回路1は複数の再構成セルから構成されるので、再構成可能回路1全体では、各再構成セルによって、図5に示す動作が並列処理される。
再構成セル11は、構成情報記憶部102に構成情報が入力されると、処理を開始する。
構成変更信号を検出しない場合(ステップS1でN)、再構成セル11は、処理を終了する。構成変更信号を検出する場合(ステップS1でY)、再構成セル11は、ステップS2の処理とステップS3からステップS9までの処理とを並列に行う。
ステップS1で構成変更信号を検出した構成情報記憶部102は、演算構成情報保持部1021に保持されている演算構成情報を演算処理部101へ出力し、配線構成情報保持部1022に保持されている配線構成情報を配線部103へ出力する。
演算処理部101は、受け取った演算構成情報に基づき回路の再構成を行い、配線部103は、受け取った配線構成情報に基づきトランジスタスイッチのオン及びオフの設定を行う(ステップS2)。
ステップS1で構成変更信号を検出したリセット生成部1041は、リセット信号を生成し、リセット保護部1042へ出力する。
リセット保護部1042は、リセット信号を受け取ると、現在のモードが保護モードであるのか、通常モードであるのか判断する。
通常モードの場合(ステップS3でN)、ステップS6へ進む。
保護モードの場合(ステップS3でY)、リセット保護部1042は、リセットフラグ保持部1023に保護解除フラグが保持されているか否か判断する。なお、リセットフラグ保持部1023に、2種類のリセットフラグが保持されている場合(後述する図6(b)の構成情報Aのように、2種類のリセットフラグA1及びA2が含まれる場合)は、ここでは、先頭のリセットフラグ(図6(b)のリセットフラグA1)が保護解除フラグであるか否かを判断する。
保護解除フラグが保持されている場合(ステップS4でY)、リセット保護部1042は、モードを保護モードから通常モードに変更して(ステップS5)、ステップS6へ進む。
保護解除フラグが保持されていない場合(ステップS4でN)、リセット保護部1042は、ステップS8へ進む。
リセット保護部1042の状態が通常モードのとき、リセット保護部1042は、リセット信号を演算記憶部105へ出力する。リセット信号を受け付けた演算記憶部105は、内部のレジスタをリセットする(ステップS6)。
次に、リセット保護部1042は、リセットフラグ保持部1023に保護設定フラグが保持されているか否か判断する。なお、リセットフラグ保持部1023に、2種類のリセットフラグが保持されている場合(後述する図6(b)の構成情報Aのように、2種類のリセットフラグA1及びリセットフラグA2が含まれる場合)は、ここでは、先頭のリセットフラグに後続するリセットフラグ(図6(b)のリセットフラグA2)が保護設定フラグであるか否かを判断する。
保護設定フラグが保持されている場合(ステップS7でY)、モードを保護モードに変更し、既に保護モードの場合は、そのまま保護モードを維持する(ステップS8)。
保護設定フラグが保持されていない場合(ステップS7でN)、モードを通常モードに変更し、既に通常モードの場合は、そのまま通常モードを維持する(ステップS9)。
ステップS2の再構成とステップS3からステップS9までのリセット制御とが終了すると、演算処理部101は、演算処理を行う(ステップS10)。
その後、再構成セル11は、ステップS1に戻り、処理を継続する。
<具体例>
ここでは、図6(a)に示すように、再構成セル11が、入力データA及び入力データBに対して、1クロック毎に構成を変更しながら3クロックで、加算処理、乗算処理及び減算処理の順序で処理を行う場合を考える。
ここで、2クロック目の乗算処理及び3クロック目の減算処理は、それぞれ前の処理の演算結果を使用して処理を行う。
なお、以下では、図6(a)に示す加算処理、乗算処理及び減算処理を行う回路を、それぞれ、回路A、回路B、及び回路Cと呼称する。
図6(a)に示した一連の処理を行うため、構成情報記憶部102には、図6(b)に示す構成情報A(121)、構成情報B(122)、及び構成情報C(123)が入力される。
構成情報Aは、回路Aを構成するための情報であり、構成情報Bは、回路Bを構成するための情報であり、構成情報Cは、回路Cを構成するための情報である。
構成情報A(121)は、リセットフラグA1(10)、リセットフラグA2(01)、演算構成情報A、及び配線構成情報Aから構成される。リセットフラグA1及びA2は、回路Aを構成するときに演算記憶部105のリセットを制御するための情報である。
構成情報B(122)は、リセットフラグB(00)、演算構成情報B、及び配線構成情報Bから構成される。リセットフラグBは、回路Bを構成するときに演算記憶部105のリセットを制御するための情報である。
構成情報C(123)は、リセットフラグC(00)、演算構成情報C、及び配線構成情報Cから構成される。リセットフラグCは、回路Cを構成するときに演算記憶部105のリセットを制御するための情報である。
なお、ここでは、保護設定フラグを「01」と表し、保護解除フラグを「10」と表している。また、構成情報に保護設定フラグ及び保護解除フラグの何れでもない場合を「00」と表している。したがって、リセットフラグA1は、保護解除フラグであり、リセットフラグA2は、保護設定フラグであり、リセットフラグB及びCは、何れでもない。
続いて、図7を用いて、再構成セル11における、モード、リセットフラグ、及びリセット制御について説明する。
図7(a)は、再構成セル11の構成要素を模式的に表している。
図7(b)は、再構成セル11で構成される回路とモードの時間的変化、リセットフラグ、及びリセット制御について説明するための図である。
先ず、構成変更信号を検出すると、再構成セル11は、構成情報A(121)に基づく処理を開始する。
図6(b)に示したように、構成情報A(121)に含まれるリセットフラグA1は、保護解除フラグであるから、加算処理→乗算処理→減算処理の一連の処理の開始前である時刻T1において、再構成セル11は、通常モードに設定される。以後、保護設定フラグが出るまで、再構成セル11は、通常モードを維持する。
時刻T1において、再構成セル11が通常モードに設定されるのは、回路Aによる演算の前に、演算記憶部105をリセットするためである。
なお、処理開始前のモードが通常モードであるなら、保護解除フラグが無くても回路Aを構成するときに演算記憶部105は当然にリセットされる(図5のフローチャートのステップS3及びステップS5参照)。したがって、ここに設定されているリセットフラグA1(保護解除フラグ)は、処理開始前のモードが保護モードの場合であっても、演算記憶部105をリセットしてから処理を開始できるようにするためである。
いま、再構成セル11は通常モードであるから、時刻T1の後に、演算記憶部105はリセットされる。
続いて、構成情報A(121)には、保護設定フラグであるリセットフラグA2が含まれることから、演算記憶部105のリセットの後、時刻T2において再構成セル11は保護モードに設定される(図5のフローチャートのステップS7及びステップS8参照)。以後、保護解除フラグが出るまで、再構成セル11は保護モードを維持する。
リセット制御と並行して、演算処理部101及び配線部103では、それぞれ、構成情報A(121)に含まれる演算構成情報A及び配線構成情報Aに基づき回路Aを構成する。そして、再構成セル11は、時刻T2以降に、回路Aによる加算処理を行う。加算処理の結果であるA+Bの値は、演算記憶部105に保持される。
次に、構成変更信号を検出すると、再構成セル11は、構成情報B(122)に基づく処理を開始する。
図6(b)に示したように、構成情報B(122)に含まれるリセットフラグBは、保護解除フラグではないから、再構成セル11は、このまま保護モードを維持する。したがって、時刻T3において演算記憶部105はリセットされない。
リセット制御と並行して、演算処理部101及び配線部103では、それぞれ、構成情報B(122)に含まれる演算構成情報B及び配線構成情報Bに基づき回路Bを構成する。そして、再構成セル11は、時刻T3以降に、演算記憶部105に保持されているA+Bの値を用いて、回路Bによる乗算処理を行う。乗算処理の結果である(A+B)×Bの値は、演算記憶部105に保持される。
次に、構成変更信号を検出すると、再構成セル11は、構成情報C(123)に基づく処理を開始する。
図6(b)に示したように、構成情報C(123)に含まれるリセットフラグCは、保護解除フラグではないから、再構成セル11は、このまま保護モードを維持する。したがって、時刻T4において演算記憶部105はリセットされない。
リセット制御と並行して、演算処理部101及び配線部103では、それぞれ、構成情報C(123)に含まれる演算構成情報C及び配線構成情報Cに基づき回路Cを構成する。そして、再構成セル11は、時刻T4以降に、演算記憶部105に保持されている(A+B)×Bの値を用いて、回路Cによる減算処理を行う。減算処理の結果である((A+B)×B)−Bの値は、演算記憶部105に保持され、その後、他の再構成セルや外部端子へ出力される。
<回路構成情報の生成>
再構成可能回路1で用いられる構成情報を作成する過程において、ユーザは、EDA(Electronic Design Automation)ツールを用いて、構成情報に含まれるリセットフラグの設定を行うことができる。以下では、EDAツールを用いたリセットフラグの設定について説明する。
図8は、再構成可能回路1で用いられる回路構成情報の生成処理の動作を示すフローチャートである。ここに示す動作は、図示していないコンパイル装置がコンパイラを実行することにより実現される。
先ず、コンパイル装置にソースコードが入力される(ステップS11)。ここで入力されるソースコードは、HDL(Hardware Description Language)で記述されており、再構成可能回路1の各再構成セルで用いられる演算構成情報及び配線構成情報が記述されている。
コンパイル装置は、always文を検索する。always文が検出されなければ(ステップS12でN)、ステップS17に進む。
always文が検出されると(ステップS12でY)、コンパイル装置は、always文に続くライン毎にレジスタ記述(ここでは、一例としてReg_delay_sel)を検索する。レジスタ記述が検出されなければ(ステップS13でN)、ステップS17に進む。
レジスタ記述が検出されると(ステップS13でY)、コンパイル装置は、ソースコードにリセットフラグ設定のためのGUI画像を付加した画面を、コンパイル装置と接続されているディスプレイに出力する(ステップS14)。
続いて、コンパイル装置は、ユーザ入力を受け付ける(ステップS15)。例えば、ユーザは、ディスプレイに表示されている画面を見ながら、コンパイル装置に接続されたキーボードやマウス等の入力デバイスを用いて、保護設定フラグ及び保護解除フラグの選択を入力する。
コンパイル装置は、ステップS15で受け付けた内容に従って、演算構成情報及び配線構成情報に対応付けて、リセットフラグを設定する(ステップS16)。
なお、ステップS13で複数のレジスタ記述が検出されると、コンパイル装置は、検出されたレジスタ記述毎に、ステップS14からステップS16までの処理を繰り返す。
コンパイル装置は、入力されたソースコードの全てについて処理が終了していなければ(ステップS17でN)、ステップS12に戻り処理を続ける。入力されたソースコードの全てについて処理が終了していれば(ステップS17でY)、コンパイル装置は、ソースコードをオブジェクトコードへ変換し(ステップS18)、その後、処理を終了する。
ここで生成されたオブジェクトコードは、回路構成情報として、再構成可能回路1と接続された外部メモリに格納される。
図9は、図8のステップS15で、ディスプレイに表示される画面の具体例を示す図である。
同図に示すように、画面150は、HDLで記述された構成情報のソースコードが表示されており、always文1051に続くレジスタ記述(Reg_delay_sel)1052に対応付けて、GUI画像151が付加されている。
GUI画像151は、リセット保護設定を受け付けるチェックボックス152と、リセット解除設定を受け付けるチェックボックス153とを含む。ユーザは、入力デバイスを用いて(例えば、マウスをクリックすることにより)、画面150上でチェックボックス152及びチェックボックス153にチェックを入れることができる。
ユーザがチェックボックス152をチェックすれば、レジスタ記述1052に対応する演算記憶部をリセットから保護するために、コンパイル装置は、構成情報に含まれるリセットフラグに「保護設定フラグ」を設定する。
一方、ユーザがチェックボックス153をチェックすれば、レジスタ記述1052に対応する演算記憶部をリセットするために、コンパイル装置は、構成情報に含まれるリセットフラグに「保護解除フラグ」を設定する。
<その他の変形例>
以上、本発明を上記の実施形態に基づき説明してきたが、本発明は、上記の実施形態に限定されないのは勿論のことであり、以下のような場合も本発明に含まれる。
(1)上記の実施形態では、各再構成セルの演算記憶部にリセットフラグが1対1に対応しており、再構成セル毎に演算記憶部のリセット制御を行うことができる。しかし、本発明はこの構成に限定されず、演算記憶部内の特定のビットフィールド毎に一つのリセットフラグを割り当てて、ビットフィールド毎にリセットの可否を制御してもよい。この構成により、きめ細かいリセット制御を実現することが可能となる。
(2)上記の実施形態では、リセット制御部104がリセット生成部1041を備え、リセット生成部1041が構成切替信号を検出することにより、リセット信号を生成する構成を有していた。しかし、本発明は、この構成に限定されず、以下のような場合も含まれる。
例えば、図10に示す再構成セル11aは、上記の実施形態のリセット制御部104に替えて、リセット制御部104aを備える。リセット制御部104aは、リセット信号を生成せず、外部信号として取り込む構成を備えている。この場合、配線リソースが多く必要になるが、図11に示すように、リセット制御部104aは、リセット保護部1042のみを備えており、リセット生成部1041を備えている必要がない。
(3)上記の実施形態では、リセットフラグは2ビットの情報であり、保護設定フラグ及び保護解除フラグの2種類があった。しかしながら、本発明におけるリセットフラグは、1ビットの情報で、保護解除フラグを用いず、保護フラグのみを用いても実現することができる。
例えば、構成情報に含まれるリセットフラグが「1」の場合を「保護フラグあり」とし、構成情報に含まれるリセットフラグが「0」の場合を「保護フラグなし」としてリセット制御を行うことができる。
また、上記の実施形態では、保護設定フラグの有効期限(保護モードの有効期限)は、次に保護解除フラグが出るまでであった。しかし、保護フラグのみを用いてリセット制御を実現する場合には、保護フラグの有効期限(保護モードの有効期限)は、再構成セルが一つの構成で処理を行う期間のみとする。
図12及び図13は、保護フラグのみを用いてリセット制御を実現する実施形態を示す図である。ここでは、図6及び図7で説明した例と同様の例を用いて説明する。なお、再構成セルで回路Aが構成される以前のリセット保護部の状態は「通常モード」であるとする。
図12の具体例では、構成情報に保護フラグが含まれる場合に、その構成情報に基づき回路の構成変更がされるときに、演算記憶部をリセットから保護する。
この場合、構成情報Aに含まれるリセットフラグAの値を「0」、構成情報Bに含まれるリセットフラグBの値を「1」、構成情報Cに含まれるリセットフラグCの値を「1」に設定すればよい。
リセットフラグAは「0」なので、時刻T1〜T2まで、リセット保護部は通常モードであり、さらに、回路Aによる処理を行う前の時刻T1で演算記憶部105はリセットされる。
リセットフラグBは「1」なので、時刻T2〜T3まで、リセット保護部は保護モードであり、時刻T2で、演算記憶部はリセットから保護される。
リセットフラグCは「1」なので、時刻T3以降、リセット保護部は保護モードであり、時刻T3で、演算記憶部はリセットから保護される。
この構成により、演算処理部101は、回路Aで算出された演算結果を回路Bで利用することができ、回路Bで算出された演算結果を回路Cで利用することができる。
図13の具体例では、構成情報に保護フラグが含まれる場合に、その構成情報の次の構成情報に基づき回路の構成変更がされるときに、演算記憶部をリセットから保護する。
この場合、構成情報Aに含まれるリセットフラグAの値を「1」、構成情報Bに含まれるリセットフラグBの値を「1」、構成情報Cに含まれるリセットフラグCの値を「0」に設定すればよい。
時刻T1以前にリセット保護部は通常モードなので、時刻T1で、演算記憶部はリセットされる。
そして、リセットフラグAは「1」なので、時刻T1〜T2まで、リセット保護部は保護モードであり、時刻T2で、演算記憶部はリセットから保護される。
リセットフラグBは「1」なので、時刻T2〜T3まで、リセット保護部は保護モードであり、時刻T3で、演算記憶部はリセットから保護される。
リセットフラグCは「0」なので、時刻T3以降、リセット保護部は通常モードであり、回路Cの次の回路が構成されるときに、演算記憶部はリセットされる。
この構成により、演算処理部101は、回路Aで算出された演算結果を回路Bで利用することができ、回路Bで算出された演算結果を回路Cで利用することができる。
(4)上記の実施形態で説明した再構成可能回路1は、例えば、図14に示すBlu−rayレコーダシステム2に応用することができる。
Blu−rayレコーダシステム2は、図14に示すように、メモリ処理用LSI201、フラッシュメモリ202、DRAM203、光学Disc制御回路204、デジタルチューナ回路205、アナログチューナ回路206、ビデオA/D207、オーディオA/D208、USB用回路209、オーディオD/A210、及びHDMI用回路211から構成される。
ここで、メディア処理用LSI201は、上記の実施形態で説明した再構成可能回路1、DMA制御回路211、及びメディア制御回路222を含む。
再構成可能回路1は、各再構成セルの構成を変更しながら、AV入出力制御回路、DSP(Digital Signal Processor)、メディア処理回路などの機能を実現する。
(5)さらに、上記の実施形態における再構成可能回路1は、様々な電子機器に搭載して用いることができる。
例えば、図15に示すように、再構成可能回路1を組み込んだシステムLSI3を基板回路4に搭載する。そして基板回路4を、携帯電話5、放送受信装置又は蓄積再生装置6、デジタルテレビ7、車載端末8等に応用することができる。車載端末8は、自動車9に搭載して用いることができる。
(6)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(7)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明は、FPGA、PLD、リコンフィギュラブルロジック等の再構成可能回路に利用可能であって、特に数クロックで再構成を繰り返すマルチコンテキスト型のリコンフィギュラブルロジックに有効である。そして、本発明は、再構成可能回路を製造及び販売する産業、及び、これらの再構成回路を組み込んだ電子機器を製造及び販売する産業において利用可能である。
1 再構成可能回路
10 構成制御部
11 再構成セル
11a 再構成セル
12 再構成セル
101 演算処理部
102 構成情報記憶部
103 配線部
104 リセット制御部
104a リセット制御部
105 演算記憶部
1021 演算構成情報保持部
1022 配線構成情報保持部
1023 リセットフラグ保持部
1041 リセット生成部
1042 リセット保護部

Claims (11)

  1. 複数の再構成セルを含み、各再構成セルに含まれる演算処理部の構成を変更する再構成可能回路であって、
    前記各再構成セルは、
    前記演算処理部による演算結果を保持する演算記憶部と、
    前記演算記憶部のリセットの要否を示すリセットフラグを保持しているフラグ保持部と、
    前記演算処理部の構成変更時に、前記フラグ保持部に保持されているリセットフラグを用いて、前記演算記憶部のリセットを制御するリセット制御部と
    を備えることを特徴とする再構成可能回路。
  2. 前記リセット制御部は、前記リセットフラグが、リセットが必要である旨を示す場合に前記演算記憶部をリセットし、リセットが不要である旨を示す場合に前記演算記憶部をリセットしないように制御する
    ことを特徴とする請求項1に記載の再構成可能回路。
  3. 前記各再構成セルは、
    前記演算処理部の構成を変更するための構成情報と前記リセットフラグとを対応付けて取得する取得手段と、
    前記取得手段が取得した前記構成情報を保持する構成情報保持部とを備え、
    前記フラグ保持部は、前記取得手段が取得した前記リセットフラグを保持し、
    前記リセット制御部は、前記構成情報に基づいて前記演算処理部の構成が変更される時に、前記リセットフラグを用いて前記演算記憶部のリセット制御を行う
    ことを特徴とする請求項2に記載の再構成可能回路。
  4. 前記取得手段は、さらに、前記演算処理部の構成をさらに変更するための、前記構成情報とは異なる他の構成情報を取得し、
    前記リセット制御部は、前記取得手段が取得した前記他の構成情報に基づいて前記演算処理部の構成が変更される時に、前記リセットフラグを用いて前記演算記憶部のリセット制御を行う
    ことを特徴とする請求項3に記載の再構成可能回路。
  5. 前記各再構成セルは、前記演算記憶部をリセットから保護する保護モード、及び、リセットから保護しない通常モードの何れかの状態にあり、
    前記リセットフラグは、前記各再構成セルの状態を通常モードから保護モードへ遷移させるための保護設定フラグ、及び、前記再構成セルの状態を保護モードから通常モードへ遷移させるための保護解除フラグの何れかに設定されており、
    前記リセット制御部は、
    再構成セルが通常モードの状態にある場合、並びに、再構成セルが保護モードの状態にあり、且つ、前記リセットフラグが保護解除フラグに設定されている場合に、前記構成情報に基づいて前記演算処理部の構成が変更される時に、前記演算記憶部をリセットし、
    再構成セルが保護モードの状態にあり、且つ、前記リセットフラグが保護解除フラグに設定されていない場合に、前記構成情報に基づいて前記演算処理部の構成が変更される時に、前記演算記憶部をリセットしないように制御する
    ことを特徴とする請求項4に記載の再構成可能回路。
  6. 前記構成情報保持部は、前記演算処理部の構成変更を指示する構成変更信号を検出すると、前記演算処理部に対して構成情報を出力し、
    前記演算処理部は、前記構成情報保持部から受け取る前記構成情報を用いて内部を再構成し、
    前記リセット制御部は、前記構成変更信号を検出すると、前記再構成処理部による再構成処理と並行して、前記演算記憶部のリセット制御を行う
    ことを特徴とする請求項3に記載の再構成可能回路。
  7. 前記リセット制御部は、
    前記構成変更信号を検出すると、リセット信号を生成するリセット生成部と、
    前記リセット生成部により生成された前記リセット信号を受け取ると、前記フラグ保持部に保持されている前記リセットフラグを用いて、前記リセット信号を前記演算記憶部に出力するか否かを判断し、前記リセット信号を出力すると判断する場合にのみ、前記リセット信号を前記演算記憶部に出力し、前記リセット信号を出力しないと判断する場合には、前記リセット信号を前記演算記憶部に出力しないリセット保護部とを備え、
    前記演算記憶部は、前記リセット保護部から前記リセット信号を受け取った場合にのみ、内部をリセットする
    ことを特徴とする請求項6に記載の再構成可能回路。
  8. 複数の再構成セルを含み、各再構成セルに含まれる演算処理部の構成を変更する再構成可能回路で用いられる構成情報を生成する構成情報生成装置であって、
    前記各再構成セルは、前記演算処理部による演算結果を保持する演算記憶部を備え、
    前記構成情報生成装置は、
    前記構成情報を生成する過程において、前記各再構成セルの構成変更時にリセットする演算記憶部の選択を、ユーザから受け付ける
    ことを特徴とする構成情報生成装置。
  9. 前記構成情報生成装置は、
    前記演算処理部の構成を変更するための情報である演算構成情報のソースコードの入力を受け付けるソースコード入力手段と、
    前記ソースコードの構文を解析する解析手段と、
    前記解析手段が演算記憶部を示す所定の構文を検出すると、構成変更時に前記演算記憶部をリセットするか否かを示すリセットフラグの設定をユーザから受け付けるためのGUI画像を出力する出力手段と、
    ユーザの操作により、リセットフラグの設定を受け付けるユーザ入力手段と
    を備えることを特徴とする請求項8に記載の構成情報生成装置。
  10. 前記構成情報生成装置は、さらに、
    前記演算構成情報とユーザにより指定された前記リセットフラグとを含む構成情報を生成する構成情報生成手段を含む
    ことを特徴とする請求項9に記載の構成情報生成装置。
  11. 複数の再構成セルを含み、各再構成セルに含まれる演算処理部の構成を変更する再構成可能回路で用いられるリセット方法であって、
    前記各再構成セルは、
    前記演算処理部による演算結果を保持する演算記憶部と、
    前記演算記憶部のリセットの要否を示すリセットフラグを保持しているフラグ保持部とを備え、
    前記リセット方法は、
    前記フラグ保持部からリセットフラグを取得するステップと、
    前記リセットフラグの値を判断するステップと、
    前記再構成処理部の構成変更時に、前記リセットフラグの値に応じて、前記演算記憶部のリセットを制御するステップとを含む
    ことを特徴とするリセット方法。
JP2009541027A 2007-11-12 2008-10-30 再構成可能回路、リセット方法、及び構成情報生成装置 Withdrawn JPWO2009063596A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007292829 2007-11-12
JP2007292829 2007-11-12
PCT/JP2008/003121 WO2009063596A1 (ja) 2007-11-12 2008-10-30 再構成可能回路、リセット方法、及び構成情報生成装置

Publications (1)

Publication Number Publication Date
JPWO2009063596A1 true JPWO2009063596A1 (ja) 2011-03-31

Family

ID=40638451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009541027A Withdrawn JPWO2009063596A1 (ja) 2007-11-12 2008-10-30 再構成可能回路、リセット方法、及び構成情報生成装置

Country Status (4)

Country Link
US (1) US20100023736A1 (ja)
JP (1) JPWO2009063596A1 (ja)
CN (1) CN101578768A (ja)
WO (1) WO2009063596A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9116751B2 (en) * 2011-02-08 2015-08-25 Canon Kabushiki Kaisha Reconfigurable device, processing assignment method, processing arrangement method, information processing apparatus, and control method therefor
US8572538B2 (en) * 2011-07-01 2013-10-29 Altera Corporation Reconfigurable logic block
WO2013136717A1 (ja) 2012-03-16 2013-09-19 日本電気株式会社 時系列データ処理装置、時系列データ処理方法及び時系列データ処理プログラム記憶媒体
JP6751057B2 (ja) * 2017-07-04 2020-09-02 日立オートモティブシステムズ株式会社 電子制御システム
JP6726648B2 (ja) * 2017-08-28 2020-07-22 日立オートモティブシステムズ株式会社 電子制御装置、回路の再構成方法
CN110826705B (zh) * 2018-08-09 2022-08-19 上海寒武纪信息科技有限公司 运算方法、装置及相关产品

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH104345A (ja) * 1996-06-18 1998-01-06 Hitachi Ltd フィールドプログラマブルゲートアレイ
JP2001202236A (ja) * 2000-01-20 2001-07-27 Fuji Xerox Co Ltd プログラマブル論理回路装置によるデータ処理方法、プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路再構成方法
DE10249204A1 (de) * 2001-10-29 2003-05-28 Siemens Ag Rekonfigurierbare digitale Logikeinheit
JP2005165961A (ja) * 2003-12-05 2005-06-23 Matsushita Electric Ind Co Ltd 動的再構成論理回路装置、割込制御方法、及び、半導体集積回路
JP5096923B2 (ja) * 2005-11-25 2012-12-12 パナソニック株式会社 動的再構成論理回路を有するマルチスレッドプロセッサ
JP4490392B2 (ja) * 2006-05-30 2010-06-23 富士通マイクロエレクトロニクス株式会社 初期化回路を自動構築するリコンフィグ可能な集積回路装置

Also Published As

Publication number Publication date
CN101578768A (zh) 2009-11-11
WO2009063596A1 (ja) 2009-05-22
US20100023736A1 (en) 2010-01-28

Similar Documents

Publication Publication Date Title
JPWO2009063596A1 (ja) 再構成可能回路、リセット方法、及び構成情報生成装置
US8176302B2 (en) Data processing arrangement comprising a reset facility
US20070255928A1 (en) Processor
US9935637B2 (en) Systems and methods for FPGA development and operation
JP4706855B2 (ja) 動作合成装置及び回路設計支援方法
US20100174884A1 (en) Processor having reconfigurable arithmetic element
JP5228546B2 (ja) 動作合成装置、および、プログラム
JPWO2006109623A1 (ja) コンピュータシステム、コンフィギュレーション情報を表すデータ構造、並びにマッピング装置および方法
JP2008136184A (ja) 再構成可能な集積回路、回路再構成方法及び回路再構成装置
JPWO2007060932A1 (ja) 動的再構成論理回路を有するマルチスレッドプロセッサ
JP2022072452A (ja) 情報処理装置、及びプログラム
US7996657B2 (en) Reconfigurable computing circuit
JP2007304073A (ja) 半導体装置および半導体装置のテスト実行方法
US7475221B1 (en) Circular buffer addressing
JP2007006125A (ja) 画像処理支援装置、電子カメラ、画像処理装置、現像処理システム、並びにこれらの画像処理支援装置および画像処理装置を実現するプログラム
JP5267376B2 (ja) 動作合成装置、動作合成方法、ならびに、プログラム
JP4894218B2 (ja) 半導体集積回路
JP2009187075A (ja) デジタル回路
JP2008005020A (ja) プログラマブル論理回路
JP2009217720A (ja) プログラム生成装置およびプログラム生成方法
JP2005331311A (ja) テストモード設定回路
CN113721979A (zh) 可配置位宽的寄存器电路及方法、解码电路和芯片
JP2003044315A (ja) 半導体集積回路用デバッグ回路、および、半導体集積回路のデバッグ方法
JP2004302856A (ja) 集積回路装置およびその装置に対するデータ設定装置
JP2008042546A (ja) 論理動作回路、論理切換方法及び電子機器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110808

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20130128