JP3938308B2 - Programmable logic device - Google Patents

Programmable logic device Download PDF

Info

Publication number
JP3938308B2
JP3938308B2 JP2001399326A JP2001399326A JP3938308B2 JP 3938308 B2 JP3938308 B2 JP 3938308B2 JP 2001399326 A JP2001399326 A JP 2001399326A JP 2001399326 A JP2001399326 A JP 2001399326A JP 3938308 B2 JP3938308 B2 JP 3938308B2
Authority
JP
Japan
Prior art keywords
configuration
output
configuration information
logic
flip
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
Application number
JP2001399326A
Other languages
Japanese (ja)
Other versions
JP2003198361A5 (en
JP2003198361A (en
Inventor
昇一 桝井
道也 大浦
鼓 二野宮
亘 横関
健二 向田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001399326A priority Critical patent/JP3938308B2/en
Priority to US10/327,653 priority patent/US6924663B2/en
Priority to DE60239588T priority patent/DE60239588D1/en
Priority to EP02258967A priority patent/EP1324495B1/en
Priority to KR1020020085896A priority patent/KR20030057487A/en
Publication of JP2003198361A publication Critical patent/JP2003198361A/en
Publication of JP2003198361A5 publication Critical patent/JP2003198361A5/ja
Application granted granted Critical
Publication of JP3938308B2 publication Critical patent/JP3938308B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明はプログラマブル論理デバイスに関し、特に論理状態を任意に規定するための情報(以下、コンフィギュレーション情報と呼ぶ)を蓄積するコンフィギュレーションメモリとして不揮発性の強誘電体メモリを使用し、単一のLSI(Large-Scale Integration)だけでなく、単一のLSI上に搭載された1個のプログラマブル論理ブロックとして利用が可能なプログラマブル論理デバイスに関する。
【0002】
【従来の技術】
プログラマブル論理デバイスは、その基本構成要素として、ルックアップテーブルと呼ばれるメモリあるいはマルチプレクサあるいは基礎的なゲート、および、フリップフロップで構成される論理ブロックと、内部配線を規定することができるプログラマブル配線と、入出力状態を規定するプログラマブルI/O(Input/Output)ブロックとを有し、さらに、論理ブロックの論理動作、プログラマブル配線の結線およびプログラマブルI/Oブロックの入出力状態を規定するコンフィギュレーション情報を蓄積しているコンフィギュレーションメモリを有している。
【0003】
一般的に、プログラマブル論理デバイスには下記の3つのカテゴリが存在している。
第1は、ルックアップテーブルと呼ばれるメモリとマルチプレクサ、あるいは基礎的なゲート、および、フリップフロップで構成される論理ブロックと、プログラマブル配線、および、プログラマブルI/Oブロックを持ち、電源が遮断された後にコンフィギュレーション情報が消失するものである。
【0004】
第2は、ルックアップテーブルと呼ばれるメモリとマルチプレクサ、あるいは基礎的なゲート、および、フリップフロップで構成される論理ブロックと、プログラマブル配線、および、プログラマブルI/Oブロックを持ち、電源が遮断された後にコンフィギュレーション情報が消失しないものである。
【0005】
第3は、プログラマブル論理アレイを基本とする論理ブロックを持ち、電源が遮断された後にコンフィギュレーション情報が消失しないものである。
ここで、第1のカテゴリに属するプログラマブル論理デバイスとして、コンフィギュレーションメモリに、SRAM(Static Random Access Memory)型のメモリを使用した例が公知である(米国特許第4642487号)。
【0006】
このSRAM型メモリセルを利用したプログラマブル論理デバイスでは、電源を遮断した際に、SRAM型メモリセルに蓄積されたコンフィギュレーション情報が消失するため、電源が遮断された後も、コンフィギュレーション情報を蓄積することができるような不揮発メモリにコンフィギュレーション情報を蓄積しておくことが必要になる。そのため、SRAM型メモリセルを用いたプログラマブル論理デバイスでは、電源が遮断された後も、プログラマブル論理デバイスの動作を規定するコンフィギュレーション情報を記憶しておくために、このデバイスの外部に不揮発性のメモリ、例えばPROM(Programmable Read-Only Memory)やEPROM(Erasable Programmable Read-Only Memory)を設置して、電源が印加された際には、これらのPROM、EPROMからコンフィギュレーション情報を読み出すようにしている。
【0007】
プログラマブル論理デバイスのコンフィギュレーション情報が、電源電圧の遮断とともに消失してしまうということに対して第2のカテゴリに属するプログラマブル論理デバイスが提案されている。このプログラマブル論理デバイスでは、コンフィギュレーション情報を強誘電体メモリやMRAM(Magnetic Random Access Memory)などの不揮発性メモリに蓄積するようにしている。ここで、一例としては、強誘電体メモリを使用したプログラマブル論理デバイスが公知である(特許第3121862号)。強誘電体メモリは、PROM、EPROM、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリといった高耐圧トランジスタを必要とする不揮発メモリでは実現不可能な、高速性を実現できるため、プログラマブル論理デバイスには特に望ましい技術である。
【0008】
第3のカテゴリに属するプログラマブル論理デバイスとしては、コンフィギュレーションメモリが第2のカテゴリに属するプログラマブル論理デバイスと同じ不揮発性であるが、コンフィギュレーションメモリにEPROM、EEPROM、フラッシュメモリを使用している。この第3のカテゴリに属するプログラマブル論理デバイスは、例えば、Stephen D. Brown et al., “Field Programmable Gate Arrays,” [Kluwar Academic Publishers] に詳細な説明がなされており、CPLD(Complex Programmable Logic Device)と称されて、第2のカテゴリに属するプログラマブル論理デバイスと区別されている。なお、EPROM、EEPROM、フラッシュメモリが第2のカテゴリに属するプログラマブル論理デバイスに使用されない理由は、高速性が得られないためである。
【0009】
なお、本発明が対象としているのは、第1および第2のカテゴリに属するプログラマブル論理デバイスであり、これらは、一般的に、FPGA(Field Programmable Gate Array)と総称されている。
【0010】
従来のFPGAの欠点は、単位面積当たりに得られる論理ゲートの数が少ないことである。本欠点を補うために、複数のコンフィギュレーション情報を蓄積できるアーキテクチャが検討されており、これは、FPGAと区別するためDPGA(Dynamically Programmable Gate Array)と呼称されている(A. DeHon, “Dynamically Programmable Gate Arrays: A Step Toward Increased Computational Density,” Fourth Canadian Workshop of Field-Programmable Devices, 1996)。このDPGAでは、コンフィギュレーションメモリにDRAM(Dynamic Random-Access Memory)が採用されており、したがって、このDPGAは、コンフィギュレーション情報が電源電圧の遮断とともに消去されてしまうので、第1のカテゴリに属するプログラマブル論理デバイスである。なお、このDPGAでは、複数のコンフィギュレーション情報を切り換えて使用することにより、少ない論理ゲートを見かけ上増やすことができるが、上記のDPGAに関する文献には、各コンフィギュレーション情報の切り換え手法に関する記述はない。
【0011】
また、プログラマブル論理デバイスでは、電源立ち上げ時にコンフィギュレーション情報が未設定の場合には、本来接続されるべきではない配線が接続されてしまうことがある。このとき、この配線が別々のドライバによって異なる論理状態に駆動されると、配線上の電圧が不安定(配線信号のコンフリクト)になり、大きな電流消費を生じる可能性がある。この対策として、毎回電源を立ち上げ、コンフィギュレーション情報を書き込む前に、論理プロックの出力ドライバをディスエーブルする手法がとられている(P. Chow et al., IEEE Transaction on Very Large Scale Integration Systems, vol. 7, No. 3, pp. 321-330, September 1999)。
【0012】
【発明が解決しようとする課題】
しかしながら、従来のプログラマブル論理デバイスでは以下のような問題があった。
【0013】
まず、従来のプログラマブル論理デバイスでは、単位面積あたりの論理ゲートの数が小さく、かつ、コンフィギュレーション情報が、電源が遮断されたときに消失してしまう。このため、プログラマブル論理デバイスを使うには、プログラマブル論理デバイスおよび不揮発性メモリの少なくとも2つのチップが必要であり、デバイス点数の増加によるコスト増加や、ボード面積の増大という問題を生じていた。
【0014】
また、コンフィギュレーションメモリに強誘電体メモリを使用した特許第3121862号に提示のプログラマブル論理デバイスにおいては、電源立ち上がり時の強誘電体メモリのデータリコールおよび電源遮断時のデータストアを正常に行えない場合があり、せっかくの不揮発メモリに蓄積されたコンフィギュレーション情報を破壊してしまう可能性があった。
【0015】
さらに、コンフィギュレーション情報がロードされる以前は、コンフィギュレーションメモリ内のデータが不定値であるため、配線信号のコンフリクトなどが発生して回路動作が不安定になることがある。
【0016】
また、通常は、コンフィギュレーションメモリにコンフィギュレーション情報を書き込んでから動作を開始するが、そのコンフィギュレーション情報の書き込みに時間がかかっており、コンフィギュレーション情報の書き込み時間の短縮が望まれている。
【0017】
さらに、従来のプログラマブル論理デバイスでは、セキュリティの点に関して何ら対策がとられていないため、コンフィギュレーション情報の盗難や書き換えが可能であることから、認証されない者が不正使用できないようにすることが望まれている。
【0018】
本発明はこのような点に鑑みてなされたものであり、単位面積あたりの論理ゲートの数が小さく、かつ、コンフィギュレーション情報が、電源が遮断されたときに消失してしまわないこと、強誘電体メモリを使用したプログラマブル論理デバイスにおいて、電源の立ち上がり時、あるいは、遮断時におけるコンフィギュレーションメモリのデータが破壊しないこと、コンフィギュレーション情報がロードされる以前に、回路動作が不安定にならないこと、コンフィギュレーション情報の書き込みに時間がかからないこと、およびプログラマブル論理デバイスにおける、コンフィギュレーション情報の盗難や書き換え、認証されないものの不正使用を防止できるようにしたプログラマブル論理デバイスを提供することを目的とする。
【0019】
【課題を解決するための手段】
図1は上記目的を達成する本発明の原理図である。
本発明によるプログラマブル論理デバイスは、各種論理機能を実現できる論理ブロック1と、結線状態を変更できるプログラマブル配線2と、入出力状態を変更できるプログラマブルI/Oブロック3と、これら論理ブロック1、プログラマブル配線2およびプログラマブルI/Oブロック3の動作を規定するコンフィギュレーション情報を蓄積する強誘電体メモリ4,5,6と、強誘電体メモリ4,5,6に蓄積された複数のコンフィギュレーション情報の1つを論理ブロック1、プログラマブル配線2およびプログラマブルI/Oブロック3にそれぞれ設定する情報選択手段7,8,9とを備えている。
【0020】
コンフィギュレーション情報を蓄積するコンフィギュレーションメモリとして不揮発性を持つ各強誘電体メモリ4,5,6を使用したことにより、外部に別チップの不揮発性メモリを有する必要がなく、デバイス点数の増加によるコスト増加や、ボード面積の増大という問題を解消することができる。
また、論理ブロック1は、組み合わせ論理回路ブロックと、組み合わせ論理回路ブロックの出力状態を蓄積するフリップフロップと、組み合わせ論理回路ブロックの出力およびフリップフロップの出力を入力しコンフィギュレーション情報によって組み合わせ論理回路ブロックの出力またはフリップフロップの出力を選択して出力するマルチプレクサとを備え、フリップフロップは、コンフィギュレーション情報によってマルチプレクサの出力としてフリップフロップの出力が選択された場合にイネーブル状態にし、コンフィギュレーション情報によってマルチプレクサの出力として組み合わせ論理回路ブロックの出力が選択された場合にディセーブル状態にする、コンフィギュレーションメモリに接続されたイネーブル端子を有する構成としたことで、コンフィギュレーションメモリに蓄積されたコンフィギュレーション情報に基づき、コンフィギュレーション情報を切り替える前の情報をフリップフロップに蓄積することができる。すなわち、ディセーブル状態では、マルチプレクサは現在の論理動作を出力し、フリップフロップは以前の動作状態での計算結果を蓄積できる。
【0021】
また、各強誘電体メモリ4,5,6は、複数のコンフィギュレーション情報を有し、これら複数のコンフィギュレーション情報を、論理ブロック1で発生した制御信号、あるいは、プログラマブル論理デバイスの外部から供給された制御信号を受ける情報選択手段7,8,9が選択して論理ブロック1、プログラマブル配線2およびプログラマブルI/Oブロック3の構成を規定する。これにより、1つの論理ブロック1、プログラマブル配線2およびプログラマブルI/Oブロック3で、複数種の論理動作が実現可能になり、単位面積あたりの論理ゲートの数が小さくても、論理ゲートの数を実質的に大きくすることが可能になる。
【0022】
本発明のプログラマブル論理デバイスでは、電源の立ち上げ、および、遮断時に強誘電体メモリ4,5,6に蓄積されたコンフィギュレーション情報の破壊が生じない回路にしている。つまり、プログラマブル論理デバイスに、電源電圧の検出回路を持ち、電源が立ち上がる際には、まず初めに電源電圧が強誘電体メモリ4,5,6への制御信号の印加や、データリコール動作の実行に必要な電圧以上になったことを検知した後、電源電圧が所定の電圧以上になった場合は、強誘電体メモリ4,5,6が誤再生されない制御電圧と電源の印加を行い、これらシーケンスの実行後にプログラマブル論理デバイスの論理動作を開始する。
【0023】
また、電源が遮断される際には、まず初めに電源電圧が所定の値以下になったことの検知を行い、強誘電体メモリ4,5,6の電源が遮断された後も、それに書き込まれた情報が、短期、あるいは、長期的に破壊されることがないような制御信号の印加による書き込みを実行する。
【0024】
また、本発明のプログラマブル論理デバイスでは、論理状態を規定するコンフィギュレーション情報を書き込み済みか、否かの情報を、強誘電体メモリに蓄積するようにしている。これにより、コンフィギュレーションが未実施の場合に、配線信号のコンフリクトなどの動作の不安定性を取り除くことができる。
【0025】
さらに、本発明のプログラマブル論理デバイスでは、複数のコンフィギュレーション情報をコンフィギュレーションメモリに書き込まなければならないが、複数のデータストリームによって同時に書き込みすることを可能とする。また、特定の論理動作を実行中に、バックグラウンドでコンフィギュレーション情報を変更可能とする。これにより、コンフィギュレーション情報の書き込み時間を短縮することができる。
【0026】
また、本発明のプログラマブル論理デバイスでは、不揮発性を持つ強誘電体メモリに各デバイスに固有の情報を蓄積することができるようにしている。これにより、コンフィギュレーション情報の書き込みまたは読み出しを実行する際に、プログラマブル論理デバイス内に蓄積された固有の情報との認証を行い、認証結果が正しい場合にのみ、書き込みまたは読み出しが可能となり、コンフィギュレーション情報の盗難や書き換えを防止することができる。また、論理動作を実行する際、プログラマブル論理デバイス内に蓄積された固有の情報との認証を行い、認証結果が正しい場合にのみ、論理動作を実行可能とすることで、不正使用を防止することができる。
【0027】
【発明の実施の形態】
まず、本発明の概略について図面を参照して説明する。
図1は本発明によるプログラマブル論理デバイスの原理的な構成を示す図である。
【0028】
本発明によるプログラマブル論理デバイスは、各種論理機能を実現できる論理ブロック1と、結線状態を変更できるプログラマブル配線2と、入出力状態を変更できるプログラマブルI/Oブロック3と、これら論理ブロック1、プログラマブル配線2およびプログラマブルI/Oブロック3の動作を規定するコンフィギュレーション情報を蓄積する強誘電体メモリ4,5,6と、強誘電体メモリ4,5,6に蓄積された複数のコンフィギュレーション情報の1つを論理ブロック1、プログラマブル配線2およびプログラマブルI/Oブロック3にそれぞれ設定する情報選択手段7,8,9とを備え、それぞれ複数個組み合わされて1つのDPGAあるいはFPGA用LSIを構成している。
【0029】
強誘電体メモリ4,5,6は、コンフィギュレーション情報を蓄積する不揮発性のコンフィギュレーションメモリとして利用している。コンフィギュレーション情報をLSI内部の不揮発メモリに蓄積する構成にしたことにより、従来、FPGAに必要であった外付けのPROM、EEPROMを除去することが可能になり、安価なボードシステムを実現することができる。
【0030】
また、各強誘電体メモリ4,5,6は、複数のコンフィギュレーション情報を有し、これら複数のコンフィギュレーション情報を、論理ブロック1で発生した制御信号、あるいは、プログラマブル論理デバイスの外部から供給された制御信号を受ける情報選択手段7,8,9が選択して論理ブロック1、プログラマブル配線2およびプログラマブルI/Oブロック3の構成を規定する構成にした。複数のコンフィギュレーション情報を1つのLSI上に実装したことにより、1つの論理ブロック1、プログラマブル配線2およびプログラマブルI/Oブロック3で、複数種の論理動作が実現可能になり、単位面積あたりの論理ゲートの数が小さくても、論理ゲートの数を実質的に大きくすることができ、より効率的な論理ゲートが実現可能になる。
【0031】
また、プログラマブル論理デバイスの論理ブロック1は、組み合わせ論理回路ブロック(ルックアップテーブル)、フリップフロップおよびマルチプレクサで構成し、このフリップフロップにはイネーブル端子を持たせ、このイネーブル端子に供給するイネーブル信号とマルチプレクサの出力選択信号とを同時に制御することによって、論理ブロック1をより有効に活用できる。
【0032】
さらに、強誘電体メモリ4,5,6をリードオンリーメモリとすることで、小さな面積で論理ブロックに必要とされるデータの提供が可能となる。このリードオンリーメモリのアドレス空間を、異なるコンテキストでも読み出せるような回路を付加することによって、さらに自由度の高い構成にすることができる。
【0033】
本発明のプログラマブル論理デバイスでは、電源の立ち上げ、および、遮断時に強誘電体メモリ4,5,6に蓄積されたコンフィギュレーション情報の破壊が生じない回路構成にしている。つまり、プログラマブル論理デバイスに、電源電圧の検出回路を持ち、電源が立ち上がる際には、まず初めに電源電圧が強誘電体メモリ4,5,6への制御信号の印加や、データリコール動作の実行に必要な電圧以上になったことを検知した後、電源電圧が所定の電圧以上になった場合は、強誘電体メモリ4,5,6が誤再生されない制御電圧と電源の印加を行い、これらシーケンスの実行後にプログラマブル論理デバイスの論理動作を開始する。
【0034】
また、電源が遮断される際には、まず初めに電源電圧が所定の値以下になったことの検知を行い、強誘電体メモリ4,5,6の電源が遮断された後も、それに書き込まれた情報が、短期、あるいは、長期的に破壊されることがないような制御信号の印加による書き込みを実行してから電源を遮断する。
【0035】
このように、強誘電体メモリ4,5,6の電源が立ち上がる時、あるいは、電源が遮断される時に、強誘電体メモリ4,5,6に印加される制御電圧を適切に制御することによって、コンフィギュレーション情報の破壊をなくし、安定したLSI動作を可能とする。
【0036】
また、本発明のプログラマブル論理デバイスでは、論理状態を既定するコンフィギュレーション情報を書き込み済みか、否かの情報を、強誘電体メモリに蓄積するようにしている。これにより、コンフィギュレーション情報の書き込み前における配線のコンフリクト、あるいは、周辺論理回路の動作不安定性をなくすことができる。
【0037】
さらに、本発明のプログラマブル論理デバイスでは、複数のコンフィギュレーション情報を強誘電体メモリ4,5,6に書き込まなければならないが、この複数のコンフィギュレーション情報を、複数のデータストリームによって同時に書き込みできるように構成している。また、特定の論理動作を実行中に、バックグラウンドでコンフィギュレーション情報を変更できるように構成している。複数のデータパスを設けることによってコンフィギュレーション情報の書き込みが高速化され、また論理実行中の書き込みを可能とすることによって、デバイス中の実効的な論理ゲート数を増加させることができる。
【0038】
最後に、本発明のプログラマブル論理デバイスでは、不揮発性を持つ強誘電体メモリに固有の情報を蓄積できる構成にしている。これにより、コンフィギュレーション情報の書き込みまたは読み出しを実行する際に、プログラマブル論理デバイス内に蓄積された固有の情報との認証を行い、認証結果が正しい場合にのみ、書き込みまたは読み出しが可能となるため、コンフィギュレーション情報の盗難や書き換えを防止することができる。また、論理動作を実行する際に、プログラマブル論理デバイス内に蓄積された固有の情報との認証を行い、認証結果が正しい場合にのみ、論理動作を実行可能とすることで、認証されない者の不正使用を防止することができる。
【0039】
次に、本発明の実施の形態を、プログラマブル論理デバイスのLSIに適用した場合を例に詳細に説明する。
図2は強誘電体メモリを使用したプログラマブル論理デバイスの全体回路を例示した模式図である。
【0040】
図示のプログラマブル論理デバイス10は、その中央部にマトリックス状に配置されてそれぞれ所望の組み合わせ論理回路を構成することができる複数の論理ブロックアレイ11を備えている。これら論理ブロックアレイ11の周囲には、所望の結線を自由に行うことができる複数のプログラマブル配線(PIC)12が配置されている。LSIチップの外周には、LSIの外部端子に対応して設けられたパッドに対して信号入力とするか信号出力とするかを設定できる複数のプログラマブルI/Oブロック13が配置され、その内側には、コンフィギュレーションメモリで構成されたリードオンリーメモリ14が配置されている。このコンフィギュレーションメモリが強誘電体メモリで構成されている。
【0041】
次に、各構成要素の詳細について説明する。
図3は論理ブロックアレイをより詳細に示した模式図例である。
論理ブロックアレイ11は、複数の、図示の例では、16個の論理ブロック21と、メモリ制御回路22とで構成される。それぞれの論理ブロック21は、図3の左側に示されるように、強誘電体メモリセルで作られた複数の、図示の例では、8つのコンフィギュレーションメモリ230〜237と、このコンフィギュレーションメモリ230〜237にコンフィギュレーション情報を書き込むロード回路24と、論理的なブロックを構成する4入力ルックアップテーブル25およびフリップフロップおよび出力マルチプレクサ26とで構成される。
【0042】
ロード回路24は、たとえば17ビットのシフトレジスタから構成され、外部から供給されたコンフィギュレーション情報を1ビットずつシフトし、シフトが終了したら蓄積されたコンフィギュレーション情報をコンフィギュレーションメモリ230に書き込む。このロード回路24による書き込みは、8番目のコンフィギュレーションメモリ237に書き込むまで順次繰り返して行われる。
【0043】
8つのコンフィギュレーションメモリ230〜237を備えていることにより、例えば最初に使用されるコンフィギュレーション情報を最初のコンフィギュレーションメモリ230に書き込むようにすれば、書き込み終了時点でそのコンフィギュレーション情報によって規定された論理動作を直ちに実行することができ、その動作中に残りのコンフィギュレーション情報をバックグラウンドで書き込むようにすることができるので、書き込み時間および起動時間を短縮できる利点がある。
【0044】
図4は4入力ルックアップテーブルの構成例を示す図である。
4入力ルックアップテーブル25は、原理的には図3に示すように、合計で8種類の論理動作に対応可能なコンフィギュレーションメモリ230〜237から供給される16ビットのメモリ27と、16対1のマルチプレクサ28とで構成される。16ビットのメモリ27は、SRAM型セルまたは強誘電体メモリセルで構成することができる。マルチプレクサ28は、16ビットのメモリ27の出力のうちの1つを選択する機能を有し、論理ブロック入力となる4つの入力A,B,C,Dを有している。
【0045】
ここで、16ビットのメモリ27の内容を変更することにより、ANDゲート、NANDゲート、反転入力付きANDゲート、ORゲート、NORゲート、排他的論理和ゲート、AND−ORゲートなどの組み合わせ論理回路が構成できる。例えば、コンフィギュレーションメモリ230において、入力がすべて1の際に出力が1で、それ以外の入力が0となるような内容が供給されていれば、4入力ルックアップテーブル25を、4入力ANDとしての動作を実行するように設定できる。また、コンフィギュレーションメモリ231に切り換えられることによって4入力ORを実行するように設定したり、さらには、コンフィギュレーションメモリ232に切り換えられることにより2つの入力に対してA+Bという機能を実行するように設定したりできる。一般に、コンフィギュレーションメモリの大きさは、プログラマブル論理デバイス10の中で最も大きな領域を占める配線領域と比較して非常に小さいため、コンフィギュレーションメモリを増加することによる面積の増加分は、実質的な論理ゲートの増加分に比べて遥かに小さいために、この手法の採用が有利となる。
【0046】
図5はロード回路およびコンフィギュレーションメモリのより詳細な構成例を示す図である。
ロード回路24およびコンフィギュレーションメモリ230〜237は、コンフィギュレーション情報を転送するためのシフトレジスタ30と、このシフトレジスタ30からのデータを強誘電体メモリに書き込むための書き込み回路31と、強誘電体メモリセルアレイ32と、この強誘電体メモリセルアレイ32に書き込まれたデータを4入力ルックアップテーブル25に出力する出力バッファ33と、メモリの内容をシフトレジスタに読み出すことができる読み出しパス34で構成される。なお、出力バッファ33には、必要に応じてメモリ読み出し用のセンスアンプを備えていてもよい。
【0047】
ここでは、論理ブロック21のためのロード回路24およびコンフィギュレーションメモリ230〜237の構成を示したが、他のプログラマブル配線12およびプログラマブルI/Oブロック13におけるロード回路およびコンフィギュレーションメモリについても同じ構成をしている。プログラマブル配線12のコンフィギュレーションメモリでは、配線の結線の制御、プログラマブルI/Oブロック13では、I/Oポートの入出力制御に使用される。
【0048】
強誘電体メモリセルへの書き込みや、これらで構成されるコンフィギュレーションメモリを制御するため、強誘電体メモリセルアレイ32にはワード線WLとプレート線PLが、書き込み回路31には書き込み線WEが、図3で示した論理ブロックアレイ11の中のメモリ制御回路22に接続されている。なお、ワード線WLは、コンフィギュレーション情報の数(8個)と同じ数だけ用意されている。
【0049】
図6は強誘電体メモリセルの第1の構成例を示す回路図である。
この強誘電体メモリセルの第1の構成例によれば、トランジスタM1,M2およびトランジスタM3,M4は、それぞれインバータを構成し、それぞれが、クロスカップルに結合されることによって、メモリセルを構成する。トランジスタM1,M3のソースは、電源電圧PWRの線に接続され、トランジスタM2,M4のソースは、グランド電圧VSSの線に接続されている。これらインバータの出力には、それぞれトランジスタM5,M6が接続されている。これらのトランジスタM5,M6は、また、ビット線BL,XBLに接続されていて、蓄積された情報を外部に取り出したり、書き込みデータを取り入れたりするためのアクセストランジスタを構成している。トランジスタM5,M6のゲートは、ワード線WL[x](x:0〜7)に接続されている。なお、1ビットの非反転情報のみを取り出したい場合には、トランジスタM6は省略することができる。強誘電体キャパシタFC1,FC2は、その一方の端子がメモリセルのストレージノードS1,S2にそれぞれ接続され、他方の端子はプレート線PLに接続されている。このプレート線PLは、メモリセルへの書き込み制御を行い、同時に、データ保持状態でメモリセルの高い電圧が加わって、強誘電体の特性が劣化することを防ぐための制御を行うために使用される。なお、強誘電体キャパシタとしては、PZT(チタン酸ジルコン酸鉛)を主な組成とする強誘電体材料や、SBT(タンタル酸ビスマスストロンチウム)などのビスマス層状ペロブスカイト構造を持つ強誘電体材料が利用できる。
【0050】
図7は強誘電体メモリセルの第2の構成例を示す回路図である。この図7において、図6と同じ構成要素については同じ符号を付してある。
この強誘電体メモリセルの第2の構成例は、図6の構成例と類似しているが、強誘電体キャパシタFC3,FC4が追加され、ストレージノードS1,S2と対抗する電極として第2のプレート線PL2を設置している。この強誘電体キャパシタFC3,FC4が追加された強誘電体メモリセルは、図6の強誘電体メモリセルと比較して、電源を遮断した後の電源立ち上がり時に、強誘電体メモリセルに記憶していたデータを正しく読み出すことができるかを表すデータリコール特性が優れている。
【0051】
図8は強誘電体メモリの各動作における制御信号の状態を示す図である。
上記第1および第2の構成の強誘電体メモリセルの書き込み・読み出しの動作は、通常のSRAMと同様であり、異なるのは、プレート線PL(図7ではプレート線PL1,PL2)の設定である。
【0052】
まず、書き込み時には、書き込み線WEおよびワード線WLにHighの制御信号を印加し、プレート線PL(PL1,PL2)にHigh→Lowというパルス電圧を印加する。ここで、プレート線PL(PL1,PL2)にHigh→Lowというパルス電圧を印加するシーケンスを加えた点が通常のSRAMの動作と異なる。これによって、強誘電体キャパシタに所定の書き込み電圧を印加し、書き込みを行う。
【0053】
なお、コンフィギュレーション情報の切り換えは、異なる書き込み線WL(図3の例では8本の書き込み線WLが存在する)を選択して、読み出しを行うことによって実行される。読み出し動作時は、通常のSRAMと同様であり、書き込み線WEにLowの制御信号を印加し、ワード線WLにHighの制御信号を印加し、プレート線PL(PL1,PL2)は、インプリントと呼ばれる強誘電体メモリの特性変動を防止するために電源電圧Vddの半分に設定される。これによって強誘電体メモリの読み出しを行う。
【0054】
そして、データ保持状態の論理動作のときは、書き込み線WEおよびワード線WLにLowの制御信号を印加し、プレート線PL(PL1,PL2)には、電源電圧Vddの半分の電圧が印加される。
【0055】
次に、プログラマブル論理デバイスを構成するプログラマブル配線12の構成について説明する。
図9はプログラマブル配線の構成を示す図である。
【0056】
プログラマブル配線12は、強誘電体メモリセルを使用したコンフィギュレーションメモリ40と、パストランジスタ41とから構成され、コンフィギュレーションメモリ40の出力をパストランジスタ41のゲートに接続している。
【0057】
コンフィギュレーションメモリ40は、図5に示した論理ブロック用のコンフィギュレーションメモリと同じ構成にすることができる。パストランジスタ41は、配線のカラム線とロー線との交点に配置されて、ドレインおよびソースの一方をカラム線に、他方をロー線に接続される。
【0058】
パストランジスタ41は、コンフィギュレーションメモリ40から出力されたデータのHigh・Lowの各レベルによってオン・オフが制御され、ドレインおよびソース間が導通または遮断することにより配線の接続を制御する。なお、コンフィギュレーションメモリの容量を削減するためには、A. DeHon “Dynamically Programmable Gate Arrays: A Step Toward Increased Computational Density" (Fourth Canadian Workshop of Field-Programmable Devices, 1996)が使用したマルチプレクサ型のクロスバーを使用することもできる。
【0059】
次に、プログラマブル論理デバイス10を構成するプログラマブルI/Oブロック13の構成について説明する。
図10はプログラマブルI/Oブロックの構成を示す図である。
【0060】
プログラマブルI/Oブロック13は、データの入出力に使われるパッド42に入力が接続されたバッファ43と、このバッファ43の出力に接続されてパッド42に入力されたデータをプログラマブル論理デバイス10に取り込むフリップフロップ44と、プログラマブル論理デバイス10からデータを取り出すフリップフロップ45と、このフリップフロップ45の出力に接続されてパッド42に出力するデータを制御するトライステートバッファ46と、強誘電体メモリセルを使用したコンフィギュレーションメモリ47と、このコンフィギュレーションメモリ47の内容に応じてトライステートバッファ46に出力イネーブルの反転信号を供給するフリップフロップ48とを備えている。コンフィギュレーションメモリ47は、図5に示した論理ブロック用のコンフィギュレーションメモリと同じ構成にすることができる。
【0061】
以上の構成において、フリップフロップ48がクロックに同期してコンフィギュレーションメモリ47の内容をトライステートバッファ46の出力イネーブルの反転入力に供給する。このとき、出力イネーブルの反転信号が、たとえばHighのときは、トライステートバッファ46の出力はハイインピーダンスになるので、パッド42はデータ入力用に設定される。したがって、パッド42に供給されたデータは、バッファ43を介してフリップフロップ44に供給されるので、フリップフロップ44は、クロックに同期してパッド42に入力されたデータをプログラマブル論理デバイス10に取り込むよう作用する。逆に、出力イネーブルの反転信号が、Lowのときには、トライステートバッファ46の入力と出力の論理状態が等しくなるので、フリップフロップ45は、プログラマブル論理デバイス10の出力データをクロックに同期してパッド42に供給するように作用する。このように、プログラマブルI/Oブロック13は、コンフィギュレーションメモリ47の出力によって、I/Oポートの入出力を規定することができる。
【0062】
次に、プログラマブル論理デバイス10が複数個のコンフィギュレーション情報を有しているが、そのコンフィギュレーション情報をどのように切り換えるかについて説明する。
【0063】
図11はコンフィギュレーション情報の切り換え動作を説明する図である。
プログラマブル論理デバイス10は、コンフィギュレーションID(IDentifier)・コマンド分配回路50を備えている。このコンフィギュレーションID・コマンド分配回路50は、プログラマブル論理デバイス10の外部からコンフィギュレーション情報を切り換えるコマンドCIDEXTまたはプログラマブル論理デバイス10の内部の論理ブロック21からコンフィギュレーション情報を切り換えるコマンドCIDINTを受けて、強誘電体メモリベースのコンフィギュレーションメモリが存在している論理ブロック21、プログラマブル配線12およびプログラマブルI/Oブロック13のそれぞれに供給するように構成されている。
【0064】
コンフィギュレーション情報の切り換えは、プログラマブル論理デバイス10の外部からコマンドCIDEXTによって与えることもできるし、コマンドCIDINTによって内部から与えることもできる。内部のコマンドCIDINTは、論理ブロック21内に構成されたシーケンサによって生成される(途中プログラマブル配線12を通過する可能性もあるが、コマンドCIDINTは論理ブロック21で作られる)。
【0065】
論理ブロック21、プログラマブル配線12およびプログラマブルI/Oブロック13のコンフィギュレーションメモリは、8個(種類)存在しているので、各コンフィギュレーションを特定するため3ビットのコンフィギュレーションID(CID[0:2])が定義される。コマンドCIDEXTまたはコマンドCIDINTは、コンフィギュレーション情報の切り換え先を表すCID[0:2]の値とコンフィギュレーション情報切り換えコマンドとを含んでいる。
【0066】
コンフィギュレーションID・コマンド分配回路50は、コマンドCIDEXTまたはコマンドCIDINTを受けると、CID[0:2]の値とコンフィギュレーション情報切り換えコマンドとを、論理ブロック21、プログラマブル配線12およびプログラマブルI/Oブロック13の各コンフィギュレーションメモリに送り、これによって、8個のコンフィギュレーションメモリの1つが選択され、論理ブロック21、プログラマブル配線12またはプログラマブルI/Oブロック13は、選択されたコンフィギュレーションメモリに蓄積されたコンフィギュレーション情報に従って論理機能が切り換えられることになる。
【0067】
次に、論理ブロック21の具体的な構成例について説明する。
図12は従来の論理ブロックの構成を示す回路図、図13は本発明のプログラマブル論理デバイスに用いられる論理ブロックの構成を示す回路図である。
【0068】
従来の論理ブロックをモデル化した図12の構成によれば、1つのコンフィギュレーション情報を蓄積するコンフィギュレーションメモリ51と、組み合わせ論理ブロックをなすルックアップテーブル52と、フリップフロップ53と、ルックアップテーブル52またはフリップフロップ53の出力の切り換えを行うための2:1のマルチプレクサ54とで構成される。この構成は、FPGAで採用されていた一般的な構成である。
【0069】
これに対し、本発明のプログラマブル論理デバイスに用いられる論理ブロック21は、複数のコンフィギュレーション情報を蓄積するコンフィギュレーションメモリ55と、ルックアップテーブル56と、イネーブル端子ENを有するフリップフロップ57と、ルックアップテーブル56またはフリップフロップ57の出力の切り換えを行うための2:1のマルチプレクサ58とで構成され、コンフィギュレーションメモリ55からマルチプレクサ58の切り換えを行う制御信号をフリップフロップ57のイネーブル端子ENに供給するとともに、フリップフロップ57の出力を外部に供給できるように構成している。フリップフロップ57は、イネーブル端子ENを設けたことにより、コンフィギュレーションを切り換える前の情報を蓄積しておくことができるため、フリップフロップ機能の他にメモリ機能を持たせることができる。
【0070】
マルチプレクサ58がフリップフロップ57の出力を選択する場合には、マルチプレクサ58の選択制御端子およびフリップフロップ57のイネーブル端子ENにHighレベルの制御信号を供給する。このとき、フリップフロップ57は、イネーブル状態となり、クロック入力によって読み込まれた情報をラッチしてマルチプレクサ58に出力し、マルチプレクサ58がこれを選択して出力するので、従来の論理ブロックと同じ動作をする。
【0071】
また、マルチプレクサ58がルックアップテーブル56の出力を選択する場合には、コンフィギュレーションメモリ55からマルチプレクサ58の選択制御端子およびフリップフロップ57のイネーブル端子ENにLowレベルの制御信号が供給される。これにより、フリップフロップ57はディセーブル状態になる。こうすることによって、ルックアップテーブル56の従来と同様の動作を可能にするだけでなく、その前のコンフィギュレーションでの実行結果を蓄積したフリップフロップ57の情報を当該のコンフィギュレーションで利用できることになる。特に、フリップフロップ57の出力を入力側にフィードバック可能(ルックアップテーブル56の論理ブロック入力のいずれかに結線可能)な回路構成にしておけば、前のコンフィギュレーションの結果を蓄積しておくメモリを新たに設けることなく、前のコンフィギュレーションの結果を入力として、組み合わせ論理回路で処理した計算結果出力を得ることができるようになる。
【0072】
次に、強誘電体メモリの電源の立ち上がり時と遮断時におけるコンフィギュレーション情報を破壊から保護する方法について説明する。従来技術でも述べたが、図6に示したような強誘電体メモリセルに、ただそのままの電源を供給しても、蓄積された情報の正常な回復(データリコール)は困難である。電源が立ち上がる際には、図6のラッチ回路のNMOSトランジスタM2、M4のターンオンが先に始まった側に従ってストレージノードS1、S2の電圧が決まるが、このとき、強誘電体キャパシタFC1、FC2の両端にかかる電圧はせいぜい0.5Vであり、強誘電体キャパシタFC1、FC2の相対的な容量比はほとんどなく、データリコール時の誤読み出し(これはデータ破壊と等価である)が生じる可能性がある。また、電源の遮断前には、図6のプレート線PLや図7のプレート線PL1、PL2は、Vdd/2に設定されており、強誘電体メモリの長期的な信頼性を確保するためには、一度、強誘電体キャパシタFC1、FC2にフル電源電圧を印加する(データストア)ことが望ましい。ここでは、データリコールとデータストアとをプログラマブル論理デバイスの内部で自動的に実行する手法について説明する。
【0073】
図14は強誘電体メモリの電源制御回路の一例を示す図、図15は強誘電体メモリベースのコンフィギュレーションメモリにおける電源制御を説明する図である。
【0074】
電源制御回路は、外部電源端子に接続された平滑コンデンサ60に並列に電源電圧検出・供給回路61を備えている。この電源電圧検出・供給回路61は、入力された電源電圧Vddを電源電圧PWRとしてメモリ制御回路62に供給するとともに電源電圧の立ち上がりおよび遮断を検出した電源電圧検出信号PDETをメモリ制御回路62に出力するよう構成さている。また、メモリ制御回路62は、強誘電体メモリベースのコンフィギュレーションメモリ63に電源制御信号ENXおよびグランド制御信号ENと、強誘電体メモリセル制御信号とを出力するよう構成されている。なお、図3に示した論理ブロック21の場合には、このメモリ制御回路62は、メモリ制御回路22に対応し、コンフィギュレーションメモリ63は、コンフィギュレーションメモリ230〜237に対応する。
【0075】
また、コンフィギュレーションメモリ63は、図15に示すように、図6および図7に示したタイプの強誘電体メモリセルをコンフィギュレーションメモリとしてアレイ配置されており、このコンフィギュレーションメモリ63の電源電圧PWRの制御(供給)用にトランジスタPT1が設けられ、グランド電圧VSSの制御(供給)用にトランジスタNT1が設けている。
【0076】
電源の立ち上げ時には、メモリ制御回路62は、あらかじめトランジスタPT1,NT1をOFF状態とし、電源電圧検出・供給回路61が充分な電圧を検出した後に、図6のタイプの強誘電体メモリセルにおいては、プレート線PLをLowからHighに、図7のタイプの強誘電体メモリセルでは、プレート線PL2はグランド電位GNDに固定したまま、プレート線PL1をLowからHighにドライブする。この結果、各強誘電体メモリセルのストレージノードS1,S2には、電源遮断前に蓄積された電圧を反映した電圧が誘起される。図6のタイプの強誘電体メモリセルの場合は、ストレージノードS1にはもともと0V、ストレージノードS2には3.3Vが蓄積されていると仮定すると、プレート線PLをLowからHighにドライブすると、ストレージノードS1には3.00V、ストレージノードS2には3.22Vの電圧が誘起される。図7のタイプの強誘電体メモリセルの場合は、ストレージノードS1にはもともと0V、ストレージノードS2には3.3Vが蓄積されていると仮定すると、プレート線PL1をLowからHighにドライブすると、ストレージノードS1には0.65V、ストレージノードS2には2.59Vの電圧が誘起される。この後、メモリ制御回路62が電源制御信号ENXおよびグランド制御信号ENによってトランジスタPT1,NT1をオンして電源電圧PWRを供給すると、コンフィギュレーションメモリ63の各強誘電体メモリセルは、ラッチ動作を行って、もともと蓄積されていたデータを回復させる。この後、チップのリセットを解除してプログラマブル論理デバイス10の論理動作を実行すれば、もともと蓄積されていたコンフィギュレーション情報を利用した論理動作の実行が可能となる。
【0077】
電源の遮断時には、電源電圧検出・供給回路61が電源電圧の低下を検知した後、もともとはVdd/2に設定されていたプレート線PL(PL1、PL2)をHighからLowと変化させ、すべての強誘電体メモリセルに書き込みを行った後に、トランジスタPT1,NT1をオフする。この際、ワード線WLは、すべてLowにして選択を行わないか、1本のみ選択する。
【0078】
図16は電源電圧検出・供給回路の電源電圧検出部の一構成例を示す回路図である。
電源電圧検出部は、電源電圧の立ち上がりを検出する立ち上がり検出回路64と、電源電圧の立ち下がりを検出する立ち下がり検出回路65と、2つのNANDゲート66,67からなるRSフリップフロップ回路とからなり、電源電圧Vddよりも十分に低い電圧で、例えば1V以上で動作する。
【0079】
立ち上がり検出回路64は、直列接続された2つの抵抗64a,64bと、比較器64cとから構成され、比較器64cが図14に示した平滑コンデンサ60にかかっている電源電圧Vddを抵抗64a,64bで分圧した電圧と基準電圧Vrefとを比較して電源電圧Vddが3.0V以上になったらLowを出力する。立ち下がり検出回路65は、直列接続された2つの抵抗65a,65bと、比較器65cとから構成され、比較器65cが電源電圧Vddを抵抗65a,65bで分圧した電圧と基準電圧Vrefとを比較して電源電圧Vddが2.7V以下になったらLowを出力する。ここで、基準電圧Vrefは、例えばバンドギャップリファレンス回路を採用し、1.1Vの安定した(電源の変動、温度の変動に対して特性変動の極めて少ない)電圧を得ている。
【0080】
この電源電圧検出部は、3.0Vを検出したら電源電圧検出信号PDETとしてHighを出力し、一旦、電圧が上がった以降は、2.7V以下になるまで電源電圧検出信号PDETとしてHighを保持するというヒステリシス特性を備えており、負荷の増大にともなう電源の瞬間的な低下に対して、余裕を持たせた回路にしてある。
【0081】
次に、コンフィギュレーション情報の未書き込み時の問題とその対策について説明する。
図17は強誘電体メモリセルベースのコンフィギュレーションメモリを使用したプログラマブル配線の模式図、図18は本発明におけるプログラマブル配線の構成例を示す図である。
【0082】
プログラマブル論理デバイスのプログラマブル配線は、図17に示したように、複数の配線トラック70,71を有し、これらの配線トラック70,71にはパストランジスタ72,74およびパストランジスタ73,75が接続され、各パストランジスタ72〜75にはコンフィギュレーションメモリの第1ないし第4の出力が接続され、さらに出力バッファ76〜79を介してルックアップテーブルからの第1ないし第4の出力が接続されている。
【0083】
強誘電体メモリセルのデータの書き込みを行う前は、コンフィギュレーションメモリの第1ないし第4の出力は不定の状態になっている。このため、ある場合には、例えばコンフィギュレーションメモリの第1および第3の出力が同じ配線トラック70に繋がっているパストランジスタ72,74を同時にオンさせる可能性がある。また、ルックアップテーブルの第1ないし第4の出力も、同様に規定されていないため、第1の出力がHighで、第3の出力がLowとなる可能性がある。この結果、配線トラック70には、Highの出力とLowの出力とが競合することになる。この結果、この配線トラック70の電位は中間電位に保たれ、大きな電流が流れることになる。
【0084】
これを防止するために、従来型のSRAMセルベースのプログラム論理デバイスでは、デバイスの電源が供給された後、コンフィギュレーション情報の書き込みが終わるまで、ルックアップテーブルからの出力をディセーブルする構成をとっている。しかし、強誘電体メモリを使用したプログラマブル論理デバイスでは、コンフィギュレーション情報の書き込みは(理想的には)一度行えば良いので、毎回電源の立ち上げ毎に、ルックアップテーブルからの出力をディセーブルする必要はない。
【0085】
そこで、本発明では、図18に示す構成により、プログラマブル配線のコンフリクトを防止するようにしている。この構成では、各パストランジスタ72〜75のゲートにANDゲート80〜83を設け、ANDゲート80〜83の第1の入力にコンフィギュレーションメモリの第1ないし第4の出力が接続され、ANDゲート80〜83の第2の入力には、コンフィギュレーションメモリの第5の出力が接続されている。このコンフィギュレーションメモリの第5の出力に関連する強誘電体メモリセルには、コンフィギュレーション情報を書き込み済みか否かを表す情報が蓄積されている。
【0086】
電源の立ち上げの時には、コンフィギュレーションメモリの第5の出力に関連する強誘電体メモリセルに蓄積された情報を基にコンフィギュレーションメモリの第1ないし第4の出力をパストランジスタ72〜75に供給するか否かを制御している。すなわち、コンフィギュレーションメモリの第5の出力に関連する強誘電体メモリセルに蓄積された情報が書き込み前の情報であれば、すべてのANDゲート80〜83を閉じてコンフィギュレーションメモリの第1ないし第4の出力を強制的にディスエーブルし、書き込み済みの情報であれば、イネーブルすることによって、配線トラック70,71がバスコンフリクトを生じないようにしている。
【0087】
ここでは、コンフィギュレーション情報の未書き込み時の問題をプログラマブル配線の場合について説明したが、このようなコンフィギュレーション未実施の対策は、例えば、図11に示したコンフィギュレーション情報の切り換えを行う回路でも必要である。なぜなら、コンフィギュレーション情報が未書き込みの状態では、チップ内部からコンフィギュレーション変更のコマンドが出力され続ける可能性があるからである。この場合も、コンフィギュレーションが未実施であれば、コンフィギュレーションID・コマンド分配回路50は、内部信号からの入力を無視する回路構成としている。
【0088】
なお、コンフィギュレーション情報を書き込んだかどうかの情報は、すべてのコンフィギュレーション情報(ID)に対して必要である。また、コンフィギュレーション情報が未書き込みであることは、プログラマブル論理デバイスの製造者によって書き込まれて、ユーザに出荷される。製造者において、コンフィギュレーション情報が未書き込みの際に生じる上記のバスコンフリクトや、論理回路の不正動作を防ぐために、テストピンを用意して、外部からコンフィギュレーション未実施を指定することが可能である。
【0089】
次に、コンフィギュレーションメモリをベースとしたリードオンリーメモリ14について説明する。一般的な論理回路において、リードオンリーメモリは定数の蓄積などに使用され、単位面積あたりの論理ゲートの数を向上することが可能である。
【0090】
図19はコンフィギュレーションメモリをベースとしたリードオンリーメモリの構成例を示す図である。
コンフィギュレーションメモリ90は、その出力側にマルチプレクサ91が接続され、このマルチプレクサ91はアドレス線およびデータ線を介して論理ブロック92に接続されている。また、コンフィギュレーションメモリ90には、リードオンリーメモリ制御回路93が接続されている。このリードオンリーメモリ制御回路93は、コンフィギュレーションID・コマンド分配回路からコンフィギュレーションを特定するための3ビットのコンフィギュレーションID(CID[0:2])と、論理ブロック92からのROMモード選択信号とを受けるよう構成されている。
【0091】
コンフィギュレーションメモリ90は、例えば32ビットを単位とした構成をとっている。したがって、コンフィギュレーションIDによるコンフィギュレーションに従った論理動作を実行しているときには、マルチプレクサ91は、論理ブロック92から送られたアドレスにより32ビットのデータから必要なデータを選択して論理ブロック92に送る。この場合、選択できるのは、コンフィギュレーションIDにより特定されたコンフィギュレーションメモリ90の1個の出力である32ビットからのみである。このとき、論理ブロック92からのROMモード選択信号は、例えばLowになっている。
【0092】
ROMモード選択信号がHighのときは、論理ブロック92から一緒に3ビットのアドレス信号が送られる。この3ビットのアドレス信号は、8つのコンフィギュレーションのいずれか1つを選択するためのものである。この場合、リードオンリーメモリ制御回路93は、3ビットのアドレス信号によりコンフィギュレーションメモリ90から1つのコンフィギュレーションを選択する。選択されたコンフィギュレーションの32ビットのデータは、マルチプレクサ91に送られ、論理ブロック92から送られたアドレスにより32ビットのデータから必要なデータを選択して論理ブロック92に送る。
【0093】
このようにして、ROMモード選択信号がLowのときには、実行中の論理動作を規定しているコンフィギュレーション情報に含まれたデータを読み出すことができ、ROMモード選択信号がHighとなるROMモードのときには、論理ブロック92から送られる3ビットのアドレス信号で選択されたコンフィギュレーションのデータを読み出すことができる。
【0094】
次に、コンフィギュレーション情報の書き込みおよび読み出しについて説明する。
図20はコンフィギュレーション情報のデータ転送を説明する図、図21はチップ外部から供給されるコンフィギュレーション情報のデータストリームの例を示す図、図22はコンフィギュレーション情報のデータ書き込みを説明する図である。
【0095】
プログラマブル論理デバイスは、複数の論理ブロック、プログラマブル配線、プログラマブルI/Oブロックを含むが、これらに共通に含まれるコンフィギュレーションメモリに対するコンフィギュレーション情報の書き込みおよび読み出しは、複数の論理ブロック、プログラマブル配線、プログラマブルI/Oブロックを複数のグループに分けて行われる。図示の例では、第1のグループは、第1の論理ブロック100、第1のプログラマブル配線101、第2の論理ブロック102および第1のプログラマブルI/Oブロック103で構成し、これに1つのコンフィギュレーション回路104が設けられている。また、第2のグループでは、第3の論理ブロック105、第2のプログラマブル配線106、第4の論理ブロック107および第2のプログラマブルI/Oブロック108で構成し、これに1つのコンフィギュレーション回路109が設けられている。第1のグループの第1の論理ブロック100、第1のプログラマブル配線101、第2の論理ブロック102および第1のプログラマブルI/Oブロック103のコンフィギュレーションメモリには、それぞれコンフィギュレーション情報を転送するための、図5のシフトレジスタ30に対応するシフトレジスタ100a,101a,102a,103aが含まれ、第2のグループの第3の論理ブロック105、第2のプログラマブル配線106、第4の論理ブロック107および第2のプログラマブルI/Oブロック108のコンフィギュレーションメモリには、それぞれコンフィギュレーション情報を転送するためのシフトレジスタ105a,106a,107a,108aが含まれている。コンフィギュレーション回路104およびシフトレジスタ100a,101a,102a,103aは縦列接続され、第1のプログラマブルI/Oブロック103のコンフィギュレーションメモリからは読み出しパスによってコンフィギュレーション回路104に接続されている。コンフィギュレーション回路109およびシフトレジスタ105a,106a,107a,108aは縦列接続され、第2のプログラマブルI/Oブロック108のコンフィギュレーションメモリからは読み出しパスによってコンフィギュレーション回路109に接続されている。
【0096】
このように、このコンフィギュレーション情報の書き込みおよび読み出しのために、コンフィギュレーションメモリを複数のグループに分けてこれらを同時に実行できる構成にしている。この構成にすることによって、コンフィギュレーション情報の書き込みおよび読み出しを高速にしている。
【0097】
コンフィギュレーション回路104,109は、コンフィギュレーション情報書き込みまたは読み出しのコマンドが入力されると、そのコマンドを解釈してコンフィギュレーション情報の書き込みまたは読み出しを行う。
【0098】
コンフィギュレーション情報は、LSI外部からピンを通じて、コンフィギュレーション回路104,109にそれぞれ送られる。コンフィギュレーション回路104は、第1の論理ブロック100のシフトレジスタ100a、第1のプログラマブル配線101シフトレジスタ101a、第2の論理ブロック102シフトレジスタ102aおよび第1のプログラマブルI/Oブロック103のシフトレジスタ103aへコンフィギュレーション情報を順次送る。各シフトレジスタ100a,101a,102a,103aでは、転送されたデータから必要なコンフィギュレーション情報を書き込み回路によって強誘電体メモリセルアレイに書き込むことになる。また、コンフィギュレーション回路109も同様にして、LSI外部から入力されたコンフィギュレーション情報をシフトレジスタ105a,106a,107a,108aへ順次送る。このようにして、LSI全体のコンフィギュレーションメモリにコンフィギュレーション情報を供給する。
【0099】
LSI外部から供給されるコンフィギュレーション情報のデータストリームは、図21に示したように、同期信号と、コマンド、書き込みデータおよびCRC(Cyclic Redundancy Check:エラーチェック符号)で構成され、コンフィギュレーション回路104,109に供給されて、必要なコンフィギュレーション情報のみが、シフトレジスタ列に送られる。CRCはエラーチェックのために使用され、エラーが発生した場合には、LSIの外部システムに再度データの送信を要求することになる。
【0100】
シフトレジスタ100a,101a,102a,103a,105a,106a,107a,108aに送られたコンフィギュレーション情報は、直ちにコンフィギュレーションメモリに書き込まれるわけではない。1つの理由は、コンフィギュレーション情報の送信時にエラーが混入した場合に備えるためである。もう1点は、LSIが論理実行中に、コンフィギュレーション情報を書き換えることができれば、8個のLSIに蓄積された8個のコンフィギュレーション情報以上の論理動作を実行できることになる。そこで、図22に示したように、論理実行中に、コンフィギュレーションID・コマンド分配回路110は、LSI外部から入力されたコマンド(コンフィギュレーション切り替えおよびコンフィギュレーション情報書き込みコマンド)とコンフィギュレーションID(CID)とに従って、コンフィギュレーションメモリ111のシフトレジスタ112に蓄積されたコンフィギュレーション情報を、書き込み回路113を使って強誘電体メモリセルアレイ114の所定位置に書き込む。書き込みを行う際、データは、図6および図7に示した強誘電体メモリセルのビット線BL,XBLに供給されるが、コンフィギュレーションメモリ111の出力バッファ115は、ビット線BL,XBLから切り離されているため、書き込み時のデータが、実行中の論理動作に影響を与えることはない。なお、内部の論理ブロックから発生したコンフィギュレーション情報の変更コマンドと、外部からのコンフィギュレーション情報書き込みコマンドとが同じタイミングで発生した場合は、前者を優先する。このような回路構成にすることによって、プログラマブル論理回路の動作中に、コンフィギュレーション情報をバックグラウンドで書き換えることによって、LSIの単位面積あたりの論理ゲート数を飛躍的に向上できる。
【0101】
最後に、プログラマブル論理デバイスのセキュリティについて説明する。従来の揮発性のメモリを使用したFPGAでは、コンフィギュレーション情報は誰にでも読み出したり、書き込みしたりすることができた。なぜなら、各LSIに固有の情報を蓄積することができないためである。このため、開発したコンフィギュレーション情報を他社に読み出されたり、悪意のある他者によって書き換えられたりする可能性があった。本発明においては、強誘電体メモリベースの不揮発性のメモリを使用することにより、各LSIに固有の情報を蓄積することができ、これによって、コンフィギュレーション情報を他社に読み出されたり、悪意のある他者によって書き換えられたりする可能性をなくし、同時に、認証されていない者による不正使用を防ぐことができる。
【0102】
図23はセキュリティ回路の一例を示す図、図24はセキュリティを考慮したコンフィギュレーション情報のデータストリームの例を示す図である。
セキュリティ回路は、コンフィギュレーション情報の書き込みおよび読み出しを行う回路に設けられ、ここでは、例として図20の左側に示した回路に適用した場合を示している。セキュリティ回路は、不揮発メモリ121と、動作認証回路122と、リセット回路123とを有している。不揮発メモリ121は、LSIまたはユーザに固有なセキュリティIDを蓄積する。この不揮発メモリ121は、図3に示したコンフィギュレーションメモリを使用することも可能である。複数のコンフィギュレーション情報を持ったプログラマブル論理デバイスにおいては、各コンフィギュレーションID毎に、独自のセキュリティIDを設けることができる。各コンフィギュレーションID毎のセキュリティIDを蓄積するには、コンフィギュレーションメモリを使用することが適している。動作認証回路122は、不揮発メモリ121に蓄積しておいたセキュリティIDと動作要求コマンドに含まれたセキュリティIDとの照合を行う。リセット回路123は、プログラマブル論理デバイスが論理動作の実行を開始する前にチップのリセット信号を出力する。
【0103】
まず、コンフィギュレーション情報の書き込みおよび読み出しでは、図24に例示したようなデータストリームを使用する。このデータストリームには、セキュリティIDが含まれている。コンフィギュレーション回路104は、データストリームが入力されると、そのデータストリームに含まれるセキュリティIDと不揮発メモリ121に蓄積されているセキュリティIDとを照合し、一致しない場合には、書き込みまたは読み出しコマンドを受け付けないようにする。これにより、悪意のある第三者によってコンフィギュレーション情報が読み出されたり書き換えられたりすることが防止される。
【0104】
また、動作認証回路122は、LSI外部から動作要求コマンドを受け付けるようにして、受け付けた動作要求コマンドに含まれるセキュリティIDが不揮発メモリ121に蓄積されているセキュリティIDと一致した場合にのみ、リセット回路123に解除要求を送り、リセット回路123はリセット信号を出し、回路のリセット状態を解除する。複数のコンフィギュレーション情報を持ったプログラマブル論理デバイスにおいては、各コンフィギュレーションID毎に、独自のセキュリティIDを設け、管理することができる。各セキュリティIDを蓄積するためには、コンフィギュレーションメモリを使用し、許容されたコンフィギュレーションIDのみ、動作実行を可能とする。これによって、プログラマブル論理デバイスの不正使用を防ぐことができる。
【0105】
(付記1) 外部からコンフィギュレーションを設定して所望の論理動作を可能にするプログラマブル論理デバイスにおいて、
任意の論理動作を可能にする1つの回路に対して複数個のコンフィギュレーション情報を蓄積して複数個の論理状態を規定するようにした複数個のコンフィギュレーションメモリと、
前記複数個のコンフィギュレーション情報を選択して複数種の論理動作を実行可能にする情報選択手段と、
を備え、前記コンフィギュレーションメモリを不揮発性の強誘電体メモリセルで構成したことを特徴とするプログラマブル論理デバイス。
【0106】
(付記2) 前記情報選択手段は、LSIの動作中に、前記LSIの内部で発生された制御信号によって、前記コンフィギュレーション情報を変更可能にしたことを特徴とする付記1記載のプログラマブル論理デバイス。
【0107】
(付記3) 前記情報選択手段は、LSIの動作中に、前記LSIの外部から供給された制御信号によって、前記コンフィギュレーション情報を変更可能にしたことを特徴とする付記1記載のプログラマブル論理デバイス。
【0108】
(付記4) 組み合わせ論理回路ブロックと、前記組み合わせ論理回路ブロックの出力状態を蓄積するフリップフロップと、前記組み合わせ論理回路ブロックの出力および前記フリップフロップの出力を入力し前記コンフィギュレーション情報によって前記組み合わせ論理回路ブロックの出力または前記フリップフロップの出力を選択して出力するマルチプレクサとを有する論理ブロックを備え、
前記フリップフロップは、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記フリップフロップの出力が選択された場合にイネーブル状態にし、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記組み合わせ論理回路ブロックの出力が選択された場合にディセーブル状態にするイネーブル端子を有していることを特徴とする付記1記載のプログラマブル論理デバイス。
【0109】
(付記5) 電源が立ち上がる際に電源電圧が第1の所定の電圧以上になったことを検出する第1の電源電圧検出手段と、前記第1の電源電圧検出手段による前記第1の所定の電圧の検出に応答して前記強誘電体メモリセルのプレート線に高レベルの電圧を印加して前記強誘電体メモリセルが誤再生されないようにしてから前記強誘電体メモリセルに電源電圧を印加するよう制御する第1の電源制御手段とを備えていることを特徴とする付記1記載のプログラマブル論理デバイス。
【0110】
(付記6) 電源が遮断される際に電源電圧が第2の所定の電圧以下になったことを検出する第2の電源電圧検出手段と、前記第2の電源電圧検出手段による前記第2の所定の電圧の検出に応答して前記強誘電体メモリセルのプレート線に初めに高レベルの電圧を印加し、続いて低レベルの電圧を印加するか、あるいは逆に低レベルの電圧を印加した後高レベルの電圧を印加し前記強誘電体メモリセルがデータストアを実行した後に前記強誘電体メモリセルへの電源電圧を遮断するよう制御する第2の電源制御手段とを備えていることを特徴とする付記1記載のプログラマブル論理デバイス。
【0111】
(付記7) 前記強誘電体メモリセルは、論理状態を規定する前記コンフィギュレーション情報を書き込み済みか否かの情報を蓄積していることを特徴とする付記1記載のプログラマブル論理デバイス。
【0112】
(付記8) 複数個のコンフィギュレーション情報を持つ前記コンフィギュレーションメモリは、その出力を前記論理ブロックで活用できるリードオンリーメモリとして機能させるようにしたことを特徴とする付記4記載のプログラマブル論理デバイス。
【0113】
(付記9) 前記論理ブロックからの制御信号に従って動作中のコンフィギュレーションとは異なる任意のコンフィギュレーション情報を前記リードオンリーメモリとして機能している前記コンフィギュレーションメモリから自由に読み出しできるよう制御するリードオンリーメモリ制御手段を備えていることを特徴とする付記8記載のプログラマブル論理デバイス。
【0114】
(付記10) 前記コンフィギュレーションメモリを複数のグループにグループ化し、前記複数のグループで複数のデータストリームからの前記コンフィギュレーション情報の同時書き込みと、前記複数のデータストリームの同時読み出しとを行うようにしたことを特徴とする付記1記載のプログラマブル論理デバイス。
【0115】
(付記11) 特定の論理動作を実行中に、コンフィギュレーション情報を時間的に切り換え変更して複数種の論理動作を実行できるようにしたことを特徴とする付記1記載のプログラマブル論理デバイス。
【0116】
(付記12) 不揮発性の前記コンフィギュレーションメモリに固有の情報を蓄積した固有情報蓄積手段と、前記コンフィギュレーション情報の書き込みまたは読み出しの要求時に前記固有の情報との認証を行い、認証結果が正しい場合にのみ、書き込みまたは読み出しを許可する認証手段とを備えていることを特徴とする付記1記載のプログラマブル論理デバイス。
【0117】
(付記13) 不揮発性の前記コンフィギュレーションメモリに各コンフィギュレーションに対して固有の情報を蓄積した固有情報蓄積手段と、複数種の論理動作の時間的な切り換えに伴う前記コンフィギュレーション情報の書き込みまたは読み出しの要求時に前記固有の情報との認証を行い、認証結果が正しい場合にのみ、書き込みまたは読み出しを許可する認証手段とを備えていることを特徴とする付記1記載のプログラマブル論理デバイス。
【0118】
(付記14) 不揮発性の前記コンフィギュレーションメモリに固有の情報を蓄積した固有情報蓄積手段と、論理動作の要求時に前記固有の情報との認証を行い、認証結果が正しい場合にのみ、論理動作の実行を許可する認証手段とを備えていることを特徴とする付記1記載のプログラマブル論理デバイス。
【0119】
(付記15) 不揮発性の前記コンフィギュレーションメモリに各コンフィギュレーションに対して固有の情報を蓄積した固有情報蓄積手段と、複数種の論理動作の時間的な切り換えに伴う論理動作の要求時に前記固有の情報との認証を行い、認証結果が正しい場合にのみ、論理動作の実行を許可する認証手段とを備えていることを特徴とする付記1記載のプログラマブル論理デバイス。
【0120】
【発明の効果】
以上説明したように本発明では、コンフィギュレーション情報を蓄積するコンフィギュレーションメモリとして不揮発性の強誘電体メモリを備え、かつ、強誘電体メモリには複数個のコンフィギュレーション情報を蓄積しておいて、これらの1つを選択して使用するように構成した。このため、コンフィギュレーション情報がLSI内部に蓄積しておくことができるため、従来FPGAに必要であった外付けのPROM、EEPROMが不要になり、かつ、複数個のコンフィギュレーション情報やROMを一つのLSI上に実装すること等により効率的な論理ゲートの実現を可能にし、安価なボードシステムを実現することができる。
また、コンフィギュレーションメモリに蓄積されたコンフィギュレーション情報に基づき、コンフィギュレーション情報を切り替える前の情報をフリップフロップに蓄積することができる。すなわち、ディセーブル状態では、マルチプレクサは現在の論理動作を出力し、フリップフロップは以前の動作状態での計算結果を蓄積できる。
【0121】
また、強誘電体メモリを使用したプログラマブル論理デバイスにおいて、強誘電体メモリ用の電源制御回路を備え、電源の立ち上がり時または遮断時におけるコンフィギュレーションメモリのデータ破壊をなくし、安定したLSI動作を可能にしている。
【0122】
強誘電体メモリを使用したプログラマブル論理デバイスにおいて、強誘電体メモリにコンフィギュレーション情報を書き込み済みか否かの情報を蓄積するように構成したことにより、コンフィギュレーション情報書き込み前における配線のコンフリクト、周辺論理回路の不安定性をなくすことができる。
【0123】
プログラマブル論理デバイスにおいて、複数のコンフィギュレーション情報を、複数のデータストリームによって同時に書き込みできるように構成したことで、コンフィギュレーション情報の書き込みが高速化され、かつ、論理実行中の書き込みを可能とすることによって、電源入力後の迅速な論理動作の立ち上げを可能にし、かつ、LSI中の実効的な論理ゲート数を増加させることができる。
【0124】
さらに、不揮発性を持つ強誘電体メモリに固有の情報を蓄積できる構成にしたことで、プログラマブル論理デバイスのコンフィギュレーション情報の盗難や書き換え、認証されない者の不正使用を防止することができる。
【図面の簡単な説明】
【図1】本発明によるプログラマブル論理デバイスの原理的な構成を示す図である。
【図2】強誘電体メモリを使用したプログラマブル論理デバイスの全体回路を例示した模式図である。
【図3】論理ブロックアレイをより詳細に示した模式図例である。
【図4】4入力ルックアップテーブルの構成例を示す図である。
【図5】ロード回路およびコンフィギュレーションメモリのより詳細な構成例を示す図である。
【図6】強誘電体メモリセルの第1の構成例を示す回路図である。
【図7】強誘電体メモリセルの第2の構成例を示す回路図である。
【図8】強誘電体メモリの各動作における制御信号の状態を示す図である。
【図9】プログラマブル配線の構成を示す図である。
【図10】プログラマブルI/Oブロックの構成を示す図である。
【図11】コンフィギュレーション情報の切り換え動作を説明する図である。
【図12】従来の論理ブロックの構成を示す回路図である。
【図13】本発明のプログラマブル論理デバイスに用いられる論理ブロックの構成を示す回路図である。
【図14】強誘電体メモリの電源制御回路の一例を示す図である。
【図15】強誘電体メモリベースのコンフィギュレーションメモリにおける電源制御を説明する図である。
【図16】電源電圧検出・供給回路の電源電圧検出部の一構成例を示す回路図である。
【図17】強誘電体メモリセルベースのコンフィギュレーションメモリを使用したプログラマブル配線の模式図である。
【図18】本発明におけるプログラマブル配線の構成例を示す図である。
【図19】コンフィギュレーションメモリをベースとしたリードオンリーメモリの構成例を示す図である。
【図20】コンフィギュレーション情報のデータ転送を説明する図である。
【図21】チップ外部から供給されるコンフィギュレーション情報のデータストリームの例を示す図である。
【図22】コンフィギュレーション情報のデータ書き込みを説明する図である。
【図23】セキュリティ回路の一例を示す図である。
【図24】セキュリティを考慮したコンフィギュレーション情報のデータストリームの例を示す図である。
【符号の説明】
1 論理ブロック
2 プログラマブル配線
3 プログラマブルI/Oブロック
4,5,6 強誘電体メモリ
7,8,9 情報選択手段
10 プログラマブル論理デバイス
11 論理ブロックアレイ
12 プログラマブル配線
13 プログラマブルI/Oブブロック
14 リードオンリーメモリ
21 論理ブロック
22 メモリ制御回路
230〜237 コンフィギュレーションメモリ
24 ロード回路
25 入力ルックアップテーブル
26 フリップフロップおよび出力マルチプレクサ
27 メモリ
28 マルチプレクサ
30 シフトレジスタ
31 書き込み回路
32 強誘電体メモリセルアレイ
33 出力バッファ
34 読み出しパス
40 コンフィギュレーションメモリ
41 パストランジスタ
50 コンフィギュレーションID・コマンド分配回路
51 コンフィギュレーションメモリ
52 ルックアップテーブル
53 フリップフロップ
54 マルチプレクサ
55 コンフィギュレーションメモリ
56 ルックアップテーブル
57 フリップフロップ
58 マルチプレクサ
60 平滑コンデンサ
61 電源電圧検出・供給回路
62 メモリ制御回路
63 コンフィギュレーションメモリ
64 立ち上がり検出回路
65 立ち下がり検出回路
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a programmable logic device, and in particular to arbitrarily set a logic state.RegulationNon-volatile ferroelectric memory is used as a configuration memory for storing information (hereinafter referred to as configuration information) for performing a single LSI (Large-Scale Integration) as well as a single LSI. The present invention relates to a programmable logic device that can be used as a single programmable logic block mounted on the PC.
[0002]
[Prior art]
A programmable logic device has, as its basic components, a memory or multiplexer or basic gate called a lookup table, a logic block composed of flip-flops, programmable wiring that can define internal wiring, and input. It has a programmable I / O (Input / Output) block that regulates the output state, and further controls the logic operation of the logic block, the wiring of the programmable wiring, and the input / output state of the programmable I / O block.RegulationA configuration memory for storing configuration information to be stored.
[0003]
Generally, there are the following three categories of programmable logic devices.
First, after having a memory and multiplexer called a lookup table, or a logic block composed of basic gates and flip-flops, a programmable wiring, and a programmable I / O block, and the power is cut off Configuration information is lost.
[0004]
Second, after having a memory and multiplexer called a look-up table, or a logic block composed of basic gates and flip-flops, a programmable wiring, and a programmable I / O block, the power is cut off. Configuration information is not lost.
[0005]
The third type has a logic block based on a programmable logic array, and configuration information is not lost after the power is turned off.
Here, as a programmable logic device belonging to the first category, an example in which an SRAM (Static Random Access Memory) type memory is used as a configuration memory is known (US Pat. No. 4,642,487).
[0006]
In the programmable logic device using the SRAM type memory cell, the configuration information stored in the SRAM type memory cell is lost when the power is turned off. Therefore, the configuration information is stored even after the power is turned off. It is necessary to store configuration information in a non-volatile memory that can be used. Therefore, in programmable logic devices using SRAM type memory cells, the operation of the programmable logic devices can be performed even after the power is turned off.RegulationIn order to store configuration information to be stored, a non-volatile memory such as PROM (Programmable Read-Only Memory) or EPROM (Erasable Programmable Read-Only Memory) is installed outside the device, and power is applied. In this case, the configuration information is read from these PROM and EPROM.
[0007]
Programmable logic devices belonging to the second category have been proposed in response to the fact that the configuration information of programmable logic devices disappears when the power supply voltage is interrupted. In this programmable logic device, configuration information is stored in a nonvolatile memory such as a ferroelectric memory or an MRAM (Magnetic Random Access Memory). Here, as an example, a programmable logic device using a ferroelectric memory is known (Japanese Patent No. 3121862). Ferroelectric memory is a programmable logic device because it can achieve high speeds that cannot be achieved with non-volatile memories that require high voltage transistors such as PROM, EPROM, EEPROM (Electrically Erasable Programmable Read-Only Memory), and flash memory. Is a particularly desirable technique.
[0008]
As the programmable logic device belonging to the third category, the configuration memory is the same nonvolatile as the programmable logic device belonging to the second category, but EPROM, EEPROM, and flash memory are used as the configuration memory. Programmable logic devices belonging to this third category are described in detail in, for example, Stephen D. Brown et al., “Field Programmable Gate Arrays,” [Kluwar Academic Publishers], CPLD (Complex Programmable Logic Device). Is distinguished from programmable logic devices belonging to the second category. The reason why EPROM, EEPROM, and flash memory are not used for programmable logic devices belonging to the second category is that high speed cannot be obtained.
[0009]
The present invention is directed to programmable logic devices belonging to the first and second categories, and these are generally collectively referred to as FPGA (Field Programmable Gate Array).
[0010]
The disadvantage of the conventional FPGA is that the number of logic gates obtained per unit area is small. In order to compensate for this drawback, an architecture capable of storing a plurality of configuration information has been studied, and this is called DPGA (Dynamically Programmable Gate Array) to distinguish it from FPGA (A. DeHon, “Dynamically Programmable”). Gate Arrays: A Step Toward Increased Computational Density, ”Fourth Canadian Workshop of Field-Programmable Devices, 1996). In this DPGA, a DRAM (Dynamic Random-Access Memory) is adopted as a configuration memory. Therefore, in this DPGA, the configuration information is erased together with the interruption of the power supply voltage, so that the programmable belonging to the first category. It is a logical device. In this DPGA, a small number of logic gates can be apparently increased by switching and using a plurality of pieces of configuration information. However, the above DPGA literature does not describe a method for switching each configuration information. .
[0011]
In the programmable logic device, if configuration information is not set when the power is turned on, a wiring that should not be connected may be connected. At this time, if the wiring is driven to different logic states by different drivers, the voltage on the wiring becomes unstable (wiring signal conflict), which may cause a large current consumption. As a countermeasure against this, a method of disabling the logic block output driver before turning on the power supply and writing the configuration information is used (P. Chow et al., IEEE Transaction on Very Large Scale Integration Systems, vol. 7, No. 3, pp. 321-330, September 1999).
[0012]
[Problems to be solved by the invention]
However, the conventional programmable logic device has the following problems.
[0013]
First, in the conventional programmable logic device, the number of logic gates per unit area is small, and the configuration information is lost when the power is turned off. For this reason, in order to use a programmable logic device, at least two chips of a programmable logic device and a non-volatile memory are required, which causes a problem of an increase in cost due to an increase in the number of devices and an increase in board area.
[0014]
In the programmable logic device disclosed in Japanese Patent No. 3121862 which uses a ferroelectric memory as a configuration memory, the data recall of the ferroelectric memory at the time of power-on and the data store at the time of power-off cannot be performed normally. There is a possibility that configuration information stored in a nonvolatile memory may be destroyed.
[0015]
Furthermore, before the configuration information is loaded, the data in the configuration memory is an indefinite value, so that a conflict of wiring signals may occur and the circuit operation may become unstable.
[0016]
Normally, the operation starts after the configuration information is written in the configuration memory. However, it takes time to write the configuration information, and it is desired to shorten the time for writing the configuration information.
[0017]
Furthermore, since no measures have been taken with respect to security points in conventional programmable logic devices, configuration information can be stolen or rewritten, so it is desirable to prevent unauthorized use by unauthorized persons. ing.
[0018]
The present invention has been made in view of such points, and the number of logic gates per unit area is small, and the configuration information is not lost when the power is turned off. In programmable logic devices that use body memory, the data in the configuration memory will not be destroyed when the power is turned on or off, the circuit operation will not become unstable before the configuration information is loaded, It is an object of the present invention to provide a programmable logic device that can prevent the writing of configuration information from taking time and prevent theft or rewriting of configuration information in the programmable logic device or unauthorized use of unauthorized information.
[0019]
[Means for Solving the Problems]
FIG. 1 is a principle diagram of the present invention that achieves the above object.
The programmable logic device according to the present invention includes a logic block 1 capable of realizing various logic functions, a programmable wiring 2 capable of changing a connection state, a programmable I / O block 3 capable of changing an input / output state, the logic block 1, and a programmable wiring. 2 and ferroelectric memories 4, 5, 6 that store configuration information that defines the operation of the programmable I / O block 3, and a plurality of configuration information stored in the ferroelectric memories 4, 5, 6. Information selection means 7, 8, and 9 for setting one to the logic block 1, the programmable wiring 2, and the programmable I / O block 3, respectively.
[0020]
  The use of the nonvolatile ferroelectric memories 4, 5, and 6 as the configuration memory for storing the configuration information eliminates the need for having a non-volatile memory of another chip outside, and increases the cost of the device. The problem of an increase or an increase in board area can be solved.
The logic block 1 receives the combinational logic circuit block, the flip-flop for storing the output state of the combinational logic circuit block, the output of the combinational logic circuit block and the output of the flip-flop, and the combinational logic circuit block according to the configuration information. And a multiplexer that selects and outputs the output of the flip-flop. The flip-flop is enabled when the output of the flip-flop is selected as the output of the multiplexer according to the configuration information, and the output of the multiplexer according to the configuration information. A configuration having an enable terminal connected to the configuration memory, which is disabled when the output of the combinational logic circuit block is selected as By the, based on the configuration information stored in the configuration memory, it can store the information before switching the configuration information to the flip-flop. That is, in the disabled state, the multiplexer outputs the current logical operation, and the flip-flop can store the calculation result in the previous operating state.
[0021]
Each ferroelectric memory 4, 5, 6 has a plurality of pieces of configuration information, and these pieces of pieces of configuration information are supplied from a control signal generated in the logic block 1 or from the outside of the programmable logic device. The information selection means 7, 8, 9 that receives the control signal selects and defines the configuration of the logic block 1, the programmable wiring 2 and the programmable I / O block 3. As a result, a single logic block 1, programmable wiring 2 and programmable I / O block 3 can realize a plurality of types of logic operations, and the number of logic gates can be reduced even if the number of logic gates per unit area is small. It can be made substantially larger.
[0022]
In the programmable logic device of the present invention, the circuit is configured such that the configuration information stored in the ferroelectric memories 4, 5, and 6 does not break when the power is turned on and off. In other words, when the programmable logic device has a power supply voltage detection circuit and the power supply is turned on, the power supply voltage is first applied to the ferroelectric memories 4, 5, and 6 and the data recall operation is executed. If the power supply voltage exceeds a predetermined voltage after detecting that the voltage exceeds the voltage required for the above, a control voltage and a power supply are applied so that the ferroelectric memories 4, 5 and 6 are not erroneously reproduced. After execution of the sequence, the logic operation of the programmable logic device is started.
[0023]
When the power is shut off, first, it is detected that the power supply voltage has become a predetermined value or less, and the data is written to the ferroelectric memories 4, 5 and 6 after the power is shut off. Writing is performed by applying a control signal so that the recorded information is not destroyed in the short term or in the long term.
[0024]
In the programmable logic device of the present invention, the logic state is changed.RegulationWhether or not configuration information to be written has been written is stored in the ferroelectric memory. As a result, instability of operation such as conflict of wiring signals can be removed when configuration is not performed.
[0025]
Furthermore, in the programmable logic device of the present invention, a plurality of configuration information must be written to the configuration memory, but can be simultaneously written by a plurality of data streams. In addition, the configuration information can be changed in the background while executing a specific logical operation. As a result, the configuration information writing time can be shortened.
[0026]
In the programmable logic device of the present invention, information unique to each device can be stored in a nonvolatile ferroelectric memory. As a result, when writing or reading the configuration information, authentication with the unique information stored in the programmable logic device is performed, and only when the authentication result is correct, writing or reading is possible. Information theft and rewriting can be prevented. Also, when executing logical operations, authenticate with unique information stored in the programmable logic device, and prevent unauthorized use by enabling logical operations only when the authentication result is correct Can do.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
First, an outline of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram showing the basic configuration of a programmable logic device according to the present invention.
[0028]
The programmable logic device according to the present invention includes a logic block 1 capable of realizing various logic functions, a programmable wiring 2 capable of changing a connection state, a programmable I / O block 3 capable of changing an input / output state, the logic block 1, and a programmable wiring. 2 and ferroelectric memories 4, 5, 6 that store configuration information that defines the operation of the programmable I / O block 3, and a plurality of configuration information stored in the ferroelectric memories 4, 5, 6. Information selection means 7, 8 and 9 for setting one to the logic block 1, the programmable wiring 2 and the programmable I / O block 3, respectively, and a plurality of these are combined to form one DPGA or FPGA LSI. .
[0029]
Ferroelectric memories 4, 5, and 6 are used as nonvolatile configuration memories that store configuration information. Since the configuration information is stored in the non-volatile memory inside the LSI, it is possible to remove external PROMs and EEPROMs conventionally required for the FPGA and realize an inexpensive board system. it can.
[0030]
Each ferroelectric memory 4, 5, 6 has a plurality of pieces of configuration information, and these pieces of pieces of configuration information are supplied from a control signal generated in the logic block 1 or from the outside of the programmable logic device. The information selection means 7, 8, 9 that receives the control signal is selected to define the configuration of the logic block 1, the programmable wiring 2, and the programmable I / O block 3. By mounting a plurality of configuration information on one LSI, a single logic block 1, programmable wiring 2 and programmable I / O block 3 can realize a plurality of types of logic operations, and the logic per unit area can be realized. Even if the number of gates is small, the number of logic gates can be substantially increased, and a more efficient logic gate can be realized.
[0031]
The logic block 1 of the programmable logic device includes a combinational logic circuit block (lookup table), a flip-flop, and a multiplexer. The flip-flop has an enable terminal, and an enable signal and a multiplexer supplied to the enable terminal. By simultaneously controlling these output selection signals, the logic block 1 can be used more effectively.
[0032]
Furthermore, by using the ferroelectric memories 4, 5, and 6 as read-only memories, it is possible to provide data required for the logic block with a small area. By adding a circuit that can read the address space of the read-only memory even in different contexts, it is possible to further increase the degree of freedom.
[0033]
The programmable logic device of the present invention has a circuit configuration in which the configuration information stored in the ferroelectric memories 4, 5, 6 is not destroyed when the power is turned on and off. In other words, when the programmable logic device has a power supply voltage detection circuit and the power supply is turned on, the power supply voltage is first applied to the ferroelectric memories 4, 5, and 6 and the data recall operation is executed. If the power supply voltage exceeds a predetermined voltage after detecting that the voltage exceeds the voltage required for the above, a control voltage and a power supply are applied so that the ferroelectric memories 4, 5 and 6 are not erroneously reproduced. After execution of the sequence, the logic operation of the programmable logic device is started.
[0034]
When the power is shut off, first, it is detected that the power supply voltage has become a predetermined value or less, and the data is written to the ferroelectric memories 4, 5 and 6 after the power is shut off. The information is written by applying a control signal so that the information is not destroyed for a short time or for a long time, and then the power is shut off.
[0035]
Thus, by appropriately controlling the control voltage applied to the ferroelectric memories 4, 5, 6 when the power supply of the ferroelectric memories 4, 5, 6 is turned on or when the power supply is cut off The configuration information is not destroyed and stable LSI operation is enabled.
[0036]
In the programmable logic device of the present invention, information indicating whether or not configuration information for defining a logic state has been written is stored in the ferroelectric memory. As a result, it is possible to eliminate the conflict of wiring before the configuration information is written, or the operation instability of the peripheral logic circuit.
[0037]
Furthermore, in the programmable logic device of the present invention, a plurality of pieces of configuration information must be written into the ferroelectric memories 4, 5, 6 so that the plurality of pieces of configuration information can be written simultaneously by a plurality of data streams. It is composed. In addition, the configuration information can be changed in the background while a specific logical operation is being executed.By providing a plurality of data paths, the writing of configuration information is speeded up, and the number of effective logic gates in the device can be increased by enabling writing during logic execution.
[0038]
Finally, the programmable logic device of the present invention is configured to store information unique to a nonvolatile ferroelectric memory. As a result, when writing or reading the configuration information, authentication with the unique information stored in the programmable logic device is performed, and writing or reading is possible only when the authentication result is correct. Configuration information can be prevented from being stolen or rewritten. In addition, when executing a logical operation, authentication with unique information stored in the programmable logic device is performed, and only when the authentication result is correct, the logical operation can be executed, thereby preventing unauthorized persons from being authenticated. Use can be prevented.
[0039]
Next, the case where the embodiment of the present invention is applied to an LSI of a programmable logic device will be described in detail as an example.
FIG. 2 is a schematic view illustrating an entire circuit of a programmable logic device using a ferroelectric memory.
[0040]
The illustrated programmable logic device 10 includes a plurality of logic block arrays 11 that can be arranged in a matrix at the center of the programmable logic device 10 to form a desired combinational logic circuit. Around these logic block arrays 11, a plurality of programmable wirings (PIC) 12 that can freely perform desired connections are arranged. A plurality of programmable I / O blocks 13 that can be set as signal input or signal output to pads provided corresponding to the external terminals of the LSI are arranged on the outer periphery of the LSI chip, and the inside thereof is arranged. The read-only memory 14 configured by a configuration memory is arranged. This configuration memory is composed of a ferroelectric memory.
[0041]
Next, details of each component will be described.
FIG. 3 is a schematic diagram showing the logic block array in more detail.
The logical block array 11 includes a plurality of, in the illustrated example, 16 logical blocks 21 and a memory control circuit 22. Each logic block 21 includes a plurality of, in the illustrated example, eight configuration memories 23 made of ferroelectric memory cells, as shown on the left side of FIG.0~ 237And this configuration memory 230~ 237, A load circuit 24 for writing configuration information, a 4-input look-up table 25 and a flip-flop and output multiplexer 26 constituting a logical block.
[0042]
The load circuit 24 is composed of, for example, a 17-bit shift register. The load circuit 24 shifts configuration information supplied from the outside bit by bit. When the shift is completed, the stored configuration information is transferred to the configuration memory 23.0Write to. The writing by the load circuit 24 is the eighth configuration memory 23.7The process is repeated until the data is written.
[0043]
8 configuration memories 230~ 237For example, the configuration information to be used first is stored in the first configuration memory 23.0By writing to, the logic operation specified by the configuration information can be executed immediately at the end of writing, and the remaining configuration information can be written in the background during the operation. There is an advantage that writing time and start-up time can be shortened.
[0044]
FIG. 4 is a diagram showing a configuration example of a 4-input lookup table.
As shown in FIG. 3, the four-input look-up table 25 is a configuration memory 23 that can handle a total of eight types of logic operations.0~ 23716-bit memory 27 and 16-to-1 multiplexer 28. The 16-bit memory 27 can be composed of SRAM type cells or ferroelectric memory cells. The multiplexer 28 has a function of selecting one of the outputs of the 16-bit memory 27 and has four inputs A, B, C, and D serving as logic block inputs.
[0045]
Here, by changing the contents of the 16-bit memory 27, a combinational logic circuit such as an AND gate, a NAND gate, an AND gate with an inverting input, an OR gate, a NOR gate, an exclusive OR gate, and an AND-OR gate is provided. Can be configured. For example, the configuration memory 230In FIG. 4, if the contents are supplied such that the output is 1 when all the inputs are 1 and the other inputs are 0, the 4-input look-up table 25 is operated as a 4-input AND. Can be set. In addition, the configuration memory 231Is set to execute 4-input OR, and further, the configuration memory 232Can be set to execute the function A + B for two inputs. In general, the size of the configuration memory is very small as compared with the wiring area that occupies the largest area in the programmable logic device 10, and therefore the increase in area due to the increase in the configuration memory is substantially reduced. This method is advantageous because it is much smaller than the increase in logic gates.
[0046]
FIG. 5 is a diagram showing a more detailed configuration example of the load circuit and the configuration memory.
Load circuit 24 and configuration memory 230~ 237Includes a shift register 30 for transferring configuration information, a write circuit 31 for writing data from the shift register 30 to the ferroelectric memory, a ferroelectric memory cell array 32, and the ferroelectric memory cell array. The output buffer 33 outputs the data written in 32 to the 4-input lookup table 25, and the read path 34 can read the contents of the memory to the shift register. Note that the output buffer 33 may include a memory read sense amplifier as necessary.
[0047]
Here, a load circuit 24 and a configuration memory 23 for the logic block 21 are used.0~ 237However, the load circuit and the configuration memory in the other programmable wiring 12 and programmable I / O block 13 have the same configuration. The configuration memory of the programmable wiring 12 is used for wiring connection control, and the programmable I / O block 13 is used for I / O port input / output control.
[0048]
The ferroelectric memory cell array 32 has a word line WL and a plate line PL, and the write circuit 31 has a write line WE in order to write to the ferroelectric memory cell and control a configuration memory composed of these. It is connected to the memory control circuit 22 in the logic block array 11 shown in FIG. Note that the same number of word lines WL as the number of configuration information (eight) are prepared.
[0049]
FIG. 6 is a circuit diagram showing a first configuration example of the ferroelectric memory cell.
According to the first configuration example of the ferroelectric memory cell, the transistors M1 and M2 and the transistors M3 and M4 each constitute an inverter, and each is coupled in a cross couple to constitute a memory cell. . The sources of the transistors M1 and M3 are connected to the power supply voltage PWR line, and the sources of the transistors M2 and M4 are connected to the ground voltage VSS line. Transistors M5 and M6 are connected to the outputs of these inverters, respectively. These transistors M5 and M6 are also connected to the bit lines BL and XBL, and constitute access transistors for taking out the stored information or taking in write data. The gates of the transistors M5 and M6 are connected to the word line WL [x] (x: 0 to 7). Note that the transistor M6 can be omitted when only 1-bit non-inverted information is to be extracted. Ferroelectric capacitors FC1 and FC2 have one terminal connected to storage nodes S1 and S2 of the memory cell, respectively, and the other terminal connected to plate line PL. This plate line PL is used to control writing to the memory cell and at the same time to prevent deterioration of the characteristics of the ferroelectric substance due to the high voltage of the memory cell being applied in the data holding state. The As the ferroelectric capacitor, a ferroelectric material mainly composed of PZT (lead zirconate titanate) or a ferroelectric material having a bismuth layered perovskite structure such as SBT (bismuth strontium tantalate) is used. it can.
[0050]
FIG. 7 is a circuit diagram showing a second configuration example of the ferroelectric memory cell. In FIG. 7, the same components as those in FIG. 6 are denoted by the same reference numerals.
The second configuration example of the ferroelectric memory cell is similar to the configuration example of FIG. 6, but the ferroelectric capacitors FC3 and FC4 are added, and the second configuration example is used as an electrode opposed to the storage nodes S1 and S2. Plate line PL2 is installed. The ferroelectric memory cell to which the ferroelectric capacitors FC3 and FC4 are added is stored in the ferroelectric memory cell when the power is turned on after the power is turned off, as compared with the ferroelectric memory cell of FIG. The data recall characteristics that indicate whether the data that has been stored can be read correctly are excellent.
[0051]
FIG. 8 is a diagram showing the state of the control signal in each operation of the ferroelectric memory.
The writing and reading operations of the ferroelectric memory cells having the first and second configurations are the same as those of a normal SRAM, and the difference is the setting of the plate lines PL (plate lines PL1 and PL2 in FIG. 7). is there.
[0052]
First, at the time of writing, a high control signal is applied to the write line WE and the word line WL, and a pulse voltage of High → Low is applied to the plate lines PL (PL1, PL2). Here, the operation differs from that of a normal SRAM in that a sequence of applying a pulse voltage of High → Low is added to the plate line PL (PL1, PL2). As a result, a predetermined write voltage is applied to the ferroelectric capacitor to perform writing.
[0053]
Note that the configuration information is switched by selecting different write lines WL (eight write lines WL are present in the example of FIG. 3) and performing reading. During the read operation, it is the same as a normal SRAM, a low control signal is applied to the write line WE, a high control signal is applied to the word line WL, and the plate lines PL (PL1, PL2) are imprinted. In order to prevent the characteristic fluctuation of the ferroelectric memory called, it is set to half of the power supply voltage Vdd. Thereby, the ferroelectric memory is read.
[0054]
In the logic operation in the data holding state, a low control signal is applied to the write line WE and the word line WL, and a voltage half the power supply voltage Vdd is applied to the plate lines PL (PL1, PL2). .
[0055]
Next, the configuration of the programmable wiring 12 constituting the programmable logic device will be described.
FIG. 9 is a diagram showing the configuration of the programmable wiring.
[0056]
The programmable wiring 12 includes a configuration memory 40 using ferroelectric memory cells and a pass transistor 41, and connects the output of the configuration memory 40 to the gate of the pass transistor 41.
[0057]
The configuration memory 40 can have the same configuration as the configuration memory for the logic block shown in FIG. The pass transistor 41 is disposed at the intersection of the column line and the row line of the wiring, and one of the drain and the source is connected to the column line and the other is connected to the row line.
[0058]
The pass transistor 41 is controlled to be turned on / off by the High / Low levels of the data output from the configuration memory 40, and controls the connection of the wiring by conducting or blocking between the drain and the source. To reduce the capacity of the configuration memory, a multiplexer-type crossbar used by A. DeHon “Dynamically Programmable Gate Arrays: A Step Toward Increased Computational Density” (Fourth Canadian Workshop of Field-Programmable Devices, 1996). Can also be used.
[0059]
Next, the configuration of the programmable I / O block 13 constituting the programmable logic device 10 will be described.
FIG. 10 is a diagram showing the configuration of the programmable I / O block.
[0060]
The programmable I / O block 13 takes in the buffer 43 whose input is connected to the pad 42 used for data input / output and the data input to the pad 42 connected to the output of the buffer 43 into the programmable logic device 10. A flip-flop 44, a flip-flop 45 that takes out data from the programmable logic device 10, a tri-state buffer 46 that is connected to the output of the flip-flop 45 and controls data output to the pad 42, and a ferroelectric memory cell are used. The configuration memory 47 and a flip-flop 48 that supplies an inverted signal of output enable to the tri-state buffer 46 according to the contents of the configuration memory 47 are provided. The configuration memory 47 can have the same configuration as the configuration memory for the logic block shown in FIG.
[0061]
In the above configuration, the flip-flop 48 supplies the contents of the configuration memory 47 to the output enable inverted input of the tristate buffer 46 in synchronization with the clock. At this time, when the inverted signal of the output enable is, for example, High, the output of the tristate buffer 46 becomes high impedance, so that the pad 42 is set for data input. Therefore, since the data supplied to the pad 42 is supplied to the flip-flop 44 via the buffer 43, the flip-flop 44 captures the data input to the pad 42 in the programmable logic device 10 in synchronization with the clock. Works. On the contrary, when the inverted signal of the output enable is Low, the logic state of the input and output of the tristate buffer 46 becomes equal, so that the flip-flop 45 synchronizes the output data of the programmable logic device 10 to the pad 42 in synchronization with the clock. Acts to supply. As described above, the programmable I / O block 13 can input / output the I / O port according to the output of the configuration memory 47.Regulationcan do.
[0062]
Next, the programmable logic device 10 has a plurality of pieces of configuration information. How to switch the configuration information will be described.
[0063]
FIG. 11 is a diagram for explaining the switching operation of the configuration information.
The programmable logic device 10 includes a configuration ID (IDentifier) / command distribution circuit 50. The configuration ID / command distribution circuit 50 receives a command CIDEXT for switching configuration information from the outside of the programmable logic device 10 or a command CIDINT for switching configuration information from the logic block 21 inside the programmable logic device 10, and generates ferroelectricity. It is configured to be supplied to each of the logic block 21, the programmable wiring 12, and the programmable I / O block 13 in which the configuration memory based on the body memory exists.
[0064]
The switching of the configuration information can be given from the outside of the programmable logic device 10 by the command CIDEXT, or can be given from the inside by the command CIDINT. The internal command CIDINT is generated by a sequencer configured in the logic block 21 (the command CIDINT is generated by the logic block 21 although there is a possibility of passing through the programmable wiring 12 on the way).
[0065]
Since there are eight (types) of configuration memories for the logic block 21, the programmable wiring 12, and the programmable I / O block 13, a 3-bit configuration ID (CID [0: 2] is used to identify each configuration. ]) Is defined. The command CIDEXT or the command CIDINT includes a value of CID [0: 2] indicating a configuration information switching destination and a configuration information switching command.
[0066]
When receiving the command CIDEXT or the command CIDINT, the configuration ID / command distribution circuit 50 sends the value of CID [0: 2] and the configuration information switching command to the logic block 21, the programmable wiring 12, and the programmable I / O block 13. Thus, one of the eight configuration memories is selected, and the logic block 21, the programmable wiring 12, or the programmable I / O block 13 is stored in the selected configuration memory. The logic function is switched according to the operation information.
[0067]
Next, a specific configuration example of the logical block 21 will be described.
FIG. 12 is a circuit diagram showing the configuration of a conventional logic block, and FIG. 13 is a circuit diagram showing the configuration of the logic block used in the programmable logic device of the present invention.
[0068]
According to the configuration of FIG. 12 in which a conventional logical block is modeled, a configuration memory 51 that stores one configuration information, a lookup table 52 that forms a combinational logical block, a flip-flop 53, and a lookup table 52 Alternatively, it comprises a 2: 1 multiplexer 54 for switching the output of the flip-flop 53. This configuration is a general configuration adopted in the FPGA.
[0069]
On the other hand, the logic block 21 used in the programmable logic device of the present invention includes a configuration memory 55 that stores a plurality of configuration information, a lookup table 56, a flip-flop 57 having an enable terminal EN, and a lookup. A control signal for switching the multiplexer 58 from the configuration memory 55 is supplied to the enable terminal EN of the flip-flop 57. The table 56 or the flip-flop 57 has a 2: 1 multiplexer 58 for switching the output. The output of the flip-flop 57 can be supplied to the outside. Since the flip-flop 57 can store information before switching the configuration by providing the enable terminal EN, the flip-flop 57 can have a memory function in addition to the flip-flop function.
[0070]
When the multiplexer 58 selects the output of the flip-flop 57, a high-level control signal is supplied to the selection control terminal of the multiplexer 58 and the enable terminal EN of the flip-flop 57. At this time, the flip-flop 57 is enabled, latches the information read by the clock input and outputs the latched information to the multiplexer 58, and the multiplexer 58 selects and outputs it, so that the same operation as the conventional logic block is performed. .
[0071]
When the multiplexer 58 selects the output of the lookup table 56, a low level control signal is supplied from the configuration memory 55 to the selection control terminal of the multiplexer 58 and the enable terminal EN of the flip-flop 57. As a result, the flip-flop 57 is disabled. By doing this, the lookup table 56Enables the same operation as beforeIn addition, the information of the flip-flop 57 that stores the execution results in the previous configuration can be used in the configuration. In particular, if the circuit configuration is such that the output of the flip-flop 57 can be fed back to the input side (it can be connected to one of the logic block inputs of the lookup table 56), a memory for storing the result of the previous configuration can be provided. Without providing a new configuration, it is possible to obtain a calculation result output processed by the combinational logic circuit by using the result of the previous configuration as an input.
[0072]
Next, a description will be given of a method for protecting configuration information from destruction when the ferroelectric memory is powered on and off. As described in the prior art, normal recovery (data recall) of stored information is difficult even if the power is supplied as it is to the ferroelectric memory cell as shown in FIG. When the power supply rises, the voltages of the storage nodes S1 and S2 are determined according to the side where the NMOS transistors M2 and M4 of the latch circuit of FIG. 6 are turned on first. At this time, both ends of the ferroelectric capacitors FC1 and FC2 are determined. Is at most 0.5V, and there is almost no relative capacitance ratio between the ferroelectric capacitors FC1 and FC2, and there is a possibility of erroneous reading during data recall (this is equivalent to data destruction). . Before the power supply is cut off, the plate line PL in FIG. 6 and the plate lines PL1 and PL2 in FIG. 7 are set to Vdd / 2 to ensure long-term reliability of the ferroelectric memory. It is desirable to apply a full power supply voltage to the ferroelectric capacitors FC1 and FC2 once (data store). Here, a method for automatically executing data recall and data store inside a programmable logic device will be described.
[0073]
FIG. 14 is a diagram showing an example of a power control circuit for a ferroelectric memory, and FIG. 15 is a diagram for explaining power control in a ferroelectric memory-based configuration memory.
[0074]
The power supply control circuit includes a power supply voltage detection / supply circuit 61 in parallel with the smoothing capacitor 60 connected to the external power supply terminal. The power supply voltage detection / supply circuit 61 supplies the input power supply voltage Vdd as the power supply voltage PWR to the memory control circuit 62 and outputs a power supply voltage detection signal PDET that detects the rise and shut-off of the power supply voltage to the memory control circuit 62. Configured toThising. The memory control circuit 62 is configured to output a power control signal ENX, a ground control signal EN, and a ferroelectric memory cell control signal to the configuration memory 63 based on the ferroelectric memory. In the case of the logical block 21 shown in FIG.ThisThe memory control circuit 62 corresponds to the memory control circuit 22, and the configuration memory 63 corresponds to the configuration memory 23.0~ 237Corresponding to
[0075]
As shown in FIG. 15, the configuration memory 63 includes ferroelectric memory cells of the type shown in FIGS. 6 and 7 arranged as a configuration memory. The configuration memory 63 has a power supply voltage PWR. The transistor PT1 is provided for controlling (supplying) the transistor NT1, and the transistor NT1 is provided for controlling (supplying) the ground voltage VSS.
[0076]
When the power supply is turned on, the memory control circuit 62 turns off the transistors PT1 and NT1 in advance, and after the power supply voltage detection / supply circuit 61 detects a sufficient voltage, in the ferroelectric memory cell of the type shown in FIG. In the ferroelectric memory cell of the type shown in FIG. 7, the plate line PL1 is driven from low to high while the plate line PL2 is fixed at the ground potential GND. As a result, a voltage reflecting the voltage accumulated before power-off is induced in the storage nodes S1 and S2 of each ferroelectric memory cell. In the case of the ferroelectric memory cell of the type shown in FIG. 6, assuming that 0V is originally stored in the storage node S1 and 3.3V is stored in the storage node S2, when the plate line PL is driven from Low to High, A voltage of 3.00V is induced in the storage node S1, and 3.22V is induced in the storage node S2. In the case of the ferroelectric memory cell of the type of FIG. 7, assuming that 0V is originally stored in the storage node S1 and 3.3V is stored in the storage node S2, when the plate line PL1 is driven from Low to High, A voltage of 0.65V is induced in the storage node S1, and 2.59V is induced in the storage node S2. Thereafter, when the memory control circuit 62 turns on the transistors PT1 and NT1 by the power supply control signal ENX and the ground control signal EN and supplies the power supply voltage PWR, each ferroelectric memory cell of the configuration memory 63 performs a latch operation. Recover the data that was originally stored. After that, if the reset of the chip is released and the logic operation of the programmable logic device 10 is executed, the logic operation using the configuration information stored originally can be executed.
[0077]
When the power supply is shut off, after the power supply voltage detection / supply circuit 61 detects a drop in the power supply voltage, the plate lines PL (PL1, PL2) that were originally set to Vdd / 2 are changed from High to Low. After writing to the ferroelectric memory cell, the transistors PT1 and NT1 are turned off. At this time, all the word lines WL are set to Low and are not selected or only one is selected.
[0078]
FIG. 16 is a circuit diagram showing a configuration example of a power supply voltage detection unit of the power supply voltage detection / supply circuit.
The power supply voltage detection unit includes a rise detection circuit 64 for detecting the rise of the power supply voltage, a fall detection circuit 65 for detecting the fall of the power supply voltage, and an RS flip-flop circuit composed of two NAND gates 66 and 67. The operation is performed at a voltage sufficiently lower than the power supply voltage Vdd, for example, 1 V or more.
[0079]
The rising edge detection circuit 64 includes two resistors 64a and 64b connected in series and a comparator 64c. The comparator 64c applies the power source voltage Vdd applied to the smoothing capacitor 60 shown in FIG. 14 to the resistors 64a and 64b. When the power supply voltage Vdd becomes 3.0 V or higher, the Low voltage is output. The fall detection circuit 65 includes two resistors 65a and 65b connected in series and a comparator 65c. The comparator 65c divides the power supply voltage Vdd by the resistors 65a and 65b and the reference voltage Vref. If the power supply voltage Vdd becomes 2.7 V or lessLowIs output. Here, as the reference voltage Vref, for example, a bandgap reference circuit is used, and a stable voltage of 1.1 V (with very little characteristic fluctuation with respect to power supply fluctuation and temperature fluctuation) is obtained.
[0080]
When the power supply voltage detection unit detects 3.0 V, it outputs High as the power supply voltage detection signal PDET, and once the voltage rises, it holds High as the power supply voltage detection signal PDET until it becomes 2.7 V or less. The circuit is provided with a margin against an instantaneous drop in the power supply accompanying an increase in load.
[0081]
Next, a problem when the configuration information is not written and countermeasures will be described.
FIG. 17 is a schematic diagram of a programmable wiring using a ferroelectric memory cell-based configuration memory, and FIG. 18 is a diagram showing a configuration example of the programmable wiring in the present invention.
[0082]
As shown in FIG. 17, the programmable wiring of the programmable logic device has a plurality of wiring tracks 70 and 71, and pass transistors 72 and 74 and pass transistors 73 and 75 are connected to these wiring tracks 70 and 71. The first to fourth outputs of the configuration memory are connected to the pass transistors 72 to 75, and further, the first to fourth outputs from the look-up table are connected via the output buffers 76 to 79. .
[0083]
Before writing data in the ferroelectric memory cell, the first to fourth outputs of the configuration memory are in an indefinite state. For this reason, in some cases, for example, the first and third outputs of the configuration memory may simultaneously turn on the pass transistors 72 and 74 connected to the same wiring track 70. Similarly, the first to fourth outputs of the lookup table are also the same.RegulationTherefore, there is a possibility that the first output is High and the third output is Low. As a result, the high output and the low output compete for the wiring track 70. As a result, the potential of the wiring track 70 is maintained at an intermediate potential, and a large current flows.
[0084]
In order to prevent this, the conventional SRAM cell-based program logic device is configured to disable output from the look-up table until the configuration information is written after the device power is supplied. ing. However, in a programmable logic device using a ferroelectric memory, the configuration information needs to be written only once (ideally), so the output from the lookup table is disabled every time the power is turned on. There is no need.
[0085]
Therefore, in the present invention, the configuration shown in FIG. 18 prevents the conflict of the programmable wiring. In this configuration, AND gates 80 to 83 are provided at the gates of the pass transistors 72 to 75, and the first to fourth outputs of the configuration memory are connected to the first inputs of the AND gates 80 to 83. The fifth input of the configuration memory is connected to the second input of .about.83. In the ferroelectric memory cell related to the fifth output of the configuration memory, information indicating whether or not configuration information has been written is stored.
[0086]
When the power supply is turned on, the first to fourth outputs of the configuration memory are supplied to the pass transistors 72 to 75 based on the information stored in the ferroelectric memory cell related to the fifth output of the configuration memory. Control whether or not to do. That is, if the information stored in the ferroelectric memory cell related to the fifth output of the configuration memory is information before writing, all the AND gates 80 to 83 are closed and the first to the first of the configuration memory are closed. The output of No. 4 is forcibly disabled, and if it is written information, it is enabled to prevent the wiring tracks 70 and 71 from causing a bus conflict.
[0087]
Here, the problem when the configuration information is not written has been described in the case of the programmable wiring. However, such a countermeasure for not performing the configuration is also necessary in the circuit for switching the configuration information shown in FIG. 11, for example. It is. This is because a configuration change command may continue to be output from inside the chip when the configuration information is not yet written. Also in this case, if the configuration is not performed, the configuration ID / command distribution circuit 50 has a circuit configuration that ignores the input from the internal signal.
[0088]
Information about whether or not configuration information has been written is necessary for all configuration information (ID). The fact that the configuration information has not been written is written by the manufacturer of the programmable logic device and shipped to the user. In order to prevent the above-described bus conflict that occurs when configuration information is not yet written or an illegal operation of a logic circuit, a manufacturer can prepare test pins and specify that configuration is not performed from the outside. .
[0089]
Next, the read-only memory 14 based on the configuration memory will be described. In a general logic circuit, a read-only memory is used for storing constants, and the number of logic gates per unit area can be improved.
[0090]
FIG. 19 is a diagram showing a configuration example of a read-only memory based on a configuration memory.
A multiplexer 91 is connected to the output side of the configuration memory 90, and this multiplexer 91 is connected to the logic block 92 via an address line and a data line. In addition, a read-only memory control circuit 93 is connected to the configuration memory 90. The read-only memory control circuit 93 includes a 3-bit configuration ID (CID [0: 2]) for specifying the configuration from the configuration ID / command distribution circuit, and a ROM mode selection signal from the logic block 92. Is configured to receive.
[0091]
The configuration memory 90 has a configuration in units of 32 bits, for example. Therefore, when performing a logical operation according to the configuration based on the configuration ID, the multiplexer 91 selects necessary data from 32-bit data by the address sent from the logical block 92 and sends it to the logical block 92. . In this case, only the 32 bits that are one output of the configuration memory 90 specified by the configuration ID can be selected. At this time, the ROM mode selection signal from the logic block 92 is Low, for example.
[0092]
When the ROM mode selection signal is High, a 3-bit address signal is sent together from the logic block 92. This 3-bit address signal is for selecting one of the eight configurations. In this case, the read-only memory control circuit 93 selects one configuration from the configuration memory 90 by a 3-bit address signal. The 32-bit data of the selected configuration is sent to the multiplexer 91, and necessary data is selected from the 32-bit data by the address sent from the logical block 92 and sent to the logical block 92.
[0093]
In this way, when the ROM mode selection signal is Low, the data included in the configuration information that defines the logical operation being executed can be read, and when the ROM mode selection signal is High, the ROM mode selection signal is High. The configuration data selected by the 3-bit address signal sent from the logic block 92 can be read out.
[0094]
Next, writing and reading of configuration information will be described.
20 is a diagram illustrating configuration information data transfer, FIG. 21 is a diagram illustrating an example of a configuration information data stream supplied from the outside of the chip, and FIG. 22 is a diagram illustrating configuration information data writing. .
[0095]
The programmable logic device includes a plurality of logic blocks, programmable wirings, and programmable I / O blocks. Writing and reading of configuration information to and from the configuration memory included in the plurality of logic blocks, programmable wirings, and programmable logic devices are possible. The I / O block is divided into a plurality of groups. In the illustrated example, the first group includes a first logic block 100, a first programmable wiring 101, a second logic block 102, and a first programmable I / O block 103. A circuit 104 is provided. The second group includes a third logic block 105, a second programmable wiring 106, a fourth logic block 107, and a second programmable I / O block 108, and one configuration circuit 109. Is provided. To transfer configuration information to the configuration memories of the first logic block 100, the first programmable wiring 101, the second logic block 102, and the first programmable I / O block 103 of the first group, respectively. Shift registers 100a, 101a, 102a, and 103a corresponding to the shift register 30 of FIG. 5 are included, and the second group of the third logic block 105, the second programmable wiring 106, the fourth logic block 107, and The configuration memory of the second programmable I / O block 108 includes shift registers 105a, 106a, 107a, and 108a for transferring configuration information. The configuration circuit 104 and the shift registers 100a, 101a, 102a, and 103a are connected in cascade, and are connected to the configuration circuit 104 by a read path from the configuration memory of the first programmable I / O block 103. The configuration circuit 109 and the shift registers 105a, 106a, 107a, and 108a are connected in cascade, and are connected to the configuration circuit 109 from the configuration memory of the second programmable I / O block 108 by a read path.
[0096]
As described above, in order to write and read the configuration information, the configuration memory is divided into a plurality of groups and can be executed simultaneously. With this configuration, configuration information can be written and read at high speed.
[0097]
When a configuration information write or read command is input, the configuration circuits 104 and 109 interpret the command and write or read configuration information.
[0098]
Configuration information is sent from the outside of the LSI to the configuration circuits 104 and 109 through pins. The configuration circuit 104 includes a shift register 100a of the first logic block 100 and a first programmable wiring 101.ofShift register 101a, second logic block 102ofConfiguration information is sequentially sent to the shift register 102 a and the shift register 103 a of the first programmable I / O block 103. In each of the shift registers 100a, 101a, 102a, and 103a, necessary configuration information is written from the transferred data to the ferroelectric memory cell array by a writing circuit. Similarly, the configuration circuit 109 sequentially sends configuration information input from outside the LSI to the shift registers 105a, 106a, 107a, and 108a. In this way, configuration information is supplied to the configuration memory of the entire LSI.
[0099]
As shown in FIG. 21, the configuration information data stream supplied from outside the LSI includes a synchronization signal, a command, write data, and CRC (Cyclic Redundancy Check). 109, only necessary configuration information is sent to the shift register string. The CRC is used for error checking, and when an error occurs, it requests the LSI external system to transmit data again.
[0100]
The configuration information sent to the shift registers 100a, 101a, 102a, 103a, 105a, 106a, 107a, and 108a is not immediately written to the configuration memory. One reason is to prepare for a case where an error is mixed during transmission of configuration information. Another point is that if the configuration information can be rewritten during the logic execution of the LSI, it is possible to execute a logical operation of eight or more pieces of configuration information stored in the eight LSIs. Therefore, as shown in FIG. 22, during logic execution, the configuration ID / command distribution circuit 110 receives a command (configuration switching and configuration information write command) and a configuration ID (CID) input from outside the LSI. Thus, the configuration information stored in the shift register 112 of the configuration memory 111 is written to a predetermined position of the ferroelectric memory cell array 114 using the write circuit 113. When data is written, data is supplied to the bit lines BL and XBL of the ferroelectric memory cells shown in FIGS. 6 and 7, but the output buffer 115 of the configuration memory 111 is disconnected from the bit lines BL and XBL. Therefore, data at the time of writing does not affect the logical operation being executed. When a configuration information change command generated from an internal logical block and an external configuration information write command are generated at the same timing, the former is given priority. With such a circuit configuration, the number of logic gates per unit area of the LSI can be dramatically improved by rewriting configuration information in the background during the operation of the programmable logic circuit.
[0101]
Finally, security of the programmable logic device will be described. In a conventional FPGA using a volatile memory, configuration information can be read and written by anyone. This is because information unique to each LSI cannot be stored. For this reason, there is a possibility that the developed configuration information may be read by another company or rewritten by a malicious other person. In the present invention, by using a ferroelectric memory-based non-volatile memory, information unique to each LSI can be stored, whereby configuration information can be read out by other companies or malicious The possibility of being rewritten by a certain other person is eliminated, and at the same time, unauthorized use by an unauthorized person can be prevented.
[0102]
FIG. 23 is a diagram illustrating an example of a security circuit, and FIG. 24 is a diagram illustrating an example of a data stream of configuration information in consideration of security.
The security circuit is provided in a circuit for writing and reading configuration information. Here, a case where the security circuit is applied to the circuit shown on the left side of FIG. 20 is shown as an example. The security circuit includes a nonvolatile memory 121, an operation authentication circuit 122, and a reset circuit 123. The nonvolatile memory 121 stores a security ID unique to the LSI or the user. As the nonvolatile memory 121, the configuration memory shown in FIG. 3 can be used. In a programmable logic device having a plurality of configuration information, a unique security ID can be provided for each configuration ID. In order to store the security ID for each configuration ID, it is suitable to use a configuration memory. The operation authentication circuit 122 collates the security ID stored in the nonvolatile memory 121 with the security ID included in the operation request command. The reset circuit 123 outputs a chip reset signal before the programmable logic device starts executing a logic operation.
[0103]
First, in writing and reading configuration information, a data stream as illustrated in FIG. 24 is used. This data stream includes a security ID. When the data stream is input, the configuration circuit 104 compares the security ID included in the data stream with the security ID stored in the nonvolatile memory 121, and if they do not match, accepts a write or read command. Do not. This prevents the configuration information from being read or rewritten by a malicious third party.
[0104]
The operation authentication circuit 122 accepts an operation request command from the outside of the LSI, and only when the security ID included in the received operation request command matches the security ID stored in the nonvolatile memory 121, the reset circuit A release request is sent to 123, and the reset circuit 123 issues a reset signal to release the reset state of the circuit. In a programmable logic device having a plurality of configuration information, a unique security ID can be provided and managed for each configuration ID. eachSecurityIn order to store the ID, a configuration memory is used, and only an allowed configuration ID can be executed. Thereby, unauthorized use of the programmable logic device can be prevented.
[0105]
(Supplementary note 1) In a programmable logic device that enables a desired logic operation by setting a configuration from the outside,
A plurality of configuration information is stored for one circuit that enables arbitrary logic operation, and a plurality of logic states are stored.RegulationA plurality of configuration memories, and
Information selecting means for selecting a plurality of pieces of configuration information and enabling a plurality of types of logical operations;
A programmable logic device characterized in that the configuration memory is composed of nonvolatile ferroelectric memory cells.
[0106]
(Supplementary note 2) The programmable logic device according to supplementary note 1, wherein the information selection means can change the configuration information by a control signal generated inside the LSI during operation of the LSI.
[0107]
(Supplementary note 3) The programmable logic device according to supplementary note 1, wherein the information selection means can change the configuration information by a control signal supplied from outside the LSI during the operation of the LSI.
[0108]
  (Supplementary Note 4) A combinational logic circuit block, a flip-flop for storing the output state of the combinational logic circuit block, an output of the combinational logic circuit block and an output of the flip-flop, and the combinational logic circuit according to the configuration information A logic block having a multiplexer that selects and outputs the output of the block or the output of the flip-flop,
  The flip-flop is enabled when the output of the flip-flop is selected as the output of the multiplexer according to the configuration information, and the output of the combinational logic circuit block is selected as the output of the multiplexer according to the configuration information. It has an enable terminal that disables it whenAs described in Appendix 1Programmable logic device.
[0109]
(Supplementary Note 5) First power supply voltage detection means for detecting that the power supply voltage has become equal to or higher than a first predetermined voltage when the power supply is started up, and the first predetermined power supply by the first power supply voltage detection means In response to voltage detection, a high level voltage is applied to the plate line of the ferroelectric memory cell to prevent the ferroelectric memory cell from being erroneously reproduced, and then a power supply voltage is applied to the ferroelectric memory cell. The programmable logic device according to appendix 1, further comprising first power supply control means for controlling the power supply.
[0110]
(Additional remark 6) The 2nd power supply voltage detection means which detects that a power supply voltage became below the 2nd predetermined voltage when a power supply is interrupted, and the 2nd by the 2nd power supply voltage detection means In response to detection of a predetermined voltage, a high level voltage is first applied to the plate line of the ferroelectric memory cell, and then a low level voltage is applied, or conversely, a low level voltage is applied. And a second power supply control means for controlling the power supply voltage to the ferroelectric memory cell to be cut off after the ferroelectric memory cell performs data store after applying a high level voltage. The programmable logic device according to Supplementary Note 1, wherein the programmable logic device is characterized.
[0111]
(Supplementary Note 7) The ferroelectric memory cell has a logic state.RegulationThe programmable logic device according to appendix 1, wherein information indicating whether or not the configuration information to be written has been written.
[0112]
(Supplementary note 8) The programmable logic device according to supplementary note 4, wherein the configuration memory having a plurality of pieces of configuration information is caused to function as a read-only memory whose output can be utilized in the logical block.
[0113]
(Additional remark 9) Read-only memory which controls freely arbitrary configuration information different from the configuration under operation according to a control signal from the logic block so that it can be freely read from the configuration memory functioning as the read-only memory The programmable logic device according to appendix 8, further comprising a control unit.
[0114]
  (Supplementary Note 10) The configuration memories are grouped into a plurality of groups,SaidSimultaneous writing of the configuration information from multiple data streams in multiple groups;SaidThe programmable logic device according to appendix 1, wherein a plurality of data streams are read simultaneously.
[0115]
(Supplementary note 11) The programmable logic device according to supplementary note 1, wherein a plurality of types of logical operations can be executed by switching and changing configuration information in time during execution of a specific logical operation.
[0116]
  (Additional remark 12) When the specific information storage means which stored the specific information in the non-volatile configuration memory and the specific information at the time of request for writing or reading the configuration information are authenticated, and the authentication result is correct And an authentication means for permitting writing or reading only.As described in Appendix 1Programmable logic device.
[0117]
  (Supplementary note 13) Specific information storage means for storing specific information for each configuration in the non-volatile configuration memory, and writing or reading of the configuration information accompanying temporal switching of a plurality of types of logical operations And authentication means for authenticating with the unique information at the time of the request and permitting writing or reading only when the authentication result is correct.As described in Appendix 1Programmable logic device.
[0118]
  (Supplementary Note 14) Authentication of the unique information storage means for storing unique information in the non-volatile configuration memory and the unique information when a logical operation is requested, and only when the authentication result is correct And an authentication means that permits execution.As described in Appendix 1Programmable logic device.
[0119]
  (Supplementary Note 15) Specific information storage means for storing specific information for each configuration in the non-volatile configuration memory, and the specific information at the time of a logical operation request associated with temporal switching of a plurality of types of logical operations It is characterized by comprising authentication means that authenticates with information and permits execution of a logical operation only when the authentication result is correctAs described in Appendix 1Programmable logic device.
