JP2835266B2 - プログラマブル論理回路 - Google Patents
プログラマブル論理回路Info
- Publication number
- JP2835266B2 JP2835266B2 JP5214567A JP21456793A JP2835266B2 JP 2835266 B2 JP2835266 B2 JP 2835266B2 JP 5214567 A JP5214567 A JP 5214567A JP 21456793 A JP21456793 A JP 21456793A JP 2835266 B2 JP2835266 B2 JP 2835266B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- logic
- input
- programmable
- cell
- 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
Landscapes
- Dram (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Description
に係わり、特に一般にフィールド・プログラマブル・ゲ
ート・アレイ(Field Programmable
Gate Array:FPGA)と呼ばれるプログラ
マブル論理回路に関する。
能な複数本の信号線で接続することにより目的とする論
理回路を実現できる機能を有する半導体集積回路が知ら
れている。論理回路中における信号の伝搬経路の決定方
法及び論理セルで実現する機能のプログラム方法は、一
般に次の二つの方法に分類できる。
ティック・ランダム・アクセス・メモリ(Static
Random Access Memory:SRA
M)のメモリセルに記憶されているデータに基づいて信
号伝搬経路中のスイッチのオン/オフ状態を制御するこ
とにより、信号伝搬経路の決定及び論理セルで実現する
機能の決定を行う。この場合、実現する論理回路の構成
は、SRAMのメモリセルに記憶されたデータにより決
定されるので、複数回のプログラミングが可能である。
と、信号伝搬経路中のヒューズの導通状態を制御するこ
とにより、信号伝搬経路の決定及び論理セルで実現する
機能の決定を行う。この場合、実現する論理回路の構成
は、ヒューズの導通状態により決定されるので、複数回
のプログラミングはできない。
きく分類すると次の3種類の構造に分けられる。メモリ
・ルックアップ・テーブル型の論理セルは、入力をメモ
リのアドレスとし、出力をそのアドレスで指し示される
メモリ内容とすることで任意の論理を実現するセルであ
る。アンド−オア(AND−OR)プレーン型の論理セ
ルは、内臓されているアンドプレーン又はアンドプレー
ンのいずれか或は両方をプログラミングすることで任意
の論理を実現するセルである。更に、論理選択型の論理
セルは、マルチプレクサ等の出力を選択することのでき
る選択回路を用いて信号の伝搬経路を制御することによ
り任意の論理を実現するセルである。
クアップ・テーブル型の論理セルでは、出力の値を保持
するためのメモリセルの数が入力信号線の本数の増加に
対して指数的に増加してしまう。このため、論理回路の
入力信号数が多くなると、必要となるメモリ容量が増大
し、メモリ・ルックアップ・テーブル型の論理セルでこ
の様な論理回路を実現するのは難しいという問題があっ
た。
は、そのアンド−オアプレーンを用いた構造上、大規模
な順序論理回路を構成するのは難しいという問題があっ
た。
の入力信号数が増加すると、論理セル内の選択回路の回
路規模が大きくなってしまうという問題があった。一般
に、選択回路の回路規模は、入力信号数の増加に対して
指数的に増加することが知られている。
路の構成を変更するために構成要素である回路部分の論
理を正論理から負論理といった具合に反転すると、回路
規模が著しく変化する場合があった。このため、論理回
路の設計仕様の変更等があった場合、論理回路をマッピ
ングできなくなる可能性があった。つまり、論理セルの
回路規模を縮小するために、ある論理セルによるとアン
ド−オア型の論理回路は構成し易いがオア−アンド型の
論理回路は構成し難い、又は、その逆の場合が生じてし
まうという問題もあった。
47に示す如き部分回路から構成されていた。つまり、
論理セル100は、組み合せ論理回路を構成するための
部分回路101と、順序論理回路を構成するための部分
回路102とからなる。組み合せ論理回路を構成する場
合は論理セル100の部分回路101を用い、順序論理
回路を構成する場合は論理セル100の部分回路102
を用いる。このため、図47に示す論理セル100を用
いて組み合せ論理回路を多く含む論理回路をマッピング
した場合、この論理回路に使用されない部分回路102
が増大してしまう。又、図47に示す論理セル100を
用いて順序論理回路を多く含む論理回路をマッピングし
た場合、この論理回路に使用されない部分回路101が
増大してしまう。従って、マッピングする論理回路の構
成や、その論理回路内での組み合せ論理回路部分と順序
論理回路部分との比率等により、論理セル100内の部
分回路101又は102の利用効率が著しく低下してし
まうという問題があった。
順序論理の一方しか使用しないことが予めわかっている
場合を除いて、組み合せ論理及び順序論理の両方を実現
できるように論理セルを構成する必要がある。しかし、
通常の論理回路は組み合せ論理及び順序論理の両方の組
み合せを使用するので、図47に示す様に、論理セル1
00に部分回路101及び部分回路102の両方を設け
る必要があった。
グする論理回路の構成に関わらず論理セル内の各部分回
路の利用効率、即ち、論理セルの利用効率を向上させる
ことはできないという問題があった。
明図である。同図中、論理セル1は、組み合せ論理回路
を構成するための部分回路2と、スイッチ回路3とを有
する。論理セル1には、順序論理回路を構成するための
専用の部分回路は設けられていない。スイッチ回路3
は、部分回路2の出力を選択的に部分回路2の入力へ帰
還する。部分回路2の入力部及び出力部の一方又は両方
に、反転機能を設けても良い。
複数の論理セル1からなる。
力を部分回路2の入力へ帰還しない場合は、論理セル1
により組み合せ論理回路を実現できる。又、論理セル1
のスイッチ回路3が部分回路2の出力を部分回路2の入
力へ帰還する場合は、論理セル1により順序論理回路を
実現できる。これにより、一つの論理セル1又は複数の
論理セル1を接続することにより、任意の論理を実現し
得る。
関わらず、各論理セル1内の部分回路2の利用効率、即
ち、論理セル1の利用効率を向上させることができる。
又、部分回路2の入力部及び出力部の一方又は両方に反
転機能を設けた場合は、プログラマブル論理回路の構成
要素から単体で存在するインバータ回路を省略して、論
理セル1の利用効率を更に向上すると共に、プログラマ
ブル論理回路の集積度をも向上することが可能となる。
ル論理回路の第1実施例を説明する。図2は、本実施例
の要部である論理セル1の構成を示す。論理セル1は、
入出力パスBと、基本論理回路C1,C2と、反転回路
C3〜C6と、スイッチ回路C7とからなる。入出力パ
スBは、図1における論理セル1の入力及び出力に対応
している。基本論理回路C1,C2は、各々論理セル1
の基本部分を構成する論理回路である。反転回路C3〜
C6は、各々入力される信号の一部又は全部の論理を選
択的に反転可能とする機能を有する。反転回路C5及び
C3は、各々基本論理回路C1の入力側と出力側とに接
続されている。又、反転回路C6及びC4は、各々基本
論理回路C2の入力側と出力側とに接続されている。基
本論理回路C1,C2及び反転回路C3〜C6は、図1
における部分回路2に対応している。スイッチ回路C7
は複数のスイッチからなり、論理セル1の外部との接続
及び論理セル1の内部接続を選択的に変更する機能を有
する。論理セル1の内部接続を選択的に変更することに
より、スイッチ回路C7は反転回路C3,C4を介した
基本論理回路C1,C2の出力の一部又は全部を反転回
路C5,C6を介して基本論理回路C1,C2の入力へ
帰還可能とする。スイッチ回路C7は、図1におけるス
イッチ回路3に対応している。
出力パスBの出力信号線と入出力パスBの入力信号線と
の選択的な接続を行わないと、通常の組み合せ論理回路
として機能する。他方、スイッチ回路C7のスイッチを
プログラムすることにより入出力パスBの出力信号線と
入出力パスBの入力信号線との選択的な接続を行うと、
図2中、信号伝搬経路C7→C5→C1→C3→C7及
び信号伝搬経路C7→C6→C2→C4→C7が形成さ
れ、論理セル1は順序論理回路として機能する。つま
り、スイッチ回路C7のプログラミングに応じて、論理
セル1を組み合せ論理回路としても、順序論理回路とし
ても機能させることができる。
の様な論理セル1が複数設けられている。又、基本論理
回路の数は、2つに限定されるものではない。更に、反
転回路の一部又は省略しても良い。
の第1実施例を示す。図3中、サブブロック11は基本
論理回路C1及び反転回路C3,C5からなり、図1に
おける部分回路2に対応している。又、サブブロック1
2は基本論理回路C2及び反転回路C4,C6からな
り、図1における部分回路2に対応している。基本論理
回路C1は、図示の如く接続されたアンド回路11a,
11b及びオア回路11cからなる。又、基本論理回路
C2は、図示の如く接続されたアンド回路12a,12
b及びオア回路12cからなる。本実施例では、反転回
路C5,C6は各々5つのプログラム可能な(プログラ
マブル)インバータからなる。他方、反転回路C3,C
4は各々1つのプログラマブルインバータからなる。
信号線B1,B2及び7本の入力信号線B3〜B9の、
合計9本の信号線B1〜B9からなる。サブブロック1
1,12の出力は出力信号線B1,B2に接続されてい
る。スイッチ回路C7は、図3中「丸印」で示す複数の
プログラマブルスイッチSWからなる。一又は複数のス
イッチSWが各信号線B1〜B9に対して設けられてい
る。例えば、入力信号線B3に対して設けられた3つの
スイッチをオンとすると、反転回路C5の1つのインバ
ータと反転回路C6の2つのインバータとに入力信号線
B3からの信号が供給される。そして、入力信号線B3
からの信号を供給される反転回路C5,C6の各インバ
ータが信号の論理を反転するようにプログラムされてい
れば、入力信号線B3からの信号は論理を反転されてか
ら対応する基本論理回路C1,C2に供給される。他
方、例えば出力信号線B2に対して設けられた3つのス
イッチSWをオンとすると、反転回路C5の2つのイン
バータと反転回路C6の1つのインバータとに出力信号
線B2からの信号が帰還される。そして、出力信号線B
2からの信号を供給される反転回路C5,C6の各イン
バータが信号の論理を反転するようにプログラムされて
いれば、出力信号線B2からの信号は論理を反転されて
から対応する基本論理回路C1,C2に供給される。こ
の様に、出力信号線B1,B2に対して設けられている
スイッチSWのうち少なくとも1つをオンとすると、論
理セル1を順次論理回路として機能させることができ
る。出力信号線B1,B2に対して設けられているスイ
ッチSWを全てオフをすると、論理セル1を組み合せ論
理回路として機能させることができる。
の第2実施例を示す。図4中、図3と同一部分には同一
符号を付し、その説明は省略する。図3では基本論理回
路C1,C2を各々アンド−オア回路により構成してい
るが、図4では基本論理回路C1,C2を各々アンド−
ノア回路により構成している。つまり、基本論理回路C
1は、図示の如く接続されたアンド回路11a,11b
及びノア回路11dからなる。又、基本論理回路C2
は、図示の如く接続されたアンド回路12a,12b及
びノア回路12dからなる。
の第3実施例を示す。図5中、図3と同一部分には同一
符号を付し、その説明は省略する。図3では基本論理回
路C1,C2を各々アンド−オア回路により構成してい
るが、図5では基本論理回路C1,C2を各々オア−ア
ンド回路により構成している。つまり、基本論理回路C
1は、図示の如く接続されたオア回路11e,11f及
びアンド回路11cからなる。又、基本論理回路C2
は、図示の如く接続されたノア回路12e,12f及び
アンド回路12cからなる。
の第4実施例を示す。図6中、図3及び図5と同一部分
には同一符号を付し、その説明は省略する。図3では基
本論理回路C1,C2を各々アンド−オア回路により構
成しているが、図6では基本論理回路C1,C2を各々
オア−ナンド回路により構成している。つまり、基本論
理回路C1は、図示の如く接続されたオア回路11e,
11f及びナンド回路11gからなる。又、基本論理回
路C2は、図示の如く接続されたノア回路12e,12
f及びナンド回路12gからなる。
の第5実施例を示す。図7中、図3と同一部分には同一
符号を付し、その説明は省略する。図3では基本論理回
路C1,C2を各々アンド−オア回路により構成してい
るが、図7では基本論理回路C1,C2を各々ナンド−
アンド回路により構成している。つまり、基本論理回路
C1は、図示の如く接続されたナンド回路11h,11
i及びアンド回路11cからなる。又、基本論理回路C
2は、図示の如く接続されたナンド回路12h,12i
及びアンド回路12cからなる。
の第6実施例を示す。図8中、図6及び図7と同一部分
には同一符号を付し、その説明は省略する。図7では基
本論理回路C1,C2を各々ナンド−アンド回路により
構成しているが、図8では基本論理回路C1,C2を各
々ナンド−ナンド回路により構成している。つまり、基
本論理回路C1は、図示の如く接続されたナンド回路1
1h,11i及びナンド回路11gからなる。又、基本
論理回路C2は、図示の如く接続されたナンド回路12
h,12i及びナンド回路12gからなる。
の第7実施例を示す。図9中、図3と同一部分には同一
符号を付し、その説明は省略する。図3では基本論理回
路C1,C2を各々アンド−オア回路により構成してい
るが、図9では基本論理回路C1,C2を各々ノア−オ
ア回路により構成している。つまり、基本論理回路C1
は、図示の如く接続されたノア回路11j,11k及び
オア回路11lからなる。又、基本論理回路C2は、図
示の如く接続されたノア回路12j,12k及びオア回
路12lからなる。
成の第8実施例を示す。図10中、図4及び図9と同一
部分には同一符号を付し、その説明は省略する。図9で
は基本論理回路C1,C2を各々ノア−オア回路により
構成しているが、図10では基本論理回路C1,C2を
各々ノア−ノア回路により構成している。つまり、基本
論理回路C1は、図示の如く接続されたノア回路11
j,11k及びノア回路11dからなる。又、基本論理
回路C2は、図示の如く接続されたノア回路12j,1
2k及びノア回路12dからなる。
1内のスイッチ回路C7のプログラマブルスイッチのオ
ン/オフ状態及び反転回路C3〜C6の反転状態を任意
に制御することにより、論理セル1により図11に示す
フリップフロップ回路等の順序論理回路を実現し得る。
同図中、(a)はセット・リセット(S−R)フリップ
フロップ、(b)はジェイ・ケイ(J−K)フリップフ
ロップ、(c)はプリセット端子及びリセット端子を有
するS−Rフリップフロップ、(d)及び(e)は各々
プリセット端子及びリセット端子を有するディレイ
(D)フリップフロップを示す。
路C1,C2は各々アンド回路、ナンド回路、オア回路
及びノア回路のうち2以上の回路を組み合せて構成され
る。又、各基本論理回路を構成するために選べる回路
は、基本論理回路の入力信号の論理をそのまま、又は、
反転させたいずれかの場合において、簡約化した結果の
回路がアンド−オア回路、オア−アンド回路、アンド−
ノア回路及びオア−ナンド回路を構成するものである。
これは、以下の補題1及び2より証明することができ
る。
に選べる回路は、基本論理回路の入力信号の論理をその
まま、又は、反転させたいずれかの場合において、簡約
化した結果の回路がアンド−オア回路、オア−アンド回
路、アンド−ノア回路及びオア−ナンド回路を構成する
ものである。
めに選べる回路は、基本論理回路の入力信号の論理をそ
のまま、又は、反転させたいずれかの場合において、簡
約化した結果の回路がアンド−オア回路、オア−アンド
回路、アンド−ノア回路及びオア−ナンド回路を構成す
るもの以外である」と仮定した場合、基本論理回路を構
成する回路を簡約化した結果は、全てナンド回路、アン
ド回路、オア回路及びノア回路といった1段の多入力−
1出力の組み合せ論理回路になる。従って、1つの論理
セルで排他的(エクスクルーシブ)・オアやエクスクル
ーシブ・ノアを表現できなくなってしまう。これによ
り、「基本論理回路を構成するために選べる回路は、基
本論理回路の入力信号の論理をそのまま、又は、反転さ
せたいずれかの場合において、簡約化した結果の回路が
アンド−オア回路、オア−アンド回路、アンド−ノア回
路及びオア−ナンド回路を構成するものである」必要が
ある。
に選べる回路は、基本論理回路の入力信号の論理をその
まま、又は、反転させたいずれかの場合において、簡約
化した結果の回路がアンド−オア回路、オア−アンド回
路、アンド−ノア回路及びオア−ナンド回路を構成する
ものである場合、図11に示す全ての順序論理回路を構
成できる。
ド−オア回路、オア−アンド回路、アンド−ノア回路及
びオア−ナンド回路を構成するものである場合、基本論
理回路の入力信号の論理を全て反転する論理回路は全て
(1)ノア−オア回路、(2)ノア−ノア回路、(3)
ナンド−アンド回路及び(4)ナンド−ナンド回路のい
ずれかになる。尚、(1)及び(3)の場合は、基本論
理回路の出力信号の論理も反転する。従って、「基本論
理回路を構成するために選べる回路は、基本論理回路の
入力信号の論理をそのまま、又は、反転させたいずれか
の場合において、簡約化した結果の回路がアンド−オア
回路、オア−アンド回路、アンド−ノア回路及びオア−
ナンド回路を構成するものである場合、図11に示す全
ての順序論理回路を構成できる」ことは明らかである。
又、図11中、ナンド回路をノア回路と置き換えても良
いことは言うまでもない。
スイッチSWと、入出力パスBの信号線B1〜B9との
接続を図12と共に説明する。
ッチSWは入出力パスBのうち一本の信号線とサブブロ
ックC1又はC2に接続する一本の信号線とに接続され
ており、その制御端子に供給される制御信号CNTによ
りオン/オフされる。図示の例では、スイッチSWが入
力信号線B5とサブブロックC2に接続する信号線Lと
に接続されている。
す。反転回路C3は、図示の如く接続されたインバータ
23と、スイッチ24,25とからなる。入力端子21
からの信号は、一方ではインバータ23を介してスイッ
チ24へ供給され、他方では直接スイッチ25へ供給さ
れる。制御端子22には、反転回路C3が入力信号をそ
のまま出力するか、反転してから出力するかを決定する
制御信号が印加される。制御端子22からの制御信号
は、スイッチ24の制御端子へそのまま供給されると共
に、スイッチ25の制御端子へ反転されてから供給され
る。スイッチ24,25の出力は、いずれも出力端子2
6に接続されている。これにより、例えば制御端子22
にローレベルの制御信号が印加されると入力端子21に
印加される信号が反転されて出力端子26から出力さ
れ、制御端子22にハイレベルの制御信号が印加される
と入力端子21に印加される信号がそのまま出力端子2
6から出力される。
成を用い得る。更に、反転回路C5,C6の各々は、入
力信号の数が5であるので、例えば図13の構成の回路
を5個設ければ良い。
14と共に説明する。図14は、論理セル1同士を接続
する信号線の集合であるセル間パス30とスイッチ回路
C7との接続の一実施例を示す。同図中、図3と同一部
分には同一符号を付し、その説明は省略する。
ラマブルスイッチSWが、入出力パスBの信号線B1〜
B8のうち一本の任意の信号線とセル間パス30の信号
線BB1〜BB10のうち任意の一本の信号線とに接続
されている。本実施例では、信号線BB9,BB10
は、クロック信号の転送に用いられる。入出力パスBの
出力線B1,B2に対してはスイッチ群31が設けられ
ている。スイッチ群31のスイッチSWは、各信号線B
B1〜BB10に対して設けられているので、論理セル
1の出力信号線B1,B2とセル間パス30の信号線B
B1〜BB8とは自由に接続可能である。又、入出力パ
スBの信号線B2〜B8に対してはスイッチ群32が設
けられている。スイッチ群32のスイッチSWは、信号
線BB1〜BB8のうち所定の信号線に対してのみ設け
られているので、論理セル1の入力線B3〜B8とセル
間パス30の信号線BB1〜BB8のうち所定の信号線
とは接続可能である。更に、入出力パスBの入力信号線
B3に対してはスイッチ群33が設けられている。従っ
て、入出力パスBの入力信号線B3とセル間パス30の
信号線BB9,BB10とはスイッチ群33のスイッチ
SWを介して接続可能である。
1〜BB10に対して一つのスイッチSWを設けても良
いことは言うまでもない。
ロック11を複数用いて順序論理回路を構成し得るプロ
グラマブル論理回路の第2〜第4実施例を示す。
2実施例では、図示の如く接続された4つのサブブロッ
ク11−1〜11−4とスイッチSWとからなる。この
プログラマブル論理回路は、各スイッチSWのオン/オ
フ状態に応じて、組み合せ論理回路としてもフリップフ
ロップ等の順序論理回路としても機能する。本実施例で
は、プログラマブル論理回路には4つの入力端子P1〜
P4と、2つの出力端子P15,P16とが設けられて
いる。スイッチSWは、入力端子P2とサブブロック1
1−1の入力端子P5との間、入力端子P3とサブブロ
ック11−1の入力端子P6との間、入力端子P3とサ
ブブロック11−3の入力端子P7との間、入力端子P
2とサブブロック11−3の入力端子P8との間、出力
端子P15とサブブロック11−4の入力端子P12と
の間、及び出力端子P16とサブブロック11−2の入
力端子P11との間に設けられている。又、入力端子P
1はサブブロック11−2の入力端子P9に接続され、
入力端子P4はサブブロック11−4の入力端子P14
に接続されている。更に、サブブロック11−1の出力
端子P17はサブブロック11−2の入力端子P10に
接続されており、サブブロック11−3の出力端子P1
8はサブブロック11−4の入力端子P13に接続され
ている。尚、破線で接続された各対のスイッチSWは、
連動しており同時にオン/オフされる。
3実施例では、図示の如く接続された4つのサブブロッ
ク11−1〜11−4とスイッチSWとからなる。この
プログラマブル論理回路は、各スイッチSWのオン/オ
フ状態に応じて、組み合せ論理回路としてもフリップフ
ロップ等の順序論理回路としても機能する。同図中、図
15と同一部分には同一符号を付し、その説明は省略す
る。
A、P2B、P3、P4及びP21が設けられている。
又、スイッチSWが更に、入力端子P2Aとサブブロッ
ク11−1の入力端子P5との間、入力端子P2Bとサ
ブブロック11−3の入力端子P8との間、入力端子P
21とサブブロック11−1の入力端子P6との間、入
力端子P21とサブブロック11−3の入力端子P7と
の間、サブブロック11−1の入力端子P6とサブブロ
ック11−2の入力端子P11との間、及びサブブロッ
ク11−3の入力端子P7とサブブロック11−4の入
力端子P12との間に設けられている。尚、破線で接続
された各対のスイッチSWは、連動しており同時にオン
/オフされる。
4実施例では、図示の如く接続された4つのサブブロッ
ク11−5〜11−10とスイッチSWとからなる。こ
のプログラマブル論理回路は、各スイッチSWのオン/
オフ状態に応じて、組み合せ論理回路としてもフリップ
フロップ等の順序論理回路としても機能する。本実施例
では、プログラマブル論理回路には6つの入力端子P3
0〜P35と、2つの出力端子P59,P60とが設け
られている。スイッチSWは、入力端子P30とサブブ
ロック11−9の入力端子P58との間、入力端子P3
0とサブブロック11−7の入力端子P45との間、入
力端子P30とサブブロック11−8の入力端子P46
との間、入力端子P31とサブブロック11−5の入力
端子P41との間、入力端子P31とサブブロック11
−6の入力端子P42との間、入力端子P31とサブブ
ロック11−10の入力端子P59との間、入力端子P
31とサブブロック11−7の入力端子P45との間、
入力端子P32とサブブロック11−5の入力端子P4
0との間、入力端子P32とサブブロック11−10の
入力端子P59との間、入力端子P33とサブブロック
11−6の入力端子P42との間、入力端子P33とサ
ブブロック11−7の入力端子P44との間、入力端子
P33とサブブロック11−8の入力端子P47との
間、入力端子P34とサブブロック11−5の入力端子
P40との間、入力端子P34とサブブロック11−6
の入力端子P43との間、入力端子P34とサブブロッ
ク11−8の入力端子P47との間、入力端子P35と
サブブロック11−5の入力端子P41との間、入力端
子P35とサブブロック11−9の入力端子P58との
間、入力端子P35とサブブロック11−8の入力端子
P46との間、サブブロック11−9の出力端子P56
とサブブロック11−6の入力端子P43との間、サブ
ブロック11−9の出力端子P56とサブブロック11
−7の入力端子P45との間、サブブロック11−9の
出力端子P56とサブブロック11−8の入力端子P4
6との間、サブブロック11−10の出力端子P57と
サブブロック11−5の入力端子P41との間、サブブ
ロック11−10の出力端子P57とサブブロック11
−6の入力端子P42との間、及びサブブロック11−
10の出力端子P57とサブブロック11−7の入力端
子P45との間に設けられている。
サブブロック11−9の入力端子P52に接続され、サ
ブブロック11−6の出力端子P49はサブブロック1
1−9の入力端子P53に接続されている。サブブロッ
ク11−7の出力端子P50はサブブロック11−10
の入力端子P54に接続され、サブブロック11−8の
出力端子P51はサブブロック11−10の入力端子P
55に接続されている。サブブロック11−9の出力端
子P56はプログラマブル論理回路の出力端子P59に
接続され、サブブロック11−10の出力端子P57は
プログラマブル論理回路の出力端子P60に接続されて
いる。
フ状態を適切に制御することにより、R−Sフリップフ
ロップ、クロックドR−S(RS−CK)フリップフロ
ップ、Dフリップフロップ及びJ−Kフリップフロップ
のうち少なくとも1種類の順序論理回路を実現すること
ができると共に、アンド、ナンド、オア、ノア、エクス
クルーシブオア、エクスクルーシブノア及びハーフアダ
ーのうち少なくとも1種類の組み合せ論理回路を実現す
ることができる。
マブル論理回路の第5実施例を説明する。図18は、本
実施例の要部である論理セル31の構成を示す。論理セ
ル31は、入出力パスBと、基本論理回路C11,C1
2,C21,C22と、反転回路C5,C6と、スイッ
チ回路C7とからなる。入出力パスBは、図1における
論理セル1の入力及び出力に対応している。基本論理回
路C11,C12,C21,C22は、各々論理セル3
1の基本部分を構成する論理回路である。反転回路C
5,C6は、各々入力される信号の一部又は全部の論理
を選択的に反転可能とする機能を有する。反転回路C5
は、基本論理回路C11の入力側に接続されている。基
本論理回路C11,C21の出力は、各々対応する基本
論理回路C12,C22へ入力されると共に、基本論理
回路C11,C21の入力へ帰還される。又、基本論理
回路C12,C22の出力は、各々スイッチ回路C7へ
入力されると共に、基本論理回路C12,C22の入力
へ帰還される。更に、基本論理回路C12,C22の出
力は、各々基本論理回路C21,C11へ入力される。
他方、反転回路C6は、基本論理回路C21の入力側に
接続されている。基本論理回路C11,C12,C2
1,C22及び反転回路C5,C6は、図1における部
分回路2に対応している。
り、論理セル31の外部との接続及び論理セル31の内
部接続を選択的に変更する機能を有する。論理セル31
の内部接続を選択的に変更することにより、スイッチ回
路C7は基本論理回路C12,C22を介した基本論理
回路C11,C21の出力の一部又は全部を反転回路C
5,C6を介して基本論理回路C11,C21の入力へ
帰還可能とする。スイッチ回路C7は、図1におけるス
イッチ回路3に対応している。
入出力パスBの出力信号線と入出力パスBの入力信号線
との選択的な接続を行わないと、通常の組み合せ論理回
路として機能する。他方、スイッチ回路C7のスイッチ
をプログラムすることにより入出力パスBの出力信号線
と入出力パスBの入力信号線との選択的な接続を行う
と、図18中、例えば信号伝搬経路C7→C5→C11
→C12→C7及び信号伝搬経路C7→C6→C21→
C22→C7が形成され、論理セル31は順序論理回路
として機能する。つまり、スイッチ回路C7のプログラ
ミングに応じて、論理セル31を組み合せ論理回路とし
ても、順序論理回路としても機能させることができる。
の様な論理セル31が複数設けられている。又、基本論
理回路の数は、4つに限定されるものではない。更に、
反転回路の一部を省略しても良い。
成の一実施例を示す。図19中、サブブロック41は基
本論理回路C11,C12及び反転回路C5からなり、
図1における部分回路2に対応している。又、サブブロ
ック42は基本論理回路C21,C22及び反転回路C
6からなり、図1における部分回路2に対応している。
基本論理回路C11は、図示の如く接続されたオア回路
41a,41bと、アンド回路41cと、インバータ回
路41dとからなる。又、基本論理回路C12は、図示
の如く接続されたナンド回路41e,41f及びスイッ
チ回路41gからなる。本実施例では、便宜上スイッチ
回路41gを基本論理回路C12の一部とみなしている
が、例えばスイッチ回路41gを基本論理回路C11の
一部とみなすことも可能である。同様に、基本論理回路
C21は、図示の如く接続されたオア回路42a,42
bと、アンド回路42cと、インバータ回路42dとか
らなる。又、基本論理回路C22は、図示の如く接続さ
れたナンド回路42e,42f及びスイッチ回路42g
からなる。本実施例では、便宜上スイッチ回路42gを
基本論理回路C22の一部とみなしているが、例えばス
イッチ回路42gを基本論理回路C21の一部とみなす
ことも可能である。スイッチ回路41g,42gは各々
2つのスイッチ素子と1つのインバータとからなる。
な(プログラマブル)インバータからなる。プログラマ
ブルインバータの構成としては、図13と共に説明した
構成のものを使用し得る。尚、反転回路は、任意のサブ
ブロックの入力側及び/又は出力側に設けても良く、更
に、サブブロックの任意の信号線に対してのみ設けても
良い。
信号線及び14本の入力信号線の、合計16本の信号線
からなる。サブブロック41,42の出力は入出力パス
Bの出力信号線に接続されている。スイッチ回路C7
は、ローカルシグナルディストリビュータ44とグロー
バルシグナルディストリビュータ45とからなる。ロー
カルシグナルディストリビュータ44及びグローバルシ
グナルディストリビュータ45は、各々図19中「丸
印」で示す複数のプログラマブルスイッチSWからな
る。ローカルシグナルディストリビュータ44内では、
一又は複数のスイッチSWが入出力パスBの各信号線に
対して設けられている。又、グローバルシグナルディス
トリビュータ45内では、複数のスイッチSWが入出力
パスBの特定の入力信号線(本実施例では2本の入力信
号線)に対して設けられている。
は、ローカル信号線S1〜S9に対して設けられてお
り、近隣の論理セルとの信号の授受を行うために設けら
れている。つまり、ローカルシグナルディストリビュー
タ44は、サブブロック41,42に印加する信号の選
択に用いられる。ローカルシグナルディストリビュータ
44内のスイッチSWは、各々のサブブロック41,4
2が設計時に頻繁に用いられる組み合せ論理回路を容易
に実現できるように配置されている。
5は、グローバル信号線φ1〜φ4に対して設けられて
おり、グローバル信号線φ1〜φ4をサブブロック4
1,42に接続するために設けられている。グローバル
シグナルディストリビュータ45内のスイッチSWは、
入出力パスBの特定の入力信号線と各グローバル信号線
φ1〜φ4とが接続できるように配置されている。もち
ろん、グローバルシグナルディストリビュータ45内の
スイッチSWを任意のグローバル信号線φ1〜φ4に対
してのみ設けても良い。
C22は、それ自体の出力をその入力側へスイッチSW
を介して帰還可能な経路を有する。従って、スイッチS
Wをオンとすることにより各基本論理回路C11,C1
2,C21,C22を順序論理回路として機能させるこ
とができる。このため、基本論理回路C11,C12を
含むサブブロック41も基本論理回路C21,C22を
含むサブブロック42も順序論理回路として機能させる
ことが可能である。又、サブブロック41,42内の基
本論理回路C11,C12及び基本論理回路C21,C
22を順序論理回路として機能させ、各基本論理回路C
11,C12,C21,C22に位相の異なる基準信号
を印加することで、マスタースレーブ型の順序論理回路
を構成することができる。
の基本論理回路からなるが、第1実施例の如く1つの基
本論理回路からなる構成でも、又、3つ以上の基本論理
回路からなる構成としても良い。
路C11,C12,C21,C22は各々アンド回路、
ナンド回路、オア回路及びノア回路のうち2以上の回路
を組み合せて構成される。又、各基本論理回路を構成す
るために選べる回路は、基本論理回路の入力信号の論理
をそのまま、又は、反転させたいずれかの場合におい
て、簡約化した結果の回路がアンド−オア回路、オア−
アンド回路、アンド−ノア回路及びオア−ナンド回路を
構成するものである。これは、以下の補題3及び4より
証明することができる。
に選べる回路は、基本論理回路の入力信号の論理をその
まま、又は、反転させたいずれかの場合において、簡約
化した結果の回路がアンド−オア回路、オア−アンド回
路、アンド−ノア回路及びオア−ナンド回路を構成する
ものである。
めに選べる回路は、基本論理回路の入力信号の論理をそ
のまま、又は、反転させたいずれかの場合において、簡
約化した結果の回路がアンド−オア回路、オア−アンド
回路、アンド−ノア回路及びオア−ナンド回路を構成す
るもの以外である」と仮定した場合、基本論理回路を構
成する回路を簡約化した結果は、全てナンド回路、アン
ド回路、オア回路及びノア回路といった1段の多入力−
1出力の組み合せ論理回路になる。従って、1つの論理
セルでエクスクルーシブ・オアやエクスクルーシブ・ノ
アを表現できなくなってしまう。これにより、「基本論
理回路を構成するために選べる回路は、基本論理回路の
入力信号の論理をそのまま、又は、反転させたいずれか
の場合において、簡約化した結果の回路がアンド−オア
回路、オア−アンド回路、アンド−ノア回路及びオア−
ナンド回路を構成するものである」必要がある。
に選べる回路は、基本論理回路の入力信号の論理をその
まま、又は、反転させたいずれかの場合において、簡約
化した結果の回路がアンド−オア回路、オア−アンド回
路、アンド−ノア回路及びオア−ナンド回路を構成する
ものである場合、図11に示す全ての順序論理回路を構
成できる。
がアンド−オア回路、オア−アンド回路、アンド−ノア
回路及びオア−ナンド回路を構成するものである場合、
基本論理回路の入力信号の論理を全て反転する論理回路
は全て(1)ノア−オア回路、(2)ノア−ノア回路、
(3)ナンド−アンド回路及び(4)ナンド−ナンド回
路のいずれかになる。尚、(1)及び(3)の場合は、
基本論理回路の出力信号の論理も反転する。従って、
「基本論理回路を構成するために選べる回路は、基本論
理回路の入力信号の論理をそのまま、又は、反転させた
いずれかの場合において、簡約化した結果の回路がアン
ド−オア回路、オア−アンド回路、アンド−ノア回路及
びオア−ナンド回路を構成するものである場合、図11
に示す全ての順序論理回路を構成できる」ことは明らか
である。又、図11中、ナンド回路をノア回路と置き換
えても良いことは言うまでもない。
ド−オア回路、オア−アンド回路、アンド−ノア回路及
びオア−ナンド回路を構成するものである場合、基本論
理回路の所望の入力信号の論理を反転して帰還路を設け
ることにより、Dフリップフロップを構成できる。これ
により構成できる2組のDフリップフロップを各々F
a,Fbとした場合、Faの出力端をFbの入力端に接
続し、Faに基準信号φを印加してFbに反転された基
準信号φバーを印加することにより、構成される順序論
理回路はマスタースレーブ型のフリップフロップとな
る。
は図13に示す構成に限定されるものではない。一例と
して、反転回路C5,C6は、各々図示の如く接続され
たセレクタ51,52,53と、選択的反転回路54
と、スイッチSW1,SW2とからなる。
の一実施例を示す。セレクタ52,53の構成もセレク
タ51の構成と同じで良い。セレクタ51は、図示の如
く接続されたスイッチ素子61,62からなる。スイッ
チ素子61,62の入力端には各々入力信号In.A,
In.Bが印加され、出力端は接続されており出力信号
Outを出力する。スイッチ素子61の反転制御端子及
びスイッチ素子62の非反転制御端子には、各々制御信
号Selが印加される。
の構成の一実施例を示す。選択的反転回路54は、図示
の如く接続されたスイッチ素子71〜76及びインバー
タ77,78からなる。この場合、選択的反転回路54
は2つの入力信号In0,In1と、1つの基準信号φ
と、3つの制御信号Sel0,Sel1,Sel2とを
印加され、これらの信号に応じて出力信号Out0,O
ut1を出力する。
チSWの構成と同じものを用い得る。
ブロック41を複数用いて順序論理回路を構成し得るプ
ログラマブル論理回路の第6及び第7実施例を示す。
6実施例では、図示の如く接続された2つのサブブロッ
ク41−1,41−2と2つのスイッチSWとからな
る。このプログラマブル論理回路は、各スイッチSWの
オン/オフ状態に応じて、組み合せ論理回路としてもフ
リップフロップ等の順序論理回路としても機能する。本
実施例では、プログラマブル論理回路には1つの入力端
子P71と、1つの出力端子P80とが設けられてい
る。スイッチSWは、サブブロック41−1の入力端子
P72とサブブロック41−1の出力端子P74との
間、及びサブブロック41−2の入力端子P76とサブ
ブロック41−2の出力端子P78との間に設けられて
いる。又、入力端子P71はサブブロック41−1の入
力端子P73に接続され、サブブロック41−2の出力
端子P79は出力端子P79に接続されている。更に、
サブブロック41−1の出力端子P75は、サブブロッ
ク41−2の入力端子P77に接続されている。サブブ
ロック41−2の出力端子P79は、出力端子P80に
接続されている。
7実施例では、図示の如く接続された4つのサブブロッ
ク41−1〜41−4と6つのスイッチSWとからな
る。このプログラマブル論理回路は、各スイッチSWの
オン/オフ状態に応じて、組み合せ論理回路としてもフ
リップフロップ等の順序論理回路としても機能する。本
実施例では、プログラマブル論理回路には2つの入力端
子P71及びP111と、2つの出力端子P80,P1
20とが設けられている。スイッチSWは、サブブロッ
ク41−1の入力端子P72とサブブロック41−1の
出力端子P74との間、サブブロック41−2の入力端
子P76とサブブロック41−2の出力端子P78との
間、サブブロック41−3の入力端子P213とサブブ
ロック41−3の出力端子P115との間、サブブロッ
ク41−4の入力端子P117とサブブロック41−4
の出力端子P119との間、サブブロック41−1の入
力端子P121とサブブロック41−4の出力端子P1
24との間、及びサブブロック41−3の入力端子P1
23とサブブロック41−2の出力端子P122との間
に設けられている。又、入力端子P71はサブブロック
41−1の入力端子PP73に接続され、入力端子P1
11はサブブロック41−3の入力端子P112に接続
されている。更に、サブブロック41−1の出力端子P
75はサブブロック41−2の入力端子P80に接続さ
れており、サブブロック41−3の出力端子P115は
サブブロック41−4の入力端子P117に接続されて
いる。サブブロック41−2の出力端子P122は出力
端子P80に接続されており、サブブロック41−4の
出力端子P118は出力端子P120に接続されてい
る。
SWのオン/オフ状態は、数々の方法により制御可能で
ある。そこで、4つの代表的な制御方法につき以下に図
24〜図27と共に説明する。
ある。この場合、各スイッチSW自体がヒューズ又はア
ンチヒューズからなる。従って、各スイッチSWのオン
/オフ状態は、ヒューズを溶融させて断線するか、或は
アンチフューズを溶融して短絡するかにより、固定的に
プログラムされる。
ある。この場合、各スイッチSWのオン/オフ状態は、
対応するヒューズ又はアンチヒューズFを介して得られ
る信号により制御される。従って、この場合も各スイッ
チSWのオン/オフ状態は固定的にプログラムされる。
ある。この場合、各スイッチSWのオン/オフ状態は、
メモリ81の対応するビットの信号により制御される。
従って、この場合の各スイッチSWのオン/オフ状態
は、メモリ81の内容を書き換えることにより、自由に
プログラム可能である。
ある。この場合、各スイッチSWのオン/オフ状態は、
メモリ81の出力をデコーダ82でデコードして得られ
る信号により制御される。従って、この場合も各スイッ
チSWのオン/オフ状態は、メモリ81の内容を書き換
えることにより、自由にプログラム可能である。更に、
図26の場合にはメモリ81のビット数がスイッチSW
の数と一致する必要があるが、図27の場合にはデコー
ダ82を用いているので、より少ないメモリ81のビッ
ト数で同じ数のスイッチSWを制御することができる。
合、メモリ81はプログラマブル論理回路の外部に設け
ても、プログラマブル論理回路の内部に設けても良い。
設けられているメモリ81が、各々プログラマブル論理
回路(FPGA)85の外部に設けられている場合を示
す。つまり、各メモリ81は、プログラマブル論理回路
85とは別の外部メモリチップ86内に設けられてい
る。メモリチップ86内の各メモリ81は、プログラマ
ブル論理回路85内の対応する論理セル1又は31と接
続される。
設けられているメモリ81が、各々プログラマブル論理
回路85の内部に設けられている場合を示す。つまり、
各メモリ81は、プログラマブル論理回路85内で対応
する論理セル1又は31と接続される。
設けられているメモリ81が、各々プログラマブル論理
回路85の内部に設けられている場合を示す。この場
合、各メモリ81は、1つの論理セル1又は31内に設
けられており、その論理セル1又は31内の所望の部分
と接続される。
なスイッチSWの数をN、全てのスイッチSWのオン/
オフ状態を制御するのに必要なメモリ81のビット数を
M、演算floor(F(x))を、値F(x)を下ま
わらない最小の整数値を返す演算であると定義したと
き、M≧floor(log2 N)が常に成立する。
ッチSWのオン/オフ状態は、図31に示すように決定
される。先ず、所望の論理回路の設計図を作成する。次
に、この設計図に基づいてコンピュータ処理を行い、プ
ログラマブル論理回路85内でどの様な接続をすれば上
記所望の論理回路の機能を実現できるかを求める。そし
て、求めた接続をするのに必要な各スイッチSWのオン
/オフ状態を決定し、そのオン/オフ状態を得るのに必
要なデータをメモリ81に書き込む。
図32の様になる。同図中、ステップ91は任意の設計
ツールを用いて所望の論理回路を設計する。ステップ9
2は、所望の論理回路の設計図をコンピュータに入力
し、設計図のデータをプログラマブル論理回路85内の
スイッチSWのオン/オフ状態に関するデータに変換す
る。ステップ93は、スイッチSWのオン/オフ状態に
関するデータを、プログラマブル論理回路85の内部又
は外部のメモリ81に書き込むことにより、プログラマ
ブル論理回路85を上記所望の論理回路として機能する
ようにプログラムする。
には、論理セル間を接続する信号線の本数を増やし、プ
ログラマブルスイッチの数も増やす必要がある。しか
し、信号線及びスイッチの数が増大すると、入出力パス
をプログラマブル論理回路のチップ上に設けるために大
きな面積が必要となる。又、スイッチの数が多いと、ス
イッチのオン/オフ状態を記憶するためのメモリ容量が
増大してしまい、メモリセルを大量に設ける必要が生じ
てしまう。そこで、これらの問題をも解決し得る実施例
について以下に説明する。
理回路の第8実施例を示す平面図である。同図中、中央
部分のセル領域201には、32×32=1024個の
論理セル1(又は31)がマトリクス状に配列されてい
る。隣合う2つの論理セル1間は、2本の信号線からな
るセル間パス204で接続されている。セル領域201
の外側には、入出力パス202が設けられている。この
入出力パス202は、2本の常に固定的な論理信号レベ
ルとされた信号線と、複数のプログラマブルスイッチS
Wで区切られた構造を有する複数の信号線とからなる。
入出力パス202の外側には、16×4=64個の入出
力パッド203が設けられている。
号線は、入出力パッド203の信号の伝達方向が一定で
ある場合、入出力パッド203の信号伝達の方向を制御
する信号線に接続される。プログラマブルスイッチSW
で区切られた構造を有する信号線は、入出力パッド20
3が論理セル1からの信号を入力するための、又は、論
理セル1が入出力パッド203からの信号を入力するた
めの信号線である。入出力パッド203の信号の伝達方
向を決定するための信号線は、2本の固定的な論理信号
レベルとされた信号線及び複数のプログラマブルスイッ
チSWで区切られた構造を有する複数の信号線に、プロ
グラマブルスイッチSWを介して接続されている。入出
力パッド203のそれ以外の信号線は、複数のプログラ
マブルスイッチSWで区切られた構造を有する複数の信
号線に、プログラマブルスイッチSWを介して接続され
ている。
ドウェアで実現する場合の最小単位の部分ハードウェア
である。従って、全ての論理回路は、論理セル1の組み
合せで実現可能である。論理セル1は、大別すると次の
3つの機能を有する。 1)プログラムすることで、論理回路の設計を行う際に
頻繁に用いられる種々のフリップフロップ等の順序論理
回路や、組み合せ論理回路を実現する。 2)入出力パス202へ信号を出力する。 3)入出力パス202からの信号を入力する。
出力パッド203との間で信号の授受を行うための信号
線の集まりである。プログラマブル論理回路の外部から
入出力パッド203を介して入力された信号及び論理セ
ル1がプログラマブル論理回路の外部へ出力する信号の
全ては、この入出力パス202を通る。本実施例では、
入出力パス202は、任意の本数の通常の信号線と、任
意の本数の複数のプログラマブルスイッチSWで区切ら
れた構造を有する信号線とで構成されている。入出力パ
ス202は、大別すると次の4つの機能を有する。 1)入出力パッド203からの信号を入力する。 2)入出力パッド203へ信号を出力する。 3)論理セル1からの信号を入力する。 4)論理セル1へ信号を出力する。
全ての入力動作及び出力動作を行う部分ハードウェアで
ある。入出力パッド203は、大別すると次の3つの機
能を有する。 1)プログラマブル論理回路の外部からの信号を入出力
パス202へ出力する。 2)論理セル1が入出力パス202へ出力した信号をプ
ログラマブル論理回路の外部へ出力する。 3)上記1)及び2)の動作を同時に行う。ただし、こ
の場合は、信号の伝達方向は論理セル1が入出力パス2
02へ出力した信号で制御する。
方向は一定であるので、入出力パッド203の方向制御
用端子の論理信号レベルは「1」又は「0」の値を保持
する信号線に接続される。
との接続を示す。各論理セル1は、同図中(a)に一部
拡大して示すように、縦方向に延在するセル間パス20
4と、横方向に延在するセル間パス204とに接続され
ている。論理セル1は、縦方向に延在するセル間パス2
04を構成する信号線とは、ノード(信号サンプル点)
a,d,e,hで接続され、横方向に延在するセル間パ
ス204を構成する信号線とは、ノードb,c,f,g
で接続されている。又、ノードa,h間、ノードb,c
間、ノードd,e間、及びノードf,g間には、プログ
ラマブルスイッチSWが挿入されている。ユーザは、各
スイッチSWをプログラムすることで、論理セル1間に
設けられているセル間パス204を長距離配線として用
いるか、或は短距離配線として用いるかを決定する。つ
まり、各スイッチSWの両側には論理セル1に対する全
ての信号の入出力を行うノードが設けられ、論理セル1
は図34(b)の斜視図に示すように縦方向と横方向に
延在するセル間パス204の交差部上に設けられる。
04との接続を、スイッチSWを含めて示す回路図であ
る。同図に示す如く、縦方向に延在するセル間パス20
4を構成する各信号線は、横方向に延在するセル間パス
204を構成する対応する信号線とプログラマブルスイ
ッチSWを介して接続されている。従って、縦方向に延
在するセル間パス204を構成する信号線と、横方向に
延在するセル間パス204を構成する信号線とを接続す
ることも可能である。
を示す。同図中、端子203A,203B,203C
と、バッファ203E,203Fとからなる。端子20
3Aは、プログラマブル論理回路の入出力端子に接続さ
れている。プログラマブル論理回路と外部との全ての信
号の入出力は、この端子203Aを介して行われる。バ
ッファ203Eの出力は端子203Aに接続され、バッ
ファ203Eの入力は端子203Bに接続されている。
他方、バッファ203Fの入力は端子203Aに接続さ
れ、バッファ203Fの出力は端子203Dに接続され
ている。端子203Bには、論理セル1からプログラマ
ブル論理回路の外部へ出力するべき信号が入力される。
又、端子203Dには、プログラマブル論理回路の外部
から論理セル1へ入力するべき信号が出力される。入出
力パッド203の方向制御用端子203Cには、入出力
パッド203の信号伝達方向を決定する制御信号が印加
される。この制御信号は、バッファ203Eにはそのま
ま供給され、バッファ203Fには反転されてから供給
されるので、バッファ203E,203Fのうち一方が
オンのときは他方は必ずオフである。
を接続する入出力パス202の実施例を、図37〜図3
9と共に説明する。
2を構成する信号線がループ状に設けられており、複数
のプログラマブルスイッチSWが挿入されている。入出
力パッド203の端子203B,203C,203D
は、ノードA,B,...のうち任意のノードに接続さ
れている。これにより、例えばノードAとノードHとの
間の通信時間を短縮することができる。
2を構成する1本の信号線に複数のプログラマブルスイ
ッチSWが挿入されている。又、ノードBとノードFと
の間にもプログラマブルスイッチSWが挿入されてい
る。入出力パッド203の端子203B,203C,2
03Dは、ノードA,B,...のうち任意のノードに
接続されている。これにより、例えばノードBとノード
Fとの間の通信時間を短縮することができる。
2を構成する1本の信号線に複数のプログラマブルスイ
ッチSWが挿入されている。又、ノードBとノードFと
の間に固定配線が設けられている。入出力パッド203
の端子203B,203C,203Dは、ノードA,
B,...のうち任意のノードに接続されている。これ
により、例えばノードBとノードFとの間の通信時間を
短縮することができる。
る入出力パッド203と論理セル1との接続の第1実施
例の要部を図40に示す。同図中、入出力パス202と
入出力パッド203及び論理セル1を接続するプログラ
マブルスイッチSWは「丸印」で示し、入出力パス20
2中のプログラマブルスイッチSWはスイッチ素子の記
号で示す。この実施例では、4つの入出力パッド203
及び2つの論理セル1が入出力パス202中に設けられ
た一対のスイッチSW間に接続されている。
による入出力パッド203と論理セル1との接続の第2
実施例の要部を示す。同図中、入出力パス202と入出
力パッド203及び論理セル1を接続するプログラマブ
ルスイッチSWは「丸印」で示し、入出力パス202中
のプログラマブルスイッチSWはスイッチ素子の記号で
示す。この実施例では、2つの入出力パッド203及び
2つの論理セル1が入出力パス202中に設けられた一
対のスイッチSW間に接続されている。
による入出力パッド203と論理セル1との接続の第3
実施例の要部を示す。同図中、入出力パス202と入出
力パッド203及び論理セル1を接続するプログラマブ
ルスイッチSWは「丸印」で示し、入出力パス202中
のプログラマブルスイッチSWはスイッチ素子の記号で
示す。この実施例では、2つの入出力パッド203及び
4つの論理セル1が入出力パス202中に設けられた一
対のスイッチSW間に接続されている。
3〜図45と共に説明する。尚、説明の便宜上、論理セ
ル1のサブブロック11図6に示す如き構成を有し4入
力−1出力であるものとする。
4を構成する相互配線l1〜l8とl1’〜l8’とが
櫛歯状にプログマブルスイッチSWを介して接続されて
いる。又、一例として3本の信号線i1,i2,j1か
らなる内部バス210は、プログラマブルスイッチSW
を介して論理セル1のサブブロック11に接続されてい
る。具体的には、サブブロック11の各入力がスイッチ
SWを介して内部バス210の信号線i1,i2の少な
くとも一方に接続されている。更に、サブブロック11
の出力が固定的に内部パス210の信号線j1に接続さ
れており、信号線j1はスイッチSWを介してセル間パ
ス204の各相互配線l1〜l8,l1’〜l8’と接
続されている。本実施例では、44個(=8+8+16
+8+4)のスイッチSWが設けられており、サブブロ
ック11の各入力および出力がセル間パス204の相互
配線l1〜l8,l1’〜l8’のうち任意の相互配線
に接続可能である。つまり、本実施例では、内部バス2
10の本数をL、論理セル1のサブブロック11内での
和積表現の和の項の数又は積の項の数をT、サブブロッ
ク11の出力数をmとすると、以下の関係が成立する。
e,11fが設けられているので、和の項の数は2であ
り、上記関係はL≧2+1=3となる。
4を構成する相互配線l1〜l8とl1’〜l8’とが
櫛歯状にプログマブルスイッチSWを介して接続されて
いる。又、内部バス210は設けず、サブブロック11
の出力が1本の信号線とプログラマブルスイッチSWと
を介して論理セル1のサブブロック11に接続されてい
る。具体的には、サブブロック11の各入力がスイッチ
SWを介してセル間パス204の相互配線l1〜l8,
l1’〜l8’の少なくとも1本に接続されている。更
に、サブブロック11の出力がスイッチSWを介して各
相互配線l1〜l8,l1’〜l8’に接続されてい
る。本実施例では、40個(=(4+4+4+4)+1
6+8)のスイッチSWが設けられており、サブブロッ
ク11の各入力および出力がセル間パス204の相互配
線l1〜l8,l1’〜l8’のうち任意の相互配線に
接続可能である。
の各入力と各相互配線l1〜l8,l1’〜l8’との
接続を示す斜視図である。サブブロック11の各入力
は、ノードP1〜P8,P1’〜P8’で相互配線l1
〜l8,l1’〜l8’と接続する。
のサブブロック11とセル間パス2104の相互配線l
1〜l8,l1’〜l8’とを接続すると、図46に示
す如くプログラマブルスイッチSWをサブブロック11
の各入力及び各相互配線l1〜l8,l1’〜l8’に
対して設けなければならない。このため、図46の例で
は、48個(=8×5+8)のスイッチSWを必要とす
る。しかし、相互配線l1’〜l8’への接続は、特定
のスイッチSW1〜SW8を介さないと行えない。
では、より自由に相互配線l1〜l8,l1’〜l8’
への接続をスイッチSWを介して行うことが可能であ
る。又、必要となるスイッチSWの数も図46の場合と
比べると減少できるので、論理セル1の相互接続のため
の配線(及びスイッチSW)の占める面積を減少させる
ことができる。尚、図43の実施例では、内部バス21
0の使用により論理セル1のサブブロック11への入力
を限定することになるが、図44の実施例ではこの問題
も生じない。特に、図44の実施例では、論理セル1の
端子間の接続の際に通過するスイッチSWの数を図46
の場合に比べて減少できるので、信号の遅延も小さくす
ることが可能である。
ブル論理回路が複数の論理セルからなるものとして説明
したが、必ずしも全ての論理セルを上記構成とする必要
はない。つまり、プログラマブル論理回路で実現しよう
とする機能が予めわかっている場合は、上記構成の論理
セルに加えて従来の組み合せ論理セル及び/又は順序論
理セルを所定数設けても良い。この場合、予め使用され
るだろう組み合せ論理セル及び/又は順序論理セルの数
がわかっているので、論理セルの使用効率が低下するこ
とはない。
本発明はこれらの実施例に限定されるものではなく、本
発明の範囲内で数々の変形及び改良が可能であることは
言うまでもない。
るプログラマブル論理回路において、少なくとも特定の
論理セルは、それ自体では所定の組み合せ論理機能を持
ち、論理セルの入力と出力との間のパスを接続可能なス
イッチ回路を備えているので、前記スイッチ回路のオン
/オフ状態をプログラムすることにより任意の組み合せ
論理機能及び順序論理機能を実現でき、プログラマブル
論理回路を構成する論理セルの利用効率を、実現する論
理回路の構成に拘らず向上することが可能となる。
ある論理セルの構成を示すブロック図である。
である。
である。
である。
である。
である。
である。
である。
図である。
す回路図である。
出力パスの信号線との接続を説明する図である。
例を示す図である。
成し得るプログラマブル論理回路の第2実施例を示す回
路図である。
成し得るプログラマブル論理回路の第3実施例を示す回
路図である。
成し得るプログラマブル論理回路の第4実施例を示す回
路図である。
ブロック図である。
である論理セルの構成を示す回路図である。
る。
成し得るプログラマブル論理回路の第6実施例を示す回
路図である。
成し得るプログラマブル論理回路の第7実施例を示す回
路図である。
説明する図である。
説明する図である。
説明する図である。
説明する図である。
けられている場合を示す平面図である。
けられている場合を示す平面図である。
けられている場合を示す平面図である。
決定を説明する図である。
決定処理を説明するフローチャートである。
平面図である。
である。
ブルスイッチを含めて示す回路図である。
の接続の第1実施例の要部を示す図である。
の接続の第2実施例の要部を示す図である。
の接続の第3実施例の要部を示す図である。
る。
入力とセル間パスの各相互配線との接続を示す斜視図で
ある。
とセル間パスの相互配線との接続を説明する図である。
る。
Claims (29)
- 【請求項1】 複数の論理セルを有するプログラマブル
論理回路において、少なくとも特定の論理セルは、アンド−オア回路、アンド−ノア回路、オア−アンド回
路、オア−ナンド回路、ナンド−アンド回路、ナンド−
ナンド回路、ノア−オア回路及びノア−ノア回路のうち
少なくとも1種類の回路を用いて構成される基本論理回
路を含むと共に、所定の組み合せ論理機能を持つサブブ
ロックと、 該 サブブロックの入力と出力との間のパスを接続可能な
スイッチ回路とを備え、 該スイッチ回路のオン/オフ状態をプログラムすること
により任意の組み合せ論理機能及び順序論理機能を実現
するプログラマブル論理回路。 - 【請求項2】 前記論理セルへの信号の入力及び該論理
セルからの信号の出力を行う複数の信号線からなる入出
力パスを更に備え、前記スイッチ回路は該サブブロック
の任意の入力及び出力を該入出力パスと接続可能なプロ
グラマブルスイッチを含む請求項1のプログラマブル論
理回路。 - 【請求項3】 前記スイッチ回路のプログラマブルスイ
ッチは、フューズ又はアンチフューズからなる請求項2
のプログラマブル論理回路。 - 【請求項4】 前記スイッチ回路のプログラマブルスイ
ッチは、そのオン/オフ状態が、第1の制御信号により
可変に設定されるスイッチ素子からなる請求項2のプロ
グラマブル論理回路。 - 【請求項5】 前記第1の制御信号を生成する手段を更
に備えた請求項4のプログラマブル論理回路。 - 【請求項6】 前記手段は、前記第1の制御信号を格納
するメモリを含む請求項5のプログラマブル論理回路。 - 【請求項7】 前記手段は、制御情報を格納するメモリ
と、該メモリ内の制御情報に基づいて前記第1の制御信
号を生成するデコーダとを含む請求項5のプログラマブ
ル論理回路。 - 【請求項8】 前記スイッチ回路を構成するのに必要な
プログラマブルスイッチの数をN、全てのプログラマブ
ルスイッチのオン/オフ状態を制御するのに必要なメモ
リのビット数をM、演算floor(F(x))を、値
F(x)を下まわらない、最小の整数値を返す演算であ
る、と定義したとき、M≧floor(log2 N)が
常に成立する請求項7のプログラマブル論理回路。 - 【請求項9】 前記サブブロックは、各々前記基本論理
回路の入力信号及び出力信号のうち任意の信号の論理を
第2の制御信号に基づいて反転可能な反転回路を更に含
む請求項1〜8のうちいずれか1項のプログラマブル論
理回路。 - 【請求項10】 前記スイッチ回路は、前記サブブロッ
クの入力と出力との間のパスを接続して帰還路を形成す
ることによりフリップフロップの機能を実現する請求項
1〜9のうちずれか1項のプログラマブル論理回路。 - 【請求項11】 前記フリップフロップの機能は、S−
Rフリップフロップ、RS−CKフリップフロップ、D
フリップフロップ、J−Kフリップフロップのうち少な
くとも1種類のフリップフロップの機能である請求項1
0のプログラマブル論理回路。 - 【請求項12】 前記スイッチ回路は、前記サブブロッ
クの入力と出力との間のパスを非接続として帰還路を形
成しないことにより、組み合せ論理回路の機能を実現す
る請求項1〜9のうちいずれか1項のプログラマブル論
理回路。 - 【請求項13】 前記組み合せ論理回路の機能は、アン
ド回路、ナンド回路、オア回路、ノア回路、エクスクル
ーシブオア回路、エクスクルーシブノア回路及びハーフ
アダーのうち少なくとも1種類の回路の機能である請求
項12のプログラマブル論理回路。 - 【請求項14】 前記論理セルを互いに接続する信号線
からなるセル間パスを更に備え、該セル間パスの信号線
には複数のプログラマブルスイッチが挿入されており、
該プログラマブルスイッチのオン/オフ状態により該論
理セル間の接続が決定される請求項1〜13のうちいず
れか1項のプログラマブル論理回路。 - 【請求項15】 前記論理セルに対する信号の入力及び
出力を行う入出力パッドと、 前記セル間パスと該入出力パッドとを接続可能な入出力
パスとを更に備え、 該入出力パッドと該入出力パスとの間の接続はプログラ
マブルスイッチを介して行う請求項14のプログラマブ
ル論理回路。 - 【請求項16】 前記入出力パスは、複数のプログラマ
ブルスイッチが挿入されたループ状の信号線を含む請求
項15のプログラマブル論理回路。 - 【請求項17】 前記入出力パスは、複数のプログラマ
ブルスイッチが挿入された第1の信号線と、隣合うプロ
グラマブルスイッチ間のノードのうち所定の2つのノー
ドを接続する第2の信号線とを含む請求項15のプログ
ラマブル論理回路。 - 【請求項18】 前記第2の信号線にプログラマブルス
イッチが挿入されている請求項17のプログラマブル論
理回路。 - 【請求項19】 前記論理セルはプログラマブル論理回
路のセル領域内にマトリクス状に配列され、 前記セル間パスは該論理セルの配列に沿って縦横方向に
延在し、 前記入出力パッドは最外周部の論理セルの外側に設けら
れ、 前記入出力パスは最外周部の論理セルと該入出力パッド
との間に配置されている請求項15〜18のうちいずれ
か1項のプログラマブル論理回路。 - 【請求項20】 前記セル間パスは、プログラマブルス
イッチを介して櫛歯状に接続された第1の相互配線と第
2の相互配線とからなり、 前記論理セルは該セル間パスと内部バスを介して接続さ
れており、 該内部バスは、各々第1の相互配線及び第2の相互配線
のうち少なくとも一方と該論理セルの入力とにプログラ
マブルスイッチを介して接続されている入力信号線と、
該論理セルの出力と固定的に接続されると共に第1の相
互配線及び第2の相互配線の両方にプログラマブルスイ
ッチを介して接続されている出力信号線とからなる請求
項15のプログラマブル論理回路。 - 【請求項21】 前記内部バスの本数をL、前記論理セ
ル内での和積表現の和の項の数又は積の項の数をT、該
論理セルの出力数をmとすると、L≧T+mなる関係が
成立する請求項20のプログラマブル論理回路。 - 【請求項22】 前記セル間パスは、プログラマブルス
イッチを介して櫛歯状に接続された第1の相互配線と第
2の相互配線とからなり、 前記論理セルの出力は該セル間パスと信号線を介して接
続されており、該信 号線は第1の相互配線及び第2の相互配線の両方に
プログラマブルスイッチ介して接続され、 該論理セルの各入力は該第1の相互配線及び該第2の相
互配線のうち少なくとも一方にプログラマブルスイッチ
を介して接続されている請求項15のプログラマブル論
理回路。 - 【請求項23】 複数の論理セルを有するプログラマブ
ル論理回路において、 少なくとも特定の論理セルは、アンド−オア回路、アンド−ノア回路、オア−アンド回
路、オア−ナンド回路、ナンド−アンド回路、ナンド−
ナンド回路、ノア−オア回路及びノア−ノア回路のうち
少なくとも1種類の回路を用いて構成される基本論理回
路を含むと共に所定の組み合せ論理機能を有し、 該論理セルの入力と出力との間のパスを接続可能なスイ
ッチ回路を備え、 該スイッチ回路のオン/オフ状態をプログラムすること
により任意の組み合せ論理機能及び順序論理機能を実現
するプログラマブル論理回路。 - 【請求項24】 少なくとも前記特定の論理セルに対し
て設けられ、前記論理セルに対して入出力を行う複数の
信号線よりなる入出力パスをさらに備え、 前記スイッチ回路は、前記論理セルの入力および出力を
前記入出力パスの任意の信号線に接続可能なプログラマ
ブルスイッチをさらに備える請求項23記載のプログラ
マブル論理回路。 - 【請求項25】 前記スイッチ回路のプログラマブルス
イッチは、フューズまたはアンチフューズである、請求
項24記載のプログラマブル論理回路。 - 【請求項26】 前記スイッチ回路のプログラマブルス
イッチは、そのオン/オフ状態が、制御信号によって可
変に設定されるスイッチ素子である、請求項24記載の
プログラマブル論理回路。 - 【請求項27】 前記制御信号の生成手段をさらに備え
た、請求項26記載のプログラマブル論理回路。 - 【請求項28】 前記制御信号の生成手段は、前記制御
信号を格納したメモリに備えた、請求項27記載のプロ
グラマブル論理回路。 - 【請求項29】 前記制御信号の生成手段は、前記制御
情報を格納したメモリと、その制御情報をデコードして
前記制御信号を生成するデコーダとを備えた、請求項2
7記載のプログラマブル論理回路。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5214567A JP2835266B2 (ja) | 1993-08-30 | 1993-08-30 | プログラマブル論理回路 |
KR1019930020171A KR960003373B1 (ko) | 1992-09-29 | 1993-09-28 | 프로그래머블 논리회로 |
US08/128,223 US5442246A (en) | 1992-09-29 | 1993-09-29 | Programmable logic circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5214567A JP2835266B2 (ja) | 1993-08-30 | 1993-08-30 | プログラマブル論理回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0766717A JPH0766717A (ja) | 1995-03-10 |
JP2835266B2 true JP2835266B2 (ja) | 1998-12-14 |
Family
ID=16657863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5214567A Expired - Fee Related JP2835266B2 (ja) | 1992-09-29 | 1993-08-30 | プログラマブル論理回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2835266B2 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56153838A (en) * | 1980-04-28 | 1981-11-28 | Nippon Telegr & Teleph Corp <Ntt> | Method for converting sequential circuit into combinatorial circuit |
-
1993
- 1993-08-30 JP JP5214567A patent/JP2835266B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56153838A (en) * | 1980-04-28 | 1981-11-28 | Nippon Telegr & Teleph Corp <Ntt> | Method for converting sequential circuit into combinatorial circuit |
Also Published As
Publication number | Publication date |
---|---|
JPH0766717A (ja) | 1995-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5442246A (en) | Programmable logic circuit | |
US6492834B1 (en) | Programmable logic device with highly routable interconnect | |
US5019736A (en) | Programmable logic cell and array | |
US6975138B2 (en) | Method and apparatus for universal program controlled bus architecture | |
US6989688B2 (en) | Architecture and interconnect scheme for programmable logic circuits | |
US6392438B1 (en) | Programmable logic array integrated circuit devices | |
US6829756B1 (en) | Programmable logic device with time-multiplexed interconnect | |
US6462579B1 (en) | Partial reconfiguration of a programmable gate array using a bus macro | |
US5155389A (en) | Programmable logic cell and array | |
US8255610B2 (en) | Crossbar circuitry for applying a pre-selection prior to arbitration between transmission requests and method of operation of such crossbar circuitry | |
US7986163B2 (en) | Scalable non-blocking switching network for programmable logic | |
US20080191739A1 (en) | Method and apparatus for universal program controlled bus architecture | |
US20020113619A1 (en) | Interconnection network for a Field Progammable Gate Array | |
US6294928B1 (en) | Programmable logic device with highly routable interconnect | |
Moraes et al. | A Low Area Overhead Packet-switched Network on Chip: Architecture and Prototyping. | |
US6462576B1 (en) | Programmable logic device | |
JPH10501934A (ja) | プログラム可能な論理回路用のアーキテクチャおよび相互接続機構 | |
US8099540B2 (en) | Reconfigurable circuit | |
JP2003505911A (ja) | 非常に細粒状のfpgaのアーキテクチャ及び回路構成 | |
JP2835266B2 (ja) | プログラマブル論理回路 | |
Ebeling et al. | Triptych: A new FPGA architecture | |
Jeang et al. | A binary tree architecture for application specific network on chip (ASNOC) design | |
US20100134143A1 (en) | Permutable switching network with enhanced multicasting signals routing for interconnection fabric | |
USRE41561E1 (en) | Method for sharing configuration data for high logic density on chip | |
Aust et al. | Real-time processor interconnection network for fpga-based multiprocessor system-on-chip (mpsoc) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19980922 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071002 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081002 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081002 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091002 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091002 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101002 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |