JP2007184959A - プログラマブル論理デバイス - Google Patents

プログラマブル論理デバイス Download PDF

Info

Publication number
JP2007184959A
JP2007184959A JP2007037277A JP2007037277A JP2007184959A JP 2007184959 A JP2007184959 A JP 2007184959A JP 2007037277 A JP2007037277 A JP 2007037277A JP 2007037277 A JP2007037277 A JP 2007037277A JP 2007184959 A JP2007184959 A JP 2007184959A
Authority
JP
Japan
Prior art keywords
configuration
memory
output
programmable
configuration information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007037277A
Other languages
English (en)
Other versions
JP4467587B2 (ja
Inventor
Shoichi Masui
昇一 桝井
Michiya Oura
道也 大浦
Tsuzumi Ninomiya
鼓 二野宮
Wataru Yokozeki
亘 横関
Kenji Mukoda
健二 向田
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 JP2007037277A priority Critical patent/JP4467587B2/ja
Publication of JP2007184959A publication Critical patent/JP2007184959A/ja
Application granted granted Critical
Publication of JP4467587B2 publication Critical patent/JP4467587B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】コストが低く、ボード面積の縮小が可能なプログラマブル論理デバイスを提供する。
【解決手段】フリップフロップ57はイネーブル状態において組み合わせ論理回路ブロック(ルックアップテーブル56)の出力状態を蓄積する。マルチプレクサ58は、組み合わせ論理回路ブロックの出力またはフリップフロップ57の出力を選択して出力する。そして、コンフィギュレーション情報に含まれる情報により、マルチプレクサ58の出力としてフリップフロップ57の出力が選択された場合に、フリップフロップ57がイネーブル状態となり、組み合わせ論理回路の出力が選択された場合に、フリップフロップ57がディセーブル状態になる。これにより、コンフィギュレーションを切り換える前の組み合わせ論理回路ブロックの出力状態を蓄積可能になり、前のコンフィギュレーションの結果を蓄積するメモリを新たに設ける必要がなくなる。
【選択図】図13

Description

本発明はプログラマブル論理デバイスに関し、特に論理状態を任意に規定するための情報(以下、コンフィギュレーション情報と呼ぶ)を蓄積するコンフィギュレーションメモリとして不揮発性の強誘電体メモリを使用し、単一のLSI(Large-Scale Integration)だけでなく、単一のLSI上に搭載された1個のプログラマブル論理ブロックとして利用が可能なプログラマブル論理デバイスに関する。
プログラマブル論理デバイスは、その基本構成要素として、ルックアップテーブルと呼ばれるメモリあるいはマルチプレクサあるいは基礎的なゲート、および、フリップフロップで構成される論理ブロックと、内部配線を規定することができるプログラマブル配線と、入出力状態を規定するプログラマブルI/O(Input/Output)ブロックとを有し、さらに、論理ブロックの論理動作、プログラマブル配線の結線およびプログラマブルI/Oブロックの入出力状態を規定するコンフィギュレーション情報を蓄積しているコンフィギュレーションメモリを有している。
一般的に、プログラマブル論理デバイスには下記の3つのカテゴリが存在している。
第1は、ルックアップテーブルと呼ばれるメモリとマルチプレクサ、あるいは基礎的なゲート、および、フリップフロップで構成される論理ブロックと、プログラマブル配線、および、プログラマブルI/Oブロックを持ち、電源が遮断された後にコンフィギュレーション情報が消失するものである。
第2は、ルックアップテーブルと呼ばれるメモリとマルチプレクサ、あるいは基礎的なゲート、および、フリップフロップで構成される論理ブロックと、プログラマブル配線、および、プログラマブルI/Oブロックを持ち、電源が遮断された後にコンフィギュレーション情報が消失しないものである。
第3は、プログラマブル論理アレイを基本とする論理ブロックを持ち、電源が遮断された後にコンフィギュレーション情報が消失しないものである。
ここで、第1のカテゴリに属するプログラマブル論理デバイスとして、コンフィギュレーションメモリに、SRAM(Static Random Access Memory)型のメモリを使用した例が公知である(米国特許第4642487号)。
このSRAM型メモリセルを利用したプログラマブル論理デバイスでは、電源を遮断した際に、SRAM型メモリセルに蓄積されたコンフィギュレーション情報が消失するため、電源が遮断された後も、コンフィギュレーション情報を蓄積することができるような不揮発メモリにコンフィギュレーション情報を蓄積しておくことが必要になる。そのため、SRAM型メモリセルを用いたプログラマブル論理デバイスでは、電源が遮断された後も、プログラマブル論理デバイスの動作を規定するコンフィギュレーション情報を記憶しておくために、このデバイスの外部に不揮発性のメモリ、例えばPROM(Programmable Read-Only Memory)やEPROM(Erasable Programmable Read-Only Memory)を設置して、電源が印加された際には、これらのPROM、EPROMからコンフィギュレーション情報を読み出すようにしている。
プログラマブル論理デバイスのコンフィギュレーション情報が、電源電圧の遮断とともに消失してしまうということに対して第2のカテゴリに属するプログラマブル論理デバイスが提案されている。このプログラマブル論理デバイスでは、コンフィギュレーション情報を強誘電体メモリやMRAM(Magnetic Random Access Memory)などの不揮発性メモリに蓄積するようにしている。ここで、一例としては、強誘電体メモリを使用したプログラマブル論理デバイスが公知である(特許第3121862号)。強誘電体メモリは、PROM、EPROM、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリといった高耐圧トランジスタを必要とする不揮発メモリでは実現不可能な、高速性を実現できるため、プログラマブル論理デバイスには特に望ましい技術である。
第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のカテゴリに属するプログラマブル論理デバイスに使用されない理由は、高速性が得られないためである。
なお、本発明が対象としているのは、第1および第2のカテゴリに属するプログラマブル論理デバイスであり、これらは、一般的に、FPGA(Field Programmable Gate Array)と総称されている。
従来の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に関する文献には、各コンフィギュレーション情報の切り換え手法に関する記述はない。
また、プログラマブル論理デバイスでは、電源立ち上げ時にコンフィギュレーション情報が未設定の場合には、本来接続されるべきではない配線が接続されてしまうことがある。このとき、この配線が別々のドライバによって異なる論理状態に駆動されると、配線上の電圧が不安定(配線信号のコンフリクト)になり、大きな電流消費を生じる可能性がある。この対策として、毎回電源を立ち上げ、コンフィギュレーション情報を書き込む前に、論理プロックの出力ドライバをディスエーブルする手法がとられている(P. Chow et al., IEEE Transaction on Very Large Scale Integration Systems, vol. 7, No. 3, pp. 321-330, September 1999)。
しかしながら、従来のプログラマブル論理デバイスでは以下のような問題があった。
従来のプログラマブル論理デバイスでは、単位面積あたりの論理ゲートの数が小さく、かつ、コンフィギュレーション情報が、電源が遮断されたときに消失してしまう。このため、プログラマブル論理デバイスを使うには、プログラマブル論理デバイスおよび不揮発性メモリの少なくとも2つのチップが必要であり、デバイス点数の増加によるコスト増加や、ボード面積の増大という問題を生じていた。
本発明はこのような点に鑑みてなされたものであり、コストが低く、ボード面積の縮小が可能なプログラマブル論理デバイスを提供することを目的とする。
本発明者らは、組み合わせ論理回路ブロックと、イネーブル端子を有し、イネーブル状態において前記組み合わせ論理回路ブロックの出力状態を蓄積するフリップフロップと、前記組み合わせ論理回路ブロックの出力、または前記フリップフロップの出力を選択して出力するマルチプレクサとを備え、論理動作を設定するためのコンフィギュレーション情報は、前記マルチプレクサの出力として前記フリップフロップの出力が選択された場合に、前記フリップフロップを前記イネーブル状態にし、前記マルチプレクサの出力として前記組み合わせ論理回路の出力が選択された場合に、前記フリップフロップをディセーブル状態にする情報を含むことを特徴とするプログラマブル論理デバイスを提案する。
上記の構成によれば、フリップフロップはイネーブル状態において組み合わせ論理回路ブロックの出力状態を蓄積する。マルチプレクサは、組み合わせ論理回路ブロックの出力またはフリップフロップの出力を選択して出力する。そして、コンフィギュレーション情報に含まれる情報により、マルチプレクサの出力としてフリップフロップの出力が選択された場合に、フリップフロップがイネーブル状態となり、組み合わせ論理回路の出力が選択された場合に、フリップフロップがディセーブル状態になる。
本発明では、イネーブル状態において組み合わせ論理回路ブロックの出力状態を蓄積するフリップフロップを設け、コンフィギュレーション情報に含まれる情報により、マルチプレクサの出力としてフリップフロップの出力が選択された場合に、フリップフロップがイネーブル状態となり、組み合わせ論理回路の出力が選択された場合に、フリップフロップがディセーブル状態になるようにしたので、コンフィギュレーションを切り換える前の組み合わせ論理回路ブロックの出力状態を蓄積しておくことができるようになり、前のコンフィギュレーションの結果を蓄積しておくメモリを新たに設ける必要がなくなる。
まず、本発明の実施の形態のプログラム論理デバイスの概略について図面を参照して説明する。
図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とを備え、それぞれ複数個組み合わされて1つのDPGAあるいはFPGA用LSIを構成している。
強誘電体メモリ4,5,6は、コンフィギュレーション情報を蓄積する不揮発性のコンフィギュレーションメモリとして利用している。コンフィギュレーション情報をLSI内部の不揮発メモリに蓄積する構成にしたことにより、従来、FPGAに必要であった外付けのPROM、EEPROMを除去することが可能になり、安価なボードシステムを実現することができる。
また、各強誘電体メモリ4,5,6は、複数のコンフィギュレーション情報を有し、これら複数のコンフィギュレーション情報を、論理ブロック1で発生した制御信号、あるいは、プログラマブル論理デバイスの外部から供給された制御信号を受ける情報選択手段7,8,9が選択して論理ブロック1、プログラマブル配線2およびプログラマブルI/Oブロック3の構成を規定する構成にした。複数のコンフィギュレーション情報を1つのLSI上に実装したことにより、1つの論理ブロック1、プログラマブル配線2およびプログラマブルI/Oブロック3で、複数種の論理動作が実現可能になり、単位面積あたりの論理ゲートの数が小さくても、論理ゲートの数を実質的に大きくすることができ、より効率的な論理ゲートが実現可能になる。
また、プログラマブル論理デバイスの論理ブロック1は、組み合わせ論理回路ブロック(ルックアップテーブル)、フリップフロップおよびマルチプレクサで構成し、このフリップフロップにはイネーブル端子を持たせ、このイネーブル端子に供給するイネーブル信号とマルチプレクサの出力選択信号とを同時に制御することによって、論理ブロック1をより有効に活用できる。
さらに、強誘電体メモリ4,5,6をリードオンリーメモリとすることで、小さな面積で論理ブロックに必要とされるデータの提供が可能となる。このリードオンリーメモリのアドレス空間を、異なるコンテキストでも読み出せるような回路を付加することによって、さらに自由度の高い構成にすることができる。
本実施の形態のプログラマブル論理デバイスでは、電源の立ち上げ、および、遮断時に強誘電体メモリ4,5,6に蓄積されたコンフィギュレーション情報の破壊が生じない回路構成にしている。つまり、プログラマブル論理デバイスに、電源電圧の検出回路を持ち、電源が立ち上がる際には、まず初めに電源電圧が強誘電体メモリ4,5,6への制御信号の印加や、データリコール動作の実行に必要な電圧以上になったことを検知した後、電源電圧が所定の電圧以上になった場合は、強誘電体メモリ4,5,6が誤再生されない制御電圧と電源の印加を行い、これらシーケンスの実行後にプログラマブル論理デバイスの論理動作を開始する。
また、電源が遮断される際には、まず初めに電源電圧が所定の値以下になったことの検知を行い、強誘電体メモリ4,5,6の電源が遮断された後も、それに書き込まれた情報が、短期、あるいは、長期的に破壊されることがないような制御信号の印加による書き込みを実行してから電源を遮断する。
このように、強誘電体メモリ4,5,6の電源が立ち上がる時、あるいは、電源が遮断される時に、強誘電体メモリ4,5,6に印加される制御電圧を適切に制御することによって、コンフィギュレーション情報の破壊をなくし、安定したLSI動作を可能とする。
また、本発明のプログラマブル論理デバイスでは、論理状態を規定するコンフィギュレーション情報を書き込み済みか、否かの情報を、強誘電体メモリに蓄積するようにしている。これにより、コンフィギュレーション情報の書き込み前における配線のコンフリクト、あるいは、周辺論理回路の動作不安定性をなくすことができる。
さらに、本実施の形態のプログラマブル論理デバイスでは、複数のコンフィギュレーション情報を強誘電体メモリ4,5,6に書き込まなければならないが、この複数のコンフィギュレーション情報を、複数のデータストリームによって同時に書き込みできるように構成している。また、特定の論理動作を実行中に、バックグラウンドでコンフィギュレーション情報を変更できるように構成している。複数のデータパスを設けることによってコンフィギュレーション情報の書き込みが高速化され、また論理実行中の書き込みを可能とすることによって、デバイス中の実効的な論理ゲート数を増加させることができる。
最後に、本実施の形態のプログラマブル論理デバイスでは、不揮発性を持つ強誘電体メモリに固有の情報を蓄積できる構成にしている。これにより、コンフィギュレーション情報の書き込みまたは読み出しを実行する際に、プログラマブル論理デバイス内に蓄積された固有の情報との認証を行い、認証結果が正しい場合にのみ、書き込みまたは読み出しが可能となるため、コンフィギュレーション情報の盗難や書き換えを防止することができる。また、論理動作を実行する際に、プログラマブル論理デバイス内に蓄積された固有の情報との認証を行い、認証結果が正しい場合にのみ、論理動作を実行可能とすることで、認証されない者の不正使用を防止することができる。
次に、本実施の形態を、プログラマブル論理デバイスのLSIに適用した場合を例に詳細に説明する。
図2は強誘電体メモリを使用したプログラマブル論理デバイスの全体回路を例示した模式図である。
図示のプログラマブル論理デバイス10は、その中央部にマトリックス状に配置されてそれぞれ所望の組み合わせ論理回路を構成することができる複数の論理ブロックアレイ11を備えている。これら論理ブロックアレイ11の周囲には、所望の結線を自由に行うことができる複数のプログラマブル配線(PIC)12が配置されている。LSIチップの外周には、LSIの外部端子に対応して設けられたパッドに対して信号入力とするか信号出力とするかを設定できる複数のプログラマブルI/Oブロック13が配置され、その内側には、コンフィギュレーションメモリで構成されたリードオンリーメモリ14が配置されている。このコンフィギュレーションメモリが強誘電体メモリで構成されている。
次に、各構成要素の詳細について説明する。
図3は論理ブロックアレイをより詳細に示した模式図例である。
論理ブロックアレイ11は、複数の、図示の例では、16個の論理ブロック21と、メモリ制御回路22とで構成される。それぞれの論理ブロック21は、図3の左側に示されるように、強誘電体メモリセルで作られた複数の、図示の例では、8つのコンフィギュレーションメモリ230〜237と、このコンフィギュレーションメモリ230〜237にコンフィギュレーション情報を書き込むロード回路24と、論理的なブロックを構成する4入力ルックアップテーブル25およびフリップフロップおよび出力マルチプレクサ26とで構成される。
ロード回路24は、たとえば17ビットのシフトレジスタから構成され、外部から供給されたコンフィギュレーション情報を1ビットずつシフトし、シフトが終了したら蓄積されたコンフィギュレーション情報をコンフィギュレーションメモリ230に書き込む。このロード回路24による書き込みは、8番目のコンフィギュレーションメモリ237に書き込むまで順次繰り返して行われる。
8つのコンフィギュレーションメモリ230〜237を備えていることにより、例えば最初に使用されるコンフィギュレーション情報を最初のコンフィギュレーションメモリ230に書き込むようにすれば、書き込み終了時点でそのコンフィギュレーション情報によって規定された論理動作を直ちに実行することができ、その動作中に残りのコンフィギュレーション情報をバックグラウンドで書き込むようにすることができるので、書き込み時間および起動時間を短縮できる利点がある。
図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を有している。
ここで、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の中で最も大きな領域を占める配線領域と比較して非常に小さいため、コンフィギュレーションメモリを増加することによる面積の増加分は、実質的な論理ゲートの増加分に比べて遥かに小さいために、この手法の採用が有利となる。
図5はロード回路およびコンフィギュレーションメモリのより詳細な構成例を示す図である。
ロード回路24およびコンフィギュレーションメモリ230〜237は、コンフィギュレーション情報を転送するためのシフトレジスタ30と、このシフトレジスタ30からのデータを強誘電体メモリに書き込むための書き込み回路31と、強誘電体メモリセルアレイ32と、この強誘電体メモリセルアレイ32に書き込まれたデータを4入力ルックアップテーブル25に出力する出力バッファ33と、メモリの内容をシフトレジスタに読み出すことができる読み出しパス34で構成される。なお、出力バッファ33には、必要に応じてメモリ読み出し用のセンスアンプを備えていてもよい。
ここでは、論理ブロック21のためのロード回路24およびコンフィギュレーションメモリ230〜237の構成を示したが、他のプログラマブル配線12およびプログラマブルI/Oブロック13におけるロード回路およびコンフィギュレーションメモリについても同じ構成をしている。プログラマブル配線12のコンフィギュレーションメモリでは、配線の結線の制御、プログラマブルI/Oブロック13では、I/Oポートの入出力制御に使用される。
強誘電体メモリセルへの書き込みや、これらで構成されるコンフィギュレーションメモリを制御するため、強誘電体メモリセルアレイ32にはワード線WLとプレート線PLが、書き込み回路31には書き込み線WEが、図3で示した論理ブロックアレイ11の中のメモリ制御回路22に接続されている。なお、ワード線WLは、コンフィギュレーション情報の数(8個)と同じ数だけ用意されている。
図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(タンタル酸ビスマスストロンチウム)などのビスマス層状ペロブスカイト構造を持つ強誘電体材料が利用できる。
図7は強誘電体メモリセルの第2の構成例を示す回路図である。この図7において、図6と同じ構成要素については同じ符号を付してある。
この強誘電体メモリセルの第2の構成例は、図6の構成例と類似しているが、強誘電体キャパシタFC3,FC4が追加され、ストレージノードS1,S2と対抗する電極として第2のプレート線PL2を設置している。この強誘電体キャパシタFC3,FC4が追加された強誘電体メモリセルは、図6の強誘電体メモリセルと比較して、電源を遮断した後の電源立ち上がり時に、強誘電体メモリセルに記憶していたデータを正しく読み出すことができるかを表すデータリコール特性が優れている。
図8は強誘電体メモリの各動作における制御信号の状態を示す図である。
上記第1および第2の構成の強誘電体メモリセルの書き込み・読み出しの動作は、通常のSRAMと同様であり、異なるのは、プレート線PL(図7ではプレート線PL1,PL2)の設定である。
まず、書き込み時には、書き込み線WEおよびワード線WLにHighの制御信号を印加し、プレート線PL(PL1,PL2)にHigh→Lowというパルス電圧を印加する。ここで、プレート線PL(PL1,PL2)にHigh→Lowというパルス電圧を印加するシーケンスを加えた点が通常のSRAMの動作と異なる。これによって、強誘電体キャパシタに所定の書き込み電圧を印加し、書き込みを行う。
なお、コンフィギュレーション情報の切り換えは、異なる書き込み線WL(図3の例では8本の書き込み線WLが存在する)を選択して、読み出しを行うことによって実行される。読み出し動作時は、通常のSRAMと同様であり、書き込み線WEにLowの制御信号を印加し、ワード線WLにHighの制御信号を印加し、プレート線PL(PL1,PL2)は、インプリントと呼ばれる強誘電体メモリの特性変動を防止するために電源電圧Vddの半分に設定される。これによって強誘電体メモリの読み出しを行う。
そして、データ保持状態の論理動作のときは、書き込み線WEおよびワード線WLにLowの制御信号を印加し、プレート線PL(PL1,PL2)には、電源電圧Vddの半分の電圧が印加される。
次に、プログラマブル論理デバイスを構成するプログラマブル配線12の構成について説明する。
図9はプログラマブル配線の構成を示す図である。
プログラマブル配線12は、強誘電体メモリセルを使用したコンフィギュレーションメモリ40と、パストランジスタ41とから構成され、コンフィギュレーションメモリ40の出力をパストランジスタ41のゲートに接続している。
コンフィギュレーションメモリ40は、図5に示した論理ブロック用のコンフィギュレーションメモリと同じ構成にすることができる。パストランジスタ41は、配線のカラム線とロー線との交点に配置されて、ドレインおよびソースの一方をカラム線に、他方をロー線に接続される。
パストランジスタ41は、コンフィギュレーションメモリ40から出力されたデータのHigh・Lowの各レベルによってオン・オフが制御され、ドレインおよびソース間が導通または遮断することにより配線の接続を制御する。なお、コンフィギュレーションメモリの容量を削減するためには、A. DeHon “Dynamically Programmable Gate Arrays: A Step Toward Increased Computational Density" (Fourth Canadian Workshop of Field-Programmable Devices, 1996)が使用したマルチプレクサ型のクロスバーを使用することもできる。
次に、プログラマブル論理デバイス10を構成するプログラマブルI/Oブロック13の構成について説明する。
図10はプログラマブルI/Oブロックの構成を示す図である。
プログラマブルI/Oブロック13は、データの入出力に使われるパッド42に入力が接続されたバッファ43と、このバッファ43の出力に接続されてパッド42に入力されたデータをプログラマブル論理デバイス10に取り込むフリップフロップ44と、プログラマブル論理デバイス10からデータを取り出すフリップフロップ45と、このフリップフロップ45の出力に接続されてパッド42に出力するデータを制御するトライステートバッファ46と、強誘電体メモリセルを使用したコンフィギュレーションメモリ47と、このコンフィギュレーションメモリ47の内容に応じてトライステートバッファ46に出力イネーブルの反転信号を供給するフリップフロップ48とを備えている。コンフィギュレーションメモリ47は、図5に示した論理ブロック用のコンフィギュレーションメモリと同じ構成にすることができる。
以上の構成において、フリップフロップ48がクロックに同期してコンフィギュレーションメモリ47の内容をトライステートバッファ46の出力イネーブルの反転入力に供給する。このとき、出力イネーブルの反転信号が、たとえばHighのときは、トライステートバッファ46の出力はハイインピーダンスになるので、パッド42はデータ入力用に設定される。したがって、パッド42に供給されたデータは、バッファ43を介してフリップフロップ44に供給されるので、フリップフロップ44は、クロックに同期してパッド42に入力されたデータをプログラマブル論理デバイス10に取り込むよう作用する。逆に、出力イネーブルの反転信号が、Lowのときには、トライステートバッファ46の入力と出力の論理状態が等しくなるので、フリップフロップ45は、プログラマブル論理デバイス10の出力データをクロックに同期してパッド42に供給するように作用する。このように、プログラマブルI/Oブロック13は、コンフィギュレーションメモリ47の出力によって、I/Oポートの入出力を規定することができる。
次に、プログラマブル論理デバイス10が複数個のコンフィギュレーション情報を有しているが、そのコンフィギュレーション情報をどのように切り換えるかについて説明する。
図11はコンフィギュレーション情報の切り換え動作を説明する図である。
プログラマブル論理デバイス10は、コンフィギュレーションID(IDentifier)・コマンド分配回路50を備えている。このコンフィギュレーションID・コマンド分配回路50は、プログラマブル論理デバイス10の外部からコンフィギュレーション情報を切り換えるコマンドCIDEXTまたはプログラマブル論理デバイス10の内部の論理ブロック21からコンフィギュレーション情報を切り換えるコマンドCIDINTを受けて、強誘電体メモリベースのコンフィギュレーションメモリが存在している論理ブロック21、プログラマブル配線12およびプログラマブルI/Oブロック13のそれぞれに供給するように構成されている。
コンフィギュレーション情報の切り換えは、プログラマブル論理デバイス10の外部からコマンドCIDEXTによって与えることもできるし、コマンドCIDINTによって内部から与えることもできる。内部のコマンドCIDINTは、論理ブロック21内に構成されたシーケンサによって生成される(途中プログラマブル配線12を通過する可能性もあるが、コマンドCIDINTは論理ブロック21で作られる)。
論理ブロック21、プログラマブル配線12およびプログラマブルI/Oブロック13のコンフィギュレーションメモリは、8個(種類)存在しているので、各コンフィギュレーションを特定するため3ビットのコンフィギュレーションID(CID[0:2])が定義される。コマンドCIDEXTまたはコマンドCIDINTは、コンフィギュレーション情報の切り換え先を表すCID[0:2]の値とコンフィギュレーション情報切り換えコマンドとを含んでいる。
コンフィギュレーションID・コマンド分配回路50は、コマンドCIDEXTまたはコマンドCIDINTを受けると、CID[0:2]の値とコンフィギュレーション情報切り換えコマンドとを、論理ブロック21、プログラマブル配線12およびプログラマブルI/Oブロック13の各コンフィギュレーションメモリに送り、これによって、8個のコンフィギュレーションメモリの1つが選択され、論理ブロック21、プログラマブル配線12またはプログラマブルI/Oブロック13は、選択されたコンフィギュレーションメモリに蓄積されたコンフィギュレーション情報に従って論理機能が切り換えられることになる。
次に、論理ブロック21の具体的な構成例について説明する。
図12は従来の論理ブロックの構成を示す回路図、図13は本発明のプログラマブル論理デバイスに用いられる論理ブロックの構成を示す回路図である。
従来の論理ブロックをモデル化した図12の構成によれば、1つのコンフィギュレーション情報を蓄積するコンフィギュレーションメモリ51と、組み合わせ論理ブロックをなすルックアップテーブル52と、フリップフロップ53と、ルックアップテーブル52またはフリップフロップ53の出力の切り換えを行うための2:1のマルチプレクサ54とで構成される。この構成は、FPGAで採用されていた一般的な構成である。
これに対し、本発明のプログラマブル論理デバイスに用いられる論理ブロック21は、複数のコンフィギュレーション情報を蓄積するコンフィギュレーションメモリ55と、ルックアップテーブル56と、イネーブル端子ENを有するフリップフロップ57と、ルックアップテーブル56またはフリップフロップ57の出力の切り換えを行うための2:1のマルチプレクサ58とで構成され、コンフィギュレーションメモリ55からマルチプレクサ58の切り換えを行う制御信号をフリップフロップ57のイネーブル端子ENに供給するとともに、フリップフロップ57の出力を外部に供給できるように構成している。フリップフロップ57は、イネーブル端子ENを設けたことにより、コンフィギュレーションを切り換える前の情報を蓄積しておくことができるため、フリップフロップ機能の他にメモリ機能を持たせることができる。
マルチプレクサ58がフリップフロップ57の出力を選択する場合には、マルチプレクサ58の選択制御端子およびフリップフロップ57のイネーブル端子ENにHighレベルの制御信号を供給する。このとき、フリップフロップ57は、イネーブル状態となり、クロック入力によって読み込まれた情報をラッチしてマルチプレクサ58に出力し、マルチプレクサ58がこれを選択して出力するので、従来の論理ブロックと同じ動作をする。
また、マルチプレクサ58がルックアップテーブル56の出力を選択する場合には、コンフィギュレーションメモリ55からマルチプレクサ58の選択制御端子およびフリップフロップ57のイネーブル端子ENにLowレベルの制御信号が供給される。これにより、フリップフロップ57はディセーブル状態になる。こうすることによって、ルックアップテーブル56の従来と同様の動作を可能にするだけでなく、その前のコンフィギュレーションでの実行結果を蓄積したフリップフロップ57の情報を当該のコンフィギュレーションで利用できることになる。特に、フリップフロップ57の出力を入力側にフィードバック可能(ルックアップテーブル56の論理ブロック入力のいずれかに結線可能)な回路構成にしておけば、前のコンフィギュレーションの結果を蓄積しておくメモリを新たに設けることなく、前のコンフィギュレーションの結果を入力として、組み合わせ論理回路で処理した計算結果出力を得ることができるようになる。
次に、強誘電体メモリの電源の立ち上がり時と遮断時におけるコンフィギュレーション情報を破壊から保護する方法について説明する。従来技術でも述べたが、図6に示したような強誘電体メモリセルに、ただそのままの電源を供給しても、蓄積された情報の正常な回復(データリコール)は困難である。電源が立ち上がる際には、図6のラッチ回路のNMOSトランジスタM2、M4のターンオンが先に始まった側に従ってストレージノードS1、S2の電圧が決まるが、このとき、強誘電体キャパシタFC1、FC2の両端にかかる電圧はせいぜい0.5Vであり、強誘電体キャパシタFC1、FC2の相対的な容量比はほとんどなく、データリコール時の誤読み出し(これはデータ破壊と等価である)が生じる可能性がある。また、電源の遮断前には、図6のプレート線PLや図7のプレート線PL1、PL2は、Vdd/2に設定されており、強誘電体メモリの長期的な信頼性を確保するためには、一度、強誘電体キャパシタFC1、FC2にフル電源電圧を印加する(データストア)ことが望ましい。ここでは、データリコールとデータストアとをプログラマブル論理デバイスの内部で自動的に実行する手法について説明する。
図14は強誘電体メモリの電源制御回路の一例を示す図、図15は強誘電体メモリベースのコンフィギュレーションメモリにおける電源制御を説明する図である。
電源制御回路は、外部電源端子に接続された平滑コンデンサ60に並列に電源電圧検出・供給回路61を備えている。この電源電圧検出・供給回路61は、入力された電源電圧Vddを電源電圧PWRとしてメモリ制御回路62に供給するとともに電源電圧の立ち上がりおよび遮断を検出した電源電圧検出信号PDETをメモリ制御回路62に出力するよう構成されている。また、メモリ制御回路62は、強誘電体メモリベースのコンフィギュレーションメモリ63に電源制御信号ENXおよびグランド制御信号ENと、強誘電体メモリセル制御信号とを出力するよう構成されている。なお、図3に示した論理ブロック21の場合には、ここのメモリ制御回路62は、メモリ制御回路22に対応し、コンフィギュレーションメモリ63は、コンフィギュレーションメモリ230〜237に対応する。
また、コンフィギュレーションメモリ63は、図15に示すように、図6および図7に示したタイプの強誘電体メモリセルをコンフィギュレーションメモリとしてアレイ配置されており、このコンフィギュレーションメモリ63の電源電圧PWRの制御(供給)用にトランジスタPT1が設けられ、グランド電圧VSSの制御(供給)用にトランジスタNT1が設けている。
電源の立ち上げ時には、メモリ制御回路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の論理動作を実行すれば、もともと蓄積されていたコンフィギュレーション情報を利用した論理動作の実行が可能となる。
電源の遮断時には、電源電圧検出・供給回路61が電源電圧の低下を検知した後、もともとはVdd/2に設定されていたプレート線PL(PL1、PL2)をHighからLowと変化させ、すべての強誘電体メモリセルに書き込みを行った後に、トランジスタPT1,NT1をオフする。この際、ワード線WLは、すべてLowにして選択を行わないか、1本のみ選択する。
図16は電源電圧検出・供給回路の電源電圧検出部の一構成例を示す回路図である。
電源電圧検出部は、電源電圧の立ち上がりを検出する立ち上がり検出回路64と、電源電圧の立ち下がりを検出する立ち下がり検出回路65と、2つのNANDゲート66,67からなるRSフリップフロップ回路とからなり、電源電圧Vddよりも十分に低い電圧で、例えば1V以上で動作する。
立ち上がり検出回路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の安定した(電源の変動、温度の変動に対して特性変動の極めて少ない)電圧を得ている。
この電源電圧検出部は、3.0Vを検出したら電源電圧検出信号PDETとしてHighを出力し、一旦、電圧が上がった以降は、2.7V以下になるまで電源電圧検出信号PDETとしてHighを保持するというヒステリシス特性を備えており、負荷の増大にともなう電源の瞬間的な低下に対して、余裕を持たせた回路にしてある。
次に、コンフィギュレーション情報の未書き込み時の問題とその対策について説明する。
図17は強誘電体メモリセルベースのコンフィギュレーションメモリを使用したプログラマブル配線の模式図、図18は本発明におけるプログラマブル配線の構成例を示す図である。
プログラマブル論理デバイスのプログラマブル配線は、図17に示したように、複数の配線トラック70,71を有し、これらの配線トラック70,71にはパストランジスタ72,74およびパストランジスタ73,75が接続され、各パストランジスタ72〜75にはコンフィギュレーションメモリの第1ないし第4の出力が接続され、さらに出力バッファ76〜79を介してルックアップテーブルからの第1ないし第4の出力が接続されている。
強誘電体メモリセルのデータの書き込みを行う前は、コンフィギュレーションメモリの第1ないし第4の出力は不定の状態になっている。このため、ある場合には、例えばコンフィギュレーションメモリの第1および第3の出力が同じ配線トラック70に繋がっているパストランジスタ72,74を同時にオンさせる可能性がある。また、ルックアップテーブルの第1ないし第4の出力も、同様に規定されていないため、第1の出力がHighで、第3の出力がLowとなる可能性がある。この結果、配線トラック70には、Highの出力とLowの出力とが競合することになる。この結果、この配線トラック70の電位は中間電位に保たれ、大きな電流が流れることになる。
これを防止するために、従来型のSRAMセルベースのプログラム論理デバイスでは、デバイスの電源が供給された後、コンフィギュレーション情報の書き込みが終わるまで、ルックアップテーブルからの出力をディセーブルする構成をとっている。しかし、強誘電体メモリを使用したプログラマブル論理デバイスでは、コンフィギュレーション情報の書き込みは(理想的には)一度行えば良いので、毎回電源の立ち上げ毎に、ルックアップテーブルからの出力をディセーブルする必要はない。
そこで、本発明では、図18に示す構成により、プログラマブル配線のコンフリクトを防止するようにしている。この構成では、各パストランジスタ72〜75のゲートにANDゲート80〜83を設け、ANDゲート80〜83の第1の入力にコンフィギュレーションメモリの第1ないし第4の出力が接続され、ANDゲート80〜83の第2の入力には、コンフィギュレーションメモリの第5の出力が接続されている。このコンフィギュレーションメモリの第5の出力に関連する強誘電体メモリセルには、コンフィギュレーション情報を書き込み済みか否かを表す情報が蓄積されている。
電源の立ち上げの時には、コンフィギュレーションメモリの第5の出力に関連する強誘電体メモリセルに蓄積された情報を基にコンフィギュレーションメモリの第1ないし第4の出力をパストランジスタ72〜75に供給するか否かを制御している。すなわち、コンフィギュレーションメモリの第5の出力に関連する強誘電体メモリセルに蓄積された情報が書き込み前の情報であれば、すべてのANDゲート80〜83を閉じてコンフィギュレーションメモリの第1ないし第4の出力を強制的にディスエーブルし、書き込み済みの情報であれば、イネーブルすることによって、配線トラック70,71がバスコンフリクトを生じないようにしている。
ここでは、コンフィギュレーション情報の未書き込み時の問題をプログラマブル配線の場合について説明したが、このようなコンフィギュレーション未実施の対策は、例えば、図11に示したコンフィギュレーション情報の切り換えを行う回路でも必要である。なぜなら、コンフィギュレーション情報が未書き込みの状態では、チップ内部からコンフィギュレーション変更のコマンドが出力され続ける可能性があるからである。この場合も、コンフィギュレーションが未実施であれば、コンフィギュレーションID・コマンド分配回路50は、内部信号からの入力を無視する回路構成としている。
なお、コンフィギュレーション情報を書き込んだかどうかの情報は、すべてのコンフィギュレーション情報(ID)に対して必要である。また、コンフィギュレーション情報が未書き込みであることは、プログラマブル論理デバイスの製造者によって書き込まれて、ユーザに出荷される。製造者において、コンフィギュレーション情報が未書き込みの際に生じる上記のバスコンフリクトや、論理回路の不正動作を防ぐために、テストピンを用意して、外部からコンフィギュレーション未実施を指定することが可能である。
次に、コンフィギュレーションメモリをベースとしたリードオンリーメモリ14について説明する。一般的な論理回路において、リードオンリーメモリは定数の蓄積などに使用され、単位面積あたりの論理ゲートの数を向上することが可能である。
図19はコンフィギュレーションメモリをベースとしたリードオンリーメモリの構成例を示す図である。
コンフィギュレーションメモリ90は、その出力側にマルチプレクサ91が接続され、このマルチプレクサ91はアドレス線およびデータ線を介して論理ブロック92に接続されている。また、コンフィギュレーションメモリ90には、リードオンリーメモリ制御回路93が接続されている。このリードオンリーメモリ制御回路93は、コンフィギュレーションID・コマンド分配回路からコンフィギュレーションを特定するための3ビットのコンフィギュレーションID(CID[0:2])と、論理ブロック92からのROMモード選択信号とを受けるよう構成されている。
コンフィギュレーションメモリ90は、例えば32ビットを単位とした構成をとっている。したがって、コンフィギュレーションIDによるコンフィギュレーションに従った論理動作を実行しているときには、マルチプレクサ91は、論理ブロック92から送られたアドレスにより32ビットのデータから必要なデータを選択して論理ブロック92に送る。この場合、選択できるのは、コンフィギュレーションIDにより特定されたコンフィギュレーションメモリ90の1個の出力である32ビットからのみである。このとき、論理ブロック92からのROMモード選択信号は、例えばLowになっている。
ROMモード選択信号がHighのときは、論理ブロック92から一緒に3ビットのアドレス信号が送られる。この3ビットのアドレス信号は、8つのコンフィギュレーションのいずれか1つを選択するためのものである。この場合、リードオンリーメモリ制御回路93は、3ビットのアドレス信号によりコンフィギュレーションメモリ90から1つのコンフィギュレーションを選択する。選択されたコンフィギュレーションの32ビットのデータは、マルチプレクサ91に送られ、論理ブロック92から送られたアドレスにより32ビットのデータから必要なデータを選択して論理ブロック92に送る。
このようにして、ROMモード選択信号がLowのときには、実行中の論理動作を規定しているコンフィギュレーション情報に含まれたデータを読み出すことができ、ROMモード選択信号がHighとなるROMモードのときには、論理ブロック92から送られる3ビットのアドレス信号で選択されたコンフィギュレーションのデータを読み出すことができる。
次に、コンフィギュレーション情報の書き込みおよび読み出しについて説明する。
図20はコンフィギュレーション情報のデータ転送を説明する図、図21はチップ外部から供給されるコンフィギュレーション情報のデータストリームの例を示す図、図22はコンフィギュレーション情報のデータ書き込みを説明する図である。
プログラマブル論理デバイスは、複数の論理ブロック、プログラマブル配線、プログラマブル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に接続されている。
このように、このコンフィギュレーション情報の書き込みおよび読み出しのために、コンフィギュレーションメモリを複数のグループに分けてこれらを同時に実行できる構成にしている。この構成にすることによって、コンフィギュレーション情報の書き込みおよび読み出しを高速にしている。
コンフィギュレーション回路104,109は、コンフィギュレーション情報書き込みまたは読み出しのコマンドが入力されると、そのコマンドを解釈してコンフィギュレーション情報の書き込みまたは読み出しを行う。
コンフィギュレーション情報は、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全体のコンフィギュレーションメモリにコンフィギュレーション情報を供給する。
LSI外部から供給されるコンフィギュレーション情報のデータストリームは、図21に示したように、同期信号と、コマンド、書き込みデータおよびCRC(Cyclic Redundancy Check:エラーチェック符号)で構成され、コンフィギュレーション回路104,109に供給されて、必要なコンフィギュレーション情報のみが、シフトレジスタ列に送られる。CRCはエラーチェックのために使用され、エラーが発生した場合には、LSIの外部システムに再度データの送信を要求することになる。
シフトレジスタ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の単位面積あたりの論理ゲート数を飛躍的に向上できる。
最後に、プログラマブル論理デバイスのセキュリティについて説明する。従来の揮発性のメモリを使用したFPGAでは、コンフィギュレーション情報は誰にでも読み出したり、書き込みしたりすることができた。なぜなら、各LSIに固有の情報を蓄積することができないためである。このため、開発したコンフィギュレーション情報を他社に読み出されたり、悪意のある他者によって書き換えられたりする可能性があった。本発明においては、強誘電体メモリベースの不揮発性のメモリを使用することにより、各LSIに固有の情報を蓄積することができ、これによって、コンフィギュレーション情報を他社に読み出されたり、悪意のある他者によって書き換えられたりする可能性をなくし、同時に、認証されていない者による不正使用を防ぐことができる。
図23はセキュリティ回路の一例を示す図、図24はセキュリティを考慮したコンフィギュレーション情報のデータストリームの例を示す図である。
セキュリティ回路は、コンフィギュレーション情報の書き込みおよび読み出しを行う回路に設けられ、ここでは、例として図20の左側に示した回路に適用した場合を示している。セキュリティ回路は、不揮発メモリ121と、動作認証回路122と、リセット回路123とを有している。不揮発メモリ121は、LSIまたはユーザに固有なセキュリティIDを蓄積する。この不揮発メモリ121は、図3に示したコンフィギュレーションメモリを使用することも可能である。複数のコンフィギュレーション情報を持ったプログラマブル論理デバイスにおいては、各コンフィギュレーションID毎に、独自のセキュリティIDを設けることができる。各コンフィギュレーションID毎のセキュリティIDを蓄積するには、コンフィギュレーションメモリを使用することが適している。動作認証回路122は、不揮発メモリ121に蓄積しておいたセキュリティIDと動作要求コマンドに含まれたセキュリティIDとの照合を行う。リセット回路123は、プログラマブル論理デバイスが論理動作の実行を開始する前にチップのリセット信号を出力する。
まず、コンフィギュレーション情報の書き込みおよび読み出しでは、図24に例示したようなデータストリームを使用する。このデータストリームには、セキュリティIDが含まれている。コンフィギュレーション回路104は、データストリームが入力されると、そのデータストリームに含まれるセキュリティIDと不揮発メモリ121に蓄積されているセキュリティIDとを照合し、一致しない場合には、書き込みまたは読み出しコマンドを受け付けないようにする。これにより、悪意のある第三者によってコンフィギュレーション情報が読み出されたり書き換えられたりすることが防止される。
また、動作認証回路122は、LSI外部から動作要求コマンドを受け付けるようにして、受け付けた動作要求コマンドに含まれるセキュリティIDが不揮発メモリ121に蓄積されているセキュリティIDと一致した場合にのみ、リセット回路123に解除要求を送り、リセット回路123はリセット信号を出し、回路のリセット状態を解除する。複数のコンフィギュレーション情報を持ったプログラマブル論理デバイスにおいては、各コンフィギュレーションID毎に、独自のセキュリティIDを設け、管理することができる。各セキュリティIDを蓄積するためには、コンフィギュレーションメモリを使用し、許容されたコンフィギュレーションIDのみ、動作実行を可能とする。これによって、プログラマブル論理デバイスの不正使用を防ぐことができる。
(付記1) 外部からコンフィギュレーションを設定して所望の論理動作を可能にするプログラマブル論理デバイスにおいて、
任意の論理動作を可能にする1つの回路に対して複数個のコンフィギュレーション情報を蓄積して複数個の論理状態を規定するようにした複数個のコンフィギュレーションメモリと、
前記複数個のコンフィギュレーション情報を選択して複数種の論理動作を実行可能にする情報選択手段と、
を備え、前記コンフィギュレーションメモリを不揮発性の強誘電体メモリセルで構成したことを特徴とするプログラマブル論理デバイス。
(付記2) 前記情報選択手段は、LSIの動作中に、前記LSIの内部で発生された制御信号によって、前記コンフィギュレーション情報を変更可能にしたことを特徴とする付記1記載のプログラマブル論理デバイス。
(付記3) 前記情報選択手段は、LSIの動作中に、前記LSIの外部から供給された制御信号によって、前記コンフィギュレーション情報を変更可能にしたことを特徴とする付記1記載のプログラマブル論理デバイス。
(付記4) 組み合わせ論理回路ブロックと、前記組み合わせ論理回路ブロックの出力状態を蓄積するフリップフロップと、前記組み合わせ論理回路ブロックの出力および前記フリップフロップの出力を入力し前記コンフィギュレーション情報によって前記組み合わせ論理回路ブロックの出力または前記フリップフロップの出力を選択して出力するマルチプレクサとを有する論理ブロックを備え、
前記フリップフロップは、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記フリップフロップの出力が選択された場合にイネーブル状態にし、前記コンフィギュレーション情報によって前記マルチプレクサの出力として前記組み合わせ論理回路ブロックの出力が選択された場合にディセーブル状態にするイネーブル端子を有していることを特徴とする付記1記載のプログラマブル論理デバイス。
(付記5) 電源が立ち上がる際に電源電圧が第1の所定の電圧以上になったことを検出する第1の電源電圧検出手段と、前記第1の電源電圧検出手段による前記第1の所定の電圧の検出に応答して前記強誘電体メモリセルのプレート線に高レベルの電圧を印加して前記強誘電体メモリセルが誤再生されないようにしてから前記強誘電体メモリセルに電源電圧を印加するよう制御する第1の電源制御手段とを備えていることを特徴とする付記1記載のプログラマブル論理デバイス。
(付記6) 電源が遮断される際に電源電圧が第2の所定の電圧以下になったことを検出する第2の電源電圧検出手段と、前記第2の電源電圧検出手段による前記第2の所定の電圧の検出に応答して前記強誘電体メモリセルのプレート線に初めに高レベルの電圧を印加し、続いて低レベルの電圧を印加するか、あるいは逆に低レベルの電圧を印加した後高レベルの電圧を印加し前記強誘電体メモリセルがデータストアを実行した後に前記強誘電体メモリセルへの電源電圧を遮断するよう制御する第2の電源制御手段とを備えていることを特徴とする付記1記載のプログラマブル論理デバイス。
(付記7) 前記強誘電体メモリセルは、論理状態を規定する前記コンフィギュレーション情報を書き込み済みか否かの情報を蓄積していることを特徴とする付記1記載のプログラマブル論理デバイス。
(付記8) 複数個のコンフィギュレーション情報を持つ前記コンフィギュレーションメモリは、その出力を前記論理ブロックで活用できるリードオンリーメモリとして機能させるようにしたことを特徴とする付記4記載のプログラマブル論理デバイス。
(付記9) 前記論理ブロックからの制御信号に従って動作中のコンフィギュレーションとは異なる任意のコンフィギュレーション情報を前記リードオンリーメモリとして機能している前記コンフィギュレーションメモリから自由に読み出しできるよう制御するリードオンリーメモリ制御手段を備えていることを特徴とする付記8記載のプログラマブル論理デバイス。
(付記10) 前記コンフィギュレーションメモリを複数のグループにグループ化し、前記複数のグループで複数のデータストリームからの前記コンフィギュレーション情報の同時書き込みと、前記複数のデータストリームの同時読み出しとを行うようにしたことを特徴とする付記1記載のプログラマブル論理デバイス。
(付記11) 特定の論理動作を実行中に、コンフィギュレーション情報を時間的に切り換え変更して複数種の論理動作を実行できるようにしたことを特徴とする付記1記載のプログラマブル論理デバイス。
(付記12) 不揮発性の前記コンフィギュレーションメモリに固有の情報を蓄積した固有情報蓄積手段と、前記コンフィギュレーション情報の書き込みまたは読み出しの要求時に前記固有の情報との認証を行い、認証結果が正しい場合にのみ、書き込みまたは読み出しを許可する認証手段とを備えていることを特徴とする付記1記載のプログラマブル論理デバイス。
(付記13) 不揮発性の前記コンフィギュレーションメモリに各コンフィギュレーションに対して固有の情報を蓄積した固有情報蓄積手段と、複数種の論理動作の時間的な切り換えに伴う前記コンフィギュレーション情報の書き込みまたは読み出しの要求時に前記固有の情報との認証を行い、認証結果が正しい場合にのみ、書き込みまたは読み出しを許可する認証手段とを備えていることを特徴とする付記1記載のプログラマブル論理デバイス。
(付記14) 不揮発性の前記コンフィギュレーションメモリに固有の情報を蓄積した固有情報蓄積手段と、論理動作の要求時に前記固有の情報との認証を行い、認証結果が正しい場合にのみ、論理動作の実行を許可する認証手段とを備えていることを特徴とする付記1記載のプログラマブル論理デバイス。
(付記15) 不揮発性の前記コンフィギュレーションメモリに各コンフィギュレーションに対して固有の情報を蓄積した固有情報蓄積手段と、複数種の論理動作の時間的な切り換えに伴う論理動作の要求時に前記固有の情報との認証を行い、認証結果が正しい場合にのみ、論理動作の実行を許可する認証手段とを備えていることを特徴とする付記1記載のプログラマブル論理デバイス。
本実施の形態のプログラマブル論理デバイスの概略の構成を示す図である。 強誘電体メモリを使用したプログラマブル論理デバイスの全体回路を例示した模式図である。 論理ブロックアレイをより詳細に示した模式図例である。 4入力ルックアップテーブルの構成例を示す図である。 ロード回路およびコンフィギュレーションメモリのより詳細な構成例を示す図である。 強誘電体メモリセルの第1の構成例を示す回路図である。 強誘電体メモリセルの第2の構成例を示す回路図である。 強誘電体メモリの各動作における制御信号の状態を示す図である。 プログラマブル配線の構成を示す図である。 プログラマブルI/Oブロックの構成を示す図である。 コンフィギュレーション情報の切り換え動作を説明する図である。 従来の論理ブロックの構成を示す回路図である。 本発明のプログラマブル論理デバイスに用いられる論理ブロックの構成を示す回路図である。 強誘電体メモリの電源制御回路の一例を示す図である。 強誘電体メモリベースのコンフィギュレーションメモリにおける電源制御を説明する図である。 電源電圧検出・供給回路の電源電圧検出部の一構成例を示す回路図である。 強誘電体メモリセルベースのコンフィギュレーションメモリを使用したプログラマブル配線の模式図である。 本発明におけるプログラマブル配線の構成例を示す図である。 コンフィギュレーションメモリをベースとしたリードオンリーメモリの構成例を示す図である。 コンフィギュレーション情報のデータ転送を説明する図である。 チップ外部から供給されるコンフィギュレーション情報のデータストリームの例を示す図である。 コンフィギュレーション情報のデータ書き込みを説明する図である。 セキュリティ回路の一例を示す図である。 セキュリティを考慮したコンフィギュレーション情報のデータストリームの例を示す図である。
符号の説明
1 論理ブロック
2 プログラマブル配線
3 プログラマブルI/Oブロック
4,5,6 強誘電体メモリ
7,8,9 情報選択手段
10 プログラマブル論理デバイス
11 論理ブロックアレイ
12 プログラマブル配線
13 プログラマブルI/Oブロック
14 リードオンリーメモリ
21 論理ブロック
22 メモリ制御回路
24 ロード回路
25 入力ルックアップテーブル
26 フリップフロップおよび出力マルチプレクサ
27 メモリ
28、54、58 マルチプレクサ
30 シフトレジスタ
31 書き込み回路
32 強誘電体メモリセルアレイ
33 出力バッファ
34 読み出しパス
40、51、55、63 コンフィギュレーションメモリ
41 パストランジスタ
50 コンフィギュレーションID・コマンド分配回路
52 ルックアップテーブル
53、57 フリップフロップ
56 ルックアップテーブル
60 平滑コンデンサ
61 電源電圧検出・供給回路
62 メモリ制御回路
64 立ち上がり検出回路
65 立ち下がり検出回路
230〜237 コンフィギュレーションメモリ

Claims (5)

  1. コンフィギュレーション情報に応じて論理動作が設定されるプログラマブル論理デバイスにおいて、
    組み合わせ論理回路ブロックと、
    イネーブル端子を有し、イネーブル状態において前記組み合わせ論理回路ブロックの出力状態を蓄積するフリップフロップと、
    前記組み合わせ論理回路ブロックの出力、または前記フリップフロップの出力を選択して出力するマルチプレクサとを備え、
    前記コンフィギュレーション情報は、前記マルチプレクサの出力として前記フリップフロップの出力が選択された場合に、前記フリップフロップを前記イネーブル状態にし、前記マルチプレクサの出力として前記組み合わせ論理回路の出力が選択された場合に、前記フリップフロップをディセーブル状態にする情報を含むことを特徴とするプログラマブル論理デバイス。
  2. 前記コンフィギュレーション情報を蓄積するコンフィギュレーションメモリを有することを特徴とする請求項1記載のプログラマブル論理デバイス。
  3. 前記フリップフロップの出力が、前記組み合わせ論理回路ブロックの入力に接続されていることを特徴とする請求項1または2記載のプログラマブル論理デバイス。
  4. 前記コンフィギュレーション情報が複数であることを特徴とする請求項1乃至3のいずれか一項に記載のプログラマブル論理デバイス。
  5. 前記コンフィギュレーションメモリは、強誘電体メモリを含むことを特徴とする請求項2乃至4記載のいずれか一項に記載のプログラマブル論理デバイス。
JP2007037277A 2007-02-19 2007-02-19 プログラマブル論理デバイス Expired - Fee Related JP4467587B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007037277A JP4467587B2 (ja) 2007-02-19 2007-02-19 プログラマブル論理デバイス

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007037277A JP4467587B2 (ja) 2007-02-19 2007-02-19 プログラマブル論理デバイス

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001399326A Division JP3938308B2 (ja) 2001-12-28 2001-12-28 プログラマブル論理デバイス

Publications (2)

Publication Number Publication Date
JP2007184959A true JP2007184959A (ja) 2007-07-19
JP4467587B2 JP4467587B2 (ja) 2010-05-26

Family

ID=38340593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007037277A Expired - Fee Related JP4467587B2 (ja) 2007-02-19 2007-02-19 プログラマブル論理デバイス

Country Status (1)

Country Link
JP (1) JP4467587B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010087271A1 (ja) * 2009-01-28 2010-08-05 日本電気株式会社 不揮発ロジック回路
US7796423B2 (en) 2008-01-11 2010-09-14 Kabushiki Kaisha Toshiba Reconfigurable logic circuit
JP2014506073A (ja) * 2011-01-13 2014-03-06 ザイリンクス インコーポレイテッド 集積回路における電力マネジメント

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7796423B2 (en) 2008-01-11 2010-09-14 Kabushiki Kaisha Toshiba Reconfigurable logic circuit
WO2010087271A1 (ja) * 2009-01-28 2010-08-05 日本電気株式会社 不揮発ロジック回路
JP5365813B2 (ja) * 2009-01-28 2013-12-11 日本電気株式会社 不揮発ロジック回路
JP2014506073A (ja) * 2011-01-13 2014-03-06 ザイリンクス インコーポレイテッド 集積回路における電力マネジメント

Also Published As

Publication number Publication date
JP4467587B2 (ja) 2010-05-26

Similar Documents

Publication Publication Date Title
JP3938308B2 (ja) プログラマブル論理デバイス
EP1324495B1 (en) Programmable logic device with ferrroelectric configuration memories
US7296128B2 (en) Nonvolatile memory with error correction for page copy operation and method thereof
US7145799B2 (en) Chip protection register unlocking
US7898859B2 (en) Use of emerging non-volatile memory elements with flash memory
US10324641B2 (en) SRAM-based authentication circuit
US20060095975A1 (en) Semiconductor device
US7187600B2 (en) Method and apparatus for protecting an integrated circuit from erroneous operation
CN113963739B (zh) 占据面积减少的熔丝电路
US20170366186A1 (en) Selectively disabled output
JP2003198361A5 (ja)
US20150286583A1 (en) Processor system and control method thereof
US5306961A (en) Low-power integrated circuit with selectable battery modes
US6035382A (en) Circuit for receiving a command word for accessing a secure subkey
JP4467587B2 (ja) プログラマブル論理デバイス
US9373377B2 (en) Apparatuses, integrated circuits, and methods for testmode security systems
JP2000311943A (ja) 半導体装置
US11379580B1 (en) Mixed storage of data fields
US7890721B2 (en) Implementation of integrated status of a protection register word in a protection register array
JP3296184B2 (ja) 半導体集積回路
JP3810378B2 (ja) 不揮発性半導体記憶装置及びその機密保護方法
Huang et al. Hardware Trojans of Computing-In-Memories: Issues and Methods
KR101393306B1 (ko) 보안기능을 갖는 레지스터 및 이를 구비하는 컴퓨터 시스템
JPH05120891A (ja) 半導体記憶装置
JP2004199825A (ja) 半導体記憶装置、およびその制御方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100128

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100223

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 3

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

Year of fee payment: 3

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

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

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees