JP4469708B2 - プログラマブルデバイス - Google Patents

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

Info

Publication number
JP4469708B2
JP4469708B2 JP2004345482A JP2004345482A JP4469708B2 JP 4469708 B2 JP4469708 B2 JP 4469708B2 JP 2004345482 A JP2004345482 A JP 2004345482A JP 2004345482 A JP2004345482 A JP 2004345482A JP 4469708 B2 JP4469708 B2 JP 4469708B2
Authority
JP
Japan
Prior art keywords
programmable
configuration information
cell
programmable device
cells
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
JP2004345482A
Other languages
English (en)
Other versions
JP2006157508A (ja
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2004345482A priority Critical patent/JP4469708B2/ja
Priority to EP05023539A priority patent/EP1662661A3/en
Priority to US11/264,138 priority patent/US7378871B2/en
Priority to CNB2005101233809A priority patent/CN100536338C/zh
Publication of JP2006157508A publication Critical patent/JP2006157508A/ja
Application granted granted Critical
Publication of JP4469708B2 publication Critical patent/JP4469708B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17758Structural details of configuration resources for speeding up configuration or reconfiguration
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/1778Structural details for adapting physical parameters
    • H03K19/17784Structural details for adapting physical parameters for supply voltage

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)
  • Read Only Memory (AREA)

Description

本発明は、プログラマブルデバイスに関し、特に複数のプログラマブルセルを有する構造を持つデバイスの動作を制御する情報を格納する構成に関するものである。
FPGA(Field Programmable Gate Array)に代表されるプログラマブルデバイスは、各種演算を実行するプログラマブルセルを多数内蔵し、各プログラマブルセルは実現する処理に応じて固有の演算を実行する。このようなプログラマブルデバイスは、多数のプログラマブルセルを同時に稼働させることでマルチメディア処理に代表される莫大な演算を実行するものであり、近年非常に注目されている。それぞれのプログラマブルセルが如何なる演算を実行するかはコンフィギュレーション情報(構成情報)で指示され、このコンフィギュレーション情報はプログラマブルセル内に持つ内部メモリに格納される。
プログラマブルデバイスのある従来技術によれば、全てのプログラマブルセルが同一の構成で、それぞれのプログラマブルセルが同じ構成の内部メモリを有する(特許文献1参照)。
特開2000−224025号公報
しかしながら、従来の構成では、電源投入毎にプログラマブルデバイスに内蔵される全てのプログラマブルセルにコンフィギュレーション情報を格納する(この動作を以下コンフィギュレーションという。)必要があり、このコンフィギュレーションに要する時間(以下、コンフィギュレーション時間という。)が長くなるという問題があった。
また、全てのプログラマブルセルが同一の構成で、それぞれのプログラマブルセルが同じ構成の内部メモリを有する上述のプログラマブルデバイスでは、デバイス内にこの内部メモリの占める回路面積が大きくなるという問題があった。
本発明は以上の点に鑑み、コンフィギュレーション時間を短縮し、更に回路面積を縮小し消費電力を低減する構成を持つプログラマブルデバイスを提供することを目的とする。
上記目的を達成するため、本発明に係る第1のプログラマブルデバイスは、各々外部より入力される構成情報を格納する内部メモリと、前記内部メモリに格納された構成情報に基づく動作を実行する演算回路とを有する複数のプログラマブルセルを持ち、前記内部メモリとして不揮発性メモリを持つ少なくとも1つの第1種プログラマブルセルと、前記内部メモリとして揮発性メモリを持つ少なくとも1つの第2種プログラマブルセルと、前記構成情報が入力され前記構成情報と前記構成情報を前記複数のプログラマブルセルのうちどのプログラマブルセルに格納するか指示する制御信号とを前記第1種プログラマブルセル及び前記第2種プログラマブルセルに出力する制御回路とを備えた構成を採用したものである
また、本発明に係る第2のプログラマブルデバイスは、各々外部より入力される構成情報を格納する内部メモリと、前記内部メモリに格納された構成情報に基づく動作を実行する演算回路とを有する複数のプログラマブルセルを持ち、前記内部メモリとして不揮発性メモリを持つ少なくとも1つの第1種プログラマブルセルと、前記内部メモリとして揮発性メモリを持つ少なくとも1つの第2種プログラマブルセルと、前記構成情報が入力され、前記構成情報と前記構成情報を前記第1種プログラマブルセルに格納することを指示する第1の制御信号と、前記構成情報を前記第2種プログラマブルセルに格納することを指示する第2の制御信号とを出力する制御回路とを備えることとしたものである。しかも、前記制御回路は、前記第1の制御信号を前記第1種プログラマブルセルへ、前記構成情報及び前記第2の制御信号を前記第2種プログラマブルセルへそれぞれ出力し、前記第1種プログラマブルセルは、前記1の制御信号がアクティブであるとき、前記第2種プログラマブルセルから前記構成情報を受け取る。
本発明によれば、構成情報を揮発性メモリと不揮発性メモリとに分けて格納することで、電源オフの後に続くコンフィギュレーション時間を短縮し、更に回路面積を縮小し、消費電力の低減を図ることができる。
以下、図面を参照しながら、本発明の第1〜第3の実施形態に係るプログラマブルデバイスについて詳細に説明する。
《第1の実施形態》
図1は、第1の実施形態に係るプログラマブルデバイス100の構成を示し、図2、図3はプログラマブルデバイス100に内蔵される複数のプログラマブルセルの内部構成を示した図である。
図1に示すプログラマブルデバイス100は、図2に示す第1〜第6のプログラマブルセル110〜115を持つ第1の領域119と、図3に示す第7〜第9のプログラマブルセル120〜122を持つ第2の領域129と、図示しないブロックより供給されるコンフィギュレーション情報130を入力とし、そのコンフィギュレーション情報130をどのプログラマブルセルに格納するかを指示する制御信号132とコンフィギュレーション情報130とを出力する制御回路134と、第1〜第9のプログラマブルセル110〜115,120〜122に演算すべきデータを供給するデータバス140とを有する。
図2に示す第1〜第6のプログラマブルセル110〜115は、制御信号132の指示によりコンフィギュレーション情報130を格納する揮発性メモリ210を内蔵する。すなわち制御信号132は第1〜第9のプログラマブルセル110〜115,120〜122のいずれにコンフィギュレーション情報130を書き込むかを示す情報を持っており、この情報は内部制御回路215に入力される。内部制御回路215はこの情報を解読し、書き込みの対象が自身のプログラマブルセルである場合、ライト信号を揮発性メモリ210に出力する。揮発性メモリ210はライト信号が入力された場合、コンフィギュレーション情報130の内容を保持する。また揮発性メモリ210はデータバス140より入力されるデータを保持する2個のレジスタ220,222の動作と、これらのレジスタ220,222が出力するデータを演算する演算回路230の動作と、また演算回路230が出力する演算結果を保持しデータバス140にその保持内容を出力するレジスタ240の動作とを指示する。揮発性メモリ210の構造としては、例えばSRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)が適する。
図3に示す第7〜第9のプログラマブルセル120〜122が図2に示す構成と異なる点は揮発性メモリ210を不揮発性メモリ310としている点である。この不揮発性メモリ310の構造としては、例えばFeRAM(Ferro Electric RAM)が適する。FeRAMでは近年1トランジスタ・1キャパシタ(1T1C)型セルを有するものが開発されており、トランジスタ数がSRAMよりも少なく、電源をオフにしてもその保持内容が消滅しないという特徴を持つ。
以上のような構成を持つプログラマブルデバイス100で図4(a)及び図4(b)に示す処理を実行する。図4(a)に示す処理Aはサブ処理X、サブ処理Y、サブ処理Zからなり、図4(b)に示す処理Bはサブ処理V、サブ処理Y、サブ処理Wよりなる。このように処理A、処理Bは共通するサブ処理Yを含む。
プログラマブルデバイス100は処理A又は処理Bを以下に示す態様で実行する。まず、プログラマブルデバイス100を動作させるため電源を投入する(電源投入に関わる機構は図示しない)。次に処理Aを実行する場合、図示しないブロックより供給されるコンフィギュレーション情報130を制御回路134に入力する。制御回路134はコンフィギュレーション情報130と、このコンフィギュレーション情報130がどのプログラマブルセルに格納すべきかを指示する制御信号132とを第1〜第9のプログラマブルセル110〜115,120〜122に出力する(制御信号132の生成回路は図示しない)。この際、サブ処理Xを構成するコンフィギュレーション情報130を第1〜第3のプログラマブルセル110〜112に書き込み、サブ処理Yを構成するコンフィギュレーション情報130を第7〜第9のプログラマブルセル120〜122に書き込み、サブ処理Zを構成するコンフィギュレーション情報130を第4〜第6のプログラマブルセル113〜115に書き込む。
次に、外部よりデータバス140を経由してデータを入力する。入力されたデータは、まず第1〜第3のプログラマブルセル110〜112によりサブ処理Xを実行し、その実行結果をデータバス140を経由して第7〜第9のプログラマブルセル120〜122に入力する。次いで第7〜第9のプログラマブルセル120〜122はサブ処理Yを実行し実行結果をデータバス140を経由して第4〜第6のプログラマブルセル113〜115に入力する。次いで第4〜第6のプログラマブルセル113〜115はサブ処理Zを実行し実行結果をデータバス140を経由して外部に出力する。このようにして処理Aが実行された後、プログラマブルデバイス100の電源をオフにする。このとき、第7〜第9のプログラマブルセル120〜122は不揮発性メモリ310にコンフィギュレーション情報を格納しているため、その保持内容は消滅しない。
続いてプログラマブルデバイス100で処理Bを実行するにあたり、プログラマブルデバイス100を動作させるため電源を投入する(電源投入に関わる機構は図示しない)。上記したものと同様の手順で、図示しないブロックより供給されるコンフィギュレーション情報130を制御回路134に入力する。制御回路134はコンフィギュレーション情報130と、このコンフィギュレーション情報130がどのプログラマブルセルに格納すべきかを指示する制御信号132とを第1〜第6のプログラマブルセル110〜115に出力する(制御信号132の出力構成は図示しない)。この際、サブ処理Vを構成するコンフィギュレーション情報130を第1〜第3のプログラマブルセル110〜112に書き込み、サブ処理Wを構成するコンフィギュレーション情報130を第4〜第6のプログラマブルセル113〜115に書き込む。
このように、二度目のコンフィギュレーションにより処理Bを実行する場合、第7〜第9のプログラマブルセル120〜122にはサブ処理Yを実現するコンフィギュレーション情報が保持され続けているので、コンフィギュレーション情報130を新たに格納する動作が不要である。これによりコンフィギュレーションに要する時間を短縮することができる。また、上記の実施形態のように処理が完結する毎にこまめに電源をオフすることができ、プログラマブルデバイス100の消費電力を低減することができる。また、第7〜第9のプログラマブルセル120〜122に内蔵される不揮発性メモリ310は、第1〜第6のプログラマブルセル110〜115に内蔵される揮発性メモリ210よりもトランジスタ数を少なくすることができるため、プログラマブルデバイス100の回路面積を小さくすることができる。
なお、本実施形態では第7〜第9のプログラマブルセル120〜122にサブ処理Yのように2種類の処理に共通する処理を実現するコンフィギュレーションを行う場合について述べたが、いわゆるOS(オペレーティング・システム)のように数々のアプリケーションを実行する場合に必ず介在する処理を割り当てても同様の効果を発揮する。なぜなら、OSは複数のアプリケーションにとって常に共通に用いられる処理であるからである。
《第2の実施形態》
図5は、第2の実施形態に係るプログラマブルデバイス500の構成を示し、図6、図7はプログラマブルデバイス500に内蔵される複数のプログラマブルセルの内部構成を示した図である。
図5に示すプログラマブルデバイス500は、図6に示す第1〜第6のプログラマブルセル510〜515を持つ第1の領域519と、図7に示す第7〜第9のプログラマブルセル520〜522を持つ第2の領域529と、図示しないブロックより供給されるコンフィギュレーション情報530を入力とし、そのコンフィギュレーション情報530を第1〜第6のプログラマブルセル510〜515に格納することを指示する第1のライト信号532と、コンフィギュレーション情報530を第7〜第9のプログラマブルセル520〜522に格納することを指示する第2のライト信号533と、コンフィギュレーション情報530とを出力する制御回路534と、演算すべきデータを第1〜第9のプログラマブルセル510〜515,520〜522に供給するデータバス540とを有する。
図6に示す第1〜第6のプログラマブルセル510〜515は、第1のライト信号532がアクティブのときコンフィギュレーション情報530を格納する揮発性メモリ610を内蔵する。また、図7に示す第7〜第9のプログラマブルセル520〜522は、第2のライト信号533がアクティブのときコンフィギュレーション情報530を格納する不揮発性メモリ710を内蔵する。コンフィギュレーション情報530を格納する動作が第1の実施形態と異なるのはコンフィギュレーション情報530を第1〜第9のプログラマブルセル510〜515,520〜522にシーケンシャルに格納する点である。すなわち、第1のライト信号532がアクティブのとき、まず第1のプログラマブルセル510に入力されるコンフィギュレーション情報530が第1のプログラマブルセル510に内蔵される揮発性メモリ610に格納される。揮発性メモリ610の保持内容は図5に示す右側に位置する第4のプログラマブルセル513に出力される。第4のプログラマブルセル513に内蔵される揮発性メモリ610は入力されるコンフィギュレーション情報530(この情報は第1のプログラマブルセル510が出力するもの)を内蔵する揮発性メモリ610に格納する。以下同様にして、第4のプログラマブルセル513が出力するコンフィギュレーション情報530を第5のプログラマブルセル514に内蔵する揮発性メモリ610は保持し、次いで第2、第3及び第6のプログラマブルセル511,512,515の順にコンフィギュレーション情報530がシフトレジスタのように書き込まれていく。更に第2のライト信号533もまたアクティブのとき、第6のプログラマブルセル515が出力するコンフィギュレーション情報530を第7のプログラマブルセル520に内蔵する不揮発性メモリ710が保持し、上記と同様にシフトレジスタのように第8及び第9のプログラマブルセル521,522の順にコンフィギュレーション情報530が書き込まれていく。
プログラマブルデバイス500は、図4(a)の処理A又は図4(b)の処理Bを以下に示す態様で実行する。まず、プログラマブルデバイス500を動作させるため電源を投入する(電源投入に関わる機構は図示しない)。次に処理Aを実行する場合、図示しないブロックより供給されるコンフィギュレーション情報530を制御回路534に入力する。制御回路534はコンフィギュレーション情報530を出力し、同時に第1及び第2のライト信号532,533をアクティブにする。制御回路534が出力するコンフィギュレーション情報530としてまず処理A、処理Bに共通に含まれるサブ処理Y、次いでサブ処理X、サブ処理Zを実現する情報を順次出力する。このときサブ処理Yを実現するコンフィギュレーション情報は第1、第4及び第5のプログラマブルセル510、513,514を順次経由し、第7〜第9のプログラマブルセル520〜522に格納される。サブ処理Xを実現するコンフィギュレーション情報530も引き続き入力されるので、この情報は第1、第4及び第5のプログラマブルセル510、513,514を経由して第2、第3及び第6のプログラマブルセル511,512,515に格納される。サブ処理Zを実現するコンフィギュレーション情報530も引き続き入力されるので、この情報は第1、第4及び第5のプログラマブルセル510,513,514に格納される。すなわち上記の動作によりサブ処理Xを構成するコンフィギュレーション情報530は第2、第3及び第6のプログラマブルセル511,512,515に書き込まれ、サブ処理Yを構成するコンフィギュレーション情報530は第7〜第9のプログラマブルセル520〜522に書き込まれ、サブ処理Zを構成するコンフィギュレーション情報530は第1、第4及び第5のプログラマブルセル510,513,514に書き込まれる。
次に外部よりデータバス540を経由してデータを入力する。入力されたデータはまず第2、第3及び第6のプログラマブルセル511,512,515によりサブ処理Xを実行し、その実行結果をデータバス540を経由して第7〜第9のプログラマブルセル520〜522に入力する。次いで第7〜第9のプログラマブルセル520〜522はサブ処理Yを実行し実行結果をデータバス540を経由して第1、第4及び第5のプログラマブルセル510,513,514に入力する。次いで第1、第4及び第5のプログラマブルセル510,513,514はサブ処理Zを実行し実行結果をデータバス540を経由して外部に出力する。このようにして処理Aが実行された後、プログラマブルデバイス500の電源をオフにする。このときプログラマブルセル520〜522は不揮発性メモリ710にコンフィギュレーション情報を格納するため、その保持内容は消滅しない。
続いてプログラマブルデバイス500で処理Bを実行するに当たり、プログラマブルデバイス500を動作させるため電源を投入する(電源投入に関わる機構は図示しない)。上記したものと同様の手順で、図示しないブロックより供給されるコンフィギュレーション情報530を制御回路534に入力する。制御回路534はコンフィギュレーション情報530を出力し、同時に第1のライト信号532をアクティブにし、第2のライト信号533をアクティブにしない。制御回路534が出力するコンフィギュレーション情報としてまず処理Bにだけ含まれるサブ処理V、次いでサブ処理Wを実現する情報を順次出力する。このときサブ処理Vを実現するコンフィギュレーション情報は第1、第4及び第5のプログラマブルセル510,513,514を順次経由し、第2、第3及び第6のプログラマブルセル511,512,515に格納される。サブ処理Wを実現するコンフィギュレーション情報530も引き続き入力されるので、この情報は第1、第4及び第5のプログラマブルセル510,513,514に格納される。すなわち上記の動作によりサブ処理Vを構成するコンフィギュレーション情報530は第2、第3及び第6のプログラマブルセル511,512,515に書き込まれ、サブ処理Wを構成するコンフィギュレーション情報530は第1、第4及び第5のプログラマブルセル510,513,514に書き込まれる。またサブ処理Yについては第7〜第9のプログラマブルセル520〜522に保持されたままである。
このように、二度目のコンフィギュレーションにより処理Bを実行する場合、第7〜第9のプログラマブルセル520〜522にはサブ処理Yを実現するコンフィギュレーション情報が保持され続けているので、コンフィギュレーション情報530を新たに格納する動作が不要であって、第1の実施形態と同様の効果を得ることができる。第1の実施形態と異なる点は、コンフィギュレーション情報530を順次隣接するプログラマブルセルに渡していくため、コンフィギュレーション情報530を通信する配線が少なくて済む点であり、これにより更に回路面積の縮小を図ることができる。
なお、本実施形態では第7〜第9のプログラマブルセル520〜522にサブ処理Yのように2種類の処理に共通する処理を実現するコンフィギュレーションを行う場合について述べたが、いわゆるOS(オペレーティング・システム)のように数々のアプリケーションを実行する場合に必ず介在する処理を割り当てても同様の効果を発揮する。なぜなら、OSは複数のアプリケーションにとって常に共通に用いられる処理であるからである。
さて、揮発性メモリ610を構成するトランジスタの閾値電圧は、その書き換え頻度を考慮して、コンフィギュレーション情報530のシーケンシャル伝送においてより前段に位置するものほど低く設定するのがよい。具体的には、制御回路534が出力するコンフィギュレーション情報530を入力とする第1のプログラマブルセル510に内蔵される揮発性メモリ610を第1の領域519に含まれる第1〜第6のプログラマブルセル510〜515の中で閾値電圧の最も低いトランジスタで構成し、次いで第4のプログラマブルセル513に内蔵される揮発性メモリ610、第5のプログラマブルセル514に内蔵される揮発性メモリ610の順に閾値電圧の高いトランジスタで構成する。前述のようにコンフィギュレーション情報530は第1のプログラマブルセル510から第4のプログラマブルセル513へ、そして第5のプログラマブルセル514から第6のプログラマブルセル515まで順にチェーン状に転送される。ここで書き換えるべきコンフィギュレーション情報を第1の領域519の一部に格納する場合、第1のプログラマブルセル510に近いチェーンに位置するプログラマブルセルを書き換える。
このとき、書き換わる頻度が高いのは第1のプログラマブルセル510に近いプログラマブルセルであり、これらのプログラマブルセルに内蔵される揮発性メモリ610を構成するトランジスタは閾値電圧が低い。すなわち、書き換えの頻度が小さくなるに従い、プログラマブルセルに内蔵される揮発性メモリ610のトランジスタの閾値電圧を高く構成するので、漏れ電流(リーク電流)の小さいプログラマブルデバイスを実現することとなる。
《第3の実施形態》
図8は、第3の実施形態に係るプログラマブルデバイス800の構成を示し、図9はプログラマブルデバイス800に内蔵される第10〜第12のプログラマブルセル820〜822の内部構成を示した図である。
図8に示すプログラマブルデバイス800が図1に示すプログラマブルデバイス100と異なる点は、前述の第1及び第2の領域119,129に加えて、第10〜第12のプログラマブルセル820〜822を持つ第3の領域829を持ち、図9に示す第10〜第12のプログラマブルセル820〜822は予めコンフィギュレーション情報130に相当する情報をROM910に格納していることである。これによりプログラマブルデバイス800を実装したLSIの製品出荷の後、その動作内容を変更する必要の全くない処理を予め第10〜第12のプログラマブルセル820〜822に内蔵されるROM910にそれぞれ格納することで、コンフィギュレーション情報130の書き込みが不要となる。これによりコンフィギュレーションに要する時間を短縮することができる。また、処理が完結する毎にこまめに電源をオフすることができプログラマブルデバイス800の消費電力を低減することができるのは第1の実施形態と同様である。
なお、図5に示すプログラマブルデバイス500に、各々ROM910を持つ第10〜第12のプログラマブルセル820〜822を付加することとしてもよい。
以上、第1〜第3の実施形態を説明してきたが、最後に具体的なセル実装方法について説明する。
図10は、第1の実施形態で用いた第1、第4及び第7のプログラマブルセル110,113,120などを集積した構成を示す図である。第1の半導体チップ1010は、第7のプログラマブルセル120に内蔵される不揮発性メモリ310のみを集積する。第2の半導体チップ1020は、第7のプログラマブルセル120に内蔵される不揮発性メモリ310以外の構成に加えて、第1及び第4のプログラマブルセル110,113や制御回路134、コンフィギュレーション情報130の配線、制御信号132の配線などを集積する。
以下、第7のプログラマブルセル120の構成について説明する。第2の半導体チップ1020ではまず全てのプログラマブルセルを図2に示す構成、すなわち揮発性メモリ210を内蔵する構成として集積する。第7のプログラマブルセル120の構成、すなわち不揮発性メモリ310を使用するプログラマブルセルを構成するには、第1の半導体チップ1010上に集積した不揮発性メモリ310と第2の半導体チップ1020上の揮発性メモリ210の箇所とを配線1030を用いて電気的に接続し、揮発性メモリ210を使用しないようにする。これにより、当初揮発性メモリ210を含んでいたプログラマブルセルを、不揮発性メモリ310を含んだプログラマブルセルに変更することができ、第7のプログラマブルセル120を構成できることとなる。
一般に、FeRAMに代表される不揮発性メモリは独特の回路、例えば複数の電源配線や加工寸法を必要とするものであり、以上のように構成することで、不揮発性メモリ310を適切な加工条件の一方の半導体チップ1010に集積できるので、プログラマブルデバイス全体として回路面積を更に縮小化することができる。
なお、第2及び第3の実施形態中の不揮発性メモリ310,710も図10と同様にして構成することが可能である。
さて、上記各実施形態ではプログラマブルデバイスに内蔵されるプログラマブルセルの個数を9個又は12個としたがこれは任意の数でよい。また第1の領域119(519)、第2の領域129(529)、第3の領域829に含まれるプログラマブルセルの個数をそれぞれ6個、3個、3個としたがこれも任意でよい。内部メモリの点を除き第1〜第6のプログラマブルセル110〜115(510〜515)の構造と第7〜第9のプログラマブルセル120〜123(520〜523)の構造とをほぼ同一としたが、上記で示したように揮発性メモリ210(610)にコンフィギュレーション情報を格納する領域と、不揮発性メモリ310(710)にコンフィギュレーション情報を格納する領域とからプログラマブルデバイスを構成しさえすればよいため、個々のプログラマブルセルの構造が異なっていてもよいことは言うまでもない。
以上説明してきたとおり、本発明に係るプログラマブルデバイスは、電源オフの後に続くコンフィギュレーション時間を短縮し、更に回路面積を縮小し、消費電力の低減を図ることができるという効果を有し、FPGA等として有用である。
本発明の第1の実施形態に係るプログラマブルデバイスの構成を示すブロック図である。 図1中の第1〜第6のプログラマブルセルの各々の内部構成を示すブロック図である。 図1中の第7〜第9のプログラマブルセルの各々の内部構成を示すブロック図である。 (a)及び(b)は図1のプログラマブルデバイスで実行する処理A及びBの内容をそれぞれ示す概念図である。 本発明の第2の実施形態に係るプログラマブルデバイスの構成を示すブロック図である。 図5中の第1〜第6のプログラマブルセルの各々の内部構成を示すブロック図である。 図5中の第7〜第9のプログラマブルセルの各々の内部構成を示すブロック図である。 本発明の第3の実施形態に係るプログラマブルデバイスの構成を示すブロック図である。 図8中の第10〜第12のプログラマブルセルの各々の内部構成を示すブロック図である。 図1のプログラマブルデバイスの実装例を示す半導体チップの斜視図である。
符号の説明
100,500,800 プログラマブルデバイス
110〜115,510〜515 プログラマブルセル(第2種)
119,519 第1の領域
120〜122,520〜522 プログラマブルセル(第1種)
129,529 第2の領域
130,530 コンフィギュレーション情報
132 制御信号
134,534 制御回路
140,540 データバス
210,610 揮発性メモリ
230,630 演算回路
310 不揮発性メモリ
532,533 ライト信号
820〜822 プログラマブルセル(第3種)
829 第3の領域
910 ROM
1010,1020 半導体チップ
1030 配線

Claims (8)

  1. 各々外部より入力される構成情報を格納する内部メモリと、前記内部メモリに格納された構成情報に基づく動作を実行する演算回路とを有する複数のプログラマブルセルを持つプログラマブルデバイスにおいて、
    前記内部メモリとして不揮発性メモリを持つ少なくとも1つの第1種プログラマブルセルと、
    前記内部メモリとして揮発性メモリを持つ少なくとも1つの第2種プログラマブルセルと、
    前記構成情報が入力され、前記構成情報と、前記構成情報を前記複数のプログラマブルセルのうちどのプログラマブルセルに格納するか指示する制御信号とを前記第1種プログラマブルセル及び前記第2種プログラマブルセルに出力する制御回路とを備えたことを特徴とするプログラマブルデバイス。
  2. 各々外部より入力される構成情報を格納する内部メモリと、前記内部メモリに格納された構成情報に基づく動作を実行する演算回路とを有する複数のプログラマブルセルを持つプログラマブルデバイスにおいて、
    前記内部メモリとして不揮発性メモリを持つ少なくとも1つの第1種プログラマブルセルと、
    前記内部メモリとして揮発性メモリを持つ少なくとも1つの第2種プログラマブルセルと、
    前記構成情報が入力され、前記構成情報と、前記構成情報を前記第1種プログラマブルセルに格納することを指示する第1の制御信号と、前記構成情報を前記第2種プログラマブルセルに格納することを指示する第2の制御信号とを出力する制御回路とを備え、
    前記制御回路は、前記第1の制御信号を前記第1種プログラマブルセルへ、前記構成情報及び前記第2の制御信号を前記第2種プログラマブルセルへそれぞれ出力し、
    前記第1種プログラマブルセルは、前記1の制御信号がアクティブであるとき、前記第2種プログラマブルセルから前記構成情報を受け取ることを特徴とするプログラマブルデバイス。
  3. 請求項記載のプログラマブルデバイスにおいて、
    前記第2種プログラマブルセルを複数備え、かつ前記第2種プログラマブルセル同士の間で前記構成情報のシーケンシャル伝送を行うように構成されたことを特徴とするプログラマブルデバイス。
  4. 請求項記載のプログラマブルデバイスにおいて、
    前記第2種プログラマブルセルが持つ前記揮発性メモリを構成するトランジスタの閾値電圧は、前記構成情報のシーケンシャル伝送においてより前段に位置するものほど低く設定されたことを特徴とするプログラマブルデバイス。
  5. 請求項1又はに記載のプログラマブルデバイスにおいて、
    共通のサブ処理を有する第1及び第2の処理を前記プログラマブルデバイスが実行するにあたり、前記共通のサブ処理を前記第1種プログラマブルセルで実行することを特徴とするプログラマブルデバイス。
  6. 請求項1又はに記載のプログラマブルデバイスにおいて、
    構成情報が予め格納されたリードオンリーメモリ(ROM)と、前記ROMに格納された構成情報に基づく動作を実行する演算回路とを有する少なくとも1つの第3種プログラマブルセルを更に備えたことを特徴とするプログラマブルデバイス。
  7. 請求項1又はに記載のプログラマブルデバイスにおいて、
    前記第1種プログラマブルセルの構成要素のうち前記不揮発性メモリを実装する第1の半導体チップと、
    前記不揮発性メモリ以外の構成要素を実装する第2の半導体チップとを備え、
    前記第1の半導体チップと前記第2の半導体チップとを電気的に接続して構成されたことを特徴とするプログラマブルデバイス。
  8. 請求項2記載のプログラマブルデバイスにおいて、
    共通のサブ処理を有する第1及び第2の処理を前記プログラマブルデバイスが実行するにあたり、前記制御回路は、前記共通のサブ処理を実現する構成情報を、前記共通のサブ処理以外の処理を実現する構成情報よりも先に、前記第2種プログラマブルデバイスに出力することを特徴とするプログラマブルデバイス。
JP2004345482A 2004-11-30 2004-11-30 プログラマブルデバイス Expired - Fee Related JP4469708B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004345482A JP4469708B2 (ja) 2004-11-30 2004-11-30 プログラマブルデバイス
EP05023539A EP1662661A3 (en) 2004-11-30 2005-10-27 Programmable device
US11/264,138 US7378871B2 (en) 2004-11-30 2005-11-02 Programmable device with structure for storing configuration information
CNB2005101233809A CN100536338C (zh) 2004-11-30 2005-11-25 可编程装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004345482A JP4469708B2 (ja) 2004-11-30 2004-11-30 プログラマブルデバイス

Publications (2)

Publication Number Publication Date
JP2006157508A JP2006157508A (ja) 2006-06-15
JP4469708B2 true JP4469708B2 (ja) 2010-05-26

Family

ID=35739269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004345482A Expired - Fee Related JP4469708B2 (ja) 2004-11-30 2004-11-30 プログラマブルデバイス

Country Status (4)

Country Link
US (1) US7378871B2 (ja)
EP (1) EP1662661A3 (ja)
JP (1) JP4469708B2 (ja)
CN (1) CN100536338C (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2224344A1 (en) * 2009-02-27 2010-09-01 Panasonic Corporation A combined processing and non-volatile memory unit array
CN102184158B (zh) * 2011-03-31 2014-04-23 杭州海康威视数字技术股份有限公司 带两级fpga芯片的子板及两级fpga芯片的配置方法
US9762246B2 (en) 2011-05-20 2017-09-12 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device with a storage circuit having an oxide semiconductor
US8975917B2 (en) * 2012-03-01 2015-03-10 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
CN104335282B (zh) * 2012-03-30 2017-11-17 英特尔公司 用于可编程器件阵列的基于自旋转移矩的存储器元件

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809281A (en) 1993-03-30 1998-09-15 Altera Corporation Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
JPH09231788A (ja) * 1995-12-19 1997-09-05 Fujitsu Ltd シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム
US6492833B1 (en) * 1998-04-30 2002-12-10 Altera Corporation Configurable memory design for masked programmable logic
JP3444216B2 (ja) * 1999-01-28 2003-09-08 日本電気株式会社 プログラマブルデバイス
EP1324495B1 (en) 2001-12-28 2011-03-30 Fujitsu Semiconductor Limited Programmable logic device with ferrroelectric configuration memories
US6970012B2 (en) * 2002-06-10 2005-11-29 Xilinx, Inc. Programmable logic device having heterogeneous programmable logic blocks
US6774668B1 (en) * 2003-01-08 2004-08-10 Xilinx Inc. Apparatus and method for preinitializing logic function
US7218137B2 (en) * 2004-04-30 2007-05-15 Xilinx, Inc. Reconfiguration port for dynamic reconfiguration

Also Published As

Publication number Publication date
CN100536338C (zh) 2009-09-02
US7378871B2 (en) 2008-05-27
EP1662661A3 (en) 2008-06-04
CN1783722A (zh) 2006-06-07
US20060119387A1 (en) 2006-06-08
JP2006157508A (ja) 2006-06-15
EP1662661A2 (en) 2006-05-31

Similar Documents

Publication Publication Date Title
US6356500B1 (en) Reduced power DRAM device and method
US11107520B2 (en) Apparatuses and methods for shift decisions
US20060133180A1 (en) Semiconductor memory device and semiconductor integrated circuit device
KR100785938B1 (ko) 반도체 집적 회로 장치
JP5380332B2 (ja) 半導体装置及びデータプロセッサ
US7378871B2 (en) Programmable device with structure for storing configuration information
JP6190150B2 (ja) 記憶装置
JP3849956B2 (ja) プログラマブル集積回路
KR102578013B1 (ko) 반도체 기억 장치
US8081525B2 (en) Memory device including combination SRAM-ROM cells and SRAM cells alternately arranged and semiconductor device including the memory device
US10347328B2 (en) SRAM with multiple power domains
JP2004078772A (ja) マイクロコンピュータ装置の待機時の処理方法およびマイクロコンピュータ装置
KR20180010860A (ko) 컬럼 디코더를 갖는 반도체 장치
US7965101B2 (en) Combined processing and non-volatile memory unit array
US7486542B2 (en) General purpose register circuit
KR20040094355A (ko) 메모리 회로
JPH1117132A (ja) 半導体記憶装置
JP2004335686A (ja) 高速低消費電力論理装置
JPH11120762A (ja) 半導体記憶装置
JP2007166254A (ja) プログラマブル論理回路装置
KR20030062987A (ko) 저전력 반도체 장치에 적합한 메모리 셀 어레이 구조

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091225

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4469708

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

Free format text: PAYMENT UNTIL: 20140305

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees