JP3665962B2 - プログラマブル論理セルアレイ回路及びその初期化方法 - Google Patents
プログラマブル論理セルアレイ回路及びその初期化方法 Download PDFInfo
- Publication number
- JP3665962B2 JP3665962B2 JP2001142728A JP2001142728A JP3665962B2 JP 3665962 B2 JP3665962 B2 JP 3665962B2 JP 2001142728 A JP2001142728 A JP 2001142728A JP 2001142728 A JP2001142728 A JP 2001142728A JP 3665962 B2 JP3665962 B2 JP 3665962B2
- Authority
- JP
- Japan
- Prior art keywords
- programmable logic
- logic cell
- circuit
- reset
- signal line
- 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
Links
Images
Landscapes
- Logic Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、プログラムにより処理の内容が変更可能なプログラマブルLSIのうち、演算及び配線等の構成要素がプログラマブルな均一の論理セルからなるプログラマブル論理セルアレイ回路に関するものである。
【0002】
【従来の技術】
ハードウェアの高速性にソフトウェア処理並のプログラマビリテイを持たせる技術として、フィールドプログラマブルゲートアレイ(FPGA)が実用に供されている。通常のFPGAはLSI上のメモリに外部から回路情報をプログラミングし、その内容に従って演算動作が行われる。FPGAの中には、演算動作中にLSIの中の一部の回路情報が外部から書き換え可能なものもあるが、LSI内に実現された回路自身が同じLSI内に別の回路を実現したり、回路自身の複製を行ったりするようなものは近年まで存在しなかった。
【0003】
これに対し、近年LSI内のメモリに実現された回路機能自身が自己の機能の複製を行ったり、新たな回路機能を生成したりすることができる技術が提案されている。たとえば特開平11−167555及び特開平11−167556で提案されている技術がある。これらの技術においては、プログラマブルな論理回路を実現する論理セル(可変部)と、可変部で実現された論理回路間の通信を行ったり可変部への回路をロードしたりする論理セル(組込部)とを1対とし(PCAセル)、PCAセルの2次元の一様なアレイ構造からPCA(Plastic Cell Architecture)と呼ばれるハードウェアを構成することを提案している。
【0004】
図13は上記公報に記載の基本構成であるPCAセルの構成図である。PCAは、相互に接続された均一なPCAセル1で構成され、各PCAセ1は組込部2と可変部3とから構成される。組込部1は予め定義された固定機能からなり、隣接PCAセルの組込部と相互に接続されている。可変部2はセル単位での書き換えが可能なプログラマブル論理回路であり、隣接したPCAセルの可変部と相互に接続されている。組込部2を介して可変部3に構成情報を書き込むことにより、可変部3は隣接したPCAセルとの接続を入出力とする論理ゲートや記憶素子として機能する回路となる。
【0005】
このPCAにおける可変部の具体的な構成例が特開2000−36738及び特開2000−49591で提案されている。これらの提案では、可変部は小規模なメモリのアドレス線に入力信号を入力すると、対応するメモリセルに格納されたデータを演算結果としてそのまま出力するルックアップテーブル(LUT)と呼ばれるプログラマブルな論理素子のアレイ構造により構成されている。
【0006】
図9は特開2000−49591公報に記載の基本構成であるプログラマブル論理セルのブロック図である。図9に示す論理セル31は、w,n,e,sと名付けられた4方向に対して1つずつ合計で4つの隣接セルを持つ。たとえば図10に示すように、セル31Aは、セル31B,31C,31D,31Eの4つの隣接セルを持つ。そして、セル31は、4つの隣接セルから信号を入力するための入力信号線Pwi,Pni,Pei,Psiと4つの隣接セルに信号を出力するための出力信号線Pwo,Pno,Peo,Psoを持つ。さらに、セル31は4つの入力信号線Pwi,Pni,Pei,Psiの値によりアドレス指定されるLUT Mw,Mn,Me,Msを持ち、そのうちのLUT Mwの出力は出力信号線Pwoに、LUT Mnの出力は出力信号線Pnoに、LUT Meの出力は出力信号線Peoに、LUT Msの出力は出力信号線Psoに、それぞれ出力される。
【0007】
そして、各LUT Mw,Mn,Me,Msは、入力信号線Pwi,Pni,Pei,Psiにより共通にアドレス指定されたアドレスの記憶素子に任意の値を予め格納可能であり、従って各LUT Mw,Mn,Me,Msは同じアドレス値を入力しながら、異なった演算を行うことが可能である。各LUT Mw,Mn,Me,Msには、それぞれ16個のメモリセルがあり、入力信号線Pwi,Pni,Pei,Psiの値によりそれぞれ16個のメモリセルのうちの1個を特定し、対応するメモリセルに格納されている「0」または「1」のデータを各出力信号線Pwo,Pno,Peo,Psoに出力する。
【0008】
また特開2000−36738においては、3入力のLUTを構成要素として用いた可変部により、各種論理回路及び記憶素子を構成する手段が提案されている。図11は特開2000−36738公報に記載の可変部の構成であり、図12は同公報に記載のラッチ回路の例である。図11,図12において、31’はセル、Mw',Mn',Me',Ms'は3入力のLUT、Pw',Pn',Pe',Ps'は入出力信号線である。
【0009】
【発明が解決しようとする課題】
しかしながら、上記公報に記載のLUTの組合せによるラッチなどの記憶素子を含んだ順序回路の構成では、LUTのメモリセルに回路情報を読み込ませた直後に記憶素子に記憶させる初期状態は一般的に一意に決定することができないという問題があった。実際に記憶素子を要素として含む順序回路の使用にあたっては、記憶素子の初期値の決定は重要な問題であり、もし初期値が一意に決定できなければ回路の構成に大幅な制限が加わり、さらに初期化を行うために回路へ別途特別な信号を外部から入力しなければならないこととなる。
【0010】
そこで本発明の目的は、このような従来の課題を解決し、PCAの可変部のLUT上に構成された順序回路の初期状態を一意に決定し、順序回路の正常な動作を可能にさせることにある。
【0011】
【課題を解決するための手段】
上記目的を達成するため、本発明によるプログラマブル論理セルアレイ回路は、格子状に配置された複数のプログラマブル論理セルからなる可変部と、該可変部のプログラマブル論理セルの一部もしくは全部を管理する1又は複数の組込部とにより構成され、前記可変部上の各プログラマブル論理セルは、複数の入力線と複数の出力線とを持ち前記組込部からダウンロードされる回路情報によって実現する論理機能が決定され、且つ該複数の入力線と複数の出力線により隣接するプログラマブル論理セル又は前記組込部と相互に接続され、前記可変部は、1又は複数のデータの保持及び取り込みが制御できるよう前記プログラマブル論理セルの回路情報により実現された1又は複数の記憶素子と、該記憶素子のデータの保持及び取り込みを制御ができるよう前記プログラマブル論理セルの回路情報により実現された1又は複数の記憶素子制御回路と、前記プログラマブル論理セルの回路情報により実現され直列接続されたリセット信号線と具備し、前記リセット信号線の始端部の側を前記組込部のリセット信号出力点及び前記1又は複数の記憶素子に接続し、終端部の側を前記1又は複数の記憶素子制御回路に接続してなるよう構成した。
【0012】
第2の発明は、第1の発明において、前記リセット信号線の前記終端部を前記組込部に接続し、リセット信号を帰還させるように構成した。
【0013】
第3の発明は、第1又は第2の発明において、前記組込部から出力するリセット信号を最初に印加する接続点を、前記格子状の複数のプログラマブル論理セルのうちの周辺部よりも内側のプログラマブル論理セルの回路情報で実現したリセット信号線として構成した。
【0014】
第4の発明は、第1,第2又は第3の発明のプログラマブル論理セルアレイ回路の初期化方法であって、前記組込部から前記リセット信号線の前記始端部にリセット信号を印加して前記1又は複数の記憶素子から前記1又は複数の記憶素子制御回路の順番で順次初期化するよう構成した。
【0015】
第5の発明は、第1の発明において、前記組込部から前記可変部上の各プログラマブル論理セルに対して第1の回路解放制御信号を送出することにより、各プログラマブル論理セルの内容をある特定の値とするよう構成した。
【0016】
第6の発明は、第1の発明において、前記組込部から前記可変部上の前記格子状の複数のプログラマブル論理セルの周辺部に対して第2の回路解放制御信号を送出することにより、前記周辺部の各プログラマブル論理セルと隣接する前記可変部との接続を切り離すよう構成した。
【0017】
【発明の実施の形態】
本発明のプログラマブル論理セルでは、可変部のLUT上にプログラムによりリセット信号線を設け、組込部が受信した命令に従って可変部上の順序回路のリセット付きDラッチ回路等の記憶素子の初期状態を順次決定し、その後にその記憶素子のデータの保持と取り込みを制御するリセット付きMuller-C素子等の記憶素子制御回路の初期状態を順次決定してゆくことにより、順序回路全体の初期状態を一意的に決定し、回路の動作の開始を円滑に行うことを可能ならしめる。
【0018】
[第1の実施の形態]
以下、本発明を図面により詳細に説明する。図1は本発明の第1の実施形態のプログラマブル論理セルアレイ回路の構造全体のブロック図、図2は図1中のリセット付きDラッチ回路の内部構造を示す図である。また図3(a)は図1中のリセット付きDラッチ回路のプログラムによる構成例の物理的構造を示す図、(b)はそれを実現する機能のブロック図である。図4(a)、(b)は図3(a)中のLUTの内部のメモリセルの値(真理値)を示す図、(c)は図3(b)のDラッチ回路の入出力の値を示す図である。図5(a)は図1中のリセット付きMuller-C素子のプログラムによる構成例の物理的構造を示す図、(b)はそれを実現する機能のブロック図である。図6(a)、(b)は図5(a)中のLUTの内部のメモリセルの値(真理値)を示す図、図6(c)は図5(b)のリセット及びインバータ付きMuller-C素子の入出力の値を示す図である。
【0019】
図1に示すプログラマブル論理セルアレイ回路は、複数のPCAセル1A,1Bからなり、PCAセル1Aは内部構造として組込部2Aと可変部3Aを有し、またPCAセル1Bは内部構造として組込部2Bと可変部3Bを有する。各PCAセル1A,1Bの構造は同一であり、以下PCAセル1Aの内部構造について説明する。
【0020】
可変部3Aは、LUTのプログラムにより構成された複数のリセット付きDラッチ回路(記憶素子)4A,4B,4Cと、LUTのプログラムにより構成された複数の組合せ論理回路5A,5Bと、LUTのプログラムにより複数のLUTの直列接続の形で構成され始端部が組込部2Aのリセット信号出力点に接続され終端部が組込部2Aのリセット信号入力点に接続されたリセット信号線6と、LUTのプログラムにより構成された複数のリセット及びインバータ付きMuller-C素子(記憶素子制御回路)7A,7B,7Cと、LUTのプログラムにより構成された複数の遅延素子8A,8B,8Cと、LUTのプログラムにより構成された複数の要求信号線9A,9B,9C,9Dと、LUTのプログラムにより構成された複数の応答信号線10A,10B,10C,10Dと、各リセット付きDラッチ回路4A,4B,4Cへの1ビットまたは複数ビットのデータ入力信号線11A,11B,11Cと、各リセット付きDラッチ回路4A,4B,4Cからの1ビットまたは複数ビットのデータ出力信号線12A,12B,12Cとからなる。上記した各LUTのプログラムは、組込部2Aからダウンロードされた回路情報によりセットされるが、その具体的な手法についての説明はここでは省略する。
【0021】
ここで、各リセット付きDラッチ回路4A,4B,4Cは、図2に示すように1もしくはn個のリセット付きDラッチ回路13からなり、各リセット付きDラッチ回路13にはそれぞれ1ビットのデータ入力、データ出力、リセット入力、及びゲート入力の4つの端子を持つ。このリセット付きDラッチ回路13は、リセット入力端子に「1」が入力されている間はデータ出力端子に「0」を出力し、リセット入力端子に「0」が入力されている間であってかつゲート入力が「1」の時にはデータ入力をデータ出力にそのまま送出し、リセット入力端子に「0」が入力されている間であってかつゲート入力が「0」の時には出力値は直前の状態を保持するという性質を持つ素子である。
【0022】
また、一般的なMuller-C素子は、複数ビットのデータ入力端子と1ビットのデータ出力端子とを持ち、複数のデータ入力信号が全て「0」のときは「0」を出力し、複数のデータ入力信号が全て「1」のときは「1」を出力し、複数のデータ入力信号に「0」と「1」が混在している場合には出力値は直前の状態を保持するという性質を持つ素子であるが、図1の回路の構成要素であるリセット及びインバータ付きMuller-C素子7A、7B、7Cは、上記のMuller-C素子の2つの入力のうち1つの入力の前段にインバータが付帯し、さらに回路の初期状態としてデータ出力端子に「0」を設定する機能を持つリセット入力端子を持つものである。
【0023】
組込部2Aは隣接するPCAセル1Bの内部の組込部2Bからラッチの初期化命令を受信すると、リセット信号線6の始端側にリセット信号「1」、要求信号線9Aに「0」、及び応答信号線10Dに「0」をそれぞれ出力する。リセット信号線6を伝播したリセット信号は、可変部3Aの中の各リセット付きDラッチ回路4A、4B、4C及び可変部3Aの中の各リセット及びインバータ付きMuller-C素子7A、7B、7Cの各リセット入力端子に対し、4A,4B,4C,7C,7B,7Aの順番に入力され、この順番で各素子の初期リセットを行う。
【0024】
リセットされた各リセット付きDラッチ回路4A,4B,4C及び各リセット及びインバータ付きMuller-C素子7A,7B,7Cの出力値は「0」となる。リセット信号線6を伝播したリセット信号は、全てのリセット及びインバータ付きMuller-C素子回路7A,7B,7C及び全てのリセット付きDラッチ回路4A,4B,4Cのリセットが完了した後にそのリセット信号線6の終端部から再び組込部2Aに入力され、これにより全てのリセット及びインバータ付きMuller-C素子回路7A、7B、7C及び全てのリセット付きDラッチ回路4A、4B、4Cのリセットが完了したことを検出することができる。
【0025】
リセット信号線6を伝播したリセット信号「1」の組込部2Aへの帰還が確認されると、次に組込部2Aはリセット信号線6に対し「0」を出力する。このリセット信号線6の信号「0」は各リセット付きDラッチ回路4A,4B,4C及び各リセット及びインバータ付きMuller-C素子7A,7B,7Cの各リセット入力端子に対し、4A,4B,4C,7C,7B,7Aの順番に入力され、その後再び組込部2Aに入力される。これにより一旦リセット状態となった各リセット付きDラッチ回路4A,4B,4C及び各リセット及びインバータ付きMuller-C素子7A,7B,7Cは通常の動作に移行できる状態となる。以上の一連のリセット動作の完了時点では、各リセット及びインバータ付きMuller-C素子7A,7B,7Cの出力は「0」であるため、各応答信号線10A,10B,10Cの値は「0」となっている。
【0026】
この状態で組込部2Aは要求信号線9Aに「1」を送出する。要求信号線9Aはリセット及びインバータ付きMuller-C素子7Aのインバータ付きでないほうの入力端子に印加され、もう一方の入力端子の入力に印加される信号は応答信号線10Bでありこの時点ではその値は「0」であるので、リセット及びインバータ付きMuller-C素子7Aの出力は「0」から「1」に変化する。この変化は応答信号線10Aを伝播してリセット付きDラッチ回路4Aのゲート入力を「1」とし、リセット付きDラッチ回路4Aに対しデータ入力信号線11Aの信号を取り込むと同時にリセット付きDラッチ回路4Aのデータ出力端子に接続されたラッチ出力信号線12Aへそのままデータ入力信号線11Aの信号を出力させ、さらに組合せ論理回路5Aにより信号が加工された後、データはデータ入力信号線11Bを経て次段のリセット付きDラッチ回路4Bへと転送される。
【0027】
一方、前記のリセット及びインバータ付きMuller-C素子7Aの出力の「0」から「1」への変化は応答信号線10Aを伝播して遅延素子8Aに入力される。この遅延素子8Aは、組合せ論理回路5Aの全ての入力端子(すなわちラッチ出力信号線12A)から組合せ論理回路5Aの全ての出力端子(すなわちデータ入力信号線11B)への複数ある信号の伝播経路の遅延のうちで最大の値よりもさらに大きな信号の遅延が加算されるような素子であり、これによりリセット付きDラッチ回路4Aから出力された信号がリセット付きDラッチ回路4Bへ到着した後に要求信号線9Bの値が「0」から「1」へと変化することを保証する。要求信号線9Bはリセット及びインバータ付きMuller-C素子7Bのインバータ付きでないほうの入力端子に印加され、もう一方の入力端子の入力に印加される信号は応答信号線10Cでありこの時点ではその値は「0」であるので、リセット及びインバータ付きMuller-C素子7Bの出力は「0」から「1」に変化する。
【0028】
この変化は、応答信号線10Bを伝播してリセット付きDラッチ回路4Bのゲート入力を「1」とし、リセット付きDラッチ回路4Bに対しデータ入力信号線11Bの信号が取り込まれる。一方、応答信号線10Bはリセット及びインバータ付きMuller-C素子7Aのインバータ付き人力端子に入力される。これらの一連の動作は、さらに次段の回路へと転送され、最終的には組込部2Aまで到達する。
【0029】
また、先の動作により応答信号線10Aは「1」に変化しているが、これは組込部2Aにも入力されており、この応答信号線10Aの「1」への変化に反応して要求信号線9Aは「1」から「0」へと変化する。要求信号線9Aの「0」はリセット及びインバータ付きMuller-C素子7Aのインバータ付きでない端子へ入力されるが、このとき先の動作によりリセット及びインバータ付きMuller-C素子7Aのインバータ付き人力に印加される応答信号線10Bはいずれ「1」へと変化するので、リセット及びインバータ付きMuller-C素子7Aの出力はインバータ付きでない入力に「0」、インバータ付き入力に「1」が入力された時点で「0」へと変化する。これによりリ、セット付きDラッチ回路4Aのデータ出力は保持されることとなる。これら一連の動作はさらに次段の回路へと転送され、最終的には組込部2Aまで到達される。
【0030】
このようにして本実施形態においては、各リセット付きDラッチ回路及び各リセット及びインバータ付きMuller-C素子の初期化を行った後に、非同期的にラッチ間のデータ転送を行うことが可能となる。上記の処理は全て可変部上のLUTのプログラムにより実現されており、各回路の初期値を決定するための特別な外部入力やそのための回路を必要としない。
【0031】
次に、図1の実施形態の構成要素であるリセット付きDラッチ回路13のプログラムによる構成を図3,図4で説明する。図3(a)中の31A,31Bは隣接する2つのプログラマブル論理セルであり、各プログラマブル論理セルは図8に示したプログラマブル論理セル31と同等の構成となっている。このうちプログラマブル論理セル31Aの右側に位置するLUT Me1には4つの隣接するプログラマブル論理セルからのPwi1,Pni1,Pei1,Psi1の4本の入力信号が印加される。同様にプログラマブル論理セル31Bの左側に位置するLUT Mw2には4つの隣接するプログラマブル論理セルからのPwi2,Pni2,Pei2,Psi2の4本の入力信号が印加される。LUT Me1の出力信号Peo1はLUTMw2の入力信号Pwi2となり、またLUT Mw2の出力信号Pwo2はLUT Me1の入力信号Pei1となる。この2つのLUT Me1,Mw2の内部のメモリセルの値により、リセット付きDラッチ回路13が構成される。
【0032】
図4(a)はLUT Me1の入力値に対する16個の各メモリセルの値を示し、図4(b)はLUT Mw2の入力値に対する16個の各メモリセルの値を示す。このように16個のメモリセルの値を設定することにより、図3(a)のように各人力信号Psi1,Pwi1,Pni1に対応して出力信号Peo1の値が決定され、これは図3(b)に示すようにPni1をデータ入力、Psi1をリセット入力、Pwi1をゲート入力、及びPeo1をデータ出力とするリセット付きDラッチ回路13となる。図4(c)にリセット付きDラッチ回路13の入力値に対する出力値を示す。なお、図4(a)の真理値において、入力信号Psi1が「1」のときの対応するメモリセルの値を「1」とすることにより、リセット付きDラッチ回路13の初期値を「1」とすることが可能である。
【0033】
次に、図1の実施形態の構成要素であるリセット及びインバータ付きMuller-C素子7A,7B,7Cのプログラムによる構成を図5、図6で説明する。図5(a)中の31A,31Bは隣接する2つのプログラマブル論理セルであり、各プログラマブル論理セルは図8に示すプログラマブル論理セル31と同等の構成となっている。このうちプログラマブル論理セル31Aの右側に位置するLUT Me1には4つの隣接するプログラマブル論理セルからのPwi1,Pni1,Pei1,Psi1の4本の入力信号が印加される。同様にプログラマブル論理セル31Bの左側に位置するLUT Mw2には4つの隣接するプログラマブル論理セルからのPwi2,Pni2,Pei2,Psi2の4本の入力信号が印加される。LUT Me1の出力信号Peo1はLUT Mw2の入力信号Pwi2となり、またLUT Mw2の出力信号Pwo2はLUT Me1の入力信号Pei1となる。この2つのLUT Me1及びMw2の内部のメモリセルの値により、リセット及びインバータ付きMuller-C素子7A,7B,7Cが構成される。
【0034】
図6(a)はLUT Me1の入力値に対する16個の各メモリセルの値を示し、図6(b)はLUT Mw2の入力値に対する16個の各メモリセルの値を示す。このように16個のメモリセルの値を設定することにより、図5(a)のように各人力信号Psi1、Pwi1、Pni1に対応して出力信号Peo1の値が決定され、これは図5(b)に示すようにPni1をインバータ付きでないデータ入力、Psi1をリセット入力、Pwi1をインバータ付きデータ入力、及びPeo1をデータ出力とするリセット及びインバータ付きMuller-C素子7A,7B,7Cとなる。図6(c)にリセット及びインバータ付きMuller-C素子7A,7B,7Cの入力値に対する出力値を示す。なお、図6(a)の真理値において、入力信号Psi1が「1」のときの対応するメモリセルの値を「1」とすることにより、リセット及びインバータ付きMuller-C素子7A,7B,7Cの初期値を「1」とすることが可能である。
【0035】
[第2の実施形態]
図7は本発明の第2の実施形態を示すブロック図であり、1個のPCAセル1Aと、隣接する4つのPCAセル内部の4つの可変部3B、3C、3D、3Eを示している。PCAセル1Aの内部は組込部2A及び可変部3Aと、両者を結ぶ信号線群、すなわち組込部2Aから可変部3A方向の信号としてリセット入力信号線6A、応答信号線10D、要求信号線9A及び複数ビットからなるデータ入力信号線11A、また可変部3Aから組込部2A方向の信号としてリセット出力信号線6B、要求信号線9D、応答信号線10A及び複数ビットからなるデータ出力信号線12Cからなる。可変部3Aの内部は、複数のプログラマブル論理セル31A,31B,31C,31D,31E,31F等がメッシュ状に配置されている。
【0036】
各プログラマブル論理セルの内部は図8に示したように4つのLUTから構成されている。隣接するプログラマブル論理セル間は双方向に隣接セル間通信路23が存在し互いにデータの授受を行う。この隣接セル間通信路23は、可変部3A内部だけでなく、可変部3Aに隣接する各可変部3B,3C,3D,3Eと3Aとの間にも存在する。このプログラマブル論理セル内部のLUTに対してデータを設定し隣接セル間通信路23を用いることにより、組合せ論理回路、ラッチ、Muller-C素子等の種々の論理回路を構成することができることは第1の実施形態と同様であり、その際ラッチやMuller-C素子についてはリセット入力信号線6Aからリセット出力信号線6Bまでの間をLUTのプログラムによる結線により順次連結しつつ各素子に対してリセット信号を入力させることとなる。その他の組込部2Aと可変部3Aとを接続する各種信号線についてもリセット信号線と同様である。以下、これらの各種信号線と可変部3A内部のプログラマブル論理セルとの接続関係について述べる。
【0037】
図7のメッシュの4方向を図に面して左、上、右、下をそれぞれw、n、e、sと名付けることとすると、可変部3Aの一番w側のプログラマブル論理セルのw方向の隣接プログラマブル論理セル(すなわち可変部3D内部のプログラマブル論理セル)からの入力については、その中でさらに一番n側のプログラマブル論理セル31Aを除いた全てのプログラマブル論理セルに対してwからe方向への隣接セル間通信路23の中間に入力セレクタ21A,21B,21C,21Dが挿入されている。またプログラマブル論理セル31Aからみてe方向に隣接するプログラマブル論理セル31Eについても、プログラマブル論理セル31Aから入力される隣接セル間通信路23の中間に入力セレクタ21Eが挿入されている。
【0038】
これらの入力セレクタ21A,21B,21C,21D,21Eは、w方向の隣接するプログラマブル論理セルからの信号と、組込部2Aから入力される各種入力信号(すなわちリセット入力信号線6A、応答信号線10D、要求信号線9A、複数のデータ信号線11A)とのどちらをプログラマブル論理セルに入力するかを選択する働きをする。この選択は組込部2Aから入力されるセレクタ制御信号22により一斉に行われる。
【0039】
このセレクタ制御信号22により組込部2Aから各プログラマブル論理セルへの各種入力信号への通信が選択された場合は、プログラマブル論理セル内部のLUTに対してデータを設定し隣接セル間通信路23を用いることにより実現される論理回路に対して、本組込部2Aとのインタフェースを提供することとなり、組込部2Aとの間の通信路が確保されるが、実現される論理回路はこれよりw方向には拡張することはできない。
【0040】
一方、セレクタ制御信号22によりw方向の隣接するプログラマブル論理セルからの信号との接続が選択された場合は、LUTに対してデータを設定し隣接セル間通信路23を用いることにより実現される論理回路は本可変部3Aだけでなく、隣接する可変部3D内部のプログラマブル論理セルもあわせて1つの論理回路を実現することとなる。
【0041】
本発明のプログラマブル論理セルアレイ回路においては、通常はセレクタ制御信号22は隣接する可変部3Dとの接続を選択するようになっている。これは通常では可変部は隣接する複数の可変部とにより1個の論理回路を実現するためであり、この場合には特定の可変部以外は組込部との通信経路は選択されない。
【0042】
ここで、リセット入力信号線6Aが入力されるプログラマブル論理セルだけは可変部3Aの一番w側でなくそれより1個e側のプログラマブル論理セル31Eとなるようセレクタ21Eが接続されていることに注意すべきである。これは、もし他の入力セレクタ21A,21B,21C,21D等と同じように可変部3Aの一番w側にリセット入力信号線6Aが入力されるようにセレクタ21Eを接続して可変部3Aを構成した場合、通常の状態においてはセレクタ制御信号22が可変部3Dとの接続を選択する方向に選択されているので、リセット入力信号線6Aにリセット信号を印加する直前にセレクタ制御信号22を組込部2Aと通信する方向に変化させる以前に、可変部3Dから隣接セル間通信路23及びセレクタ21Eを経由してプログラマブル論理セル31Aに形成されたリセット信号の経路に何らかの信号が入力されて外乱信号として働き、誤ってリセットが先に完了したと組込部2Aに判断されてしまう可能性があるからである。
【0043】
一方、本実施形態によれば、リセット入力信号線6Aが印加されるセレクタ21Eは直接隣接する可変部3Dからの信号を受けることはなく、前述のように隣接する可変部3Dからの外乱信号の影響を受けることなく可変部3A内の各論理回路のリセットを正しく行うことが可能である。
【0044】
[第3の実施形態]
図8は第3の実施形態を示すブロック図であり、1個のPCAセル1Aと、隣接する4つのPCAセル内部の4つの可変部3B、3C、3D、3Eを示している。PCAセル1Aの内部は組込部2Aおよび可変部3Aと、両者を結ぶ信号線群すなわち組込部2Aから可変部3A方向の信号としてリセット入力信号線6A、応答信号線10D、要求信号線9Aおよび複数ビットからなるデータ入力信号線11A、また可変部3Aから組込部2A方向の信号としてリセット出力信号線6B、要求信号線9D、応答信号線10Aおよび複数ビットからなるデータ出力信号線12Cからなる。可変部3Aの内部は、複数のプログラマブル論理セル31A、31B、31C、31D、31E、31F等がメッシュ状に配置される。
【0045】
各プログラマブル論理セルの内部は第2の実施形態に準じる。このプログラマブル論理セル内部のLUTに対してデータを設定し、隣接セル間通信路23を用いることにより、組合せ論理回路、ラッチ、Muller−C素子等の種々の論理回路を構成することができることは第1および第2の実施形態と同様であり、その際ラッチやMuller−C素子についてはリセット入力信号線6Aからリセット出力信号線6BまでをLUTのプログラムによる結線により順次連結しつつ各素子に対してリセット信号を入力させることとなる。その他の組込部2Aと可変部3Aとを接続する各種信号線についてもリセット信号線と同様である。以下、これらの各種信号線と可変部3A内部のプログラマブルセルとの接続関係について述べる。
【0046】
可変部3Aの一番w側のプログラマブルセルのw方向の隣接プログラマブルセル(すなわち可変部3D内部のプログラマブルセル)からの入力については、すべてのプログラマブルセルに対して、wからe方向への隣接セル間通信路23の中間に入力セレクタ21A、21B、21C、21D、21E等が挿入されている。
【0047】
これらの入力セレクタは、w方向の隣接するプログラマブルセルからの信号と、組込部2Aから入力される各種入力信号(すなわちリセット入力信号線6A、応答信号線10D、要求信号線9A、複数のデータ入力信号線11A)とのどちらをプログラマブルセルに入力するかを選択する働きをする。この選択は組込部2Aから入力されるセレクタ制御信号22により一斉に行われる。
【0048】
このセレクタ制御信号22により組込部2Aから各プログラマブルセルヘの各種入力信号への通信が選択された場合、プログラマブルセル内部のLUTに対してデータを設定し隣接セル間通信路23を用いることにより実現される論理回路に対して、本組込部2Aとのインターフェースを提供することとなり、組込部2Aとの通信路が確保されるが、実現される論理回路はこれよりw方向には拡張することはできない。
【0049】
一方、セレタタ制御信号22によりw方向の隣接するプログラマブルセルからの信号との接続が選択されれば場合、LUTに対してデータを設定し隣接セル間通信路23を用いることにより実現される論理回路は本可変部3Aだけでなく、隣接する可変部3D内部のプログラマブルセルもあわせて1つの論理回路を実現することとなる。
【0050】
ここで、本実施形態は第2の実施形態とは異なり、リセット入力信号線6Aが入力されるプログラマブル論理セルも他と同様に可変部3Aの一番w側に接続されていることに注意する。これは本実施形態においては、新たに回路の解放という概念を導入していることによる。すなわち新しい回路機能を実現するために可変部3Aのプログラマブル論理セル内部のLUTに対してデータを設定するよりも以前に、可変部3Aおよびその周辺の可変部に既に実現されていた回路があればその回路の利用を終了し、組込部2Aおよび周辺の組込部に回路の解放の指示(第1の回路解放制御信号)が与えられる。その結果、可変部3Aのプログラマブル論理セル内部のLUTに対して新しい回路機能に対応するデータを設定する以前に、周辺の可変部3Dも含めて各プログラマブル論理セルに対して、たとえばLUTの内部をすべて「0」にするなどの手段で回路の解放を行う。これにより、可変部3Dから隣接セル間通信路23およびセレクタ21Eを経由してプログラマブル論理セル31Aに形成されたリセット信号の経路に何らかの信号が入力されて外乱信号として働き誤ってリセットが先に完了したと組込部2Aに判断されてしまう可能性はなくなる。
【0051】
また回路の解放の概念のもう1つの実現例として、組込部2Aおよび周辺の組込部に回路の解放の指示(第2の回路解放制御信号)が与えられると、可変部3Aのプログラマブル論理セル内部のLUTに対して新しい回路機能に対応するデータを設定する以前に、すべての入力セレクタ21A、21B、21C、21D、21Eの入力信号の選択を組込部2Aとの接続を選択する方向にセレタタ制御信号22を設定するという方法がある。
【0052】
本実施形態によれば、第2の実施形態とは異なりすべての入力セレクタ21A、21B、21C、21D、21Eは可変部の周辺部に位置することになり、実際に本実施形態をLSI化する際のレイアウトは第2の実施形態に比べてより均一性が増し、結果としてチップ面積を減少させることができる。
【0053】
【発明の効果】
以上説明したように、本発明によれば、たとえば特開2000−36738及び特開2000−49591に記載のようなPCAの種々の特徴を損なうことなく、PCAの可変部上に構成された論理回路の初期値を容易に決定することを可能とし、また隣接する回路からの外乱を考慮することなく初期化を行うことが可能となる。
【図面の簡単な説明】
【図1】 本発明の第1の実施形態のプログラマブル論理セルアレイ回路のブロック図である。
【図2】 図1のプログラマブル論理セルアレイ回路におけるリセット付きDラッチ回路の内部構造のブロック図である。
【図3】 図1のプログラマブル論理セルアレイ回路におけるリセット付きDラッチ回路の構成を示す図で、(a)はプログラマブル論理セルで実現するときの説明図、(b)は(a)の機能ブロック図である。
【図4】 (a)、(b)は図3(a)のLUTの真理値を示す図、(c)は図3(b)の入出力真理値を示す図である。
【図5】 図1のプログラマブル論理セルアレイ回路におけるリセット及びインバータ付きMuller-C素子の構成を示す図で、(a)はプログラマブル論理セルで実現するときの説明図、(b)は(a)の機能ブロック図である。
【図6】 (a)、(b)は図5(a)のLUTの真理値を示す図、(c)は図5(b)の入出力真理値を示す図である。
【図7】 本発明の第2の実施形態のプログラマブル論理セルアレイ回路のブロック図である。
【図8】 本発明の第3の実施形態のプログラマブル論理セルアレイ回路のブロック図である。
【図9】 従来のプログラマブル論理セルの構造を示すブロック図である。
【図10】 図9のプログラマブル論理セルを複数2次元状に配列したブロック図である。
【図11】 従来の別のプログラマブル論理セルの構造を示すブロック図である。
【図12】 図11に示したプログラマブル論理セルを用いてラッチ回路を構成したブロック図である。
【図13】 従来のプログラマブル論理セルアレイ回路におけるPCAセルの構成を示すブロック図である。
【符号の説明】
1,1A,1B:PCAセル
2,2A,2B:組込部
3,3A,3B,3C,3D,3E:可変部
4A,4B,4C,:リセット付きDラッチ回路
5A,5B:組合せ論理回路
6:リセット信号線,6A:リセット入力信号線,6B:リセット出力信号線
7A,7B,7C:リセット及びインバータ付きMuller-C素子
8A,8B,8C:遅延素子
9A,9B,9C,9D:要求信号線
10A.10B,10C,10D:応答信号線
11A,11B,11C:データ入力信号線
12A,12B,12C:データ出力信号線
13:リセット付きDラッチ回路
21A,21B,21C,21D,21E:入力セレクタ
22:セレクタ制御信号
23:隣接セル間通信路
31,31A,31B,31C,31D,31E,31F:プログラマブル論理セル
Mw,Ms,Me,Mn:LUT
Pwi,Pni,Pei,Psi:入力信号線又は入力信号
Pwo,Pno,Peo,Pso:出力信号線又は出力信号
Claims (6)
- 格子状に配置された複数のプログラマブル論理セルからなる可変部と、該可変部のプログラマブル論理セルの一部もしくは全部を管理する1又は複数の組込部とにより構成され、
前記可変部上の各プログラマブル論理セルは、複数の入力線と複数の出力線とを持ち前記組込部からダウンロードされる回路情報によって実現する論理機能が決定され、且つ該複数の入力線と複数の出力線により隣接するプログラマブル論理セル又は前記組込部と相互に接続され、
前記可変部は、1又は複数のデータの保持及び取り込みが制御できるよう前記プログラマブル論理セルの回路情報により実現された1又は複数の記憶素子と、該記憶素子のデータの保持及び取り込みを制御ができるよう前記プログラマブル論理セルの回路情報により実現された1又は複数の記憶素子制御回路と、前記プログラマブル論理セルの回路情報により実現され直列接続されたリセット信号線と具備し、
前記リセット信号線の始端部の側を前記組込部のリセット信号出力点及び前記1又は複数の記憶素子に接続し、終端部の側を前記1又は複数の記憶素子制御回路に接続してなることを特徴とするプログラマブル論理セルアレイ回路。 - 請求項1に記載のプログラマブル論理セルアレイ回路において、
前記リセット信号線の前記終端部を前記組込部に接続し、リセット信号を帰還させるようにしたことを特徴とするプログラマブル論理セルアレイ回路。 - 請求項1に記載のプログラマブル論理セルアレイ回路において、
前記組込部から出力するリセット信号を最初に印加する接続点を、前記格子状の複数のプログラマブル論理セルのうちの周辺部よりも内側のプログラマブル論理セルの回路情報で実現したリセット信号線としたことを特徴とするプログラマブル論理セルアレイ回路。 - 請求項1、2又は3に記載のプログラマブル論理セルアレイ回路の初期化方法であって、
前記組込部から前記リセット信号線の前記始端部にリセット信号を印加して前記1又は複数の記憶素子から前記1又は複数の記憶素子制御回路の順番で順次初期化するようにしたことを特徴とするプログラマブル論理セルアレイ回路の初期化方法。 - 請求項1に記載のプログラマブル論理セルアレイ回路において、
前記組込部から前記可変部上の各プログラマブル論理セルに対して第1の回路解放制御信号を送出することにより、各プログラマブル論理セルの内容をある特定の値とすることを特徴とするプログラマブル論理セルアレイ回路。 - 請求項1に記載のプログラマブル論理セルアレイ回路において、
前記組込部から前記可変部上の前記格子状の複数のプログラマブル論理セルの周辺部に対して第2の回路解放制御信号を送出することにより、前記周辺部の各プログラマブル論理セルと隣接する前記可変部との接続を切り離すことを特徴とするプログラマブル論理セルアレイ回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001142728A JP3665962B2 (ja) | 2000-12-20 | 2001-05-14 | プログラマブル論理セルアレイ回路及びその初期化方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-387376 | 2000-12-20 | ||
JP2000387376 | 2000-12-20 | ||
JP2001142728A JP3665962B2 (ja) | 2000-12-20 | 2001-05-14 | プログラマブル論理セルアレイ回路及びその初期化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002252558A JP2002252558A (ja) | 2002-09-06 |
JP3665962B2 true JP3665962B2 (ja) | 2005-06-29 |
Family
ID=26606197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001142728A Expired - Fee Related JP3665962B2 (ja) | 2000-12-20 | 2001-05-14 | プログラマブル論理セルアレイ回路及びその初期化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3665962B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003248073A1 (en) * | 2003-07-16 | 2005-02-04 | Innotech Corporation | Semiconductor integrated circuit |
JP2015201813A (ja) * | 2014-04-10 | 2015-11-12 | 株式会社日立製作所 | プログラマブルゲートアレイ |
US10797706B2 (en) | 2016-12-27 | 2020-10-06 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
-
2001
- 2001-05-14 JP JP2001142728A patent/JP3665962B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002252558A (ja) | 2002-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3477313B2 (ja) | プログラマブル・アレイ、プログラマブル・アレイを構成する方法及びシステム | |
US6888371B2 (en) | Programmable interface for field programmable gate array cores | |
EP0748051A2 (en) | System and method for dynamically reconfiguring a programmable gate array | |
US20030131335A1 (en) | Architecture for a sea of platforms | |
JPH09231788A (ja) | シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム | |
JP2005348413A (ja) | マスクプログラマブルロジックデバイスのスイッチ方法 | |
US7489163B2 (en) | FPGA powerup to known functional state | |
WO2014080872A2 (ja) | 再構成可能な半導体装置の論理構成方法 | |
US5847580A (en) | High speed bidirectional bus with multiplexers | |
US8390321B2 (en) | Reconfigurable logical circuit | |
JP2006236106A (ja) | データ処理装置及びデータ処理方法 | |
US6556502B2 (en) | Memory circuitry for programmable logic integrated circuit devices | |
US8099540B2 (en) | Reconfigurable circuit | |
JP5251171B2 (ja) | 論理回路装置 | |
JPH06125067A (ja) | 半導体集積回路及びその設計方法 | |
JP3665962B2 (ja) | プログラマブル論理セルアレイ回路及びその初期化方法 | |
JPH02222217A (ja) | プログラマブル論理回路 | |
JP4664724B2 (ja) | 半導体集積回路装置および半導体集積回路装置の設計装置 | |
US7876125B1 (en) | Register data retention systems and methods during reprogramming of programmable logic devices | |
US7525343B1 (en) | Method and apparatus for accessing internal registers of hardware blocks in a programmable logic device | |
JP3707360B2 (ja) | 回路機能の再構成方法、及びプログラマブル論理回路装置 | |
JP2004200311A (ja) | 論理検証装置 | |
JP3471623B2 (ja) | 書き換え可能な論理回路 | |
JP5476007B2 (ja) | プログラマブルコントローラおよびそれを用いたシステム | |
JP3390311B2 (ja) | プログラマブル論理回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050119 |
|
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: 20050322 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050324 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090415 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090415 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100415 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100415 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110415 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |