JP2006510967A - Jtag機能を備えている複数の集積回路を有するシステムにおけるコードのダウンロード - Google Patents

Jtag機能を備えている複数の集積回路を有するシステムにおけるコードのダウンロード Download PDF

Info

Publication number
JP2006510967A
JP2006510967A JP2004560136A JP2004560136A JP2006510967A JP 2006510967 A JP2006510967 A JP 2006510967A JP 2004560136 A JP2004560136 A JP 2004560136A JP 2004560136 A JP2004560136 A JP 2004560136A JP 2006510967 A JP2006510967 A JP 2006510967A
Authority
JP
Japan
Prior art keywords
ics
memory
integrated circuit
data
soc
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
JP2004560136A
Other languages
English (en)
Inventor
オマスナ,パドレイグ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2006510967A publication Critical patent/JP2006510967A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

第1メモリ(506)に結合される第1集積回路(502)及び少なくとも、第1集積回路に結合される(516、518、520)第2集積回路(508、512)を有する電子製品(500)。第1集積回路は、第1コード画像などの情報を第1メモリから第1集積回路にロードし、第1コード画像のうちの少なくとも一部分を実行する。そのようなコード実行に応じて、第1集積回路は、第2コード画像などの情報を第1メモリから読み取り、その情報を第2集積回路に送信する。情報を伝送する、第1集積回路と第2集積回路との間のインタフェースは、JTAG回路などのテスト回路(522、528、526、524)インタフェースであり得る。一実施例では、プログラム・コードは単一の外部メモリから第1集積回路を介して1つ又は複数のダウンストリーム集積回路に、直列に接続されるJTAGのデータ・ピン及び制御ピンを介して転送される。

Description

