JPH1093422A - プログラマブル論理回路 - Google Patents

プログラマブル論理回路

Info

Publication number
JPH1093422A
JPH1093422A JP26521996A JP26521996A JPH1093422A JP H1093422 A JPH1093422 A JP H1093422A JP 26521996 A JP26521996 A JP 26521996A JP 26521996 A JP26521996 A JP 26521996A JP H1093422 A JPH1093422 A JP H1093422A
Authority
JP
Japan
Prior art keywords
function
logic
memory
logic cell
circuit
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.)
Granted
Application number
JP26521996A
Other languages
English (en)
Other versions
JP3390311B2 (ja
Inventor
Mitsufumi Shibayama
充文 柴山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP26521996A priority Critical patent/JP3390311B2/ja
Publication of JPH1093422A publication Critical patent/JPH1093422A/ja
Application granted granted Critical
Publication of JP3390311B2 publication Critical patent/JP3390311B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

(57)【要約】 【課題】プログラマブル論理回路上に実現する回路の構
成によらずに、効率的な回路実現を可能とするプログラ
マブル論理回路の提供。 【解決手段】論理関数、フリップフロップ、及び配線ス
イッチ等の機能を提供する複数のプログラマブルな論理
セルより構成されるプログラマブル論理回路において、
論理セルは、同時には、1つの機能を提供するものと
し、論理セルの各機能を実現する回路は、メモリやマル
チプレクサなどの回路資源を共有して用いる。これによ
り、プログラマブル論理回路上に実現される回路が必要
とする回路機能が偏っていても効率的な実現が可能とな
り、プログラマブル論理回路の回路資源を有効に利用す
ることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は論理回路に関し、特
に、プログラマブル論理回路において、その利用効率の
向上のための構成の改良に関する。
【0002】
【従来の技術】従来より、その機能をプログラムするこ
とのできる論理回路として、フィールド・プログラマブ
ル・ゲート・アレイ(FPGA:Field Programmable
GateArray)が知られている。このFPGAについて
は、例えば刊行物1(Stephen M. Trimberger編、
“FIELD−PROGRAMMABLE GATEA
RRAY TECHNOLOGY”、Kluwer Academi
c Publishers, 1994)や刊行物2(Stephen D. Bro
wn他、“FIELD−PROGRAMMABLE GA
TE ARRAYS”、Kluwer Academic Publisher
s 、1992)などに詳しい。
【0003】FPGAは、一般的に、その機能をプログ
ラムすることのできる複数の論理セルと、論理セル間の
接続をプログラムすることのできる配線資源と、から構
成される。論理セルや配線のプログラム情報は、内蔵さ
れたスタティック・ランダム・アクセス・メモリ(SR
AM;Static Random Access Memory)などのメモ
リや、ヒューズの状態などによって記憶される。
【0004】そして論理セルが提供する回路機能は、接
続されたメモリの内容やヒューズの状態に応じて決定さ
れる。また、配線資源中のスイッチの状態を接続された
メモリの内容やヒューズの状態により決定し、配線のプ
ログラムを可能とする。プログラム情報をSRAMなど
の書き換え可能メモリに記憶する場合は、メモリ内容を
書き換えることにより、再プログラムが可能である。一
方、ヒューズの状態により、プログラム情報を記憶する
場合には、一度プログラムを行ったら、再びプログラム
をすることはできない。
【0005】論理セルの構成方法は、次に示す3つの方
法に大別できる。
【0006】(1)第1の方法は、ルックアップ・テー
ブルにより論理関数を実現する方法である。ルックアッ
プ・テーブルは入力を、接続されたメモリのアドレスと
解釈して、そのアドレスに対応するメモリの内容を出力
する。この場合、メモリの内容をプログラムすることに
より、任意の論理関数が実現できる。
【0007】(2)第2の方法は、マルチプレクサなど
により信号の経路を制御することにより、論理関数を実
現する方法である。入力信号やメモリ、ヒューズなどに
よりマルチプレクサを制御し、入力信号の信号経路を決
定する。
【0008】(3)第3の方法は、アンド素子やオア素
子などの基本的なゲート素子間の接続をプログラムする
ことで、論理関数を実現する方法である。プログラム
は、接続されたメモリの内容やヒューズの状態により行
われる。
【0009】上記した論理セルの構成方法のいずれにお
いても、順序回路を実現可能とするために、フリップフ
ロップを内蔵することが多い。
【0010】
【発明が解決しようとする課題】上記したFPGAにお
いては、内蔵するメモリやヒューズにより、その機能を
プログラムすることで、FPGAの製造時にではなくプ
ログラム時に、目的の回路がマッピングされるので、ど
のような回路がマッピングされるかは、製造時には決定
されない。
【0011】一方、FPGA自体の構成は、FPGAの
製造時に決定されている必要がある。したがって、論理
セルを構成するルックアップ・テーブルやフリップフロ
ップ、論理セル間の配線資源などのハードウェア資源の
量は、製造時に固定されることになる。
【0012】しかしながら、FPGA上にマッピングさ
れる回路には、要求されるハードウェア資源の種類や量
が異なった様々な回路が存在する。例えば、規則性が少
ないために配線資源を多く必要とする回路、レジスタな
どのようにフリップフロップを多く必要とする回路、加
算器などのように配線はあまり必要としないが論理関数
を多く実現できる必要のある回路などである。
【0013】ところが、従来のFPGAでは、内蔵する
ハードウェア資源の量が予め固定されているために、上
記のような多種多様な回路を効率的にマッピングするこ
とができないという問題を有している。
【0014】図15は、従来のFPGAの論理セルアレ
イの基本的な構成を示す図である。図15を参照する
と、複数の論理セル1がアレイ状に配列され、その間に
複数の配線2が配置される。論理セル1や配線2の接続
はスイッチ3により行われる。すなわち、スイッチ3に
直接接続されたメモリ(不図示)の内容などにより、ス
イッチ3のオン/オフを決定することで、配線のプログ
ラムを行う。
【0015】論理セル1の構成や配線2の量は製造時に
予め決められているため、目的に応じてマッピングされ
る回路が必要とする回路や配線の量によっては、使用さ
れない論理セル1や配線2が生じてしまう。
【0016】こうした場合には、使用されない論理セル
1や、配線2をプログラムするメモリは不使用とされ、
無駄となってしまう。
【0017】図16は、従来のルックアップ・テーブル
型の論理セルの基本的な構成を示す図である。図16を
参照して、論理セルは、ルックアップ・テーブル5、フ
リップフロップ20、出力を選択するマルチプレクサ2
1、フリップフロップ20の入力を選択するマルチプレ
クサ22及びそれらのプログラム情報を記憶するメモリ
4などから構成される。
【0018】この論理セルにおいては、組み合わせ回路
と順序回路の両方をマッピング可能とするために、ルッ
クアップ・テーブル5とフリップフロップ20の両方が
準備されている。このため、論理関数を多く必要とする
回路をマッピングする場合には、フリップフロップ20
やその機能をプログラムするメモリ4の多くが使用され
ないままとされる。
【0019】逆に、フリップフロップを多く必要とする
回路をマッピングする場合には、ルックアップ・テーブ
ル5やその機能をプログラムするメモリ4の多くが使用
されないまま残ってしまうことになる。
【0020】以上、ルックアップ・テーブル型の論理セ
ルの場合を例に説明したが、マルチプレクサ型や基本ゲ
ート型の論理セルでも、同様の問題が生じる。
【0021】上記のように、従来のFPGAにおいて
は、多種多様な回路のマッピングを効率的に行うことが
できない、という問題点を有している。
【0022】この問題に対して、基本ゲート型の論理セ
ルによるFPGAを対象とした解決方法として、例えば
特開平7−66717号公報に記載された方法がある。
この方法は、論理関数を実現するゲート素子と、フリッ
プフロップを実現するゲート素子とを共有することで、
ハードウェア資源の利用効率の向上を図るようにしたも
のである。
【0023】したがって本発明は、上記問題点に鑑みて
なされたものであって、その目的は、ルックアップ・テ
ーブル型の論理セルによるFPGAを対象として、マッ
ピングする回路の構成によらず、ハードウェア資源の利
用効率を向上させ、高集積化、高効率化を達成するプロ
グラマブルな論理回路を提供することにある。
【0024】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、複数のプログラマブルな論理セルより構
成されるプログラマブル論理回路において、前記論理セ
ルが提供する各回路機能をプログラムするプログラム情
報を、前記論理セルが内蔵する記憶手段に記憶する際
に、前記記憶手段を各回路機能で共有して用いるように
構成されてなることを特徴とする。
【0025】また、本発明においては、前記論理セルが
同時に提供できる回路機能を1つに限定することで、前
記記憶手段の共有を可能としたことを特徴とする。
【0026】本発明においては、前記論理セルが、該論
理セルが提供する機能について、各機能を実現する回路
の出力を、前記記憶手段の予め定められた所定の部分の
状態により、制御される選択手段によって選択出力す
る、ことを特徴とする。
【0027】さらに、本発明においては、前記記憶手段
の共有に加えて、前記論理セルの各機能の実現に使用さ
れる回路資源の共有を行う、ようにしたことを特徴とす
る。
【0028】本発明の概要を以下に説明する。本発明に
おいては、プログラマブル論理回路における論理セルが
同時に提供できる回路機能を1つに限定する。これによ
り、論理セルが提供する各回路機能をプログラムするプ
ログラム情報を論理セルが内蔵する記憶手段に記憶する
際に、記憶手段を各回路機能で共有して使用することが
可能となる。また、論理セルが提供する各回路機能は、
各回路機能を実現する回路の出力を、前記記憶手段のあ
る一部分の状態により制御される選択手段により選択し
て出力することにより提供される。
【0029】そして、本発明においては、前記記憶手段
の共有に加えて、論理セルの各機能の実現に使用される
回路資源の共有を行うことで、より効率的なハードウェ
ア資源の利用が可能となる。例えば、論理セルがルック
アップ・テーブル、フリップフロップ、プログラマブル
スイッチの回路機能を含む場合、前記各回路機能のプロ
グラム情報を記憶するメモリの共有に加えて、ルックア
ップ・テーブルやフリップフロップとメモリの共有や、
ルックアップ・テーブル、フリップフロップ、プログラ
マブルスイッチの回路機能を実現する回路が含むセレク
タなどを共有することができる。
【0030】そして、上記した回路資源の共有は、論理
セルが同時に提供できる回路機能を1つに限定したこと
で可能となる。
【0031】このように、本発明は、ルックアップ・テ
ーブルやフリップフロップ、配線スイッチなどの機能を
プログラムするメモリを共有することにより、マッピン
グする回路が必要とするハードウェア資源の量が偏って
いても、必要とされている機能を提供するように、メモ
リ内容の意味解釈を切り替えることで、メモリなどのハ
ードウェア資源の有効利用を可能としたものである。こ
のため、マッピングする回路の構成によらず、FPGA
のハードウェア資源の利用効率を向上させることができ
る。
【0032】
【発明の実施の形態】本発明の実施の形態について以下
に説明する。本発明の実施の形態においては、従来のF
PGAにおける論理セルと配線領域を統合したものを論
理セルとし、FPGAを構成する1つの構成単位する。
論理セルは、論理関数、フリップフロップ、及び配線ス
イッチなどの回路機能のうち、同時には1つの機能のみ
を提供する。このとき、論理セルを構成するルックアッ
プ・テーブル、フリップフロップや配線スイッチをプロ
グラムするメモリは共有して使用する。
【0033】具体的には、本発明の実施の形態において
は、機能をプログラムするメモリに加えて、どの機能を
提供するかを選択するためのメモリを備える。このメモ
リの内容に応じて、機能をプログラムするメモリの意味
を、別の意味に解釈することでメモリの共有を可能とし
たものである。
【0034】図1は、本発明の実施の形態に係る論理セ
ル1の構成を示すブロック図である。
【0035】図1を参照すると、この実施の形態に係る
論理セル1は、ルックアップ・テーブル5と、フリップ
フロップ6と、プログラマブルスイッチ7と、これらの
出力を選択するマルチプレクサ30と、ルックアップ・
テーブル5、フリップフロップ6、プログラマブルスイ
ッチ7、及びマルチプレクサ30のプログラム情報を記
憶するメモリ4と、を備えて構成されている。
【0036】論理セル1の入力C1は、ルックアップ・
テーブル5、フリップフロップ6、及びプログラマブル
スイッチ7に入力される。ルックアップ・テーブル5、
フリップフロップ6、及びプログラマブルスイッチ7の
出力はそれぞれマルチプレクサ30に入力される。
【0037】マルチプレクサ30は、メモリ4の内容に
基づいて、ルックアップ・テーブル5、フリップフロッ
プ6、及びプログラマブルスイッチ7の出力のいずれか
1つを論理セル1の出力C2に出力する。
【0038】ルックアップ・テーブル5は、メモリ4に
よりプログラムされ、その内容に基づいて論理関数を提
供する。
【0039】フリップフロップ6は、その機能がメモリ
4によりプログラムされ、順序回路の実現のためにフリ
ップフロップの機能を提供する。
【0040】プログラマブルスイッチ7は、その出力と
入力C1との間の接続関係をプログラムするもので、メ
モリ4の内容により、入力C1と出力C2の接続関係を
決定し、プログラマブルな配線の機能を提供する。
【0041】上記した各機能はマルチプレクサ30で選
択されることにより、同時にはいずれか1つの機能のみ
を提供し、同時に使用されることはない。このため、ル
ックアップ・テーブル5、フリップフロップ6、及びプ
ログラマブルスイッチ7は、メモリ4の同じ部分を共有
して使用することができる。これにより、FPGAにマ
ッピングされる回路の構成によらず、メモリ4の有効利
用が可能となる。
【0042】図2は、本発明の実施の形態における論理
セル1の詳細構成の一例を示す図である。
【0043】図2を参照すると、入力NI、SI、E
I、WIは、ルックアップ・テーブル5、フリップフロ
ップ6、及びプログラマブルスイッチ7へ入力される。
【0044】そして、ルックアップ・テーブル5、フリ
ップフロップ6、及びプログラマブルスイッチ7の出力
はマルチプレクサ30により、いずれか1つが選択され
出力NO、SO、EO、WOに出力される。
【0045】ルックアップ・テーブル5、フリップフロ
ップ6及びプログラマブルスイッチ7のプログラム情報
は、メモリ4の同じ部分に共有されて記憶される。例え
ばルックアップ・テーブルの機能を提供する場合には、
メモリ4の共有部分には、提供する論理関数の真理値表
に対応するデータが記憶される。フリップフロップの機
能を提供する場合には、フリップフロップの各入力を選
択するマルチプレクサ31のプログラム情報が記憶され
る。プログラマブルスイッチの機能を提供する場合に
は、各出力NO、SO、EO、WOへどの入力NI、S
I、EI、WIを出力するかを選択するマルチプレクサ
31のプログラム情報を記憶する。
【0046】この実施の形態では、メモリ4の共有に加
えて、フリップフロップ6の各入力を選択するマルチプ
レクサ31と、プログラマブルスイッチを構成するマル
チプレクサ7を共有している。
【0047】これにより、FPGAにマッピングされる
回路の構成によらず、メモリ4及びマルチプレクサ7の
有効利用が可能となる。
【0048】図3は、複数の論理セル1により構成され
る論理セルアレイの構成を示す図である。
【0049】図3を参照して、複数の論理セル1はアレ
イ状に配列され、互いに入出力が接続される。すなわ
ち、図中、上側に隣接する論理セルの出力SOと自論理
セルの入力NI、上側に隣接する論理セルの入力SIと
自論理セルの出力NO、下側に隣接する論理セルの出力
NOと自論理セルの入力SI、下側に隣接する論理セル
の入力NIと自論理セルの出力SO、右側に隣接する論
理セルの出力WOと自論理セルの入力EI、右側に隣接
する論理セルの入力WIと自論理セルの出力EO、左側
に隣接する論理セルの出力EOと自論理セルの入力W
I、左側に隣接する論理セルの入力EIと自論理セルの
出力WOが接続される。
【0050】各論理セル1は、ルックアップ・テーブル
またはフリップフロップまたはプログラマブルスイッチ
のいずれの機能を提供するかを内蔵のメモリによりプロ
グラムされることにより、論理セルアレイ8は目的の回
路機能を実現する。
【0051】
【実施例】上記した本発明の実施の形態について更に詳
細に説明すべく、本発明の実施例について以下に説明す
る。図4は、本発明の一実施例の構成を示す図である。
【0052】図4を参照して、本実施例においても、複
数の論理セル1はアレイ状に配置される。そして、図3
に示したように、隣接する4つの論理セルからの4つの
入力と隣接する4つの論理セルへの4つの出力を持つ。
【0053】これに加えて、本実施例においては、論理
セルの行に対応して水平方向へ走るバス線C3への入出
力と、論理セルの列に対応して垂直方向へ走るバス線C
4への入出力を持つ。
【0054】各論理セル1は、前記実施の形態にて説明
したように、ルックアップ・テーブル、フリップフロッ
プ、プログラマブルスイッチ、バスドライバの機能のう
ち、いずれかの機能を提供する。
【0055】図5は、本発明における論理セルの一実施
例として、ルックアップ・テーブルの機能を提供すると
きの論理セル1の構成を示した図である。なお、図5に
おいて、フリップフロップ等の他の機能の提供に関する
部分については省略している。
【0056】図5を参照すると、ルックアップ・テーブ
ル5、ルックアップ・テーブル5の入力を選択するセレ
クタ40、及び出力を選択するマルチプレクサ41より
構成される。セレクタ40は、その3つの出力C5に、
論理セル1の4つの入力NI、SI、EI、WIのいず
れの3つを出力するかを選択出力する。
【0057】ルックアップ・テーブル5は、セレクタ4
0の3つの出力C5を入力として、任意の3入力論理関
数を提供する。
【0058】マルチプレクサ41は、各出力NO、S
O、EO、WOへルックアップ・テーブル5の出力か、
または各出力の反対側からの入力をそのまま出力するか
を選択する。
【0059】これにより、論理セル1は、3入力関数
と、論理セル1をそのまま通過する配線の機能を提供す
る。
【0060】ルックアップ・テーブル5、セレクタ4
0、マルチプレクサ41は15ビットのメモリによりプ
ログラムされる。図9は、本実施例における、ルックア
ップ・テーブルを提供するときのメモリの割り当ての一
例を示したものである。
【0061】図9を参照して、ビット0が論理“1”の
ときに、論理セル1は、ルックアップ・テーブルの機能
を提供する。ビット1〜ビット5及びビット8〜ビット
10の8ビットで、ルックアップ・テーブル5をプログ
ラムし、任意の3入力論理関数を実現する。
【0062】またビット6とビット7で、セレクタ40
をプログラムし、ルックアップ・テーブル5に入力する
3つの入力を選択する(ビット6、7のS1、S2)。
【0063】さらにビット11〜ビット14の4ビット
でマルチプレクサ41の各出力の選択を行う。
【0064】図6は、本発明における論理セルの一実施
例として、フリップフロップの機能を提供するときの論
理セル1の構成を示す図である。図6において、他の機
能の提供に関する部分については省略している。
【0065】図6を参照して、Dフリップフロップ4
2、Dフリップフロップ42のデータ入力(端子D)を
選択するマルチプレクサ43、Dフリップフロップ42
のイネーブル入力(端子EC)を選択するマルチプレク
サ44、出力(端子Q)を選択するマルチプレクサ41
と、を備えて構成される。
【0066】マルチプレクサ43は、隣接する4つの論
理セルからの4つの入力、2つのバスC3、C4の入
力、固定値“1”、固定値“0”の8つの入力のなかか
ら、Dフリップフロップ42のデータ入力に入力する信
号線を選択する。
【0067】マルチプレクサ44は、2つのバスC3、
C4の入力、下側に隣接する論理セルからの入力SI、
固定値“1”の4つの入力からDフリップフロップ42
のイネーブル入力に入力する信号線を選択する。
【0068】マルチプレクサ41は、各出力NO、S
O、EO、WOへDフリップフロップ42の出力か、ま
たは各出力の反対側からの入力をそのまま出力するかを
選択する。
【0069】これにより、論理セル1はフリップフロッ
プと、論理セル1をそのまま通過する配線の機能を提供
する。
【0070】Dフリップフロップ42は、プログラム情
報を記憶するメモリと回路を共有して実現されている。
すなわち、論理セル1がフリップフロップ以外の機能を
提供するようにプログラムされた場合には、フリップフ
ロップ42をフリップフロップとしてではなく、プログ
ラム情報を記憶するメモリとして使用する。
【0071】これにより、フリップフロップ及びメモリ
の回路資源を効率的に使用することができる。このため
のフリップフロップの実現例として、通常のDラッチ
に、ランダム・アクセス・メモリのインターフェースを
追加した構成例を、図13に示す。
【0072】図13を参照すると、通常のDラッチ53
に加えて、ビット線C10、否定(反転)ビット線C1
1、ワード線C12、及びNMOSトランジスタ51、
52より構成されている。なお、Dラッチ53自体は、
2つのインバータINV1,INV2からなるフリップ
フロップを備え、トランスファゲートT1が導通状態の
時データDを出力すると共に、トランスファゲートT2
がオン(T1はオフ)の時、該データを保持する。
【0073】NMOSトランジスタ51、52のゲート
端子はワード線C12に接続される。NMOSトランジ
スタ51のドレイン端子とソース端子はそれぞれビット
線C10とDラッチ53のインバータループの一端に、
NMOSトランジスタ52のドレイン端子とソース端子
はそれぞれ否定ビット線11とDラッチ53のインバー
タループの別の一端に接続される。
【0074】Dラッチとして使用するときには、ワード
線C12の値を論理“0”に固定し、信号線C13にク
ロック信号を、信号線C14にクロック信号の相補信号
を入力する。
【0075】Dラッチに記憶された内容を読み出すとき
には、信号線C13の値を論理“1”に、信号線C14
の値を論理“0”に固定することにより、通常のSRA
Mメモリセルと同様に機能し、ワード線C12の値を論
理“1”にすることによって、記憶された内容がビット
線C10及び否定ビット線C11に読み出される。
【0076】図14に示すように、図13に示したDラ
ッチ50を2つ接続することにより、ランダム・アクセ
ス・メモリと同様のインターフェースを持つ、メモリイ
ンターフェース付きDフリップフロップを実現すること
ができ、論理セル1のプログラム情報を記憶するメモリ
及びDフリップフロップの機能を提供できる。
【0077】フリップフロップ42の実現及びマルチプ
レクサ41、43、44のプログラムは、15ビットの
メモリによりなされる。
【0078】図10に、本実施例における、フリップフ
ロップの機能を提供するときのメモリの割り当ての一例
を示す。
【0079】図10を参照して、ビット0が論理“0”
かつビット1が論理“1”のときに、論理セル1は、フ
リップフロップの機能を提供する。
【0080】ビット2とビット3は、図14に示したよ
うに、Dフリップフロップ42の実現に用いられる。ビ
ット4とビット5の2ビットでDフリップフロップ42
のイネーブル入力を選択するマルチプレクサ44のプロ
グラムを行う。ビット8〜ビット10の3ビットでDフ
リップフロップ42のデータ入力を選択するマルチプレ
クサ43のプログラムを行う。ビット11〜ビット14
の4ビットでマルチプレクサ41の各出力の選択を行
う。
【0081】図7は、本発明における論理セルの一実施
例として、プログラマブルスイッチの機能を提供すると
きの論理セル1の構成を示す図である。図7において、
他の機能の提供に関する部分については省略している。
【0082】図7を参照すると、論理セル1の出力を選
択するマルチプレクサ41、バス線C3、C4からの入
力を選択するマルチプレクサ44、及びバス線同士の接
続をプログラムするスイッチ45から構成される。
【0083】マルチプレクサ44は、2つのバス線から
の入力と固定値1の3つの入力から1つを選択し、マル
チプレクサ41へ出力する。
【0084】マルチプレクサ41は、マルチプレクサ4
4の出力または隣接する4つの論理セルのうちの3つの
論理セルからの3つの入力のいずれかを選択して、隣接
する4つの論理セルへの出力を決定する。
【0085】スイッチ45は、2つのバス線同士の接続
をプログラムする。これにより、論理セル1は隣接する
論理セル間の配線やバス線からの入力のプログラムを行
うスイッチの機能を提供する。
【0086】マルチプレクサ41、44、及びスイッチ
45のプログラムは、15ビットのメモリにより制御さ
れる。図11に、本実施例における、プログラムスイッ
チの機能を提供するときのメモリの割り当ての一例を示
す。
【0087】図11を参照して、ビット0〜ビット2が
論理“0”のときに、論理セル1はプログラマブルスイ
ッチの機能を提供する。またビット3とビット6の2ビ
ット(B1、B2)でバス線間の接続のプログラムを行
うスイッチ45をプログラムする。そしてビット4とビ
ット5の2ビットでマルチプレクサ44をプログラム
し、2つのバス線、論理“1”のうちのいずれをマルチ
プレクサ41に出力するかを選択する。さらにビット7
〜ビット14の8ビットでマルチプレクサ41のプログ
ラムを行う。隣接する論理セルからの3つの入力または
マルチプレクサ44の出力のうち、いずれを出力するか
を選択する。
【0088】図8は、本発明における論理セルの一実施
例として、実施例においてバスドライバの機能を提供す
るときの、論理セル1の構成を示す図である。図8にお
いて、他の機能の提供に関する部分については省略して
いる。
【0089】図8を参照すると、バスドライバ46、バ
ス線C3、C4への出力を選択するセレクタ40、バス
ドライバ46のイネーブル信号を選択するマルチプレク
サ43、47、バス線からの入力を選択するマルチプレ
クサ44、論理セル1の出力を選択するマルチプレクサ
41より構成される。
【0090】セレクタ40は、隣接する4つの論理セル
1からの4つの入力から、バス線へ出力する信号を選択
する。マルチプレクサ43、は隣接する4つの論理セル
1からの4つの入力、2つのバス線、固定値“1”、固
定値“0”の8つの入力からバスドライバ46の出力イ
ネーブル信号を選択し、マルチプレクサ47へ出力す
る。マルチプレクサ47はマルチプレクサ43の出力ま
たは固定値“0”の2つの入力から、バスドライバ46
の出力イネーブル信号を選択し、バスドライバ46へ出
力する。
【0091】バスドライバ46は、セレクタ40からの
信号を、マルチプレクサ47からの出力イネーブル信号
に従って、バス線C3、C4へ出力する。
【0092】マルチプレクサ44は、2つのバス線C
3、C4からの入力をマルチプレクサ41へ出力する。
マルチプレクサ41は、各出力NO、SO、EO、WO
へマルチプレクサ44の出力か、または各出力の反対側
からの入力をそのまま出力するかを選択する。
【0093】これにより、論理セル1は、バスドライ
バ、バス線からの入力及び論理セル1をそのまま通過す
る配線の機能を提供する。
【0094】図12に、本発明における論理セルの一実
施例として、論理セル1がバスドライバの機能を提供す
るときのメモリの割り当ての一例を示す。
【0095】図12を参照すると、ビット0とビット1
が論理“0”、かつビット2が論理“1”のとき、論理
セル1はバスドライバの機能を提供する。ビット3とビ
ット5はそれぞれマルチプレクサ47をプログラムし、
バスドライバ46のイネーブル信号を選択する。ビット
4でマルチプレクサ44をプログラムし、マルチプレク
サ41へ出力するバス線を選択する。ビット6とビット
7の2ビットでセレクタ40をプログラムし、バス線へ
出力する信号を選択する。ビット8〜ビット10でマル
チプレクサ43をプログラムし、バスドライバ46のイ
ネーブル信号を選択する。ビット11〜ビット14の4
ビットでマルチプレクサ41の各出力の選択を行う。
【0096】上記のように、ルックアップ・テーブルの
機能を提供する場合、フリップフロップの機能を提供す
る場合、プログラマブルスイッチの機能を提供する場
合、及びバスドライバの機能を提供する場合で、プログ
ラム情報を記憶する15ビットのメモリを共有する。
【0097】どの機能を提供するかは、図9〜図12に
示したように、ビット0〜ビット2の値により選択さ
れ、これにより、残りのビットの意味解釈を変えること
で、共有を実現している。
【0098】また、上記実施例においては、メモリの共
有に加えて、マルチプレクサなどの共有も行っている。
図5〜図8において、同一の符号を付した部分は、各機
能提供の場合において共有している部分である。これに
より、FPGA上にマッピングされる回路が必要とする
回路機能が偏っていても、メモリ、マルチプレクサ等の
ハードウェア資源を有効的に利用することができる。
【0099】
【発明の効果】以上説明したように、本発明によれば、
論理セルは、ルックアップ・テーブルやフリップフロッ
プ、配線スイッチなどの機能をプログラムするメモリや
マルチプレクサなどを共有することにより、FPGA上
にマッピングする回路が必要とするハードウェア資源の
量が偏っていても、ハードウェア資源を有効に利用する
ことを可能とするという効果を奏する。このため、本発
明によれば、マッピングする回路の構成によらず、FP
GAの論理セルの利用効率を向上させることができる。
【0100】また、本発明によれば、フリップフロップ
とプログラム情報を記憶するメモリを共有することによ
り、任意のフリップフロップに記憶された値を読み書き
することができ、FPGA上にマッピングされた回路の
テストやデバッグを容易化するという効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施の形態の論理セルを示すブロック
図である。
【図2】本発明の実施の形態の論理セルの詳細な構成を
示す図である。
【図3】本発明の実施の形態の論理セルアレイの構成を
示す図である。
【図4】本発明の一実施例の論理セルアレイの構成を示
す図である。
【図5】本発明の一実施例を説明するための図であり、
ルックアップ・テーブルの機能を提供するときの論理セ
ルの構成を示す図である。
【図6】本発明の一実施例を説明するための図であり、
フリップフロップの機能を提供するときの論理セルの構
成を示す図である。
【図7】本発明の一実施例を説明するための図であり、
プログラマブルスイッチの機能を提供するときの論理セ
ルの構成を示す図である。
【図8】本発明の一実施例を説明するための図であり、
バスドライバの機能を提供するときの論理セルの構成を
示す図である。
【図9】本発明の一実施例を説明するための図であり、
ルックアップ・テーブルの機能を提供するときの論理セ
ルのメモリ割り当てを示す図である。
【図10】本発明の一実施例を説明するための図であ
り、フリップフロップの機能を提供するときの論理セル
のメモリ割り当てを示す図である。
【図11】本発明の一実施例を説明するための図であ
り、プログラマブルスイッチの機能を提供するときの論
理セルのメモリ割り当てを示す図である。
【図12】本発明の一実施例を説明するための図であ
り、バスドライバの機能を提供するときの論理セルのメ
モリ割り当てを示す図である。
【図13】本発明の一実施例を説明するための図であ
り、Dラッチの回路構成の一例を示す図である。
【図14】本発明の一実施例を説明するための図であ
り、Dフリップフロップの実現例の回路を示す図であ
る。
【図15】従来のFPGAの論理セルアレイの構成を示
す図である。
【図16】従来のFPGAの論理セルの構成を示す図で
ある。
【符号の説明】
1 論理セル 4 メモリ 5 ルックアップ・テーブル 6 フリップフロップ 7 プログラマブルスイッチ 8 論理セルアレイ 30、31、41、43、44、47 マルチプレクサ 40 セレクタ 42 Dフリップフロップ 46 バスドライバ C3、C4 バス線 C10、C11 ビット線 C12 ワード線

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】複数のプログラマブルな論理セルより構成
    されるプログラマブル論理回路において、 前記論理セルが提供する各回路機能をプログラムするプ
    ログラム情報を、前記論理セルが内蔵する記憶手段に記
    憶する際に、前記記憶手段を各回路機能で共有して用い
    るように構成されてなることを特徴とする論理回路。
  2. 【請求項2】前記論理セルが同時に提供できる回路機能
    を1つに限定することで、前記記憶手段の共有を可能と
    したことを特徴とする請求項1記載の論理回路。
  3. 【請求項3】前記論理セルが、該論理セルが提供する機
    能について、各機能を実現する回路の出力を、前記記憶
    手段の予め定められた所定部分の状態により、制御され
    る選択手段によって選択出力する、ことを特徴とする請
    求項1又は2記載の論理回路。
  4. 【請求項4】前記記憶手段の共有に加えて、前記論理セ
    ルの各機能の実現に使用される回路資源の共有を行う、
    ようにしたことを特徴とする請求項1〜3のいずれか一
    に記載の論理回路。
  5. 【請求項5】前記記憶手段がメモリを備えて構成される
    ことを特徴とする請求項1〜4のいずれか一に記載の論
    理回路。
  6. 【請求項6】前記論理セルがその提供する機能として、
    少なくともルックアップ・テーブルの機能、フリップフ
    ロップの機能、及びプログラマブルスイッチの機能を含
    むことを特徴とする請求項1〜4のいずれか一に記載の
    論理回路。
  7. 【請求項7】前記論理セルが、該論理セル含むフリップ
    フロップの機能を実現する回路と、プログラム情報を記
    憶するメモリを実現する回路を、共有したことを特徴と
    する請求項5又は6記載の論理回路。
  8. 【請求項8】前記プログラム情報を記憶するメモリがS
    RAMのメモリ構成を含み、 D型フリップフロップに、前記SRAMのインターフェ
    ースを付加し、これにより前記回路の共有を可能とした
    ことを特徴とする請求項7記載の論理回路。
  9. 【請求項9】前記論理セルが、少なくともルックアップ
    ・テーブルの機能、フリップフロップの機能、プログラ
    マブルスイッチの機能、及びバスドライバ機能を含み、
    メモリ、マルチプレクサ、及びセレクタなどの各機能を
    実現する回路を、共有して用いることを特徴とする請求
    項5〜8のいずれか一に記載の論理回路。
JP26521996A 1996-09-13 1996-09-13 プログラマブル論理回路 Expired - Fee Related JP3390311B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26521996A JP3390311B2 (ja) 1996-09-13 1996-09-13 プログラマブル論理回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26521996A JP3390311B2 (ja) 1996-09-13 1996-09-13 プログラマブル論理回路

Publications (2)

Publication Number Publication Date
JPH1093422A true JPH1093422A (ja) 1998-04-10
JP3390311B2 JP3390311B2 (ja) 2003-03-24

Family

ID=17414187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26521996A Expired - Fee Related JP3390311B2 (ja) 1996-09-13 1996-09-13 プログラマブル論理回路

Country Status (1)

Country Link
JP (1) JP3390311B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424171B1 (en) 1998-10-30 2002-07-23 Nec Corporation Base cell and two-dimensional array of base cells for programmable logic LSI
CN100465970C (zh) * 2005-11-17 2009-03-04 大同股份有限公司 可用于非同步电路设计的可程序化逻辑电路
US8098080B2 (en) 2008-02-29 2012-01-17 Renesas Electronics Corporation Semiconductor programmable device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424171B1 (en) 1998-10-30 2002-07-23 Nec Corporation Base cell and two-dimensional array of base cells for programmable logic LSI
CN100465970C (zh) * 2005-11-17 2009-03-04 大同股份有限公司 可用于非同步电路设计的可程序化逻辑电路
US8098080B2 (en) 2008-02-29 2012-01-17 Renesas Electronics Corporation Semiconductor programmable device
US8674722B2 (en) 2008-02-29 2014-03-18 Renesas Electronics Corporation Semiconductor programmable device

Also Published As

Publication number Publication date
JP3390311B2 (ja) 2003-03-24

Similar Documents

Publication Publication Date Title
US5850151A (en) Programmable logic array intergrated circuit devices
EP0824792B1 (en) Floor plan for scalable multiple level interconnect architecture
JP3269526B2 (ja) プログラマブルロジックlsi
US6300793B1 (en) Scalable multiple level tab oriented interconnect architecture
US6184712B1 (en) FPGA configurable logic block with multi-purpose logic/memory circuit
US5177706A (en) Semiconductor memory device having a plurality of ports
JPH09509797A (ja) プログラマブル論理デバイスに於ける特定用途向けモジュール
JP2004536487A (ja) リーク電流を減少させたバッファ回路及びフィールドプログラマブルデバイスにおいてリーク電流を減少させる方法
US6462576B1 (en) Programmable logic device
JPWO2014163099A1 (ja) 再構成可能な論理デバイス
JP3351452B2 (ja) プログラマブルゲートアレイ
US6556502B2 (en) Memory circuitry for programmable logic integrated circuit devices
JP3390311B2 (ja) プログラマブル論理回路
JPH09307428A (ja) 可変論理集積回路
US7132850B2 (en) Semiconductor integrated circuit and circuit design apparatus
JP2004335686A (ja) 高速低消費電力論理装置
JPH104345A (ja) フィールドプログラマブルゲートアレイ
CN116741230A (zh) 可编程逻辑电路、动态改写可编程逻辑电路的方法和装置
JP2004072353A (ja) 半導体装置
JP2000049591A (ja) 書き換え可能な論理回路
US20030214323A1 (en) General-purpose logic cell, general-purpose logic cell array using the same, and ASIC using general-purpose logic cell array
GB2333873A (en) Programmable logic array

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990406

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080117

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090117

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100117

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110117

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110117

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120117

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130117

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130117

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees