(57)【要約】【課題】  プログラマブル論理回路装置をＬＳＩ化した場合のチップ面積を小さくし、消費電力を削減すると共に、機能切り替え時のアクセス時間を短縮することを目的とする。【解決手段】  論理回路３を複数の単位ブロックに細分化し、単位ブロックの論理回路３１を直列に接続すると共に、各単位ブロックの論理回路３１の論理演算結果を出力する構成とし、定義用メモリ２を単位ブロックの論理回路３１に対応する複数の単位ブロックに細分化し、データ出力切り替え信号により、単位ブロックの定義用メモリ２１の内容を変更する制御回路４と、制御回路４から出力されるデータ出力切り替え信号により、各単位ブロックの論理回路３１の出力を選択するセレクタ５とを備える。【選択図】  図１
2007166254.tif 000002
【特許請求の範囲】
【請求項１】
回路機能を定義する定義用データが格納されている定義用メモリと、前記定義用データに応じて論理回路の接続関係及び論理仕様が特定される論理回路を有するプログラマブル論理回路装置において、
前記論理回路を複数の単位ブロックに細分化し、前記単位ブロックの論理回路を直列に接続すると共に、前記各単位ブロックの論理回路の論理演算結果を出力する構成とし、
前記定義用メモリを前記単位ブロックの論理回路に対応する複数の単位ブロックに細分化し、前記単位ブロックの定義用メモリと前記単位ブロックの論理回路を接続する構成とし、
前記単位ブロックの定義用メモリの内容を変更する制御回路と、
作業者が指定し、前記制御回路から出力されるデータ出力切り替え信号により、前記各単位ブロックの論理回路の出力を選択するセレクタとを備えることを特徴とするプログラマブル論理回路装置。
【請求項２】
前記制御回路からの演算開始信号により動作を開始するフリーランカウンタを備え、
前記単位ブロックの定義用メモリの内容をシステムクロック毎に変更するためのフリーランカウンタのカウンタ情報を前記制御回路に出力する切り替えタイミング発生ジェネレータを備えることを特徴とする請求項１記載のプログラマブル論理回路装置。
【請求項３】
前記切り替えタイミング発生ジェネレータは前記カウンタ情報が特定の値のときのみ動作する論理クロックを前記論理回路に出力し、前記論理回路は前記論理クロックが動作しているときのみ動作することを特徴とする請求項１記載のプログラマブル論理回路装置。
【請求項４】
前記制御回路に前記定義用メモリの変更用の書き込みバッファを複数持たせ、１回のシステムクロックで同時に複数の前記単位ブロックの定義用メモリの内容を変更することを特徴とする請求項１記載のプログラマブル論理回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックデバイス（ＰＬＤ）や、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）を用いた、プログラマブル論理回路装置に関し、特に、機能変更が行えるように、回路機能を定義する定義用メモリを具備するプログラマブル論理回路装置に関する。
【背景技術】
【０００２】
従来のプログラマブル論理回路装置で機能変更を行う場合、ＦＰＧＡの回路機能を定義するＲＯＭを２セット以上設け、制御回路から演算結果を複数のバッファより読み出して機能変更を行うことができるようにしているものがある。（例えば特許文献１参照、従来例１）
【０００３】
図７は従来例１のＦＰＧＡの回路構成を示す図である。図７において、回路機能を定義する第１ＦＰＧＡ５１、第２ＦＰＧＡ５２と、第１ＦＰＧＡ５１、第２ＦＰＧＡ５２における複数の動作を規定するための回路機能を定義する回路データを記憶する第１ＲＯＭ５３、第２ＲＯＭ５４と、第１ＦＰＧＡ５１、第２ＦＰＧＡ５２に対する被処理データ及び処理後のデータを一時記憶する第１バッファ５５、第２バッファ５６と、第１ＲＯＭ５３、第２ＲＯＭ５４に記憶された複数の動作を規定する回路データより各動作ブロック毎の回路データを必要に応じて順次選択して第１ＦＰＧＡ５１、第２ＦＰＧＡ５２へ供給し、第１ＦＰＧＡ５１、第２ＦＰＧＡ５２において所望の回路機能を得るように順次機能構成を変更可能とした制御回路５７とを備えている。
このように、各処理毎の処理データ及び被処理データを第１バッファ５５、第２バッファ５６に一時的に保持し、回路構成を処理毎に書き換えて逐次処理をおこなうため、動作中においても必要に応じて機能を変更することが可能になる。
【特許文献１】特開平７−１５４２４１号公報（１頁、図１）
【０００４】
また、従来のプログラマブル論理回路装置で機能変更を行う場合、揮発性メモリで構成される定義用メモリを２セット以上設け、選択制御手段で定義用メモリの選択の切り替えを行うだけで、論理回路部にロードする定義用データを変更でき、機能変更の際に定義用メモリを書き換えることなく、機能変更を瞬時に行うことができるようにしているものがある。（例えば、特許文献２参照、従来例２）
【０００５】
図８は従来例２の実施例を示すブロック図である。図８において、定義用データに応じて論理回路の接続関係および論理仕様が特定される論理回路部６４と、この論理回路部６４に与える定義用データを格納する定義用メモリ部６７とを備え、定義用メモリ部６７は、２つの揮発性メモリ６２及び６３と、揮発性メモリ６２および６３のいずれか一方から定義用データを選択的に論理回路部６４にロードする選択制御手段６６とを備えている。このように、定義用メモリとして揮発性メモリを２セット有するので、選択制御手段６６で揮発性メモリ６２、６３の選択の切り替えを行うだけで、論理回路部６４にロードする定義データを変更できる。すなわち、定義用メモリが１セットしかなかった従来装置のように、機能変更の際に定義用データを書き換える必要がなくなり、機能変更を瞬時に行うことが可能になる。
【特許文献２】特開平５−６３５５１号公報（１頁−２頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来例１のプログラマブル論理回路装置では、複数のＲＯＭ、ＦＰＧＡ、バッファが必要でありＬＳＩ化した場合チップ面積と消費電力の増大を招く。また、ＲＯＭからＦＰＧＡへのロード時間は必ず発生するため、ロードしている間のＦＰＧＡの演算は停止するため、その時間では演算結果を得ることができず、アクセス時間が増大してしまう。
また、従来例２のプログラマブル論理回路装置では、揮発性メモリで構成される定義用メモリが２セット以上必要であり、ＬＳＩ化した場合チップ面積と消費電力の増大を招く。
本発明は、このような問題点に鑑みてなされたものであり、プログラマブル論理回路装置をＬＳＩ化した場合のチップ面積を小さくし、消費電力を削減すると共に、機能切り替え時のアクセス時間を短縮することを目的とする。
【課題を解決するための手段】
【０００７】
上記問題を解決するため、本発明は、次のように構成したのである。
【０００８】
請求項１に記載の発明は、回路機能を定義する定義用データが格納されている定義用メモリと、前記定義用データに応じて論理回路の接続関係及び論理仕様が特定される論理回路を有するプログラマブル論理回路装置において、前記論理回路を複数の単位ブロックに細分化し、前記単位ブロックの論理回路を直列に接続すると共に、前記各単位ブロックの論理回路の論理演算結果を出力する構成とし、前記定義用メモリを前記単位ブロックの論理回路に対応する複数の単位ブロックに細分化し、前記単位ブロックの定義用メモリと前記単位ブロックの論理回路を接続する構成とし、前記単位ブロックの定義用メモリの内容を変更する制御回路と、作業者が指定し、前記制御回路から出力されるデータ出力切り替え信号により、前記各単位ブロックの論理回路の出力を選択するセレクタとを備えるものである。
【０００９】
また、請求項２に記載の発明は、請求項１記載のプログラマブル論理回路装置において、前記制御回路からの演算開始信号により動作を開始するフリーランカウンタを備え、前記単位ブロックの定義用メモリの内容をシステムクロック毎に変更するためのフリーランカウンタのカウンタ情報を前記制御回路に出力する切り替えタイミング発生ジェネレータを備えるものである。
また、請求項３に記載の発明は、請求項１記載のプログラマブル論理回路装置において、前記切り替えタイミング発生ジェネレータは前記カウンタ情報が特定の値のときのみ動作する論理クロックを前記論理回路に出力し、前記論理回路は前記論理クロックが動作しているときのみ動作するものである。
また、請求項４に記載の発明は、請求項１記載のプログラマブル論理回路装置において、前記制御回路に前記定義用メモリの変更用の書き込みバッファを複数持たせ、１回のシステムクロックで同時に複数の前記単位ブロックの定義用メモリの内容を変更するものである。
【発明の効果】
【００１０】
請求項１に記載の発明によると、論理回路を複数の単位ブロックに細分化し、定義用メモリを複数の単位ブロックに細分化し、１つの単位ブロックの定義用メモリの内容を変更する制御回路とを備えるので、容量の少ない単位ブロック毎に定義用メモリの変更が可能となり、機能切り替え時のアクセス時間が短縮される。また、従来複数のＲＯＭ、ＦＰＧＡ、バッファ等を必要としたシステムにおいてただ１つの揮発性メモリでの構成が可能で、ＬＳＩ化した場合のチップ面積を小さくすることができる。
また、請求項２に記載の発明によると、単位ブロックの定義用メモリの内容をシステムクロック毎に変更できるフリーランカウンタのカウンタ情報を前記制御回路に出力する切り替えタイミング発生ジェネレータを備えるので、１つの単位ブロックの論理回路が論理演算実行中にも他の単位ブロックの論理回路の定義用メモリが変更可能なので、機能切り替え時のアクセス時間が短縮される。
また、請求項３に記載の発明によると、切り替えタイミング発生ジェネレータはカウンタ情報が特定の値のときのみ動作する論理クロックを論理回路に出力し、論理回路は論理クロックが動作しているときのみ動作するので、論理回路を論理演算実行時のみしか動作させないため、ＬＳＩ化した場合の消費電力を削減することができる。
また、請求項４に記載の発明によると、制御回路に定義用メモリの変更用の書き込みバッファを複数持たせ、１回のシステムクロックで同時に複数の単位ブロックの定義用メモリの内容を変更することができるので、機能切り替え時のアクセス時間が短縮される。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【００１２】
図１は、本発明のプログラマブル論理回路装置の内部構成を示すブロック図である。
プログラマブル論理回路装置１の内部は、ＦＰＧＡの回路機能を定義する定義用データを格納する定義用メモリ２と、定義用データに応じて論理回路の接続関係及び論理仕様が特定される論理回路３と、定義用メモリ２や論理回路３を制御する制御回路４と、論理回路３からのデータ出力を選択するセレクタ５と、データ出力の切り替えのタイミングを発生させる切り替えタイミング発生ジェネレータ６からなる。
【００１３】
論理回路３はシステム内で効率良く使用できるような小さなブロックに細分化され、例えば加算と減算、加算とシフト等基本的な演算を数個組み合せたハードウエアブロックで構成する。これを単位ブロックと呼ぶ。単位ブロックは、加算、減算、乗算、割り算、シフトを基本とし、ゲート規模の大きい乗算、割り算は、必要に応じて単位ブロックに加える。論理回路３は、プログラマブルな多数の単位ブロックである第１論理回路３１〜第ｎ論理回路３４で構成されていて、直列に接続され、各論理回路の論理演算出力は次の論理回路の入力となる。定義用メモリ２は論理回路の単位ブロックに対応して容量が数ビットと少ない第１定義用メモリ２１〜第ｎ定義用メモリ２４に細分化され、それぞれに定義用データが格納される。第１定義用メモリ２１と第１論理回路３１、第ｎ定義用メモリと第ｎ論理回路は1対1に対応しており、配線で接続される。
論理回路３の各論理回路は対応する各定義用メモリに格納された定義用データに従って論理演算を行う。例えば、第１定義用メモリ２１が２ビットで構成されているとすると、データが００のとき第１論理回路３１は加算器、データが０１のとき加算器＋シフト回路というように動作する。
【００１４】
論理回路３はデータ入力を入力し、第１論理回路３１から第ｎ論理回路３４の論理演算を順次行い、その結果を接続されている次の論理回路とセレクタ５に出力する。
セレクタ５はあらかじめ作業者が図示しない入力手段により入力しておいたデータ出力切り替え信号用のデータにより、出力信号を選択してデータ出力を出力する。例えば、データ出力切り替え信号のデータが“２”の場合、第１論理回路３１と第２論理回路３２の２つの論理演算を行った結果の出力が選択される。
制御回路４は、定義用メモリ２の内容を変更する場合、システムクロックに同期して定義用メモリ２に定義用データを書き込む。
【００１５】
切り替えタイミング発生ジェネレータ６は、制御回路４から演算開始信号を受けて論理回路３の実行個所を特定するカウンタ情報を制御回路４に返す。制御回路４は、このカウンタ情報を、定義用メモリの内容を新しいものに切り替えるタイミングとして使用する。
切り替えタイミング発生ジェネレータ６は、ｎビットのフリーランカウンタで構成され、演算開始信号により動作を開始または、カウンタクリア動作を行う。
また、切り替えタイミング発生ジェネレータ６は、データ出力切り替え信号のデータにより何ビットの間でカウンタをフリーランさせるかを決定する。また、データ出力切り替え信号は、データ出力がどの論理回路の論理演算結果を出力するかを決定する。例えばデータ出力切り替え信号が“２”の場合、切り替えタイミング発生ジェネレータ９のフリーランカウンタは、“０”“１”“２”“０”“１”“２”を繰り返し、データ出力からは、第２論理回路３２の論理演算出力がデータ出力に出力される。
【００１６】
図２は、本発明のプログラマブル論理回路装置の動作のタイミングチャートである。図１と図２に従って動作の詳細を説明する。
まず制御回路４からの演算開始信号が“Ｌ”レベルになり、切り替えタイミング発生ジェネレータ６に入力されると、切り替えタイミング発生ジェネレータ６のフリーランカウンタがシステムクロックに同期して“０”“１”“２”“０”“１”“２”の動作を開始する。図２中の時間ｔ１のデータ入力が第１論理回路３１に取り込まれ、フリーランカウンタのカウンタ情報が“１”の区間で論理演算処理され、第２論理回路３２に渡される。次にカウンタ情報が“２”の区間で第２論理回路３２の論理演算処理がおこなわれ、時間ｔ１で入力されたデータ入力の論理演算結果が、時間ｔ２でデータ出力に出力される。
【００１７】
ここで論理演算実行中に回路機能を変更したい場合、定義用メモリを変更する必要がある。例えば、カウンタ情報が“２”の区間で制御回路４より第１定義用メモリ２１の内容を変更し、また、カウンタ情報が“０”の区間で制御回路４より第２定義用メモリ２２の内容を変更すれば、時間ｔ３では、時間ｔ１でのデータ入力に対して異なる論理演算結果を得ることができる。
【００１８】
図３は制御回路４に備えられた定義用メモリ変更用のバッファである。定義用メモリの番号と変更用データから構成されている。図２の例では、カウンタ情報が“２”のとき、第１定義用メモリ２１のデータがこのバッファにセットされ、カウンタ情報が“０”のとき、第２定義用メモリ２２のデータがセットされ定義用メモリが変更される。バッファへのデータのセットは制御回路４より行なう。
このように、1つの単位ブロックの論理回路が論理演算実行中にも他の単位ブロックの論理回路の定義用メモリが変更可能であり、また単位ブロックの定義メモリは容量が数ビットと少ないので、ＲＯＭやＦＰＧＡやバッファ等を準備することなく瞬時に回路の機能変更が可能であり、機能切り替え時のアクセス時間が短縮されると共に、ＬＳＩ化した際の面積を小さくすることができる。
例えば、従来例でＦＰＧＡを書き替える場合、数ｍｓの書き替え時間が必要であったが、本発明では、単位ブロックに論理回路を分け、単位ブロック毎に定義用メモリの変更ができるので、数十μｓで定義用メモリを変更することができる。
【実施例２】
【００１９】
図４は、本発明の第２の実施例のプログラマブル論理回路装置の内部構成を示すブロック図である。第２の実施例が第１の実施例と異なる点は、論理回路３の動作を、切り替えタイミング発生ジェネレータ６より出力する論理クロックで行うようにした点と、各単位ブロックの定義用メモリ２の複数個を同時に変更できるようにした点である。論理クロックを使用することにより、論理演算中のみ論理回路３を動作させることが可能である。また定義用メモリ２の変更を第１定義用メモリ２１〜第ｎ定義用メモリ２４の所定の数だけ同時に任意に行える。
【００２０】
図５は、本発明の第２の実施例のプログラマブル論理回路装置の動作のタイミングチャートである。
【００２１】
図４と図５に従って第２の実施例の動作の詳細を説明する。切り替えタイミング発生ジェネレータ６の設定は、実施例１と同様に“２”とする。制御回路４はカウンタ情報を監視しており、カウンタ情報が“１”“２”のときのみ論理クロックを動作させる。カウンタ情報が“１”“２”のときに論理クロックが動作するので、時間ｔ１でのデータ入力の結果を時間ｔ２でデータ出力から得ることができる。カウンタ情報が“０”のときは論理クロックが動作しないため、論理回路３は動作しない。また、この実施例では複数の定義用メモリを同時に変更できるので、例えば、カウンタ情報が“０”の区間で制御回路４から第１定義用メモリ２１と第２定義用メモリ２２の内容を同時に変更すれば、時間ｔ３にて論理回路３の異なる論理演算結果を得ることができる。
【００２２】
図６は第２の実施例の制御回路４に備えられた定義用メモリ変更用のバッファである。複数の定義用メモリの番号と変更用データから構成されている。こうすることにより、必要がある場合、時間はかかるが定義メモリ全体を一度に変更することも可能となる。また、実施例1に比べＬＳＩ化した場合の配線数の増加はあるが、汎用性のある回路変更が可能となる。図５の例ではカウンタ情報が“０”のときに、第１定義用メモリ２１と第２定義用メモリ２２の２つのデータをバッファにセットして変更すれば良い。バッファへのデータのセットは制御回路４より行なう。本構成を用いれば、第一の実施例の効果に加えて、論理演算する時のみ論理回路３を動作させることからＬＳＩ化した場合の消費電力を更に抑えることができる。また、１回のシステムクロックで同時に複数の単位ブロックの定義用メモリの内容を変更することができるので、機能切り替え時のアクセス時間が短縮される。
【産業上の利用可能性】
【００２３】
本実施例では、定義用メモリ部を揮発性メモリで構成したが、不揮発性メモリで構成する用途にも適用できる。また、揮発性メモリ、不揮発性メモリは外付けの場合にも適用できる。
【図面の簡単な説明】
【００２４】
【図１】本発明のプログラマブル論理回路装置の内部構成を示すブロック図
【図２】本発明のプログラマブル論理回路装置の動作のタイミングチャート
【図３】制御回路に備えられた定義用メモリ変更用のバッファ
【図４】本発明の第２の実施例のプログラマブル論理回路装置の内部構成を示すブロック図
【図５】本発明の第２の実施例のプログラマブル論理回路装置の動作のタイミングチャート
【図６】第２の実施例の制御回路に備えられた定義用メモリ変更用のバッファ
【図７】従来例１のＦＰＧＡの回路構成を示す図
【図８】従来例２の実施例を示すブロック図
【符号の説明】
【００２５】
１、６１  プログラマブル論理回路装置
２  定義用メモリ
２１  第１定義用メモリ
２２  第２定義用メモリ
２３  第３定義用メモリ
２４  第ｎ定義用メモリ
３  論理回路
３１  第１論理回路
３２  第２論理回路
３３  第３論理回路
３４  第ｎ論理回路
４、５７  制御回路
５  セレクタ
６  切り替えタイミング発生ジェネレータ
５１  第１ＦＰＧＡ
５２  第２ＦＰＧＡ
５３  第１ＲＯＭ
５４  第２ＲＯＭ
５５  第１バッファ
５６  第２バッファ
６２、６３  揮発性メモリ
６４  論理回路部
６５、６６  選択制御回路
６７  定義用メモリ部
７０  ＣＰＵ
【図１】
2007166254.tif 000003
【図２】
2007166254.tif 000004
【図３】
2007166254.tif 000005
【図４】
2007166254.tif 000006
【図５】
2007166254.tif 000007
【図６】
2007166254.tif 000008
【図７】
2007166254.tif 000009
【図８】
2007166254.tif 000010