JP2007148754A - 半導体集積回路装置 - Google Patents

半導体集積回路装置 Download PDF

Info

Publication number
JP2007148754A
JP2007148754A JP2005341958A JP2005341958A JP2007148754A JP 2007148754 A JP2007148754 A JP 2007148754A JP 2005341958 A JP2005341958 A JP 2005341958A JP 2005341958 A JP2005341958 A JP 2005341958A JP 2007148754 A JP2007148754 A JP 2007148754A
Authority
JP
Japan
Prior art keywords
terminal
selection
tap
register
semiconductor integrated
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.)
Granted
Application number
JP2005341958A
Other languages
English (en)
Other versions
JP4450787B2 (ja
Inventor
Yuuri Ikeda
有里 池田
Giichi Aoto
義一 青砥
Jun Matsushima
潤 松嶋
Hiroyuki Sasaki
宏幸 佐々木
Tomoyoshi Ujii
呂圭 氏井
Makoto Saen
真 佐圓
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2005341958A priority Critical patent/JP4450787B2/ja
Priority to US11/600,208 priority patent/US7743278B2/en
Publication of JP2007148754A publication Critical patent/JP2007148754A/ja
Application granted granted Critical
Publication of JP4450787B2 publication Critical patent/JP4450787B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318572Input/Output interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】複数のマイクロプロセッサを含む半導体集積回路装置におけるデバッグの容易化を図る。
【解決手段】複数のプロセッサと、対応するプロセッサのデバッグを可能とする複数のデバッグインタフェース(54−1〜54−n)と、上記複数のデバッグインタフェース間で共有される複数の共有端子(51)と、上記複数のデバッグインタフェースを選択的に上記共有端子に結合可能な選択回路(52)と、所定のインストラクションに応じて、上記選択回路での選択動作を制御可能なコントローラ(53)とを設ける。上記JTAG仕様の端子群におけるTRST端子に、上記複数のデバッグインタフェースを選択的に結合可能な第1選択部(521)と、上記TRST端子以外の端子に、上記複数のデバッグインタフェースを選択的に結合可能な第2選択部(522)とを設け、プロセッサの数が増えた場合でも、それに柔軟に対応可能にする。
【選択図】図1

Description

本発明は、複数のマイクロプロセッサを含む半導体集積回路装置に関し、特にそれにおけるデバッグの容易化を図るための技術に関する。
複数のマイクロプロセッサが1つの半導体基板に形成された半導体集積回路装置は、近年注目される技術となってきている。
複数のマイクロプロセッサを含む半導体集積回路装置のデバッグ方式として、例えば搭載されているプロセッサの個数と同数のデバッグ用端子群を半導体集積回路装置に設け、各端子群にデバッグ装置をそれぞれ接続することにより、各デバッグ装置を用いて各プロセッサのデバッグを個別的に行う第1技術が知られている。また、一組のデバッグ用端子群を半導体集積回路装置に設け、各プロセッサに接続されている各TAPコントローラをシリアルに接続することにより、1台のデバッグ装置を用いて全てのプロセッサに関するデバッグを行う第2技術とが知られている(例えば特許文献1の第2段落及び第3段落参照)。
さらに、複数のプロセッサと、この複数のプロセッサのデバッグを実行するデバッグ実行部と、このデバッグ実行部を制御するTAP(Test Access Port)と、外部のデバッグ装置に接続される一組の端子群と、前記複数のプロセッサの中から、デバックを実行すべき少なくとも一つ又は全部のプロセッサを選択する選択回路とを設け、デバックを実行すべきプロセッサの選択を可能にした第3技術が知られている(例えば特許文献1の第9段落以降を参照)。
特開2004−164367号公報
上記第1技術によれば、搭載されているプロセッサの個数が増えると、それに応じてデバッグ用端子群及びデバッグ装置を追加する必要があるため、コストの上昇を招く。また、上記第2技術によれば、常に全てのTAPコントローラを経由して全てのプロセッサに関するデバッグが行われるため、デバッグの所要時間が長くなる。これに対して上記第3技術によれば、デバッグ対象とされるプロセッサの切り換えが行われるため、上記第1技術や上記第2技術での不都合は生じない。
しかしながら、上記第3技術について本願発明者が検討したところ、デバッグ対象とされるCPUの数が増えた場合について十分に考慮されているとはいえないことが見いだされた。例えばマイクロコンピュータの仕様の変更などにより、搭載されるCPUの数が増えた場合に、それに対応して選択回路の論理構成が複雑になることが考えられ、CPUの増大に柔軟に対応することが困難とされる。
本発明の目的は、複数のマイクロプロセッサを含む半導体集積回路装置におけるデバッグの容易化を図るために技術を提供することにある。
また、本発明の別の目的は、1台のエミュレータによってデバッグ可能な半導体集積回路装置において、デバッグ対象とされるCPUの増大に柔軟に対応可能な技術を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、複数のプロセッサと、上記プロセッサに対応して配置され、対応する上記プロセッサのデバッグを可能とする複数のデバッグインタフェースと、上記複数のデバッグインタフェース間で共有される複数の共有端子と、上記複数のデバッグインタフェースを選択的に上記共有端子に結合可能な選択回路と、所定のインストラクションに応じて、上記選択回路での選択動作を制御可能なコントローラとを含んで半導体集積回路装置を構成する。このとき、上記複数の共有端子はテスト用端子群とされ、上記選択回路は、上記JTAG仕様の端子群における所定端子に、上記複数のデバッグインタフェースを選択的に結合可能な第1選択部と、上記テスト用の端子群における所定端子以外の端子に、上記複数のデバッグインタフェースを選択的に結合可能な第2選択部とを設ける。
上記の手段によれば、上記デバッグインタフェースとしては、既存のものを利用することができる。しかも、追加インストラクションを使用することにより、上記デバッグインタフェースの選択が可能とされ、このことが、プロセッサの数が増えた場合でも、それに柔軟に対応することができるという、本願発明の目的を達成する。また、それによって、複数のマイクロプロセッサを1つの半導体基板内に内蔵する半導体集積回路装置におけるデバッグの容易化を達成する。
上記コントローラは、上記テスト用端子群における所定端子の信号がアサートされることによって、上記テスト用端子群における所定以外の端子と、上記デバッグインタフェースとの結合状態を初期状態に戻すように構成することができる。
上記コントローラは、上記テスト用の端子群における所定端子に、上記複数のデバッグインタフェースを選択的に結合させるための情報を保持可能な第1選択レジスタと、上記テスト用の端子群における所定端子以外の端子に、上記複数のデバッグインタフェースを選択的に結合させるための情報を保持可能な第2選択レジスタとを含んで構成することができる。このとき、上記第1選択部は、上記第1選択レジスタの保持情報に基づいて、上記テスト用の端子群における所定端子に、上記複数のデバッグインタフェースを選択的に結合し、上記第2選択部は、上記第2選択レジスタの保持情報に基づいて上記テスト用の端子群における所定端子以外の端子に、上記複数のデバッグインタフェースを選択的に結合するように構成することができる。
上記第1選択部は、上記第1選択レジスタの保持情報をデコードするための第1デコーダと、上記第1デコーダのデコード結果に基づいて、上記テスト用の端子群における所定端子と、上記複数のデバッグインタフェースとの間の信号伝達経路の切り換えを可能とする第1マルチプレクサとを含んで構成することができる。
上記第2選択部は、上記第2選択レジスタの保持情報をデコードするための第2デコーダと、上記第2デコーダのデコード結果に基づいて、上記テスト用の端子群における所定端子以外の端子と、上記複数のデバッグインタフェースとの間の信号伝達経路の切り換えを可能とする第2マルチプレクサとを含んで構成することができる。
リセット解除後の状態を任意に変更可能とすることにより多様なシステムデバッグに柔軟に対応できるようにするため、上記コントローラは、上記複数のプロセッサのリセット解除後の状態を定義可能な第3レジスタを含んで構成することができる。
複数のマイクロプロセッサを含む半導体集積回路装置の外部端子が不所望に増大するのを回避するため、上記コントローラは、上記複数のプロセッサからの信号出力端子を、上記共有端子に選択的に結合させるための端子制御情報を保持可能な第4レジスタを含んで構成することができる。
上記テスト用端子群がJTAG仕様の端子群とされるとき、上記JTAG仕様の端子群における所定端子は、リセット端子とされる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、複数のマイクロプロセッサを含む半導体集積回路装置において、デバッグ対象とされるマイクロプロセッサの増大に柔軟に対応可能な技術を提供することができる。また、それにより、複数のマイクロプロセッサを含む半導体集積回路装置におけるデバッグの容易化を図ることができる。
図5には、本発明にかかる半導体集積回路装置の一例であるマイクロコンピュータが示される。
図5に示されるマイクロコンピュータ5は、特に制限されないが、選択回路52、TAPコントローラ(TAPCTRL)53、(n+1)個のTAP54−1,54−2〜54−n、接続回路55−1,55−2〜55−n、CPU(中央処理装置)56−1,56−2〜56−n、IP(Intellectual Property)57−1,57−2を含み、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。
上記選択回路52は、テスト用端子群としてのJTAG(ジョイント・テスト・アクション・グループ:Joint Test Action Group)端子群51の接続先であるTAP(テスト・アクセス・ポート:Test Access Port)54−1,54−2〜54−nの切り換えを行う。この切り換えは、TAPコントローラ53から得られる択信号SELに従って行われる。CPU56−1,56−2〜56−nは、予め設定されたプログラムに従って所定の演算処理を行う。IP57−1,57−2は、IPデータを利用して設計された機能モジュールである。上記接続回路551−1,55−2〜55−nは、それぞれ対応するCPU56−1,56−2〜56−nや、機能モジュール57−1,57−2と、TAP54−1,54−2〜54−nとの間で各種信号のやり取りを可能に接続する。TAP54−1,54−2〜54−nは、それぞれ上記選択回路52を介して伝達されるデバッグ用信号群に基づいてバウンダリスキャンを実行することにより、対応するCPUやIPのデバッグを可能とする。このTAP54−1,54−2〜54−nが、本発明におけるデバッグインタフェースの一例とされる。デバッグ用信号群の入出力を可能とするJTAG端子群51が設けられ、このJTAG端子群51に選択回路52が結合される。JTAG端子群51には、CPU56−1,56−2〜56−nやIP57−1,57−2のデバッグを可能とするエミュレータ(図示せず)が接続される。上記エミュレータは、上記JTAG端子群51を介してマイクロコンピュータ5のデバッグ機能を制御し、上記バウンダリスキャンにより、上記CPU56−1,56−2〜56−nや、機能モジュール57−1,57−2のデバッグのための信号収集を行う。
図1には、上記マイクロコンピュータ5における主要部の構成例が示される。
上記選択回路52は、TRST接続TAP選択ブロック521、及び接続TAP選択ブロック522を含んで成る。
JTAG端子群51は、JTAG所定の端子群、すなわち、テスト用リセット端子としてのTRST端子、テスト用モード設定端子としてのTMS端子、テスト用データ入力端子としてのTDI端子、テスト用データ出力端子としてのTDO端子、及びテスト用クロック入力端子としてのTCK端子を含む。上記JTAG端子群51は、選択回路52の介在により、TAPコントローラ53とTAP54−1〜54−nとで共有される。選択回路52は、TRST接続TAPを選択するためのTRST接続TAP選択ブロック521と、接続TAPを選択するための接続TAP選択ブロック522とを含む。
TAPコントローラ53は、上記JTAG端子群51、すなわちTRST端子、TMS端子、TDI端子、TDO端子、及びTCK端子の各端子に対応する端子と、TAP選択情報の書き込みが可能とされるTAP選択レジスタ581と、TRST選択情報の書き込みが可能とされるTRST選択レジスタ582とを含む。TAP54−1〜54−nは、それぞれ上記JTAG所定の端子、すなわちTRST端子、TMS端子、TDI端子、TDO端子、及びTCK端子に対応する各端子を含む。この各端子が上記選択回路52を介して上記JTAG端子群51に結合されるようになっている。
上記TAPコントローラ53は、TAP選択情報を保持可能なTAP選択レジスタ581と、TRST選択情報を保持可能なTRST選択レジスタ582とを備える。TAP選択レジスタ581に保持されたTAP選択情報は、上記接続TAP選択ブロック522での接続TAP選択制御において参照され、TRST選択レジスタ582に保持されたTRST選択情報は、上記TRST接続TAP選択ブロック521でのTRST接続TAP選択制御において参照される。
すなわち、接続TAP選択ブロック522は、TAP選択レジスタ581の保持情報によって指定されたTAPの各端子を、上記JTAG端子群51における各端子(TMS端子、TDI端子、TDO端子、及びTCK端子)に接続する。特に制限されないが、本例においては、パワーオン後、TAPコントローラ53がデフォルトで選択されてJTAG端子群51に接続される。TAPコントローラ53は、TAP54−1〜54−nを選択指定するためのTAP選択レジスタへのアクセス(書き込み/読み出し)機能を有する。TAP選択レジスタ581は、TRST端子からの信号(TRS信号)がアサートされることにより初期化される。
TRST接続TAP選択ブロック521は、上記TRST選択レジスタ582の保持情報によって指定されたTAPにTRST端子を接続する。TRST選択レジスタ582によって指定されていないTAPのTRST端子は、誤動作防止のため論理値‘1’又は論理値‘0’に固定される。尚、このTRST選択レジスタ582によって複数のTAPを選択することも可能である。
図2には、上記接続TAP選択ブロック522の構成例が示される。
上記接続TAP選択ブロック522は、特に制限されないが、TAP選択レジスタ581に設定されたTAP選択情報をデコードするためのデコーダ21と、このデコーダ21のデコード出力信号に基づいて信号伝達経路の切り換えを可能とするマルチプレクサ23−1,23−2,…,23−n、24−1,24−2,…,24−n、26−1,26−2,…,26−nと、上記デコーダ21のデコード出力信号の論理演算によりTDO選択信号を形成するTDO選択回路22と、このTDO選択回路22によって形成されたTDO選択信号によって動作制御されるマルチプレクサ25とを含んで成る。マルチプレクサ23−1,23−2,…,23−nにより、TMS端子がTAPコントローラ53又はTAP54−1〜54−nの何れかに選択的に結合され、マルチプレクサ24−1,24−2,…,24−nにより、TDI端子がTAPコントローラ53又はTAP54−1〜54−nの何れかに選択的に結合され、マルチプレクサ26−1,26−2,…,26−nにより、TCK端子がTAPコントローラ53又はTAP54−1〜54−nの何れかに選択的に結合される。また、TAPコントローラ53又はTAP54−1〜54−nからのTDO出力信号が、上記マルチプレクサ25によって選択的にTDO端子に伝達されるようになっている。さらに上記マルチプレクサ23−1,23−2,…,23−n、24−1,24−2,…,24−n、26−1,26−2,…,26−nにおける一方の入力端子が論理値‘1’又は‘0’に固定される。それによりTAP選択レジスタ581によって指定されていない端子が論理不定になるのが防止される。
図3には、上記TRST接続TAP選択ブロック521の構成例が示される。
上記TRST接続TAP選択ブロック521は、特に制限されないが、TRST選択レジスタ582に設定されたTRST選択情報をデコード可能なデコーダ31と、このデコーダ31のデコード出力信号に基づいて信号伝達経路の切り換えを可能とするマルチプレクサ32,33とを含んで成る。
次に、上記構成の動作について説明する。
デバッグの基本的な流れは、次の通りである。
図示されないが、JTAG端子群51にはエミュレータが接続される。TAP選択レジスタ581へのアクセス機能を有するTAPコントローラ53がデフォルトで選択され、このTAPコントローラ53からTAP選択レジスタ581に値が設定されることで所望のTAPが選択され、そのTAPに対応するCPUのデバッグが上記エミュレータにより行われる。そしてそのデバッグが終了すると、上記エミュレータによりTRST信号がアサートされ、それによって上記所望のTAPからTAPコントローラ53への端子接続に切り換えられる。
次に、上記デバッグを具体的に説明する。一例として、TAP54−1、TAP54−2に対応するCPUを順次デバッグする場合について説明する。
図示されないエミュレータは、パワーオン時にTRST信号をアサートしてマイクロコンピュータ5を初期化する。このときTAP選択レジスタ581の初期値により、TAPコントローラ53が選択的にJTAG端子群51のTMS端子、TDI端子、TDO端子、及びTCK端子に結合される。また、TRST選択レジスタ582の初期値により、全てのTAP54−1〜54−nにJTAG端子群51におけるTRST端子が接続され、それによって全てのTAPにTRST信号供給される。これによってTAP54−1〜54−nが初期化される。
JTAG端子群51に接続されたエミュレータは、デフォルトで選択されているTAPコントローラ53に対して、JTAG端子群51からTRST選択レジスタ582へのアクセスインストラクションを設定し、TRST選択レジスタ582への情報設定を行う。
エミュレータは、JTAG端子群51からTAP選択レジスタへのアクセスインストラクションを設定し、次にTAP54−1を選択することを示す値をTAP選択レジスタに設定する。その結果、JTAG端子群51におけるTMS端子、TDI端子、TDO端子、TCK端子はTAP54−1に接続される。
エミュレータは、JTAG端子群5を介してTAP54−1に接続され、TAP54−1及び接続回路55−1を経由してCPU56−1のデバッグが行われる。
TAP54−1に対応するCPU56−1のデバッグが終了すると、次にTAP54−2に対応するCPU56−2のデバッグに切り換えられる。
まず、エミュレータはTRSTをアサートする。これによってTAP選択レジスタ581が初期化され、その結果、TAPコントローラ53が選択される。エミュレータは、JTAG端子群5を介してTAP選択レジスタ581へのアクセスインストラクションを設定し、TAP2を指定する値をTAP選択レジスタ581に設定する。その結果、上記JTAG端子群51におけるTM端子、TDI端子、TDO端子、TCK端子がTAP54−2に接続される。これにより、エミュレータは、JTAG端子群51を介してTAP54−2に接続され、TAP54−2及び接続回路55−2を経由してCPU56−2のデバッグを行う。
TAP54−2に対応するCPU56−2のデバッグが終了すると、エミュレータはTRST端子からTRST信号をアサートする。これによってTAP選択レジスタ581が初期化され、その結果、TAP54−2に代えてTAPコントローラ53が、JTAG端子群51におけるTM端子、TDI端子、TDO端子、TCK端子に接続される。
上記TAP選択レジスタ581やTRST選択レジスタ582への情報書込みは、新たなインストラクションにより行うようにする。このとき、上記TAPコントローラ53は、図6に示されるように構成する。
図6には、上記TAPコントローラ53の別の構成例が示される。
図6に示されるように、上記TAPコントローラ53は、上記TDI端子及びTDO端子を介してシリアルデータの入出力を制御するためのTAP制御部65と、上記TCK端子、TRST端子、TMS端子からの各信号に基づいて上記TAP制御部65を制御可能な状態制御部64とを含んで成る。
上記TAP制御部65は、クロック信号に同期してデータを順次シフト可能なシフトレジスタ60、このシフトレジスタ60をバイパス可能なバイパス経路59、各種レジスタを含む信号記憶部58、上記信号記憶部58における各種レジスタを選択可能な選択制御回路61、JTAGにおけるインストラクションを保持可能なJTAGインストラクションレジスタ(SDIR)62、及びJTAGにおけるデータを保持可能なJTAGデータレジスタ(SDDR)63を含む。上記信号記憶部58には、上記TAP選択レジスタ581やTRST選択レジスタ582が形成される。上記選択制御回路61は、上記SDIR62に保持されているインストラクションに従って、上記信号記憶部58内のレジスタ選択を行う。このレジスタ選択により選択されたものが上記シフトレジスタ60に結合され、上記シフトレジスタ60との間でデータのやり取りが行われる。
上記TAPコントローラ53において、上記TAP選択レジスタ581や上記TRST選択レジスタ582へのアクセスは以下のように追加インストラクションにより行うことができる。
TAP選択レジスタ581やTRST選択レジスタ582への第1のアクセス例としては、図9に示されるように、追加インストラクションとして、TAP選択レジスタアクセスとTRST選択レジスタアクセスとを設定し、この追加インストラクションによりレジスタアクセスを行うことができる。このとき、エミュレータは、TAP選択レジスタアクセスインストラクションや、TRST選択レジスタアクセスインストラクションを発行する。JTAGを介する場合、TAP状態遷移のインストラクションレジスタパスが選択され、SDIR62に、上記TAP選択レジスタアクセスインストラクションや、TRST選択レジスタアクセスインストラクションが設定される。また、TAP状態遷移のデータレジスタパスが選択され、TAP選択レジスタ581やTRST選択レジスタ582へ設定される情報がSDDR63に書き込まれる。このSDDR63の保持情報が、TAP選択レジスタ581やTRSTレジスタ582に転送される。
また、TAP選択レジスタ581やTRST選択レジスタ582への第2のアクセス例としては、図10に示されるように、追加インストラクションとして、TAP選択レジスタアクセス(TAP選択値としてnを指定)と、TRST選択レジスタアクセス(TRST選択値としてnを指定)とを設定し、この追加インストラクションによりレジスタアクセスを行うことができる。このときエミュレータは、選択するTAPを示す値(ここではn)を含むTAP選択レジスタアクセスインストラクションを発行する。JTAGを介する場合、TAP状態遷移のIRパスを選択し、本インストラクションがSDIR62に設定される。これに基づいて、TAP選択レジスタ581、TRST選択レジスタ582の設定が行われる。
次に、TAP選択の別の方式について説明する。
図4には、上記マイクロコンピュータ5における主要部の構成例が示される。
図4に示されるのが、図1に示されるのと大きく相違するのは、JTAG端子群51におけるTMS端子、TDI端子、TCK端子の信号が、常にTAPコントローラ53に供給される点である。この例では、TRSTをTAP切り換えに用いずに、ひとつ以上のTAPが常時JTAG端子をモニタする方式とされる。この場合、図9に示されるように、追加インストラクションとして、TAP選択レジスタアクセスとTRST選択レジスタアクセスとが設定され、この追加インストラクションによりレジスタアクセスが行われる。
TAPコントローラ53は、常時JTAG端子をモニタする。TAPコントローラ53はTAP選択レジスタによりTAPコントローラ53以外のTAPが選択されている期間も常時JTAG端子をモニタし、TAP選択レジスタアクセスインストラクションが入力されると、そのインストラクションに従いTAP選択レジスタ値を更新する。TAP選択レジスタアクセスインストラクションは、全てのTAPのインストラクションとは排他的なコードとされる。
上記構成の動作を説明する。本例では、TAP1、TAP3に接続された機能回路を順に切り換えてデバッグが行われる。
エミュレータは、パワーオン時にTRSTを操作し初期化する。TAP選択レジスタ581にはTAPコントローラ53が接続される値が設定される。TRST選択レジスタ582には、全てのTAP54−1〜54−nにTRST端子が接続される値が設定され、全てのTAP54−1〜54−nが初期化される。
エミュレータは、デフォルトで選択されているTAPコントローラ53に対して、JTAG端子からTRST選択レジスタ582へのアクセスインストラクションを設定し、次にTAPコントローラ53にTRSTを接続することを示す値が設定される。
ミュレータは、JTAG端子群51を介して、TAP選択レジスタ581へのアクセスインストラクションを設定し、次にTAP54−1を選択することを示す値をTAP選択レジスタ582に設定する。その結果、TMS端子、TDI端子、TDO端子、TCK端子がTAP54−1に接続される。
エミュレータは、JTAG端子群51を介してTAP54−1に接続される。これによりエミュレータは、TAP54−1に対応するCPU56−1のデバッグを行うことができる。
TAP54−1に対応するCPU56−1のデバッグが終了すると、次にTAP54−2に対応するCPU56−2のデバッグが行われる。まず、エミュレータは、JTAG端子からTAP選択レジスタへのアクセスインストラクションを設定し、次にTAP3を選択することを示す値をTAP選択レジスタに設定する。TAPコントローラ53は、常時JTAG端子群51を監視しており、これによって本操作が可能になる。そして、エミュレータは、JTAG端子群51を介してTAP54−2に接続される。これによりエミュレータは、TAP54−2に対応するCPU56−2のデバッグを行うことができる。
図11に示されるように、TAPコントローラ53にTAP選択レジスタ初期化インストラクションを追加し、TAP切り換えを行う方式も考えられる。TAP選択レジスタ初期化インストラクションは、全てのTAPのインストラクションとは排他的なコードとされる。TAPコントローラ53は、TAP選択レジスタにより、TAPコントローラ53以外のTAPが選択されている期間も常時JTAG端子をモニタし、TAP選択レジスタ初期化インストラクションが入力されるとTAP選択レジスタを初期化する。これによりTAPコントローラ53が選択される。
このように図4に示される構成例では、図1に示されるのと異なり、TRSTをTAP選択に使用ない。図1に示される例では、各TAPの制御においてTRST信号の積極的な利用に制限はあるが、動作周波数などは各TAP完全独立とできインプリメントの面では利点がある。逆に図4に示される構成では、TAP選択インストラクションを全てのTAPで使用されていないものを選択すれば、使用面から見ると、図1に示される例に比べてTRSTで初期化されない分だけ自由度が高いといえる。
上記の例によれば、以下の作用効果を得ることができる。
(1)マイクロコンピュータ5内に複数のCPU56−1〜56−nが存在するにもかかわらず、JTAG対応の1台のエミュレータにより、上記複数のCPU56−1〜56−nについてのシステムデバッグが可能とされる。
(2)一般的にマイクロコンピュータにおいてはCPUに対応してTAPが設けられているが、上記TAP54−1〜54−nとしては、この既存のTAPをそのまま利用することができる。しかも、追加インストラクションを使用することにより、TAP選択が行われるため、CPUの数が増えた場合でも、それに柔軟に対応することができる。
(3)上記(1),(2)の作用効果により、マイクロコンピュータにおけるデバッグの容易化を図ることができる。
次に、上記マイクロコンピュータ5の別の構成例について説明する。
図7に示されるように、信号記憶部58内に動作制御レジスタ583や端子制御レジスタ584を追加することができる。この動作制御レジスタ583や端子制御レジスタ584は、上記TAP選択レジスタ581や上記TRSTレジスタ582と同様に、上記選択制御回路61によって選択制御が可能とされる。上記TAP選択レジスタアクセスや、上記TRSTレジスタアクセスと同等の追加インストラクションにより、上記JTAG端子群51を介してエミュレータからのアクセスが可能とされる。
上記端子制御レジス584は、図7に示されるように、マイクロコンピュータ5における外部端子と内部端子との間に介在された端子制御回路81を制御するための情報の保持が可能とされる。この保持情報に従って端子制御回路81は、外部端子と内部端子との接続における対応関係を制御する。換言すれば、上記端子制御レジス584の保持情報に基づく上記端子制御回路81の制御によって、内部端子が選択的に外部端子に結合されるようになっている。ここで内部端子には、TAP54−1〜54−nにおける各端子や、CPU56−1〜56−nにおける各端子、IP57−1,57−2における各端子が含まれる。また、上記外部端子には、上記JTAG端子群51や、図示されない他の外部端子が含まれる。
複数のCPUが同じような役目の信号を必要とする場合がある。例えばユーザプログラムの実行において所定のブレーク条件が成立した場合に、アサートされるブレーク信号を挙げることができる。このブレーク信号は内蔵されるCPUの数だけ必要であるが、それに対応してマイクロコンピュータ5にブレーク信号出力用の外部端子を設けるのは、ピン数が多くなるため現実的ではない。そこで、上記端子制御回路81を介在することによって、1個の外部端子を複数のCPU間で共有することによって、各CPUからのブレーク信号を選択的に外部出力するようにする。これにより、マイクロコンピュータ5の外部端子が不所望に増大するのを回避することができる。
尚、上記ブレーク信号のみならず、デバッグにおけるトレース用信号などを外部出力する場合においても、上記端子制御回路81による端子制御は有効とされる。
上記動作制御レジスタ583は、例えば図8に示されるように、CPU56−1〜56−n、IP57−1,57−nの初期状態、すなわちリセット解除後の状態を保持する。ここで、上記初期状態には、停電力モードか否か、クロック周波数、リセット状態か否か、動作モードや制御対象となるブロックなどが挙げられる。例えば状態として、(A)リセット解除後はリセットベクタより命令フェッチを開始すること、(B)リセット解除後はモジュールストップ状態に遷移することを定義することができるものとする。各CPUのリセット解除前に、このレジスタ583をJTAG経由で設定する。この設定は、信号記憶部58内の他のレジスタと同様に、所定インストラクションにより行うことができる。各CPU56−1〜56−nのクロック制御モジュールは、リセット解除後に、先ず本ビットの状態を取り込み、その後の動作を決めることとする。それにより、例えばデバッグ時に、予め定義されている各CPU間のマスタ/スレーブの関係を変更したりすることが可能となる。
このように図8に示される構成を採用する場合には、動作制御レジスタ583の保持情報に従って、CPU56−1〜56−n、IP57−1,57−nのリセット解除後の状態を任意に変更することができるので、多様なシステムデバッグに柔軟に対応できる。
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、上記の例では、一つの半導体基板に形成される場合について場合について説明したが、複数の半導体基板により構成される場合もある。
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマイクロコンピュータに適用した場合について説明したが、本発明はそれに限定されるものではなく、複数のプロセッサを含む半導体集積回路装置に広く適用することができる。
本発明は、少なくとも、複数のプロセッサを含むことを条件に適用することができる。
本発明にかかる半導体集積回路装置の一例とされるマイクロコンピュータにおける主要部の構成例ブロック図である。 図1における接続TAP選択ブロックの詳細な構成例回路図である。 図1におけるTRST接続TAP選択ブロックの詳細な構成例回路図である。 本発明にかかる半導体集積回路装置の一例とされるマイクロコンピュータにおける主要部の別の構成例ブロック図である。 上記マイクロコンピュータの全体的な構成例ブロック図である。 上記マイクロコンピュータにおける主要部の別の構成例ブロック図である。 図6における動作制御レジスタに関する動作説明図である。 図6における端子制御レジスタに関する動作説明図である。 上記マイクロコンピュータにおいて追加されるインストラクションの説明図である。 上記マイクロコンピュータにおいて追加されるインストラクションの別の説明図である。 上記マイクロコンピュータにおいて追加されるインストラクションの別の説明図である。
符号の説明
5 マイクロコンピュータ
51 JTAG端子群
52 選択回路
53 TAPコントローラ
54−1〜54−n TAP
55−1〜55−n 接続回路
56−1〜56−n CPU
57−1,57−2 IP
521 TRST接続TAP選択ブロック
522 接続TAP選択ブロック
581 TAP選択レジスタ
582 TRST選択レジスタ
583 動作制御レジスタ
584 端子制御レジスタ

Claims (8)

  1. 複数のプロセッサと、上記プロセッサに対応して配置され、対応する上記プロセッサのデバッグを可能とする複数のデバッグインタフェースと、
    上記複数のデバッグインタフェース間で共有される複数の共有端子と、
    上記複数のデバッグインタフェースを選択的に上記共有端子に結合可能な選択回路と、
    所定のインストラクションに応じて、上記選択回路での選択動作を制御可能なコントローラと、を含み、
    上記複数の共有端子はテスト用端子群とされ、
    上記選択回路は、上記テスト用端子群における所定端子に、上記複数のデバッグインタフェースを選択的に結合可能な第1選択部と、
    上記テスト用端子群における所定端子以外の端子に、上記複数のデバッグインタフェースを選択的に結合可能な第2選択部と、を含むことを特徴とする半導体集積回路装置。
  2. 上記コントローラは、上記所定端子の信号がアサートされることによって、上記テスト用端子群における所定端子以外の端子と、上記デバッグインタフェースとの結合状態を初期状態に戻す請求項1記載の半導体集積回路装置。
  3. 上記コントローラは、上記所定端子に、上記複数のデバッグインタフェースを選択的に結合させるための情報を保持可能な第1選択レジスタと、
    上記テスト用端子群における所定端子以外の端子に、上記複数のデバッグインタフェースを選択的に結合させるための情報を保持可能な第2選択レジスタと、を含み、
    上記第1選択部は、上記第1選択レジスタの保持情報に基づいて、上記所定端子に、上記複数のデバッグインタフェースを選択的に結合し、
    上記第2選択部は、上記第2選択レジスタの保持情報に基づいて上記テスト用端子群における所定端子以外の端子に、上記複数のデバッグインタフェースを選択的に結合する請求項1記載の半導体集積回路装置。
  4. 上記第1選択部は、上記第1選択レジスタの保持情報をデコードするための第1デコーダと、
    上記第1デコーダのデコード結果に基づいて、上記所定端子と、上記複数のデバッグインタフェースとの間の信号伝達経路の切り換えを可能とする第1マルチプレクサと、を含む請求項3記載の半導体集積回路装置。
  5. 上記第2選択部は、上記第2選択レジスタの保持情報をデコードするための第2デコーダと、
    上記第2デコーダのデコード結果に基づいて、上記テスト用端子群における所定端子以外の端子と、上記複数のデバッグインタフェースとの間の信号伝達経路の切り換えを可能とする第2マルチプレクサと、を含む請求項3記載の半導体集積回路装置。
  6. 上記コントローラは、上記複数のプロセッサのリセット解除後の状態を定義可能な第3レジスタを含む請求項1記載の半導体集積回路装置。
  7. 上記コントローラは、上記複数のプロセッサからの信号出力端子を、上記共有端子に選択的に結合させるための端子制御情報を保持可能な第4レジスタを含む請求項1記載の半導体集積回路装置。
  8. 上記テスト用端子群は、JTAG仕様の端子群であり、
    上記JTAG仕様の端子群における所定端子は、リセット端子である請求項1記載の半導体集積回路装置。
JP2005341958A 2005-11-28 2005-11-28 半導体集積回路装置 Expired - Fee Related JP4450787B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005341958A JP4450787B2 (ja) 2005-11-28 2005-11-28 半導体集積回路装置
US11/600,208 US7743278B2 (en) 2005-11-28 2006-11-16 Test access control for plural processors of an integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005341958A JP4450787B2 (ja) 2005-11-28 2005-11-28 半導体集積回路装置

Publications (2)

Publication Number Publication Date
JP2007148754A true JP2007148754A (ja) 2007-06-14
JP4450787B2 JP4450787B2 (ja) 2010-04-14

Family

ID=38210107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005341958A Expired - Fee Related JP4450787B2 (ja) 2005-11-28 2005-11-28 半導体集積回路装置

Country Status (2)

Country Link
US (1) US7743278B2 (ja)
JP (1) JP4450787B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008304986A (ja) * 2007-06-05 2008-12-18 Nec Electronics Corp 半導体集積回路
CN103080761A (zh) * 2010-06-30 2013-05-01 阿尔卡特朗讯 用于虚拟内电路仿真的方法和设备
US8468402B2 (en) 2009-01-06 2013-06-18 Renesas Electronics Corporation Test circuit including tap controller selectively outputting test signal based on mode and shift signals

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8015462B2 (en) * 2007-05-11 2011-09-06 Renesas Electronics Corporation Test circuit
CN101776728B (zh) * 2010-01-27 2012-07-04 华为技术有限公司 单板内器件的边界扫描方法及装置
KR101641108B1 (ko) * 2010-04-30 2016-07-20 삼성전자주식회사 디버깅 기능을 지원하는 타겟 장치 및 그것을 포함하는 테스트 시스템
US8756467B2 (en) * 2011-11-30 2014-06-17 Freescale Semiconductor, Inc. Methods and apparatus for testing multiple-IC devices
JP6420139B2 (ja) * 2014-12-26 2018-11-07 シナプティクス・ジャパン合同会社 半導体デバイス
CN109766292A (zh) * 2019-01-23 2019-05-17 济南浪潮高新科技投资发展有限公司 一种jtag接口功能复用电路
US11513807B1 (en) * 2021-07-28 2022-11-29 Dell Products L.P. Temperature based decision feedback equalization retraining

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0826974B1 (en) * 1996-08-30 2005-10-19 Texas Instruments Incorporated Device for testing integrated circuits
US6324662B1 (en) * 1996-08-30 2001-11-27 Texas Instruments Incorporated TAP and linking module for scan access of multiple cores with IEEE 1149.1 test access ports
GB9818377D0 (en) * 1998-08-21 1998-10-21 Sgs Thomson Microelectronics An integrated circuit with multiple processing cores
US6334198B1 (en) * 1999-04-01 2001-12-25 Koninklijke Philips Electronics N.V. (Kpenv) Method and arrangement for controlling multiply-activated test access port control modules
GB0025593D0 (en) * 2000-10-18 2000-12-06 Sgs Thomson Microelectronics On-chip emulator communication
US6686759B1 (en) * 2000-11-28 2004-02-03 Cadence Design Systems, Inc. Techniques for testing embedded cores in multi-core integrated circuit designs
US7139947B2 (en) * 2000-12-22 2006-11-21 Intel Corporation Test access port
JP3913470B2 (ja) * 2000-12-28 2007-05-09 株式会社東芝 システムlsi
US6829730B2 (en) * 2001-04-27 2004-12-07 Logicvision, Inc. Method of designing circuit having multiple test access ports, circuit produced thereby and method of using same
KR100413763B1 (ko) * 2001-07-13 2003-12-31 삼성전자주식회사 탭드 코아 선택회로를 구비하는 반도체 집적회로
US7010722B2 (en) * 2002-09-27 2006-03-07 Texas Instruments Incorporated Embedded symmetric multiprocessor system debug
JP2004164367A (ja) 2002-11-14 2004-06-10 Renesas Technology Corp マルチプロセッサシステム
EP1544633B1 (en) * 2003-12-17 2008-10-01 STMicroelectronics (Research & Development) Limited Tap multiplexer
US7536597B2 (en) * 2005-04-27 2009-05-19 Texas Instruments Incorporated Apparatus and method for controlling power, clock, and reset during test and debug procedures for a plurality of processor/cores

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008304986A (ja) * 2007-06-05 2008-12-18 Nec Electronics Corp 半導体集積回路
US8468402B2 (en) 2009-01-06 2013-06-18 Renesas Electronics Corporation Test circuit including tap controller selectively outputting test signal based on mode and shift signals
CN103080761A (zh) * 2010-06-30 2013-05-01 阿尔卡特朗讯 用于虚拟内电路仿真的方法和设备
JP2013537662A (ja) * 2010-06-30 2013-10-03 アルカテル−ルーセント 仮想インサーキット・エミュレーションの方法および装置
CN103080761B (zh) * 2010-06-30 2015-06-03 阿尔卡特朗讯 用于虚拟内电路仿真的方法和设备

Also Published As

Publication number Publication date
US7743278B2 (en) 2010-06-22
US20070226558A1 (en) 2007-09-27
JP4450787B2 (ja) 2010-04-14

Similar Documents

Publication Publication Date Title
JP4450787B2 (ja) 半導体集積回路装置
Hopkins et al. Debug support for complex systems on-chip: A review
US8566645B2 (en) Debug state machine and processor including the same
EP0849674B1 (en) Method and apparatus for debugging a pipeline microprocessor
US6591369B1 (en) System and method for communicating with an integrated circuit
US6779145B1 (en) System and method for communicating with an integrated circuit
US6530047B1 (en) System and method for communicating with an integrated circuit
US6055649A (en) Processor test port with scan chains and data streaming
US6601189B1 (en) System and method for communicating with an integrated circuit
US6065106A (en) Resuming normal execution by restoring without refetching instructions in multi-word instruction register interrupted by debug instructions loading and processing
US6567932B2 (en) System and method for communicating with an integrated circuit
US5970241A (en) Maintaining synchronism between a processor pipeline and subsystem pipelines during debugging of a data processing system
US9274169B2 (en) Asynchronous programmable JTAG-based interface to debug any system-on-chip states, power modes, resets, clocks, and complex digital logic
EP0849673B1 (en) Single stepping a processor pipeline and subsystem pipelines during debugging of a data processing system
US6665816B1 (en) Data shift register
US6334198B1 (en) Method and arrangement for controlling multiply-activated test access port control modules
JP2004164367A (ja) マルチプロセッサシステム
JP6832787B2 (ja) 半導体装置および半導体装置のテスト方法
JPH11272493A (ja) エミュレ―ションのためのcpu初期化方法
JP4401039B2 (ja) 半導体集積回路
JP2008304986A (ja) 半導体集積回路
JP4600134B2 (ja) マルチプロセッサシステム
JP2004094451A (ja) オンチップjtagインタフェース回路およびシステムlsi
JP2006146757A (ja) デバッグ用レジスタおよびデータ転送方法
JP2004164113A (ja) マルチcpuのリセット回路およびリセット方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100126

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100126

R150 Certificate of patent or registration of utility model

Ref document number: 4450787

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20140205

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees