JP4040026B2 - 内蔵型設定可能ロジックアレイのための回路内設定構造 - Google Patents

内蔵型設定可能ロジックアレイのための回路内設定構造 Download PDF

Info

Publication number
JP4040026B2
JP4040026B2 JP2004055879A JP2004055879A JP4040026B2 JP 4040026 B2 JP4040026 B2 JP 4040026B2 JP 2004055879 A JP2004055879 A JP 2004055879A JP 2004055879 A JP2004055879 A JP 2004055879A JP 4040026 B2 JP4040026 B2 JP 4040026B2
Authority
JP
Japan
Prior art keywords
setting
memory
integrated circuit
function
data
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
JP2004055879A
Other languages
English (en)
Other versions
JP2005143071A (ja
Inventor
アルバート・サン
エリック・シュウ
シー−リャン・チェン
Original Assignee
マクロニクス インターナショナル カンパニイ リミテッド
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 マクロニクス インターナショナル カンパニイ リミテッド filed Critical マクロニクス インターナショナル カンパニイ リミテッド
Publication of JP2005143071A publication Critical patent/JP2005143071A/ja
Application granted granted Critical
Publication of JP4040026B2 publication Critical patent/JP4040026B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Microcomputers (AREA)

Description

本発明は、システムオンチップ集積回路、及び、用途特化型或いはカスタムオンチップ型のロジックデバイスとして適用可能な内蔵型の設定可能(Configurable)ロジックアレイを含むその他のプロセッサデバイスに関する。
例えば、プログラム可能ロジックデバイス(PLD)、フィールドプログラム可能ゲートアレイ(FPGA)、更に一般的には、プログラム可能ロジックアレイ(PLA)として知られている製品を含む設定可能ロジックアレイは、益々高密度のものが設計されている。かかる高密度デバイスを設定(Configure)するための技術は、典型的には、チップ上のまたは通常システムバスを介して設定可能ロジックアレイと通信するホストコンピュータ上で実行される専用ロジックを必要とする。設定可能ロジックアレイコア用の設定データの管理は複雑なロジックを要する(例えば、ローマンに付与された米国特許第6049222号(特許文献1)参照)。当該デバイスを設定するための専門技術により、当該技術が適用可能な周辺環境が限定される。
設定可能ロジックアレイは、ユーザが当該デバイス上にユーザ指定機能を実行するために設けられたプログラム可能素子の設定を指定する設定データをローディングすることにより設定可能となっている。尚、当該デバイス上のプログラム可能素子は、プログラム可能設定ポイントと言われる。例えば、FPGAはロジック素子のアレイと、設定データを用いてフィールド(使用現場)でプログラム可能な何千ものプログラム可能内部接続付きの配線接続を備える。設定データは、チップ上にSRAMのようなメモリセルで通常実現されるメモリ素子で形成される設定ポイントに保存される。他の設定可能ロジックアレイは、ROM(読み出し専用メモリ)、フラッシュメモリ、EPROM(電気的プログラム可能読み出し専用メモリ)のようなメモリセルで実現される不揮発性設定メモリを含む。
設定可能ロジックアレイにおけるプログラム可能スイッチ及び他の設定ポイントとして、電荷プログラム可能な不揮発性メモリ素子が使用されてきた(例えば、米国特許第5247478号(特許文献2)、米国特許第5764096号(特許文献3)、及び、米国特許第6122209号(特許文献4)、参照)。
設定可能ロジックアレイにおける一つの問題点は、チップがプリント回路ボードに装着されている場合、または、機能しているシステムに組み込まれている場合におけるチップ上への設定データのローディングである。この点に関しては、米国特許第4879688号の「インシステム・プログラム可能ロジックデバイス」(特許文献5)、米国特許第5995744号の「プログラム可能デバイスのネットワーク設定」(特許文献6)、米国特許第6028445号の「FPGA設定用のデコーダ構成とFPGA設定方法」(特許文献7)、米国特許第6049222号の「内蔵型メモリを使用するFPGA設定」(特許文献8)、及び、米国特許第6102963号の「PLDのインシステム再設定を支援するインシステム・プログラム及び検証能力を備えた、電気的に消去可能で再プログラム可能な不揮発性集積回路ストレージデバイス」(特許文献9)等を参照されたい。
米国特許第6049222号明細書 米国特許第5247478号明細書 米国特許第5764096号明細書 米国特許第6122209号明細書 米国特許第4879688号明細書 米国特許第5995744号明細書 米国特許第6028445号明細書 米国特許第6049222号明細書 米国特許第6102963号明細書
システムオンチップ(SOC)デバイスは更にシステムの複雑さを増す。つまり、SOCシステムは設計が難しく、設計変更が高くつく。プロセッサコアに設定可能ロジックアレイを追加することにより、そのプロセッサコアに関連するロジックは変更可能となり設計がもっと容易になる。従って、設定可能ロジックアレイ中のロジックは使用するプログラム可能ロジックに関連する業界ツールを用いて設定可能であり、他方、プロセッサコアは従来のソフトウェアプログラミング技術を用いてプログラム可能である。それにも拘らず、設定可能ロジックアレイモジュールに対する設定データの管理上の問題は依然と存在する。SOC技術は、設計が難しく、設計変更が高くつくという複雑システムにおける古典的問題を抱える。プロセッサコアと設定可能ロジックアレイの組み合わせは、PLA設定ツールを使用したロジック設定を許容することで、プロセッサに関連するロジックを変更する能力を改良する一方法である。
システムオンチップ設計におけるより大きな自由度と設定可能ロジックの設定管理に対する技術改良の要望がある。
本発明は、上述の問題点に鑑みてなされたものであり、内蔵型設定可能ロジックを用いたシステムオンチップ設計に対しより大きな自由度を提供し、設定可能ロジックの設定ロードを提供する。
本発明は、設定可能ロジックアレイ、プロセッサコア、及び、メモリを備えるシステムオンチップ集積回路を提供する。該メモリは、システムオンチップに対するミッション機能用の命令と外部ソースから当該集積回路の入力ポートを介して当該集積回路上へ設定データをロードするために使用される設定ロード機能用の命令を格納するのに適応している。プロセッサコアは、メモリからそれらの命令をフェッチして実行する。
幾つかの実施態様において、前記メモリは、設定可能ロジックアレイ内の電気的にプログラム可能な設定ポイントに設定データをロードするために用いる設定機能用命令も格納する。他方、幾つかの実施態様において、該設定機能は、設定可能ロジックアレイに関連するそれに特化したロジックを用いて実行される。プロセッサと設定可能ロジックアレイまたはチップ上の設定可能ロジック間のインタフェースは該設定機能をサポートする。
前記メモリは、設定ロード機能用の命令を格納する第1メモリアレイを含み、一実施態様では、その第1メモリアレイは、読み出し専用メモリ、フローティングゲートメモリ、窒化物MOSメモリ等の不揮発性メモリである。同様に、設定機能用の命令は前記第1メモリアレイに格納され得る。好ましくは、設定ロード機能用の命令は、プログラム可能メモリに格納され、その結果、設定ロード機能が、設定データの種々のリモートソース(遠隔のデータ源)、及び、そのリモートソースとの通信経路を確立するためのプロトコルに適応するために回路内で変更できる。
プロセッサコアによって実行されるように設定された方法で設定機能とオンチップでの設定ロード機能の少なくとも何れかを提供することにより、本発明のシステムオンチップ集積回路が、設定可能ロジックアレイの設定ロードが好ましい広範な環境に容易に適用可能となる。
前記ミッション機能は、使用中におけるシステムのミッションを達成するユーザ指定命令と用途指定命令の少なくとも何れか一方を含む。前記メモリは、一実施態様において、高速SRAMや高速DRAM等の揮発性メモリを用いて実現されるミッション機能用の命令を格納するメモリアレイを備える。他の実施態様において、ミッション機能用の命令を格納するメモリアレイは、読み出し専用メモリ、フローティングゲートメモリ、窒化物MOSメモリ等の不揮発性メモリを含んでもよい。また、幾つかの実施態様において、ミッション機能用の命令を格納するメモリアレイは、揮発性メモリと不揮発性メモリを組み合わせて含んでもよい。
別の実施態様において、インシステム設定ロード用及び前記ミッション機能の設定ロードの命令は、チップ上の不揮発性メモリに格納される。このように、設定可能ロジックアレイに対する設定データと前記ミッション機能に使用される命令の両方のローディングが、回路ボードやその他のシステム内にチップが実装された後に、そのシステムオンチップ内にプログラム可能となる。
幾つかの実施態様では、設定ロード機能と設定機能の少なくとも何れか一方は監視タイマを使用する工程を含む。該集積回路はプロセッサに連絡する監視タイマ回路を備える。
設定可能ロジックアレイは、該設定可能ロジックアレイ内の電気的にプログラム可能な設定ポイントに格納された設定データによって定義されるプログラム可能な設定を有する。例えば、前記電気的にプログラム可能な設定ポイントは、フローティングゲートメモリセル、他の電荷プログラム可能な不揮発性メモリセルを備える。設定データは、設定可能ロジックアレイの設定処理中に設定ポイントに転送される。
幾つかの実施態様において、設定データの格納に適応したプログラム可能な設定メモリが集積回路上に含まれている。かかる実施態様に応じて、設定機能は前記設定メモリから設定可能ロジックアレイ内のプログラム可能設定ポイントへの設定データの転送を含む。また、設定ロード機能は、システムオンチップ集積回路上の入力ポートを介して設定データのリモートソースから前記設定メモリへの設定データのローディングを含む。幾つかの実施態様において、前記プログラム可能な設定メモリは、フローティングゲートメモリ、または、他の電荷プログラム可能な不揮発性メモリ等の不揮発性のプログラム可能なメモリセルを用いて実現される。幾つかの実施態様において、前記プログラム可能な設定メモリは、設定可能ロジックアレイの迅速な設定変更をサポートするために高速SRAMを用いて実現される。また、幾つかの実施態様は、設定データのオンチップでの格納と操作をサポートするために、不揮発性メモリと揮発性の高速メモリの両方を含む。
更に、他の実施態様において、前記プロセッサコアは、リセット等の初期化イベントに応答して、設定ロード機能及び設定機能を実行する。本発明に係るSOC(システムオンチップ)集積回路の実施態様は、監視タイマを含み、該監視タイマ期間の終了によって初期化イベントが起動される。設定ロード機能は、監視タイマ期間をリモートソースから設定データを受信する手順に適した期間に設定する手順を含む。もし、該監視タイマ期間が終了すると、設定ロード機能の再実行を含む初期化機能が実行される。
更に、他の実施態様において、前記メモリは、設定ロード機能、ミッション機能、及び、設定機能用の命令を格納する。かかる実施態様において、第1設定ロード機能が、設定ロード機能による上書きや修正から保護されたメモリ内に格納される。該第1設定ロード機能は、保護されたメモリに対して予め設定されたデフォルト位置から設定データを提供する経路を提供する。第2設定ロード機能が、保護されていないメモリに格納され、前記デフォルト位置から変化可能な設定データのリモートソースとの通信に用いられる。もし、第2設定ロード機能を変更する設定ロード動作の実行中に初期化イベントが発生した場合、該設定ロード動作の回復動作のために、第1設定ロード機能を使用できる。
本発明の他の特徴及び長所は、後述する図面、発明の実施形態、及び、特許請求の範囲の開示より明らかとなる。
本発明に係るシステムオンチップ集積回路の実施の形態につき、図1〜図8を参照して説明する。図1に、基本的なシステムオンチップ(SOC)集積回路10を示す。集積回路10は、例えば、当業界で周知の標準的な8051またはARMモジュール等のマイクロコントローラ・コアモジュール11を備える。また、別態様として、ディジタルシグナルプロセッサコア、高性能RISCプロセッサコア、または、その他のマイクロプロセッサモジュール、ディジタルシグナルプロセッサモジュール等の他のデータプロセッサコアを、前記マイクロコントローラ・コアモジュール11と置換または追加してもよい。集積回路10は、更に、保護されたメモリ(以下、「保護メモリ」と言う。)13とプログラム可能メモリ14を含む。保護メモリ13は、典型的にはブート機能等を格納し、上書きや修正から保護されている。プログラム可能メモリ14は、典型的には集積回路10に対するミッション機能を格納している。集積回路10は、更に入出力構造12を備え、集積回路10へ入力する或いは集積回路10から出力するシリアルまたはパラレルまたはその両方のデータ経路を提供する。
集積回路10内には、設定可能ロジックアレイ15がプロセッサコア11を補完すべく設けられている。設定可能ロジックアレイ15は、フィールドプログラム可能ゲートアレイまたはその他のタイプの設定可能ロジックモジュールを用いて実現される。設定可能ロジックアレイ15は、その機能を定義するための設定データを格納する設定ポイントを備える。典型的には、設定可能ロジックアレイ15は、特化されたロジックを実行して、前記ミッション機能を追加する目的で、SOC集積回路上に含まれる。本実施例では、保護メモリ13とプログラム可能メモリ14の一方が、プロセッサコア11によって実行される命令を格納する。該命令は、設定データを設定可能ロジックアレイ15の前記設定ポイントに転送する設定機能を実行するロジックを含む。該命令は、また、入出力構造12を介して設定データを外部ソースから前記集積回路上にローディングするための通信経路を確立する設定ロードを実行するロジックを含む。
図2は、SOC集積回路10の変形例の簡略化されたブロック図である。図2に示す実施例において、オンチップ・プロセッサが設定可能ロジックアレイ15の一部(セグメント15A)によって実現されている。該セグメント15Aに対する設定データは、セグメント15A内の不揮発性の設定ポイント内、或いは、集積回路10上の保護メモリ13内に格納されている。本実施例では、集積回路10の初期化によって、設定データが保護メモリ13からセグメント15Aに転送される。設定可能ロジックアレイ15のセグメント15Aで構成されるプロセッサは、マイクロコントローラコア11または他のプロセッサコアと同様に命令を実行する。
図3は、本発明に係るSOC集積回路10の他の変形例の簡略化されたブロック図である。図3に示す実施例において、設定メモリ16が集積回路10のチップ上に含まれる。設定メモリ16は、マイクロコントローラコア11または他のチップ上の設定ロジックの制御下で初期化とともに設定可能ロジックアレイ15に転送される設定可能ロジックアレイ15の設定データを格納する。設定メモリ16は、製造段階において、設定可能ロジックアレイ15の最小限の設定データセットを確立するために読み出し専用メモリを用いて実現される。別システムにおいて、設定メモリ16は、プログラム可能であり、マイクロコントローラコア11が実行する制御命令の下、設定ロード機能を用いて外部ソースからロード可能である。更に別システムでは、設定メモリ16は、読み出し専用メモリとプログラム可能メモリの組み合わせで構成される。
図4は、本発明の実施形態におけるSOC集積回路10のより詳細な機能ブロック図である。本実施形態において、図4に示す各構成要素は全て単一の集積回路チップ上に構成されている。該チップは、マイクロコントローラコア100を含み、該マイクロコントローラコア100は、特定目的の回路または図2を参照して説明したような設定可能ロジックアレイのセグメントを用いて実現される。マイクロコントローラコア100は、ブートベクタ101と監視タイマ103をサポートするのに用いられるタイマ回路102を備える。マイクロコントローラコア100は、入出力ポート104、少なくとも1つの割り込みライン105、及び、他の信号入力と出力106をサポートする。集積回路内のメモリはマイクロコントローラコア100によって実行される命令を格納する。該メモリは、集積回路上の設定可能ロジックアレイ110をサポートする設定ロード機能と設定機能を含む設定ハンドラのための命令を格納する第1メモリアレイ107を含む。幾つかの実施態様では、該設定ハンドラは、割り込み信号や監視タイマのリセット等によって起こるリセットのような初期化イベントに応答して実行される初期化機能を含む。該メモリは、SOC集積回路に対するミッション機能用の命令を格納する第2メモリアレイ108を含む。該メモリは、ブート機能、インサーキット(回路内)プログラム機能、及び、設定可能ロジックアレイの設定ロードバックアップ機能を含む保護された機能を格納する第3メモリアレイ109を含む。第3メモリアレイ109は、リセットイベント及びインサーキットプログラム手順や設定ロード手順の失敗等の初期化機能中のシステムの回復を提供するICP機能によって上書きや修正から保護されている。
該メモリは、マスクROM、フラッシュメモリ、SRAMメモリ、及び、その他特定の実現に適した同等のメモリを含む、種々のメモリセル技術を用いて実現される。典型的には、保護された第3メモリアレイ109は、マスクROM、フラッシュメモリ等の不揮発性メモリで実現される。フラッシュメモリまたはその他の電気的にプログラム可能なメモリで実現される場合、設定ロード動作や偶発的な上書きや修正から第3メモリアレイ109を保護するロジック構成が実現される。
図4に示す実施例では、集積回路上の設定可能ロジックアレイ110は、フラッシュベースの設定可能ロジックアレイで実現されている。フラッシュベースの設定可能ロジックアレイにおいては、前記設定ポイントが不揮発性であるので、設定データはリセットや電源遮断が起きても保持される。
マイクロコントローラコア100と設定可能ロジックアレイ110間のインタフェースは集積回路上に形成される。該インタフェースは、当業界で周知の他の構造の中において、データレジスタ111、設定レジスタ112、及び、タイミングレジスタ113を含み、これらレジスタによって、データ、設定データ、及び、タイミング信号がモジュール間でやり取りされる。ステータスレジスタ115は、設定データを用いた設定可能ロジックアレイの設定を確実に成功させるためのプロトコル中の設定機能によって利用される。
マイクロコントローラコア100は、マルチプレクサ114で代表される命令パスを介して前記各メモリアレイ107,108,109を含む該メモリから命令を取り出す。集積回路上に含まれる、例えばSRAMやレジスタアレイを含む他のメモリ構造は、マイクロコントローラコア100または設定可能ロジックアレイ110によって実行される機能をサポートする。
図4に示す実施例では、第1メモリアレイ107に格納された設定ハンドラの設定ロード機能がSOC集積回路と設定データのリモートソースとの間の通信経路を確立する。該通信経路は、入出力ポート104を介して設定データを受信する。設定データは、設定ハンドラの設定機能によって設定レジスタ112を介して設定可能ロジックアレイ110内のフラッシュベースの設定ポイントに転送される。
設定ロード動作中のリセットやその他の初期化が発生すると、当該設定ロード機能は再実行される。
保護メモリ109またはその他のメモリにICPプログラムも格納される。ICPプログラムは、設定ハンドラを上書きまたは修正するのに用いられるので、設定ロード機能は、ユーザが選択したリモートソースから設定データを受信するのに適合することができる。これらの実施例において、設定可能ロジックアレイの設定ロードバックアップ機能が、保護メモリアレイ109に格納されている。第1メモリアレイ107に格納された設定ハンドラが変化した場合、システムは保護メモリアレイ109に格納された機能を用いて回復される。尚、本発明によって使用に適するインサーキットプログラム機能は、米国特許第6401221号、米国特許第6493788号、米国特許第5901330号の各明細書に詳細に記載されている。
図5は、本発明に係るSOC集積回路の他の構成例を示す。図5において、図4と同様の構成要素には共通の参照符号を付している。図5に示す変形構成例によれば、設定可能ロジックアレイ150は、フラッシュベースの設定可能ロジックアレイまたは他の不揮発性設定ポイントベースの設定可能ロジックアレイを用いて実現する必要はない。例えば、設定可能ロジックアレイ150は、SRAMベースの設定ポイントを有する標準的なフィールドプログラム可能ゲートアレイ(FPGA)を用いて実現できる。
設定可能ロジックアレイ150に対する設定データは、マイクロコントローラコア100がアクセス可能な集積回路上のメモリの一部として形成される不揮発性設定データメモリアレイ151内に格納されている。本実施例では、設定データメモリアレイ151とマイクロコントローラコア100との間のインタフェースとして振舞う制御回路152を用いる。メモリアレイ107内の設定ハンドラの設定ロード機能は、リモートソースと設定データメモリアレイ151間の通信経路を確立するべく機能する。メモリアレイ107内の設定ハンドラの設定機能は、設定動作中に設定データを設定データメモリアレイ151からマイクロコントローラコア100を介して設定可能ロジックアレイ150に転送するべく機能する。
図6は、本発明に係るSOC集積回路の他の構成例を示す。図6において、図5と同様の構成要素には共通の参照符号を付している。図6に示す変形構成例によれば、設定可能ロジックアレイ160は、プログラム可能ロジックデバイス(PLD)モジュールを用いて実現できる。設定可能ロジックアレイ160に対する設定データは、マイクロコントローラコア100がアクセス可能な集積回路上のメモリの一部として形成される不揮発性設定データメモリアレイ161内に格納されている。制御回路162が、設定データメモリアレイ161と設定可能ロジックアレイ160との間のインタフェースとして振舞うため、メモリアレイ107内の設定ハンドラの設定機能により、設定データは、設定データメモリアレイ161から設定機能で指定されるデータパス170,171を介して直接に設定可能ロジックアレイ160に転送される。データパス170,171は、データ幅の広いパラレルデータパスまたは設定機能に適合するその他の高速または特別に構成されたデータパスを用いて形成される。本実施例では、メモリアレイ107内の設定ハンドラの設定機能は単純化或いは削除でき、制御回路162を用いて多くの機能が達成できる。
メモリアレイ107内の設定ハンドラの設定ロード機能は、リモートソースと設定データメモリアレイ161間の通信経路を確立するべく機能する。
図7は、本発明に係るSOC集積回路の他の構成例を示す。図7において、図6と同様の構成要素には共通の参照符号を付している。図7に示す変形構成例によれば、該メモリは、暗号化/復号化機能用の命令とデータ圧縮/伸張機能用の命令の少なくとも何れか一方を格納するメモリアレイ172により補完される。図7に示す構成例によれば、設定ロード機能は、リモートソースと設定データメモリアレイ161間の通信経路を確立するべく機能する。設定データは、リモートソースから暗号化されたフォーマット、圧縮されたフォーマット、または、その両方のフォーマットで受信される。設定ロード機能は、設定データを設定データメモリアレイ161にローディングするときに、メモリアレイ172から復号化とデータ伸張機能の少なくとも何れかを働かせる。或いは、設定機能が、設定データを設定可能ロジックアレイの設定ポイントに転送するときに、メモリアレイ172から復号化とデータ伸張機能の少なくとも何れかを働かせる。図4及び図5を参照して示した実施例を含むSOC集積回路の様々な実施例において、暗号化/復号化機能用の命令とデータ圧縮/伸張機能用の命令の少なくとも何れか一方を格納するメモリアレイ170の追加はなされる。
図8は、プロセッサコア(CPU212)と設定可能ロジックアレイ251を含むSOC集積回路に対する本発明の一側面に基づく、インサーキット・プログラミングと設定ロードのための耐故障(フォールトトレラント)システムの主たる機能要素の幾つかを示すブロック図である。該インサーキット・プログラミング処理と設定ロードシステムは、不揮発性メモリ200、RAM208、CPU212、及び、周辺回路214を含む。インサーキット・プログラミング処理と設定ロードシステムは、また、ジャンプブートベクター216、マルチプレクサ(MUX)210、インサーキットプログラム/設定ロード(ICP/CL)ステータスレジスタ218、リモートホストアドレスレジスタ220、及び、ICP/CL監視機構222を含む耐故障性を実現する構成要素を備える。
更に具体的には、CPU212は、マイクロコントローラ、マイクロプロセッサ、または、ディジタル信号プロセッサを含む如何なるタイプの処理システムでもよい。CPU212は、CPU212によって実行されるコードとデータを記憶するランダムアクセスメモリであるRAM208と接続する。CPU212は、更に、MUX210と表示されるデータパスを介して不揮発性メモリ200と接続する。
不揮発性メモリ200は、フラッシュメモリ、EPROM、EEPROM、及び、ROMメモリを含む、システムの電源が遮断したときに記憶を維持する如何なるタイプのメモリであってもよい。不揮発性メモリ200は、ブートプログラム202、ユーティリティプログラム204、インサーキットプログラム(ICP)ハンドラ206、設定ハンドラ250、及び、ミニ・ブートコード207を備える。ブートプログラム202は、システムのハードウェア及びソフトウェアリソースを初期化するためのシステム初期化中に実行されるプログラムの集まりである。ブートプログラム202は、設定ロード処理中に修正可能なプログラム可能なメモリに格納されている。不揮発性メモリ200は、また、ユーティリティプログラム204を備え、該ユーティリティプログラム204は、システムの動作中にミッション機能を実施するCPU212によって実行されるプログラムを含む。ユーティリティプログラム204は、また、インサーキットプログラミングロード処理を介してプログラムできるメモリ内に含まれる。不揮発性メモリ200は、また、システムの設定ロード機能を遂行し、設定ロード機能を介してプログラムできるメモリに記憶された設定ハンドラ250を含む。不揮発性メモリ200は、また、インサーキットプログラミング処理を介してプログラムできるメモリに記憶された設定ハンドラ250を含む。設定ハンドラ250は、図4〜図7に関して上述した機能を実行する。
不揮発性メモリ200は、また、ミニ・ブートコード207を備える。該ミニ・ブートコード207は、通常ブートと設定ハンドラプログラムの同じインサーキットプログラム処理中に修正不可能な保護メモリ内に記憶される。ミニ・ブートコード207は、ブートプログラム202と同じ機能の多くを遂行するシステム初期化命令の代替セットである。しかしながら、ブートプログラム202、インサーキットプログラム処理206、または、設定ハンドラ機能250を潜在的に誤らせたり使用できなくする或るインサーキットプログラム処理の最中にエラーがある場合に、ミニ・ブートコード207は、唯一行動を起こす。つまり、ミニ・ブートコード207は、通常ブートの同じインサーキットプログラム処理中に修正不可能なメモリ内に格納されなければならない。本発明の一実施例では、ミニ・ブートコード207は、マスクROMに格納され、ブートプログラム202、ユーティリティプログラム204、設定ハンドラ250、及び、インサーキットプログラム(ICP)ハンドラ206がプログラム可能なフラッシュメモリに格納されている。
CPU212は、更に、ICP処理中に耐故障性を容易にするハードウェア構成要素と接続している。CPU212は、MUX210と接続し、MUX210は、ICP/CLステータスレジスタ218からの制御入力と同様に、不揮発性メモリ200及びジャンプブートベクター216を入力として受け付ける。MUX210は、ICP/CLステータスレジスタ218の状態に応じて、不揮発性メモリ200とジャンプブートベクター216の間で、CPU212を選択的にスイッチする。もし、ICP/CLステータスレジスタ218の状態がダーティ(不正)な場合、該状態は、前回のICP動作または設定ロード動作を修正する動作が完了していないことを示し、CPU212は、システム初期化中にジャンプブートベクター216に対し、ミニ・ブートコード207を指示するジャンプ命令を入力として受け取る。他方、ICP/CLステータスレジスタ218の状態がクリーン(正常)な場合、該状態は、設定ロード動作が処理中でないことを示し、CPU212は、システム初期化中に不揮発性メモリの初期位置を入力として受け取る。CPU212は、更に、リモートホストアドレスレジスタ220に接続している。リモートホストアドレスレジスタ220は、インサーキットプログラム中にシステムがリセットされた場合にリモートホストアドレスのバックアップコピーを保持する。CPU212は、また、リード(読み出し)/ライト(書き込み)パス230及びリセットライン232を介してICP/CL監視機構222と接続する。ICP/CL監視機構222は、タイムアウト期間レジスタ226とタイマ224と一致ロジック228を備える。タイマ224とタイムアウト期間レジスタ226の両方は、リード/ライトパス230を介してCPU212によって初期化可能に構成されている。タイマ224の値がタイムアウト期間レジスタ226のタイムアウト期間と一致すると、一致ロジック228がリセット信号を、リセットライン223を通してCPU212に送出する。一実施例において、上記の耐故障性を容易にするハードウェア構成要素は、インサーキットプログラム処理から保護されたプログラム可能メモリ素子を含む。
CPU212は、更に、周辺回路214と接続する。周辺回路214は、図中周辺回路214の左手に2重矢印で表示するように、システムユーザ244との通信に使用される入力及び出力デバイスを備える。周辺回路214は、また、インターネット234、その他の通信回線や通信路と接続するためのインタフェースを備える。インターネット234はそれ自体がリモートホスト236、238、240と接続する。リモートホスト238は、ブート及びユーティリティプログラムの新バージョンを記憶したディスク装置242と接続する。ブート及びユーティリティプログラムの新バージョンは、例えば、新しいインサーキットプログラム機能や新しい設定ロード機能等であり、インターネット234を介してシステムにダウンロードされる。
設定ロード処理は一般的に以下のように動作する。CPU212が、周辺回路214を介してユーザ244と通信する。ユーザ244はCPU212に対し、設定ロード処理を開始する設定ハンドラ250を起動する。設定ハンドラ250は、周辺回路214を介してインターネット234へ、インターネット234を介してリモートホスト238へと繋がる接続を形成する。そして、リモートホスト238は、ディスク装置242からインターネット234を介して不揮発性メモリ200へのデータのダウンロードを開始する。データ転送が開始すると同時に、ICP/CL監視機構222内のタイムアウト期間レジスタ226に所定の期待値が設定され、タイマ224が初期化される。
設定ロード処理が円滑に進行すると、本発明の耐故障性機能は活性化されない。他方、設定ロード処理に過大な遅延が発生すると、タイマ224の計時がタイムアウト期間レジスタ226の設定値と一致し、リセット信号がリセットライン232を介してCPU212に送出される。この結果、CPU212は一連のブート処理を開始する。もし、システムが設定ロード処理中にリブートされると、ICP/CLステータスレジスタ218がダーティ(不正)値に設定される。これにより、MUX210がジャンプブートベクター216をCPU212に導き、CPU212がブートプログラム202に代えて、ミニ・ブートコード207からブートを行う。ICP/CLステータスレジスタ218がクリーン(正常)値に設定されている場合は、設定ロード処理は完了しており、MUX210はCPU212にブートプログラム202からのブートを行なわせる。
ミニ・ブートコード207は、CPU212に対し、設定ロード処理を再初期化するために接続すべきリモートホストを決定する値をリモートホストアドレスレジスタ220から先ず読み出すことにより、設定ロード処理を再スタートさせる。これにより、設定ロード処理は再開される。別実施例において、ミニ・ブートコード207は、オンチップ不揮発性メモリ等のデフォルト位置から、或いは、SOC集積回路と接続が予定されるリモートホストとの通信によって、設定データセットにアクセスするように設計された設定ロードプログラムを含む。
ICP処理は、一般的に以下のように動作する。CPU212が、周辺回路214を介してユーザ244と通信する。尚、周辺回路214の幾つかは、典型的には、SOC集積回路の一部ではないが、入出力ポートを介してユーザとの通信を行う。ユーザ244は、CPU212に対し、ICP処理を開始するICPハンドラ206の起動を行わせる。ICPハンドラ206は、周辺回路214を介してインターネット234へ、インターネット234を介してリモートホスト238へと繋がる接続を形成する。そして、リモートホスト238は、ディスク装置242からインターネット234を介して不揮発性メモリ200へのデータのダウンロードを開始する。データ転送が開始すると同時に、ICP/CL監視機構222内のタイムアウト期間レジスタ226に所定の期待値が設定され、タイマ224が初期化される。
ICP処理が円滑に進行すると、本発明の耐故障性機能は活性化されない。他方、ICP処理に過大な遅延が発生すると、タイマ224の計時がタイムアウト期間レジスタ226の設定値と一致し、リセット信号がリセットライン232を介してCPU212に送出される。この結果、CPU212は一連のブート処理を開始する。もし、システムがICP処理中にリブートされると、ICP/CLステータスレジスタ218がダーティ(不正)値に設定される。これにより、MUX210がジャンプブートベクター216をCPU212に導き、CPU212がブートプログラム202に代えて、ミニ・ブートコード207からブートを行う。ICP/CLステータスレジスタ218がクリーン(正常)値に設定されている場合は、ICP処理は完了しており、MUX210はCPU212にブートプログラム202からのブートを行なわせる。
ミニ・ブートコード207は、CPU212に対し、ICP処理を再初期化するために接続すべきリモートホストを決定する値をリモートホストアドレスレジスタ220から先ず読み出すことにより、ICP処理を再スタートさせる。これにより、ICP処理は再開される。
幾つかの実施例において、ICP処理は設定ハンドラを上書き或いは修正することができる。かかる実施例では、ICP処理は、SOC集積回路上に設定ハンドラの2つの複製を確立するために、先ず設定ハンドラ250を不揮発性メモリにコピーする。一方の複製が修正される。もし、該修正が成功裏に完了すれば、他方の複製は削除される。しかしながら、もし、該修正が成功裏に完了しなければ、設定ハンドラの安全な複製がシステム動作の回復のために用いられる。
以上、本発明を好適実施例と上述の詳細な具体例に基づいて説明したが、これらの実施例や具体例は本発明の説明を目的としており、本発明を限定的に解釈するものではない。更に、上記説明から当業者が容易に変更または組み合わせてできるものは、本発明の趣旨及び特許請求の範囲に含まれるものと考えられる。
本発明に係るシステムオンチップ集積回路の一実施形態における簡略化したブロック図。 本発明に係るシステムオンチップ集積回路の他の実施形態における簡略化したブロック図。 本発明に係るシステムオンチップ集積回路の他の実施形態における簡略化したブロック図。 本発明に係るシステムオンチップ集積回路の各実施形態におけるより詳細な機能ブロック図。 本発明の一実施形態におけるオンチップ設定データメモリを含むシステムオンチップ集積回路の機能ブロック図。 本発明の他の実施形態におけるオンチップ設定データメモリを含むシステムオンチップ集積回路の機能ブロック図。 本発明の一実施形態におけるオンチップ設定データメモリを含み、暗号化・復号化とデータ圧縮・伸張の少なくとも何れかの機能をサポートするシステムオンチップ集積回路の機能ブロック図。 本発明に係るシステムオンチップ集積回路の開発環境を示す説明図。図中、設定データはリモートソースから提供され、システムオンチップ集積回路は、該リモートソースとの通信経路を確立するために設定ロード機能の設定ロードを許可する。
符号の説明
10: 集積回路
11: マイクロコントローラ・コアモジュール
12: 入出力構造
13: 保護メモリ
14: プログラム可能メモリ
15: 設定可能ロジックアレイ
16: 設定メモリ
100: マイクロコントローラコア
101: ブートベクタ
102: タイマ回路
103: 監視タイマ
104: 入出力ポート
105: 割り込みライン
106: 他の信号入力と出力
107: 第1メモリアレイ(設定ハンドラ)
108: 第2メモリアレイ
109: 第3メモリアレイ
110: 設定可能ロジックアレイ
111: データレジスタ
112: 設定レジスタ
113: タイミングレジスタ
114: マルチプレクサ
115: ステータスレジスタ
150: 設定可能ロジックアレイ
151: 設定データメモリアレイ
152: 制御回路
160: 設定可能ロジックアレイ
161: 設定データメモリアレイ
162: 制御回路
170: データパス
171: データパス
172: メモリアレイ
200: 不揮発性メモリ
202: ブートプログラム
204: ユーティリティプログラム
206: インサーキットプログラム(ICP)ハンドラ
207: ミニ・ブートコード
208: RAM
210: マルチプレクサ(MUX)
212: プロセッサコア(CPU)
214: 周辺回路
216: ジャンプブートベクター
218: インサーキットプログラム/設定ロード(ICP/CL)ステータスレジスタ
220: リモートホストアドレスレジスタ
222: ICP/CL監視機構
224: タイマ
226: タイムアウト期間レジスタ
228: 一致ロジック
230: リード(読み出し)/ライト(書き込み)パス
232: リセットライン
234: インターネット
236: リモートホスト
238: リモートホスト
240: リモートホスト
242: ディスク装置
244: システムユーザ
250: 設定ハンドラ
251: 設定可能ロジックアレイ

Claims (25)

  1. 回路内設定プログラム可能な集積回路であって、
    前記集積回路の外部にあるソースからデータを受け取る入力ポートと、
    電気的にプログラム可能な設定ポイントを備え、前記プログラム可能な設定ポイントに格納された設定データによって定まるプログラム可能な設定を有する設定可能ロジックアレイと、
    前記外部にあるソースとの通信経路を確立し、前記入力ポートを介して設定データを受け取ることを実行可能な設定ロード機能用の命令を格納し、前記設定データを前記設定可能ロジックアレイ内の前記プログラム可能な設定ポイントへ転送するのに使用する設定機能用の命令を格納する第1メモリアレイと、前記集積回路に対するミッション機能用の命令を格納する第2メモリアレイを有するメモリと、
    前記メモリと接続し、前記メモリから前記各命令を取り出し、実行するプロセッサと、
    を備えてなることを特徴とする集積回路
  2. 前記メモリは、不揮発性メモリを備えていることを特徴とする請求項1に記載の集積回路。
  3. 前記メモリは、フローティングゲートメモリを備えていることを特徴とする請求項1に記載の集積回路。
  4. 前記メモリは、読み出し専用メモリを備えていることを特徴とする請求項1に記載の集積回路。
  5. 前記プロセッサと接続する監視タイマを有し、
    前記設定機能には、エラーに応答してリセットを行うための前記監視タイマの使用、及び、リセット時における前記設定ロード機能と前記設定機能の再実行が含まれることを特徴とする請求項1に記載の集積回路。
  6. 前記プロセッサと接続する監視タイマを有し、
    前記設定ロード機能には、エラーに応答してリセットを行うための前記監視タイマの使用、及び、リセット時における前記設定ロード機能の再実行が含まれることを特徴とする請求項1に記載の集積回路。
  7. 前記設定ロード機能には、前記集積回路上の入力ポートを介して暗号化された設定データの受け取りと、前記設定データの復号化が含まれることを特徴とする請求項1に記載の集積回路。
  8. 前記設定ロード機能には、前記集積回路上の入力ポートを介して圧縮された設定データの受け取りと、前記設定データの伸張が含まれることを特徴とする請求項1に記載の集積回路。
  9. 前記電気的にプログラム可能な設定ポイントは、フローティングゲートメモリセルを備えることを特徴とする請求項1に記載の集積回路。
  10. 前記電気的にプログラム可能な設定ポイントは、不揮発性のプログラム可能なメモリセルを備えることを特徴とする請求項1に記載の集積回路。
  11. 前記設定ロード機能をサポートする前記プロセッサと前記設定可能ロジックアレイとの間のインタフェースを備えることを特徴とする請求項1に記載の集積回路。
  12. 前記メモリは、前記設定ロード機能用の命令を書き込むまたは修正するためのインサーキットプログラミング機能のための命令を格納することを特徴とする請求項1に記載の集積回路。
  13. 前記第1メモリアレイは、第1設定ロード機能用の命令を格納する保護された第メモリアレイと、第2設定ロード機能用の命令を格納する第メモリアレイとを備え、
    前記第メモリアレイは、インサーキットプログラミング機能による変更から保護され、前記第メモリアレイは、前記インサーキットプログラミング機能による書き込みまたは修正のためのアクセスが可能であることを特徴とする請求項1に記載の集積回路。
  14. 前記第1設定ロード機能が、前記第1メモリアレイに対して予め設定されたデフォルト位置から前記設定データを受け取る通信経路を確立し、
    前記第2設定ロード機能が、前記外部にあるソースとの任意の通信経路を確立することを特徴とする請求項16に記載の集積回路。
  15. 請求項1に記載の集積回路を設定する方法であって、
    前記集積回路に対するミッション機能用の命令を前記メモリの前記メモリアレイに格納する工程と、
    前記集積回路の外部にあるソースから前記設定データを受け取るために用いられる前記設定ロード機能用の命令を前記メモリの前記メモリアレイに格納する工程と、
    前記設定可能ロジックアレイ内の前記プログラム可能な設定ポイントに前記設定データを転送するために用いられる前記設定機能用の命令を前記メモリの前記第1メモリアレイに格納する工程と、
    を有することを特徴とする集積回路設定方法。
  16. 前記メモリは、不揮発性メモリを備えていることを特徴とする請求項15に記載の集積回路設定方法。
  17. 前記メモリは、フローティングゲートメモリを備えていることを特徴とする請求項15に記載の集積回路設定方法。
  18. 前記メモリは、読み出し専用メモリを備えていることを特徴とする請求項15に記載の集積回路設定方法。
  19. 前記メモリの前記第2メモリアレイは、前記設定機能用の第1の不揮発性メモリ手段を備え、
    前記メモリの前記第1メモリアレイは、前記第1の不揮発性メモリ手段とは異なる前記ミッション機能用に別の第2のメモリ手段を備えている
    ことを特徴とする請求項15に記載の集積回路設定方法。
  20. 前記設定ロード機能は、前記集積回路上の入力ポートを介して暗号化された設定データの受け取る工程と、前記設定データを復号化する工程を含むことを特徴とする請求項15に記載の集積回路設定方法。
  21. 前記設定ロード機能は、前記集積回路上の入力ポートを介して圧縮された設定データの受け取る工程と、前記設定データを伸張する工程を含むことを特徴とする請求項15に記載の集積回路設定方法。
  22. 前記電気的にプログラム可能な設定ポイントは、フローティングゲートメモリセルを備えることを特徴とする請求項15に記載の集積回路設定方法。
  23. 前記電気的にプログラム可能な設定ポイントは、不揮発性のプログラム可能なメモリセルを備えることを特徴とする請求項15に記載の集積回路設定方法。
  24. リモートホストから前記設定データの転送中の遅延を検出するために前記設定ロード機能を用いて前記設定データのローディングをモニターする工程と、
    前記遅延がタイムアウト設定値を超過した場合、前記設定ロード機能を再スタートする工程と、
    を有することを特徴とする請求項15に記載の集積回路設定方法。
  25. リモートホストから前記設定データの転送中の遅延を検出するために前記設定ロード機能中に、前記集積回路上にあって前記プロセッサと接続する監視タイマを用いて前記設定データのローディングをモニターする工程と、
    前記遅延がタイムアウト設定値を超過した場合、前記設定ロード機能を再スタートする工程と、
    を有することを特徴とする請求項15に記載の集積回路設定方法。
JP2004055879A 2003-11-03 2004-03-01 内蔵型設定可能ロジックアレイのための回路内設定構造 Expired - Fee Related JP4040026B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/699,764 US20050102573A1 (en) 2003-11-03 2003-11-03 In-circuit configuration architecture for embedded configurable logic array

Publications (2)

Publication Number Publication Date
JP2005143071A JP2005143071A (ja) 2005-06-02
JP4040026B2 true JP4040026B2 (ja) 2008-01-30

Family

ID=34551043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004055879A Expired - Fee Related JP4040026B2 (ja) 2003-11-03 2004-03-01 内蔵型設定可能ロジックアレイのための回路内設定構造

Country Status (4)

Country Link
US (1) US20050102573A1 (ja)
EP (1) EP1598747A3 (ja)
JP (1) JP4040026B2 (ja)
CN (1) CN100421099C (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7242218B2 (en) * 2004-12-02 2007-07-10 Altera Corporation Techniques for combining volatile and non-volatile programmable logic on an integrated circuit
US20070139074A1 (en) * 2005-12-19 2007-06-21 M2000 Configurable circuits with microcontrollers
JP2009530733A (ja) * 2006-03-24 2009-08-27 エヌエックスピー ビー ヴィ コンフィギュラブルロジックデバイスを有するマイクロコントローラ製品の高速作成およびコンフィギュレーション
JP2009288967A (ja) * 2008-05-28 2009-12-10 Fujitsu Ten Ltd 信号処理装置、表示制御装置、及び、信号処理装置のレジスタ設定方法
US9946667B2 (en) * 2008-11-12 2018-04-17 Microchip Technology Incorporated Microcontroller with configurable logic array
US8990474B2 (en) 2011-12-02 2015-03-24 Altera Corporation Logic device having a compressed configuration image stored on an internal read only memory
US9304968B2 (en) 2012-07-18 2016-04-05 Micron Technology, Inc. Methods and devices for programming a state machine engine
US9482718B2 (en) * 2014-01-13 2016-11-01 Texas Instruments Incorporated Integrated circuit
CN105187752B (zh) * 2015-07-31 2019-04-19 深圳市哈工大交通电子技术有限公司 一种高可靠性的图像处理平台
US10606520B2 (en) * 2016-06-29 2020-03-31 Intel IP Corporation Methods and apparatus to read from a nonvolatile memory device
US10762755B2 (en) * 2018-06-04 2020-09-01 Apple Inc. Data-secure sensor system
US11086815B1 (en) * 2019-04-15 2021-08-10 Xilinx, Inc. Supporting access to accelerators on a programmable integrated circuit by multiple host processes
US10949204B2 (en) * 2019-06-20 2021-03-16 Microchip Technology Incorporated Microcontroller with configurable logic peripheral
US11360782B2 (en) 2020-01-31 2022-06-14 Hewlett Packard Enterprise Development Lp Processors to configure subsystems while other processors are held in reset
US11138140B2 (en) 2020-01-31 2021-10-05 Hewlett Packard Enterprise Development Lp Configuring first subsystem with a master processor and a second subsystem with a slave processor

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4620215A (en) * 1982-04-16 1986-10-28 Amdahl Corporation Integrated circuit packaging systems with double surface heat dissipation
US4879688A (en) * 1985-03-04 1989-11-07 Lattice Semiconductor Corporation In-system programmable logic device
US5042004A (en) * 1986-03-06 1991-08-20 Advanced Micro Devices, Inc. Programmable logic device with subroutine stack and random access memory
US5015885A (en) * 1986-09-19 1991-05-14 Actel Corporation Reconfigurable programmable interconnect architecture
US4871930A (en) * 1988-05-05 1989-10-03 Altera Corporation Programmable logic device with array blocks connected via programmable interconnect
US5003591A (en) * 1989-05-25 1991-03-26 General Instrument Corporation Functionally modifiable cable television converter system
EP0464433A3 (en) * 1990-06-29 1994-05-18 Nat Semiconductor Corp Microcontroller device having remotely programmable eprom & method of programming
US5515540A (en) * 1990-08-27 1996-05-07 Dallas Semiconducter Corp. Microprocessor with single pin for memory wipe
DE69228887T2 (de) * 1991-01-17 1999-08-26 Texas Instruments Inc Nicht-flüchtige Speicherzellenstruktur und ihr Herstellungsverfahren
US5276839A (en) * 1991-03-07 1994-01-04 United States Of America As Represented By The Secretary Of The Air Force System for programming EEPROM with data loaded in ROM by sending switch signal to isolate EEPROM from host system
US5251169A (en) * 1991-05-06 1993-10-05 Lattice Semiconductor Corporation Non-volatile erasable and programmable interconnect cell
US5739569A (en) * 1991-05-15 1998-04-14 Texas Instruments Incorporated Non-volatile memory cell with oxide and nitride tunneling layers
US5247478A (en) * 1992-03-06 1993-09-21 Altera Corporation Programmable transfer-devices
US5444861A (en) * 1992-06-01 1995-08-22 United Technologies Corporation System for downloading software
US5359570A (en) * 1992-11-13 1994-10-25 Silicon Storage Technology, Inc. Solid state peripheral storage device
JPH07114497A (ja) * 1993-10-14 1995-05-02 Hitachi Ltd 半導体集積回路装置
GB2301747A (en) * 1995-06-02 1996-12-11 Dsc Communications Remotely programmable subscriber terminal in a wireless telecommunications system
US5652844A (en) * 1995-06-26 1997-07-29 Motorola, Inc. Flexible pin configuration for use in a data processing system during a reset operation and method therefor
US5640344A (en) * 1995-07-25 1997-06-17 Btr, Inc. Programmable non-volatile bidirectional switch for programmable logic
KR100192430B1 (ko) * 1995-08-21 1999-06-15 구본준 비휘발성 메모리 및 이 비휘발성 메모리를 프로그램하는 방법
US6005806A (en) * 1996-03-14 1999-12-21 Altera Corporation Nonvolatile configuration cells and cell arrays
US6023564A (en) * 1996-07-19 2000-02-08 Xilinx, Inc. Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions
US5768192A (en) * 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
US5761120A (en) * 1996-08-27 1998-06-02 Peng; Jack Zezhong Floating gate FPGA cell with select device on drain
US5825202A (en) * 1996-09-26 1998-10-20 Xilinx, Inc. Integrated circuit with field programmable and application specific logic areas
US6282675B1 (en) * 1997-08-06 2001-08-28 Macronix International Co., Ltd. Fault-tolerant architecture for in-circuit programming
KR100226746B1 (ko) * 1996-12-30 1999-10-15 구본준 다중비트셀의데이타센싱장치및방법
US5901330A (en) * 1997-03-13 1999-05-04 Macronix International Co., Ltd. In-circuit programming architecture with ROM and flash memory
US6009496A (en) * 1997-10-30 1999-12-28 Winbond Electronics Corp. Microcontroller with programmable embedded flash memory
US5995744A (en) * 1997-11-24 1999-11-30 Xilinx, Inc. Network configuration of programmable circuits
US6102963A (en) * 1997-12-29 2000-08-15 Vantis Corporation Electrically erasable and reprogrammable, nonvolatile integrated storage device with in-system programming and verification (ISPAV) capabilities for supporting in-system reconfiguring of PLD's
US6049222A (en) * 1997-12-30 2000-04-11 Xilinx, Inc Configuring an FPGA using embedded memory
US6028445A (en) * 1997-12-30 2000-02-22 Xilinx, Inc. Decoder structure and method for FPGA configuration
US6172520B1 (en) * 1997-12-30 2001-01-09 Xilinx, Inc. FPGA system with user-programmable configuration ports and method for reconfiguring the FPGA
US6562844B2 (en) * 1998-01-23 2003-05-13 Pharmacia & Upjohn Company Oxazolidinone combinatorial libraries, compositions and methods of preparation
US6118869A (en) * 1998-03-11 2000-09-12 Xilinx, Inc. System and method for PLD bitstream encryption
US6272655B1 (en) * 1998-06-11 2001-08-07 Actel Corporation Method of reducing test time for NVM cell-based FPGA
TW386314B (en) * 1998-09-19 2000-04-01 United Microelectronics Corp Structure of low power, high efficiency programmable erasable non-volatile memory cell and production method thereof
US6215326B1 (en) * 1998-11-18 2001-04-10 Altera Corporation Programmable logic device architecture with super-regions having logic regions and a memory region
KR100283909B1 (ko) * 1998-12-15 2001-03-02 김영환 비휘발성 메모리의 전하 이득 스트레스 테스트 회로 및 그 테스트 방법
US6181597B1 (en) * 1999-02-04 2001-01-30 Tower Semiconductor Ltd. EEPROM array using 2-bit non-volatile memory cells with serial read operations
JP3180800B2 (ja) * 1999-04-08 2001-06-25 カシオ計算機株式会社 半導体装置及びその製造方法
US6732263B1 (en) * 2000-06-12 2004-05-04 Altera Corporation Configuring both a programmable logic device and its embedded logic with a single serialized configuration bit stream
US6751723B1 (en) * 2000-09-02 2004-06-15 Actel Corporation Field programmable gate array and microcontroller system-on-a-chip
US7185162B1 (en) * 2000-10-26 2007-02-27 Cypress Semiconductor Corporation Method and apparatus for programming a flash memory
US6459646B1 (en) * 2000-12-21 2002-10-01 Triscend Corporation Bank-based configuration and reconfiguration for programmable logic in a system on a chip
US6792527B1 (en) * 2000-12-22 2004-09-14 Xilinx, Inc. Method to provide hierarchical reset capabilities for a configurable system on a chip
TWI234737B (en) * 2001-05-24 2005-06-21 Ip Flex Inc Integrated circuit device

Also Published As

Publication number Publication date
US20050102573A1 (en) 2005-05-12
EP1598747A2 (en) 2005-11-23
JP2005143071A (ja) 2005-06-02
CN1645354A (zh) 2005-07-27
EP1598747A3 (en) 2007-09-26
CN100421099C (zh) 2008-09-24

Similar Documents

Publication Publication Date Title
JP2005141718A (ja) 内蔵型設定可能ロジックアレイのための、初期化機能上の設定付き回路内設定構造
JP4040026B2 (ja) 内蔵型設定可能ロジックアレイのための回路内設定構造
US7237145B2 (en) Fault-tolerant architecture for in-circuit programming
JP4659371B2 (ja) 内蔵型設定可能ロジックアレイのための不揮発性メモリ付、回路内設定構造
JP4051091B2 (ja) Romとフラッシュメモリーを有する回路内プログラミング構造
US7631223B1 (en) Programmable logic device methods and system for providing multi-boot configuration data support
JP2004086912A (ja) ワーキングコンテキスト格納及び再格納装置、並びに方法
JP2004056716A (ja) 半導体装置
US7930535B1 (en) Method and apparatus for loading configuration data
JPH048809B2 (ja)
JP4136309B2 (ja) インサーキット・プログラミングための障害の許容アーキテクチャ
EP2600528B1 (en) Logic device having a compressed configuration image stored on an internal read only memory
JP2008123147A (ja) 電子制御装置のリモート書き換え方式
TWI259396B (en) In-circuit configuration architecture and method for embedded configurable logic array
TWI280502B (en) In-circuit configuration architecture with configuration on initialization function for embedded configurable logic array
CN112650709A (zh) 一种现场可编程门阵列、配置方法和系统
US6018250A (en) Programming method to enable system recovery after power failure
JP4879124B2 (ja) インサーキット・プログラミングのための障害の許容アーキテクチャ
JP2006127407A (ja) 半導体集積回路
JP4266839B2 (ja) 統合型の再プログラム可能な、不揮発性メモリ及び統合型プロセッサを有する回路のインサーキット・プログラミング中にエラー回復を行なう方法
WO2023019747A1 (zh) 可实现不同配置应用过程间数据传递的fpga
JP2001297014A (ja) 信号処理装置及びその方法
JP2008016663A (ja) 再構成可能な集積回路デバイス
JPH09146659A (ja) プログラマブル・コンピュータボード及びこれを組込んだコンピュータ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060530

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060821

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070705

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070808

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071106

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4040026

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121116

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20131116

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees