JP2003058386A - 複数基板上のプログラマブルロジックデバイスをjtagブリッジ接続するためのシステムおよび方法 - Google Patents

複数基板上のプログラマブルロジックデバイスをjtagブリッジ接続するためのシステムおよび方法

Info

Publication number
JP2003058386A
JP2003058386A JP2002213352A JP2002213352A JP2003058386A JP 2003058386 A JP2003058386 A JP 2003058386A JP 2002213352 A JP2002213352 A JP 2002213352A JP 2002213352 A JP2002213352 A JP 2002213352A JP 2003058386 A JP2003058386 A JP 2003058386A
Authority
JP
Japan
Prior art keywords
configuration
bus
fpga
eeprom
code
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
Application number
JP2002213352A
Other languages
English (en)
Inventor
Paul Mantey
ポール・マンテイ
Mike Erickson
マイク・エリクソン
David Maciorowski
デイビッド・マシロウスキー
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2003058386A publication Critical patent/JP2003058386A/ja
Pending legal-status Critical Current

Links

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

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)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】EEPROMが接続された複数のJTAGハ゛スを有してい
ても、構成コート゛を構成システムからEEPROMへ容易にロート゛する
ことのできるシステムを提供すること。 【解決手段】複雑なコンヒ゜ュータシステムなどのシステム(200)は、EE
PROM(212,214,216)から構成コート゛をロート゛するように接続
された複数のフ゜ロク゛ラマフ゛ルロシ゛ックテ゛ハ゛イスを含み、通常、こ
のロート゛は、電源投入時に自動的に行なわれる。EEPROM
は、EEPROM(212,214,216)と共通構成ロシ゛ック(228)とを接
続する複数のシリアルハ゛スのうちの1つに接続され、これらの
ハ゛スは、典型的にはJTAGハ゛スである。フ゜ロセッサ(236)は、フ゜ロ
ク゛ラマフ゛ルロシ゛ック構成コート゛をメモリから共通構成ロシ゛ック(228)を
通し、前記シリアルハ゛スを介してEEPROM(212,214,216)に書き
込むように構成される。また、フ゜ロセッサ(236)は、ネットワーク
(241)に接続し、共通構成コート゛をテ゛ータヘ゛ース(224)からフェッチ
してEEPROMに書き込むこともできる。

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】本発明は、複雑な電子システ
ムにおいてフィールドプログラマブルゲートアレイ(F
PGA:Field Programmable Gate Array)デバイスを
含むプログラマブルロジックデバイスに構成コード情報
を提供する技術分野に関する。詳しくは、本発明は、シ
ステムの中心ポイントを通してFPGAコードをFPG
Aに関連するEEPROM即ちFPGAのEEPROM
にプログラムする方法および装置に関する。 【0002】 【従来の技術】独立クロック・データタイプのシリアル
通信バスは、システムの集積回路コンポーネント間の通
信に普通に用いられるようになった。このタイプのシリ
アルリンクには、IIC(最初はInter ICバス
と呼ばれていたが、現在では一般にI2Cと呼ばれてい
る)およびSPIバスが含まれる。このタイプのリンク
は、バス上の各集積回路に精密なタイミングコンポーネ
ントを必要とすることなく実施することができ、通常、
少なくとも1つのバスマスタの制御下で動作する。SP
IおよびIICタイプのシリアル通信バスとインタフェ
ースするシリアルEEPROM(Electrically Erasabl
e Programmable Read-Only Memory)デバイスは、容易
に入手することができる。 【0003】一般に、I2CバスおよびSPIバスが通
常動作中のシステム内の通信に用いられるのに対して、
JTAGバスと呼ばれるIEEE1149.1シリアル
バスは、各集積回路に対してバウンダリスキャンを実施
するためにテスタからのアクセス手段を提供することに
よって、非アクティブなシステムのテストを行うことを
意図している。これにより、テスタは、集積回路の接続
性を検証することができ、それらが正しく取付けられ相
互接続されていることを検証することができる。JTA
Gバスは、1つ以上の集積回路をチェーン状に相互接続
し、テスタは、いずれの集積回路もアドレス指定するこ
とができる。通常、回路基板の複数のデバイスがJTA
Gバスに相互接続されており、JTAGバスは、JTA
Gチェーンとも呼ばれる。 【0004】JTAGバスは、4本の線を使用する。こ
れらには、シリアルデータ入力ライン、シリアルデータ
出力ライン、クロックラインおよびテストモード選択ラ
インが含まれる。通常、チェーンの第1のチップのデー
タ出力ラインは、チェーンの第2のチップのデータ入力
ラインに接続され、第2のチップのデータ出力ライン
は、第3のチップのデータ入力ラインに接続される。し
たがって、複数チップのデータ入力ラインおよびデータ
出力ラインは、デイジーチェーン構成で接続される。 【0005】IEEE1152バスは、1149.1J
TAGバスの拡張された新しいバージョンである。本明
細書でJTAGバスと言う場合は、1149.1と11
52との両方のバリエーションを含むことを意図してい
る。 【0006】本明細書でPLDと呼ぶプログラマブルロ
ジックデバイス(PLD:Programmable Logic Device)
は、コンピュータシステムのコンポーネントとして普通
に用いられる。これらのデバイスには、プログラマブル
アレイロジックデバイス(PAL:Programmable Array
Logic device)、プログラマブルロジックアレイ(P
LA:Programmable Logic Array)、コンプレックスプ
ログラマブルロジックデバイス(CPLD:Complex Pr
ogrammable Logic Device)およびフィールドプログラ
マブルゲートアレイ(FPGA:Field Programmable G
ate Array)が含まれる。PLDは、通常、汎用デバイ
スであって、機能確定コード、即ち構成コードが組み込
まれるとシステム特有の機能を担う。PLDは、機能確
定コードを、ヒュージブルリンク(fusible link)、ア
ンチヒューズ(antifuse)、EPROMセル、フラッシ
ュセルを含むEEPROMセルまたはスタティックRA
Mセルに格納することができる。 【0007】スタティックRAMセルを用いて機能確定
コードを保持するこれらのPLDデバイスは、システム
の電源投入時に同一のまたは異なる集積回路上のEEP
ROMから機能確定コードを自動的に取得するように設
計することができる。Xilinx、Altera、L
ucentおよびAtmel社から入手可能な多くの一
般的なFPGAデバイスは、自身のコードをスタティッ
クRAMセルに格納するので、SRAMベースのFPG
Aとして知られている。 【0008】この種のFPGAは、システムの電源投入
時に、構成データを外部EEPROMからシリアルモー
ドでもパラレルモードでも取得できることが知られてい
る。これらデバイスは、通常、システムの電源投入時に
自身の構成コードを自動的に取得するように構成されて
いる。構成コードをシリアルモードで取得するFPGA
は、コードをFPGA内にロードするために設計された
カスタムシリアルバスを使用するように設計することが
でき、多くのかかるデバイスがカスタムシリアルバスを
利用しているが、IICバスおよびSPIバスなどの標
準シリアルバスを使用するように設計することもでき
る。従って、本明細書で用いるシリアルバスという用語
は、IIC、SPIおよびカスタムシリアルバスを包含
している。 【0009】また、EEPROMからFPGAの構成コ
ードを受信した時にその構成コードに対してチェックサ
ム検査を実施することができるFPGAも知られてい
る。これらのFPGAは、チェックサム検査が失敗した
場合にそれらの構成コードが正しくない可能性があるこ
とを示すエラー信号を生成する。 【0010】限定はしないが、Xilinx社のXC1
8V00シリーズデバイスを含むいくつかのEEPRO
Mデバイスは、JTAGバスと相互接続し、JTAGバ
スを介して消去し、構成コードを用いてプログラムでき
ることが知られている。更に、これらのデバイスは、F
PGAに接続して、構成コードをFPGAに提供するこ
とができることが知られている。また、FPGAデバイ
スによっては、テストまたは構成の目的のためにJTA
Gバスに相互接続できることも知られている。 【0011】基板上のインシステム構成ヘッダを介して
可搬型のプログラミング装置を基板のJTAGバスに接
続できることが知られている。JTAGバスは、基板上
の少なくとも1つのJTAG構成可能なEEPROMに
接続され、次いで基板上のFPGAを構成するために接
続される。構成システムは、構成ヘッダを介してJTA
Gバスに接続され、構成モードに置かれる。そして、構
成コードは、構成システムからヘッダを通してJTAG
バスを介してEEPROMに書き込まれる。構成コード
がEEPROMに書き込まれると、システム電源を入れ
直すことができ、この時点で、構成コードが関連するF
PGAに転送される。このプロセスは、XILNX社の
データシートDS026およびXILINX社から入手
できる他の文書に概説されている。 【0012】構成システムは、通常、基板のFPGA用
の構成コードを有するノートブックコンピュータであ
る。また、構成システムは、基板のJTAGバス構成の
情報と共に、基板のJTAGバスを駆動するための適切
なソフトウェアおよびハードウェアを有する。 【0013】 【発明が解決しようとする課題】FPGA構成コードの
基板のEEPROMへのロードは、小型システムに対し
ては良好に動作するが、大型システムの場合には問題を
生じる場合がある。大型システムは、複数の基板を有
し、それらの基板のすべてが同一のJTAGチェーンに
接続されるとは限らない。以下の理由から、しばしば個
別のチェーンが用いられる。 1.構成システムは、チェーン内のいかなるデバイスも
適切にアドレス指定するために、チェーン内のすべての
デバイスに関する情報を有していなければならない。単
一のチェーンを用いる場合、構成システムは、システム
内のすべての基板について詳細な情報を有していなけれ
ばならない。 2.大型システムは、周辺機器、メモリサブシステム、
プロセッサその他のサブシステムを後から追加またはア
ップグレードすることを可能にするためのスロットを有
する場合があり、しばしば実際に有しているので、いか
なる空のスロットにおいても単一のチェーンが分断され
ないようにするために、追加の回路が必要になる。 3.大型システムは、周辺機器、メモリサブシステム、
プロセッサその他のデバイスからなる特定のセットによ
り、しばしば出荷前にカスタマイズされるので、単一の
チェーンにするためには、各システム構成に対してカス
タマイズされたJTAGインタフェースソフトウェアを
必要とする場合がある。 4.短いチェーンのデバイスに対するアクセスは、長い
チェーンのデバイスに対するアクセスよりも高速であ
る。従って、必須ではないが、単一の基板がその基板内
に複数のチェーンを有する場合がある。 【0014】また、従来の構成プロセスは、個別のJT
AGバスを用いてFPGA構成コードを大型システムの
各基板のEEPROMにロードする場合にも問題を生じ
る。例えば、大型システムの複数の回路基板は、システ
ムから取り外さないと構成システムを構成ヘッダに接続
してアクセスできない場合がある。基板によってはアク
セス可能な場合もあるが、1つ以上の追加の基板をシス
テムからまず取除いてからのみである。また、技術者に
よるシステムへの物理的アクセスには、出張費が必要と
なる場合がある。いずれの場合も、大型システムのすべ
ての基板のFPGA構成コードを更新するためには、相
当な労力とシステムダウン時間が必要となる場合があ
る。 【0015】コンピュータシステムは、異なる目的のた
めに複数のデータ通信バスを有する場合があることが知
られている。例えば、一般に利用可能なコンピュータ
は、周辺機器用インタフェースカードと通信するための
PCIバス、各プロセッサとインタフェースするための
1つ以上のプロセッサバス、およびその他の種類のバス
を有する。また、複雑なシステムは、特定用途のために
シリアルバスを利用する場合もある。例えば、複雑なコ
ンピュータシステムは、IICバスまたはSPIバスを
システム管理バスとして利用する場合がある。 【0016】バスブリッジは、異なる種類のバス間を相
互接続するためのデバイスである。例えば、一般的なパ
ーソナルコンピュータは、プロセッサバスとPCIバス
とを接続するパラレルバス間に、少なくとも1つのバス
ブリッジを用いる。また、一般的なパーソナルコンピュ
ータは、パラレルPCIバスとISAバスとの間にもバ
スブリッジを用いる。 【0017】システム管理バスは、限定はしないが、電
源電圧モニタ、温度センサ、ファン制御およびファン速
度モニタを含むシステム機能に対するインタフェースを
専用のシステム管理プロセッサに提供することができ
る。そして、システム管理プロセッサは、1つ以上のバ
スブリッジを含み得る適切なハードウェアを介して、そ
のシステムの他のプロセッサとインタフェースすること
ができる。 【0018】かかるシステムにおいて、システム管理プ
ロセッサは、システム機能を監視することによって、何
らかのシステム機能が限界を超えているか否かを判定す
ることができる。限界を超えている場合、システム管理
プロセッサは、ファン速度を変更したり、システムに対
してシャットダウンを含む特定のモードで動作すること
を命令したり、あるいは、本技術分野において周知の他
の手段により、システムを保護することができる。 【0019】複雑なコンピュータシステムは、複数のF
PGAおよびその他のPLDを含む場合がある。FPG
Aは、システムのCPUを他のデバイスとインタフェー
スするI/O機能をカスタマイズするため、CPU間の
通信を行うため、並びに、ファンおよび温度センサ等の
デバイスをシステム管理バスとインタフェースするため
に用いられる場合がある。 【0020】 【課題を解決するための手段】本発明は、複数の相互接
続された回路基板を有し、それらの回路基板のうちの2
つ以上が、構成コードを提供するためFPGAに接続さ
れた少なくとも1つのEEPROMを有するシステムで
ある。各基板のEEPROMデバイスは、各基板につい
て個別に設けられたJTAGチェーンに接続されてい
る。各基板からのJTAGチェーンは、共通構成ロジッ
クブロックに接続されている。共通構成ロジックブロッ
クは、複数のJTAGチェーンとシステムのプロセッサ
との間のインタフェースを提供すると共に、プロセッサ
が複数のJTAGチェーンの中から特定のJTAGチェ
ーンをアドレス指定できるようにする選択回路を提供す
る。 【0021】特定の実施形態において、共通構成ロジッ
クブロックは、IICシリアルバスと複数のJTAGチ
ェーンとの間のインタフェースを提供するFPGAを用
いて実施される。選択回路も、そのFPGAにおいて実
施される。そのため、IICシリアルバスは、IICイ
ンタフェースを通してプロセッサに接続される。 【0022】本システムにおいて基板のFPGAコード
を更新したい場合、技術者は、インターネットを含むネ
ットワークを介してシステムの各JTAGチェーンにつ
いてのFPGA構成コードのデータベースを提供するコ
ンピュータに接続するようにシステムに命令する。その
後、適切なFPGA構成コードがシステムのプロセッサ
に関連するメモリシステムに転送される。メモリシステ
ムには、ディスクメモリ、RAMメモリまたはそれら両
方が含まれる場合がある。その後、プロセッサは、共通
構成ロジックブロックを通してこのFPGA構成コード
を各基板のEEPROMデバイスに転送する。 【0023】FPGA構成コードが各基板上のEEPR
OMデバイスに転送され終わると、電源を入れ直して、
各EEPROMに関連するFPGAがEEPROMから
の構成コードで自身の構成コードを更新するようにす
る。 【0024】本システムの特定の実施形態において、I
ICシリアルバスは、複数のプロセッサを含む場合のあ
るシステム管理サブシステムを通してプロセッサに接続
される。この実施形態では、システム管理サブシステム
のシステム管理プロセッサは、各FPGAによる関連す
るEEPROMからのFPGA構成コードのリロードを
トリガできるように接続される。 【0025】また、本発明の装置は、CDROMまたは
DVD等の代替ソースからのFPGA構成コードを用い
てEEPROMをプログラムすることにも適している。 【0026】また、本発明の装置は、FPGAが構成ロ
ードチェックサムエラーを認識する自己回復型システム
における動作にも適している。そのため、本システム
は、適切なFPGAコードを検索し、それをダウンロー
ドし、チェックサムエラーを有するFPGAに関連する
EEPROMを再プログラムする。 【0027】 【発明の実施の形態】従来技術において周知のコンピュ
ータシステムは、基板A 100および基板B 102
などの複数の回路基板を含み、基板上には、FPGA1
04、106、107などが含まれる(図1)。システ
ムには、さらに基板が存在する場合もあり、これらの基
板は、FPGAを有する場合も有しない場合もあり、様
々な基板がシステムのコンポーネントとして互いに接続
(103)されている。基板A100において、FPG
A104は構成用EEPROM108に接続されてお
り、それによりFPGA104は、基板A 100の電
源投入時にEEPROM108から自身の構成コードを
受信するようになっている。同様に、FPGA106
は、第2の構成用EEPROM110に接続されてい
る。構成用EEPROM108および110は、いずれ
もJTAGバス111にチェーン状に接続されており、
JTAGバス111は構成ヘッダ112に続いている。 【0028】基板A 100上のFPGA104または
106のうちの1つ以上の構成コードを更新したい場
合、構成ケーブル116を介して構成システム114を
構成ヘッダ112に接続する。そして、構成コードを構
成システム114のメモリ118から構成ケーブル11
6、構成ヘッダ112を通じてJTAGバス111を介
してEEPROM108等のEEPROM内へ転送する
ことができる。これが完了すると、電源を入れ直すこと
により、更新された構成コードをEEPROM108か
らFPGA104にロードさせることができる。 【0029】基板B 102など、別の基板上のFPG
Aの構成コードを更新したい場合には、構成ケーブル1
16を構成ヘッダ112から取り外し、代りの構成ケー
ブル経路122に沿って、基板Bの適当な構成ヘッダ1
20に接続する。そして、前記処理を繰り返すことによ
り、基板BのJTAGバス126上のEEPROM12
4のうちの1つ以上のEEPROMを更新することがで
きる。 【0030】図1に示す従来のインシステムFPGA構
成コード更新装置は、更新すべきシステムの各基板に対
する物理的なアクセス手段を必要とする。構成ケーブル
116は、各基板の適切な構成ヘッダに個別に接続しな
ければならない。 【0031】本発明によるシステム200(図2)に
は、基板C 202および基板D 204等、各々が1
つ以上のFPGA206、208、210および211
を有する複数の回路基板が存在する。FPGA206、
208、210および211は、SRAMベースのタイ
プであり、EEPROM212、214および216等
のEEPROMから自身の構成コードを受信するために
接続されている。基板C202のEEPROM212お
よび214は、基板CのJTAGバス222に接続され
ており、基板D 204のEEPROM216は、基板
DのJTAGバス224に接続されている。基板C 2
02および基板D 204は、更に、システム管理バス
226にも相互接続されており、システム管理バス22
6は、必須ではないが、基板C 202のFPGA20
8および基板D 204のFPGA211等、FPGA
のうちのいくつかに接続することができる。基板C 2
02と基板D 204等、システムの基板同士は、他の
目的のために付加的なシステム相互接続227を用いて
相互接続されている。付加的なシステム相互接続227
には、システムの複数のプロセッサ間およびプロセッサ
と周辺機器との間で通信するための装置が含まれる場合
があり、また、コンピュータシステムにおいて必要に応
じてその他の相互接続が含まれる場合もある。 【0032】基板CのJTAGバス222および基板D
のJTAGバス224は、いずれも基板E 230など
の別の基板に配置される場合がある共通構成ロジック2
28に接続されている。共通構成ロジック228は、シ
ステム管理バス226に接続されたIICシリアルイン
タフェース232を含む。システム管理バス226は、
関連するメモリを有する少なくとも1つのプロセッサを
組込んだ少なくとも1つのシステム管理サブシステム2
34にも接続されている。システム管理サブシステム2
34は、コンピュータシステムの少なくとも1つの中央
処理装置(CPU)236に接続されており、コンピュ
ータシステムは複数のCPUを有する場合がある。 【0033】コンピュータシステムの特定の実施形態は
16個のCPUを有し、他の実施形態では4個のCPU
を有する。基板F 245上に配置されたCPU236
等の各CPUは、関連するメモリ238を有し、本技術
分野で周知のMicrosoft Windows(登
録商標)、Linux、HP−Unix及びその他のオ
ペレーティングシステムなどのオペレーティングシステ
ムを動作させることができる区画の一部である。これら
のCPUは、EEPROM240から構成コードを受信
するように接続されたFPGA239を有する基板F
245などの基板上に配置することができ、EEPRO
M240は、共通構成ロジック228からアクセスして
プログラミングできるようにJTAGバス246に接続
されている。CPU236は、ネットワーク241に接
続されており、ネットワーク241には、ローカルエリ
アネットワーク(LAN)、ファイアウォールおよびイ
ンターネット等の広域ネットワーク(WAN)が含まれ
る。また、ネットワーク241には、FPGA構成コー
ドデータベース244を有するサーバ242も接続され
ている。 【0034】代替の実施形態では、システム管理サブシ
ステム234がネットワーク241に対して直接接続を
有する。 【0035】より詳細なレベルでは、共通構成ロジック
228(図3)は、IICインタフェース232を通し
てアドレス指定可能な選択レジスタ300を有する。選
択レジスタ300は、ポート304、306および30
8など、共通構成ロジック228の複数のJTAGポー
トのうちのいずれがアクティブであるかを示す。特定の
実施形態は、16個のJTAGポートを有する。また、
IICインタフェース232を介してアクセス可能なJ
TAGエンジン310も存在し、IICインタフェース
232からのコマンドを解釈しこれらのコマンドに従っ
てアクティブなJTAGポートを操作することができる
ようになっている。 【0036】従って、共通構成ロジック228は、図8
に示すように複数チャネルのJTAGからIICへのバ
スブリッジとして動作することができる。 【0037】共通構成ロジック228のIICインタフ
ェース232は、システム管理バス226を介してシス
テム管理サブシステム234に接続されている。システ
ム管理サブシステム234は、少なくとも1つのプロセ
ッサを有し、一実施形態では、一次システム管理プロセ
ッサ312と1つ以上の二次システム管理プロセッサ3
14とを含むプロセッサの階層を有する。各プロセッサ
は、プロセッサと同じ集積回路上に実装することもでき
るメモリ316などの関連するメモリを有し、一次シス
テム管理プロセッサ312と通信するために接続されて
いる。また、システム管理サブシステム234は、CP
U236と通信するためのインタフェース318を有す
る。ネットワーク241は、ローカルエリアネットワー
ク(LAN)コンポーネント320、ファイアウォール
322およびインタネット324等の広域ネットワーク
コンポーネント(WAN)を有する。CPU236は、
ネットワーク241を介してセキュアで暗号化された様
式でサーバ242に接続することができる。 【0038】コンピュータシステム200の1つ以上の
基板上でFPGAコードを更新したい場合、CPU23
6は、ホストFPGA更新ルーチンを実行する。それに
関し(図4と共に図2および図3を参照)、システムの
CPU236は、セキュアな様式でサーバ242に接続
し(ステップ400)、更新されたFPGA構成コード
ファイルをメモリ238にダウンロードする(ステップ
402)。メモリ238には、コンピューティングシス
テムの技術分野で周知のディスクメモリおよび/または
RAMメモリが含まれうる。次に、このFPGA構成コ
ードファイルをシステム管理サブシステム234のメモ
リ316に転送する(ステップ404)。この転送(ス
テップ404)は、EEPROMプログラミングに先立
って完全なファイル転送として行うこともできるし、あ
るいは、FPGA構成コードファイルの個々の要素、即
ちブロックの転送として行うこともできる。特定の実施
形態では、この転送(ステップ404)をブロックモー
ドで実行する。そして、システムCPU236は、シス
テム管理サブシステム234の一次プロセッサ312ま
たはローカルプロセッサ314などのプロセッサ上でF
PGA構成ルーチンを開始する(ステップ405)。特
定の実施形態において、このFPGA構成ルーチンは一
次システム管理プロセッサ312上で実行され、ローカ
ルプロセッサ314を介してコマンドを共通構成ロジッ
ク228のIICインタフェース232に渡す。 【0039】代替の実施形態では、コンピュータシステ
ム200の1つ以上の基板上でFPGAコードを更新し
たい場合、システム管理サブシステム234のプロセッ
サ312等のプロセッサは、セキュアな様式でサーバ2
42に接続し(ステップ400)、更新されたFPGA
構成コードファイルをシステム管理サブシステム234
のメモリ316にダウンロードする(ステップ40
2)。そして、システム管理サブシステムのプロセッサ
312が、FPGA構成ルーチンを実行する。 【0040】いずれの実施形態においても、その後、シ
ステム管理サブシステムプロセッサ312は、何らかの
オプションの構成ヘッダ514(図5、後述する)が構
成システムに接続されているか否かをチェックし(ステ
ップ406)、接続されている場合は、エラーを宣言す
る。次に、システム管理サブシステムプロセッサ312
は、必要に応じて調停して共通構成ロジック228を割
当て(ステップ407)、他のプロセッサが共通構成ロ
ジック228を使用している場合、共通構成ロジック2
28が利用可能になるまで待つ。この割り当てによっ
て、プログラム中の同一のEEPROMに対して、予備
のシステム管理プロセッサ528(図5、後述する)等
の他のいかなるシステム管理サブシステムプロセッサか
らのアクセスも防止されるので、コード破損の防止が容
易になる。また、この割り当てによって、バックアップ
システム管理プロセッサ528(図5、後述する)等の
他のいかなるシステム管理プロセッサからも共通構成ロ
ジック228の状態の変更を防止できるので、JTAG
バス222または224を介した転送の競合の防止が容
易になる。 【0041】その後、システム管理サブシステムプロセ
ッサ312は、共通構成ロジック228のFIFOに残
っているあらゆるデータを消去することを含めて、共通
構成ロジック228の初期化を行い、プログラムすべき
EEPROMに接続された特定のJTAGバスの識別
(ID)を用いて選択レジスタ300をセットする(ス
テップ409)。 【0042】次に、プロセッサ312は、選択されたJ
TAGバスを共通構成ロジック228を通してアドレス
指定し、そのJTAGバス上のデバイスの数および種類
を含むJTAGバス構成を判定する(ステップ41
0)。この判定は、一部、JTAG「GET_DEVI
CE_ID」コマンドを用いて行われ、このコマンド
は、JTAGバスに接続された各デバイスの種類を示す
識別コードを返す。識別コードを含むこのバス構成をF
PGAコードファイルの情報に対して比較することによ
って(ステップ412)、その識別コードが目的のJT
AGバスと互換性があることを確認する。識別コードが
選択された基板および目的のJTAGバスと互換性が無
い場合、エラーを宣言し(ステップ414)、エラーハ
ンドラ424が適切なコードファイルを自動的に探索
し、ダウンロードを試みる。これらステップによって、
選択された回路基板とコードファイルとの互換性が検証
される。 【0043】代替の実施形態として、JTAGバス構成
をコードファイルの情報に対して比較する代りに、また
は比較することに加えて、各基板に配置されたEEPR
OM512(図5)から基板識別情報を読み出すことも
できる。このEEPROMは、各基板上のJTAGバス
510に追加される。この識別情報を用いて、コードフ
ァイルと基板及び目的のJTAGバスとの互換性を検証
し、コードファイル内に含まれる複数のFPGAコード
の中から適切なFPGAコードを選択し、および、サー
バ242上のFPGAコードデータベース244内の適
切なFPGAコードファイルを検索することができる。 【0044】FPGAコードファイルの互換性を検証し
た後(図4と共に図2および図3を参照)、システム管
理サブシステムは、選択されたJTAGバス222に接
続された基板のEEPROM214等、1つ以上のEE
PROMを消去する(ステップ416)。FPGAコー
ドファイルが基板の複数のFPGAに対するコードを含
む場合、複数のEEPROMを消去する場合がある。そ
して、構成システムは、JTAGバス222を介して新
たなコード情報を消去したEEPROMに書き込む(ス
テップ418)。最後に、システム管理サブシステム
が、EEPROM書き込みプロセス(ステップ418)
にエラーが無いかチェックし(ステップ420)、何ら
かのエラーが発生した場合はエラー422を宣言する。
コードファイルが基板のEEPROMに正しく書込まれ
なかった場合、エラーハンドラ424は、ステップ40
2からステップ422までを繰返し、すなわち、互換性
のあるFPGA構成コードファイルをダウンロードし、
そのファイルをシステム管理サブシステムに転送し、E
EPROMを消去し、EEPROMに書き込むことがで
きる。 【0045】基板上のEEPROMがプログラムされ終
わると、システム管理サブシステムプロセッサは、共通
構成ロジック228を解放し、システム管理サブシステ
ムの他のあらゆるプロセッサから共通構成ロジック22
8にアクセスできるようにする(ステップ423)。次
に、ホストFPGA更新ルーチンは、何らかの別の基板
または同一基板のJTAGバスをさらにプログラムする
か否かをチェックする(ステップ426)。これら別の
基板またはJTAGバスに対して、FPGAコードをシ
ステム管理サブシステムにダウンロードするステップ
と、EEPROMを消去するステップと、EEPROM
をプログラムするステップとを含む適切なステップが、
必要に応じて繰返される。 【0046】更新する必要のあるすべてのJTAGバス
のすべてのEEPROMがプログラムされ終わると、シ
ステム200の電源を入れ直すことによって、更新され
た構成コードをEEPROM212等の関連するEEP
ROMからFPGA208等の各FPGAへロードさせ
ることができる(ステップ428)。 【0047】この方法でプログラムすることのできるE
EPROMを有するFPGAには、システムCPU23
6を有する基板F 245等の基板上のFPGA239
等も含まれうる。また、この方法でプログラムすること
のできるEEPROMを有するFPGAには、一実施形
態において関連する構成用EEPROM330を有する
FPGAとして実施される共通構成ロジック228自体
も含まれうる。 【0048】予備の手段として、システム200の1つ
以上の基板は、そのFPGAをプログラムするための付
加的な方法として、並列に接続された構成ヘッダ514
を有することもできる。FPGAが誤ってプログラムさ
れた場合、または、欠陥のあるFPGA構成コードでプ
ログラムされてしまった場合、フィールドサービスまた
は工場改修技術者は、この手段によって基板にアクセス
することができる。例えば、共通構成ロジック228に
関連するEEPROM330がJTAGポートD335
を介するプログラム中に電源障害によって破損した場
合、この予備の構成ヘッダによってシステム200の修
復が可能になる。 【0049】特定の実施形態において、基板500(図
5)は、第1のFPGA502と第2のFPGA504
とを有する。FPGA502および504は、JTAG
バス510に接続されたEEPROM506および50
8から自身の構成コードを受信するように接続されてい
る。また、JTAGバス510には、基板識別用EEP
ROM512および構成ヘッダ514も接続されてい
る。JTAGバス510は、基板500からシステムの
共通構成ロジック516に続いている。 【0050】チェックサムエラーライン518および5
20は、FPGA502および504からローカル管理
プロセッサ522に導かれ、ローカル管理プロセッサ5
22は、同じ基板500上に配置してもよいし、しなく
てもよい。ローカル管理プロセッサ522は、システム
管理バス524に接続されている。システム管理バス5
24は、一次システム管理プロセッサ526に接続され
ている。一次システム管理プロセッサと共に予備のシス
テム管理プロセッサ528をフェイルオーバ構成で設け
て、冗長性を与える。また、ローカル管理プロセッサ
は、基板500のFPGA502および504を含む各
FPGAに接続されたFPGAリロードコマンドライン
530にも接続されている。一次システム管理プロセッ
サおよび予備のシステム管理プロセッサ526,528
は、各々、システムの少なくとも1つのCPU(図示せ
ず)に接続される。 【0051】図5の実施形態では、EEPROMのプロ
グラム完了時にシステムの電源を入れ直すステップ42
8(図4)が不要である。このステップは、FPGA上
のロジックのシステム使用を一次的にディスエーブルに
するステップと、再プログラムされたEEPROMに関
連するFPGAをソフトブートしてそれらの構成コード
をリロードするステップと、FPGA上のロジックのシ
ステム使用を再びイネーブルにするステップとによって
置換えられる。 【0052】この実施形態では、FPGA504等のF
PGAは、チェックサムエラーを検出すると、システム
管理サブシステムに信号を送信する(図7、ステップ7
02)。システム管理サブシステムへの信号は、チェッ
クサムエラーライン520のシステム管理サブシステム
の様々なFPGAへの接続を通して、カスタムロジック
またはゲートアレイを通して、またはローカルシステム
管理プロセッサ522等のシステム管理プロセッサのI
/Oラインを通して送信することができる。そして、ロ
ーカルシステム管理プロセッサ522は、エラーが検出
されたFPGA504に関連するEEPROM508の
更新を要求する信号を、CPU236等のシステムのC
PU上で動作するオペレーティングシステムに送信す
る。 【0053】エラーが検出されて更新の要求があると、
図4を参照して既に説明したように更新を行う(ステッ
プ706)。ただし、EEPROMのプログラムの完了
時において、システムの電源を入れ直す代りに、関連す
るFPGAをソフトブートする(ステップ708)。こ
のソフトブートは、特定のFPGAを使用するドライバ
またはシステム管理機能をシャットダウンし、関連する
EEPROMの構成コードのFPGAへのロードをトリ
ガし、そのFPGAを利用していたあらゆるドライバま
たはシステム管理機能を再スタートすることによって行
う。従って、システムを完全にシャットダウンすること
なく、システムのFPGAのうちの少なくともいくつか
について構成コードを更新することができる。 【0054】特定の実施形態において、FPGA600
(図6)等、複雑なコンピュータシステムのシステム管
理サブシステムのFPGAは、EEPROM602から
自身の構成コードを受信するように接続されている。E
EPROM602は、上述のように、共通構成ロジック
からJTAGバス604を介してプログラムできるよう
に接続されている。FPGA600は、一連のシステム
管理センサおよびシステム管理ハードウェアに接続され
ており、限定はしないが、それらには、ファン速度セン
サ606、電圧モニタ608、CPUクロック速度選択
回路610、CPU電圧選択回路612、タンパスイッ
チ614および温度モニタ回路616などが含まれる。
FPGA600には、IICシステム管理バス620を
介してこれらのシステム管理センサおよびシステム管理
ハードウェアとシステム管理プロセッサとの間で通信す
るためのロジックが含まれる。 【0055】本発明の他の実施形態では、上述のように
インシステムプログラムすることが可能なEEPROM
から構成コードを受信するFPGAは、I/O周辺機器
と本システムの特定のシステムCPUとの間でI/O情
報をルーチングするために使用される。更に他の実施形
態では、上述のようにインシステムプログラムすること
が可能なEEPROMから構成コードを受信するFPG
Aは、システムCPU間におけるプロセッサ間通信に使
用される。 【0056】更に詳細に説明すると、共通構成ロジック
228(図8)のIICインタフェース232は、スレ
ーブモード物理層800とアドレスデコード・制御用レ
ジスタ802とを有する。これらは、IICバス226
と内部パラレルバス804とのインタフェースをとる。
また、共通構成ロジック228即ちバスブリッジは、I
ICインタフェース232をJTAGポート820に接
続するためのデバイス840も有する。IICバスとJ
TAGバスとの間でデータ転送をバッファリングするた
め、256バイトのJTAGへのデータ用FIFO80
6およびJTAGからのデータ用FIFO808が設け
られる。データは、IICスレーブ物理層800を通し
てIICバス226とFIFO806および808との
間で転送することができる。JTAGステートマシン8
10によって、単一のIICコマンドで、目的のJTA
Gをリセットし、JTAG構成を読み出し、即ち、転送
の方向に応じてパラレル/シリアルコンバータまたはシ
リアル/パラレルコンバータを通してFIFO806,
808とJTAGデバイスとの間で256バイトまでの
連続したデータを転送できるようにしている。単純なバ
イパスポート816によって、ロジックエラーが生じた
場合、または、特別なJTAGコマンドを実行する必要
がある場合に、ステートマシン810およびFIFO8
06,808をバイパスできるようにしている。 【0057】選択レジスタ818は、IICインタフェ
ース232を通してアドレス指定することができる。選
択レジスタ818は、任意の時点でアクティブであるべ
き複数のJTAGポート820のうちの1つを示す。こ
れは、マルチプレクサ822に対して、JTAGポート
820からの特定のデータラインをシリアル/パラレル
コンバータ814に接続することを命令し、いずれのJ
TAGポート820がクロック・選択ゲートロジック8
24からJTAG選択ラインを受け取るべきかを指定す
ることにより行なわれる。 【0058】また、共通構成ロジック228は、エラー
フラグ、FIFOディップスティック(FIFO使用
量)900および902(図9)、FIFOエンプティ
フラグ904,906および構成ヘッダ接続フラグ90
8を含むステータスレジスタ826も有する。構成ヘッ
ダ接続フラグ908は、ヘッダ514等の何らかの付加
的な構成ヘッダが構成システムに接続されているか否か
を示す。構成システムがヘッダ514に接続されている
場合、システム管理プロセッサ526は、接続されてい
るヘッダがあるか否かをチェックするステップ406に
おいて接続されていることを識別し、EEPROMの内
容を誤って破損することを防止するためにEEPROM
のプログラムを拒否する。 【0059】FIFOエンプティフラグ904および9
06は、EEPROMへのコードの書き込み(ステップ
418)後、システム管理サブシステムプロセッサ31
2がエラーをチェックする時に(ステップ420)に、
すべての転送が完了していることを保証するためにテス
トされる。 【0060】ここまで、本発明を実施するコンピュータ
システムの回路基板の中の機能要素の特定の部分を参照
しながら本発明を説明してきた。本発明は、システムを
選択的に分割することが可能であり、基板または個々の
基板上に例示した回路は、さらに存在してもよいし、特
定の実施のため必要に応じて統合することも可能であ
る。例えば、限定の意図はないが、基板E 230上に
例示したような共通構成ロジックは、回路基板上におい
て基板D 204の回路と統合することもできる。 【0061】本発明を特にその好ましい実施形態に関し
て例示し説明してきたが、当業者には、本発明の思想お
よび範囲から逸脱することなく、形態および詳細につい
て種々の他の変更を行えることが分かるであろう。本発
明を異なる実施形態に対して適合させる際には、本明細
書で開示し特許請求の範囲に包含される広い発明の概念
から逸脱することなく、種々の変更を行うことができる
と考えるべきである。 【0062】以下においては、本発明の種々の構成要件
の組み合わせからなる例示的な実施態様を示す。 1.第1(214)および第2(216)のEEPROMからプロ
グラマブルロジックデバイス構成コードを受信するよう
に接続された第1(206)および第2(211)のプログラマブ
ルロジックデバイスを少なくとも含む複数のプログラマ
ブルロジックデバイスと、前記第1のEEPROM(21
4)と共通構成ロジック(228)とを接続する第1のシリア
ルバス(222)、および、前記第2のEEPROM(216)と
該共通構成ロジック(228)とを接続する第2のシリアル
バス(224)と、前記共通構成ロジックに接続され、プロ
グラマブルロジック構成を前記第1のEEPROM(21
4)に書き込むことが可能なプロセッサ(234)と、からな
るシステム。 2.前記第1(214)および第2(216)のEEPROMが前
記システムの個別の基板上に配置されている、項番1に
記載のシステム。 3.前記第1(222)および第2(224)のシリアルバスがJ
TAGバスである、項番1または2に記載のシステム。 4.前記プロセッサ(234)が第3(226)のシリアルバスを
介して前記共通構成ロジック(228)に接続される、項番
1〜3のうちのいずれか1項に記載のシステム。 5.前記第3のシリアルバスがIICタイプのシリアル
バスである、項番4に記載のシステム。 6.前記プログラマブルロジックデバイス(208,206,21
0,211)がフィールドプログラマブルゲートアレイであ
る、項番4に記載のシステム。 7.前記共通構成ロジック(228)がEEPROM(330)か
ら構成コードを受信するように接続されたフィールドプ
ログラマブルゲートアレイにおいて実施され、該EEP
ROM(330)が、前記プロセッサ(234)により前記共通構
成ロジック(228)を介してプログラム可能である、項番
6に記載のシステム。 8.前記システムをネットワーク(241)に接続するため
の装置をさらに含み、前記システムのプロセッサ(234)
は、構成コードをネットワークサーバ(242)上の構成コ
ードデータベース(244)から前記共通構成ロジック(228)
を通して転送し、該構成コードを前記システムのEEP
ROM(214)に書き込むことができる、項番6に記載の
システム。 9.前記プログラマブルロジックデバイス(208,211)の
うちの少なくとも1つが、システム管理機能を実行し、
システム管理バス(226)に接続する、項番8に記載のシ
ステム。 【0063】 【発明の効果】本発明は、上記のように構成することに
よって、EEPROMが接続された複数のJTAGチェ
ーンを有していても、構成コードを構成システムからE
EPROMへ容易にロードすることのできるシステムを
提供することができる。
【図面の簡単な説明】 【図1】複数の基板上に複数のJTAGバスを有する従
来のコンピュータシステムを示すブロック図であり、各
基板が個別の構成ヘッダを有している。 【図2】複数の基板から共通構成ロジックに導かれる複
数のJTAGバスを有する本発明の一実施形態によるコ
ンピュータシステムのブロック図であり、複数のJTA
Gバスを介してEEPROMをプログラミングするた
め、システムのプロセッサへのインタフェースを有して
いる。 【図3】JTAGからIICへのブリッジを実施する図
2のシステムの共通構成ロジックおよびシステム管理サ
ブシステムの詳細を示すブロック図であり、システム管
理プロセッサおよびホストプロセッサを有し、ネットワ
ークを介したデータベースとの接続を示している。 【図4】共通のシステム構成ロジックを通してシステム
のFPGAを構成する方法のフロー図である。 【図5】FPGA、構成ヘッダおよび基板識別用EEP
ROMからエラー信号を受信するために接続されたロー
カルシステム管理プロセッサを有する、本発明の一実施
形態による基板の詳細なブロック図であり、システム管
理プロセッサおよび共通構成ロジックへの接続を示して
いる。 【図6】本発明を実施するシステム管理サブシステムの
一部の詳細なブロック図である。 【図7】本発明による、破損FPGAコードを有するシ
ステムの自己回復を可能にする機能の図である。 【図8】本発明の一実施形態による共通構成ロジックの
更に詳細なブロック図である。 【図9】本発明の一実施形態による共通構成ロジックの
ステータスレジスタの更に詳細なブロック図である。 【符号の説明】 202,204 基板 206,208,210,211 FPGA 214,216,330 EEPROM 222,224 JTAGバス 226 システム管理バス 228 共通構成ロジック 234 CPU 241 ネットワーク 242 サーバ 244 構成コードデータベース
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイク・エリクソン アメリカ合衆国コロラド州80537,ラブラ ンド,メリッサ・ドライブ・1507 (72)発明者 デイビッド・マシロウスキー アメリカ合衆国コロラド州80138,パーカ ー,ノース・サグワーロウ・リッジ・ロー ド・8520 Fターム(参考) 5B076 AA01 EB02 EB09

Claims (1)

  1. 【特許請求の範囲】 【請求項1】第1(214)および第2(216)のEEPROM
    からプログラマブルロジックデバイス構成コードを受信
    するように接続された少なくとも第1(206)および第2
    (211)のプログラマブルロジックデバイスを含む複数の
    プログラマブルロジックデバイスと、 前記第1のEEPROM(214)と共通構成ロジック(228)
    とを接続する第1のシリアルバス(222)、および、前記
    第2のEEPROM(216)と該共通構成ロジック(228)と
    を接続する第2のシリアルバス(224)と、 前記共通構成ロジックに接続され、プログラマブルロジ
    ック構成を前記第1のEEPROM(214)に書き込むこ
    とが可能なプロセッサ(234)と、 からなるシステム。
JP2002213352A 2001-07-30 2002-07-23 複数基板上のプログラマブルロジックデバイスをjtagブリッジ接続するためのシステムおよび方法 Pending JP2003058386A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/917983 2001-07-30
US09/917,983 US6918027B2 (en) 2001-07-30 2001-07-30 System and method for in-system programming through an on-system JTAG bridge of programmable logic devices on multiple circuit boards of a system

Publications (1)

Publication Number Publication Date
JP2003058386A true JP2003058386A (ja) 2003-02-28

Family

ID=25439599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002213352A Pending JP2003058386A (ja) 2001-07-30 2002-07-23 複数基板上のプログラマブルロジックデバイスをjtagブリッジ接続するためのシステムおよび方法

Country Status (3)

Country Link
US (1) US6918027B2 (ja)
EP (1) EP1286355A3 (ja)
JP (1) JP2003058386A (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678848B1 (en) * 2000-12-21 2004-01-13 Actel Corporation Programming circuitry for configurable FPGA I/O
CN1288658C (zh) * 2002-04-25 2006-12-06 三洋电机株式会社 数据处理装置
US20040068330A1 (en) * 2002-10-04 2004-04-08 Ncr Corporation Methods and apparatus for remote programming of field programmable gate arrays
US6948147B1 (en) * 2003-04-03 2005-09-20 Xilinx, Inc. Method and apparatus for configuring a programmable logic device using a master JTAG port
US7206921B2 (en) * 2003-04-07 2007-04-17 Intel Corporation Micro-operation un-lamination
US7287189B1 (en) * 2003-06-25 2007-10-23 Altera Corporation I/O configuration and reconfiguration trigger through testing interface
US7170315B2 (en) 2003-07-31 2007-01-30 Actel Corporation Programmable system on a chip
US20050114473A1 (en) * 2003-10-30 2005-05-26 Ravid Guy FPGA boot-up over a network
US7190190B1 (en) * 2004-01-09 2007-03-13 Altera Corporation Programmable logic device with on-chip nonvolatile user memory
US7136952B2 (en) * 2004-04-28 2006-11-14 International Business Machines Corporation Method for programming firmware hubs using service processors
US7019558B1 (en) * 2004-07-14 2006-03-28 Xilinx, Inc. Conversion of configuration data to match communication protocol
US20060095731A1 (en) * 2004-09-02 2006-05-04 Yuval Bustan Method and apparatus for avoiding read port assignment of a reorder buffer
US7251804B1 (en) 2004-10-01 2007-07-31 Xilinx, Inc. Structures and methods of overcoming localized defects in programmable integrated circuits by routing during the programming thereof
US7284229B1 (en) 2004-10-01 2007-10-16 Xilinx, Inc. Multiple bitstreams enabling the use of partially defective programmable integrated circuits while avoiding localized defects therein
US7412635B1 (en) * 2004-10-01 2008-08-12 Xilinx, Inc. Utilizing multiple bitstreams to avoid localized defects in partially defective programmable integrated circuits
US7424655B1 (en) 2004-10-01 2008-09-09 Xilinx, Inc. Utilizing multiple test bitstreams to avoid localized defects in partially defective programmable integrated circuits
US7257654B1 (en) * 2004-11-09 2007-08-14 Advanced Micro Devices, Inc. PCI bridge device configured for using JTAG scan for writing internal control registers and outputting debug state
US7242218B2 (en) * 2004-12-02 2007-07-10 Altera Corporation Techniques for combining volatile and non-volatile programmable logic on an integrated circuit
EP1684263B1 (en) * 2005-01-21 2010-05-05 Unlimited Media GmbH Method of generating a footprint for an audio signal
US7606362B1 (en) 2005-01-25 2009-10-20 Altera Corporation FPGA configuration bitstream encryption using modified key
US7818584B1 (en) 2005-01-25 2010-10-19 Altera Corporation One-time programmable memories for key storage
US20060212838A1 (en) * 2005-02-09 2006-09-21 Checksum, Llc System and apparatus for in-system programming
US20060242611A1 (en) * 2005-04-07 2006-10-26 Microsoft Corporation Integrating programmable logic into personal computer (PC) architecture
US7693596B2 (en) * 2005-12-14 2010-04-06 Dell Products L.P. System and method for configuring information handling system integrated circuits
GB2445303B (en) * 2005-12-14 2008-08-20 Dell Products Lp System and method for configuring information handling system integrated circuits
US20070162972A1 (en) * 2006-01-11 2007-07-12 Sensory Networks, Inc. Apparatus and method for processing of security capabilities through in-field upgrades
US7636796B2 (en) * 2006-09-15 2009-12-22 Microsoft Corporation Smart interconnect for modular multi-component embedded devices
US8041444B2 (en) 2006-12-22 2011-10-18 Harris Stratex Networks Operating Corporation Intelligent production station and production method
US8712567B2 (en) * 2006-12-22 2014-04-29 Aviat U.S., Inc. Manufactured product configuration
US7810059B1 (en) 2007-10-11 2010-10-05 Xilinx, Inc. Methods of enabling the validation of an integrated circuit adapted to receive one of a plurality of configuration bitstreams
US7619438B1 (en) 2007-10-11 2009-11-17 Xilinx, Inc. Methods of enabling the use of a defective programmable device
US7853916B1 (en) 2007-10-11 2010-12-14 Xilinx, Inc. Methods of using one of a plurality of configuration bitstreams for an integrated circuit
US7888965B2 (en) * 2009-01-29 2011-02-15 Texas Instruments Incorporated Defining a default configuration for configurable circuitry in an integrated circuit
CN101621293B (zh) * 2009-07-23 2012-09-26 中兴通讯股份有限公司 Jtag设备及隔离电路实现jtag数据下载的方法
CN102176128B (zh) * 2011-01-31 2012-10-31 黑龙江大学 两级接口组合式单片机开发板
CN102236572B (zh) * 2011-08-01 2013-10-09 华为技术有限公司 一种加载固件的方法和设备
CN103577759B (zh) * 2012-08-09 2016-07-06 上海宝信软件股份有限公司 一种基于非安全通讯接口的数据安全处理装置
DE102012217585B4 (de) * 2012-09-27 2014-11-06 Siemens Aktiengesellschaft Verfahren zur automatischen Konfiguration von programmierbaren Bausteinen, elektronische Baugruppenanordnung, Röntgendetektor und Computertomographiesystem
US8516176B1 (en) 2012-10-11 2013-08-20 Google Inc. Gang programming of devices
US10089224B2 (en) * 2013-03-15 2018-10-02 The Boeing Company Write caching using volatile shadow memory
CN104035803A (zh) * 2014-06-25 2014-09-10 浪潮(北京)电子信息产业有限公司 一种更新cpld/fpga固件的方法、装置及烧录器
US10331431B2 (en) * 2015-11-17 2019-06-25 Nlight, Inc. Multiple laser module programming over internal communications bus of fiber laser
US11100228B2 (en) * 2018-10-25 2021-08-24 Dell Products, L.P. System and method to recover FPGA firmware over a sideband interface
CN112416466B (zh) * 2020-12-02 2024-02-23 车智互联(北京)科技有限公司 一种应用程序加载方法、移动终端及可读存储介质

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914576A (en) 1986-12-18 1990-04-03 Bull Hn Information Systems Inc. Apparatus and method of loading a control store memory of a central subsystem
US5101490A (en) 1989-01-10 1992-03-31 Bull Hn Information Systems Inc. Peripheral device controller with an EEPROM with microinstructions for a RAM control store
US5428800A (en) * 1991-10-30 1995-06-27 I-Cube, Inc. Input/output (I/O) bidirectional buffer for interfacing I/O ports of a field programmable interconnection device with array ports of a cross-point switch
US5343478A (en) 1991-11-27 1994-08-30 Ncr Corporation Computer system configuration via test bus
US5425036A (en) * 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
US5477544A (en) 1994-02-10 1995-12-19 The United States Of America As Represented By The Secretary Of The Navy Multi-port tester interface
US5465056A (en) * 1994-06-30 1995-11-07 I-Cube, Inc. Apparatus for programmable circuit and signal switching
US5802268A (en) 1994-11-22 1998-09-01 Lucent Technologies Inc. Digital processor with embedded eeprom memory
US5894571A (en) 1995-08-14 1999-04-13 Dell U.S.A., L.P. Process for configuring software in a build-to-order computer system
US5864486A (en) 1996-05-08 1999-01-26 Lattice Semiconductor Corporation Method and apparatus for in-system programming of a programmable logic device using a two-wire interface
US6097211A (en) 1996-07-18 2000-08-01 Altera Corporation Configuration memory integrated circuit
US5761462A (en) 1996-12-13 1998-06-02 International Business Machines Corporation Method and system for supporting peripheral component interconnect (PCI) peer-to-peer access across multiple PCI host bridges within a data-processing system
US5933614A (en) 1996-12-31 1999-08-03 Compaq Computer Corporation Isolation of PCI and EISA masters by masking control and interrupt lines
US5826048A (en) 1997-01-31 1998-10-20 Vlsi Technology, Inc. PCI bus with reduced number of signals
US6651225B1 (en) * 1997-05-02 2003-11-18 Axis Systems, Inc. Dynamic evaluation logic system and method
US5935233A (en) 1997-05-21 1999-08-10 Micron Electronics, Inc. Computer system with a switch interconnector for computer devices
US6314550B1 (en) 1997-06-10 2001-11-06 Altera Corporation Cascaded programming with multiple-purpose pins
US6055632A (en) 1997-09-25 2000-04-25 Allen-Bradley Company, Llc Method and apparatus for transferring firmware to a non-volatile memory of a programmable controller system
US6167358A (en) 1997-12-19 2000-12-26 Nowonder, Inc. System and method for remotely monitoring a plurality of computer-based systems
US5956516A (en) 1997-12-23 1999-09-21 Intel Corporation Mechanisms for converting interrupt request signals on address and data lines to interrupt message signals
JPH11259383A (ja) 1998-03-12 1999-09-24 Hitachi Ltd Ras情報取得回路及びそれを備えた情報処理システム
US6198303B1 (en) 1998-03-25 2001-03-06 Altera Corporation Configuration eprom with programmable logic
US5970005A (en) 1998-04-27 1999-10-19 Ict, Inc. Testing structure and method for high density PLDs which have flexible logic built-in blocks
US6167477A (en) 1998-06-15 2000-12-26 Sun Microsystems, Inc. Computer system bridge employing a resource control mechanism with programmable registers to control resource allocation
US6567414B2 (en) 1998-10-30 2003-05-20 Intel Corporation Method and apparatus for exiting a deadlock condition
US6289406B1 (en) 1998-11-06 2001-09-11 Vlsi Technology, Inc. Optimizing the performance of asynchronous bus bridges with dynamic transactions
US6405276B1 (en) 1998-12-10 2002-06-11 International Business Machines Corporation Selectively flushing buffered transactions in a bus bridge
US6044025A (en) 1999-02-04 2000-03-28 Xilinx, Inc. PROM with built-in JTAG capability for configuring FPGAs
US6460108B1 (en) 1999-03-31 2002-10-01 Intel Corporation Low cost data streaming mechanism
US6366973B1 (en) 1999-05-03 2002-04-02 3Com Corporation Slave interface circuit for providing communication between a peripheral component interconnect (PCI) domain and an advanced system bus (ASB)
JP2001005724A (ja) 1999-06-11 2001-01-12 Internatl Business Mach Corp <Ibm> ライト・キャッシュ転送の制御方法およびディスク装置
US6459297B1 (en) 1999-09-20 2002-10-01 Ag Communication Systems Corporation System for programming field programmable devices
US6636927B1 (en) 1999-09-24 2003-10-21 Adaptec, Inc. Bridge device for transferring data using master-specific prefetch sizes
US6622246B1 (en) 1999-11-12 2003-09-16 Xerox Corporation Method and apparatus for booting and upgrading firmware
US6137738A (en) 1999-11-30 2000-10-24 Lucent Technologies, Inc. Method for in-system programming of serially configured EEPROMS using a JTAG interface of a field programmable gate array
US7155711B2 (en) 1999-12-10 2006-12-26 Sedna Patent Services, Llc Method and apparatus providing remote reprogramming of programmable logic devices using embedded JTAG physical layer and protocol
US6658508B1 (en) 2000-01-31 2003-12-02 Koninklijke Philips Electronics N.V. Expansion module with external bus for personal digital assistant and design method therefor
US6255849B1 (en) 2000-02-04 2001-07-03 Xilinx, Inc. On-chip self-modification for PLDs
US6427198B1 (en) 2000-02-15 2002-07-30 International Business Machines Corporation Method, system, and program for determining system configuration
US6529989B1 (en) 2000-05-03 2003-03-04 Adaptec, Inc. Intelligent expansion ROM sharing bus subsystem
JP2002025282A (ja) 2000-07-12 2002-01-25 Hitachi Ltd 不揮発性半導体記憶装置
US6658519B1 (en) 2000-07-28 2003-12-02 International Business Machines Corporation Bus bridge with embedded input/output (I/O) and transaction tracing capabilities
US6629179B1 (en) 2000-07-31 2003-09-30 Adaptec, Inc. Message signaled interrupt generating device and method
US7168005B2 (en) 2000-09-14 2007-01-23 Cadence Design Systems, Inc. Programable multi-port memory BIST with compact microcode
JP2002113675A (ja) 2000-10-11 2002-04-16 Sony Corp ロボット制御システム並びにロボット制御用ソフトウェアの導入方法
US6691205B2 (en) 2001-03-05 2004-02-10 M-Systems Flash Disk Pioneers Ltd. Method for using RAM buffers with simultaneous accesses in flash based storage systems
US6823418B2 (en) 2001-06-29 2004-11-23 Intel Corporation Virtual PCI device apparatus and method

Also Published As

Publication number Publication date
US20030020512A1 (en) 2003-01-30
EP1286355A3 (en) 2004-05-06
US6918027B2 (en) 2005-07-12
EP1286355A2 (en) 2003-02-26

Similar Documents

Publication Publication Date Title
JP2003058386A (ja) 複数基板上のプログラマブルロジックデバイスをjtagブリッジ接続するためのシステムおよび方法
JP2003058385A (ja) システム管理プロセッサおよびjtagバスを介してeepromのfpgaコードを更新する方法
KR101407835B1 (ko) 플랫폼 독립적인 메모리 로직의 제공
CN107493685B (zh) 经由端口控制器自身的外部端口对端口控制器进行再编程
US7293165B1 (en) BMC-hosted boot ROM interface
US8943302B2 (en) Method of flashing bios using service processor and computer system using the same
JP2003132010A (ja) Jtagバス−シリアルバス間をブリッジ接続する方法および装置
US6145085A (en) Method and apparatus for providing remote access to security features on a computer network
US8296528B2 (en) Methods and systems for microcode patching
US11579893B2 (en) Systems and methods for separate storage and use of system BIOS components
US8683191B2 (en) Reconfiguring a secure system
JP2003140917A (ja) 共通接続ポイントを通して複数基板上のプログラマブルロジックデバイスのインシステムプログラミングを行う方法および装置
TWI801468B (zh) 用於保護電子裝置之安全性之設備、方法及系統以及相關的微控制器
EP4031963B1 (en) Tracing status of a programmable device
CN111052074A (zh) 具有自描述依从性信息的固件组件
WO2022237551A1 (zh) 安全启动装置及方法
CN107567629A (zh) 在可信执行环境容器中的动态固件模块加载器
WO1996038775A1 (en) A method and apparatus for limiting access to a nonvolatile memory device
US6862645B2 (en) Computer system
CN100437485C (zh) 用于配置计算机系统的系统和方法
US7536694B2 (en) Exception handling in a multiprocessor system
US6751569B2 (en) System and method for receiving information from a test apparatus
US6766425B2 (en) Calibration method implementing segmented flash memory and RAM overlay
US6973564B2 (en) Automatically initiating a manufacturing mode of a system firmware
WO2000025208A1 (en) Processor system with fail safe bios configuration