本発明は、一般的に、電子システムに関し、特に、複数の集積回路に情報を効率的にロードする方法及び装置に関し、その修正回路の各々はその意図する機能を行ううえでそのような情報を必要とする。
半導体製造技術、更にはディジタル・システム・アーキテクチャにおける進展によって、今まで可能であったものよりもずっと多くの機能を組み入れた、より大規模の集積回路を設計し、生産することができるようになった。少なくともいくつかの大規模機能ブロックを組み入れて高レベルの機能を生成する特定の集積回路クラスは、システム・オン・チップ(SoC)として呼ばれている。そのようなSoC集積回路は多くの場合、1つ又は複数のプロセッサを、プロセッサによって実行される対象のプログラム・コードを記憶するメモリとともに有し、更に、種々の高レベルの周辺機能を実施する1つ又は複数の回路ブロックを有する。
SoCは通常、種々の別の構成部分を有する電子製品又はシステムにおいて用いられている。通常の配置では、SoCと、SoCの外部にあるROM又はフラッシュなどの非揮発性メモリは印刷回路基板上などの基板上に実装される。この場合、外部非揮発性メモリはSoCに結合されて、1つ又は複数の、その上に集積されるプロセッサによって後に用いられるよう、そのSoCにロードされるプログラム・コードを備える。別の配置では、プログラム・コード用メモリは、SoCに対して完全に外にあってもよく、一部が外にあってもよい。電子製品がより複雑になるにつれ、複数のSoCを単一の電子製品が有するようにする必要性が生じてきた。
電子製品が有するSoCなどの複数の集積回路に情報を効率的にロードする方法及び装置が必要である。
簡潔に述べれば、本発明の実施例は、単一の非揮発性外部メモリからの情報を複数の集積回路にロードするようにしており、複数の集積回路の1つのみが、単一の非揮発性外部メモリへのメモリ・アクセスを行うよう接続される。
本発明の別の特徴では、複数の集積回路のうちの少なくとも1つにロードされる情報は、少なくとも1つの集積回路が有するプロセッサによって実行可能であるプログラム・コードを備える。
本発明の更に別の特徴では、単一の外部メモリから第1集積回路を介して第2集積回路までプログラム・コードを転送するのに用いる通信経路は、第1集積回路と第2集積回路との各々の中にある検査経路を有する。
それ自体が「システム・オン・チップ」(SoC)の種類のものであるその複数の集積回路を有する電子製品は、タイム・トゥー・マーケットの制約によって一層普及してきている。すなわち、特定の機能を備えるシステム・ソルーションは今では、それらの複数のSoCの機能を組み合わせることによって新たなASIC(すなわち、SoC)を生成するよりもむしろ、基板レベルでいくつかのSoCを集積することによってよりすばやく実現し得る。通常、そのようなSoCの各々は、とりわけ、プログラム・コードを実行するプロセッサ、及びそのプロセッサによって実行される対象のプログラムを記憶させるメモリを有する。一部の通常の別の配置では、プロセッサによって実行される対象のプログラム・コードを記憶する外部メモリはSoCに結合される。又、通常は、そのようなSoCの各々は、プログラム・コードがSoCにロードされる別個の外部メモリに結合されなければならない。この通常の配置では、各SoCは別個のメモリに結合され、そのことによって電子製品のコストにかなり付加される。
本発明の種々の実施例は、システム・デバッグ処理に通常用いる各SoC上の既存の通信インタフェースを用いることによって、システムにおける複数SoC毎に単一の外部メモリからプログラム・コードを備える。一部の実施例では、SoCの各々が有するJTAG回路はコードをダウンロードするのに用いる通信インタフェースを備えるのに用いられる。
本明細書及び特許請求の範囲の原文における「one embodiment」、「an embodiment」又は同様な表現に対する言及は、実施例に関して記載した特定の特徴、構造、処理又は特性を本発明の少なくとも一実施例が有するということを意味する。よって、本明細書及び特許請求の範囲記載のそのような句又は表現が出てくることは、必ずしも全てが同じ実施例を表しているわけではない。更に、種々の特定の特徴、構造、動作又は特性を、1つ又は複数の実施例における何れかの適切な方法で組み合わせ得る。
頭字語ASICは特定用途向け集積回路を表す。
頭字語JTAGはジョイント・テスト・アクション・グループを表す。米国電気電子技術者協会(IEEE)はIEEE Standard 1149.1, Test Access Port and Boundary Scan Architectureを承認している。
頭字語LSIは大規模集積を表す。
頭字語NVMは非揮発性メモリを表し、電源を入れることなくデータを保持する何れかの適切なデータ記憶手段を有する。非揮発性メモリの例は、制約ではないが、ROM、PROM、EPROM及びフラッシュを有する。
頭字語SoCは、システム・オン・チップを表す。
頭字語TAPは、テスト・アクセス・ポートを表す。
MIPS EJTAGは、組み込みMIPSアーキテクチャ・プロセッサを有するSoCに変更不要デバッグ機能を備えるハードウェア・デバッグ・ファシリティを表す。同様ではあるが代替のICEと表す配置は、ARMプロセッサ・アーキテクチャに利用可能である。
チップ、半導体デバイス、集積回路、LSIデバイス、モノリシック集積回路、ASIC、SoC、マイクロエレクトニック・デバイス及び同様な表現はこの分野では場合によっては同義に用いられる。マイクロエレクトロニック・デバイスは、その他を包含する最広義の語とみなし得る。このマイクロエレクトロニック・デバイスに関しては、信号はそのようなデバイスと、別の回路構成要素との間で物理的な導電接続を介して結合される。接続点は場合によっては、入力、出力、端子、ライン、ピン、パッド、ポート、インタフェース、又は別の変形及び組み合わせとして表す。これらは、本願の開示の目的では同等な語とみなされる。
ダウンローディングの語は、本明細書及び特許請求の範囲では、外部メモリに直結されているか間接的に接続されている、例えばSoCなどの集積回路に、外部メモリから、制約ではないがプログラム・コードを有する情報を転送することを表すのに用いられる。
プログラミング命令は場合によってはコードとして表す。例えば定数などのデータをプログラミング命令とともに備えて実働プログラムを構築することが多くの場合必要である。同様な表現は、制約ではないが、プログラム・コード、ソフトウェア、ファームウェア、及びマイクロコードを有する。
JTAG準拠デバイスは、TCK、TDI、TDO、及びTMSとして各々表す、クロック用ピン、入力データ用ピン、出力データ用ピン、及びモード選択用ピンを有する。TCKはシステム・クロックとは別個のクロック信号を受信するJTAG準拠デバイスの端子であるテスト・クロック入力を表す。TDIは、データがJTAG準拠デバイスにシフト入力される端子であるテスト・データ入力を表す。TDOは、データがJTAG準拠デバイスからシフト出力される端子であるテスト・データ出力を表す。TMSは、JTAG準拠デバイスが動作する対象が1つ又は複数のテスト・モードのうちのどれかを判定するデータを受信する端子であるテスト・モード選択を表す。JTAG準拠デバイスは、例えば、マイクロプロセッサ、ASIC、又はSoCなどの何れかの種類の集積回路であり得る。JTAG準拠デバイスは、TRST#として表す、ロー・アクティブ・リセット信号を受信するピンを有する場合もある。JTAG準拠デバイスは、境界スキャン・レジスタ及びTAPコントローラを有する。TAPコントローラは、JTAG機能を制御するステート・マシンである。境界スキャン・レジスタはいくつかの直列に続くビットから構成され、これらのビットの各々はJTAG準拠デバイスのディジタル・ピンにも結合される。JTAG準拠デバイスは、データ・レジスタ、命令レジスタ、及びバイパス・レジスタなどの別のレジスタを有する場合もある。
EJTAGを備えているSoCは、別の構成部分と通信するよう、IEEE1149.1JTAG標準に規定されている5ピンのJTAGインタフェースを用いる。EJTAG回路は更に、組み込みプロセッサの特性を直接制御する手段を備える。内部的には、EJTAGを備えているSoCは、とりわけ、SoCが内部に有する、組み込みプロセッサ、組み込みプログラム・メモリ及び別の組み込み機能ブロックによって通常用いられるアドレス・バス及びデータ・バスをアクセスする回路を有する。
本発明の種々の実施例は実働環境におけるSoCの既存デバッグ機能を用いて2つ以上のSoCを有する完全なシステムの全体コストを削減する。通常、各SoCはブート・アップする相当外部メモリを有する。本発明の一部の実施例は、SoCのうちの単一のものにインタフェースされる単一の外部メモリにおいて、マルチMoC電子製品のSoC毎にコード画像を記憶させる。ダウンストリームのSoC毎のコード画像はそれに対して、外部メモリにインタフェースされるSoCと、ダウンストリームSoCの各々との間のインタフェースを介して転送される。
図1を参照すれば、通常の電子製品100を示す。通常の電子製品100は、第1SoC104、第2SoC108、並びに第3SoC112、及び第1非揮発性メモリ106、第2非揮発性メモリ110、並びに第3非揮発性メモリ114をその上に配置させたその印刷回路基板102を有する。SoC104、108、並びに112は通常、少なくとも、プログラミング命令をプロセッサが実行するようにするのに必要な回路と、プログラミング命令を記憶するメモリとを有する集積回路である。非揮発性メモリ106、110、並びに114は各々、第1SoC104、第2SoC108、並びに第3SoC112に、それぞれ結合されているSoC及び非揮発性メモリ各々の間でコードを転送し得るように結合される。図1の通常の手法では、それらの別個の非揮発性メモリをアクセスするよう別個の非揮発性メモリ及び経路を各SoCが必要とするということが分かり得る。これらの構成部分と、それらが必要とする空間及び電力は、このようにして構築される電子製品の製造費用と運転費用とを増加させる。
図2を参照すれば、本発明による電子製品200を示す。電子製品200は基板202を有する。基板202は通常、印刷回路基板であるが、集積回路をサポートする何れかの適切なマテリアル若しくは構造であってもよく、その上に配置し得る別の構成部分であってもよい。図2に示すように、第1非揮発性メモリ206、第1SoC204、第2SoC208、及び第3SoC210が基板202上に配置される。SoC204、208、210は同じハードウェア・ファシリティ又は別のハードウェア・ファシリティを有し得るが、通常の実施例では、これらは種々の機能を実施する種々のハードウェア・ファシリティを有する。制約ではなく例として、第1SoCはケーブル・モデム・インタフェースを実施するハードウェア・ファシリティを有し得る一方、第2SoCはMPEG復号器を実施するハードウェア・ファシリティを有し得る。この説明例では、SoC204、208、210各々は、MIPアーキテクチャ・プロセッサとEJTAGデバッグ・ファシリティとを有する。SoCの組み込みメモリに対するアクセスが備えられている限り、別のデバッグ・ファシリティを用い得るということは本願の開示の恩恵を受けている当業者が分かるものである。
第1非揮発性メモリ206及び第1SoC204は、SoC204が第1非揮発性メモリ206の内容をアクセスする、すなわち読み取ることが可能であるように接続される。このことを説明する別の方法としては、第1SoC204が外部メモリ(すなわち、非揮発性メモリ206)に接続される外部メモリ・インタフェースを有するということを述べることがある。SoC204はSoC208に結合されて、データをSoC204からSoC208に通信する。同様に、SoC208はSoC210に結合されて、データをSoC208からSoC210に通信する。そのような構成によって、非揮発性メモリ206から外部メモリ・インタフェースを介してSoC204に対して、外部メモリ・インタフェースを介してSoC204を通じてSoC208に対して、かつ外部メモリ・インタフェースを介して、SoC204を通じ、SoC208を通じてSoC210に対して、例えばコード画像などのデータが転送されることを可能にする。
図3を参照すれば、本発明による電子製品300を示す。図3の電子製品300は図2に示すものと同様であるが、特に、コード画像を単一の外部メモリから複数の集積回路の各々に転送するJTAGインタフェースによって実施する信号経路を示し、複数の集積回路のうちの1つのみが、外部メモリを読み取るよう結合される。第1非揮発性メモリ206、第1SoC204、第2SoC208、及び第3SoC210は基板302上に配置される。JTAGのクロック信号、リセット信号及びモード選択信号(TCLK、TRST#、及びTMS)は第1SoC204、第2SoC208、及び第3SoC210の各々に同様に結合される。これらの信号は、本発明のコード・ダウンロード処理中に第1SoC204によって駆動され、これらの信号は通常、JTAG回路を通常用いる場合、外部の信号源から駆動されることになる。第1非揮発性メモリ206及び第1SoC204は、SoC204が第1非揮発性メモリ206の内容をアクセスする、すなわち読み取ることが可能であるように接続される。SoC204はSoC208に結合されてデータをSoC204からSoC208に通信する。特に、SoC204の出力端子304はSoC208の入力端子306に導電経路308によって結合される。この例示的実施例では、出力端子304はJTAGテスト・データ出力(TDO)ピンであり、入力端子306はJTAGテスト・データ入力(TDI)ピンである。同様に、SoC208はSoC210に結合されてデータをSoC208からSoC210に通信する。特に、SoC208の出力端子310はSoC210の入力端子312に、導電経路によって結合される。この例示的実施例では、出力端子304はJTAGテスト・データ出力(TDO)ピンであり、入力端子306はJTAGテスト・データ入力(TDI)ピンである。そのような構成によって、非揮発性メモリ206から外部メモリ・インタフェースを介してSoC204に対して、外部メモリ・インタフェースを介してSoC204を通じてSoC208に対して、かつ外部メモリ・インタフェースを介して、SoC204を通じ、SoC208を通じてSoC210に対して、例えばコード画像などのデータが転送されることを可能にする。SoC208、210の内部の回路は、例えばそれらの内部メモリに対する、プログラム・コードのロードを制御する。
図3に示す例示的実施例をなお参照すれば、任意的には、戻り経路を作り出すよう、SoC210のテスト・データ出力ピンとSoC204のテスト・データ入力ピンとの間の接続(図示せず)があり得る。そのような接続は、種々のダウンストリームSoCのステータスを判定することをSoC204が要求される場合に備える。
図4を参照すれば、EJTAG機能を有するJTAG準拠ICの概略レベルの略構成図を示す。特に、CPU402、デバッグ・レジスタ404、少なくともプログラム・コードを記憶するシステム・メモリ406、周辺機能ブロック408、及びEJTAGブロック410を有するSoC400を示す。EJTAGブロック410は、TAPコントローラ412、命令、データ、制御、及び境界スキャン・レジスタ414、直接メモリ・アクセス(DMA)モジュール416、及びプロセッサ・アクセス・モジュール418を有する。SoC400は更に、CPU402、デバッグ・レジスタ404、システム・メモリ406、DMAモジュール416、及びプロセッサ・アクセス・モジュール418が結合されるアドレス/データ・バス420を有する。なお、一部の実施例では、システム・メモリはチップの外にあり得る;DMAモジュールは必ずしも、全ての実施例が有する訳でない;更に、一部の実施例はEJTAG回路とプロセッサとの間の直接制御接続及び/又はステータス接続を有し得る。TAPコントローラ412は、JTAGの、クロック信号、リセット信号、モード選択信号、及びデータ入力信号を受信する入力端子を有し、更に、データ出力信号を送信する出力端子を有する。そのような配置はシステム・メモリとの間で情報を転送する機構を備える。
図5を参照すれば、単一の非揮発性メモリと、そのSoC各々がそれ自身のプラーベート外部メモリを有するそのいくつかのSoCとを有する電子製品500の略構成図を示す。この例示的実施例では、EJTAGマスタ・デバイスとして動作することができるSoC502は非揮発性メモリ504に結合される。SoC502は更に、JTAGコンプライアンス・イネーブル信号を受信するノード522に結合される入力端子を有する。JTAGコンプライアンス・イネーブル信号は、JTAGマスタとJTAGスレーブとの間でSoC502の動作モードを変更することに関して用いられる。NVM504は電子製品500における複数のSoCにロードされる対象のプログラム・コード及び/又は別のデータを有し得る。外部メモリ506はSoC502に結合される。外部メモリ506は、とりわけ、NVM504からダウンロードされるプログラム・コード及びデータを記憶させることができる。同様な方法で、図5に示すように、SoC508、512は各々、それら自身のプラーベート外部メモリ510、514に結合される。SoC508、512はEJTAGスレーブ・デバイスとして動作することができる。更に、EJTAGマスタ・デバイスからEJTAGスレーブ・デバイスに制御信号を備える通信経路516が図示するようにSoC502、SoC508、及びSoC512間で結合される。なお、(例えば、クロック、リセット、モードなどの)これらの制御信号は、電子製品500がテスト・モードにおいて動作するよう適切に構成される場合にポート526からのテスタなどの外部ソースによって駆動し得る。通信経路516は通常、例えば、クロック信号、リセット信号及びモード信号などの信号の通信に備える。図5に示すのは更に、SoC508のテスト・データ入力端子にSoC502のテスト・データ出力端子を接続する経路518と、SoC512のテスト・データ入力端子にSoC508のテスト・データ出力端子を接続する経路520である。なお、SoC512のテスト・データ出力はポート524で観察し得るものであり、SoC502のテスト・データ入力をポート528から駆動し得る。更に、SoC512のテスト・データ出力をSoC502のテスト・データ入力に接続する戻りループを作り出し得る。
動作上、例示的電子製品500は、プログラム・コード及び/又はデータなどの情報をNVM504からプライベート外部メモリ506、510及び512に対してSoC502、SoC508、及びSoC512が有するJTAG直列データ経路を利用するEJTAGマスタ・デバイスの制御下で転送し得る。なお、種々の実施例では、SoC502、SoC508、及びSoC512は各々、それら自体の中に特定量のメモリを組み入れさせている場合があり、一部の実施例では、これらの内部メモリはプログラム・コード及び/又はデータを記憶している場合もある。
図6を参照すれば、単一の非揮発性メモリ及びいくつかのSoCを有する電子製品600の略構成図を示し、各SoCはそれ自身のメモリ・バスに対する接続を有する。この例示的実施例は、非揮発性メモリがメモリ・バスから取り除かれ、それによってバス・ローディングを削減し、メモリ・バスに結合されるメモリ・デバイスの動作速度の増加を可能にする、本発明の効果を示す。そのような配置の別の効果は、SoCが(メモリ・アクセス用の異なる制御信号仕様を有し得る)RAM及びNVMよりも、RAMにインタフェースするだけでよいため、SoCのメモリ・コントローラ・ロジックが単純化されるという点である。特に、SoC602は、EJTAGマスタ・デバイスとして動作することができるNVM604に結合される。この例示的実施例では、NVM604は、その中にプロセッサ又はCPUが一体化されていなくてもEJTAGマスタ・デバイスとなる対象の回路を有するフラッシュ・メモリである。SoC602は、SoC612及び614とともに各々がそれぞれメモリ・バス606a、606b、606cに結合される。メモリ・デバイス608a、610a、608b、610b、608c及び610cはメモリ・バス606a、606b、606cに各々結合されて示している。なお、市場で入手可能なメモリ・アーキテクチャとメモリ・アクセス・プロトコルは各種存在する一方、制約ではないが、スタティック・ランダム・アクセス・メモリ又はダイナミック・ランダム・アクセス・メモリなどの何れかの適切なメモリであり得る。更に、2つのメモリ・デバイスがメモリ・バスに結合されて示しているが、本発明は、何れかの特定数のそのようなデバイスに限定されるものでない。
なお図6を参照すれば、通信経路616は、EJTAGマスタNVM604とSoC602、612、及び614との間で結合されて示されている。通信経路616は、制約ではないが、クロック信号、リセット信号及びモード信号などの制御信号を備えるのに適している。通信経路618はSoC602のテスト・データ出力端子をSoC612のテスト・データ入力端子に結合する。通信経路620はSoC612のテスト・データ出力端子をSoC614のテスト・データ入力端子に結合する。
なお、本発明は代替的には、各SoCが、プライベート・メモリ・バスではなく共通メモリ・バスを介して揮発性メモリをアクセスする以外は、図6に示すものと同様な構成において実施し得る。
図7を参照すれば、本発明による例示的処理を示す。第1処理702では、第1プログラム・コードは第1メモリから第1集積回路に転送される。第1メモリは通常、単一のチップであり、通常、例えば、読み取り専用メモリ(ROM)又はフラッシュなどの非揮発性メモリ・チップでもある。本発明によれば、第1メモリは単一のパッケージ又はユニットとしてアドレス指定可能な複数のスタック・メモリ・チップとして実施される場合もある。第1プログラム・コードは通常、第1集積回路中のプロセッサによって実行可能な複数の命令を有する。第1プログラム・コードは、第1集積回路上のプロセッサによって用いることが可能なデータ、すなわち実行不能情報を有する場合もある。第1集積回路上のプロセッサは何れかの適切なアーキテクチャのものであり得る。本発明による、SoCにおいて用い得るプロセッサ・アーキテクチャの一例はMIPSアーキテクチャである。しかし、本発明は何れかの特定のプロセッサ・アーキテクチャに限定されるものでない。第1集積回路は、何れかの任意の機能を実施する場合があり、SoCとして呼ばれる集積回路クラスのものである場合があり、JTAGテスト回路(例えば、境界スキャン・レジスタ、TAPコントローラ、モード選択レジスタ、バイパス・レジスタなど)を有するSoCであり得る。第1ICは、プログラム・コードを記憶し得るメモリを有する(が、上記のように、別の実施例はこのメモリがICの外部にあるようにしている)。第1集積回路は通常、メモリとの間で情報を転送することを可能にするEJTAG回路によって備えられるもののような経路を有する。第1プログラム・コードは第1ICに記憶される(704)。図7に示すように、第2プログラム・コードは第1メモリから第1ICに転送され(706)、第2プログラム・コードは第1ICから、第1ICに結合される第2ICに送信される(708)。第2ICは、何れかの任意の機能を実施する場合があり、SoCとして呼ばれる集積回路クラスのものである場合があり、通信するJTAGテスト回路インタフェースを有するSoCであり得る。第2プログラム・コードは第2ICに記憶される(710)。なお、1つ又は複数の別の集積回路が第1メモリからコードを第1集積回路と、本発明による何れかの中間的に結合される集積回路とを介して受信する場合がある。第1ICから第2ICまでの第2プログラム・コードの伝送は何れかの適切なインタフェース配置によって実現し得る。本発明の一部の実施例では、インタフェース配置は、第1集積回路と第2集積回路が有するJTAGテスト回路が備えるものである。なお、データの転送は、必須ではないが、パイプライン方法で行われる場合がある、すなわち、転送される対象のデータの一部分が移動され、更に、要求データ全てが転送されるまで当該処理が繰り返される。
図8を参照すれば、本発明により別の例示的処理を表す。第1処理802では、第1プログラム・コードが第1メモリから第1ICに転送される。第1メモリは通常、単一チップの非揮発性メモリICである。第1プログラム・コードは通常、第1IC中に組み入れられるプロセッサによって実行可能な複数の命令を有する。第1プログラム・コードはデータを有する場合もある。第1ICは、何れかの任意の機能を実施する場合があり、SoCとして呼ばれる集積回路クラスのものである場合があり、JTAGテスト回路を有するSoCであり得る。第1ICは、プログラム・コードを記憶し得るメモリを有する。第1プログラム・コードは第1ICに記憶される(804)。第1ICは更に、第1プログラム・コードの少なくとも一部分を実行する(806)。第1ICにおける第1プログラム・コードの少なくとも一部分の実行に応じて、第2プログラム・コードは第1メモリから第1ICに転送される(808)。第1プログラム・コードの少なくとも一部分の実行に対する別の応答として、第2プログラム・コードが、第1ICから、第1ICに結合される第2ICに送信される(810)。第2ICは、何れかの任意の機能を実施する場合があり、SoCとして呼ばれている集積回路クラスのものである場合があり、JTAGテスト回路を有するSoCであり得る。本発明の例示的実施例では、第2プログラム・コードは第1ICからそのJTAGデータ出力ピンを介して直列にシフト出力され、第2ICのJTAGデータ入力ピンを介して第2ICに直列にシフト入力される。第2プログラム・コードは、第2IC中に有するプロセッサが実行し得るように第2ICに記憶される(812)。なお、1つ又は複数の別の集積回路がコードを第1メモリから第1ICと、本発明による何れかの中間的に結合される集積回路とを介して受信し得る。
1つの例示的実施例では、第1ICはプログラム・コードを外部メモリからロードし、更に、(直接又は間接に)結合される1つ又は複数のダウンストリーム集積回路にコードをダウンロードし始めることが可能な状態にブート・アップする。そのような実施例では、第1ICは第2ICのメモリ・コントローラを初期化し、コードを第2ICのメモリにダウンロードし、第2ICのメモリから動作する第2ICの組み込みプロセッサを設定する場合がある。同様に、第1ICは複数のダウンストリームICの各々にコードをダウンロードし、それらの各々を開始させる場合がある。
別の例示的実施例では、第1ICは、外部メモリからプログラム・コードをロードするが、コードをダウンストリーム集積回路にダウンロードする処理を始める前に、その完全な機能モードまでではなく限定的な範囲までしかブート・アップしない。1つ又は複数のダウンストリーム・デバイスがプログラム・コードによってロードされた後、第1集積回路はそのブート・アップ処理に戻り得る。並列処理を開始することによって、合計システム・ブート・アップ時間を削減し得るが、それは、第1ICがそのブート・アップ処理を完了する前にダウンストリーム・デバイスがその各々のブート・アップ処理を開始したからである。
更に別の実施例では、コードを2つ以上のダウンストリーム・デバイスに同時にダウンロードし得る。
本発明の種々の例示的実施例を、プロセッサを有する複数の集積回路を有する電子製品と、プロセッサによって実行するよう、プログラム・コードをそれらの集積回路にダウンロードする方法とによって記載したが、本発明は更に広く適用可能である。例えば、実行に適したプログラム・コードではなく、例示的な電子製品における1つ又は複数のICはデータ又は制御情報を受信し得る。上記のように、本発明による、単一メモリから情報を受信するダウンストリーム集積回路は、メモリと、情報を受信するICとの中間に配置される別のICとインタフェースする。更に、JTAGベースのインタフェースは本発明の例示的実施例において記載したが、電子製品が有する、単一の外部メモリと種々の集積回路との間のデータ転送処理に何れかの適切なインタフェースを用い得る。
なお、本発明の種々の例示的実施例に表す単一の外部メモリ・チップは、更に、何れかの任意の機能を実施する回路をその上に有するようにしている。
本発明の種々の実施例は、例えばJTAG準拠のSoCなどの複数の個々の集積回路の既存のハードウェア機能を、新規性を有する方法で組み合わせて、電子製品のサイズ、コスト及び電力消費を削減するシステム及び方法を備える。
一部の実施例では、個々の集積回路のJTAGデバッグ機能を、システムにおけるIC毎のコード画像を、単一のフラッシュ・メモリに記憶させ、EJTAGマスタ・イネーブル・デバイスに添付し、EJTAGマスタ・デバイスがブート・アップされると各標的デバイスにダウンロードすることが可能であるように実働環境で組み合わせる。
なお、本発明は上記実施例に限定されず、本特許請求の範囲記載の範囲内に収まる実施例全てを包含することとする。
プログラム・コードがSoCに転送される別個の外部非揮発性メモリ・チップにそのSoC各々が結合されるその複数のSoCを有する通常の電子製品の略構成図である。 本発明による、単一の外部メモリ・チップがプログラム・コードなどの情報を複数のSoCに供給する電子製品の概略構成図である。 本発明による、単一の外部メモリ・チップがプログラム・コードなどの情報を複数のSoCにJTAG機構によって供給する電子製品の略構成図である。 一般的にJTAG準拠集積回路を示し、特にEJTAG拡張を示す、本発明の実施例において用いるのに適した集積回路の略構成図である。 本発明による、単一の外部非揮発性メモリ・チップがプログラム・コードなどの情報を、その各々がプライベート外部メモリも有するその複数のSoCにJTAG機構によって供給する電子製品の略構成図である。 本発明による、単一の外部非揮発性メモリ・チップがプログラム・コードなどの情報を、その各々がそれ自身の外部メモリ・バスに結合されるその複数のSoCにJTAG機構によって供給する電子製品の略構成図である。 本発明による例示的処理の流れ図である。 本発明による別の例示的処理の流れ図である。

Claims (18)

  1. 基板上に配置される第1メモリからプログラミング命令を、該基板上に配置される複数の集積回路(IC)に転送する方法であって:該複数のICの第1のものが該第1メモリをアクセスし、第1プログラミング命令群を取り出し、かつ該複数のICの該第1のものの中に該第1プログラミング命令群を記憶させる工程;及び該複数のICの該第1のものが該第1メモリ集積回路をアクセスし、第2プログラミング命令群を取り出し、かつ該第2プログラミング命令群を該複数のICの第2のものに送信する工程を備えることを特徴とする方法。
  2. 請求項1記載の方法であって、該複数のICの該第1のもの及び該第2のもの各々が、それぞれ、該第1プログラミング命令群及び該第2プログラミング命令群を実行することができるプロセッサを備えることを特徴とする方法。
  3. 請求項2記載の方法であって、更に、該複数のICの該第1のものが該第1プログラミング命令群のうちの少なくとも一部分を実行する工程を備えることを特徴とする方法。
  4. 請求項3記載の方法であって、該第1プログラミング命令群のうちの少なくとも一部分を実行する工程が、該第2プログラミング命令群を該複数のICの第2のものに送信する前に行われることを特徴とする方法。
  5. 請求項2記載の方法であって、更に、該複数のICの該第1のものが、該第1メモリをアクセスし、第1データ群を取り出し、該第1データ群を該複数のICの該第1のものの中に記憶させる工程;及び該複数のICの該第1のものが、該第1メモリをアクセスし、第2データ群を取り出し、該第2データ群を該複数のICの第2のものに送信する工程を備えることを特徴とする方法。
  6. 請求項3記載の方法であって、該基板が印刷回路基板を備えることを特徴とする方法。
  7. 請求項3記載の方法であって、送信する工程が、該第1集積回路からデータを直列にシフト出力し、同時にデータを該第2集積回路にシフト入力する工程を備えることを特徴とする方法。
  8. 請求項7記載の方法であって、更に、制御情報を該第1集積回路から該第2集積回路に、該第2プログラミング命令群を該複数のICの第2のものに送信する前に送信する工程を備えることを特徴とする方法。
  9. 請求項8記載の方法であって、該制御情報は、該複数のICの該第2のものがプログラミング命令を後に送信したものを受信するよう命令することを特徴とする方法。
  10. 単一の非揮発性メモリからコードを複数の集積回路(IC)の各々にダウンロードする方法であって、印刷回路基板上に配置される該複数のICを有するシステムにおいて、各ICが少なくともプログラミング命令を記憶させるメモリを備え、各々は更に、該メモリに結合されて、該メモリに記憶されるプログラミング命令を実行するプロセッサを備え;該システムは更に、該印刷回路基板上に配置され、メモリをアクセスするよう該複数のICの第1のもののみに結合される該単一の非揮発性メモリを有し:該複数のICの第1のもので、第1データ群を該単一の非揮発性メモリから受信する工程;該第1データ群を該複数のICの該第1のものの該メモリに記憶させる工程;該複数のICの該第1のもので、該単一の非揮発性メモリからの第2データ群を受信する工程;該第2データ群を該複数のICの該第1のものから該複数のICの該第2のものに送信する工程;及び該第2データ群を該複数のICの該第2のものの該メモリに記憶させる工程を備え;該第1データ群及び該第2データ群がプログラム・コードを備えることを特徴とする方法。
  11. 請求項10記載の方法であって、更に:該第1のICにおいて、該第1データ群における該プログラム・コードの少なくとも一部分を実行する工程;該複数のICの該第1のもので、第3データ群を該単一の非揮発性メモリから受信する工程;該第3データ群を該複数のICの該第1のものから該複数のICの第3のものに送信する工程;及び該第3データ群を該複数のICの該第3のものの該メモリに記憶させる工程;を備えることを特徴とする方法。
  12. 請求項10記載の方法であって、該第2データ群を該複数のICの該第1のものから該複数のICの該第2のものに送信する工程が、データを、該複数のICの該第1のものから出力端子を介して直列にシフト出力する工程を備え;該出力端子が該複数のICの該第2のものの入力端子に結合され、該入力端子は、直列データを受信するよう適合される、該複数のICの該第2のものの中の回路に結合されることを特徴とする方法。
  13. 請求項12記載の方法であって、更に、該第2データ群を送信する前に、制御情報を該複数のICの該第1のものから該複数のICの該第2のものに制御情報を送信する工程を備えることを特徴とする方法。
  14. 請求項13記載の方法であって、制御情報がJTAG通信標準によって送信されることを特徴とする方法。
  15. 電子製品であって:第1プロセッサと、第1内部メモリと、第1直列通信インタフェースと、外部メモリ・インタフェースとを有する第1集積回路;該外部メモリ・インタフェースに結合される外部メモリ;第2プロセッサと、第2内部メモリと、第2直列通信インタフェースとを有する第2集積回路を備え、該第2直列通信インタフェースは該第1直列通信インタフェースに結合され;該第1集積回路、該外部メモリ、及び該第2集積回路が基板上に配置されることを特徴とする電子製品。
  16. 請求項15記載の電子製品であって、該第1プロセッサが該第1内部メモリに結合され、該第1内部メモリは第1コード画像を受信するよう適合され、該第2プロセッサは該第2内部メモリに結合され、該第2内部メモリは第2コード画像を受信するよう適合され、該
    外部メモリは、該第1コード画像と該第2コード画像とによってコード化される非揮発性メモリであることを特徴とする電子製品。
  17. 請求項16記載の電子製品であって、該第1集積回路は、少なくとも第1機能を行う第1ハードウェア・ファシリティを有し、該第2集積回路は、少なくとも第2機能を行う第2ハードウェア・ファシリティを有し、該第1機能と該第2機能は異なることを特徴とする電子製品。
  18. 請求項17記載の電子製品であって、更に、第3プロセッサ、第3内部メモリ、及び第3直列通信インタフェースを有する第3集積回路を備え、該第3直列通信インタフェースは該第2直列インタフェースに結合され、該第3プロセッサは該第3内部メモリに結合され、該第3内部メモリは第3コード画像を受信するよう適合され、該外部メモリは更に、該第3コード画像によってコード化されることを特徴とする電子製品。
JP2004560136A 2002-12-18 2003-12-17 Jtag機能を備えている複数の集積回路を有するシステムにおけるコードのダウンロード Pending JP2006510967A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43482202P 2002-12-18 2002-12-18
PCT/IB2003/006048 WO2004055670A2 (en) 2002-12-18 2003-12-17 Code download in a system having multiple integrated circuits with jtag capability

Publications (1)

Publication Number Publication Date
JP2006510967A true JP2006510967A (ja) 2006-03-30

Family

ID=32595308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004560136A Pending JP2006510967A (ja) 2002-12-18 2003-12-17 Jtag機能を備えている複数の集積回路を有するシステムにおけるコードのダウンロード

Country Status (7)

Country Link
US (1) US20060149958A1 (ja)
EP (1) EP1576470A2 (ja)
JP (1) JP2006510967A (ja)
KR (1) KR20050088386A (ja)
CN (1) CN100468331C (ja)
AU (1) AU2003288600A1 (ja)
WO (1) WO2004055670A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023041622A (ja) * 2021-09-13 2023-03-24 訊牧信息科技(上海)有限公司 マルチプロセッサシステム及びその起動方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4311287B2 (ja) * 2004-06-25 2009-08-12 ソニー株式会社 ブートシステム及びブート方法及びこのブート方法を用いたデータ処理装置
US9652637B2 (en) * 2005-05-23 2017-05-16 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for allowing no code download in a code download scheme
US9904809B2 (en) 2006-02-27 2018-02-27 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for multi-level security initialization and configuration
US9177176B2 (en) 2006-02-27 2015-11-03 Broadcom Corporation Method and system for secure system-on-a-chip architecture for multimedia data processing
US9489318B2 (en) 2006-06-19 2016-11-08 Broadcom Corporation Method and system for accessing protected memory
CN101141317B (zh) * 2007-04-12 2011-11-23 中兴通讯股份有限公司 用于多jtag链的自动测试装置及方法
US7657805B2 (en) 2007-07-02 2010-02-02 Sun Microsystems, Inc. Integrated circuit with blocking pin to coordinate entry into test mode
US7870455B2 (en) * 2007-12-12 2011-01-11 Infineon Technologies Ag System-on-chip with master/slave debug interface
CN101510179B (zh) * 2009-03-17 2013-01-16 中兴通讯股份有限公司 信号传输装置及方法
US20120059961A1 (en) * 2009-05-15 2012-03-08 Thomson Licensing A Corporation System and method for sharing memory
CN101930373B (zh) * 2009-06-19 2013-08-07 中兴通讯股份有限公司 一种片上系统启动的方法和装置
CN102280141B (zh) * 2010-06-10 2014-12-17 大唐移动通信设备有限公司 一种闪速存储器芯片编程方法及装置
CN102214132B (zh) * 2011-05-16 2014-07-02 曙光信息产业股份有限公司 一种调试龙芯cpu和南北桥芯片的方法和装置
CN103399771A (zh) * 2013-08-12 2013-11-20 中国航空无线电电子研究所 基于串行高速接口总线的多dsp自举加载系统及其方法
WO2020171800A1 (en) * 2019-02-19 2020-08-27 Mentor Graphics Corporation Radio equipment test device
US11443821B2 (en) * 2019-05-31 2022-09-13 Micron Technology, Inc. Memory device architecture coupled to a System-on-Chip
US11783043B2 (en) * 2021-11-23 2023-10-10 ZT Group Int'l, Inc. Methods for authentication of firmware images in embedded systems

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61288262A (ja) * 1985-06-17 1986-12-18 Hitachi Ltd マルチプロセツサシステム
JPH04315253A (ja) * 1991-04-15 1992-11-06 Canon Inc 電子機器
JP2002169787A (ja) * 2000-11-30 2002-06-14 Matsushita Electric Ind Co Ltd 複数のプロセッサ部を含む半導体装置
JP2002208886A (ja) * 2001-01-10 2002-07-26 Kenwood Corp 携帯端末装置、記憶データ更新方法及びファームウェア更新方法
JP2002278783A (ja) * 2001-03-19 2002-09-27 Funai Electric Co Ltd ファームウェア書き換えシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0780017A1 (en) * 1995-07-10 1997-06-25 Xilinx, Inc. System comprising field programmable gate array and intelligent memory
US6204687B1 (en) * 1999-08-13 2001-03-20 Xilinx, Inc. Method and structure for configuring FPGAS
JP2001084536A (ja) * 1999-09-17 2001-03-30 Alps Electric Co Ltd 薄膜磁気ヘッド
US6484273B1 (en) * 2000-11-29 2002-11-19 Lsi Logic Corporation Integrated EJTAG external bus interface

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61288262A (ja) * 1985-06-17 1986-12-18 Hitachi Ltd マルチプロセツサシステム
JPH04315253A (ja) * 1991-04-15 1992-11-06 Canon Inc 電子機器
JP2002169787A (ja) * 2000-11-30 2002-06-14 Matsushita Electric Ind Co Ltd 複数のプロセッサ部を含む半導体装置
JP2002208886A (ja) * 2001-01-10 2002-07-26 Kenwood Corp 携帯端末装置、記憶データ更新方法及びファームウェア更新方法
JP2002278783A (ja) * 2001-03-19 2002-09-27 Funai Electric Co Ltd ファームウェア書き換えシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023041622A (ja) * 2021-09-13 2023-03-24 訊牧信息科技(上海)有限公司 マルチプロセッサシステム及びその起動方法

Also Published As

Publication number Publication date
AU2003288600A1 (en) 2004-07-09
WO2004055670A3 (en) 2004-12-29
CN1729452A (zh) 2006-02-01
CN100468331C (zh) 2009-03-11
US20060149958A1 (en) 2006-07-06
KR20050088386A (ko) 2005-09-05
AU2003288600A8 (en) 2004-07-09
EP1576470A2 (en) 2005-09-21
WO2004055670A2 (en) 2004-07-01

Similar Documents

Publication Publication Date Title
JP2006510967A (ja) Jtag機能を備えている複数の集積回路を有するシステムにおけるコードのダウンロード
EP0511752B1 (en) High-speed integrated circuit testing with JTAG
US8170828B2 (en) Test method using memory programmed with tests and protocol to communicate between device under test and tester
US9152520B2 (en) Programmable interface-based validation and debug
US6523136B1 (en) Semiconductor integrated circuit device with processor
JP2009533691A (ja) 試験アクセス・ポート・スイッチ
WO2020077107A1 (en) Test systems for executing self-testing in deployed automotive platforms
US7743278B2 (en) Test access control for plural processors of an integrated circuit
US7451367B2 (en) Accessing sequential data in microcontrollers
US6349397B1 (en) Signal processing apparatus having non-volatile memory and programming method of the non-volatile memory
US6427216B1 (en) Integrated circuit testing using a high speed data interface bus
US11830563B2 (en) JTAG based architecture allowing multi-core operation
EP0243113B1 (en) Data processor
US7650542B2 (en) Method and system of using a single EJTAG interface for multiple tap controllers
US7447962B2 (en) JTAG interface using existing I/O bus
JP4232621B2 (ja) 半導体集積回路装置
US5654972A (en) Processor having test circuit
US8754668B2 (en) Integrated circuit and a method for testing a multi-tap integrated circuit
US6530050B1 (en) Initializing and saving peripheral device configuration states of a microcontroller using a utility program
US11408935B2 (en) JTAG registers with concurrent inputs
US6550031B1 (en) Transparently gathering a chips multiple internal states via scan path and a trigger
CN109425823B (zh) Jtag接口中的顺序测试访问端口选择
JP4600134B2 (ja) マルチプロセッサシステム
JP2006146757A (ja) デバッグ用レジスタおよびデータ転送方法
US11984178B2 (en) Methods and devices for flexible RAM loading

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061214

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070313

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100216

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100706