[0120]
【The invention's effect】
  As described above, in the present invention, a nonvolatile ferroelectric memory is provided as a configuration memory for storing configuration information, and a plurality of pieces of configuration information are stored in the ferroelectric memory. One of these was selected and used. As a result, configuration information can be stored inside the LSI, eliminating the need for external PROMs and EEPROMs previously required for FPGAs, and storing a plurality of configuration information and ROM in one By mounting on an LSI, an efficient logic gate can be realized, and an inexpensive board system can be realized.
Further, based on the configuration information stored in the configuration memory, information before switching the configuration information can be stored in the flip-flop. That is, in the disabled state, the multiplexer outputs the current logical operation, and the flip-flop can store the calculation result in the previous operating state.
[0121]
In addition, a programmable logic device that uses ferroelectric memory is equipped with a power control circuit for the ferroelectric memory, eliminating data corruption in the configuration memory when the power is turned on or off, enabling stable LSI operation. ing.
[0122]
In a programmable logic device using a ferroelectric memory, it is configured to store information on whether or not configuration information has been written in the ferroelectric memory. Circuit instability can be eliminated.
[0123]
In a programmable logic device, by configuring multiple configuration information so that multiple data streams can be written simultaneously, the configuration information can be written at high speed, and writing during logical execution is enabled. Thus, it is possible to quickly start up a logic operation after power is input, and to increase the number of effective logic gates in the LSI.
[0124]
Furthermore, the configuration in which unique information can be stored in the nonvolatile ferroelectric memory can prevent the configuration information of the programmable logic device from being stolen or rewritten, and unauthorized use by unauthorized persons.
[Brief description of the drawings]
FIG. 1 is a diagram showing a basic configuration of a programmable logic device according to the present invention.
FIG. 2 is a schematic view illustrating an entire circuit of a programmable logic device using a ferroelectric memory.
FIG. 3 is a schematic diagram illustrating a logic block array in more detail.
FIG. 4 is a diagram illustrating a configuration example of a 4-input lookup table.
FIG. 5 is a diagram illustrating a more detailed configuration example of a load circuit and a configuration memory.
FIG. 6 is a circuit diagram showing a first configuration example of a ferroelectric memory cell;
FIG. 7 is a circuit diagram showing a second configuration example of the ferroelectric memory cell;
FIG. 8 is a diagram illustrating a state of a control signal in each operation of the ferroelectric memory.
FIG. 9 is a diagram illustrating a configuration of a programmable wiring.
FIG. 10 is a diagram illustrating a configuration of a programmable I / O block.
FIG. 11 is a diagram for explaining a configuration information switching operation;
FIG. 12 is a circuit diagram showing a configuration of a conventional logic block.
FIG. 13 is a circuit diagram showing a configuration of a logic block used in the programmable logic device of the present invention.
FIG. 14 is a diagram showing an example of a power supply control circuit of a ferroelectric memory.
FIG. 15 is a diagram illustrating power supply control in a ferroelectric memory-based configuration memory.
FIG. 16 is a circuit diagram illustrating a configuration example of a power supply voltage detection unit of a power supply voltage detection / supply circuit.
FIG. 17 is a schematic diagram of a programmable wiring using a ferroelectric memory cell based configuration memory.
FIG. 18 is a diagram showing a configuration example of a programmable wiring in the present invention.
FIG. 19 is a diagram illustrating a configuration example of a read-only memory based on a configuration memory.
FIG. 20 is a diagram illustrating data transfer of configuration information.
FIG. 21 is a diagram illustrating an example of a data stream of configuration information supplied from the outside of a chip.
FIG. 22 is a diagram illustrating data writing of configuration information.
FIG. 23 is a diagram illustrating an example of a security circuit.
FIG. 24 is a diagram illustrating an example of a data stream of configuration information in consideration of security.
[Explanation of symbols]
1 logical block
2 Programmable wiring
3 Programmable I / O block
4, 5, 6 Ferroelectric memory
7, 8, 9 Information selection means
10 Programmable logic devices
11 Logical block array
12 Programmable wiring
13 Programmable I / O block
14 Read-only memory
21 logical blocks
22 Memory control circuit
230~ 237  Configuration memory
24 Load circuit
25 Input lookup table
26 Flip-flop and output multiplexer
27 memory
28 Multiplexer
30 Shift register
31 Writing circuit
32 Ferroelectric Memory Cell Array
33 Output buffer
34 Read path
40 Configuration memory
41 pass transistor
50 Configuration ID / Command Distribution Circuit
51 Configuration memory
52 Look-up table
53 Flip-flop
54 Multiplexer
55 Configuration memory
56 Look-up table
57 flip-flop
58 multiplexer
60 smoothing capacitor
61 Power supply voltage detection / supply circuit
62 Memory control circuit
63 Configuration memory
64 Rising edge detection circuit
65 Falling detection circuit

