JP4005979B2 - プログラマブルゲートアレイおよび回路機能変更制御方法 - Google Patents

プログラマブルゲートアレイおよび回路機能変更制御方法 Download PDF

Info

Publication number
JP4005979B2
JP4005979B2 JP2004132988A JP2004132988A JP4005979B2 JP 4005979 B2 JP4005979 B2 JP 4005979B2 JP 2004132988 A JP2004132988 A JP 2004132988A JP 2004132988 A JP2004132988 A JP 2004132988A JP 4005979 B2 JP4005979 B2 JP 4005979B2
Authority
JP
Japan
Prior art keywords
circuit
output
output value
register
input
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
JP2004132988A
Other languages
English (en)
Other versions
JP2005318214A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004132988A priority Critical patent/JP4005979B2/ja
Publication of JP2005318214A publication Critical patent/JP2005318214A/ja
Application granted granted Critical
Publication of JP4005979B2 publication Critical patent/JP4005979B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)

Description

本発明は、時分割で複数の処理を切替えながら実行するプログラマブルゲートアレイおよびこのような処理を実現する回路機能の変更を制御する回路機能変更制御方法に関する。
時分割された複数の処理を切替えながら実行するプログラマブルゲートアレイとしては、例えば特許文献1に開示されている技術が知られている。この特許文献1の技術は、動的に再構成可能なプログラマブルゲートアレイに関するものであり、イベント管理部からの指示によりメモリプレーンから指定された回路プログラムが共用回路実現リソースにロードされるとともに、レジスタプレーンから指定されたレジスタがラッチとして回路に与えられることで所望の論理回路を実現する動的回路変更可能ゲートアレイが開示されている。このような従来のプログラマブルゲートアレイでは、一般的に処理の切替えは以下のように行われる。
従来のプログラマブルゲートアレイは、論理ブロックを有し演算処理を実行するプログラム可能アレイと、プログラム可能アレイによる演算処理の途中結果の出力を格納する複数のレジスタから構成されるレジスタ群と、プログラム可能アレイ内部に設けられた複数の論理ブロック同士の入力および出力を接続するためのプログラム可能アレイとレジスタ群1102とを接続するプログラム可能配線回路と、動的に回路を再構成する際に処理を矛盾なく切替制御する処理切替制御回路とから構成されている。
演算処理は、RAM等のプログラム可能アレイに外部からデータを書き込むことによって実行される。ここで、プログラム可能アレイは、外部からの制御により複数の処理を実行することができるように、複数の論理ブロックを有している。また、レジスタ群は、同期回路である複数のレジスタから構成され、各レジスタによってプログラム可能アレイからの出力を保持し、処理の異なる論理ブロックに対応して回路の切り替えとともに格納内容を切り替え可能となっている。
処理切替制御回路は、レジスタ群の出力と論理ブロックからなる回路情報の書き換えのタイミングを調整するために、処理変更のタイミングを回路構成に合わせて遅延させ各部に送るものである。
特開平8−250685号公報
しかしながら、このような従来のプログラマブルゲートアレイでは、処理の切替時の出力、すなわち切り替え前の処理の出力と切り替え後の処理の出力とを、レジスタ群を構成する同期回路の複数のレジスタで保持しているため、プログラム可能アレイによって非同期回路が実現された場合には、クロックと非同期に出力される非同期回路の出力をレジスタ群内部のレジスタで保持することができない。このため、プログラム可能アレイで非同期回路を実現した場合には、複数の処理を正確に切り替えることが困難であるという問題がある。
本発明は、上記に鑑みてなされたものであって、非同期回路を実現する場合においても複数の処理の切替えを正確かつ確実に行うことができるプログラマブルゲートアレイおよび回路機能変更制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、種々の回路機能を実現可能なプログラマブルゲートアレイであって、外部から入力される入力値に対して、実現する前記回路機能に応じた回路情報に基づいて演算処理を行って演算処理の出力値を出力する複数の論理ブロックを有するプログラム可能アレイと、実現する前記回路機能に応じた前記論理ブロックの出力と入力との接続関係を示す接続情報に基づいて、前記各論理ブロックの出入力間を接続する接続部と、前記プログラム可能アレイに前記回路情報の変更を指令するとともに、前記接続部に前記接続情報の変更を指令することにより、前記回路機能の変更制御を行う変更制御部と、前記変更制御部による回路機能の変更制御時に、予め定められた第1の時間の間に、実現中の回路機能に関する前記論理ブロックの出力値を保存し、前記第1の時間の経過後であって予め定められた第2の時間の間、変更後に実現される回路機能に関して保存した当該論理ブロックの出力値を当該論理ブロックの出力値として出力し、前記第2の時間だけ入力を無効にする出力値記憶部とを備えたことを特徴とするプログラマブルゲートアレイである。
また、本発明は、外部から入力される入力値に対して実現する回路機能に応じた回路情報に基づいて演算処理を行って演算処理の出力値を出力する複数の論理ブロックを有するプログラム可能アレイに対して前記回路情報の変更を指令するとともに、実現する前記回路機能に応じた前記論理ブロックの出力と入力との接続関係を示す接続情報に基づいて前記各論理ブロックの出入力間を接続する接続部に対して前記接続情報の変更を指令することにより、前記回路機能の変更制御を行う変更制御工程と、前記変更制御工程による回路機能の変更制御時に、予め定められた第1の時間の間に、実現中の回路機能に関する前記論理ブロックの出力値を出力値記憶部に保存する保存工程と、前記第1の時間の経過後であって予め定められた第2の時間の間、変更後に実現される回路機能に関して前記出力記憶部に保存した当該論理ブロックの出力値を当該論理ブロックの出力値として出力し、前記第2の時間だけ入力を無効にする出力工程とを含むことを特徴とする回路機能変更制御方法である。
本発明によれば、回路機能の変更制御時に、予め定められた第1の時間の間に、実現中の回路機能に関する論理ブロックの出力値を保存し、第1の時間の経過後であって予め定められた第2の時間の間、変更後に実現される回路機能に関して保存した当該論理ブロックの出力値を当該論理ブロックの出力値として出力し、第2の時間だけ入力を無効にすることで、プログラム可能アレイによって非同期回路を実現した場合でも、第1の時間の間にプログラム可能アレイから出力された状態を出力値記憶部で保持することができ、複数の回路機能の変更を正確に行うことができ、非同期回路を用いた論理回路の動的な再構成を正確かつ確実に実現することができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるプログラマブルゲートアレイおよび回路機能変更制御方法の最良な実施の形態を詳細に説明する。
(実施の形態1)
図1は、実施の形態1にかかるFPGA(Field Programmable Gate Array)の概略構成図である。本実施の形態は、本発明にかかるプログラマブルゲートアレイをFPGAに適用したものである。
実施の形態1のFPGAは、図1に示すように、プログラム可能アレイ101と、出力信号記憶部102と、処理切替制御回路103と、プログラム可能配線回路104とを備えている。ここで、処理切替制御回路103は本発明における変更制御部に相当する。プログラム可能配線回路104は本発明における接続部に相当する。また、出力信号記憶部102は本発明における出力値記憶部に相当する。
プログラム可能アレイ101は、複数の図示しない論理ブロックを有する回路であり、各論理ブロックは、実現する回路機能に応じて変更可能な論理値の真理値表に従って論理演算を実行するユニットである。プログラム可能アレイ101は、図1に示すように、プログラム可能配線回路104に接続されており、内部の各論理ブロックへの入力信号(process data)がプログラム可能配線回路104から供給されるようになっている。
また、プログラム可能アレイ101は、全ての出力が出力信号記憶部102に直接接続されており、内部の各論理ブロックの出力信号(process data)が出力信号記憶部102に出力されるようになっている。ここで、後述するように、出力信号記憶部102がプログラム可能配線回路104に接続されているため、プログラム可能アレイ101の各論理ブロックの出力信号の全てが出力信号記憶部102を経由してプログラム可能配線回路104に入力されるようになっている。
プログラム可能配線回路104は、プログラム可能アレイ101からの出力とプログラム可能アレイ101への入力とを接続するものである。すなわち、プログラム可能配線回路104は、図1に示すように、出力信号記憶部102を経由して、プログラム可能アレイ101内部の各論理ブロックの出力信号(process data)を入力する一方、プログラム可能アレイ101内部の各論理ブロックへの入力信号(process data)を供給する。そして、プログラム可能配線回路104の内部において、出力信号記憶部102を経由したプログラム可能アレイ101内の各論理ブロックの出力と、各論理ブロックへの入力とを接続するようになっている。このプログラム可能配線回路104の内部の接続関係は実現する回路機能に応じて接続情報として与えられ、プログラム可能となっている。
処理切替制御回路103は、プログラム可能アレイ101に対して、内部の各論理ブロックの真理値の変更を示す回路情報の変更を指令するとともに、プログラム可能配線回路104に対して各論理ブロックの入力と出力の接続関係を示す接続情報の変更を指令することにより、FPGAの回路機能の変更を制御するものである。かかる変更制御によって、本実施形態のFPGAは様々な回路を動的に実現することができ、非同期回路も実現可能となっている。
出力信号記憶部102は、プログラム可能アレイ101の処理の切替時に、切替前の処理を実行していたプログラム可能アレイ101内部の各論理ブロックの出力信号を保存し、次の処理を実行するための各論理ブロックの出力信号回路の出力信号を復帰させるものである。ここで、出力信号とはプログラム可能アレイ101の各論理ブロック間の配線上での論理値である。例えば、ある論理ブロックから出力された論理値Xが他の論理ブロックの入力信号となる場合、この論理値Xが両論理ブロック間の出力信号となる。
プログラム可能配線回路104によって各論理ブロックの出力を他の論理ブロックの入力に接続した場合は、フィードバックが発生するので、論理の出力から入力までの間の出力信号を出力信号記憶部102に記憶する必要がある。このため、出力信号記憶部102は、プログラム可能アレイ101の処理の切替時に、切替前の処理を実行する論理ブロックの出力信号を保存する。そして、出力信号記憶部102は、予め定められた時間、各論理ブロックからの出力に拘らず保存した出力信号に基づいて出力を行う。そして、当該時間の経過後、出力信号記憶部102は、次の処理を実行する各論理ブロックの保存されていた出力信号を復帰させ、所定時間、各論理ブロックからの出力に拘らず復帰した出力信号に基づいて出力を行う。なお、出力信号記憶部102の詳細な構成については後述する。
ここで、図1において、処理切替制御回路103に入力されるprocess select信号は、選択された処理を示す信号である。処理切替制御回路103から出力されてプログラム可能アレイ101に入力されるcircuit select信号は、処理切替制御回路103による切替え対象の処理を実行するために、プログラム可能アレイ101の各論理ブロック回路の真理値を変更指示する信号(回路情報の変更指令)である。処理切替制御回路103から出力されて出力信号記憶部102に入力されるregister select信号は、処理切替制御回路103による切替え対象の処理を実行するプログラム可能アレイ101の各論理ブロックの出力信号を保持する出力信号記憶部102内のレジスタを選択指示するための信号である。処理切替制御回路103から出力されてプログラム可能配線回路104に入力されるinterconnect select信号は、処理切替制御回路103による切替え対象の処理を実行するために、プログラム可能アレイ101の各論理ブロック回路の出力と入力の接続を変更指示する信号(接続情報の変更指令)である。
プログラム可能配線回路104に入力されるprocess input信号は、現在の各論理ブロックの接続によって実行される処理の入力信号である。プログラム可能配線回路104から出力されるprocess output信号は、プログラム可能アレイ101による処理の結果の出力信号である。
プログラム可能アレイ101に入力されるcircuit data信号は、プログラム可能アレイ101内部の論理ブロック論理ブロックの論理値のデータである。プログラム可能配線回路104に入力されるinterconnect data信号は、プログラム可能アレイ101内部の論理ブロックの出力と入力との接続に関するデータである。
次に、出力信号記憶部102の詳細な構成について説明する。図2は、出力信号記憶部102の内部構成を示す構成図である。図2に示すように、出力信号記憶部102は、プログラム可能アレイ101の各論理ブロックからの出力を記憶するための複数の出力信号保存回路201を備えた構成となっている。出力信号記憶部102では、プログラム可能アレイ101の出力と出力信号保存回路201とが1:1対応となっており、各出力信号保存回路201には、register select信号とprocess data信号が入力されるようになっている。
図3は、この出力信号保存回路201の構成を示す構成図である。図3に示すように、出力信号保存回路201は、保存選択制御回路301と、直列に接続された複数のレジスタ302から構成される。ここで各レジスタ302はシングルラッチ回路となっている。
また、各出力信号記憶回路201は、プログラム可能アレイ101の各論理回路からの出力信号(process data)を入力してそのまま通過させて出力する通過モードと、各論理回路からの出力信号(process data)をレジスタ203に記憶する保存モードと、各論理ブロックの出力信号(process data)に無関係に内部のレジスタ203に保持している出力信号(process data)を出力する出力モードとを有している。
保存選択制御回路301は、regiser select信号によって指定されたレジスタ302を選択して、選択されたレジスタ302に入力されたプログラム可能アレイ101の論理ブロックの出力信号(process data)を保存する保存モードと、regiser select信号がデータの通過を示す所定の値の場合に、レジスタ302の選択を行わず、入力された出力信号(process data)を通過させてそのまま外部に出力する通過モードと、プログラム可能アレイ101からの出力信号(process data)と無関係に、regiser select信号によって指定されたレジスタ302を選択し、選択されたレジスタ302に保存されている値(次に行う処理の出力信号)をプログラム可能配線回路104に出力する出力モードとを切り替える処理を行う。
次に以上のように構成された本実施の形態にかかるFPGAによる回路機能の変更制御処理について説明する。図4は、本実施の形態にかかるFPGAの回路機能の変更制御処理の手順を示すフローチャートである。
まず、process select信号で次の処理の指令を処理切替制御回路103が受け取ると、処理切替制御回路103は待機の開始を出力信号記憶部102に指示し、待機状態を開始する(ステップS401)。
出力信号保存回路201の状態は、それまで前の処理の定常状態として、process dataの保持を行わずにそのまま出力する通過モードである。このため、出力信号保存回路201は、register select信号を入力すると、保存選択制御回路301によって、上記通過モードから、process dataの入力をレジスタ302に保持する保存モードに切り替える(ステップS402)。
次に、処理切替制御回路103から出力されたregister select信号によって指定された、今までの処理を実行していたプログラム可能アレイ101の論理ブロックの出力信号を保存するレジスタ302を保存選択制御回路301によって選択する(ステップS403)。そして、保存選択制御回路301によって選択されたレジスタ302に現在の処理を実行しているプログラム可能アレイ101の論理ブロックの出力信号を保存する(ステップS404)。
そして、待機開始から予め定めされた第1の時間が経過したか否かを判断し(ステップS405)、経過するまで待機する(ステップS405:No)。
待機開始から第1の時間が経過したら(ステップS405:Yes)、保存選択制御回路301によって、上記保存モードから、レジスタ302に保持された値(次の処理の出力信号)を出力する出力モードに切り替える(ステップS406)。
次に、処理切替制御回路103からregister select信号によって次の切り替える処理の出力信号を保持するレジスタ302が指定されるので、保存選択制御回路301は、指定されたレジスタ302を選択する(ステップS407)。そして、保存選択制御回路301によって選択されたレジスタ302から次の処理の出力信号を復帰し(ステップS408)、復帰した次の処理の出力信号をprocess dataとしてプログラム可能配線回路104に出力する(ステップS409)。
そして、ステップS406の時点から予め定められた第2の時間が経過したか否かを判断し(ステップS410)、経過するまで待機する(ステップS410:No)。これによって新たな処理の安定状態に入ることになる。ステップS406の時点から第2の時間が経過したら(ステップS410:Yes)、保存選択制御回路301によって出力モードから通過モードに切り替える(ステップS411)。
次に、このような処理切替制御処理において、処理aから処理bに切り替われる場合を例にあげて説明する。図5は、処理aから処理bに切り替われる場合における各信号のタイムチャートを示す説明図である。
処理の選択指示を示すprocess select信号が定常状態の処理aである場合には、出力信号保存回路201の状態は通過モードであり(register select=free)、プログラム可能配線部104は、プログラム可能アレイ101内の各論理ブロックの出力と入力とを処理aの回路を実現するように接続し、各論理ブロックの真理値が処理aの回路を実現するようになっている(interconnect select、circuit select)。また、このとき、処理の入力信号は、そのまま有効な値として処理されている(process input=valid)。
process select信号により処理aから処理bへの切り替え指示があった場合には、処理切替制御回路103によりregister select信号によって現在の処理の論理ブロックの出力信号を保持するためのレジスタ302が指定される(register select=r_a)。そして、上記第1の時間の間、処理切替制御回路103は、出力信号保存回路201に対して、処理の入力を保持し(process input=hold)、現在の処理aの各論理ブロックの出力信号を、register select信号で指定された処理aに対応するレジスタ302に保存する。図5の例では、レジスタ302はシングルラッチ回路で構成されている、レジスタ302の内容は出力信号に従って変化する。
第1の時間を経過し、回路状態が安定状態に達すると、処理切替制御回路103によりregister select信号によって次の処理bの論理ブロックの出力信号が保持されているレジスタ302が指定される(register select=w_b)。そして、出力信号保存回路201は、処理bに対応する指定されたレジスタ302の内容をプログラム可能配線回路104に対して出力する。
このとき、プログラム可能配線回路104は、プログラム可能アレイ101内の各論理ブロックの出力と入力とを処理bの回路を実現するように接続し、各論理ブロックの真理値が処理bの回路を実現するように変更する。この時点では、回路状態がまだ不安定なため、処理の入力信号は無効状態になっている(process input=invalid)。そして、第2の時間を経過後、回路状態が安定したら、出力信号保存回路201は保存モードから通過モードに変わり(register select=free)、処理の入力信号は有効な値として処理されるようになり(process input=valid)、処理bについての定常状態になる。
このように本実施の形態にかかるFPGAでは、実現可能な複数の論理ブロックを有するプログラム可能アレイ101に対して、実行する処理に応じて論理ブロックの出力と入力の接続を行うプログラム可能配線回路104と、プログラム可能アレイ101内の各論理ブロックの出力信号を予め定められた第1の時間の間保持し、第1の時間の経過後であて第2の時間の間に、既に保持された次に実行する処理の出力信号を復帰する出力信号記憶部102を備えているので、プログラム可能アレイ101で非同期回路が実現された場合でも、第1の時間の間にプログラム可能アレイ101から出力された出力信号を出力信号記憶部102のレジスタ302で保持することができ、複数の回路機能による処理の切替えを正確かつ確実に行うことができる。
なお、本実施の形態のFPGAでは、同期回路を実現するためのレジスタ群を備えていないが、このようなレジスタ群を備えた構成とすることも可能である。
また、本実施の形態の出力信号記憶部102では、出力信号保存回路201ごとに保存選択制御回路301を備えているが、この保存選択制御回路301を単一として、すべての出力信号保存回路に共有するように構成してもよい。また、プログラム可能アレイ101の出力が、一部の出力信号保存回路201を通過しないように構成してもよい。この場合には、プログラム可能アレイ101の出力を保存する必要がないように回路構成時に構成するようにする必要がある。
(実施の形態2)
実施の形態1にかかるFPGAでは、プログラム可能アレイ101の全ての出力が直接、出力信号記憶部102に接続された構成となっていたが、本実施の形態のFPGAは、プログラム可能アレイ101の出力がプログラム可能配線回路104を介して出力信号記憶部601に接続されたものである。
すなわち、実施の形態1にかかるFPGAでは、プログラム可能アレイの出力の全て又は多くの部分に対して、出力信号記憶部102を接続しているため、論理回路を効率よく構成することができる。しかしながら、プログラム可能アレイ101の回路構成が複雑な場合には、これらのプログラム可能アレイ101の出力ごとに出力信号を保存可能であるか否かにより、可能な回路構成の幅が狭まる可能性がある。
本実施の形態にかかるFPGAでは、配線状態を保存する必要があるプログラム可能アレイ101の出力に対してのみ、個別にプログラム可能配線回路104によって出力信号記憶部601に結合するものである。これによって、出力信号記憶部601で保存可能な出力信号の総数が実施の形態1にかかるFPGAより少ない数でも実現可能な論理回路の範囲を拡大することができる。
図6は、実施の形態2にかかるFPGAの概略構成図である。本実施の形態のFPGAは、図6に示すように、プログラム可能アレイ101と、出力信号記憶部601と、処理切替制御回路103と、プログラム可能配線回路604と、レジスタ群602とを備えている。
プログラム可能配線回路604は、プログラム可能アレイ101からの出力とプログラム可能アレイ101への入力とを接続するものである。本実施の形態では、プログラム可能アレイ101の出力の中で出力状態を保存する必要がある一部の論理ブロックからの出力がプログラム可能配線回路604を介して出力信号記憶部601に接続されている。そして、プログラム可能配線回路604は、その一部の論理ブロックの個数分の出力は出力信号記憶部601に接続された構成となっている。出力状態を保存する必要が無い論理ブロックについては、プログラム可能配線回路604によって次の論理ブロックに直接接続される。すなわち、プログラム可能アレイ101の出力の中で出力信号を保存する必要がある一部の出力のみがプログラム可能配線回路104を介して出力信号記憶部601に接続された構成となっている。
レジスタ群602は、演算処理の途中結果の状態を格納するものであり、複数のレジスタから構成される。このレジスタ群602は、本実施形態のFPGAで同期回路を実現する時に用いられる。
なお、プログラム可能アレイ101、出力信号記憶部601、処理切替制御回路103の構成および機能は実施の形態1のFPGAと同様であるため、説明を省略する。また、本実施の形態のFPGAにおける処理切替制御の処理は、実施の形態1のFPGAと同様に行われるため説明を省略する。
このように本実施の形態にかかるFPGAでは、プログラム可能アレイ101の出力の中で出力信号を保存する必要がある一部の出力のみがプログラム可能配線回路104に接続され、この一部の出力のみがプログラム可能配線回路104を介して出力信号記憶部601に接続されているので、プログラム可能アレイ101の回路構成が複雑で、出力信号記憶部601で保存可能な出力信号の総数が少ない場合に、小規模な回路構成でプログラム可能アレイ101により実現可能な回路機能の範囲を拡大することができる。
なお、本実施の形態では、プログラム可能アレイ101の出力がすべてプログラム可能配線回路104を介して出力信号記憶部601に接続された構成となっているが、プログラム可能アレイ101の出力の一部が実施の形態1と同様に、出力信号記憶部601と直接接続されるように構成してもよい。
(実施の形態3)
実施の形態1および2にかかるFPGAは、非同期回路による処理の切替時における出力信号を出力信号記憶部に保存して、処理の切替を確実に行うものであったが、この実施の形態3にかかるFPGAは、さらに非同期回路の任意の処理における出力信号記憶部内部のレジスタの内容を読み出しまたは書き込みを行うことができるものである。
図7は、実施の形態3にかかるFPGAの概略構成図である。本実施の形態のFPGAは、図7に示すように、プログラム可能アレイ101と、出力信号記憶部701と、処理切替制御回路103と、プログラム可能配線回路704と、レジスタ群602とを備えている。
本実施の形態では、処理切替制御回路103からレジスタ群602にregister select信号が入力され、出力信号記憶部701から出力信号(process data)がレジスタ群602とプログラム可能配線回路704に出力されている。また、出力信号記憶部701とレジスタ群602のそれぞれには、外部から出力信号記憶部701に保存する入力値であるstatus input信号が入力され、出力信号記憶部701とレジスタ群602のそれぞれから出力信号記憶部701内部のレジスタの内容を読み出したstatus output信号が出力されるようになっている。その他の接続形態、信号の入出力は、実施の形態1のFPGAと同様であるため説明を省略する。
出力信号記憶部701は、プログラム可能アレイ101からの出力信号を通過したり保持するものである。なお、出力信号記憶部701の詳細な構成については後述する。
本実施の形態では、実施の形態1と同様に、プログラム可能アレイ101の全ての出力が出力信号記憶部701に直接接続された構成となっているが、実施の形態2のFPGAと同様に、プログラム可能アレイ101の出力の中で出力信号を保存する必要がある一部の出力のみをプログラム可能配線回路104を介して出力信号記憶部701に接続するように構成してもよい。
なお、プログラム可能アレイ101、処理切替制御回路103、プログラム可能配線回路704の構成および機能は実施の形態1のFPGAと同様であり、レジスタ群602の構成および機能も実施の形態2のFPGAと同様であるため、説明を省略する。
次に、出力信号記憶部701の詳細な構成について説明する。図8は、出力信号記憶部701の内部構成を示す構成図である。図8に示すように、出力信号記憶部701は、複数の出力信号保存回路801が直列に接続された構成となっている。出力信号記憶部701では、プログラム可能アレイ101の出力と出力信号保存回路801とが1:1対応となっており、各出力信号保存回路801には、実施の形態1と同様に、register select信号とprocess data信号が入力される他、status input信号が入力されるようになっている。
図9は、この出力信号保存回路801の構成を示す構成図である。図9に示すように、出力信号保存回路801は、保存選択制御回路901と、直列に接続された複数のレジスタ902と、仮レジスタ903とから構成される。各レジスタ902と仮レジスタ903はそれぞれシングルラッチ回路であり、各レジスタ902への書き込みおよび各レジスタ902からの読み出しを実行する際に、仮レジスタ903と各レジスタ902がダブルラッチ回路を構成し、データの記憶が可能となる。ここで、レジスタ902は本発明における第1のシングルラッチ回路を、仮レジスタ903は本発明における第2のシングルラッチ回路を構成する。
保存選択制御回路901は、実施の形態1と同様に、regiser select信号によって指定されたレジスタ902を選択して選択されたレジスタ902に入力されたプログラム可能アレイ101の論理ブロックの出力信号(process data)を保存する保存モードと、regiser select信号がデータの通過を示す所定の値の場合に、レジスタ902の選択を行わず、出力信号(process data)を通過させてそのまま外部に出力する通過モードと、プログラム可能アレイ101の出力信号(process data)と無関係に、regiser select信号によって指定されたレジスタ902を選択して選択されたレジスタ902の内容をプログラム可能配線回路104に出力する出力モードとを切り替える処理を行う。
仮レジスタ903は、FPGA外部から出力信号記憶部701に保存する入力値であるstatus input信号を入力した場合に、保存選択制御回路901で選択されたレジスタ902とダブルラッチ回路を構成するようになっている。
データを記憶する機構には、RAMの他に、データの通過および保持の機能を有するシングルラッチと、あるタイミングでデータを更新しながら保持しつづけるフリップフロップ又はダブルラッチ回路の機構がある。
ダブルラッチ回路はシングルラッチを二個組み合わせた構成であるために製造コストが高くなるという問題がある。通常、同期回路においてデータの記憶を行う場合には、ダブルラッチ回路が使用される。これは、シングルラッチで構成する場合には、状態の変化のタイミングの制御が複雑になることと、動作周波数を向上させる必要があるためである。
本実施の形態におけるレジスタ群602は、ダブルラッチ回路で構成されている。これに対し、出力信号保存回路801では、通常時には通過モードで、出力信号はレジスタ902に記憶されず単に通過しているだけであり、また非同期であるため、その記憶機構はシングルラッチ回路で構成することが好ましい。
しかしながら、シングルラッチ回路で構成した場合には、出力信号保存回路801内部のレジスタ902の内容を外部から書き込んだり、あるいは外部から読み出す場合には、その書き込みおよび読み出しの処理はクロックに同期して処理を行う同期回路であるために、シングルラッチ回路で構成されていると上述のように状態の変化のタイミング制御が複雑になり、また動作周波数の向上を図ることができないという問題がある。
このため、本実施の形態にかかるFPGAでは、上述のように出力信号保存回路801の内部にレジスタ902とは異なる仮レジスタ903を設け、この仮レジスタ903と外部からの読み書きの対象となっているレジスタ902とによってダブルラッチ回路を構成している。
すなわち、本実施の形態では、非同期回路の回路機能の処理の切替時におけるプログラム可能アレイ101の各論理ブロックの出力信号の保存を、仮レジスタ903を使用せずにシングルラッチ回路のレジスタ902のみで行い、FPGA外部からの出力信号記憶部701のレジスタ902の内容の読み書きの処理を行う場合には、仮レジスタ903と選択されたレジスタ902とでダブルラッチ回路を構成して、状態変化のタイミング制御を複雑にせず、かつ動作周波数の向上を図りながら回路の製造コストの低減を図っている。
なお、本実施の形態のFPGAにおける処理切替制御の処理は、実施の形態1のFPGAと同様に行われるため説明を省略する。
次に、以上のように構成された本実施の形態にかかるFPGAによる出力信号記憶部701への書き込みおよび出力信号記憶部701からの読み出し処理について説明する。図10は、出力信号記憶部701への書き込みおよび出力信号記憶部701からの読み出し処理における各信号のタイムチャートを示す説明図である。ここで、nb_m(m:整数)は、レジスタ902に書き込む処理bの新しい出力信号であり、cb_m(m:整数)は、レジスタ902から読み込む現在の出力信号である。また、このような書き込み、読み出し処理は、処理aにおいてprocess select信号が図10の「a rw_b」の期間に実行われる。
通常の処理実行時には(process selectが「a rw_no」の期間)、status input信号が入力されないため、仮レジスタは使用されず無効な状態となっている。ここで、処理bの現在の状態cb_m(m:整数)をレジスタ902から読み出すとともに、外部から新たな状態nb_m(m:整数)を書き込む処理を実行する場合を考える。
このような場合、status input信号が出力信号記憶部701に入力され、仮レジスタ903が有効な状態となる。また、各段の出力信号保存回路801において、保存選択制御回路901によって処理bについてのレジスタ902が選択される。
status input信号が入力されると、まず、n段目の仮レジスタ(以下、「nー仮レジスタ」という。)903に、input status信号が値が格納される。そして、次のクロックで、nー仮レジスタとダブルラッチ回路を構成する保存選択制御回路901で選択された処理bについてのレジスタnに格納される。そして、次のクロックで、レジスタnに格納された内容は、n−1段目の出力信号保存回路801の(n−1)−仮レジスタに格納され、次のクロックで、(n−1)ー仮レジスタとダブルラッチ回路を構成する保存選択制御回路901で選択された処理bについてのレジスタnー1に格納される。このように、status input信号によって入力された新たな状態nb_m(m:整数)は、出力信号記憶部701の各段の出力信号保存回路801の処理bのレジスタ902に順次シフトされて格納されていく。
一方、これと同時に、各レジスタ902に格納されている処理bの現在の状態cb_m(m:整数)は、各レジスタ902から次の段の仮レジスタ903に格納され、順次各段のレジスタ90、次の段の仮レジスタにシフトされていき、各レジスタ902の内容が順次output statusとして外部に出力される。
出力信号記憶部701のレジスタ902から現在の状態を読み出す処理のみを実行する場合には、status output信号の出力をstatus inputに戻すようにすればよい。一方、出力信号記憶部701のレジスタ902に新たな出力信号を書き込む処理のみを実行する場合には、status output信号の無視するように構成すればよい。
このように本実施の形態のFPGAでは、非同期回路の回路機能の処理の切替時における出力信号の保存を、仮レジスタ903を使用せずにシングルラッチ回路のレジスタ902のみで行い、FPGA外部からの出力信号記憶部701のレジスタ902の内容の読み書きの処理を行う場合には、仮レジスタ903と選択されたレジスタ902とでダブルラッチ回路を構成して、状態変化のタイミング制御を複雑にせず、かつ動作周波数の向上を図りながら回路の製造コストの低減を図ることができる。
なお、実施の形態1〜3にかかるFPGAでは、プログラム可能アレイ101の各論理ブロックが論理値の真理値表に従って論理演算を実行するものとしているが、この他、各論理ブロックを四則演算等の算術演算をも実行可能なように構成されたプログラム可能アレイを有するFPGA(例えば、IPFlex(R)社のDAP/DNA(R))や、各論理ブロックで小規模なプログラムを実行可能なように構成されたプログラム可能アレイを有するFPGA(例えば、日本電気株式会社(R)及びNECエレクトロニクス社(R)のDRP)にも本発明を適用することができる。
本発明のプログラマブルゲートアレイおよび回路機能変更制御方法は、複数の回路機能を実現可能なFPGAに適用することができる。
実施の形態1にかかるFPGAの概略構成図である。 実施の形態1の出力信号記憶部102の内部構成を示す構成図である。 実施の形態1の出力信号保存回路201の構成を示す構成図である。 実施の形態1にかかるFPGAによる回路機能の切替え制御処理の手順を示すフローチャートである。 処理aから処理bに切り替われる場合における各信号のタイムチャートを示す説明図である。 実施の形態2にかかるFPGAの概略構成図である。 実施の形態3にかかるFPGAの概略構成図である。 実施の形態3の出力信号記憶部701の内部構成を示す構成図である。 実施の形態3の出力信号保存回路801の構成を示す構成図である。 出力信号記憶部701への書き込みおよび状態記憶部701からの読み出し処理における各信号のタイムチャートを示す説明図である。
符号の説明
101 プログラム可能アレイ
102,601 出力信号記憶部
103 処理切替制御回路
104 プログラム可能配線回路
201 出力信号保存回路
301 保存選択制御回路
302 レジスタ
602 レジスタ群
604 プログラム可能配線回路
701 出力信号記憶部
704 プログラム可能配線回路
801 出力信号保存回路
901 保存選択制御回路
902 レジスタ
903 仮レジスタ

Claims (8)

  1. 種々の回路機能を実現可能なプログラマブルゲートアレイであって、
    外部から入力される入力値に対して、実現する前記回路機能に応じた回路情報に基づいて演算処理を行って演算処理の出力値を出力する複数の論理ブロックを有するプログラム可能アレイと、
    実現する前記回路機能に応じた前記論理ブロックの出力と入力との接続関係を示す接続情報に基づいて、前記各論理ブロックの出入力間を接続する接続部と、
    前記プログラム可能アレイに前記回路情報の変更を指令するとともに、前記接続部に前記接続情報の変更を指令することにより、前記回路機能の変更制御を行う変更制御部と、
    前記変更制御部による回路機能の変更制御時に、予め定められた第1の時間の間に、実現中の回路機能に関する前記論理ブロックの出力値を保存し、前記第1の時間の経過後であって予め定められた第2の時間の間、変更後に実現される回路機能に関して保存した当該論理ブロックの出力値を当該論理ブロックの出力値として出力し、前記第2の時間だけ入力を無効にする出力値記憶部と、
    を備えたことを特徴とするプログラマブルゲートアレイ。
  2. 前記プログラム可能アレイと前記出力値記憶部は直結されており、前記出力値記憶部は前記プログラム可能アレイの前記複数の論理ブロックからの全ての出力値を保持することを特徴とする請求項1に記載のプログラマブルゲートアレイ。
  3. 前記プログラム可能アレイは、前記出力値を記憶すべき出力のみに対して前記接続部を介して前記出力値記憶部と接続されており、
    前記出力値記憶部は、前記プログラム可能アレイからの保持すべき前記出力値を前記接続部を介して保持することを特徴とする請求項1に記載のプログラマブルゲートアレイ。
  4. 前記出力値記憶部は、前記プログラム可能アレイの複数の論理ブロックのそれぞれに対応して前記論理ブロックからの出力値を保持する複数の出力値保存回路を備え、
    前記出力値保存回路のそれぞれは、
    シングルラッチ回路である複数のレジスタと、
    前記変更制御部からの指令により、前記出力値を前記レジスタを介さずに出力する通過モードと、前記出力値を前記レジスタにに保持させる保存モードと、前記出力値にかかわらず、前記レジスタに保持されている前記出力値を出力する出力モードとを切り替える保存選択回路とを備えたことを特徴とする請求項1〜のいずれか一つに記載のプログラマブルゲートアレイ。
  5. 前記保存選択回路は、さらに、前記保存モードの場合に、現在の処理に関する前記論理ブロックから出力される前記出力値を保持するレジスタを前記複数のレジスタの中から選択し、かつ前記出力モードの場合に、次の処理に関する前記論理ブロックの出力信号を保持している前記レジスタを前記複数のレジスタの中から選択することを特徴とする請求項に記載のプログラマブルゲートアレイ。
  6. 前記出力値記憶部は、前記プログラム可能アレイからの出力値を保持して外部に出力する複数の第1のシングルラッチ回路を有する出力値保存回路と、外部から入力された状態を一時的に保持し、前記第1のシングルラッチ回路に出力する第2のシングルラッチ回路と、を備え、
    前記第1のシングルラッチ回路に保持すべき出力値が外部から前記出力値記憶部に入力された場合に、前記第1のシングルラッチ回路と前記第2のシングルラッチ回路とで構成されるダブルラッチ回路により、外部から入力された出力値を前記第2のシングルラッチ回路から前記第1のシングルラッチ回路へ移動しながら前記第1のシングルラッチ回路に保持するとともに、既に前記第1のシングルラッチ回路に保持されていた出力値を前記第2のシングルラッチ回路を介して外部に出力することを特徴とする請求項1に記載のプログラマブルゲートアレイ。
  7. 前記出力値記憶部は、前記プログラム可能アレイからの出力値を前記第1のシングルラッチ回路を介さずに通過して出力するモードと、前記プログラム可能アレイからの出力値を前記第1のシングルラッチ回路に保持させるモードとを切り替える保存選択制御回路をさらに備えたことを特徴とする請求項に記載のプログラマブルゲートアレイ。
  8. 外部から入力される入力値に対して実現する回路機能に応じた回路情報に基づいて演算処理を行って演算処理の出力値を出力する複数の論理ブロックを有するプログラム可能アレイに対して前記回路情報の変更を指令するとともに、実現する前記回路機能に応じた前記論理ブロックの出力と入力との接続関係を示す接続情報に基づいて前記各論理ブロックの出入力間を接続する接続部に対して前記接続情報の変更を指令することにより、前記回路機能の変更制御を行う変更制御工程と、
    前記変更制御工程による回路機能の変更制御時に、予め定められた第1の時間の間に、実現中の回路機能に関する前記論理ブロックの出力値を出力値記憶部に保存する保存工程と、
    前記第1の時間の経過後であって予め定められた第2の時間の間、変更後に実現される回路機能に関して前記出力記憶部に保存した当該論理ブロックの出力値を当該論理ブロックの出力値として出力し、前記第2の時間だけ入力を無効にする出力工程と、
    を含むことを特徴とする回路機能変更制御方法。
JP2004132988A 2004-04-28 2004-04-28 プログラマブルゲートアレイおよび回路機能変更制御方法 Expired - Fee Related JP4005979B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004132988A JP4005979B2 (ja) 2004-04-28 2004-04-28 プログラマブルゲートアレイおよび回路機能変更制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004132988A JP4005979B2 (ja) 2004-04-28 2004-04-28 プログラマブルゲートアレイおよび回路機能変更制御方法

Publications (2)

Publication Number Publication Date
JP2005318214A JP2005318214A (ja) 2005-11-10
JP4005979B2 true JP4005979B2 (ja) 2007-11-14

Family

ID=35445195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004132988A Expired - Fee Related JP4005979B2 (ja) 2004-04-28 2004-04-28 プログラマブルゲートアレイおよび回路機能変更制御方法

Country Status (1)

Country Link
JP (1) JP4005979B2 (ja)

Also Published As

Publication number Publication date
JP2005318214A (ja) 2005-11-10

Similar Documents

Publication Publication Date Title
US6105105A (en) Data processing system using configuration select logic, an instruction store, and sequencing logic during instruction execution
US6304101B1 (en) Programmable logic device, information processing system, method of reconfiguring programmable logic device and method compressing circuit information for programmable logic device
US5737766A (en) Programmable gate array configuration memory which allows sharing with user memory
JPH09231788A (ja) シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム
JPH10173516A (ja) Fpgaにおいてプログラム可能スイッチ素子の複数の構成設定間で時間多重化するためのメモリシステム
JP4388069B2 (ja) コンフィギュレーション可能なロジック回路装置
JP4484756B2 (ja) リコンフィギュラブル回路および処理装置
US7173451B2 (en) Programmable logic circuit apparatus and programmable logic circuit reconfiguration method
US7613899B2 (en) Reconfigurable data processing device and method
JP3351452B2 (ja) プログラマブルゲートアレイ
JP5251171B2 (ja) 論理回路装置
US5825199A (en) Reprogrammable state machine and method therefor
JP3520810B2 (ja) バックアップ機能を有するデータ保持回路
US6011740A (en) Structure and method for providing additional configuration memories on an FPGA
JP4005979B2 (ja) プログラマブルゲートアレイおよび回路機能変更制御方法
JPH0119182B2 (ja)
JP2006302132A (ja) 信号処理装置及び再構成可能論理回路装置及び再構成可能順序回路
US7535253B1 (en) Register data retention systems and methods during reprogramming of programmable logic devices
JP2004200311A (ja) 論理検証装置
JP3707360B2 (ja) 回路機能の再構成方法、及びプログラマブル論理回路装置
KR19990023884A (ko) 과도적인 효과에 의한 영향을 받지 않고 회로 스위칭이 가능한 반도체 논리회로 장치
KR100733636B1 (ko) 프로그램가능한 디바이스 및 그 프로그래밍 방법
US20020114200A1 (en) System for rapid configuration of a programmable logic device
JP3573417B2 (ja) 状態遷移回路およびその制御方法
JP2004335686A (ja) 高速低消費電力論理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070727

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070824

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110831

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees