JP2005141718A - 内蔵型設定可能ロジックアレイのための、初期化機能上の設定付き回路内設定構造 - Google Patents
内蔵型設定可能ロジックアレイのための、初期化機能上の設定付き回路内設定構造 Download PDFInfo
- Publication number
- JP2005141718A JP2005141718A JP2004055878A JP2004055878A JP2005141718A JP 2005141718 A JP2005141718 A JP 2005141718A JP 2004055878 A JP2004055878 A JP 2004055878A JP 2004055878 A JP2004055878 A JP 2004055878A JP 2005141718 A JP2005141718 A JP 2005141718A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- integrated circuit
- function
- setting
- configurable logic
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Logic Circuits (AREA)
- Microcomputers (AREA)
- Stored Programmes (AREA)
Abstract
【課題】 内蔵型設定可能ロジックを用いたシステムオンチップ設計に対しより大きな自由度を提供し、設定可能ロジックの設定ロードを提供する。
【解決手段】 システムオンチップ集積回路10は、設定可能ロジックアレイ15と、プロセッサ11と、ミッション機能用の命令、外部ソースから集積回路上の入力ポートを介して集積回路上へ設定データをロードするのに用いる設定ロード機能用の命令の格納に適合したメモリ13,14とを備える。プロセッサ11は、メモリ13,14から命令を取り出し実行する。設定ロード機能を用いて受け取った設定データは、設定可能ロジックアレイ15の設定に使用される。命令は、設定データを初期化に応答して設定可能ロジックアレイ15内のプログラム可能な設定ポイントへ転送するのに使用するメモリに格納される。
【選択図】 図1
【解決手段】 システムオンチップ集積回路10は、設定可能ロジックアレイ15と、プロセッサ11と、ミッション機能用の命令、外部ソースから集積回路上の入力ポートを介して集積回路上へ設定データをロードするのに用いる設定ロード機能用の命令の格納に適合したメモリ13,14とを備える。プロセッサ11は、メモリ13,14から命令を取り出し実行する。設定ロード機能を用いて受け取った設定データは、設定可能ロジックアレイ15の設定に使用される。命令は、設定データを初期化に応答して設定可能ロジックアレイ15内のプログラム可能な設定ポイントへ転送するのに使用するメモリに格納される。
【選択図】 図1
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: 設定可能ロジックアレイ
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 (17)
- 集積回路であって、
前記集積回路の外部にあるソースからデータを受け取る入力ポートと、
電気的にプログラム可能な設定ポイントを備え、前記プログラム可能な設定ポイントに格納された設定データによって定まるプログラム可能な設定を有する設定可能ロジックアレイと、
前記集積回路に対するミッション機能用の命令を格納し、前記設定データを初期化イベントに応答して前記設定可能ロジックアレイ内の前記プログラム可能な設定ポイントへ転送するのに使用する初期化機能用の命令を格納するのに適合したメモリと、
前記メモリと接続し、前記メモリから前記各命令を取り出し、実行するプロセッサと、
を備えてなる。 - 設定データを格納するのに適合した前記集積回路上のプログラム可能な設定メモリを備え、
前記初期化機能により、前記設定データを前記プログラム可能な設定メモリから前記設定可能ロジックアレイへ転送することを特徴とする請求項1に記載の集積回路。 - 前記メモリは、不揮発性メモリを備えていることを特徴とする請求項1に記載の集積回路。
- 前記メモリは、フローティングゲートメモリを備えていることを特徴とする請求項1に記載の集積回路。
- 前記メモリは、読み出し専用メモリを備えていることを特徴とする請求項1に記載の集積回路。
- 前記メモリは、前記設定機能用の第1の不揮発性メモリ手段と、前記ミッション機能用の第2のメモリ手段を備えていることを特徴とする請求項1に記載の集積回路。
- 前記メモリは、前記初期化機能用の第1の揮発性メモリ手段と、前記ミッション機能用の第2のメモリ手段を備えていることを特徴とする請求項1に記載の集積回路。
- 前記プロセッサと接続する監視タイマを有し、
前記初期化機能には、エラーに応答して初期化イベントを生成するための前記監視タイマの使用、及び、初期化イベント時における前記初期化機能の再実行が含まれることを特徴とする請求項1に記載の集積回路。 - 前記プロセッサと接続する監視タイマを有し、
前記初期化機能には、前記集積回路上の入力ポートを介する前記設定データの前記集積回路上へのローディング、エラーに応答して初期化イベントを生成するための前記監視タイマの使用、及び、初期化イベント時における前記入力ポートを介する前記設定データのリローディングが含まれることを特徴とする請求項1に記載の集積回路。 - 前記初期化機能には、前記集積回路上の入力ポートを介して暗号化された設定データの受け取りと、前記設定データの復号化が含まれることを特徴とする請求項1に記載の集積回路。
- 前記初期化機能には、前記集積回路上の入力ポートを介して圧縮された設定データの受け取りと、前記設定データの伸張が含まれることを特徴とする請求項1に記載の集積回路。
- 前記電気的にプログラム可能な設定ポイントは、不揮発性の電荷プログラム可能なメモリセルを備えることを特徴とする請求項1に記載の集積回路。
- 前記電気的にプログラム可能な設定ポイントは、不揮発性のプログラム可能なメモリセルを備えることを特徴とする請求項1に記載の集積回路。
- 前記初期化機能をサポートする前記プロセッサと前記設定可能ロジックアレイとの間のインタフェースを備えることを特徴とする請求項1に記載の集積回路。
- 前記メモリは、前記初期化機能用の命令を書き込むまたは修正するためのインサーキットプログラミング機能のための命令を格納することを特徴とする請求項1に記載の集積回路。
- 前記メモリは、バックアップ設定ロード機能用の命令を格納する保護されたメモリアレイと、前記初期化機能用の命令を格納する第2メモリアレイとを備え、
前記保護されたメモリアレイは、インサーキットプログラミング機能による変更から保護され、前記第2メモリアレイは、前記インサーキットプログラミング機能による書き込みまたは修正のためのアクセスが可能であることを特徴とする請求項1に記載の集積回路。 - 前記プロセッサは、前記各命令を実行するように設定された設定可能ロジックアレイを備えることを特徴とする請求項1に記載の集積回路。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/699,756 US20050093572A1 (en) | 2003-11-03 | 2003-11-03 | In-circuit configuration architecture with configuration on initialization function for embedded configurable logic array |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005141718A true JP2005141718A (ja) | 2005-06-02 |
Family
ID=34465633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004055878A Pending JP2005141718A (ja) | 2003-11-03 | 2004-03-01 | 内蔵型設定可能ロジックアレイのための、初期化機能上の設定付き回路内設定構造 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20050093572A1 (ja) |
EP (1) | EP1536332B1 (ja) |
JP (1) | JP2005141718A (ja) |
CN (1) | CN1333358C (ja) |
Families Citing this family (23)
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 |
US8407658B2 (en) * | 2007-02-01 | 2013-03-26 | International Business Machines Corporation | Methods, systems, and computer program products for using direct memory access to initialize a programmable logic device |
US8125243B1 (en) | 2007-03-12 | 2012-02-28 | Cypress Semiconductor Corporation | Integrity checking of configurable data of programmable device |
US8060661B1 (en) | 2007-03-27 | 2011-11-15 | Cypress Semiconductor Corporation | Interface circuit and method for programming or communicating with an integrated circuit via a power supply pin |
US7518396B1 (en) * | 2007-06-25 | 2009-04-14 | Xilinx, Inc. | Apparatus and method for reconfiguring a programmable logic device |
US7952387B1 (en) * | 2008-08-13 | 2011-05-31 | Altera Corporation | Securing memory based IP in FPGAs |
US9735781B2 (en) | 2009-02-24 | 2017-08-15 | Syphermedia International, Inc. | Physically unclonable camouflage structure and methods for fabricating same |
US10691860B2 (en) * | 2009-02-24 | 2020-06-23 | Rambus Inc. | Secure logic locking and configuration with camouflaged programmable micro netlists |
US10476883B2 (en) * | 2012-03-02 | 2019-11-12 | Inside Secure | Signaling conditional access system switching and key derivation |
US8176232B2 (en) * | 2009-05-11 | 2012-05-08 | Micron Technology, Inc. | Dedicated interface to factory program phase-change memories |
CN102567149B (zh) * | 2010-12-09 | 2016-03-23 | 上海华虹集成电路有限责任公司 | Soc系统验证方法 |
JP5883699B2 (ja) * | 2011-04-13 | 2016-03-15 | 株式会社半導体エネルギー研究所 | プログラマブルlsi |
US9830964B2 (en) | 2012-09-10 | 2017-11-28 | Texas Instruments Incorporated | Non-volatile array wakeup and backup sequencing control |
US9658859B2 (en) | 2013-03-15 | 2017-05-23 | Avalanche Technology, Inc. | Method of implementing magnetic random access memory (MRAM) for mobile system-on chip boot |
CN112087494B (zh) * | 2017-09-05 | 2024-04-09 | 华为技术有限公司 | 对请求处理的方法、片上系统和公有云管理组件 |
CN110073333B (zh) * | 2017-11-03 | 2020-11-17 | 华为技术有限公司 | 恢复fpga芯片中的逻辑的方法、系统和fpga设备 |
US10942509B2 (en) | 2018-01-19 | 2021-03-09 | Ge Aviation Systems Llc | Heterogeneous processing in unmanned vehicles |
US20190228666A1 (en) * | 2018-01-19 | 2019-07-25 | Ge Aviation Systems Llc | System and Method for Reconfiguring a System-On-Module for an Unmanned Vehicle |
US11029985B2 (en) | 2018-01-19 | 2021-06-08 | Ge Aviation Systems Llc | Processor virtualization in unmanned vehicles |
CN109635597B (zh) * | 2018-11-12 | 2023-03-31 | 博流智能科技(南京)有限公司 | 芯片级安全存储与存取系统及方法 |
US10923596B2 (en) | 2019-03-08 | 2021-02-16 | Rambus Inc. | Camouflaged FinFET and method for producing same |
US11860782B2 (en) * | 2019-08-13 | 2024-01-02 | Neuroblade Ltd. | Compensating for DRAM activation penalties |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4879688A (en) * | 1985-03-04 | 1989-11-07 | Lattice Semiconductor Corporation | In-system programmable logic device |
US4871930A (en) * | 1988-05-05 | 1989-10-03 | Altera Corporation | Programmable logic device with array blocks connected via programmable interconnect |
US5412785A (en) * | 1990-04-09 | 1995-05-02 | Motorola, Inc. | Microprogrammed data processor which includes a microsequencer in which a next microaddress output of a microROM is connected to the or-plane of an entry PLA |
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 |
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 |
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 |
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 |
US6282675B1 (en) * | 1997-08-06 | 2001-08-28 | Macronix International Co., Ltd. | Fault-tolerant architecture for in-circuit programming |
US5901330A (en) * | 1997-03-13 | 1999-05-04 | Macronix International Co., Ltd. | In-circuit programming architecture with ROM and flash memory |
JPH118547A (ja) * | 1997-06-17 | 1999-01-12 | Fuji Xerox Co Ltd | 再構成可能演算装置 |
US6009496A (en) * | 1997-10-30 | 1999-12-28 | Winbond Electronics Corp. | Microcontroller with programmable embedded flash memory |
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 |
US6028445A (en) * | 1997-12-30 | 2000-02-22 | Xilinx, Inc. | Decoder structure and method for FPGA configuration |
US6255849B1 (en) * | 2000-02-04 | 2001-07-03 | Xilinx, Inc. | On-chip self-modification for PLDs |
WO2001098922A1 (en) * | 2000-06-21 | 2001-12-27 | Derivation Systems, Inc. | Dynamically configurable processor core and method for making the same |
US6751723B1 (en) * | 2000-09-02 | 2004-06-15 | Actel Corporation | Field programmable gate array and microcontroller 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 |
DE10139610A1 (de) * | 2001-08-11 | 2003-03-06 | Daimler Chrysler Ag | Universelle Rechnerarchitektur |
US7558967B2 (en) * | 2001-09-13 | 2009-07-07 | Actel Corporation | Encryption for a stream file in an FPGA integrated circuit |
CN1605058A (zh) * | 2001-10-16 | 2005-04-06 | 捷豹逻辑股份有限公司 | 关于嵌入式字段可编程门阵列核心的接口结构 |
US20030226029A1 (en) * | 2002-05-29 | 2003-12-04 | Porter Allen J.C. | System for protecting security registers and method thereof |
CN1168019C (zh) * | 2002-08-30 | 2004-09-22 | 清华大学 | 现场可编程门阵列程序在线升级系统及其实现方法 |
-
2003
- 2003-11-03 US US10/699,756 patent/US20050093572A1/en not_active Abandoned
- 2003-12-18 EP EP03257979.9A patent/EP1536332B1/en not_active Expired - Lifetime
-
2004
- 2004-03-01 JP JP2004055878A patent/JP2005141718A/ja active Pending
- 2004-09-27 CN CNB2004100809188A patent/CN1333358C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1536332A3 (en) | 2010-09-15 |
CN1333358C (zh) | 2007-08-22 |
EP1536332A2 (en) | 2005-06-01 |
CN1637737A (zh) | 2005-07-13 |
EP1536332B1 (en) | 2016-12-07 |
US20050093572A1 (en) | 2005-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005141718A (ja) | 内蔵型設定可能ロジックアレイのための、初期化機能上の設定付き回路内設定構造 | |
JP4040026B2 (ja) | 内蔵型設定可能ロジックアレイのための回路内設定構造 | |
US7237145B2 (en) | Fault-tolerant architecture for in-circuit programming | |
JP4051091B2 (ja) | Romとフラッシュメモリーを有する回路内プログラミング構造 | |
JP4659371B2 (ja) | 内蔵型設定可能ロジックアレイのための不揮発性メモリ付、回路内設定構造 | |
US6714041B1 (en) | Programming on-the-fly (OTF) | |
EP1716641B1 (en) | Upgradeable and reconfigurable programmable logic device | |
US8060784B1 (en) | Programmable logic device and methods for providing multi-boot configuration data support | |
JP2004086912A (ja) | ワーキングコンテキスト格納及び再格納装置、並びに方法 | |
JP2004056716A (ja) | 半導体装置 | |
US7180776B1 (en) | Systems and methods for programming a secured CPLD on-the-fly | |
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 | |
US6018250A (en) | Programming method to enable system recovery after power failure | |
JP2006127407A (ja) | 半導体集積回路 | |
JP4132516B2 (ja) | フィールド・プログラマブル・ゲートアレイ | |
JP4879124B2 (ja) | インサーキット・プログラミングのための障害の許容アーキテクチャ | |
JP2000305771A (ja) | 不揮発性メモリ内蔵マイコンへのソフトウェアローディング方法 | |
JP2004164671A (ja) | インサーキット・プログラミングのための障害の許容アーキテクチャ | |
JP2001297014A (ja) | 信号処理装置及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071204 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080507 |