(57)【特許請求の範囲】
【請求項１】
格子状に配置された複数のプログラマブル論理セルからなる可変部と、該可変部のプログラマブル論理セルの一部もしくは全部を管理する１又は複数の組込部とにより構成され、
前記可変部上の各プログラマブル論理セルは、複数の入力線と複数の出力線とを持ち前記組込部からダウンロードされる回路情報によって実現する論理機能が決定され、且つ該複数の入力線と複数の出力線により隣接するプログラマブル論理セル又は前記組込部と相互に接続され、
前記可変部は、１又は複数のデータの保持及び取り込みが制御できるよう前記プログラマブル論理セルの回路情報により実現された１又は複数の記憶素子と、該記憶素子のデータの保持及び取り込みを制御ができるよう前記プログラマブル論理セルの回路情報により実現された１又は複数の記憶素子制御回路と、前記プログラマブル論理セルの回路情報により実現され直列接続されたリセット信号線と具備し、
前記リセット信号線の始端部の側を前記組込部のリセット信号出力点及び前記１又は複数の記憶素子に接続し、終端部の側を前記１又は複数の記憶素子制御回路に接続してなることを特徴とするプログラマブル論理セルアレイ回路。
【請求項２】
請求項１に記載のプログラマブル論理セルアレイ回路において、
前記リセット信号線の前記終端部を前記組込部に接続し、リセット信号を帰還させるようにしたことを特徴とするプログラマブル論理セルアレイ回路。
【請求項３】
請求項１に記載のプログラマブル論理セルアレイ回路において、
前記組込部から出力するリセット信号を最初に印加する接続点を、前記格子状の複数のプログラマブル論理セルのうちの周辺部よりも内側のプログラマブル論理セルの回路情報で実現したリセット信号線としたことを特徴とするプログラマブル論理セルアレイ回路。
【請求項４】
請求項１、２又は３に記載のプログラマブル論理セルアレイ回路の初期化方法であって、
前記組込部から前記リセット信号線の前記始端部にリセット信号を印加して前記１又は複数の記憶素子から前記１又は複数の記憶素子制御回路の順番で順次初期化するようにしたことを特徴とするプログラマブル論理セルアレイ回路の初期化方法。
【請求項５】
請求項１に記載のプログラマブル論理セルアレイ回路において、
前記組込部から前記可変部上の各プログラマブル論理セルに対して第１の回路解放制御信号を送出することにより、各プログラマブル論理セルの内容をある特定の値とすることを特徴とするプログラマブル論理セルアレイ回路。
【請求項６】
請求項１に記載のプログラマブル論理セルアレイ回路において、
前記組込部から前記可変部上の前記格子状の複数のプログラマブル論理セルの周辺部に対して第２の回路解放制御信号を送出することにより、前記周辺部の各プログラマブル論理セルと隣接する前記可変部との接続を切り離すことを特徴とするプログラマブル論理セルアレイ回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラムにより処理の内容が変更可能なプログラマブルＬＳＩのうち、演算及び配線等の構成要素がプログラマブルな均一の論理セルからなるプログラマブル論理セルアレイ回路に関するものである。
【０００２】
【従来の技術】
ハードウェアの高速性にソフトウェア処理並のプログラマビリテイを持たせる技術として、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）が実用に供されている。通常のＦＰＧＡはＬＳＩ上のメモリに外部から回路情報をプログラミングし、その内容に従って演算動作が行われる。ＦＰＧＡの中には、演算動作中にＬＳＩの中の一部の回路情報が外部から書き換え可能なものもあるが、ＬＳＩ内に実現された回路自身が同じＬＳＩ内に別の回路を実現したり、回路自身の複製を行ったりするようなものは近年まで存在しなかった。
【０００３】
これに対し、近年ＬＳＩ内のメモリに実現された回路機能自身が自己の機能の複製を行ったり、新たな回路機能を生成したりすることができる技術が提案されている。たとえば特開平１１−１６７５５５及び特開平１１−１６７５５６で提案されている技術がある。これらの技術においては、プログラマブルな論理回路を実現する論理セル（可変部）と、可変部で実現された論理回路間の通信を行ったり可変部への回路をロードしたりする論理セル（組込部）とを１対とし（ＰＣＡセル）、ＰＣＡセルの２次元の一様なアレイ構造からＰＣＡ(Plastic Cell Architecture)と呼ばれるハードウェアを構成することを提案している。
【０００４】
図１３は上記公報に記載の基本構成であるＰＣＡセルの構成図である。ＰＣＡは、相互に接続された均一なＰＣＡセル１で構成され、各ＰＣＡセ１は組込部２と可変部３とから構成される。組込部１は予め定義された固定機能からなり、隣接ＰＣＡセルの組込部と相互に接続されている。可変部２はセル単位での書き換えが可能なプログラマブル論理回路であり、隣接したＰＣＡセルの可変部と相互に接続されている。組込部２を介して可変部３に構成情報を書き込むことにより、可変部３は隣接したＰＣＡセルとの接続を入出力とする論理ゲートや記憶素子として機能する回路となる。
【０００５】
このＰＣＡにおける可変部の具体的な構成例が特開２０００−３６７３８及び特開２０００−４９５９１で提案されている。これらの提案では、可変部は小規模なメモリのアドレス線に入力信号を入力すると、対応するメモリセルに格納されたデータを演算結果としてそのまま出力するルックアップテーブル（ＬＵＴ）と呼ばれるプログラマブルな論理素子のアレイ構造により構成されている。
【０００６】
図９は特開２０００−４９５９１公報に記載の基本構成であるプログラマブル論理セルのブロック図である。図９に示す論理セル３１は、ｗ，ｎ，ｅ，ｓと名付けられた４方向に対して１つずつ合計で４つの隣接セルを持つ。たとえば図１０に示すように、セル３１Ａは、セル３１Ｂ，３１Ｃ，３１Ｄ，３１Ｅの４つの隣接セルを持つ。そして、セル３１は、４つの隣接セルから信号を入力するための入力信号線Ｐｗｉ，Ｐｎｉ，Ｐｅｉ，Ｐｓｉと４つの隣接セルに信号を出力するための出力信号線Ｐｗｏ，Ｐｎｏ，Ｐｅｏ，Ｐｓｏを持つ。さらに、セル３１は４つの入力信号線Ｐｗｉ，Ｐｎｉ，Ｐｅｉ，Ｐｓｉの値によりアドレス指定されるＬＵＴ Ｍｗ，Ｍｎ，Ｍｅ，Ｍｓを持ち、そのうちのＬＵＴ Ｍｗの出力は出力信号線Ｐｗｏに、ＬＵＴ Ｍｎの出力は出力信号線Ｐｎｏに、ＬＵＴ Ｍｅの出力は出力信号線Ｐｅｏに、ＬＵＴ Ｍｓの出力は出力信号線Ｐｓｏに、それぞれ出力される。
【０００７】
そして、各ＬＵＴ Ｍｗ，Ｍｎ，Ｍｅ，Ｍｓは、入力信号線Ｐｗｉ，Ｐｎｉ，Ｐｅｉ，Ｐｓｉにより共通にアドレス指定されたアドレスの記憶素子に任意の値を予め格納可能であり、従って各ＬＵＴ Ｍｗ，Ｍｎ，Ｍｅ，Ｍｓは同じアドレス値を入力しながら、異なった演算を行うことが可能である。各ＬＵＴ Ｍｗ，Ｍｎ，Ｍｅ，Ｍｓには、それぞれ１６個のメモリセルがあり、入力信号線Ｐｗｉ，Ｐｎｉ，Ｐｅｉ，Ｐｓｉの値によりそれぞれ１６個のメモリセルのうちの１個を特定し、対応するメモリセルに格納されている「０」または「１」のデータを各出力信号線Ｐｗｏ，Ｐｎｏ，Ｐｅｏ，Ｐｓｏに出力する。
【０００８】
また特開２０００−３６７３８においては、３入力のＬＵＴを構成要素として用いた可変部により、各種論理回路及び記憶素子を構成する手段が提案されている。図１１は特開２０００−３６７３８公報に記載の可変部の構成であり、図１２は同公報に記載のラッチ回路の例である。図１１，図１２において、３１’はセル、Ｍｗ'，Ｍｎ'，Ｍｅ'，Ｍｓ'は３入力のＬＵＴ、Ｐｗ'，Ｐｎ'，Ｐｅ'，Ｐｓ'は入出力信号線である。
【０００９】
【発明が解決しようとする課題】
しかしながら、上記公報に記載のＬＵＴの組合せによるラッチなどの記憶素子を含んだ順序回路の構成では、ＬＵＴのメモリセルに回路情報を読み込ませた直後に記憶素子に記憶させる初期状態は一般的に一意に決定することができないという問題があった。実際に記憶素子を要素として含む順序回路の使用にあたっては、記憶素子の初期値の決定は重要な問題であり、もし初期値が一意に決定できなければ回路の構成に大幅な制限が加わり、さらに初期化を行うために回路へ別途特別な信号を外部から入力しなければならないこととなる。
【００１０】
そこで本発明の目的は、このような従来の課題を解決し、ＰＣＡの可変部のＬＵＴ上に構成された順序回路の初期状態を一意に決定し、順序回路の正常な動作を可能にさせることにある。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、本発明によるプログラマブル論理セルアレイ回路は、格子状に配置された複数のプログラマブル論理セルからなる可変部と、該可変部のプログラマブル論理セルの一部もしくは全部を管理する１又は複数の組込部とにより構成され、前記可変部上の各プログラマブル論理セルは、複数の入力線と複数の出力線とを持ち前記組込部からダウンロードされる回路情報によって実現する論理機能が決定され、且つ該複数の入力線と複数の出力線により隣接するプログラマブル論理セル又は前記組込部と相互に接続され、前記可変部は、１又は複数のデータの保持及び取り込みが制御できるよう前記プログラマブル論理セルの回路情報により実現された１又は複数の記憶素子と、該記憶素子のデータの保持及び取り込みを制御ができるよう前記プログラマブル論理セルの回路情報により実現された１又は複数の記憶素子制御回路と、前記プログラマブル論理セルの回路情報により実現され直列接続されたリセット信号線と具備し、前記リセット信号線の始端部の側を前記組込部のリセット信号出力点及び前記１又は複数の記憶素子に接続し、終端部の側を前記１又は複数の記憶素子制御回路に接続してなるよう構成した。
【００１２】
第２の発明は、第１の発明において、前記リセット信号線の前記終端部を前記組込部に接続し、リセット信号を帰還させるように構成した。
【００１３】
第３の発明は、第１又は第２の発明において、前記組込部から出力するリセット信号を最初に印加する接続点を、前記格子状の複数のプログラマブル論理セルのうちの周辺部よりも内側のプログラマブル論理セルの回路情報で実現したリセット信号線として構成した。
【００１４】
第４の発明は、第１，第２又は第３の発明のプログラマブル論理セルアレイ回路の初期化方法であって、前記組込部から前記リセット信号線の前記始端部にリセット信号を印加して前記１又は複数の記憶素子から前記１又は複数の記憶素子制御回路の順番で順次初期化するよう構成した。
【００１５】
第５の発明は、第１の発明において、前記組込部から前記可変部上の各プログラマブル論理セルに対して第１の回路解放制御信号を送出することにより、各プログラマブル論理セルの内容をある特定の値とするよう構成した。
【００１６】
第６の発明は、第１の発明において、前記組込部から前記可変部上の前記格子状の複数のプログラマブル論理セルの周辺部に対して第２の回路解放制御信号を送出することにより、前記周辺部の各プログラマブル論理セルと隣接する前記可変部との接続を切り離すよう構成した。
【００１７】
【発明の実施の形態】
本発明のプログラマブル論理セルでは、可変部のＬＵＴ上にプログラムによりリセット信号線を設け、組込部が受信した命令に従って可変部上の順序回路のリセット付きＤラッチ回路等の記憶素子の初期状態を順次決定し、その後にその記憶素子のデータの保持と取り込みを制御するリセット付きMuller-Ｃ素子等の記憶素子制御回路の初期状態を順次決定してゆくことにより、順序回路全体の初期状態を一意的に決定し、回路の動作の開始を円滑に行うことを可能ならしめる。
【００１８】
［第１の実施の形態］
以下、本発明を図面により詳細に説明する。図１は本発明の第１の実施形態のプログラマブル論理セルアレイ回路の構造全体のブロック図、図２は図１中のリセット付きＤラッチ回路の内部構造を示す図である。また図３(a)は図１中のリセット付きＤラッチ回路のプログラムによる構成例の物理的構造を示す図、(b)はそれを実現する機能のブロック図である。図４(a)、(b)は図３(a)中のＬＵＴの内部のメモリセルの値（真理値）を示す図、(c)は図３(b)のＤラッチ回路の入出力の値を示す図である。図５(a)は図１中のリセット付きMuller-Ｃ素子のプログラムによる構成例の物理的構造を示す図、(b)はそれを実現する機能のブロック図である。図６(a)、(b)は図５(a)中のＬＵＴの内部のメモリセルの値（真理値）を示す図、図６(c)は図５(b)のリセット及びインバータ付きMuller-Ｃ素子の入出力の値を示す図である。
【００１９】
図１に示すプログラマブル論理セルアレイ回路は、複数のＰＣＡセル１Ａ，１Ｂからなり、ＰＣＡセル１Ａは内部構造として組込部２Ａと可変部３Ａを有し、またＰＣＡセル１Ｂは内部構造として組込部２Ｂと可変部３Ｂを有する。各ＰＣＡセル１Ａ，１Ｂの構造は同一であり、以下ＰＣＡセル１Ａの内部構造について説明する。
【００２０】
可変部３Ａは、ＬＵＴのプログラムにより構成された複数のリセット付きＤラッチ回路（記憶素子）４Ａ，４Ｂ，４Ｃと、ＬＵＴのプログラムにより構成された複数の組合せ論理回路５Ａ，５Ｂと、ＬＵＴのプログラムにより複数のＬＵＴの直列接続の形で構成され始端部が組込部２Ａのリセット信号出力点に接続され終端部が組込部２Ａのリセット信号入力点に接続されたリセット信号線６と、ＬＵＴのプログラムにより構成された複数のリセット及びインバータ付きMuller-Ｃ素子（記憶素子制御回路）７Ａ，７Ｂ，７Ｃと、ＬＵＴのプログラムにより構成された複数の遅延素子８Ａ，８Ｂ，８Ｃと、ＬＵＴのプログラムにより構成された複数の要求信号線９Ａ，９Ｂ，９Ｃ，９Ｄと、ＬＵＴのプログラムにより構成された複数の応答信号線１０Ａ，１０Ｂ，１０Ｃ，１０Ｄと、各リセット付きＤラッチ回路４Ａ，４Ｂ，４Ｃへの１ビットまたは複数ビットのデータ入力信号線１１Ａ，１１Ｂ，１１Ｃと、各リセット付きＤラッチ回路４Ａ，４Ｂ，４Ｃからの１ビットまたは複数ビットのデータ出力信号線１２Ａ，１２Ｂ，１２Ｃとからなる。上記した各ＬＵＴのプログラムは、組込部２Ａからダウンロードされた回路情報によりセットされるが、その具体的な手法についての説明はここでは省略する。
【００２１】
ここで、各リセット付きＤラッチ回路４Ａ，４Ｂ，４Ｃは、図２に示すように１もしくはｎ個のリセット付きＤラッチ回路１３からなり、各リセット付きＤラッチ回路１３にはそれぞれ１ビットのデータ入力、データ出力、リセット入力、及びゲート入力の４つの端子を持つ。このリセット付きＤラッチ回路１３は、リセット入力端子に「１」が入力されている間はデータ出力端子に「０」を出力し、リセット入力端子に「０」が入力されている間であってかつゲート入力が「１」の時にはデータ入力をデータ出力にそのまま送出し、リセット入力端子に「０」が入力されている間であってかつゲート入力が「０」の時には出力値は直前の状態を保持するという性質を持つ素子である。
【００２２】
また、一般的なMuller-Ｃ素子は、複数ビットのデータ入力端子と１ビットのデータ出力端子とを持ち、複数のデータ入力信号が全て「０」のときは「０」を出力し、複数のデータ入力信号が全て「１」のときは「１」を出力し、複数のデータ入力信号に「０」と「１」が混在している場合には出力値は直前の状態を保持するという性質を持つ素子であるが、図１の回路の構成要素であるリセット及びインバータ付きMuller-Ｃ素子７Ａ、７Ｂ、７Ｃは、上記のMuller-Ｃ素子の２つの入力のうち１つの入力の前段にインバータが付帯し、さらに回路の初期状態としてデータ出力端子に「０」を設定する機能を持つリセット入力端子を持つものである。
【００２３】
組込部２Ａは隣接するＰＣＡセル１Ｂの内部の組込部２Ｂからラッチの初期化命令を受信すると、リセット信号線６の始端側にリセット信号「１」、要求信号線９Ａに「０」、及び応答信号線１０Ｄに「０」をそれぞれ出力する。リセット信号線６を伝播したリセット信号は、可変部３Ａの中の各リセット付きＤラッチ回路４Ａ、４Ｂ、４Ｃ及び可変部３Ａの中の各リセット及びインバータ付きMuller-Ｃ素子７Ａ、７Ｂ、７Ｃの各リセット入力端子に対し、４Ａ，４Ｂ，４Ｃ，７Ｃ，７Ｂ，７Ａの順番に入力され、この順番で各素子の初期リセットを行う。
【００２４】
リセットされた各リセット付きＤラッチ回路４Ａ，４Ｂ，４Ｃ及び各リセット及びインバータ付きMuller-Ｃ素子７Ａ，７Ｂ，７Ｃの出力値は「０」となる。リセット信号線６を伝播したリセット信号は、全てのリセット及びインバータ付きMuller-Ｃ素子回路７Ａ，７Ｂ，７Ｃ及び全てのリセット付きＤラッチ回路４Ａ，４Ｂ，４Ｃのリセットが完了した後にそのリセット信号線６の終端部から再び組込部２Ａに入力され、これにより全てのリセット及びインバータ付きMuller-Ｃ素子回路７Ａ、７Ｂ、７Ｃ及び全てのリセット付きＤラッチ回路４Ａ、４Ｂ、４Ｃのリセットが完了したことを検出することができる。
【００２５】
リセット信号線６を伝播したリセット信号「１」の組込部２Ａへの帰還が確認されると、次に組込部２Ａはリセット信号線６に対し「０」を出力する。このリセット信号線６の信号「０」は各リセット付きＤラッチ回路４Ａ，４Ｂ，４Ｃ及び各リセット及びインバータ付きMuller-Ｃ素子７Ａ，７Ｂ，７Ｃの各リセット入力端子に対し、４Ａ，４Ｂ，４Ｃ，７Ｃ，７Ｂ，７Ａの順番に入力され、その後再び組込部２Ａに入力される。これにより一旦リセット状態となった各リセット付きＤラッチ回路４Ａ，４Ｂ，４Ｃ及び各リセット及びインバータ付きMuller-Ｃ素子７Ａ，７Ｂ，７Ｃは通常の動作に移行できる状態となる。以上の一連のリセット動作の完了時点では、各リセット及びインバータ付きMuller-Ｃ素子７Ａ，７Ｂ，７Ｃの出力は「０」であるため、各応答信号線１０Ａ，１０Ｂ，１０Ｃの値は「０」となっている。
【００２６】
この状態で組込部２Ａは要求信号線９Ａに「１」を送出する。要求信号線９Ａはリセット及びインバータ付きMuller-Ｃ素子７Ａのインバータ付きでないほうの入力端子に印加され、もう一方の入力端子の入力に印加される信号は応答信号線１０Ｂでありこの時点ではその値は「０」であるので、リセット及びインバータ付きMuller-Ｃ素子７Ａの出力は「０」から「１」に変化する。この変化は応答信号線１０Ａを伝播してリセット付きＤラッチ回路４Ａのゲート入力を「１」とし、リセット付きＤラッチ回路４Ａに対しデータ入力信号線１１Ａの信号を取り込むと同時にリセット付きＤラッチ回路４Ａのデータ出力端子に接続されたラッチ出力信号線１２Ａへそのままデータ入力信号線１１Ａの信号を出力させ、さらに組合せ論理回路５Ａにより信号が加工された後、データはデータ入力信号線１１Ｂを経て次段のリセット付きＤラッチ回路４Ｂへと転送される。
【００２７】
一方、前記のリセット及びインバータ付きMuller-Ｃ素子７Ａの出力の「０」から「１」への変化は応答信号線１０Ａを伝播して遅延素子８Ａに入力される。この遅延素子８Ａは、組合せ論理回路５Ａの全ての入力端子（すなわちラッチ出力信号線１２Ａ）から組合せ論理回路５Ａの全ての出力端子（すなわちデータ入力信号線１１Ｂ）への複数ある信号の伝播経路の遅延のうちで最大の値よりもさらに大きな信号の遅延が加算されるような素子であり、これによりリセット付きＤラッチ回路４Ａから出力された信号がリセット付きＤラッチ回路４Ｂへ到着した後に要求信号線９Ｂの値が「０」から「１」へと変化することを保証する。要求信号線９Ｂはリセット及びインバータ付きMuller-Ｃ素子７Ｂのインバータ付きでないほうの入力端子に印加され、もう一方の入力端子の入力に印加される信号は応答信号線１０Ｃでありこの時点ではその値は「０」であるので、リセット及びインバータ付きMuller-Ｃ素子７Ｂの出力は「０」から「１」に変化する。
【００２８】
この変化は、応答信号線１０Ｂを伝播してリセット付きＤラッチ回路４Ｂのゲート入力を「１」とし、リセット付きＤラッチ回路４Ｂに対しデータ入力信号線１１Ｂの信号が取り込まれる。一方、応答信号線１０Ｂはリセット及びインバータ付きMuller-Ｃ素子７Ａのインバータ付き人力端子に入力される。これらの一連の動作は、さらに次段の回路へと転送され、最終的には組込部２Ａまで到達する。
【００２９】
また、先の動作により応答信号線１０Ａは「１」に変化しているが、これは組込部２Ａにも入力されており、この応答信号線１０Ａの「１」への変化に反応して要求信号線９Ａは「１」から「０」へと変化する。要求信号線９Ａの「０」はリセット及びインバータ付きMuller-Ｃ素子７Ａのインバータ付きでない端子へ入力されるが、このとき先の動作によりリセット及びインバータ付きMuller-Ｃ素子７Ａのインバータ付き人力に印加される応答信号線１０Ｂはいずれ「１」へと変化するので、リセット及びインバータ付きMuller-Ｃ素子７Ａの出力はインバータ付きでない入力に「０」、インバータ付き入力に「１」が入力された時点で「０」へと変化する。これによりリ、セット付きＤラッチ回路４Ａのデータ出力は保持されることとなる。これら一連の動作はさらに次段の回路へと転送され、最終的には組込部２Ａまで到達される。
【００３０】
このようにして本実施形態においては、各リセット付きＤラッチ回路及び各リセット及びインバータ付きMuller-Ｃ素子の初期化を行った後に、非同期的にラッチ間のデータ転送を行うことが可能となる。上記の処理は全て可変部上のＬＵＴのプログラムにより実現されており、各回路の初期値を決定するための特別な外部入力やそのための回路を必要としない。
【００３１】
次に、図１の実施形態の構成要素であるリセット付きＤラッチ回路１３のプログラムによる構成を図３，図４で説明する。図３(a)中の３１Ａ，３１Ｂは隣接する２つのプログラマブル論理セルであり、各プログラマブル論理セルは図８に示したプログラマブル論理セル３１と同等の構成となっている。このうちプログラマブル論理セル３１Ａの右側に位置するＬＵＴ Ｍｅ１には４つの隣接するプログラマブル論理セルからのＰｗｉ１，Ｐｎｉ１，Ｐｅｉ１，Ｐｓｉ１の４本の入力信号が印加される。同様にプログラマブル論理セル３１Ｂの左側に位置するＬＵＴ Ｍｗ２には４つの隣接するプログラマブル論理セルからのＰｗｉ２，Ｐｎｉ２，Ｐｅｉ２，Ｐｓｉ２の４本の入力信号が印加される。ＬＵＴ Ｍｅ１の出力信号Ｐｅｏ１はＬＵＴＭｗ２の入力信号Ｐｗｉ２となり、またＬＵＴ Ｍｗ２の出力信号Ｐｗｏ２はＬＵＴ Ｍｅ１の入力信号Ｐｅｉ１となる。この２つのＬＵＴ Ｍｅ１，Ｍｗ２の内部のメモリセルの値により、リセット付きＤラッチ回路１３が構成される。
【００３２】
図４(a)はＬＵＴ Ｍｅ１の入力値に対する１６個の各メモリセルの値を示し、図４(b)はＬＵＴ Ｍｗ２の入力値に対する１６個の各メモリセルの値を示す。このように１６個のメモリセルの値を設定することにより、図３(a)のように各人力信号Ｐｓｉ１，Ｐｗｉ１，Ｐｎｉ１に対応して出力信号Ｐｅｏ１の値が決定され、これは図３(b)に示すようにＰｎｉ１をデータ入力、Ｐｓｉ１をリセット入力、Ｐｗｉ１をゲート入力、及びＰｅｏ１をデータ出力とするリセット付きＤラッチ回路１３となる。図４(c)にリセット付きＤラッチ回路１３の入力値に対する出力値を示す。なお、図４(a)の真理値において、入力信号Ｐｓｉ１が「１」のときの対応するメモリセルの値を「１」とすることにより、リセット付きＤラッチ回路１３の初期値を「１」とすることが可能である。
【００３３】
次に、図１の実施形態の構成要素であるリセット及びインバータ付きMuller-Ｃ素子７Ａ，７Ｂ，７Ｃのプログラムによる構成を図５、図６で説明する。図５(a)中の３１Ａ，３１Ｂは隣接する２つのプログラマブル論理セルであり、各プログラマブル論理セルは図８に示すプログラマブル論理セル３１と同等の構成となっている。このうちプログラマブル論理セル３１Ａの右側に位置するＬＵＴ Ｍｅ１には４つの隣接するプログラマブル論理セルからのＰｗｉ１，Ｐｎｉ１，Ｐｅｉ１，Ｐｓｉ１の４本の入力信号が印加される。同様にプログラマブル論理セル３１Ｂの左側に位置するＬＵＴ Ｍｗ２には４つの隣接するプログラマブル論理セルからのＰｗｉ２，Ｐｎｉ２，Ｐｅｉ２，Ｐｓｉ２の４本の入力信号が印加される。ＬＵＴ Ｍｅ１の出力信号Ｐｅｏ１はＬＵＴ Ｍｗ２の入力信号Ｐｗｉ２となり、またＬＵＴ Ｍｗ２の出力信号Ｐｗｏ２はＬＵＴ Ｍｅ１の入力信号Ｐｅｉ１となる。この２つのＬＵＴ Ｍｅ１及びＭｗ２の内部のメモリセルの値により、リセット及びインバータ付きMuller-Ｃ素子７Ａ，７Ｂ，７Ｃが構成される。
【００３４】
図６(a)はＬＵＴ Ｍｅ１の入力値に対する１６個の各メモリセルの値を示し、図６(b)はＬＵＴ Ｍｗ２の入力値に対する１６個の各メモリセルの値を示す。このように１６個のメモリセルの値を設定することにより、図５(a)のように各人力信号Ｐｓｉ１、Ｐｗｉ１、Ｐｎｉ１に対応して出力信号Ｐｅｏ１の値が決定され、これは図５(b)に示すようにＰｎｉ１をインバータ付きでないデータ入力、Ｐｓｉ１をリセット入力、Ｐｗｉ１をインバータ付きデータ入力、及びＰｅｏ１をデータ出力とするリセット及びインバータ付きMuller-Ｃ素子７Ａ，７Ｂ，７Ｃとなる。図６(c)にリセット及びインバータ付きMuller-Ｃ素子７Ａ，７Ｂ，７Ｃの入力値に対する出力値を示す。なお、図６(a)の真理値において、入力信号Ｐｓｉ１が「１」のときの対応するメモリセルの値を「１」とすることにより、リセット及びインバータ付きMuller-Ｃ素子７Ａ，７Ｂ，７Ｃの初期値を「１」とすることが可能である。
【００３５】
［第２の実施形態］
図７は本発明の第２の実施形態を示すブロック図であり、１個のＰＣＡセル１Ａと、隣接する４つのＰＣＡセル内部の４つの可変部３Ｂ、３Ｃ、３Ｄ、３Ｅを示している。ＰＣＡセル１Ａの内部は組込部２Ａ及び可変部３Ａと、両者を結ぶ信号線群、すなわち組込部２Ａから可変部３Ａ方向の信号としてリセット入力信号線６Ａ、応答信号線１０Ｄ、要求信号線９Ａ及び複数ビットからなるデータ入力信号線１１Ａ、また可変部３Ａから組込部２Ａ方向の信号としてリセット出力信号線６Ｂ、要求信号線９Ｄ、応答信号線１０Ａ及び複数ビットからなるデータ出力信号線１２Ｃからなる。可変部３Ａの内部は、複数のプログラマブル論理セル３１Ａ，３１Ｂ，３１Ｃ，３１Ｄ，３１Ｅ，３１Ｆ等がメッシュ状に配置されている。
【００３６】
各プログラマブル論理セルの内部は図８に示したように４つのＬＵＴから構成されている。隣接するプログラマブル論理セル間は双方向に隣接セル間通信路２３が存在し互いにデータの授受を行う。この隣接セル間通信路２３は、可変部３Ａ内部だけでなく、可変部３Ａに隣接する各可変部３Ｂ，３Ｃ，３Ｄ，３Ｅと３Ａとの間にも存在する。このプログラマブル論理セル内部のＬＵＴに対してデータを設定し隣接セル間通信路２３を用いることにより、組合せ論理回路、ラッチ、Muller-Ｃ素子等の種々の論理回路を構成することができることは第１の実施形態と同様であり、その際ラッチやMuller-Ｃ素子についてはリセット入力信号線６Ａからリセット出力信号線６Ｂまでの間をＬＵＴのプログラムによる結線により順次連結しつつ各素子に対してリセット信号を入力させることとなる。その他の組込部２Ａと可変部３Ａとを接続する各種信号線についてもリセット信号線と同様である。以下、これらの各種信号線と可変部３Ａ内部のプログラマブル論理セルとの接続関係について述べる。
【００３７】
図７のメッシュの４方向を図に面して左、上、右、下をそれぞれｗ、ｎ、ｅ、ｓと名付けることとすると、可変部３Ａの一番ｗ側のプログラマブル論理セルのｗ方向の隣接プログラマブル論理セル（すなわち可変部３Ｄ内部のプログラマブル論理セル）からの入力については、その中でさらに一番ｎ側のプログラマブル論理セル３１Ａを除いた全てのプログラマブル論理セルに対してｗからｅ方向への隣接セル間通信路２３の中間に入力セレクタ２１Ａ，２１Ｂ，２１Ｃ，２１Ｄが挿入されている。またプログラマブル論理セル３１Ａからみてｅ方向に隣接するプログラマブル論理セル３１Ｅについても、プログラマブル論理セル３１Ａから入力される隣接セル間通信路２３の中間に入力セレクタ２１Ｅが挿入されている。
【００３８】
これらの入力セレクタ２１Ａ，２１Ｂ，２１Ｃ，２１Ｄ，２１Ｅは、ｗ方向の隣接するプログラマブル論理セルからの信号と、組込部２Ａから入力される各種入力信号（すなわちリセット入力信号線６Ａ、応答信号線１０Ｄ、要求信号線９Ａ、複数のデータ信号線１１Ａ）とのどちらをプログラマブル論理セルに入力するかを選択する働きをする。この選択は組込部２Ａから入力されるセレクタ制御信号２２により一斉に行われる。
【００３９】
このセレクタ制御信号２２により組込部２Ａから各プログラマブル論理セルへの各種入力信号への通信が選択された場合は、プログラマブル論理セル内部のＬＵＴに対してデータを設定し隣接セル間通信路２３を用いることにより実現される論理回路に対して、本組込部２Ａとのインタフェースを提供することとなり、組込部２Ａとの間の通信路が確保されるが、実現される論理回路はこれよりｗ方向には拡張することはできない。
【００４０】
一方、セレクタ制御信号２２によりｗ方向の隣接するプログラマブル論理セルからの信号との接続が選択された場合は、ＬＵＴに対してデータを設定し隣接セル間通信路２３を用いることにより実現される論理回路は本可変部３Ａだけでなく、隣接する可変部３Ｄ内部のプログラマブル論理セルもあわせて１つの論理回路を実現することとなる。
【００４１】
本発明のプログラマブル論理セルアレイ回路においては、通常はセレクタ制御信号２２は隣接する可変部３Ｄとの接続を選択するようになっている。これは通常では可変部は隣接する複数の可変部とにより１個の論理回路を実現するためであり、この場合には特定の可変部以外は組込部との通信経路は選択されない。
【００４２】
ここで、リセット入力信号線６Ａが入力されるプログラマブル論理セルだけは可変部３Ａの一番ｗ側でなくそれより１個ｅ側のプログラマブル論理セル３１Ｅとなるようセレクタ２１Ｅが接続されていることに注意すべきである。これは、もし他の入力セレクタ２１Ａ，２１Ｂ，２１Ｃ，２１Ｄ等と同じように可変部３Ａの一番ｗ側にリセット入力信号線６Ａが入力されるようにセレクタ２１Ｅを接続して可変部３Ａを構成した場合、通常の状態においてはセレクタ制御信号２２が可変部３Ｄとの接続を選択する方向に選択されているので、リセット入力信号線６Ａにリセット信号を印加する直前にセレクタ制御信号２２を組込部２Ａと通信する方向に変化させる以前に、可変部３Ｄから隣接セル間通信路２３及びセレクタ２１Ｅを経由してプログラマブル論理セル３１Ａに形成されたリセット信号の経路に何らかの信号が入力されて外乱信号として働き、誤ってリセットが先に完了したと組込部２Ａに判断されてしまう可能性があるからである。
【００４３】
一方、本実施形態によれば、リセット入力信号線６Ａが印加されるセレクタ２１Ｅは直接隣接する可変部３Ｄからの信号を受けることはなく、前述のように隣接する可変部３Ｄからの外乱信号の影響を受けることなく可変部３Ａ内の各論理回路のリセットを正しく行うことが可能である。
【００４４】
［第３の実施形態］
図８は第３の実施形態を示すブロック図であり、１個のＰＣＡセル１Ａと、隣接する４つのＰＣＡセル内部の４つの可変部３Ｂ、３Ｃ、３Ｄ、３Ｅを示している。ＰＣＡセル１Ａの内部は組込部２Ａおよび可変部３Ａと、両者を結ぶ信号線群すなわち組込部２Ａから可変部３Ａ方向の信号としてリセット入力信号線６Ａ、応答信号線１０Ｄ、要求信号線９Ａおよび複数ビットからなるデータ入力信号線１１Ａ、また可変部３Ａから組込部２Ａ方向の信号としてリセット出力信号線６Ｂ、要求信号線９Ｄ、応答信号線１０Ａおよび複数ビットからなるデータ出力信号線１２Ｃからなる。可変部３Ａの内部は、複数のプログラマブル論理セル３１Ａ、３１Ｂ、３１Ｃ、３１Ｄ、３１Ｅ、３１Ｆ等がメッシュ状に配置される。
【００４５】
各プログラマブル論理セルの内部は第２の実施形態に準じる。このプログラマブル論理セル内部のＬＵＴに対してデータを設定し、隣接セル間通信路２３を用いることにより、組合せ論理回路、ラッチ、Muller−Ｃ素子等の種々の論理回路を構成することができることは第１および第２の実施形態と同様であり、その際ラッチやMuller−Ｃ素子についてはリセット入力信号線６Ａからリセット出力信号線６ＢまでをＬＵＴのプログラムによる結線により順次連結しつつ各素子に対してリセット信号を入力させることとなる。その他の組込部２Ａと可変部３Ａとを接続する各種信号線についてもリセット信号線と同様である。以下、これらの各種信号線と可変部３Ａ内部のプログラマブルセルとの接続関係について述べる。
【００４６】
可変部３Ａの一番ｗ側のプログラマブルセルのｗ方向の隣接プログラマブルセル（すなわち可変部３Ｄ内部のプログラマブルセル）からの入力については、すべてのプログラマブルセルに対して、ｗからｅ方向への隣接セル間通信路２３の中間に入力セレクタ２１Ａ、２１Ｂ、２１Ｃ、２１Ｄ、２１Ｅ等が挿入されている。
【００４７】
これらの入力セレクタは、ｗ方向の隣接するプログラマブルセルからの信号と、組込部２Ａから入力される各種入力信号（すなわちリセット入力信号線６Ａ、応答信号線１０Ｄ、要求信号線９Ａ、複数のデータ入力信号線１１Ａ）とのどちらをプログラマブルセルに入力するかを選択する働きをする。この選択は組込部２Ａから入力されるセレクタ制御信号２２により一斉に行われる。
【００４８】
このセレクタ制御信号２２により組込部２Ａから各プログラマブルセルヘの各種入力信号への通信が選択された場合、プログラマブルセル内部のＬＵＴに対してデータを設定し隣接セル間通信路２３を用いることにより実現される論理回路に対して、本組込部２Ａとのインターフェースを提供することとなり、組込部２Ａとの通信路が確保されるが、実現される論理回路はこれよりｗ方向には拡張することはできない。
【００４９】
一方、セレタタ制御信号２２によりｗ方向の隣接するプログラマブルセルからの信号との接続が選択されれば場合、ＬＵＴに対してデータを設定し隣接セル間通信路２３を用いることにより実現される論理回路は本可変部３Ａだけでなく、隣接する可変部３Ｄ内部のプログラマブルセルもあわせて１つの論理回路を実現することとなる。
【００５０】
ここで、本実施形態は第２の実施形態とは異なり、リセット入力信号線６Ａが入力されるプログラマブル論理セルも他と同様に可変部３Ａの一番ｗ側に接続されていることに注意する。これは本実施形態においては、新たに回路の解放という概念を導入していることによる。すなわち新しい回路機能を実現するために可変部３Ａのプログラマブル論理セル内部のＬＵＴに対してデータを設定するよりも以前に、可変部３Ａおよびその周辺の可変部に既に実現されていた回路があればその回路の利用を終了し、組込部２Ａおよび周辺の組込部に回路の解放の指示（第１の回路解放制御信号）が与えられる。その結果、可変部３Ａのプログラマブル論理セル内部のＬＵＴに対して新しい回路機能に対応するデータを設定する以前に、周辺の可変部３Ｄも含めて各プログラマブル論理セルに対して、たとえばＬＵＴの内部をすべて「０」にするなどの手段で回路の解放を行う。これにより、可変部３Ｄから隣接セル間通信路２３およびセレクタ２１Ｅを経由してプログラマブル論理セル３１Ａに形成されたリセット信号の経路に何らかの信号が入力されて外乱信号として働き誤ってリセットが先に完了したと組込部２Ａに判断されてしまう可能性はなくなる。
【００５１】
また回路の解放の概念のもう１つの実現例として、組込部２Ａおよび周辺の組込部に回路の解放の指示（第２の回路解放制御信号）が与えられると、可変部３Ａのプログラマブル論理セル内部のＬＵＴに対して新しい回路機能に対応するデータを設定する以前に、すべての入力セレクタ２１Ａ、２１Ｂ、２１Ｃ、２１Ｄ、２１Ｅの入力信号の選択を組込部２Ａとの接続を選択する方向にセレタタ制御信号２２を設定するという方法がある。
【００５２】
本実施形態によれば、第２の実施形態とは異なりすべての入力セレクタ２１Ａ、２１Ｂ、２１Ｃ、２１Ｄ、２１Ｅは可変部の周辺部に位置することになり、実際に本実施形態をＬＳＩ化する際のレイアウトは第２の実施形態に比べてより均一性が増し、結果としてチップ面積を減少させることができる。
【００５３】
【発明の効果】
以上説明したように、本発明によれば、たとえば特開２０００−３６７３８及び特開２０００−４９５９１に記載のようなＰＣＡの種々の特徴を損なうことなく、ＰＣＡの可変部上に構成された論理回路の初期値を容易に決定することを可能とし、また隣接する回路からの外乱を考慮することなく初期化を行うことが可能となる。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態のプログラマブル論理セルアレイ回路のブロック図である。
【図２】  図１のプログラマブル論理セルアレイ回路におけるリセット付きＤラッチ回路の内部構造のブロック図である。
【図３】  図１のプログラマブル論理セルアレイ回路におけるリセット付きＤラッチ回路の構成を示す図で、(a)はプログラマブル論理セルで実現するときの説明図、(b)は(a)の機能ブロック図である。
【図４】  (a)、(b)は図３(a)のＬＵＴの真理値を示す図、(c)は図３(b)の入出力真理値を示す図である。
【図５】  図１のプログラマブル論理セルアレイ回路におけるリセット及びインバータ付きMuller-Ｃ素子の構成を示す図で、(a)はプログラマブル論理セルで実現するときの説明図、(b)は(a)の機能ブロック図である。
【図６】  (a)、(b)は図５(a)のＬＵＴの真理値を示す図、(c)は図５(b)の入出力真理値を示す図である。
【図７】  本発明の第２の実施形態のプログラマブル論理セルアレイ回路のブロック図である。
【図８】  本発明の第３の実施形態のプログラマブル論理セルアレイ回路のブロック図である。
【図９】  従来のプログラマブル論理セルの構造を示すブロック図である。
【図１０】  図９のプログラマブル論理セルを複数２次元状に配列したブロック図である。
【図１１】  従来の別のプログラマブル論理セルの構造を示すブロック図である。
【図１２】  図１１に示したプログラマブル論理セルを用いてラッチ回路を構成したブロック図である。
【図１３】  従来のプログラマブル論理セルアレイ回路におけるＰＣＡセルの構成を示すブロック図である。
【符号の説明】
１，１Ａ，１Ｂ：ＰＣＡセル
２，２Ａ，２Ｂ：組込部
３，３Ａ，３Ｂ，３Ｃ，３Ｄ，３Ｅ：可変部
４Ａ，４Ｂ，４Ｃ，：リセット付きＤラッチ回路
５Ａ，５Ｂ：組合せ論理回路
６：リセット信号線，６Ａ：リセット入力信号線，６Ｂ：リセット出力信号線
７Ａ，７Ｂ，７Ｃ：リセット及びインバータ付きMuller-Ｃ素子
８Ａ，８Ｂ，８Ｃ：遅延素子
９Ａ，９Ｂ，９Ｃ，９Ｄ：要求信号線
１０Ａ．１０Ｂ，１０Ｃ，１０Ｄ：応答信号線
１１Ａ，１１Ｂ，１１Ｃ：データ入力信号線
１２Ａ，１２Ｂ，１２Ｃ：データ出力信号線
１３：リセット付きＤラッチ回路
２１Ａ，２１Ｂ，２１Ｃ，２１Ｄ，２１Ｅ：入力セレクタ
２２：セレクタ制御信号
２３：隣接セル間通信路
３１，３１Ａ，３１Ｂ，３１Ｃ，３１Ｄ，３１Ｅ，３１Ｆ：プログラマブル論理セル
Ｍｗ，Ｍｓ，Ｍｅ，Ｍｎ：ＬＵＴ
Ｐｗｉ，Ｐｎｉ，Ｐｅｉ，Ｐｓｉ：入力信号線又は入力信号
Ｐｗｏ，Ｐｎｏ，Ｐｅｏ，Ｐｓｏ：出力信号線又は出力信号
【図１】
0003665962.tif 000002
【図２】
0003665962.tif 000003
【図３】
0003665962.tif 000004
【図４】
0003665962.tif 000005
【図５】
0003665962.tif 000006
【図６】
0003665962.tif 000007
【図７】
0003665962.tif 000008
【図８】
0003665962.tif 000009
【図９】
0003665962.tif 000010
【図１０】
0003665962.tif 000011
【図１１】
0003665962.tif 000012
【図１２】
0003665962.tif 000013
【図１３】
0003665962.tif 000014