Claims (9)

外部からコンフィギュレーションを設定して所望の論理動作を可能にするプログラマブル論理デバイスにおいて、
任意の論理動作を可能にする1つの回路に対して複数個のコンフィギュレーション情報を蓄積し、複数個の論理状態を規定する、不揮発性の強誘電体メモリで構成された複数個のコンフィギュレーションメモリと、
電源が立ち上がる際に電源電圧が所定の電圧以上になったことを検出する電源電圧検出手段と、
前記電源電圧検出手段による前記所定の電圧の検出に応答して強誘電体メモリセルのプレート線に高レベルの電圧を印加して前記強誘電体メモリセルが誤再生されないようにしてから前記強誘電体メモリセルに電源電圧を印加するよう制御する電源制御手段と、
論理ブロックと、を有し、
前記論理ブロックは、組み合わせ論理回路ブロックと、前記組み合わせ論理回路ブロックの出力状態を蓄積するフリップフロップと、前記組み合わせ論理回路ブロックの出力および前記フリップフロップの出力を入力し前記コンフィギュレーション情報によって前記組み合わせ論理回路ブロックの出力または前記フリップフロップの出力を選択して出力するマルチプレクサとを備え、
前記フリップフロップは、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記フリップフロップの出力が選択された場合にイネーブル状態にし、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記組み合わせ論理回路ブロックの出力が選択された場合にディセーブル状態にする、前記コンフィギュレーションメモリに接続されたイネーブル端子を有していることを特徴とするプログラマブル論理デバイス。
In a programmable logic device that enables a desired logic operation by setting a configuration from the outside,
A plurality of configuration memories composed of a nonvolatile ferroelectric memory that stores a plurality of pieces of configuration information for one circuit enabling arbitrary logic operations and defines a plurality of logic states. When,
Power supply voltage detection means for detecting that the power supply voltage has become equal to or higher than a predetermined voltage when the power supply is turned on;
In response to detection of the predetermined voltage by the power supply voltage detection means, a high level voltage is applied to the plate line of the ferroelectric memory cell to prevent the ferroelectric memory cell from being erroneously reproduced, and then the ferroelectric memory. Power control means for controlling the power supply voltage to be applied to the body memory cell;
A logic block;
The logic block includes a combinational logic circuit block, a flip-flop that stores an output state of the combinational logic circuit block, an output of the combinational logic circuit block and an output of the flip-flop, and the combinational logic according to the configuration information. A multiplexer that selects and outputs the output of the circuit block or the output of the flip-flop,
The flip-flop is enabled when the output of the flip-flop is selected as the output of the multiplexer according to the configuration information, and the output of the combinational logic circuit block is selected as the output of the multiplexer according to the configuration information. A programmable logic device comprising an enable terminal connected to the configuration memory, which is disabled when it is connected.
外部からコンフィギュレーションを設定して所望の論理動作を可能にするプログラマブル論理デバイスにおいて、In a programmable logic device that enables a desired logic operation by setting a configuration from the outside,
任意の論理動作を可能にする1つの回路に対して複数個のコンフィギュレーション情報を蓄積し、複数個の論理状態を規定する、不揮発性の強誘電体メモリで構成された複数個のコンフィギュレーションメモリと、  A plurality of configuration memories composed of a nonvolatile ferroelectric memory that stores a plurality of pieces of configuration information for one circuit enabling arbitrary logic operations and defines a plurality of logic states. When,
電源が遮断される際に電源電圧が所定の電圧以下になったことを検出する電源電圧検出手段と、  Power supply voltage detection means for detecting that the power supply voltage has become a predetermined voltage or less when the power supply is shut off;
前記電源電圧検出手段による前記所定の電圧の検出に応答して強誘電体メモリセルのプレート線に初めに高レベルの電圧を印加し、続いて低レベルの電圧を印加するか、あるいは逆に低レベルの電圧を印加した後高レベルの電圧を印加し前記強誘電体メモリセルがデータストアを実行した後に前記強誘電体メモリセルへの電源電圧を遮断するよう制御する電源制御手段と、  In response to detection of the predetermined voltage by the power supply voltage detection means, a high level voltage is first applied to the plate line of the ferroelectric memory cell, and then a low level voltage is applied, or vice versa. A power control means for controlling the power supply voltage to the ferroelectric memory cell to be cut off after the ferroelectric memory cell performs data store by applying a high level voltage after applying a level voltage;
論理ブロックと、を有し、  A logic block;
前記論理ブロックは、組み合わせ論理回路ブロックと、前記組み合わせ論理回路ブロックの出力状態を蓄積するフリップフロップと、前記組み合わせ論理回路ブロックの出力および前記フリップフロップの出力を入力し前記コンフィギュレーション情報によって前記組み合わせ論理回路ブロックの出力または前記フリップフロップの出力を選択して出力するマルチプレクサとを備え、  The logic block includes a combinational logic circuit block, a flip-flop that stores an output state of the combinational logic circuit block, an output of the combinational logic circuit block and an output of the flip-flop, and the combinational logic according to the configuration information. A multiplexer that selects and outputs the output of the circuit block or the output of the flip-flop,
前記フリップフロップは、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記フリップフロップの出力が選択された場合にイネーブル状態にし、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記組み合わせ論理回路ブロックの出力が選択された場合にディセーブル状態にする、前記コンフィギュレーションメモリに接続されたイネーブル端子を有していることを特徴とするプログラマブル論理デバイス。  The flip-flop is enabled when the output of the flip-flop is selected as the output of the multiplexer according to the configuration information, and the output of the combinational logic circuit block is selected as the output of the multiplexer according to the configuration information A programmable logic device comprising an enable terminal connected to the configuration memory, which is disabled when it is connected.
外部からコンフィギュレーションを設定して所望の論理動作を可能にするプログラマブル論理デバイスにおいて、In a programmable logic device that enables a desired logic operation by setting a configuration from the outside,
任意の論理動作を可能にする1つの回路に対して複数個のコンフィギュレーション情報  Multiple configuration information for one circuit that allows arbitrary logic operation を蓄積し、複数個の論理状態を規定する、不揮発性の強誘電体メモリで構成された複数個のコンフィギュレーションメモリと、A plurality of configuration memories composed of a non-volatile ferroelectric memory defining a plurality of logic states;
論理ブロックと、を有し、  A logic block;
前記コンフィギュレーションメモリを複数のグループにグループ化し、前記複数のグループで複数のデータストリームからの前記コンフィギュレーション情報の同時書き込みと、前記複数のデータストリームの同時読み出しとを行うようにしており、  The configuration memories are grouped into a plurality of groups, and the configuration information is simultaneously written from a plurality of data streams in the plurality of groups, and the plurality of data streams are simultaneously read.
前記論理ブロックは、組み合わせ論理回路ブロックと、前記組み合わせ論理回路ブロックの出力状態を蓄積するフリップフロップと、前記組み合わせ論理回路ブロックの出力および前記フリップフロップの出力を入力し前記コンフィギュレーション情報によって前記組み合わせ論理回路ブロックの出力または前記フリップフロップの出力を選択して出力するマルチプレクサとを備え、  The logic block includes a combinational logic circuit block, a flip-flop that stores an output state of the combinational logic circuit block, an output of the combinational logic circuit block and an output of the flip-flop, and the combinational logic according to the configuration information. A multiplexer that selects and outputs the output of the circuit block or the output of the flip-flop,
前記フリップフロップは、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記フリップフロップの出力が選択された場合にイネーブル状態にし、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記組み合わせ論理回路ブロックの出力が選択された場合にディセーブル状態にする、前記コンフィギュレーションメモリに接続されたイネーブル端子を有していることを特徴とするプログラマブル論理デバイス。  The flip-flop is enabled when the output of the flip-flop is selected as the output of the multiplexer according to the configuration information, and the output of the combinational logic circuit block is selected as the output of the multiplexer according to the configuration information A programmable logic device comprising an enable terminal connected to the configuration memory, which is disabled when it is connected.
外部からコンフィギュレーションを設定して所望の論理動作を可能にするプログラマブル論理デバイスにおいて、In a programmable logic device that enables a desired logic operation by setting a configuration from the outside,
任意の論理動作を可能にする1つの回路に対して複数個のコンフィギュレーション情報を蓄積し、複数個の論理状態を規定する、不揮発性の強誘電体メモリで構成された複数個のコンフィギュレーションメモリと、  A plurality of configuration memories composed of a nonvolatile ferroelectric memory that stores a plurality of pieces of configuration information for one circuit enabling arbitrary logic operations and defines a plurality of logic states. When,
不揮発性の前記コンフィギュレーションメモリに固有の情報を蓄積した固有情報蓄積手段と、  Unique information storage means for storing unique information in the non-volatile configuration memory;
前記コンフィギュレーション情報の書き込みまたは読み出しの要求時に前記固有の情報との認証を行い、認証結果が正しい場合にのみ、書き込みまたは読み出しを許可する認証手段と、  An authentication unit that performs authentication with the unique information at the time of requesting writing or reading of the configuration information, and permits writing or reading only when an authentication result is correct;
論理ブロックと、を有し、  A logic block;
前記論理ブロックは、組み合わせ論理回路ブロックと、前記組み合わせ論理回路ブロックの出力状態を蓄積するフリップフロップと、前記組み合わせ論理回路ブロックの出力および前記フリップフロップの出力を入力し前記コンフィギュレーション情報によって前記組み合わせ論理回路ブロックの出力または前記フリップフロップの出力を選択して出力するマルチプレクサとを備え、  The logic block includes a combinational logic circuit block, a flip-flop that stores an output state of the combinational logic circuit block, an output of the combinational logic circuit block and an output of the flip-flop, and the combinational logic according to the configuration information. A multiplexer that selects and outputs the output of the circuit block or the output of the flip-flop,
前記フリップフロップは、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記フリップフロップの出力が選択された場合にイネーブル状態にし、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記組み合わせ論理回路ブロックの出力が選択された場合にディセーブル状態にする、前記コンフィギュレーションメモリに接続されたイネーブル端子を有していることを特徴とするプログラマブル論理デバイス。  The flip-flop is enabled when the output of the flip-flop is selected as the output of the multiplexer according to the configuration information, and the output of the combinational logic circuit block is selected as the output of the multiplexer according to the configuration information A programmable logic device comprising an enable terminal connected to the configuration memory, which is disabled when it is connected.
外部からコンフィギュレーションを設定して所望の論理動作を可能にするプログラマブル論理デバイスにおいて、In a programmable logic device that enables a desired logic operation by setting a configuration from the outside,
任意の論理動作を可能にする1つの回路に対して複数個のコンフィギュレーション情報を蓄積し、複数個の論理状態を規定する、不揮発性の強誘電体メモリで構成された複数個のコンフィギュレーションメモリと、  A plurality of configuration memories composed of a nonvolatile ferroelectric memory that stores a plurality of pieces of configuration information for one circuit enabling arbitrary logic operations and defines a plurality of logic states. When,
不揮発性の前記コンフィギュレーションメモリに固有の情報を蓄積した固有情報蓄積手段と、  Unique information storage means for storing unique information in the non-volatile configuration memory;
論理動作の要求時に前記固有の情報との認証を行い、認証結果が正しい場合にのみ、論理動作の実行を許可する認証手段と、  An authentication unit that authenticates the specific information at the time of a logical operation request and permits the execution of the logical operation only when the authentication result is correct;
論理ブロックと、を有し、  A logic block;
前記論理ブロックは、組み合わせ論理回路ブロックと、前記組み合わせ論理回路ブロッ  The logic block includes a combinational logic circuit block and the combinational logic circuit block. クの出力状態を蓄積するフリップフロップと、前記組み合わせ論理回路ブロックの出力および前記フリップフロップの出力を入力し前記コンフィギュレーション情報によって前記組み合わせ論理回路ブロックの出力または前記フリップフロップの出力を選択して出力するマルチプレクサとを備え、Flip-flops that store the output state of the logic circuit, the output of the combinational logic circuit block and the output of the flip-flop are input, and the output of the combinational logic circuit block or the output of the flip-flop is selected and output according to the configuration information And a multiplexer
前記フリップフロップは、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記フリップフロップの出力が選択された場合にイネーブル状態にし、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記組み合わせ論理回路ブロックの出力が選択された場合にディセーブル状態にする、前記コンフィギュレーションメモリに接続されたイネーブル端子を有していることを特徴とするプログラマブル論理デバイス。  The flip-flop is enabled when the output of the flip-flop is selected as the output of the multiplexer according to the configuration information, and the output of the combinational logic circuit block is selected as the output of the multiplexer according to the configuration information A programmable logic device comprising an enable terminal connected to the configuration memory, which is disabled when it is connected.
外部からコンフィギュレーションを設定して所望の論理動作を可能にするプログラマブル論理デバイスにおいて、In a programmable logic device that enables a desired logic operation by setting a configuration from the outside,
任意の論理動作を可能にする1つの回路に対して複数個のコンフィギュレーション情報を蓄積し、複数個の論理状態を規定する、不揮発性の強誘電体メモリで構成された複数個のコンフィギュレーションメモリと、  A plurality of configuration memories composed of a nonvolatile ferroelectric memory that stores a plurality of pieces of configuration information for one circuit enabling arbitrary logic operations and defines a plurality of logic states. When,
前記複数個のコンフィギュレーション情報を選択して複数種の論理動作を実行可能にする情報選択手段と、を備え、  Information selection means for selecting the plurality of configuration information and enabling execution of a plurality of types of logical operations;
前記コンフィギュレーションメモリを複数のグループにグループ化し、前記複数のグループで複数のデータストリームからの前記コンフィギュレーション情報の同時書き込みと、前記複数のデータストリームの同時読み出しとを行うようにしたことを特徴とするプログラマブル論理デバイス。  The configuration memories are grouped into a plurality of groups, and the configuration information is simultaneously written from a plurality of data streams and the plurality of data streams are simultaneously read out in the plurality of groups. Programmable logic device.
外部からコンフィギュレーションを設定して所望の論理動作を可能にするプログラマブル論理デバイスにおいて、
任意の論理動作を可能にする1つの回路に対して複数個のコンフィギュレーション情報を蓄積し、複数個の論理状態を規定する、不揮発性の強誘電体メモリで構成された複数個のコンフィギュレーションメモリと、
前記複数個のコンフィギュレーション情報を選択して複数種の論理動作を実行可能にする情報選択手段と、
不揮発性の前記コンフィギュレーションメモリに固有の情報を蓄積した固有情報蓄積手段と、
前記コンフィギュレーション情報の書き込みまたは読み出しの要求時に前記固有の情報との認証を行い、認証結果が正しい場合にのみ、書き込みまたは読み出しを許可する認証手段と、
を備えていることを特徴とするプログラマブル論理デバイス。
In a programmable logic device that enables a desired logic operation by setting a configuration from the outside,
A plurality of configuration memories composed of a nonvolatile ferroelectric memory that stores a plurality of pieces of configuration information for one circuit enabling arbitrary logic operations and defines a plurality of logic states. When,
Information selecting means for selecting a plurality of pieces of configuration information and enabling a plurality of types of logical operations;
Unique information storage means for storing unique information in the non-volatile configuration memory;
An authentication unit that performs authentication with the unique information at the time of requesting writing or reading of the configuration information, and permits writing or reading only when an authentication result is correct;
A programmable logic device comprising:
外部からコンフィギュレーションを設定して所望の論理動作を可能にするプログラマブル論理デバイスにおいて、
任意の論理動作を可能にする1つの回路に対して複数個のコンフィギュレーション情報を蓄積し、複数個の論理状態を規定する、不揮発性の強誘電体メモリで構成された複数個のコンフィギュレーションメモリと、
前記複数個のコンフィギュレーション情報を選択して複数種の論理動作を実行可能にする情報選択手段と、
不揮発性の前記コンフィギュレーションメモリに固有の情報を蓄積した固有情報蓄積手段と、
論理動作の要求時に前記固有の情報との認証を行い、認証結果が正しい場合にのみ、論理動作の実行を許可する認証手段と、
を備えていることを特徴とするプログラマブル論理デバイス。
In a programmable logic device that enables a desired logic operation by setting a configuration from the outside,
A plurality of configuration memories composed of a nonvolatile ferroelectric memory that stores a plurality of pieces of configuration information for one circuit enabling arbitrary logic operations and defines a plurality of logic states. When,
Information selecting means for selecting a plurality of pieces of configuration information and enabling a plurality of types of logical operations;
Unique information storage means for storing unique information in the non-volatile configuration memory;
An authentication unit that authenticates the specific information at the time of a logical operation request and permits the execution of the logical operation only when the authentication result is correct;
A programmable logic device comprising:
組み合わせ論理回路ブロックと、前記組み合わせ論理回路ブロックの出力状態を蓄積するフリップフロップと、前記組み合わせ論理回路ブロックの出力および前記フリップフロップの出力を入力し前記コンフィギュレーション情報によって前記組み合わせ論理回路ブロックの出力または前記フリップフロップの出力を選択して出力するマA combinational logic circuit block; a flip-flop for storing the output state of the combinational logic circuit block; an output of the combinational logic circuit block and an output of the flip-flop; Select and output the output of the flip-flop ルチプレクサとを有する論理ブロックを備え、A logic block having a plexus;
前記フリップフロップは、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記フリップフロップの出力が選択された場合にイネーブル状態にし、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記組み合わせ論理回路ブロックの出力が選択された場合にディセーブル状態にする、前記コンフィギュレーションメモリに接続されたイネーブル端子を有していることを特徴とする請求項6乃至8記載のプログラマブル論理デバイス。  The flip-flop is enabled when the output of the flip-flop is selected as the output of the multiplexer according to the configuration information, and the output of the combinational logic circuit block is selected as the output of the multiplexer according to the configuration information 9. The programmable logic device according to claim 6, further comprising an enable terminal connected to the configuration memory, which is set to a disabled state in the event of a failure.
JP2001399326A 2001-12-28 2001-12-28 Programmable logic device Expired - Fee Related JP3938308B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001399326A JP3938308B2 (en) 2001-12-28 2001-12-28 Programmable logic device
US10/327,653 US6924663B2 (en) 2001-12-28 2002-12-24 Programmable logic device with ferroelectric configuration memories
DE60239588T DE60239588D1 (en) 2001-12-28 2002-12-24 Programmable logic circuit with ferroelectric configuration memory
EP02258967A EP1324495B1 (en) 2001-12-28 2002-12-24 Programmable logic device with ferrroelectric configuration memories
KR1020020085896A KR20030057487A (en) 2001-12-28 2002-12-28 Programmable logic device with ferroelectric configuration memories

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001399326A JP3938308B2 (en) 2001-12-28 2001-12-28 Programmable logic device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007037277A Division JP4467587B2 (en) 2007-02-19 2007-02-19 Programmable logic device

