(57)【要約】      （修正有）【課題】ＬＳＩ化した場合のチップ面積を抑えられるプログラマブル論理回路装置を提供する。【解決手段】定義用データに応じて内部論理要素の接続関係及び論理仕様が特定される論理回路部４と、この論理回路部に与える定義用データを格納する定義用メモリ部２とを備えたプログラマブル論理回路１において、論理回路部の内部論理要素と定義用メモリ部とが１対１で対応づけられ、機能変更の際には、定義用メモリ部に書き込みを行なうと同時に、被処理データを遅延回路１４を介して定義用メモリ部２の書込み終了後に論理回路部４に接続するようにタイミングを調整する調整手段１５を備えている。【選択図】    図１
2006261780.tif 000002
【特許請求の範囲】
【請求項１】
定義用データに応じて内部論理要素の接続関係及び論理仕様が特定される論理回路部と、この論理回路部に与える前記定義用データを格納する定義用メモリ部とを備えたプログラマブル論理回路において、
前記論理回路部の内部論理要素と定義用メモリ部とが１対１で対応づけられ、機能変更の際には、定義用メモリ部に書き込みを行なうと同時に、被処理データを遅延回路を介して前記定義用メモリ部の書込み終了後に前記論理回路部に接続するようにタイミングを調整する調整手段を備えたことを特徴とするプログラマブル論理回路装置。
【請求項２】
前記調整手段は、機能変更時には所定の前記遅延回路が被処理データに接続されるようにしたことを特徴とする請求項第１項記載のプログラマブル論理回路装置。
【請求項３】
前記調整手段の遅延回路を、インバータや論理回路のような所定のバッファ回路で構成したことを特徴とする請求項第１項又は２記載のプログラマブル論理回路装置。
【請求項４】
前記調整手段の遅延回路を、所定のクロックに同期させたフリップフロップ回路で構成したことを特徴とする請求項第１項又は２記載のプログラマブル論理回路装置。
【請求項５】
定義用データと順序定義用データに応じて内部論理要素の接続関係及び論理仕様が特定される論理回路部と、この論理回路部に与える前記定義用データを格納する定義用メモリ部と論理回路部の実行の順序を与える順序定義用データを格納する順序定義用メモリを備えたプログラマブル論理回路において、
機能変更の際には、定義用メモリ部と順序定義用メモリに書き込みを行なうと同時に、論理回路部の接続関係及び論理仕様が変更されるようにした切替手段を備えたことを特徴とするプログラマブル論理回路装置。
【請求項６】
前記切替手段は、前記論理回路と該論理回路の処理の順序を決定する複数のセレクタにより構成したことを特徴とする請求項第５項記載のプログラマブル論理回路装置。
【請求項７】
前記切替手段は、前記論理回路と該論理回路の処理の順序を決定する複数のセレクタを有し、かつただ１つの順序定義用データにより内部論理要素の接続関係及び論理仕様を特定することを特徴とする請求項第５項記載のプログラマブル論理回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックデバイス（ＰＬＤ）やフィールドプログラマブルゲートアレイ（ＦＰＧＡ）を用いたプログラム可能な論理回路装置に関し、機能変更を行いつつ被処理データの演算を行い、かつただ１つの発揮性メモリで構成される定義用メモリ部を具備するプログラマブル論理回路装置に関する。
【背景技術】
【０００２】
従来のプログラマブル論理回路装置では、発揮性メモリで構成される定義用メモリを２セット以上設け、選択制御手段で定義用メモリの選択の切り替えを行なうだけで、論理回路部にロードする定義用データを変更でき、機能変更の際に定義用メモリを書き換えることなく、機能変更を瞬時に行なうことができるようにしていた（例えば、特許文献１参照）。
【０００３】
図８は特許文献１のプログラマブル論理回路装置のブロック図であり、定義用データに応じて内部論理要素の接続関係が特定される論理回路部４と、この論理回路部４に与える定義用データを格納する定義用メモリ部７とを備え、定義用メモリ部７は、２つの発揮性メモリ２及び３と、発揮性メモリ２および３のいずれか一方から定義用データを選択的に論理回路部４にロードする選択制御手段６とを備えている。
このように、定義用メモリとして発揮性メモリを２セット有するので、選択制御手段６で発揮性メモリ２、３の選択の切り替えを行なうだけで、論理回路部４にロードする定義データを変更できる。すなわち、定義用メモリが１セットしかなかった従来装置のように、機能変更の際に定義用データを書き換える必要がなくなり、機能変更を瞬時に行なうことが可能になる。
【特許文献１】特開平５−６３５５１号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のプログラマブル論理回路装置１では、定義用メモリ部７は発揮性メモリ２及び３で構成され、定義用メモリを２セット以上設け、選択制御手段６で定義用メモリの選択の切り替えを行なう必要があった。このため複数個の発揮性メモリ２及び３が必要でありＬＳＩ化した場合チップ面積の増大を招くとうい問題があった。
本発明は、このような問題点に鑑みてなされたものであり、定義用メモリ、あるいは定義用メモリと順序定義用メモリを、１つの発揮性メモリで構成し、ＬＳＩ化した場合のチップ面積の増大を抑えることができるプログラマブル論理回路装置を提供することを目的としている。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、請求項１記載の発明は、定義用データに応じて内部論理要素の接続関係及び論理仕様が特定される論理回路部と、この論理回路部に与える前記定義用データを格納する定義用メモリ部とを備えたプログラマブル論理回路において、前記論理回路部の内部論理要素と定義用メモリ部とが１対１で対応づけられ、機能変更の際には、定義用メモリ部に書き込みを行なうと同時に、被処理データを遅延回路を介して前記定義用メモリ部の書込み終了後に前記論理回路部に接続するようにタイミングを調整する調整手段を備えたことを特徴としている。
また、請求項２記載の発明は、前記調整手段が機能変更時には所定の前記遅延回路が被処理データに接続されるようにしたことを特徴としている。
また、請求項３記載の発明は、前記調整手段の遅延回路を、インバータや論理回路といった所定のバッファ回路で構成したことを特徴としている。
また、請求項４記載の発明は、前記調整手段の遅延回路を所定のクロックに同期させたフリップフロップ回路で構成したことを特徴としている。
【０００６】
また、請求項５記載の発明は、定義用データと順序定義用データに応じて内部論理要素の接続関係及び論理仕様が特定される論理回路部と、この論理回路部に与える前記定義用データを格納する定義用メモリ部と論理回路部の実行の順序を与える順序定義用データを格納する順序定義用メモリを備えたプログラマブル論理回路において、機能変更の際には、定義用メモリ部と順序定義用メモリに書き込みを行なうと同時に、論理回路部の接続関係及び論理仕様が変更されるようにした切替手段を備えたことを特徴としている。
また、請求項６記載の発明は、前記切替手段が前記論理回路と該論理回路の処理の順序を決定する複数のセレクタにより構成したことを特徴としている。
また、請求項７記載の発明は、前記切替手段が前記論理回路と該論理回路の処理の順序を決定する複数のセレクタを有し、かつただ１つの順序定義用データにより内部論理要素の接続関係及び論理仕様を特定することを特徴としている。
【発明の効果】
【０００７】
請求項１記載の発明によれば、定義用メモリ部の内容を変えながら、被処理データの演算ができるので、従来のように定義用メモリ部の内容をすべてのプログラマブルな多数の単位ブロックで構成される論理回路部に反映させることを待つことがない。このため機能変更時間を短縮でき、アクセスの増大を防止できる。
また、従来２つ以上複数の発揮性メモリを必要としたシステムにおいて、ただ１つの発揮性メモリで構成することが可能になり、ＬＳＩ化した場合のチップ面積の増大を抑えることができる。
請求項２記載の発明によると、請求項１の効果に加えて、論理回路部中に機能変更に際して時間のかかるプログラマブルな単位ブロックが存在しても、被処理データが機能変更未実施の回路を通過することがないため、確実な機能変更の動作が行なえる。
請求項３記載の発明によると、請求項１又は２記載のプログラマブル論理回路装置において、所定の時間遅らせる手段にインバータや所定の論理回路を用いたため、該論理回路の挿入や切り離しを行なうことで遅延時間の設定が容易になる。
請求項４記載の発明によると、請求項１又は２記載のプログラマブル論理回路装置における所定の時間遅らせる手段にクロック同期のフリップフロップ回路を用いたため、該フリップフロップ回路の挿入や切り離しを行なうことで遅延時間の設定が容易になる。
請求項５記載の発明によれば、論理回路の演算内容を決定する基本論理回路と、その演算結果を選択するセレクタとを設けたことにより論理回路の定義用メモリと順序定義用メモリに書込むと同時に、機能変更が可能でアクセスの増大を防止できる。また、複数のチップを持つ必要がなく１つの発揮性メモリで構成できるので、ＬＳＩ化した場合のチップ面積の増大を抑えることができる。
請求項６記載の発明によれば、より大規模な機能変更に際しても短時間での変更が可能になる。
請求項７記載の発明によれば、論理回路の順序定義用メモリを１つにしたのでメモリを削減でき、ＬＳＩ化した場合のチップ面積の増大を抑えることができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【０００９】
図１は、本発明の実施例１に係るプログラマブル論理回路装置の内部構成を示すブロック図である。
図１において、プログラマブル論理回路装置１の内部は、定義用データに応じて内部論理要素の接続関係が特定される論理回路部４と、この論理回路部４に与える定義用データを格納する定義用メモリ部７を備えている。
論理回路部４は、プログラマブルな多数の単位ブロック１１（１）〜１１（ｎ）で構成されている。
プログラマブルな多数の単位ブロック１１（１）〜１１（ｎ）は、被処理データ１３を入力として、単位ブロック１１（１）、単位ブロック１１（２）、単位ブロック１１（３）、単位ブロック１１（ｎ）を経て処理済みデータ１６として論理回路部４より出力される。
プログラマブルな多数の単位ブロック１１（１）〜１１（ｎ）は、定義用メモリ部７中の発揮性メモリ２のメモリアレイと１対１で接続されている。即ち、発揮性メモリ２中の１１（１）用メモリ１２（１）の領域に所定のデータを書き込めば論理回路部４の単位ブロック１１（１）の接続関係が特定され所定の機能が実行できる。該データはＣＰＵ１０の端子８より書き込みが可能である。
被処理データ選択回路１５は、ＣＰＵ１０の端子を選択信号として、被処理データ１３と遅延回路１４を通過した被処理データが入力され、一方を選択して、論理回路部４に入力する。という調整が行なわれる。
【００１０】
図２は、本発明、第１の実施例のプログラマブル論理回路装置のタイミングチャートである。
図１と図２に沿って、実施例１のプログラマブル論理回路装置の動作を説明する。まず、所定の定義用データが、発揮性メモリ２に予め準備されている、通常演算区間ｔｏの動作を説明する。ＣＰＵ端子９が”Ｌ”レベルであった時被処理データ選択回路１５は被処理データ１３をそのまま通過させているとする。この時被処理データ１３よりＡというデータが入来すれば、被処理データ１３は、被処理データ選択回路１５をそのまま介して、論理回路部４の単位ブロック１１（１）に入力される。この後、単位ブロック１１（２）、１１（３）、１１（ｎ）を演算遅延時間ｔｄを用いて演算、通過し、処理済みデータ１６よりＡ（ｎ）というデータへ加工され、通常演算は終了する。
【００１１】
次に機能変更区間ｔｃについて説明する。
ＣＰＵ端子９が”Ｈ”レベルであった時、被処理データ選択回路１５は、被処理データ１３を遅延回路１４を介して論理回路部４に入力されているとする。この状態で、ＣＰＵ端子８より、発揮性メモリ２の内容を変更、被処理データ１３よりＣというデータを入力させる。ｔＣＰＵは、ＣＰＵ１０から発揮性メモリ２への書き込みサイクル時間を示している。ＣＰＵ端子８より発揮性メモリ２の１１（１）用メモリ１２（１）へ所定の内容が書き込まれた際、時間ｔ（１）をもって単位ブロック１１（１）の内容が変更される。
その後、所定の遅延時間を持った、遅延回路１４を通過した被処理データ１３が単位ブロック１１（１）に到達する。即ち、機能変更区間ｔｃでは、単位ブロック１１（１）の機能変更が終了した後に、被処理データ１３が入力される。
本動作を単位ブロック１１（２）、１１（３）、１１（ｎ）と繰り返し最終的に単位ブロック１１（１）、１１（２）、１１（３）、１１（ｎ）の機能変更が終了すると同時に所望する演算結果Ｃ（ｎ）データが、演算済みデータ１６より取り出せる。
このように定義用メモリの内容を変えながら、被処理データの演算ができるので、従来のように定義用メモリの内容をすべてのプログラマブルな多数の単位ブロックで構成される論理回路部４に反映させることを待つことがない。
このため機能変更時間を短縮できる。また、従来２つ以上複数の発揮性メモリを必要としたシステムにおいて、本発明では時分割処理（タイム・シェアリング）の概念を導入することによって、１つの発揮性メモリでの構成を可能にし、ＬＳＩ化した場合のチップ面積の増大を抑えることができる。
遅延回路１４はインバータや所定の論理回路で構成されるバッファ回路であり、遅延時間の設定が行なえる。また、遅延回路１４は、所定のクロックに同期したフリップフロップ回路で構成しても該遅延時間の設定が可能である。
【実施例２】
【００１２】
次に、本発明の実施例２について説明する。
図３は、本発明の実施例２に係るプログラマブル論理回路装置を示すブロック図である。実施例２が実施例１と異なる点は、単位ブロックの所定のデータ間、例えば単位ブロック１１（１）と単位ブロック１１（２）の間においての単位ブロック１１（１）の処理データ１８と遅延回路２０を通過した、単位ブロック１１（１）の処理データ１８を入力とする、被処理データ選択回路１７を具備した点である。その他の図１と同一構成には同一符号を付して重複説明は省略する。
被処理データ選択回路１７は、ＣＰＵ端子９を選択信号としている。今、単位ブロック１１（１）の機能変更時間が、他単位ブロック１１（２）、１１（３）、１１（ｎ）に比して長い時間がかかるとする。また、機能変更時は、単位ブロック１１（１）の処理データ１８は遅延回路２０を介して単位ブロック１１（１）の処理選択データ１９として単位ブロック１１（２）に入力されているとする。即ち本構成を用いれば、機能変更の際、他単位ブロックより機能変更に時間を要する単位ブロックがあったとしても、機能変更してから処理データの入力というシーケンシャルな動作を確保できる。
これによって実施例１の効果に加えて、論理回路部４中に機能変更に際して時間の掛かる、プログラマブルな単位ブロックが存在しても、被処理データが機能変更が未実施の回路を通過することがないため、機能変更時の安定した動作が行なえ、機能変更が終了すると同時に所望とする演算結果を得ることができる。遅延回路２０はインバータや所定の論理回路で構成されるバッファ回路であり、遅延時間の設定が行なえる。また、遅延回路２０は、所定のクロックに同期したフリップフロップ回路で構成しても該遅延時間の設定が可能である。
【実施例３】
【００１３】
次に、本発明の実施例３について説明する。
図４は本発明の実施例３に係るプログラマブル論理回路装置の内部構成を示すブロック図である。図４において、プログラマブル論理回路装置の内部は、定義用データに応じて内部論理要素の接続関係が特定される論理回路部３４と、この論理回路部３４に与える定義用データと順序定義用データを格納する論理回路の定義用メモリ３１と論理回路の順序定義用メモリ３２を備えている。論理回路３４はプログラマブルな多数の基本論理回路４０（１）〜４１（ｎ）で構成されている。基本論理回路４０（１）〜４１（ｎ）は演算回路とセレクタにより構成されている。基本論理回路４０（１）〜４１（ｎ）は論理回路の定義用メモリ３１に接続され、またデータ入力３３に接続されている。セレクタ３５は論理回路の順序定義用メモリ３２のデータにより選択され切替えられる。
【００１４】
図５は、基本論理回路４０（１）〜４１（ｎ）の内部ブロック図である。
演算回路５１〜５ｎは入力をデータ入力３３としてセレクタ７０に接続される。セレクタ７０は、論理回路の順序定義用メモリ３２（１）に接続され、論理回路の順序定義用メモリ３２（１）のデータにより選択される。
演算回路６１〜６ｎは入力をセレクタ７０の出力としてセレクタ７１に接続される。セレクタ７１は、論理回路の順序定義用メモリ３２（２）に接続され、論理回路の順序定義用メモリ３２（２）のデータにより選択される。
演算回路ｎ１〜ｎｎは入力をセレクタ７１の出力としてセレクタ７２に接続される。セレクタ７２は、論理回路の順序定義用メモリ３２（ｎ）に接続され、論理回路の順序定義用メモリ３２（ｎ）のデータにより選択される。セレクタ７２の出力はデータ出力５６として出力される。
例えば、論理回路のメモリ１〜ｎの値が０ｈ（１６進表記で０）であった場合、データ入力３３は、セレクタ７０により、演算回路５１のデータが選択され、次にセレクタ７１により、演算回路６１のデータが選択され、次にセレクタ７２により演算回路ｎ１のデータが選択され、データ出力５６より出力される。即ち入力データ３３は、演算回路５１、演算回路６１、演算回路ｎ１で処理され出力される。
【００１５】
つぎに、実施例３の動作について説明する。
所定のデータが、論理回路の定義用メモリ３１と連理回路の順序定義用メモリ３２に格納されているとする。図４の基本論理回路４０（１）〜基本論理回路４１（ｎ）は前記したように論理回路の定義用メモリ３１に従って所定の処理を行なうようプログラムされる。
セレクタ３５は、所定の論理回路の順序定義用メモリ３２に従って所定の処理結果をデータ出力３６より出力する。例えば、論理回路の定義用メモリ３１に０ｈが格納されていれば、基本論理回路４０（１）の処理結果が選択され、データ出力３６より出力される。この状態で論理回路の定義用メモリ３１にＦｈを格納すれば瞬時に、基本論理回路４１（ｎ）の処理結果が選択され、データ出力３６より出力することが可能である。
このように、論理回路の定義用メモリ３１と論理回路の順序定義用メモリ３２を準備することで、論理回路の定義用メモリ３１と論理回路の順序定義用メモリ３２を変更した時点で機能変更が可能であり高速動作が可能である。
また、書き込んだ時点で機能変更が可能であり、複数のメモリを準備する必要がなくＬＳＩ化した場合のチップ面積の増大を抑えることができる。
【実施例４】
【００１６】
次に、実施例４について図を参照して説明する。
図６は本発明の実施例４に係るプログラマブル論理回路装置を示すブロック図である。  データ入力３３はセレクタ８０を介して基本論理回路８４（１）〜基本論理回路８６（３）に接続される。
セレクタ８０は論理回路の順序定義用メモリ３２（１）により選択される。
基本論理回路８４（１）〜基本論理回路８６（３）の出力は、セレクタ８１を介して基本論理回路８７（４）〜基本論理回路８９（ｎ）に接続される。セレクタ８１は論理回路の順序定義用メモリ（２）により選択される。
基本論理回路８７（４）〜基本論理回路８９（ｎ）の出力は、セレクタ８２を介してデータ出力６６に接続される。セレクタ８２は論理回路の順序定義用メモリ（ｎ）により選択される。
例えば、論理回路の順序定義用メモリ３２（１）にＦｈ（１６進表示でＦ）、論理回路の順序定義用メモリ３２（２）に０ｈ、論理回路の順序定義用メモリ３２（ｎ）に０ｈが格納されていたとする。データ入力３３は、セレクタ８０のＦｈ即ち基本論理回路８６（３）で処理される。
次に、セレクタ８１とセレクタ８２の０ｈ即ち、基本論理回路８７（４）で処理された結果が、データ出力６６として出力される。この状態で、論理回路の順序定義用メモリ３２（１）に０ｈ、論理回路の順序定義用メモリ３２（２）に０ｈ、論理回路の順序定義用メモリ３２（ｎ）に０ｈを格納すれば、瞬時に、データ入力３３は、基本論理回路８４（１）、基本論理回路８７（４）で処理されデータ出力６６として出力される。
このように、論理回路の定義用メモリ３１と論理回路の順序定義用メモリ３２を準備することで、実施例３の効果に加え、より大規模な回路に対応可能である。
【実施例５】
【００１７】
図７は、本発明の実施例５に係るプログラマブル論理回路装置のブロック図である。データ入力３３はセレクタ９０を介して、基本論理回路９４（１）とセレクタ９１、セレクタ９３に接続される。セレクタ９０は、論理回路の順序定義用メモリ３２（１）で選択される。
基本論理回路９４（１）の出力は、セレクタ９１を介して基本論理回路９５（２）に接続される。セレクタ９１は、論理回路の順序定義用メモリ３２（１）で選択される。
基本論理回路９５（２）の出力は、セレクタ９２を介して基本論理回路９６（ｎ）に接続される。セレクタ９２は、論理回路の順序定義用メモリ３２（１）で選択される。
基本論理回路９６（ｎ）の出力は、セレクタ９３を介してデータ出力１０６より出力される。
例えば、論理回路の順序定義用メモリ３２（１）に０ｈが格納されているとする。データ入力は３３は、基本論理回路９４（１）で処理され、セレクタ９１の０ｈを通過して基本論理回路９５（２）で処理される。
次に、セレクタ９２の０ｈを通過して基本論理回路９６（ｎ）で処理される。セレクタ９３の０ｈを通過してデータ出力１０６より出力される。
また、論理回路の順序定義用メモリ３２（１）に１ｈが格納されていた場合、データ入力３３は、セレクタ９１の１ｈを通過して基本論理回路９５（２）で処理される。
次に、セレクタ９２の１ｈを通過して基本論理回路９６（ｎ）で処理され、セレクタ９３の１ｈを通過してデータ出力１０６より出力される。
このように、実施例４の効果に加えて、１つの論理回路の順序定義用メモリ３２（１）を準備するのみで機能変更が可能であり不要なメモリを必要としない。
【００１８】
本発明は特許文献１等の従来技術と比較して、処理に時分割方式を導入して発揮性メモリを節約できるので、処理時間の短縮とメモリ資源の節約を図ることができる。
【００１９】
本実施例では、定義用メモリ部を発揮性メモリで構成したが、不揮発性メモリで構成する用途にも適用できる。また、発揮性メモリ、不揮発性メモリは外付けという用途にも適用できる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施例１に係るプログラマブル論理回路装置を示すブロック図である。
【図２】図１に示すプログラマブル論理回路装置のタイミングチャートである。
【図３】本発明の実施例２に係るプログラマブル論理回路装置を示すブロック図である。
【図４】本発明の実施例３に係るプログラマブル論理回路装置を示すブロック図である。
【図５】図４に示す基本論理回路の内部ブロック図である。
【図６】本発明の実施例４に係るプログラマブル論理回路装置を示すブロック図である。
【図７】本発明の実施例５に係るプログラマブル論理回路装置を示すブロック図である。
【図８】従来のプログラマブル論理回路装置を示すブロック図である。
【符号の説明】
【００２１】
１    プログラマブル論理回路装置
２、  発揮性メモリ
４、３４  論理回路部
７、３７  定義用メモリ部
８、９    端子
１０  ＣＰＵ
１１  単位ブロック
１２  定義用メモリ
１３、３３  被処理データ
１４  遅延回路
１５  処理済みデータ選択回路
１６、３６、５６、６６、１０６  処理済みデータ
１８  単位ブロック１１（１）の処理済みデータ
１９  単位ブロック１１（１）の処理選択データ
３１  論理回路の定義用メモリ
３２  論理回路の順序定義用メモリ
３５、７０〜７２、８０〜８２、９０〜９３  セレクタ
４０、４１、８４〜８９、９４〜９６  基本論理回路
５１〜５ｎ、６１〜６ｎ、ｎ１〜ｎｎ  演算回路
【図１】
2006261780.tif 000003
【図２】
2006261780.tif 000004
【図３】
2006261780.tif 000005
【図４】
2006261780.tif 000006
【図５】
2006261780.tif 000007
【図６】
2006261780.tif 000008
【図７】
2006261780.tif 000009
【図８】
2006261780.tif 000010