JP2007329760A - Programmable logic device, circuit information input controller, and semiconductor device - Google Patents
Programmable logic device, circuit information input controller, and semiconductor device Download PDFInfo
- Publication number
- JP2007329760A JP2007329760A JP2006160124A JP2006160124A JP2007329760A JP 2007329760 A JP2007329760 A JP 2007329760A JP 2006160124 A JP2006160124 A JP 2006160124A JP 2006160124 A JP2006160124 A JP 2006160124A JP 2007329760 A JP2007329760 A JP 2007329760A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- logic
- logic circuit
- data transfer
- circuit information
- 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.)
- Abandoned
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Abstract
Description
本発明は、動的にプログラムを変更可能なプログラマブル論理デバイス、回路情報入力制御装置および半導体装置に関する。 The present invention relates to a programmable logic device capable of dynamically changing a program, a circuit information input control device, and a semiconductor device.
動的にプログラムを変更可能なプログラマブル論理デバイスにおいてそれぞれのプログラム間でデータの受け渡しを行なう方法としては、特許文献1に記載の技術がある。この特許文献1に記載の技術によれば、プログラマブル論理デバイスの外部の共有メモリを介してデータの転送を行なうようにしている。より詳細には、1つめの論理回路で出力したデータを、外部の共有メモリへ一度保存して、2つめの論理回路を実行する際に、共有メモリから読み込むことで転送を実現する、というものである。すなわち、外部メモリとのデータの通信が入出力部分に集中することにより、通信部分がシステム全体の性能の支配的な要素となる。
As a method for transferring data between programs in a programmable logic device capable of dynamically changing a program, there is a technique described in
上述のように共有メモリを介してデータを転送する手法は、転送データを一度必ずメモリに記録することで回路設計の自由度は高くなるため、それぞれ論理回路で独立した設計が可能であり、論理回路ごとの最適化が容易だが、メモリアクセス速度が律速する。 As described above, the method of transferring data via the shared memory increases the degree of freedom in circuit design by always recording the transfer data in the memory. Therefore, independent design is possible for each logic circuit. Although optimization for each circuit is easy, the memory access speed is limited.
また、特許文献2や非特許文献1によれば、内部データをプログラマブル論理デバイスの内部データを転送する方法として、2つの論理回路で転送するデータの配置を同じメモリ素子に割り当てている。このように2つの論理回路に対して同じ記憶装置を割り当てる場合においては、論理回路の変更を行なうことでデータの転送が可能である。
Further, according to
しかしながら、特許文献2や非特許文献1に記載の技術によれば、2つの論理回路でメモリの割り当てが物理的に制限されることから、通信性能の向上を目的とした論理回路の回路動作速度や回路規模などの最適化や、一度設計した回路を部品として別の用途に対して流用する再利用性の向上が困難である。
However, according to the techniques described in
本発明は、上記に鑑みてなされたものであって、データ転送用に特別な回路を専用に用意することなく、データの通信部分が処理性能全体のボトルネックとならないようにすることができるとともに、メモリに記録するのと同程度の回路間の設計の独立性を確保することができるプログラマブル論理デバイス、回路情報入力制御装置および半導体装置を提供することを目的とする。 The present invention has been made in view of the above, and it is possible to prevent a data communication portion from becoming a bottleneck of the overall processing performance without preparing a special circuit for data transfer. An object of the present invention is to provide a programmable logic device, a circuit information input control device, and a semiconductor device capable of ensuring the same degree of design independence between circuits as is recorded in a memory.
上述した課題を解決し、目的を達成するために、本発明のプログラマブル論理デバイスは、複数の回路情報を選択的に与えることで複数の論理回路を実現可能な処理回路部と、前記論理回路を実現する回路情報が設定される回路情報設定メモリと、前記処理回路部に信号線を介して接続されており、前記回路情報設定メモリに設定されている前記回路情報に応じて前記処理回路部における前記論理回路の切り替えの制御を行なう回路情報入力制御部と、を備え、前記回路情報入力制御部は、前記処理回路部が第1の論理回路の実行中に第2の論理回路への変更要求を受けた場合、前記処理回路部が第1の論理回路の実行終了後に、前記第1の論理回路と前記第2の論理回路のどちらでも利用するデータの転送を行うためのデータ転送用論理回路に切り替え、前記処理回路部が前記データ転送用論理回路によるデータ転送の実行を終了した後、前記第2の論理回路に切り替える。 In order to solve the above-described problems and achieve the object, a programmable logic device according to the present invention includes a processing circuit unit capable of realizing a plurality of logic circuits by selectively providing a plurality of circuit information, and the logic circuit. A circuit information setting memory in which circuit information to be realized is set is connected to the processing circuit unit via a signal line, and in the processing circuit unit according to the circuit information set in the circuit information setting memory A circuit information input control unit that controls switching of the logic circuit, wherein the circuit information input control unit requests a change to the second logic circuit while the processing circuit unit is executing the first logic circuit. The data transfer logic circuit for transferring data used by either the first logic circuit or the second logic circuit after the processing circuit unit finishes executing the first logic circuit. The switching, after the processing circuit unit finishes execution of the data transfer by the logic circuit for the data transfer is switched to the second logic circuit.
また、本発明の回路情報入力制御装置は、複数の回路情報を選択的に与えることで複数の論理回路を実現可能な処理回路部に信号線を介して接続され、回路情報設定メモリに設定されている前記回路情報に応じて前記処理回路部における前記各論理回路の切り替えの制御を行なう回路情報入力制御装置であって、前記処理回路部が第1の論理回路の実行中に第2の論理回路への変更要求を受けた場合、前記処理回路部が第1の論理回路の実行終了後に、前記第1の論理回路と前記第2の論理回路のどちらでも利用するデータの転送を行うためのデータ転送用論理回路に切り替え、前記処理回路部が前記データ転送用論理回路によるデータ転送の実行を終了した後、前記第2の論理回路に切り替える。 Further, the circuit information input control device of the present invention is connected to a processing circuit unit capable of realizing a plurality of logic circuits by selectively providing a plurality of circuit information via a signal line, and is set in a circuit information setting memory. A circuit information input control device that controls switching of each logic circuit in the processing circuit unit in accordance with the circuit information, wherein the processing circuit unit executes a second logic during execution of the first logic circuit. When receiving a change request to the circuit, the processing circuit unit transfers data used by either the first logic circuit or the second logic circuit after the execution of the first logic circuit is completed. After switching to the data transfer logic circuit, the processing circuit unit switches to the second logic circuit after completing the execution of data transfer by the data transfer logic circuit.
また、本発明の半導体装置は、請求項1ないし6のいずれか一記載のプログラマブル論理デバイスと、このプログラマブル論理デバイスを制御するための制御装置と、前記プログラマブル論理デバイスの処理回路部における各論理回路にかかる回路情報を保存する記憶装置と、を備える。
A semiconductor device according to the present invention includes a programmable logic device according to any one of
本発明によれば、データ転送用に特別な回路を専用に用意することなく、データの通信部分が処理性能全体のボトルネックとならないようにすることができるとともに、メモリに記録するのと同程度の回路間の設計の独立性を確保することができるという効果を奏する。 According to the present invention, it is possible to prevent a communication part of data from becoming a bottleneck of the overall processing performance without preparing a special circuit for data transfer, and to the same extent as recording in a memory. The independence of the design between the circuits can be ensured.
以下に添付図面を参照して、この発明にかかるプログラマブル論理デバイス、回路情報入力制御装置および半導体装置の最良な実施の形態を詳細に説明する。 Exemplary embodiments of a programmable logic device, a circuit information input control device, and a semiconductor device according to the present invention will be explained below in detail with reference to the accompanying drawings.
[第1の実施の形態]
本発明の第1の実施の形態を図1ないし図15に基づいて説明する。
[First Embodiment]
A first embodiment of the present invention will be described with reference to FIGS.
[プログラマブル論理デバイスの構成]
図1は、本発明の第1の実施の形態にかかるプログラマブル論理デバイス50を備える半導体装置100を示すブロック図である。図1に示すように、半導体装置100は、動的にプログラムを変更可能なプログラマブル論理デバイス50を備えている。このプログラマブル論理デバイス50には、プログラマブル論理デバイス50を制御するための制御装置であるホストプロセッサ10と、複数の回路情報や処理に用いるデータなどが保存された記憶装置であるメインメモリ20とが接続されている。なお、メインメモリ20に保存される論理回路の回路情報はユーザが予め用意するものであり、各論理回路にはユーザにより一意に定まる識別子が割り当てられている。
[Programmable logic device configuration]
FIG. 1 is a block diagram showing a
プログラマブル論理デバイス50は、図1に示すように、処理回路部51と回路情報入力制御部(回路情報入力制御装置)52とを回路情報入力信号線53により接続して構成されている。
As shown in FIG. 1, the
まず、プログラマブル論理デバイス50を構成する処理回路部51について説明する。図2は、処理回路部51の構成を例示的に示す回路図である。図2に示すように、処理回路部51は、ルックアップテーブルなどのロジックブロック(LB)51Lと、データパスを構成するためのスイッチブロック(SB)51Sと、論理回路内部の処理で利用するデータを保存するためのメモリ(MEM)51Mとから構成されている。また、ロジックブロック(LB)51Lと、スイッチブロック(SB)51Sと、メモリ(MEM)51Mとは、回路情報入力信号線53により接続されている。なお、図2中、無表記の四角形もスイッチブロック(SB)51Sと基本的には同じ構造のものである。ただし、図2中、SBと表記されているものとは、入出力のポート数の点で異なるものである。
First, the
図3は、ロジックブロック51Lの構成を例示的に示す模式図である。図3に示すように、ロジックブロック51Lは、真理値表の内容を保存するメモリ51LMと、入力信号をセレクタ信号としてメモリ51LMの内容を出力するセレクタ51LSとから構成されており、任意の論理を実現する。
FIG. 3 is a schematic diagram exemplarily showing the configuration of the
なお、図3に示すロジックブロック51Lの構成は一例であり、ロジックブロック51Lは、算術演算や論理演算を行うことが出来、処理を定義する情報を保存するメモリを持つ演算装置であれば、形態を特定しない。例えば、プロセッサや命令メモリを持つALU(Arithmetic and Logic Unit)でも良い。また、任意の論理が処理できなくとも良い。
Note that the configuration of the
図4は、スイッチブロック51Sの構成を例示的に示す模式図である。図4に示すように、スイッチブロック51Sは、格子状に配置したスイッチ51SSと、スイッチ51SSのON/OFFを制御するためのメモリ51SMとから構成されている。
FIG. 4 is a schematic diagram exemplarily showing the configuration of the
なお、図4に示すスイッチブロック51Sの構成は一例であり、スイッチブロック51Sは、経路の情報を保存するメモリと、同時に複数組に対して通信する手段があれば良い。
Note that the configuration of the
すなわち、プログラマブル論理デバイス50の処理回路部51においては、上述したようなロジックブロック51Lのメモリ51LMおよびスイッチブロック51Sのメモリ51SMに対し、外部からの回路情報入力信号線53を介して回路情報を表現したデータを入力することで、ユーザの定義した論理回路を実現する。
That is, in the
次に、回路情報入力制御部52について説明する。回路情報入力制御部52は、処理回路部51の実行する論理回路の切り替えの制御を行なうものである。ここで、図5は回路情報入力制御部52の構成を示すブロック図である。図5に示すように、回路情報入力制御部52は、現在実行中の論理回路の識別子を保存するメモリ52Maと、次に実行する論理回路の識別子を保存するメモリ52Mbと、メモリ52Maとメモリ52Mbに保存された識別子から転送用の論理回路の識別子を得るためのテーブル52Tと、論理回路の回路情報が設定される回路情報設定メモリであるコンフィギュレーションメモリ54と、回路情報入力制御部52の状態遷移を制御するコントローラ52Pとから構成されている。
Next, the circuit information
回路情報入力制御部52は、上述した構成により、ホストプロセッサ10から送信される制御命令や変更する論理回路の識別子等の信号に従い、メインメモリ20からコンフィギュレーションメモリ54への論理回路の回路情報の転送と、メインメモリ20からテーブル52Tへのテーブル情報の転送といった初期化処理を行なう。また、回路情報入力制御部52は、コンフィギュレーションメモリ54から処理回路部51への論理回路の回路情報の転送と、処理回路部51の実行する論理回路の切り替えの制御といった論理回路変更処理も行なう。
With the configuration described above, the circuit information
なお、論理回路変更の際には、回路情報入力信号線53を介して、ロジックブロック51Lのメモリ51LMおよびスイッチブロック51Sのメモリ51SMへとコンフィギュレーションメモリ54から出力する回路情報を書き込む。
When the logic circuit is changed, circuit information output from the
[プログラマブル論理デバイスでの処理]
次に、プログラマブル論理デバイス50での処理の一例として、以下のようなプログラムを処理する場合について説明する。
for ( int i= 0 ; i<1000 ; i++ ){
// 論理回路Aで処理
z = x + y;
a = IN + b;
b = IN >> z;
}
for ( int i= 0 ; i<1000 ; i++ ){
// 論理回路Bで処理
OUT = a + b;
c = IN << a;
d = IN + c;
}
[Processing with programmable logic devices]
Next, as an example of processing in the
for (int i = 0; i <1000; i ++) {
// Process in logic circuit A z = x + y;
a = IN + b;
b = IN >>z;
}
for (int i = 0; i <1000; i ++) {
// Process with logic circuit B
OUT = a + b;
c = IN <<a;
d = IN + c;
}
上記のプログラムをプログラマブル論理デバイス50の処理回路部51で実行する場合においては、例えば、論理回路Aについては図6に示す論理回路で処理し、論理回路Bについては図7に示す論理回路で処理する。図6に示した論理回路Aと図7に示した論理回路Bとでは、上記プログラム中の変数a,bが、物理的に異なるメモリ51Mにそれぞれ割り当ててある。
When the above program is executed by the
本実施の形態のプログラマブル論理デバイス50においては、このような場合に効率的に処理を行なうことを目的として、図8に示すように、第1の論理回路である論理回路Aと第2の論理回路である論理回路Bの間に第3の論理回路であるデータ転送用の論理回路Tを実行するようにしたものである。
In the
図9は、論理回路Tを示す回路図である。図9に示すように、論理回路Tは、論理回路Aと論理回路Bのどちらでも利用するデータの転送を行なう。ここでは、論理回路Tは、変数a,bのみ転送をしており、x,y,zの転送は行なわない。また、転送のみを行なうため、ロジックブロック51Lは利用せずとも論理回路を実現できる点が特徴である。
FIG. 9 is a circuit diagram showing the logic circuit T. As shown in FIG. 9, the logic circuit T transfers data used by both the logic circuit A and the logic circuit B. Here, the logic circuit T transfers only the variables a and b, and does not transfer x, y, and z. In addition, since only transfer is performed, a logic circuit can be realized without using the
図10は、上記プログラムを実行した場合のタイムチャートである。図10に示すように、論理回路Aと論理回路Bはそれぞれ1000サイクル実行するが、論理回路Tは変数a,bの転送のみを行なうため1サイクルで処理が完了する。 FIG. 10 is a time chart when the above program is executed. As shown in FIG. 10, the logic circuit A and the logic circuit B each execute 1000 cycles, but the logic circuit T completes the processing in one cycle because it only transfers the variables a and b.
[回路情報入力制御部による論理回路の変更方法]
回路情報入力制御部52は、現在実行中の論理回路Aから論理回路Bへの論理回路変更では、まず、現在処理を行なっている論理回路Aと、ホストプロセッサ10に要求された論理回路Bとの間でデータ転送を行なう論理回路Tの回路情報を処理回路部51へと書き込み、論理回路Tを実行する。続いて、論理回路Bの回路情報を処理回路部51へと書き込み、論理回路Tの処理が終了した後、論理回路Bを実行する。論理回路Tの終了の識別は、処理サイクル数を外部から指定しても良いし、処理終了を伝える制御信号を設けても良い。
[Method of changing logic circuit by circuit information input controller]
In changing the logic circuit A from the currently executed logic circuit A to the logic circuit B, the circuit information
図11は、プログラマブル論理デバイス50における論理回路変更処理の流れを示すフローチャートである。以下では、図11のフローチャートの流れに従い、論理回路変更の手順を示す。なお、ホストプロセッサ10から論理回路変更が要求される論理回路の回路情報は予めコンフィギュレーションメモリ54に保存されているものとする。つまり、論理回路変更要求を行なう前に、予め回路情報をコンフィギュレーションメモリ54へと書き込んでおく。
FIG. 11 is a flowchart showing the flow of the logic circuit changing process in the
図11に示すように、プログラマブル論理デバイス50の回路情報入力制御部52は、ホストプロセッサ10から送信されたプログラマブル論理デバイス50の論理回路変更のREQ信号を受信すると、論理回路の変更が可能な状態ならば、ACK信号をホストプロセッサ10へ送信し、論理回路変更を開始する(ステップS1)。論理回路の変更が不可能な状態ならば、変更可能な状態になるまで待機する。ホストプロセッサ10は、回路情報入力制御部52からのACK信号を受信したら、変更後の論理回路の識別子Bを回路情報入力制御部52へと送信する。
As shown in FIG. 11, when the circuit information
回路情報入力制御部52は、変更後の論理回路の識別子Bを受信すると(ステップS2)、現在実行中の論理回路の識別子Aと変更後の論理回路の識別子Bを入力として、回路情報入力制御部52内のテーブル52Tを引くことで、データ転送用の論理回路の識別子Tを得る(ステップS3)。ただし、リセット直後などにより、現在実行中の論理回路が存在しない場合は、データ転送用の論理回路は必要ない。
Upon receiving the changed logic circuit identifier B (step S2), the circuit information
図12は、テーブル52Tの構造を示す模式図である。図12に示すように、テーブル52Tは、現在実行中の論理回路の識別子と、変更後の論理回路の識別子と、データ転送用の論理回路の識別子とを対応付けた構造になっている。 FIG. 12 is a schematic diagram showing the structure of the table 52T. As shown in FIG. 12, the table 52T has a structure in which the identifier of the logic circuit currently being executed, the identifier of the logic circuit after the change, and the identifier of the logic circuit for data transfer are associated with each other.
回路情報入力制御部52は、データ転送用の論理回路の識別子Tを獲得したら、コンフィギュレーションメモリ54から、論理回路Tの回路情報を読み出し、回路情報入力信号線53を介して処理回路部51内部のロジックブロック51Lやスイッチブロック51Sに対して書き込むことにより、論理回路Tの回路情報を転送する(ステップS4)。
When the circuit information
続いて、回路情報入力制御部52は、コンフィギュレーションメモリ54から、論理回路Bの回路情報を読み出し、回路情報入力信号線53を介して処理回路部51内部のロジックブロック51Lやスイッチブロック51Sに対して書き込むことにより、論理回路Bの回路情報を転送する(ステップS5)。
Subsequently, the circuit information
次いで、現在実行中の論理回路Aの処理が終了した場合には(ステップS6のYes)、論理回路Tの処理の実行を開始する(ステップS7)。 Next, when the processing of the currently executed logic circuit A is completed (Yes in step S6), execution of the processing of the logic circuit T is started (step S7).
論理回路Tの処理が終了すると(ステップS8のYes)、論理回路Bの回路情報の転送が完了したか否かを判断する(ステップS9)。 When the process of the logic circuit T is completed (Yes in step S8), it is determined whether or not the transfer of the circuit information of the logic circuit B is completed (step S9).
論理回路Bの回路情報の転送が完了したと判断すると(ステップS9のYes)、論理回路Bの処理の実行を開始し(ステップS10)、ホストプロセッサ10へ、ACK信号を送信する。
When it is determined that the transfer of the circuit information of the logic circuit B is completed (Yes in step S9), the execution of the process of the logic circuit B is started (step S10), and an ACK signal is transmitted to the
ホストプロセッサ10がACK信号を受信すると、プログラマブル論理デバイス50の論理回路変更は完了する(ステップS11)。
When the
このように本実施の形態によれば、処理回路部51において第1の論理回路(論理回路A)と第2の論理回路(論理回路B)とを続けて実行する際に、処理回路部51が第1の論理回路(論理回路A)の実行終了後に、回路情報入力制御部52の制御によって第1の論理回路(論理回路A)と第2の論理回路(論理回路B)のどちらでも利用するデータの転送を行うためのデータ転送用論理回路(論理回路T)に切り替え、処理回路部51がデータ転送用論理回路(論理回路T)によるデータ転送の実行を終了した後、回路情報入力制御部52の制御によって第2の論理回路(論理回路B)に切り替えることにより、データ転送用に特別な回路を専用に用意することなく、データの通信部分が処理性能全体のボトルネックとならないようにすることができるとともに、メモリに記録するのと同程度の回路間の設計の独立性を確保することができる。
As described above, according to the present embodiment, when the first logic circuit (logic circuit A) and the second logic circuit (logic circuit B) are successively executed in the
ここで、プログラマブル論理デバイス50の第1の変形例について説明する。図13は、第1の変形例のプログラマブル論理デバイス50のロジックブロック51Lを示す模式図である。図13に示すように、ロジックブロック51Lの第1の変形例は、図3で示した構成に加えて、回路情報入力信号線53上にセレクタ61とメモリ62とを備えている。
Here, a first modification of the
セレクタ61は、メモリ51LMへ入力する回路情報を、回路情報入力信号線53上を送信される情報と、メモリ62に保存されている情報とから選択する。メモリ62には、データ転送用の論理回路を実行する際に利用する回路情報が予め入力されている。メモリ62は、ROMを用いて製造時に回路情報を入力しても良いし、RAMを用いてデバイスの起動時に回路情報を入力しても良い。
The
加えて、セレクタ61の制御信号を回路情報入力信号線63に接続することで、スイッチブロック51Sのみに回路情報を入力する場合に比べ、全ての動作を決定するプログラミングを行なうよりも少ない回路情報でロジックブロック51Lをデータ転送用の論理回路で利用することが可能である。より詳細には、1つのロジックブロック51Lの全ての情報よりも、セレクタ61のセレクタ信号を指定する情報の方が少ないデータサイズで回路情報を表現することができるためである。図13では、メモリ51LM内全てのメモリセルに対して回路情報を直接入力する場合には16ビット必要となるが、メモリ62に予め格納された回路情報を入力するためには信号線63上のレジスタにセレクタ61の制御用のデータを1ビット入力すれば良くなる為、回路情報を削減することができる。
In addition, by connecting the control signal of the
このようにデータ転送用の論理回路を実現する回路情報が予め入力されているメモリ62を有していることにより、データ転送用の論理回路の回路情報を、メインメモリ20に保存するプログラマブル論理デバイス50全体の回路情報から削減することができるので、回路情報入力に要する時間を削減することができる。
The programmable logic device that stores the circuit information of the logic circuit for data transfer in the
次に、プログラマブル論理デバイス50の第2の変形例について説明する。図14は、第2の変形例のプログラマブル論理デバイス50のロジックブロック51Lを示す模式図である。図14に示すように、ロジックブロック51Lの第2の変形例は、メモリ51LMの他に、メモリ51LM’を有しており、一方のメモリ51LMに保存された回路情報の論理回路を実行中に、他方のメモリ51LM’に対して回路情報の入力が可能な構造をとる。
Next, a second modification of the
また、図15は第2の変形例のプログラマブル論理デバイス50のスイッチブロック51Sを示す模式図である。図15に示すように、スイッチブロック51Sの変形例は、図14に示したロジックブロック51Lの変形例と同様に、メモリ51SMの他に、メモリ51SM’を有していて、それぞれ異なる通信経路を有しており、一方のメモリ51SMに保存された回路情報の論理回路を実行中に、他方のメモリ51SM’に対して回路情報の入力が可能な構造をとる。
FIG. 15 is a schematic diagram showing a
このような、ロジックブロック51L、スイッチブロック51Sを持つ処理回路部51の場合、ある論理回路を実行中に次に実行する論理回路の情報を入力しても実行中の回路動作に影響を与えない。
In the case of such a
これにより、処理回路部51は、ロジックブロック51Lおよびスイッチブロック51Sに冗長に複数(ここでは、2組)のメモリを持たせることで、データ転送用論理回路(論理回路T)を実行中に、第2の論理回路(論理回路B)を実現する回路情報の入力を可能とすることにより、回路情報入力に要する時間を削減することができる。
Thereby, the
また、データ転送用論理回路(論理回路T)を実現する回路情報は、通信経路を実現する回路情報のみから構成されていることにより、回路情報入力に要する時間を更に削減することができる。 Further, since the circuit information for realizing the data transfer logic circuit (logic circuit T) is composed of only the circuit information for realizing the communication path, the time required for circuit information input can be further reduced.
[第2の実施の形態]
次に、本発明の第2の実施の形態を図16ないし図19に基づいて説明する。なお、前述した第1の実施の形態と同じ部分は同じ符号で示し説明も省略する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described with reference to FIGS. The same parts as those in the first embodiment described above are denoted by the same reference numerals, and description thereof is also omitted.
[プログラマブル論理デバイスの構成]
図16は、本発明の第2の実施の形態にかかるプログラマブル論理デバイス150を備える半導体装置200を示すブロック図である。図16に示すように、本実施の形態の半導体装置200は、動的にプログラムを変更可能なプログラマブル論理デバイス150を備えている。このプログラマブル論理デバイス150には、プログラマブル論理デバイス150を制御するためのホストプロセッサ10と、複数の回路情報や処理に用いるデータなどが保存されたメインメモリ20とが接続されている。
[Programmable logic device configuration]
FIG. 16 is a block diagram showing a
プログラマブル論理デバイス150は、図16に示すように、処理回路部151と回路情報入力制御部152とを、2種類の回路情報入力信号線153A,153Bにより接続して構成されている。
As shown in FIG. 16, the
まず、プログラマブル論理デバイス150を構成する処理回路部151について説明する。図17は、処理回路部151の構成を例示的に示す回路図である。図17に示すように、処理回路部151は、第1の実施の形態の処理回路部51と同じく、ロジックブロック(LB)51Lと、スイッチブロック(SB)51Sと、メモリ(MEM)51Mとから構成されている。ただし、第1の実施の形態の処理回路部51に対しては1種類の回路情報入力信号線53が接続されていたのに対し、処理回路部151にはデータ転送以外に用いるブロックであるロジックブロック51Lにのみ接続されている回路情報入力信号線153Aと、データ転送に用いるブロックであるスイッチブロック51Sにのみ接続されている回路情報入力信号線153Bとの2種類を持つという点が異なる。この構造により、処理回路部151のハードウェア資源を殆ど増加することなく、スイッチブロック51Sとロジックブロック51Lとを独立に制御することが可能となる。
First, the
回路情報入力制御部152は、処理回路部151の実行する論理回路の切り替えの制御を行なうものである。図18は、回路情報入力制御部152の構成を示すブロック図である。図18に示すように、回路情報入力制御部152は、現在実行中の論理回路の識別子を保存するメモリ52Maと、次に実行する論理回路の識別子を保存するメモリ52Mbと、メモリ52Maとメモリ52Mbに保存された識別子から転送用の論理回路の識別子を得るためのテーブル52Tと、論理回路のロジックブロック51Lに関する回路情報を保存するコンフィギュレーションメモリ154Lと、論理回路のスイッチブロック51Sに関する回路情報を保存するコンフィギュレーションメモリ154Sと、回路情報入力制御部52の状態遷移を制御するコントローラ52Pとから構成されている。
The circuit information
回路情報入力制御部152は、上述した構成により、ホストプロセッサ10から送信される制御命令や変更する論理回路の識別子等の信号に従い、メインメモリ20からコンフィギュレーションメモリ154Lやコンフィギュレーションメモリ154Sへの論理回路の回路情報の転送と、メインメモリ20からテーブル52Tへのテーブル情報の転送といった初期化処理を行なう。また、回路情報入力制御部152は、コンフィギュレーションメモリ154Lやコンフィギュレーションメモリ154Sから処理回路部151への論理回路の回路情報の転送と、処理回路部151の実行する論理回路の切り替えの制御といった論理回路変更処理も行なう。
With the above-described configuration, the circuit information
なお、コンフィギュレーションメモリ154Lの出力は回路情報入力信号線153Aに、コンフィギュレーションメモリ154Sの出力は回路情報入力信号線153Bに、それぞれ接続されている。
The output of the
[論理回路の変更手順]
回路情報入力制御部152は、現在実行中の論理回路Aから論理回路Bへの論理回路変更では、まず、現在処理を行なっている論理回路Aと、ホストプロセッサ10に要求された論理回路Bとの間でデータ転送を行なう論理回路Tの回路情報を処理回路部151へと書き込み、論理回路Tを実行する。続いて、論理回路Bの回路情報を処理回路部151へと書き込み、論理回路Tの処理が終了した後、論理回路Bを実行する。
[Procedure for changing logic circuit]
When changing the logic circuit A from the currently executed logic circuit A to the logic circuit B, the circuit information
図19は、プログラマブル論理デバイス150における論理回路変更処理の流れを示すフローチャートである。以下では、図19のフローチャートの流れに従い、論理回路変更の手順を示す。ただし、第1の実施の形態と同様に、ホストプロセッサ10から論理回路変更が要求される論理回路の回路情報は予めコンフィギュレーションメモリ154Lやコンフィギュレーションメモリ154Sに保存されているものとする。
FIG. 19 is a flowchart showing the flow of logic circuit change processing in the
図19に示すように、プログラマブル論理デバイス150の回路情報入力制御部152は、ホストプロセッサ10から送信されたプログラマブル論理デバイス50の論理回路変更のREQ信号を受信すると、論理回路の変更が可能な状態ならば、ACK信号をホストプロセッサ10へ送信し、論理回路変更を開始する(ステップS1)。論理回路の変更が不可能な状態ならば、変更可能な状態になるまで待機する。ホストプロセッサ10は、回路情報入力制御部152からのACK信号を受信したら、変更後の論理回路の識別子Bを回路情報入力制御部152へと送信する。
As illustrated in FIG. 19, when the circuit information
回路情報入力制御部152は、変更後の論理回路の識別子Bを受信すると(ステップS2)、現在実行中の論理回路の識別子Aと変更後の論理回路の識別子Bを入力として、回路情報入力制御部152内のテーブル52Tを引くことで、データ転送用の論理回路の識別子Tを得る(ステップS3)。ただし、リセット直後などにより、現在実行中の論理回路が存在しない場合は、データ転送用の論理回路は必要ない。
When the circuit information
回路情報入力制御部152は、データ転送用の論理回路の識別子Tを獲得したら、コンフィギュレーションメモリ154Sから、論理回路Tのスイッチブロック51Sの回路情報を読み出し、回路情報入力信号線153Bを介して処理回路部151内部のスイッチブロック51Sに対して書き込むことにより、論理回路Tの回路情報を転送する(ステップS21)。
When the circuit information
同時に、回路情報入力制御部152は、コンフィギュレーションメモリ154Lから、論理回路Bのロジックブロック51Lの回路情報を読み出し、回路情報入力信号線153Aを介して処理回路部151内部のロジックブロック51Lに対して書き込むことにより、論理回路Bの回路情報を転送する(ステップS22)。
At the same time, the circuit information
また、回路情報入力制御部152は、ステップS21における論理回路Tの回路情報の転送後、コンフィギュレーションメモリ154Sから、論理回路Bのスイッチブロック51Sの回路情報を読み出し、回路情報入力信号線153Bを介して処理回路部151内部のスイッチブロック51Sに対して書き込むことにより、論理回路Bの回路情報を転送する(ステップS23)。
In addition, after transferring the circuit information of the logic circuit T in step S21, the circuit information
次いで、現在実行中の論理回路Aの処理が終了した場合には(ステップS6のYes)、処理回路部151のスイッチブロック53Sのみに対し、論理回路Tの処理の実行を開始する(ステップS7)。 Next, when the processing of the currently executed logic circuit A is completed (Yes in step S6), execution of the processing of the logic circuit T is started only for the switch block 53S of the processing circuit unit 151 (step S7). .
論理回路Tの処理が終了すると(ステップS8のYes)、論理回路Bの回路情報の転送が完了したか否かを判断する(ステップS9)。 When the process of the logic circuit T is completed (Yes in step S8), it is determined whether or not the transfer of the circuit information of the logic circuit B is completed (step S9).
論理回路Bの回路情報の転送が完了したと判断すると(ステップS9のYes)、論理回路Bの処理の実行を開始し(ステップS10)、ホストプロセッサ10へ、ACK信号を送信する。
When it is determined that the transfer of the circuit information of the logic circuit B is completed (Yes in step S9), the execution of the process of the logic circuit B is started (step S10), and an ACK signal is transmitted to the
ホストプロセッサ10がACK信号を受信すると、プログラマブル論理デバイス50の論理回路変更は完了する(ステップS11)。
When the
このように本実施の形態によれば、処理回路部151と回路情報入力制御部152とを接続する信号線は、処理回路部151のスイッチブロック51Sにのみ接続されている第1の信号線153Bと処理回路部151のロジックブロック51Lにのみ接続されている第2の信号線153Aとで構成されているとともに、回路情報入力制御部152は、回路情報を保存する複数の回路情報を保存するメモリ154L,154Sを有しており、回路情報入力制御部152は、データ転送用論理回路(論理回路T)のスイッチブロック51Sの回路情報を一の回路情報を保存するメモリ154Sから読み出し、第1の信号線153Bを介して処理回路部151の内部のスイッチブロック51Sに対して書き込むことによりデータ転送用論理回路(論理回路T)の回路情報を転送するとともに、第2の論理回路(論理回路B)のロジックブロック51Lの回路情報を他の回路情報を保存するメモリ154Lから読み出し、第2の信号線153Aを介して処理回路部151の内部のロジックブロック51Lに対して書き込むことにより第2の論理回路(論理回路B)の回路情報を転送する。これにより、それぞれで別の制御が可能になる(論理回路Tに必要な情報のみを入力する系統である信号線153Bと、それ以外に入力する系統である153Aから構成される場合には、信号線153Bで論理回路Tの構成情報を入力している間に、153Aで論理回路Bの構成情報の入力ができる)ので、処理回路部151のハードウェア資源を殆ど増加することなく、スイッチブロック51Sとロジックブロック51Lとを独立に制御することができ、処理効率を向上させることができる。
Thus, according to the present embodiment, the signal line connecting the
10 制御装置
20 記憶装置
50,150 プログラマブル論理デバイス
51,151 処理回路部
52,152 回路情報入力制御部、回路情報入力制御装置
53 信号線
62 メモリ
100,200 半導体装置
153B 第1の信号線
153A 第2の信号線
54,154L,154S 回路情報設定メモリ
A 第1の論理回路
B 第2の論理回路
T データ転送用論理回路
DESCRIPTION OF
Claims (8)
前記論理回路を実現する回路情報が設定される回路情報設定メモリと、
前記処理回路部に信号線を介して接続されており、前記回路情報設定メモリに設定されている前記回路情報に応じて前記処理回路部における前記論理回路の切り替えの制御を行なう回路情報入力制御部と、
を備え、
前記回路情報入力制御部は、前記処理回路部が第1の論理回路の実行中に第2の論理回路への変更要求を受けた場合、前記処理回路部が第1の論理回路の実行終了後に、前記第1の論理回路と前記第2の論理回路のどちらでも利用するデータの転送を行うためのデータ転送用論理回路に切り替え、前記処理回路部が前記データ転送用論理回路によるデータ転送の実行を終了した後、前記第2の論理回路に切り替える、
ことを特徴とするプログラマブル論理デバイス。 A processing circuit unit capable of realizing a plurality of logic circuits by selectively giving a plurality of circuit information;
Circuit information setting memory in which circuit information for realizing the logic circuit is set;
A circuit information input control unit that is connected to the processing circuit unit via a signal line and controls switching of the logic circuit in the processing circuit unit in accordance with the circuit information set in the circuit information setting memory When,
With
When the processing circuit unit receives a change request to the second logic circuit while the processing circuit unit is executing the first logic circuit, the circuit information input control unit is configured such that after the processing circuit unit finishes executing the first logic circuit, , Switching to a data transfer logic circuit for transferring data used by either the first logic circuit or the second logic circuit, and the processing circuit unit executing data transfer by the data transfer logic circuit After finishing the above, switching to the second logic circuit,
A programmable logic device characterized by that.
ことを特徴とする請求項1記載のプログラマブル論理デバイス。 In addition to the circuit information setting memory, the processing circuit unit includes a memory in which the circuit information for realizing one or a plurality of the logic circuits usable in the data transfer logic circuit is input in advance. ,
The programmable logic device according to claim 1.
ことを特徴とする請求項1記載のプログラマブル論理デバイス。 The processing circuit unit inputs the circuit information for realizing the second logic circuit while executing the data transfer logic circuit by providing the logic block and the switch block with a plurality of redundant memories. Possible,
The programmable logic device according to claim 1.
ことを特徴とする請求項3記載のプログラマブル論理デバイス。 The circuit information for realizing the data transfer logic circuit is composed only of circuit information for realizing a communication path.
The programmable logic device according to claim 3.
前記回路情報入力制御部は、前記データ転送用論理回路の前記データ転送に用いるブロックの回路情報を一の前記回路情報設定メモリから読み出し、前記第1の信号線を介して前記処理回路部内部の前記データ転送に用いるブロックに対して書き込むことにより前記データ転送用論理回路の回路情報を転送するとともに、前記第2の論理回路の前記データ転送以外に用いるブロックの回路情報を他の前記回路情報設定メモリから読み出し、前記第2の信号線を介して前記処理回路部内部の前記データ転送以外に用いるブロックに対して書き込むことにより前記第2の論理回路の回路情報を転送する、
ことを特徴とする請求項1記載のプログラマブル論理デバイス。 The signal line connecting the processing circuit unit and the circuit information input control unit is not only the first signal line connected to the block used for data transfer of the processing circuit unit and the data transfer of the processing circuit unit. A second signal line connected only to a block to be used, and a plurality of the circuit information setting memories,
The circuit information input control unit reads out circuit information of a block used for the data transfer of the data transfer logic circuit from one circuit information setting memory, and the circuit information input control unit includes an internal circuit of the processing circuit unit via the first signal line. The circuit information of the data transfer logic circuit is transferred by writing to the block used for the data transfer, and the circuit information of the block used for other than the data transfer of the second logic circuit is set to the other circuit information setting. Read circuit information of the second logic circuit by reading from the memory and writing to a block used for other than the data transfer inside the processing circuit unit via the second signal line,
The programmable logic device according to claim 1.
ことを特徴とする請求項5記載のプログラマブル論理デバイス。 The block used for the data transfer is a switch block of the processing circuit unit, and the block used for other than the data transfer is a logic block of the processing circuit unit.
The programmable logic device according to claim 5.
前記処理回路部が第1の論理回路の実行中に第2の論理回路への変更要求を受けた場合、前記処理回路部が第1の論理回路の実行終了後に、前記第1の論理回路と前記第2の論理回路のどちらでも利用するデータの転送を行うためのデータ転送用論理回路に切り替え、前記処理回路部が前記データ転送用論理回路によるデータ転送の実行を終了した後、前記第2の論理回路に切り替える、
ことを特徴とする回路情報入力制御装置。 The processing circuit unit is connected to a processing circuit unit capable of realizing a plurality of logic circuits by selectively providing a plurality of circuit information via a signal line, and according to the circuit information set in a circuit information setting memory. A circuit information input control device for controlling switching of each of the logic circuits in
When the processing circuit unit receives a request to change to the second logic circuit during execution of the first logic circuit, the processing circuit unit, after completing the execution of the first logic circuit, After switching to a data transfer logic circuit for transferring data to be used by either of the second logic circuits, the processing circuit unit ends execution of data transfer by the data transfer logic circuit, and then the second logic circuit Switch to the logic circuit
A circuit information input control device.
このプログラマブル論理デバイスを制御するための制御装置と、
前記プログラマブル論理デバイスの処理回路部における各論理回路にかかる回路情報を保存する記憶装置と、
を備えることを特徴とする半導体装置。 A programmable logic device according to any one of claims 1 to 6;
A control device for controlling the programmable logic device;
A storage device for storing circuit information related to each logic circuit in the processing circuit unit of the programmable logic device;
A semiconductor device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006160124A JP2007329760A (en) | 2006-06-08 | 2006-06-08 | Programmable logic device, circuit information input controller, and semiconductor device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006160124A JP2007329760A (en) | 2006-06-08 | 2006-06-08 | Programmable logic device, circuit information input controller, and semiconductor device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007329760A true JP2007329760A (en) | 2007-12-20 |
Family
ID=38929923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006160124A Abandoned JP2007329760A (en) | 2006-06-08 | 2006-06-08 | Programmable logic device, circuit information input controller, and semiconductor device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007329760A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5858036B2 (en) * | 2011-03-02 | 2016-02-10 | 日本電気株式会社 | Reconfigurable circuit |
US9525422B2 (en) | 2013-09-19 | 2016-12-20 | Kabushiki Kaisha Toshiba | Reconfigurable semiconductor integrated circuit and electronic device |
-
2006
- 2006-06-08 JP JP2006160124A patent/JP2007329760A/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5858036B2 (en) * | 2011-03-02 | 2016-02-10 | 日本電気株式会社 | Reconfigurable circuit |
US9299424B2 (en) | 2011-03-02 | 2016-03-29 | Nec Corporation | Reconfigurable circuit and method for refreshing reconfigurable circuit |
US9525422B2 (en) | 2013-09-19 | 2016-12-20 | Kabushiki Kaisha Toshiba | Reconfigurable semiconductor integrated circuit and electronic device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5301381B2 (en) | Memory access device control in data-driven architecture mesh arrays | |
KR20190044574A (en) | Synchronization on a multi-tile processing array | |
WO2016209406A1 (en) | Computer architecture using rapidly reconfigurable circuits and high-bandwidth memory interfaces | |
JPWO2003023602A1 (en) | Data processing system and control method thereof | |
CN116685943A (en) | Self-dispatch threading in programmable atomic units | |
JP2009252128A (en) | Memory control apparatus and method of controlling the same | |
JP2007133456A (en) | Semiconductor device | |
JP2007329760A (en) | Programmable logic device, circuit information input controller, and semiconductor device | |
JP2008152409A (en) | Semiconductor integrated circuit | |
JP2005209207A (en) | Method for managing data in array processor, and array processor | |
WO2009098737A1 (en) | External device access apparatus, its controlling method and system lsi | |
JP2006338538A (en) | Stream processor | |
US20220121483A1 (en) | Thread execution control in a barrel processor | |
US7949860B2 (en) | Multi thread processor having dynamic reconfiguration logic circuit | |
JP2008090455A (en) | Multiprocessor signal processor | |
JP2007034392A (en) | Information processor and data processing method | |
JP2006236106A (en) | Data processor and data processing method | |
KR100781358B1 (en) | System and method for data process | |
JP4743581B2 (en) | Data processing system and control method thereof | |
JP3861898B2 (en) | Data processing system, array type processor, data processing apparatus, computer program, information storage medium | |
TWI766891B (en) | Processor of semiconductor device and method of operating same | |
JP2006302132A (en) | Signal processor, reconfigurable logic circuit device and reconfigurable sequential circuit | |
JP2008060714A (en) | Information processing system | |
JP2006202271A (en) | Stream processor and information processor | |
JP2000099452A (en) | Dma control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080926 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20100106 |