Publications (3)

Publication Number Publication Date
JP2003198361A JP2003198361A (en) 2003-07-11
JP2003198361A5 JP2003198361A5 (en) 2004-07-29
JP3938308B2 true JP3938308B2 (en) 2007-06-27

Family

ID=27604413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001399326A Expired - Fee Related JP3938308B2 (en) 2001-12-28 2001-12-28 Programmable logic device

Country Status (1)

Country Link
JP (1) JP3938308B2 (en)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7987341B2 (en) * 2002-10-31 2011-07-26 Lockheed Martin Corporation Computing machine using software objects for transferring data that includes no destination information
JP2005092922A (en) 2003-09-12 2005-04-07 Fujitsu Ltd Ferroelectric memory
JP2005284663A (en) * 2004-03-29 2005-10-13 Advanced Telecommunication Research Institute International Arithmetic element tile, arithmetic unit, and manufacturing method of arithmetic unit
JP2006053687A (en) * 2004-08-10 2006-02-23 Sony Corp Arithmetic unit
JP4643977B2 (en) * 2004-11-30 2011-03-02 富士通株式会社 Programmable logic device, information processing apparatus, and control method for programmable logic device
JP5401970B2 (en) * 2008-12-17 2014-01-29 日本電気株式会社 Nonvolatile memory device
US8239590B1 (en) * 2009-01-31 2012-08-07 Xilinx, Inc. Method and apparatus for transferring data between two different interfaces
EP2224344A1 (en) * 2009-02-27 2010-09-01 Panasonic Corporation A combined processing and non-volatile memory unit array
JP5201041B2 (en) 2009-03-19 2013-06-05 株式会社デンソー Configuration method of pulse delay circuit
JP5530207B2 (en) * 2010-02-04 2014-06-25 ローム株式会社 Programmable logic device and electronic device using the same
JP5609176B2 (en) * 2010-03-12 2014-10-22 富士通株式会社 Configuration method and configuration control circuit
JP2012120110A (en) * 2010-12-03 2012-06-21 Rohm Co Ltd Reconfigurable logic device
WO2012157532A1 (en) * 2011-05-16 2012-11-22 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
KR101802945B1 (en) * 2011-06-27 2017-12-29 삼성전자주식회사 Logic device and semiconductor package having the same
JP5613188B2 (en) * 2012-02-13 2014-10-22 株式会社東芝 Programmable logic switch
JP5627624B2 (en) * 2012-03-16 2014-11-19 株式会社東芝 Programmable logic device
KR102125593B1 (en) 2013-02-13 2020-06-22 가부시키가이샤 한도오따이 에네루기 켄큐쇼 Programmable logic device and semiconductor device
JP5994679B2 (en) * 2013-02-26 2016-09-21 株式会社ソシオネクスト Processing device and control method of processing device
CN105191139B (en) * 2013-04-02 2018-12-07 太阳诱电株式会社 Reconfigurable logic device
JP2015061238A (en) * 2013-09-19 2015-03-30 株式会社東芝 Reconfigurable semiconductor integrated circuit and electronic apparatus
JP6488541B2 (en) * 2013-12-18 2019-03-27 富士通株式会社 Logic circuit and method for controlling logic circuit
EP3157172B1 (en) * 2015-10-15 2018-11-28 Menta System and method for testing and configuration of an fpga
JP7136436B2 (en) * 2018-04-27 2022-09-13 Necソリューションイノベータ株式会社 CIRCUIT RECONFIGURATION DEVICE, CONTROL METHOD, AND CONTROL PROGRAM
CN116436446B (en) * 2023-06-12 2023-08-18 深圳市赛元微电子股份有限公司 Integrated circuit logic failure monitoring circuit and isolation circuit

Also Published As

Publication number Publication date
JP2003198361A (en) 2003-07-11

Similar Documents

Publication Publication Date Title
JP3938308B2 (en) Programmable logic device
EP1324495B1 (en) Programmable logic device with ferrroelectric configuration memories
US5206905A (en) Password protected device using incorrect passwords as seed values for pseudo-random number generator for outputting random data to thwart unauthorized accesses
US7296128B2 (en) Nonvolatile memory with error correction for page copy operation and method thereof
KR100581448B1 (en) Semiconductor integrated circuit device, memory module, storage device and the method for repairing semiconductor integrated circuit device
US7145799B2 (en) Chip protection register unlocking
US6209069B1 (en) Method and apparatus using volatile lock architecture for individual block locking on flash memory
US5226137A (en) Electronic key with multiple password protected sub-keys using address and translation to implement a block data move between public and protected sub-keys
KR101110994B1 (en) Method and apparatus for protecting an integrated circuit from erroneous operation
US20060095975A1 (en) Semiconductor device
US20200336146A1 (en) Selectively disabled output
US5306961A (en) Low-power integrated circuit with selectable battery modes
JP2003198361A5 (en)
US6035382A (en) Circuit for receiving a command word for accessing a secure subkey
JP4467587B2 (en) Programmable logic device
US7054121B2 (en) Protection circuit for preventing unauthorized access to the memory device of a processor
US6304100B1 (en) Programmable semiconductor device providing security of circuit information
US9373377B2 (en) Apparatuses, integrated circuits, and methods for testmode security systems
US11379580B1 (en) Mixed storage of data fields
JPS61249156A (en) Semiconductor memory device
US5657444A (en) Microprocessor with secure programmable read only memory circuit
JP3296184B2 (en) Semiconductor integrated circuit
JPH09146845A (en) Privacy protection mechanism for nonvolatile semiconductor memory
Huang et al. Hardware Trojans of Computing-In-Memories: Issues and Methods
JPH05120891A (en) Semiconductor storage device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061005

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070219

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070223

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: 20070320

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070320

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20100406

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110406

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110406

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20110406

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120406

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130406

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130406

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140406

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees