JP2004127169A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2004127169A
JP2004127169A JP2002293681A JP2002293681A JP2004127169A JP 2004127169 A JP2004127169 A JP 2004127169A JP 2002293681 A JP2002293681 A JP 2002293681A JP 2002293681 A JP2002293681 A JP 2002293681A JP 2004127169 A JP2004127169 A JP 2004127169A
Authority
JP
Japan
Prior art keywords
serial data
serial
output
power
processor core
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
JP2002293681A
Other languages
English (en)
Inventor
Kenji Sakiyama
崎山 健次
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002293681A priority Critical patent/JP2004127169A/ja
Publication of JP2004127169A publication Critical patent/JP2004127169A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ソフトウェアをデバッグするための回路をシリアル通信で制御するプロセッサコアを複数備え、各デバッグ回路がチェーン接続された半導体装置において、プロセッサコアの電源を個別に遮断されてもデバッグを継続する。
【解決手段】プロセッサコア1、2の電源が遮断されると、プロセッサコア1、2のシリアル通信制御部3、4の代わりに、接続維持回路15、16がプロセッサコアの電源を個別に遮断するための信号をもとに命令やデータコードに対するシリアルデータのシフト動作を行い、シリアル通信を継続させてチェーン接続を維持させる。その接続維持回路15、16はデータ長が最も短い命令に必要なデータレジスタと接続維持対象のシリアル通信制御部3、4と同ビット長の命令レジスタを備える。
【選択図】    図1

Description

【0001】
【発明の属する技術分野】
本発明は、ソフトウェアデバッグのためのシリアル通信制御回路を個別に具備する複数のプロセッサコアを1つのシステムLSIとして統合し、各プロセッサコアの電源を個別に制御する半導体装置に関するものである。
【0002】
【従来の技術】
近年、オンチップのデバッグ回路をJTAG(Joint Test Action Group)方式(IEEE1149.1)等のシリアル通信方式で制御するプロセッサコアが増えてきており、1つのLSIにそれらのプロセッサコアを複数搭載したシステムLSIでは端子数を削減するため、デバッグ用の各シリアル通信制御回路はチェーン接続されている。さらに、携帯機器向けのシステムLSIではプロセッサコア単位で電源を分割し、電源供給を個別に制御して消費電力の低減を図っている(例えば、非特許文献1参照)。
【0003】
図13、図14および図15は従来の半導体装置(システムLSI)の構成を示すブロック図である。図13は、プロセッサコア内のデバッグ用の各シリアル通信制御回路(デバッグ回路)をチェーン接続した構成である。図14は、プロセッサコアとデバッグ用のシリアル通信制御回路とを分離し、各シリアル通信制御回路をチェーン接続した構成である。図15は、プロセッサコア内のデバッグ用の各シリアル通信制御回路に対し個別にシリアル通信端子を持たせた構成である。
【0004】
図13において、1および2はソフトウェアデバッグのためのシリアル通信制御回路を個別に具備するプロセッサコアである。3および4はプロセッサコア1,2がそれぞれ具備するシリアル通信制御回路である。5は外部からシリアルデータを入力するシリアルデータ入力端子である。6はシリアルデータを外部へ出力するシリアルデータ出力端子である。7はプロセッサコア1,2とシリアルデータ入力端子5およびシリアルデータ出力端子6(1組のシリアルデータ端子)とを備えた半導体装置(システムLSI)である。
【0005】
シリアル通信制御回路3,4は、それぞれ命令レジスタとバイパスデータレジスタとを有している。具体的な構成の例は、図示しないが、JTAG(IEEE1149.1)の仕組みとその応用(東京都立産業技術研究所 研究開発部 坂巻佳壽美著)の第2回.JTAG対応デバイスの仕組み、第3回.TAPコントローラの動作、第4回.テストモードと命令等に詳しく説明されている。
【0006】
シリアルデータ入力端子5がシリアル通信制御回路3のシリアルデータ入力部3aに接続され、シリアル通信制御回路3のシリアルデータ出力部3bがシリアル通信制御回路4のシリアルデータ入力部4aに接続され、さらにシリアル通信制御回路4のシリアルデータ出力部4bがシリアルデータ出力端子6に接続されることにより、シリアルデータ入力端子5からシリアルデータ出力端子6までシリアル通信制御回路3,4によってチェーン接続される。
【0007】
ここで、シリアルデータ入力端子5からシリアル通信制御回路3のシリアルデータ入力部3aへ送られるのが、シリアルデータ入力信号101である。また、シリアル通信制御回路3のシリアルデータ出力部3bからシリアル通信制御回路4のシリアルデータ入力部4aへ送られるのが、シリアルデータ出力信号102である。さらに、シリアル通信制御回路4のシリアルデータ出力部4bからシリアルデータ出力端子6へ送られるのがシリアルデータ出力信号103である。
【0008】
また、プロセッサコア1とプロセッサコア2とは個別に電源遮断される領域にレイアウトされる。
【0009】
以上のように構成された半導体装置について、シリアル入力データとシリアル出力データの流れを中心に、その動作を説明する。以下、シリアル通信方式がJTAG方式で、プロセッサコア1,2が具備するシリアル通信制御回路の命令コード長が4ビットの場合を例にとって説明する。なお、JTAG方式では、バイパス命令はデータ長が1ビットで最短のデータ長を持つ命令に規定されており、命令コード長が4ビットの場合、バイパス命令のバイナリコードは‘1111’と規定される。
【0010】
シリアル通信制御回路3単体でバイパス命令を実行させる場合、図16(a)のように、シリアル通信制御回路3へのシリアルデータ入力信号101としては、Shift−IR(命令レジスタ)ステートにてバイパス命令コード1001を入力し、その後、Shift−DR(データレジスタ)ステートにてデータコード1002を入力する。上記のバイパス命令コードは命令レジスタへの入力となり、データコード1002はバイパスデータレジスタへの入力となる。
【0011】
そのシリアルデータ入力信号101をシリアル通信制御回路3へシフトインする際に、シリアル通信制御回路3からのシリアルデータ出力信号102は、Shift−IRステートにて命令レジスタ出力として出力シリアルデータ1003がシフトアウトされ、その後、Shift−DRステートにてバイパスデータレジスタ出力として出力シリアルデータ1004がシフトアウトされる。
【0012】
ここで、バイパス命令、Shift−IRステートおよびShift−DRステートについて説明する。
【0013】
バイパス命令とは、JTAGの必須命令であり、シリアルデータ入力TDIとシリアルデータ出力TDOとの間に1ビットのデータレジスタ(バイパスレジスタ)を挿入し、シフト動作時のシリアル経路を最短にするための命令である。
【0014】
つぎに、Shift−IRステートについて説明する。このステートでは、命令レジスタ(IR)に含まれるシフトレジスタは、シリアルデータ入力TDIとシリアルデータ出力TDOとの間に接続され、シリアルクロックTCKの各立ち上がりエッジでデータを1ステージだけ、シリアルデータ出力TDO方向へ向けて移動させる。
【0015】
つぎに、Shift−DRステートについて説明する。このステートでは、現在の命令によりシリアルデータ入力TDIとシリアルデータ出力TDOとの間に接続されるデータレジスタ(DR)は、シリアルクロックTCKの各立ち上がりエッジでデータを1ステージだけシリアルデータ出力TDO方向へ向けて移動させる。
【0016】
シリアル通信制御回路3とシリアル通信制御回路4とはチェーン接続されているため、シリアルデータ入力端子5へのシリアルデータ入力信号101は、図16(b)のように、各4ビットの2個のバイパス命令コード‘1111’を8ビットコード1005に連結して入力し、各1ビットの2個のデータコードを2ビットコード1006に連結して入力する。
【0017】
上記の8ビットコード1005のうちの先頭のバイパス命令コードはプロセッサコア2の命令レジスタへの入力となり、2番目のバイパス命令コードはプロセッサコア1の命令レジスタへの入力となる。また、2ビットコード1006のうちの先頭のデータコードはプロセッサコア2のバイパスデータレジスタへの入力となり、2番目のデータコードはプロセッサコア1のバイパスデータレジスタへの入力となる。
【0018】
そのシリアルデータをシリアル通信制御回路3,4にシフトインする際、シリアル通信制御回路4からのシリアルデータ出力信号103としては、Shift−IRステートにて命令レジスタ出力が出力シリアルデータ1007のように連結されて出力(シフトアウト)され、その後、Shift−DRステートにてバイパスデータレジスタ出力が出力シリアルデータ1008のように連結されて出力(シフトアウト)される。
【0019】
上記の出力シリアルデータ1007のうちの先頭の4ビットデータはプロセッサコア2の命令レジスタからの出力であり、2番目の4ビットデータはプロセッサコア1の命令レジスタからの出力である。また、出力シリアルデータ1008のうちの先頭の1ビットデータはプロセッサコア2のバイパスデータレジスタからの出力であり、2番目の1ビットデータはプロセッサコア1のバイパスデータレジスタからの出力である。
【0020】
ここで、プロセッサコア1の電源のみ遮断されると、シリアルデータ入力端子5からの入力信号はプロセッサコア2へは伝わらなくなり、チェーン接続が切断され、動作しているプロセッサコア2のソフトウェアデバッグを継続できなくなる。
【0021】
図14において、1および2はプロセッサコアである。3および4はプロセッサコア1,2のソフトウェアをデバッグするためのシリアル通信制御回路である。5は外部からシリアルデータを入力するシリアルデータ入力端子である。6はシリアルデータを外部へ出力するシリアルデータ出力端子である。8は常時電源が入っているレイアウト領域である。9はプロセッサコア1,2とシリアル通信制御回路3,4とシリアルデータ入力端子5およびシリアルデータ出力端子6(1組のシリアルデータ端子)とを備えた半導体装置(システムLSI)である。
【0022】
シリアルデータ入力端子5がシリアル通信制御回路3のシリアルデータ入力部3aに接続され、シリアル通信制御回路3のシリアルデータ出力部3bがシリアル通信制御回路4のシリアルデータ入力部4aに接続され、さらにシリアル通信制御回路4のシリアルデータ出力部4bがシリアルデータ出力端子6に接続されることにより、シリアルデータ入力端子5からシリアルデータ出力端子6までシリアル通信制御回路3,4によってチェーン接続される。
【0023】
シリアルデータ入力端子5からシリアル通信制御回路3のシリアルデータ入力部3aへ送られるのが、シリアルデータ入力信号101である。また、シリアル通信制御回路3のシリアルデータ出力部3bからシリアル通信制御回路4のシリアルデータ入力部4aへ送られるのが、シリアルデータ出力信号102である。さらに、シリアル通信制御回路4のシリアルデータ出力部4bからシリアルデータ出力端子6へ送られるのがシリアルデータ出力信号103である。
【0024】
さらに、シリアル通信制御回路3とプロセッサコア1とはデバッグ用入出力信号104を伝達する信号線で接続され、シリアル通信制御回路4とプロセッサコア2とはデバッグ用入出力信号105を伝達する信号線で接続される。
【0025】
また、プロセッサコア1とプロセッサコア2とは個別に電源遮断される領域にレイアウトされ、シリアル通信制御回路3とシリアル通信制御回路4は常時電源の入っているレイアウト領域8にレイアウトされる。
【0026】
以上のように構成された半導体装置について、図13と同じ構成要素には同じ符号を付して説明を省略し、異なる点を中心にその動作を説明する。
【0027】
プロセッサコア1,2へのデバッグ制御はデバッグ用入出力信号104,105を用いて行われる。ここで、プロセッサコア1の電源のみ遮断されると、プロセッサコア1に対するデバッグ制御はできなくなるが、プロセッサコア1は動作していないので、プロセッサコア1のソフトウェアデバッグの必要性はない。一方、シリアル通信制御回路3とシリアル通信制御回路4への電源は供給されているので、シリアル通信制御回路4からプロセッサコア2に対するデバッグ制御はでき、プロセッサコア2のソフトウェアデバッグは継続できる。
【0028】
しかしながら、図14の構成では、以下のような問題がある。通常はプロセッサコア1,2自体の動作検証のため、プロセッサコア1,2単体でのレイアウトデータを生成し製造することになる。しかし、システムLSIのため、シリアル通信制御回路3,4を分離した2つのレイアウトデータを生成する必要が出てくる。さらに、常時電源の入っている領域にレイアウトされる回路(シリアル通信制御回路3,4)により消費電力が増加することになる。
【0029】
図15において、1および2はソフトウェアデバッグのためのシリアル通信制御回路を個別に具備するプロセッサコアである。3および4はプロセッサコア1,2が具備するシリアル通信制御回路である。5はシリアル通信制御回路3に対して外部からシリアルデータを入力するシリアルデータ入力端子である。10はシリアル通信制御回路3からシリアルデータを外部へ出力するシリアルデータ出力端子である。11はシリアル通信制御回路4に対して外部からシリアルデータを入力するシリアルデータ入力端子である。6はシリアル通信制御回路4からシリアルデータを外部へ出力するシリアルデータ出力端子である。12はプロセッサコア1,2とシリアルデータ入力端子5,10およびシリアルデータ出力端子6,11(2組のシリアルデータ端子)とを備えた半導体装置(システムLSI)である。
【0030】
シリアルデータ入力端子5はシリアル通信制御回路3のシリアルデータ入力部3aに接続され、シリアル通信制御回路3のシリアルデータ出力部3bはシリアルデータ出力端子10に接続され、シリアルデータ入力端子11はシリアル通信制御回路4のシリアルデータ入力部4aに接続され、シリアル通信制御回路4のシリアルデータ出力部4bはシリアルデータ出力端子6に接続される。
【0031】
シリアルデータ入力端子5からシリアル通信制御回路3のシリアルデータ入力部3aへ送られるのが、シリアルデータ入力信号101である。また、シリアル通信制御回路3のシリアルデータ出力部3bからシリアルデータ出力端子10へ送られるのがシリアルデータ出力信号102である。シリアルデータ入力端子11からシリアル通信制御回路4のシリアルデータ入力部4aへ送られるのが、シリアルデータ入力信号106である。また、シリアル通信制御回路4のシリアルデータ出力部4bからシリアルデータ出力端子6へ送られるのがシリアルデータ出力信号103である。
【0032】
また、プロセッサコア1とプロセッサコア2とは個別に電源遮断される領域にレイアウトされる。
【0033】
以上のように構成された半導体装置について、その動作を説明する。シリアル入力データとシリアル出力データの流れは図13で説明した、シリアル通信制御回路単体で動作させる場合と同様である。ここで、プロセッサコア1の電源のみ遮断されても、プロセッサコア2へのシリアルデータ端子(11,6)が独立しているため、プロセッサコア2のソフトウェアデバッグは継続できる。しかし、各プロセッサコア1,2に対して、個別にシリアル通信するため、プロセッサコア1,2毎に独立したシリアルデータ端子とシリアル制御端子を持たせる必要があり、プロセッサコア1,2の個数に比例して端子数が増加することになる。
【0034】
ここで、シリアル制御端子について説明する。JTAGでのシリアル通信は、データ入力/出力端子の他、クロックやモード選択端子が必須で、シリアル回路のリセット端子もオプションで用意されている。それら、クロック端子、モード選択端子、リセット端子を包括してシリアル制御端子と表現している。それらの端子でシリアル通信回路のステート(モード)を遷移させたり、リセットしたり、シフト動作を行う等の制御を行う。
【0035】
【非特許文献1】
坂巻佳壽美著「JTAGテストの基礎と応用」CQ出版株式会社、1998年12月、p38−54
【0036】
【発明が解決しようとする課題】
上記のように、従来のチェーン接続した構成(図13参照)では、1つでもデバッグ用のシリアル通信制御回路の電源が遮断されると、チェーン接続が切断され、ソフトウェアデバッグが継続できなくなるという問題が発生する。
【0037】
また、シリアル通信制御回路をプロセッサコアから分離した構成(図14参照)では、シリアル通信制御回路を常時電源の入っている領域にレイアウトすることでチェーン接続は維持できるが、システムLSIのためにプロセッサコアのレイアウトデータを生成し直す必要があり、消費電力も増加するという問題が発生する。
【0038】
また、各シリアル通信制御回路に対し個別にシリアル通信端子を持たせた構成(図15参照)では、デバッグ対象のプロセッサコア以外の電源が遮断されてもデバッグを継続することができるが、端子数がプロセッサコアの数に比例して増加するという問題が発生する。
【0039】
本発明は、上記問題点を解決するもので、プロセッサコア単体のレイアウトデータをシステムLSIのために再生成する必要なく、端子数と消費電力の増加を最小限に抑え、かつソフトウェアデバッグ対象外のプロセッサコアの電源が遮断されても、継続して電源が供給されている他のプロセッサコアのソフトウェアデバッグを継続することができる半導体装置を提供することを目的とする。
【0040】
【課題を解決するための手段】
請求項1記載の半導体装置は、少なくとも1個は個別に電源遮断可能な2個以上のプロセッサコアと、外部からシリアルデータが入力されるシリアルデータ入力端子と外部へシリアルデータを出力するシリアルデータ出力端子と、ソフトウェアデバッグのために2個以上のプロセッサコア内にそれぞれ設けられ、シリアルデータ入力端子と前記シリアルデータ出力端子との間を結ぶようにチェーン接続されたシリアル通信制御回路と、個別に電源遮断可能なプロセッサコアの外部に設けられ、個別に電源遮断可能なプロセッサコアの電源遮断時に個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路のシリアルデータ入力部からシリアルデータ出力部までのシリアル通信経路をバイパスしてシリアルデータ入力端子とシリアルデータ出力端子との間のチェーン接続を維持する接続維持回路とを備えている。接続維持回路は、常時電源が供給される領域に、個別に電源遮断可能なプロセッサコアに対応して設けられている。
【0041】
請求項1記載の半導体装置によれば、電源が遮断されたプロセッサコアのシリアル通信制御回路の代わりに、接続維持回路がシリアル通信を継続させるため、シリアルデータ入力端子からシリアルデータ出力端子までチェーン接続が維持できる。さらに、プロセッサコアのレイアウトデータはプロセッサコア単体でのレイアウトデータを変更せずそのまま使用できるため、システムLSIのためにプロセッサコアのレイアウトデータを再生成する必要は生じない。
【0042】
請求項2記載の半導体装置は、請求項1記載の半導体装置において、接続維持回路が、シリアルデータを入力する命令レジスタおよびバイパスデータレジスタと、シリアル通信ステートに応じて命令レジスタの出力およびバイパスデータレジスタの出力を選択する第1のセレクタと、個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号に応じて第1のセレクタの出力と個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路のシリアルデータ出力部からのシリアルデータ出力とを選択する第2のセレクタとで構成されている。
【0043】
請求項2記載の半導体装置によれば、バイパス命令実行時、バイパス命令コードが命令レジスタへシフトインされ、1ビットのデータがバイパスデータレジスタへシフトインされ、また、シリアル通信ステートに応じて命令レジスタ出力とバイパスデータレジスタ出力とを選択する第1のセレクタと、個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号により第1のセレクタの出力とシリアル通信制御回路のデータレジスタ出力とを選択する第2のセレクタとを通し、チェーン接続される次のシリアル通信制御回路にシリアルデータを送ることができる。そのため、シリアルデータ入力端子からシリアルデータ出力端子までのチェーン接続を維持することができる。デバッグ用レジスタを含めたシリアル通信制御回路と同じ回路を接続維持回路に含めてもチェーン接続は維持できるが、接続維持回路の回路規模が大きくなり、消費電力が増加することになる。
【0044】
本請求項における接続維持回路の構成は、シリアル通信制御回路に比べ、回路規模を抑えることができるため、消費電力の増加を最小限に抑えることができる。その際、どのプロセッサコアの電源が遮断されているかを外部へ通知するため、電源遮断制御信号を出力端子へ出力することになるが、各プロセッサコアについて個別にシリアルデータ端子を持たせた従来構成に比べ、少ない端子増加に抑えられる。
【0045】
したがって、個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号をもとにシリアル通信制御回路のシリアルデータ入力部とシリアルデータ出力部の間のシリアル通信を個別にバイパスする接続維持回路を設け、その接続維持回路はデータ長が最も短いバイパス命令に必要な1ビットのバイパスデータレジスタと接続維持対象のシリアル通信制御回路と同ビット長の命令レジスタと命令レジスタおよびバイパスデータレジスタの出力を選択する第1のセレクタと第1のセレクタの出力とシリアル通信制御回路からのデータレジスタ出力とを選択する第2のセレクタとを設けることにより、常時電源が供給される領域にレイアウトされる回路規模を最小限に抑えることができる。それによって消費電力の増加を最小限に抑えるとともに、端子数の増加を最小限に抑え、プロセッサコア単体のレイアウトデータをシステムLSIのために再生成することなく、ソフトウェアデバッグ対象外のプロセッサコアの電源が遮断されても他のプロセッサコアのソフトウェアデバッグを継続できる半導体装置を提供することができる。
【0046】
請求項3記載の半導体装置は、請求項1記載の半導体装置において、接続維持回路が、シリアルデータを入力する命令レジスタと、電源遮断される個別に電源遮断可能なプロセッサコアを判別するために個別に電源遮断可能なプロセッサコアの電源の状態を示すデータを格納した電源状態レジスタと、シリアル通信ステートに応じて命令レジスタの出力および電源状態レジスタの出力を選択する第1のセレクタと、個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号に応じて第1のセレクタの出力と個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路からのシリアルデータ出力とを選択する第2のセレクタとで構成されている。
【0047】
請求項3記載の半導体装置によれば、バイパス命令時、バイパス命令コードが命令レジスタへシフトインされ、1ビットのデータが電源状態レジスタへシフトインされ、また、シリアル通信ステートに応じて命令レジスタ出力と電源状態レジスタ出力とを選択する第1のセレクタと、プロセッサコアの電源を個別に遮断する信号により第1のセレクタの出力とシリアル通信制御回路のデータレジスタ出力とを選択する第2のセレクタを通し、チェーン接続される次のシリアル通信制御回路にシリアルデータを送ることができる。そのため、シリアルデータ入力端子からシリアルデータ出力端子までのチェーン接続を維持することができる。また、その時のデータレジスタ出力として電源状態を出力するため、チェーン接続の中でどのプロセッサコアの電源が遮断されているか判別することができる。
【0048】
したがって、接続維持回路のバイパスレジスタの代わりに電源状態レジスタを設けることで、シリアルデータ出力端子から電源遮断されているプロセッサコアを判別できる。そのため、端子数を増やすことなく、またプロセッサコア単体のレイアウトデータをシステムLSIのために再生成する必要なく、消費電力の増加を最小限に抑えて、ソフトウェアデバッグ対象外のプロセッサコアの電源が遮断されても他のプロセッサコアのソフトウェアデバッグを継続できる半導体装置を提供することができる。
【0049】
請求項4記載の半導体装置は、請求項3記載の半導体装置において、接続維持回路が、個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号を保持する信号保持回路をさらに備え、信号保持回路の出力に応じて第2のセレクタが第1のセレクタの出力と個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路からのシリアルデータ出力とを選択するようにしている。
【0050】
請求項4記載の半導体装置によれば、請求項3と同様な作用効果のほか、接続維持対象のプロセッサコアの電源が瞬間的に遮断されても、接続維持回路内の命令レジスタ出力あるいは電源状態データレジスタ出力を第1のセレクタで選択して、チェーン接続されるシリアル通信制御回路にシリアルデータを送ることができる。そのため、不定値のシリアルデータを送ることなく、チェーン接続を維持できる。さらに通常、電源再供給時、プロセッサコアはリセットされるため、外部へその状態を知らせることなく制御されると外部が認識しているプロセッサコアの状態と不一致が起こり、制御不能になる可能性があるが、電源状態レジスタを読み出すまで、電源状態レジスタの値を保持し、その値を読み出すことにより、チェーン接続の中でどのプロセッサコアの電源が遮断されたかを判別することができるので、外部の認識との不一致は起こらず、制御不能になることがない。
【0051】
したがって、接続維持回路に、個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号の信号保持回路をさらに備えることで、請求項3と同様な作用効果が得られるほか、接続維持対象のプロセッサコアの電源が瞬間的に遮断されても、制御不能な状態になることなく、他のプロセッサコアのソフトウェアデバッグを継続することができる。
【0052】
請求項5記載の半導体装置は請求項1記載の半導体装置において、個別に電源遮断可能なプロセッサコアからのステータス信号を入力し個別に電源遮断可能なプロセッサコアへ制御信号を出力するコア間同期制御回路と、コア間同期制御回路のシリアル通信を制御するシリアル通信制御回路とをさらに備えている。
【0053】
請求項5記載の半導体装置によれば、請求項1と同様な作用効果が得られるほか、コア間同期制御回路への通信を制御するシリアル通信制御回路の通信ステート信号を使用できるので、常時電源が供給される領域に電源遮断を制御するプロセッサコア(マスタコア)をレイアウトすることなく、外部から電源遮断を制御できる。さらに、統合するプロセッサコアの数に合わせたプロセッサコア間のコア間同期制御回路を設けることにより、ソフトウェアデバッグのための同期制御ができるようになる。
【0054】
請求項6記載の半導体装置は、請求項1記載の半導体において、接続維持回路の電源遮断を制御する電源制御回路をさらに備えている。
【0055】
請求項6記載の半導体装置によれば、請求項1と同様な作用効果が得られるほか、常時電源が供給される領域にレイアウトされる接続維持回路の電源をデバッグ時のみ電源供給するよう制御できるので、通常モードでは消費電力を増やすことなく、ソフトウェアデバッグを継続することができる。
【0056】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、シリアル通信方式としてはJTAG方式で、プロセッサコアが具備するシリアル通信制御回路の命令コード長が4ビットの場合を例にとって、各実施の形態を説明する。
【0057】
(第1の実施の形態)
図1は本発明の第1の実施の形態における半導体装置(システムLSI)の構成を示すブロック図であり、図2は本発明の第1の実施の形態における接続維持回路の構成を示すブロック図である。
【0058】
図1において、1,2および13はソフトウェアデバッグのためのシリアル通信制御回路を個別に具備するプロセッサコアである。3,4および14はプロセッサコア1,2,13が具備するシリアル通信制御回路である。15,16はシリアル通信制御回路3,4のシリアル接続を代替する接続維持回路である。プロセッサコア13はマスタコアであり、電源が個別に遮断される構成ではないので、シリアル通信制御回路14の接続を代替する接続維持回路は設けられていない。
【0059】
5は外部からシリアルデータを入力するシリアルデータ入力端子である。6はシリアルデータを外部へ出力するシリアルデータ出力端子である。17はプロセッサコア1,2,13の電源遮断を個別に制御する信号を出力する電源遮断状態出力端子である。18はプロセッサコア1,2,13と接続維持回路15,16とシリアルデータ入力端子5およびシリアルデータ出力端子6(1組のシリアルデータ端子)と電源遮断状態出力端子17とを備えた半導体装置(システムLSI)である。
【0060】
図2において、19はシリアル通信で挿入される命令を保持する命令レジスタである。20はバイパス命令実行用のバイパスデータレジスタである。21はシリアル通信の通信ステート信号111により命令レジスタ19の出力とバイパスデータレジスタ20の出力とを選択する第1のセレクタである。22はプロセッサコア1,2の電源遮断を個別に制御する電源遮断制御信号110によりプロセッサコア1,2が具備するシリアル通信制御回路3,4のデータ出力と第1のセレクタ21の出力とを選択する第2のセレクタである。15は命令レジスタ19とバイパスデータレジスタ20と第1および第2のセレクタ21,22とを備えた接続維持回路である。接続維持回路16も、接続維持回路15と同じ構成である。
【0061】
シリアルデータ入力端子5はシリアル通信制御回路3のシリアルデータ入力部3aと接続維持回路15のシリアルデータ入力部15aとに接続され、シリアル通信制御回路3のシリアルデータ出力部3bは接続維持回路15のシリアルデータ入力部15cに接続され、接続維持回路15のシリアルデータ出力部15bはシリアル通信制御回路14のシリアルデータ入力部14aに接続される。また、シリアル通信制御回路14のシリアルデータ出力部14bはシリアル通信制御回路4のシリアルデータ入力部4aと接続維持回路16のシリアルデータ入力部16aとに接続され、シリアル通信制御回路4のシリアルデータ出力部4bは接続維持回路16のシリアルデータ入力部16cに接続され、接続維持回路16のシリアルデータ出力部16bはシリアルデータ出力端子6に接続される。
【0062】
ここで、シリアルデータ入力端子5からシリアル通信制御回路3のシリアルデータ入力部3aおよび接続維持回路15のシリアルデータ入力部15aへ送られるのが、シリアルデータ入力信号101である。また、シリアル通信制御回路3のシリアルデータ出力部3bから接続維持回路15のシリアルデータ入力部15cへ送られるのが、シリアルデータ出力信号102である。また、接続維持回路15のシリアルデータ出力端子15bからシリアル通信制御回路14のシリアルデータ入力部14aへ送られるのが、シリアルデータ出力信号107である。また、シリアル通信制御回路14のシリアルデータ出力部14bからシリアル通信制御回路4のシリアルデータ入力部4aおよび接続維持回路16のシリアルデータ入力部16aへ送られるのが、シリアルデータ入力信号108である。また、シリアル通信制御回路4のシリアルデータ出力部4bから接続維持回路16のシリアルデータ入力部16cへ送られるのが、シリアルデータ出力信号103である。また、接続維持回路16のシリアルデータ出力部16bからシリアルデータ出力端子6へ送られるのがシリアルデータ出力信号109である。
【0063】
さらに、プロセッサコア13が出力するプロセッサコア1,2の電源を個別に遮断する電源遮断制御信号110は、接続維持回路15,16と電源遮断状態出力端子17へ供給され、シリアル通信制御回路14の命令レジスタとバイパスデータレジスタのシフトアウトを通信ステート(Shift−IRステート、またはShift−DRステート)に応じて切り替える通信ステート信号111は、接続維持回路15,16へ供給される。
【0064】
また、接続維持回路15において、シリアルデータ入力信号101は、命令レジスタ19とバイパスデータレジスタ20とに入力され、命令レジスタ19の出力とバイパスデータレジスタ20の出力とは第1のセレクタ21に入力される。通信ステート信号111は第1のセレクタ21の切り替え信号として入力される。第1のセレクタ21の出力とシリアル通信制御回路3のシリアルデータ出力信号102とが第2のセレクタ22に入力される。電源遮断制御信号110は第2のセレクタ22の切り替え信号として入力される。第2のセレクタ22の出力はシリアルデータ出力信号107として出力される。
【0065】
この接続維持回路15は、通信ステート信号111がShift−IRステートを示すときは、第1のセレクタ21が命令レジスタ19の出力を選択し、通信ステート信号111がShift−DRステートを示すときは、第1のセレクタ21がバイパスデータレジスタ20の出力を選択する。また、電源遮断制御信号110が通電状態を示すときは、第2のセレクタ22がシリアル通信制御回路3のシリアルデータ出力信号102を選択し、電源遮断制御信号110が遮断状態を示すときは、第2のセレクタ22が第1のセレクタ21の出力を選択する。
【0066】
同様に、接続維持回路16において、シリアルデータ入力信号108は、命令レジスタ19とバイパスデータレジスタ20とに入力され、命令レジスタ19の出力とバイパスデータレジスタ20の出力とは第1のセレクタ21に入力される。通信ステート信号111は第1のセレクタ21の切り替え信号として入力される。第1のセレクタ21の出力とシリアル通信制御回路4のシリアルデータ出力信号103とが第2のセレクタ22に入力される。電源遮断制御信号110は第2のセレクタ22の切り替え信号として入力される。第2のセレクタ22の出力はシリアルデータ出力信号109として出力される。
【0067】
この接続維持回路16は、通信ステート信号111がShift−IRステートを示すときは、第1のセレクタ21が命令レジスタ19の出力を選択し、通信ステート信号111がShift−DRステートを示すときは、第1のセレクタ21がバイパスデータレジスタ20の出力を選択する。また、電源遮断制御信号110が通電状態を示すときは、第2のセレクタ22がシリアル通信制御回路3のシリアルデータ出力信号103を選択し、電源遮断制御信号110が遮断状態を示すときは、第2のセレクタ22が第1のセレクタ21の出力を選択する。
【0068】
また、プロセッサコア1とプロセッサコア2とは個別に電源遮断される領域にレイアウトされ、接続維持回路15,16およびプロセッサコア13は常時電源の入っている領域にレイアウトされる。
【0069】
以上のように構成された本実施の形態の半導体装置について、シリアル入力データとシリアル出力データの流れを中心にその動作を説明する。
【0070】
まず、全プロセッサコア1,13,2の電源が供給されていると、電源遮断制御信号110によって接続維持回路15はシリアルデータ出力信号102をシリアルデータ出力信号107として選択出力し、同様に接続維持回路16はシリアルデータ出力信号103をシリアルデータ出力信号109として選択出力する。
【0071】
4ビットの命令コード長を持つ、3個のシリアル通信制御回路3,14,4がシリアルデータ入力端子5とシリアルデータ出力端子6との間でチェーン接続されていると、シリアルデータ入力信号101としては、図9のように、プロセッサコア2に対する命令コードを先頭に、プロセッサコア1,13,2に対する命令コードを12ビットコード1009として連結される。図9はバイパス命令を3つ連結した例で、Shift−IRステートで命令レジスタに入力される命令コードに続き、Shift−DRステートでバイパスデータレジスタへ入力されるデータコードも同様に3命令分、3ビットコード1010として連結される。
【0072】
以上のように連結したシリアルデータ、すなわち、12ビットコード1009と3ビットコード1010とをシリアルデータ入力端子5から入力する。全プロセッサコア1,13,2の電源が供給されていると、シリアルデータ入力信号101、シリアル通信制御回路3、シリアルデータ出力信号102、接続維持回路15、シリアルデータ出力信号107、シリアル通信制御回路14、シリアルデータ出力信号108、シリアル通信制御回路4、シリアルデータ出力信号103、接続維持回路16、シリアルデータ出力信号109と順にシリアルデータが流れ、シリアルデータ出力端子6から出力される。つまり、全プロセッサコア1,13,2の電源が供給されている状態では、シリアル通信制御回路3,14,4がシリアルデータ入力端子5とシリアルデータ出力端子6との間でチェーン接続され、プロセッサコア1,13,2でのソフトウェアデバッグができる。
【0073】
つぎに、プロセッサコア1のみ電源が遮断されていると、電源遮断制御信号110によって接続維持回路15は命令レジスタ19の出力またはバイパスレジスタ20の出力をシリアルデータ出力信号107として出力し、接続維持回路16はシリアルデータ出力信号103をシリアルデータ出力信号109として出力する。このとき、プロセッサコア1,2は、システムLSIのマスタコアとなるプロセッサコア13によって電源遮断が制御されるので、電源遮断制御信号110はプロセッサコア13から出力される。
【0074】
通常、プロセッサコアのソフトウェアをデバッグするため、JTAGにプライベート命令を追加すると、プライベート命令の種類やそのプライベート命令に対するデータレジスタ長はおのおのプロセッサコア独自のものになるため、電源遮断されているプロセッサコアの位置を正しく判別し、バイパス命令を正確に連結してシリアルデータを生成しなければならない。
【0075】
電源遮断状態出力端子17によりプロセッサコア1の電源が遮断されていることが分かるので、図10のように、プロセッサコア1のチェーン位置にバイパス命令‘1111’を連結したシリアルデータ1011,1012をシリアルデータ入力端子5からシリアルデータ入力信号101として入力すると、シリアルデータ入力信号101、接続維持回路15、シリアルデータ出力信号107、シリアル通信制御回路14、シリアルデータ出力信号108、シリアル通信制御回路4、シリアルデータ出力信号103、接続維持回路16、シリアルデータ出力信号109と順にシリアルデータが流れ、シリアルデータ出力端子6から出力される。
【0076】
このとき、接続維持回路15においては、命令データのシフトステート(Shift−IRステート)では命令レジスタ19の出力が第1および第2のセレクタ21,22で選択され、データのシフトステート(Shift−DRステート)ではバイパスデータレジスタ20の出力が第1および第2のセレクタ21,22で選択される。つまり、接続維持回路15とシリアル通信制御回路14,4がチェーン接続され、プロセッサコア13,2でのソフトウェアデバッグが継続できる。
【0077】
なお、図10はプロセッサコア2,13に挿入した命令コードに対するデータコード長はそれぞれ2ビットでの例で、データレジスタ出力1013の先頭にプロセッサコア1で実行したバイパス命令の出力規定値であるバイナリコード‘0’が出力される。
【0078】
この半導体装置によれば、電源を遮断されたプロセッサコア1のシリアル通信制御回路3の代わりに、接続維持回路15がシリアル通信を継続させるため、シリアルデータ入力端子5からシリアルデータ出力端子6までチェーン接続が維持できる。さらに、プロセッサコアのレイアウトデータはプロセッサコア単体でのレイアウトデータを変更せずそのまま使用できるため、システムLSIのためにプロセッサコアのレイアウトデータを再生成する必要は生じない。
【0079】
また、この半導体装置によれば、バイパス命令実行時、バイパス命令コードが命令レジスタ19へシフトインされ、1ビットのデータがバイパスデータレジスタ20へシフトインされ、また、シリアル通信ステートに応じて命令レジスタ出力とバイパスデータレジスタ出力とを選択する第1のセレクタ21と、プロセッサコアの電源を個別に遮断する信号により第1のセレクタ21の出力とシリアル通信制御回路3のデータレジスタ出力とを選択する第2のセレクタ22とを通し、チェーン接続される次のシリアル通信制御回路14にシリアルデータを送ることができる。そのため、シリアルデータ入力端子5からシリアルデータ出力端子6までのチェーン接続を維持することができる。デバッグ用レジスタを含めたシリアル通信制御回路と同じ回路を接続維持回路に含めてもチェーン接続は維持できるが、接続維持回路の回路規模が大きくなり、消費電力が増加することになる。本実施の形態における接続維持回路15,16の構成は、シリアル通信制御回路に比べ、回路規模を抑えることができるため、消費電力の増加を最小限に抑えることができる。その際、どのプロセッサコアの電源が遮断されているかを外部へ通知するため、電源遮断制御信号110を電源遮断状態出力端子17へ出力することになるが、各プロセッサコアについて個別にシリアルデータ端子を持たせた従来構成に比べ、少ない端子増加に抑えられる。
【0080】
したがって、プロセッサコアの電源を個別に遮断する信号をもとにシリアル通信制御回路3,4のシリアルデータ入力部とシリアルデータ出力部の間のシリアル通信を個別にバイパスする接続維持回路15,16を設け、その接続維持回路15,16はデータ長が最も短いバイパス命令に必要な1ビットのバイパスデータレジスタ20と接続維持対象のシリアル通信制御回路と同ビット長の命令レジスタ19と命令レジスタ19およびバイパスデータレジスタ20の出力を選択する第1のセレクタ21と第1のセレクタ21の出力とシリアル通信制御回路3,4からのデータレジスタ出力とを選択する第2のセレクタ22とを設けることにより、常時電源が供給される領域にレイアウトされる回路規模を最小限に抑えることができ、それによって消費電力の増加を最小限に抑えるとともに、端子数の増加を最小限に抑え、プロセッサコア単体のレイアウトデータをシステムLSIのために再生成することなく、ソフトウェアデバッグ対象外のプロセッサコアの電源が遮断されても他のプロセッサコアのソフトウェアデバッグを継続できる半導体装置を提供することができる。
【0081】
以上のように、本発明の第1の実施の形態によれば、プロセッサコア1,13,2のレイアウトデータはプロセッサコア単体でのレイアウトデータを変更せず使用できるため、プロセッサコア単体のレイアウトデータをシステムLSIのために再生成する必要がなく、最短のデータレジスタ長を持つ接続維持回路15により、電源が供給され動作しているプロセッサコア13,2に対してのシリアル通信が継続されるため、消費電力の増加を最小限に抑えて、ソフトウェアデバッグ対象外のプロセッサコア1の電源が遮断されてもソフトウェアデバッグを継続できる。
【0082】
(第2の実施の形態)
図3は本発明の第2の実施の形態における半導体装置(システムLSI)の構成を示すブロック図であり、図4は本発明の第2の実施の形態における接続維持回路の構成を示すブロック図である。
【0083】
図3において、1,2および13はソフトウェアデバッグのためのシリアル通信制御回路を個別に具備するプロセッサコアである。3,4および14はプロセッサコア1,2,13が具備するシリアル通信制御回路である。15Y,16Yはシリアル通信制御回路3,4のシリアル接続を代替する接続維持回路である。プロセッサコア13はマスタコアであり、電源が個別に遮断される構成ではないので、シリアル通信制御回路14の接続を代替する接続維持回路は設けられていない。
【0084】
5は外部からシリアルデータを入力するシリアルデータ入力端子である。6はシリアルデータを外部へ出力するシリアルデータ出力端子である。23はプロセッサコア1,2,13と接続維持回路15Y,16Yとシリアルデータ入力端子5およびシリアルデータ出力端子6(1組のシリアルデータ端子)とを備えた半導体装置(システムLSI)である。
【0085】
図4において、19はシリアル通信で挿入される命令を保持する命令レジスタである。24はバイパス命令実行時に選択される電源状態レジスタである。21はシリアル通信の通信ステート信号111に応じて命令レジスタ19の出力と電源状態レジスタ24の出力とを選択する第1のセレクタである。22はプロセッサコア1,2の電源遮断を個別に制御する電源遮断制御信号110によりプロセッサコア1,2が具備するシリアル通信制御回路3,4のデータ出力と第1のセレクタ21の出力とを選択する第2のセレクタである。15Yは命令レジスタ19と電源状態レジスタ24と第1および第2のセレクタ21,22とを備えた接続維持回路である。接続維持回路16Yも、接続維持回路15Yと同じ構成である。
【0086】
シリアルデータ入力端子5はシリアル通信制御回路3のシリアルデータ入力部3aと接続維持回路15Yのシリアルデータ入力部15aとに接続され、シリアル通信制御回路3のシリアルデータ出力部3bは接続維持回路15Yのシリアルデータ入力部15cに接続され、接続維持回路15Yのシリアルデータ出力部15bはシリアル通信制御回路14のシリアルデータ入力部14aに接続される。また、シリアル通信制御回路14のシリアルデータ出力部14bはシリアル通信制御回路4のシリアルデータ入力部4aと接続維持回路16Yのシリアルデータ入力部16aとに接続され、シリアル通信制御回路4のシリアルデータ出力部4bは接続維持回路16Yのシリアルデータ入力部16cに接続され、接続維持回路16Yのシリアルデータ出力部16bはシリアルデータ出力端子6に接続される。
【0087】
ここで、シリアルデータ入力端子5からシリアル通信制御回路3のシリアルデータ入力部3aおよび接続維持回路15Yのシリアルデータ入力部15aへ送られるのが、シリアルデータ入力信号101である。また、シリアル通信制御回路3のシリアルデータ出力部3bから接続維持回路15Yのシリアルデータ入力部15cへ送られるのが、シリアルデータ出力信号102である。また、接続維持回路15Yのシリアルデータ出力端子15bからシリアル通信制御回路14のシリアルデータ入力部14aへ送られるのが、シリアルデータ出力信号107である。また、シリアル通信制御回路14のシリアルデータ出力部14bからシリアル通信制御回路4のシリアルデータ入力部4aおよび接続維持回路16Yのシリアルデータ入力部16aへ送られるのが、シリアルデータ入力信号108である。また、シリアル通信制御回路4のシリアルデータ出力部4bから接続維持回路16Yのシリアルデータ入力部16cへ送られるのが、シリアルデータ出力信号103である。また、接続維持回路16Yのシリアルデータ出力部16bからシリアルデータ出力端子6へ送られるのがシリアルデータ出力信号109である。
【0088】
さらに、プロセッサコア13が出力するプロセッサコア1,2の電源を個別に遮断する電源遮断制御信号110は、接続維持回路15Y,16Yへ供給され、シリアル通信制御回路14の命令レジスタとバイパスデータレジスタのシフトアウトを通信ステート(Shift−IRステート、またはShift−DRステート)に応じて切り替える通信ステート信号111は、接続維持回路15Y,16Yへ供給される。
【0089】
また、接続維持回路15Yにおいて、シリアルデータ入力信号101は、命令レジスタ19と電源状態レジスタ24とに入力され、命令レジスタ19の出力と電源状態レジスタ24の出力とは第1のセレクタ21に入力される。通信ステート信号111は第1のセレクタ21の切り替え信号として入力される。第1のセレクタ21の出力とシリアル通信制御回路3のシリアルデータ出力信号102とが第2のセレクタ22に入力される。電源遮断制御信号110は第2のセレクタ22の切り替え信号として入力される。第2のセレクタ22の出力はシリアルデータ出力信号107として出力される。
【0090】
この接続維持回路15Yは、通信ステート信号111がShift−IRステートを示すときは、第1のセレクタ21が命令レジスタ19の出力を選択し、通信ステート信号111がShift−DRステートを示すときは、第1のセレクタ21が電源状態レジスタ24の出力を選択する。また、電源遮断制御信号110が通電状態を示すときは、第2のセレクタ22がシリアル通信制御回路3のシリアルデータ出力信号102を選択し、電源遮断制御信号110が遮断状態を示すときは、第2のセレクタ22が第1のセレクタ21の出力を選択する。
【0091】
同様に、接続維持回路16Yにおいて、シリアルデータ入力信号108は、命令レジスタ19と電源状態レジスタ24とに入力され、命令レジスタ19の出力と電源状態レジスタ24の出力とは第1のセレクタ21に入力される。通信ステート信号111は第1のセレクタ21の切り替え信号として入力される。第1のセレクタ21の出力とシリアル通信制御回路4のシリアルデータ出力信号103とが第2のセレクタ22に入力される。電源遮断制御信号110は第2のセレクタ22の切り替え信号として入力される。第2のセレクタ22の出力はシリアルデータ出力信号109として出力される。
【0092】
この接続維持回路16Yは、通信ステート信号111がShift−IRステートを示すときは、第1のセレクタ21が命令レジスタ19の出力を選択し、通信ステート信号111がShift−DRステートを示すときは、第1のセレクタ21が電源状態レジスタ24の出力を選択する。また、電源遮断制御信号110が通電状態を示すときは、第2のセレクタ22がシリアル通信制御回路3のシリアルデータ出力信号103を選択し、電源遮断制御信号110が遮断状態を示すときは、第2のセレクタ22が第1のセレクタ21の出力を選択する。
【0093】
また、プロセッサコア1とプロセッサコア2とは個別に電源遮断される領域にレイアウトされ、接続維持回路15Y,16Yおよびプロセッサコア13は常時電源の入っている領域にレイアウトされる。
【0094】
以上のように構成された本実施の形態の半導体装置について、シリアル入力データとシリアル出力データの流れにおいて、本発明の第1の実施の形態と異なる点を中心にその動作を説明する。
【0095】
プロセッサコア1のみ電源が遮断されているとき、シリアルデータ入力信号101として、図9、図11のようにバイパス命令を3つ連結したシリアルデータ1009をシリアルデータ入力端子5から入力すると、接続維持回路15Yとシリアル通信制御回路14,4でバイパス命令が実行され、接続維持回路15Yは電源状態レジスタ24の出力をバイナリコード‘1’とすると、シリアル通信制御回路14,4でのバイパス命令データ出力規定値‘00’と連結され、図11のデータレジスタ出力1014のようにバイナリコードが‘001’として出力される。つまり、バイパス命令実行でのバイナリコード出力によりバイナリコード‘1’の位置により電源遮断されているプロセッサコア1を判別することができる。したがって、第1の実施の形態のように電源遮断状態出力端子17より電源遮断状態を出力することなく、シリアル通信端子により電源遮断されているプロセッサコア1を判別することができる。
【0096】
ここで、電源状態レジスタ24についてさらに説明する。レジスタの基本構成としては、バイパスデータレジスタと変わらない。つまり、バイパスデータレジスタとして使用するの場合、“0”を格納するが、電源状態レジスタとして使用する場合、“1”を格納し、“1”が格納されていることをもって、電源遮断されていることを示す。以下、電源遮断されているプロセッサコア1に対応した接続維持回路15Yの電源状態レジスタ24への電源遮断を示すデータ‘1’の設定について、さらに詳しく説明する。
【0097】
プロセッサコア1が電源遮断されていることを示すために、接続維持回路15Yの電源状態レジスタ24を固定値の“1”とする。バイパス命令の出力規定値は“0”であるが、デバッグ時(デバッグ専用テスタが接続)のことであるので、JTAG規定にわざと違反させることにより、電源遮断されたプロセッサ位置を検出できるようにしている。固定値であるが、これにより電源状態が分かる/反映されるという意味で、上記の“1”を格納したレジスタを電源状態レジスタとしている。
【0098】
なお、電源状態レジスタへの“1”の格納は、バイパスデータレジスタの場合と同様に、キャプチャDRステートで行われ、“0”ではなく“1”がロードされる。バイパスレジスタは出力値が“0”に固定され、電源状態レジスタは出力値が“1”に固定されるという点以外は同じであり、使用目的が異なるのみである。詳細回路での実現方法はいろいろあるが、バイパス命令でのキャプチャDRステート時、シフトレジスタへロードされる信号が“0”固定か、“1”固定かの違いのみである。
【0099】
なお、この実施の形態では、バイパスデータレジスタがなくなっているが、問題は生じない。すなわち、汎用のバウンダリスキャンテスタを接続して電源遮断が起こると具合が悪いが、部分的な電源遮断をしながらボード上の配線テストをすることはないので、問題は起こらない。バイパスデータレジスタは、多数あるLSIのうち、バウンダリスキャンするLSIのみデータをシフトし、テストを高速化するレジスタである。JTAGは、本来バウンダリスキャンテストにより、ボード上のLSI間配線テスト(実装確認のためのテスト)を行う規格である。
【0100】
この半導体装置によれば、バイパス命令時、バイパス命令コードが命令レジスタ19へシフトインされ、1ビットのデータが電源状態レジスタ24へシフトインされ、また、シリアル通信ステートに応じて命令レジスタ出力と電源状態レジスタ出力から出力を選択する第1のセレクタ21と、プロセッサコアの電源を個別に遮断する信号により第1のセレクタ21の出力とシリアル通信制御回路3のデータレジスタ出力から出力を選択する第2のセレクタ22を通し、チェーン接続される次のシリアル通信制御回路14にシリアルデータを送ることができる。そのため、シリアルデータ入力端子5からシリアルデータ出力端子6までのチェーン接続を維持することができる。また、その時のデータレジスタ出力として電源状態を出力するため、チェーン接続の中でどのプロセッサコアの電源が遮断されているか判別することができる。
【0101】
したがって、接続維持回路15Y,16Yでバイパスレジスタ20の代わりに電源状態レジスタ24を設けることで、シリアルデータ出力端子6から電源遮断されているプロセッサコアを判別できる。そのため、端子数を増やすことなく、またプロセッサコア単体のレイアウトデータをシステムLSIのために再生成する必要なく、消費電力の増加を最小限に抑えて、ソフトウェアデバッグ対象外のプロセッサコアの電源が遮断されても他のプロセッサコアのソフトウェアデバッグを継続できる半導体装置を提供することができる。
【0102】
以上のように、本発明の第2の実施の形態によれば、接続維持回路15Yに第1の実施の形態のようなバイパスデータレジスタ20の代わりに電源状態レジスタ24を設けることで、シリアルデータ端子から電源遮断されているプロセッサコア1を判別できるため、端子数を増やすことなく、またプロセッサコア単体のレイアウトデータをシステムLSIのために再生成する必要なく、消費電力の増加を最小限に抑えて、ソフトウェアデバッグ対象外のプロセッサコア1の電源が遮断されても他のプロセッサコアのソフトウェアデバッグを継続できる。
【0103】
(第3の実施の形態)
図5は本発明の第3の実施の形態における半導体装置(システムLSI)の構成を示すブロック図であり、図6は本発明の第3の実施の形態における接続維持回路の構成を示すブロック図である。
【0104】
図5において、1,2および13はソフトウェアデバッグのためのシリアル通信制御回路を個別に具備するプロセッサコアである。3,4および14はプロセッサコア1,2,13が具備するシリアル通信制御回路である。15Z,16Zはシリアル通信制御回路3,4のシリアル接続を代替する接続維持回路である。プロセッサコア13はマスタコアであり、電源が個別に遮断される構成ではないので、シリアル通信制御回路14の接続を代替する接続維持回路は設けられていない。
【0105】
5は外部からシリアルデータを入力するシリアルデータ入力端子である。6はシリアルデータを外部へ出力するシリアルデータ出力端子である。25はプロセッサコア1,2,13と接続維持回路15Z,16Zとシリアルデータ入力端子5およびシリアルデータ出力端子6(1組のシリアルデータ端子)とを備えた半導体装置(システムLSI)である。
【0106】
図6において、19はシリアル通信で挿入される命令を保持する命令レジスタである。24はバイパス命令実行時に選択される電源状態レジスタである。21はシリアル通信の通信ステート信号111に応じて命令レジスタ19の出力と電源状態レジスタ24の出力を選択する第1のセレクタである。26はプロセッサコア1,2の電源遮断を個別に制御する電源遮断制御信号110を一時保持し、通信ステート信号112によりリセットされる信号保持回路である。22は信号保持回路26の出力信号によりプロセッサコア1,2が具備するシリアル通信制御回路3,4のデータ出力と第1のセレクタ21の出力を選択する第2のセレクタである。15Zは命令レジスタ19と電源状態レジスタ24と第1および第2のセレクタ21,22と信号保持回路26とを備えた接続維持回路である。接続維持回路16Zも、接続維持回路15Zと同じ構成である。
【0107】
シリアルデータ入力端子5はシリアル通信制御回路3のシリアルデータ入力部3aと接続維持回路15Zのシリアルデータ入力部15aとに接続され、シリアル通信制御回路3のシリアルデータ出力部3bは接続維持回路15Zのシリアルデータ入力部15cに接続され、接続維持回路15Zのシリアルデータ出力部15bはシリアル通信制御回路14のシリアルデータ入力部14aに接続される。また、シリアル通信制御回路14のシリアルデータ出力部14bはシリアル通信制御回路4のシリアルデータ入力部4aと接続維持回路16Zのシリアルデータ入力部16aとに接続され、シリアル通信制御回路4のシリアルデータ出力部4bは接続維持回路16Zのシリアルデータ入力部16cに接続され、接続維持回路16Zのシリアルデータ出力部16bはシリアルデータ出力端子6に接続される。
【0108】
ここで、シリアルデータ入力端子5からシリアル通信制御回路3のシリアルデータ入力部3aおよび接続維持回路15Zのシリアルデータ入力部15aへ送られるのが、シリアルデータ入力信号101である。また、シリアル通信制御回路3のシリアルデータ出力部3bから接続維持回路15Zのシリアルデータ入力部15cへ送られるのが、シリアルデータ出力信号102である。また、接続維持回路15Zのシリアルデータ出力端子15bからシリアル通信制御回路14のシリアルデータ入力部14aへ送られるのが、シリアルデータ出力信号107である。また、シリアル通信制御回路14のシリアルデータ出力部14bからシリアル通信制御回路4のシリアルデータ入力部4aおよび接続維持回路16Zのシリアルデータ入力部16aへ送られるのが、シリアルデータ入力信号108である。また、シリアル通信制御回路4のシリアルデータ出力部4bから接続維持回路16Zのシリアルデータ入力部16cへ送られるのが、シリアルデータ出力信号103である。また、接続維持回路16Zのシリアルデータ出力部16bからシリアルデータ出力端子6へ送られるのがシリアルデータ出力信号109である。
【0109】
さらに、プロセッサコア13が出力するプロセッサコア1,2の電源を個別に遮断する電源遮断制御信号110は、接続維持回路15Z,16Zへ供給され、シリアル通信制御回路14の命令レジスタとバイパスデータレジスタのシフトアウトを通信ステート(Shift−IRステート、またはShift−DRステート)に応じて切り替える通信ステート信号111は、接続維持回路15Z,16Zへ供給される。また、シフトインしたデータレジスタのアップデートを制御する通信ステート信号112は接続維持回路15Z,16Zへ供給される。
【0110】
また、接続維持回路15Zにおいて、シリアルデータ入力信号101は、命令レジスタ19と電源状態レジスタ24とに入力され、命令レジスタ19の出力と電源状態レジスタ24の出力とは第1のセレクタ21に入力される。通信ステート信号111は第1のセレクタ21の切り替え信号として入力される。通信ステート信号112は信号保持回路26のクリア信号として入力される。第1のセレクタ21の出力とシリアル通信制御回路3のシリアルデータ出力信号102とが第2のセレクタ22に入力される。電源遮断制御信号110は信号保持回路26に入力され、信号保持回路26の出力信号であるセレクタ切り替え信号113は第2のセレクタ22の切り替え信号として入力される。第2のセレクタ22の切り替え信号として入力される。第2のセレクタ22の出力はシリアルデータ出力信号107として出力される。
【0111】
この接続維持回路15Zは、通信ステート信号111がShift−IRステートを示すときは、第1のセレクタ21が命令レジスタ19の出力を選択し、通信ステート信号111がShift−DRステートを示すときは、第1のセレクタ21が電源状態レジスタ24の出力を選択する。また、信号保持回路26の出力信号が通電状態を示すときは、第2のセレクタ22がシリアル通信制御回路3のシリアルデータ出力信号102を選択し、信号保持回路26の出力信号が遮断状態を示すときは、第2のセレクタ22が第1のセレクタ21の出力を選択する。
【0112】
同様に、接続維持回路16Zにおいて、シリアルデータ入力信号108は、命令レジスタ19と電源状態レジスタ24とに入力され、命令レジスタ19の出力と電源状態レジスタ24の出力とは第1のセレクタ21に入力される。通信ステート信号111は第1のセレクタ21の切り替え信号として入力される。通信ステート信号112は信号保持回路26のクリア信号として入力される。第1のセレクタ21の出力とシリアル通信制御回路4のシリアルデータ出力信号103とが第2のセレクタ22に入力される。電源遮断制御信号110は信号保持回路26に入力され、信号保持回路26の出力信号であるセレクタ切り替え信号113は第2のセレクタ22の切り替え信号として入力される。第2のセレクタ22の出力はシリアルデータ出力信号109として出力される。
【0113】
この接続維持回路16Zは、通信ステート信号111がShift−IRステートを示すときは、第1のセレクタ21が命令レジスタ19の出力を選択し、通信ステート信号111がShift−DRステートを示すときは、第1のセレクタ21が電源状態レジスタ24の出力を選択する。また、信号保持回路26の出力信号が通電状態を示すときは、第2のセレクタ22がシリアル通信制御回路3のシリアルデータ出力信号103を選択し、信号保持回路26の出力信号が遮断状態を示すときは、第2のセレクタ22が第1のセレクタ21の出力を選択する。
【0114】
また、プロセッサコア1とプロセッサコア2とは個別に電源遮断される領域にレイアウトされ、接続維持回路15Z,16Zおよびプロセッサコア13は常時電源の入っている領域にレイアウトされる。
【0115】
以上のように構成された本実施の形態の半導体装置について、シリアル入力データとシリアル出力データの流れにおいて、本発明の第2の実施の形態と異なる点を中心にその動作を説明する。
【0116】
プロセッサコア1のみ電源が短い期間遮断された後、シリアルデータ入力信号101として、図9、図12のようにバイパス命令を3つ連結したシリアルデータ1009をシリアルデータ入力端子5から入力すると、図12のように、プロセッサコア1の電源を個別に遮断する電源遮断制御信号110は信号保持回路26でセレクタ切り替え信号113として保持され、ステート遷移を制御する信号のうちUpdate−DRステートでデータレジスタにシフトインしたシリアルデータをアップデートするタイミングを示す通信ステート信号112でセレクタ切り替え信号113をクリアすることで、一度は瞬間的に電源遮断されたプロセッサコア1を判別できる情報をシリアルデータ1014として出力し、次のシリアル通信からは電源の入っているプロセッサコアのシリアル通信制御回路からのシリアルデータを出力できるようになる。つまり、次のシリアル送信では、プロセッサコア1,13,2、すべてのコアに電源が供給されているので、各コアのシリアル通信制御回路からシリアルデータを出力できる。プロセッサコア1は、一度瞬停を外部(デバッグ装置)へ知らせるためのデータを出力後、次のシリアル通信からは正常に戻る。
【0117】
ここで、プロセッサコア1の一時的な電源遮断の原因について説明する。一般に、瞬停と言われ、雷や使用者の瞬間的な電源オン/オフ操作、その他、電気製品のシステム仕様上(低消費電力モードに移行した直後に何らかの起動要因が起こり、デバッグ状態を想定していない短い電源遮断等)、起こることがあり得る。
【0118】
なお、電源遮断されているプロセッサコア1に対応した接続維持回路15Zの電源状態レジスタ24へのデータ‘1’の設定は、先の実施の形態と同様である。
【0119】
通常、電源再供給時、プロセッサコアはリセットされるため、外部へその状態を知らせることなく制御されると外部が認識しているプロセッサコアの状態と不一致が起こり、制御不能になる可能性があるが、電源状態レジスタ24を読み出すまで、信号保持回路26が電源状態レジスタ24の値をシリアル出力として選択し続け、その値を読み出すことにより、チェーン接続の中でどのプロセッサコアの電源が遮断されたかを判別することができるので、外部の認識との不一致は起こらず、制御不能になることがない。
【0120】
ここで、電源が遮断されたプロセッサコアを判別できることで、外部の認識との不一致は起こらない理由について説明する。外部のデバッグ装置は、JTAG命令によって、プロセッサコア内部のメモリやレジスタ資源をアクセスし、また、プロセッサコアの状態をパーソナルコンピュータでのデバッガ画面に表示させている。その表示内容と実際のプロセッサコアの状態(メモリ、レジスタ内容を含む)と不一致が起こる可能性があり、また、デバッグのため設定していたブレークイベント等も、リセットされてしまうこともあり得る。デバッグ装置がプロッセッサコアのリセットを検出することにより、デバッガ表示へ反映させることができ、不一致を防ぐことができる。
【0121】
不一致が起こると、場合によっては、デバッグ装置が想定していない反応をプロセッサコアが行い、デバッグ装置が制御不能と判断することもあり得る。例えば、リセット後、デバッグ用にJTAG経由である初期化処理を行わなければ、デバッグ容量−プロッセサコア間の通信ができない仕様のプロセッサコアもある。
【0122】
この半導体装置によれば、第2の実施の形態と同様な作用効果のほか、接続維持対象のプロセッサコア1の電源が瞬間的に遮断されても、接続維持回路15Z内の命令レジスタ出力あるいは電源状態データレジスタ出力を第1のセレクタ21で選択して、チェーン接続されるシリアル通信制御回路14にシリアルデータを送ることができる。そのため、不定値のシリアルデータを送ることなく、チェーン接続を維持できる。さらに通常、電源再供給時、プロセッサコア1はリセットされるため、外部へその状態を知らせることなく制御されると外部が認識しているプロセッサコア1の状態と不一致が起こり、制御不能になる可能性があるが、電源状態レジスタ24を読み出すまで、電源状態レジスタ24の値を保持し、その値を読み出すことにより、チェーン接続の中でどのプロセッサコアの電源が遮断されたかを判別することができるので、外部の認識との不一致は起こらず、制御不能になることがない。
【0123】
したがって、接続維持回路15Z,16Zに、プロセッサコア1,2の電源を個別に遮断する信号の信号保持回路26をさらに備えることで、第2の実施の形態と同様な作用効果が得られるほか、接続維持対象のプロセッサコア1の電源が瞬間的に遮断されても、制御不能な状態になることなく、他のプロセッサコア2,13のソフトウェアデバッグを継続することができる。
【0124】
以上のように、本発明の第3の実施の形態によれば、第2の実施の形態による効果のほか、接続維持対象のプロセッサコア1の電源が瞬間的に遮断されても、電源が瞬間的に遮断されたプロセッサコアを判別できるので、制御不能な状態になることなく、プロセッサコア2,13だけでなく、プロセッサコア1についても、ソフトウェアデバッグを継続することができる。
【0125】
(第4の実施の形態)
図7は本発明の第4の実施の形態における半導体装置(システムLSI)の構成を示すブロック図である。
【0126】
図7において、本発明の第1の実施の形態と同じ構成要素は同じ符号を付して説明を省略し、異なる点を中心に説明する。
【0127】
図7において、1,2はソフトウェアデバッグのためのシリアル通信制御回路を個別に具備するプロセッサコアである。3,4はプロセッサコア1,2が具備するシリアル通信制御回路である。15,16はシリアル通信制御回路3,4のシリアル接続を代替する接続維持回路である。
【0128】
5は外部からシリアルデータを入力するシリアルデータ入力端子である。6はシリアルデータを外部へ出力するシリアルデータ出力端子である。27はプロセッサコア1とプロセッサコア2の実行やリセット等の制御を同時に行うためのコア間同期制御回路(組み合わせ回路等を含む)である。28はコア間同期制御回路27のシリアル通信を制御するシリアル通信制御回路である。29はプロセッサコア1,2の電源を個別に遮断する電源遮断制御信号110を入力するための電源遮断制御信号入力端子である。30はプロセッサコア1,2と接続維持回路15,16とコア間同期制御回路27とシリアル通信制御回路28とシリアルデータ入力端子5およびシリアルデータ出力端子6(1組のシリアルデータ端子)と電源遮断制御信号入力端子29とを備えた半導体装置(システムLSI)である。
【0129】
ここで、シリアル通信制御回路が、コア間同期制御回路27のシリアル通信を制御する点について、具体的に説明する。シリアル通信制御回路は、JTAGの場合、TAPコントローラのことである。TMS(テストモードセレクト)とTCK(テストクロック)により、16種の通信ステートへ移行させ、それに必要な制御信号を生成している。
【0130】
大まかにいうと、命令を命令レジスタ(IR)へキャプチャ後シフトインしてからアップデートすることでJTAG命令を挿入し、その命令に対応したデータをデータレジスタ(DR)へ同じくキャプチャ、シフトイン、アップデートすることで、そのJTAG命令の実行が完了する。なお、キャプチャしたデータレジスタ(DR)の値は、シフトアウトされるので、その値を外部で受け取り、チップ内部(プロセッサコア内部)の状態を取り出すことができる。
【0131】
シリアルデータ入力端子5はシリアル通信制御回路28のシリアルデータ入力部28aに接続され、シリアル通信制御回路28のシリアルデータ出力部28bはシリアル通信制御回路3のシリアルデータ入力部3aと接続維持回路15のシリアルデータ入力部15aとに接続され、シリアル通信制御回路3のシリアルデータ出力部3bは接続維持回路15のシリアルデータ入力部15cに接続され、接続維持回路15のシリアルデータ出力部15bはシリアル通信制御回路4のシリアルデータ入力部4aと接続維持回路16のシリアルデータ入力部16aに接続され、シリアル通信制御回路4のシリアルデータ出力部4bは接続維持回路16のシリアルデータ入力部16cに接続され、接続維持回路16のシリアルデータ出力部16bはシリアルデータ出力端子6に接続される。
【0132】
ここで、シリアルデータ入力端子5からシリアル通信制御回路28のシリアルデータ入力部28aへ送られるのがシリアルデータ入力信号101である。シリアル通信制御回路28のシリアルデータ出力部28bからシリアル通信制御回路3のシリアルデータ入力部3aおよび接続維持回路15のシリアルデータ入力部15aへ送られるのが、シリアルデータ入力信号118である。また、シリアル通信制御回路3のシリアルデータ出力部3bから接続維持回路15のシリアルデータ入力部15cへ送られるのが、シリアルデータ出力信号102である。また、接続維持回路15のシリアルデータ出力端子15bからシリアル通信制御回路4のシリアルデータ入力部4aおよび接続維持回路16のシリアルデータ入力部16aへ送られるのが、シリアルデータ入力信号107である。また、シリアル通信制御回路4のシリアルデータ出力部4bから接続維持回路16のシリアルデータ入力部16cへ送られるのが、シリアルデータ出力信号103である。また、接続維持回路16のシリアルデータ出力部16bからシリアルデータ出力端子6へ送られるのがシリアルデータ出力信号109である。
【0133】
また、プロセッサコア1とプロセッサコア2は個別に電源遮断される領域にレイアウトされ、接続維持回路15と接続維持回路16とコア間同期制御回路27、シリアル通信回路28とは常時電源の入っている領域にレイアウトされる。
【0134】
シリアル通信制御回路28の命令レジスタとデータレジスタのシフトアウトを通信ステートに応じて切り替える通信ステート信号111は接続維持回路15,16に入力され、動作モード等、プロセッサコア1,2の状態を示す信号やイベントヒット信号等がプロセッサコアステータス信号114,115としてプロセッサコア1,2からコア間同期制御回路27にそれぞれ入力され、コア間同期制御回路27の同期制御出力信号116,117がそれぞれプロセッサコア1,2に入力され、コア間同期制御回路27の条件設定はシリアル通信制御回路28で制御される。
【0135】
コア間同期制御回路はシステムLSIに一つあればよく、どれかのプロセッサコアに元々内蔵している機能ではない。システムLSIによってプロセッサコアの種類や数が変わるためである。また、接続維持回路やJTAGレジスタを含むコア間同期制御回路には、シリアル(JTAG)通信を制御する回路(TAPコントローラ)が必要である。そのシリアル通信制御回路は、常時電源オンの領域にレイアウトされている必要もあり、コア間同期制御回路とセットで1組のJTAG回路として図7のように配置している。
【0136】
ここで、コア間同期制御回路の設定とは、JTAGレジスタで同期制御の条件を設定することになるので、条件設定と表現した。
【0137】
シリアル通信制御回路28を通してコア間同期制御回路27に設定した信号が同期制御出力信号116,117として同時にあるいは個別に出力される。また、あらかじめコア間同期制御回路27にプロセッサコアステータス信号114,115の入力に対する論理和、論理積等、条件を設定しておくと、同時に実行開始あるいは実行停止させたり、同時にリセットを発生、あるいはプロセッサコア1の状態によってプロセッサコア2の実行を制御させるなど指定条件で同期制御出力信号116,117として出力される。
【0138】
同一システムLSIに各プロセッサコアの電源遮断を制御するマスタコアとなるプロセッサコアが存在する場合は、マスタコアとなるプロセッサコアのデバッグ回路にコア間同期制御回路を備えることもできるが、システムLSIの構成毎にコア間同期制御回路の構成を変更する必要が発生する。それではマスタコアの単体レイアウトデータをその度に生成し直すことになるが、プロセッサコア1,2とは独立してコア間同期制御回路27を備えることで、各プロセッサコア1,2の単体レイアウトデータを生成し直す必要はなくなる。その際、シリアル通信のステート信号111はシリアル通信制御回路28の通信ステータスを使用すれば、マスタコア自体、システムLSIに備える必要が無く、システムLSI外部から電源遮断制御信号入力端子29により、個別にプロセッサコア1,2の電源遮断を制御することもできる。
【0139】
この半導体装置によれば、第1の実施の形態と同様な作用効果が得られるほか、コア間同期制御回路27への通信を制御するシリアル通信制御回路28の通信ステート信号を使用できるので、常時電源が供給される領域に電源遮断を制御するプロセッサコア(マスタコア)をレイアウトすることなく、外部から電源遮断を制御できる。さらに、統合するプロセッサコアの数に合わせたプロセッサコア間のコア間同期制御回路27を設けることにより、ソフトウェアデバッグのための同期制御ができるようになる。
【0140】
以上のように、本発明の第4の実施の形態によれば、第1の実施に形態による効果のほかに、複数のプロセッサコア1,2を同時に制御したり、あるプロセッサコア、例えば2の状態で他のプロセッサコア、例えば1を制御する等のコア間の同期制御および外部からの個別プロセッサコアへの電源遮断制御が可能となる。
【0141】
(第5の実施の形態)
図8は本発明の第5の実施の形態における半導体装置(システムLSI)の構成を示すブロック図である。図8において、本発明の第1の実施の形態と同じ構成要素は同じ符号を付して説明を省略し、異なる点を中心に説明する。
【0142】
図8において、1,2および13はソフトウェアデバッグのためのシリアル通信制御回路を個別に具備するプロセッサコアである。3,4および14はプロセッサコア1,2,13が具備するシリアル通信制御回路である。15,16はシリアル通信制御回路3,4のシリアル接続を代替する接続維持回路である。
【0143】
5は外部からシリアルデータを入力するシリアルデータ入力端子である。6はシリアルデータを外部へ出力するシリアルデータ出力端子である。31は接続維持回路15,16がレイアウトされる領域の電源遮断を制御する電源制御回路である。32は電源制御回路31への電源遮断制御信号入力端子である。33はプロセッサコア1,2と接続維持回路15,16と電源制御回路31とシリアルデータ入力端子5およびシリアルデータ出力端子6(1組のシリアルデータ端子)と電源制御信号入力端子32とを備えた半導体装置(システムLSI)である。
【0144】
また、プロセッサコア1とプロセッサコア2とは個別に電源遮断される領域にレイアウトされ、接続維持回路15と接続維持回路16および電源制御回路31は電源制御信号入力端子32で電源遮断される領域にレイアウトされる。
【0145】
シリアル通信制御回路3,4はソフトウェアデバッグ、あるいはバウンダリスキャンテスト時のみ動作させることになるので、シリアル通信制御回路へのリセット信号端子等を電源制御信号入力端子32として使用すれば、端子数を増やすことなく、消費電力を少なくすべき通常モードでは接続維持回路15,16の電源を遮断できる。
【0146】
この半導体装置によれば、第1の実施の形態と同様な作用効果が得られるほか、常時電源が供給される領域にレイアウトされる接続維持回路15,16の電源をデバッグ時のみ電源供給するよう制御できるので、通常モードでは消費電力を増やすことなく、ソフトウェアデバッグを継続することができる。
【0147】
以上のように、本発明の第5の実施の形態によれば、第1の実施に形態による効果のほかに、消費電力が増加することなく、ソフトウェアデバッグを継続することができる。
【0148】
なお、上記の実施の形態では、個別に電源遮断可能なプロセッサコアが2台以上ある場合あるいは、それらと個別には電源遮断できないマスタコアとの組み合わせの構成について説明したが、個別に電源遮断が可能な1つのプロセッサコアと個別に電源遮断ができない1つのプロセッサコア(マスタコア)との組み合わせの場合についても、本発明を適用できる。
【0149】
【発明の効果】
請求項1,2記載の半導体装置によれば、シリアル通信制御回路間の接続を個別に維持する接続維持回路を設けることにより、消費電力の増加を最小限に抑えるとともに、端子数の増加を最小限に抑え、プロセッサコア単体のレイアウトデータをシステムLSIのために再生成することなく、ソフトウェアデバッグ対象外のプロセッサコアの電源が遮断されてもソフトウェアデバッグを継続できる半導体装置を提供することができる。
【0150】
請求項3記載の半導体装置によれば、接続維持回路のバイパスレジスタの代わりに電源状態レジスタを設けることで、端子数を増やすことなく、またプロセッサコア単体のレイアウトデータをシステムLSIのために再生成する必要なく、消費電力の増加を最小限に抑え、ソフトウェアデバッグ対象外のプロセッサコアの電源が遮断されてもソフトウェアデバッグを継続できる半導体装置を提供することができる。
【0151】
請求項4記載の半導体装置によれば、接続維持回路に、プロセッサコアの電源を個別に遮断する信号の信号保持回路をさらに備えることで、請求項3と同様な効果のほか、接続維持対象のプロセッサコアの電源が瞬間的に遮断されても、制御不能な状態になることなく、ソフトウェアデバッグを継続することができる半導体装置を提供することができる。
【0152】
請求項5記載の半導体装置によれば、請求項1と同様な効果のほか、コア間同期制御回路への通信を制御するシリアル通信制御回路の通信ステート信号を使用できるので、常時電源が供給される領域に電源遮断を制御するプロセッサコアをレイアウトすることなく、外部から電源遮断を制御でき、さらに、統合するプロセッサコアの数に合わせたプロセッサコア間のコア間同期制御回路により、ソフトウェアデバッグのための同期制御が可能な半導体装置を提供することができる。
【0153】
請求項6記載の半導体装置によれば、請求項1と同様な効果のほか、常時電源が供給される領域にレイアウトされる接続維持回路の電源をデバッグ時のみ電源供給するよう制御できるので、通常モードでは消費電力を増やすことなく、ソフトウェアデバッグを継続することができる半導体装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における半導体装置の構成を示すブロック図である。
【図2】図1の接続維持回路の具体構成を示すブロック図である。
【図3】本発明の第2の実施の形態における半導体装置の構成を示すブロック図である。
【図4】図3の接続維持回路の具体構成を示すブロック図である。
【図5】本発明の第3の実施の形態における半導体装置の構成を示すブロック図である。
【図6】図5の接続維持回路の具体構成を示すブロック図である。
【図7】本発明の第4の実施の形態における半導体装置の構成を示すブロック図である。
【図8】本発明の第5の実施の形態における半導体装置の構成を示すブロック図である。
【図9】バイパス命令を3つ連結したシリアル入力データの内容を示す模式図である。
【図10】プロセッサコア1の電源が遮断された場合のバイパス命令を先頭に3つの命令を連結したシリアル入力データおよびシリアル出力データの内容を示す模式図である。
【図11】プロセッサコア1の電源が遮断された場合のバイパス命令を3つ連結したシリアル入力データおよびシリアル出力データの内容を示す模式図である。
【図12】プロセッサコア1の電源が瞬間的に遮断された場合のバイパス命令を3つ連結したシリアル入力データおよびシリアル出力データの内容を示す模式図である。
【図13】従来のチェーン接続された半導体装置の構成を示すブロック図である。
【図14】従来のチェーン接続されたシリアル通信制御回路が常時電源の供給される領域にレイアウトされた半導体装置の構成を示すブロック図である。
【図15】従来の複数組のシリアル端子を備えた半導体装置の構成を示すブロック図である。
【図16】(a)はバイパス命令を入力する際のシリアル入力データおよびシリアル出力データの内容を示す模式図、(b)はバイパス命令を2つ連結したシリアル入力データおよびシリアル出力データの内容を示す模式図である。
【符号の説明】
1  プロセッサコア
2  プロセッサコア
3  シリアル通信制御回路
4  シリアル通信制御回路
5  シリアルデータ入力端子
6  シリアルデータ出力端子
7  半導体装置(システムLSI)
8  常時電源が供給されるレイアウト領域
9  半導体装置(システムLSI)
10  シリアルデータ出力端子
11  シリアルデータ入力端子
12  半導体装置(システムLSI)
13  プロセッサコア
14  シリアル通信制御回路
15,15Y,15Z  接続維持回路
16,16Y,16Z  接続維持回路
17  電源遮断状態出力端子
18  半導体装置(システムLSI)
19  命令レジスタ
20  バイパスデータレジスタ
21  第1のセレクタ
22  第2のセレクタ
23  半導体装置(システムLSI)
24  電源状態レジスタ
25  半導体装置(システムLSI)
26  信号保持回路
27  コア間同期制御回路
28  シリアル通信制御回路
29  電源遮断制御信号入力端子
30  半導体装置(システムLSI)
31  電源制御回路
32  電源遮断制御信号入力端子
33  半導体装置(システムLSI)
101  シリアル入力データ
102  シリアル出力データ
103  シリアル出力データ
104  デバッグ用入出力信号
105  デバッグ用入出力信号
106  シリアル入力データ
107  シリアル出力データ
108  シリアル出力データ
109  シリアル出力データ
110  電源遮断制御信号
111  通信ステート信号
112  通信ステート信号
113  セレクタ切り替え信号
114  プロセッサコアステータス信号
115  プロセッサコアステータス信号
116  同期制御出力信号
117  同期制御出力信号
1001  命令コード
1002  データコード
1003  出力シリアルデータ
1004  出力シリアルデータ
1005  命令コード
1006  データコード
1007  出力シリアルデータ
1008  出力シリアルデータ

Claims (6)

  1. 少なくとも1個は個別に電源遮断可能な2個以上のプロセッサコアと、
    外部からシリアルデータが入力されるシリアルデータ入力端子と外部へシリアルデータを出力するシリアルデータ出力端子と、
    ソフトウェアデバッグのために前記2個以上のプロセッサコア内にそれぞれ設けられ、前記シリアルデータ入力端子と前記シリアルデータ出力端子との間を結ぶようにチェーン接続されたシリアル通信制御回路と、
    個別に電源遮断可能なプロセッサコアの外部に設けられ、前記個別に電源遮断可能なプロセッサコアの電源遮断時に前記個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路のシリアルデータ入力部からシリアルデータ出力部までのシリアル通信経路をバイパスして前記シリアルデータ入力端子と前記シリアルデータ出力端子との間のチェーン接続を維持する接続維持回路とを備えた半導体装置。
  2. 接続維持回路は、シリアルデータを入力する命令レジスタおよびバイパスデータレジスタと、シリアル通信ステートに応じて前記命令レジスタの出力および前記バイパスデータレジスタの出力を選択する第1のセレクタと、個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号に応じて前記第1のセレクタの出力と前記個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路のシリアルデータ出力部からのシリアルデータ出力とを選択する第2のセレクタとで構成されている請求項1記載の半導体装置。
  3. 接続維持回路は、シリアルデータを入力する命令レジスタと、電源遮断される個別に電源遮断可能なプロセッサコアを判別するために前記個別に電源遮断可能なプロセッサコアの電源の状態を示すデータを格納した電源状態レジスタと、シリアル通信ステートに応じて前記命令レジスタの出力および前記電源状態レジスタの出力を選択する第1のセレクタと、前記個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号に応じて前記第1のセレクタの出力と前記個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路からのシリアルデータ出力とを選択する第2のセレクタとで構成されている請求項1記載の半導体装置。
  4. 接続維持回路は、前記個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号を保持する信号保持回路をさらに備え、前記信号保持回路の出力に応じて第2のセレクタが前記第1のセレクタの出力と前記個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路からのシリアルデータ出力とを選択するようにしている請求項3記載の半導体装置。
  5. 個別に電源遮断可能なプロセッサコアからのステータス信号を入力し前記個別に電源遮断可能なプロセッサコアへ制御信号を出力するコア間同期制御回路と、前記コア間同期制御回路のシリアル通信を制御するシリアル通信制御回路とをさらに備えた請求項1記載の半導体装置。
  6. 接続維持回路の電源遮断を制御する電源制御回路を、さらに備えた請求項1記載の半導体装置。
JP2002293681A 2002-10-07 2002-10-07 半導体装置 Pending JP2004127169A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002293681A JP2004127169A (ja) 2002-10-07 2002-10-07 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002293681A JP2004127169A (ja) 2002-10-07 2002-10-07 半導体装置

Publications (1)

Publication Number Publication Date
JP2004127169A true JP2004127169A (ja) 2004-04-22

Family

ID=32284526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002293681A Pending JP2004127169A (ja) 2002-10-07 2002-10-07 半導体装置

Country Status (1)

Country Link
JP (1) JP2004127169A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461072C (zh) * 2005-06-10 2009-02-11 乐金电子(昆山)电脑有限公司 多核处理器的电源控制装置及其方法
JP6342028B1 (ja) * 2017-03-13 2018-06-13 三菱電機株式会社 車両用交流発電機の発電制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461072C (zh) * 2005-06-10 2009-02-11 乐金电子(昆山)电脑有限公司 多核处理器的电源控制装置及其方法
JP6342028B1 (ja) * 2017-03-13 2018-06-13 三菱電機株式会社 車両用交流発電機の発電制御装置

Similar Documents

Publication Publication Date Title
US7665002B1 (en) Multi-core integrated circuit with shared debug port
JP5275333B2 (ja) 状態マシンの状態を追跡する複製状態マシンを備える集積回路
US6668339B1 (en) Microprocessor having a debug interruption function
JPS5984539A (ja) テスト機能を有する集積回路チツプ
US7299393B2 (en) Microprocessor with trace module
US7676698B2 (en) Apparatus and method for coupling a plurality of test access ports to external test and debug facility
JP4450787B2 (ja) 半導体集積回路装置
JP2000275303A (ja) バウンダリスキャンテスト方法及びバウンダリスキャンテスト装置
US6334198B1 (en) Method and arrangement for controlling multiply-activated test access port control modules
US5280616A (en) Logic circuit for task processing
JP2004164367A (ja) マルチプロセッサシステム
GB2410563A (en) Method And Apparatus For Accessing Hidden Data In A Boundary Scan Test Interface
JP2017083421A (ja) 電子システムならびにシステム診断回路およびその動作方法
US8042173B2 (en) Semiconductor device with high security having JTAG ports
JP4805134B2 (ja) 集積回路の内部ラッチをスキャンする方法及び装置並びに集積回路
JP5022110B2 (ja) 半導体集積回路
US7877653B2 (en) Address and TMS gating circuitry for TAP control circuit
US7234091B2 (en) Method and apparatus for transferring hidden signals in a boundary scan test interface
JP2004127169A (ja) 半導体装置
JP2004212384A (ja) 半導体集積回路装置
EP2141597B1 (en) Semiconductor integrated circuit
JP2004094451A (ja) オンチップjtagインタフェース回路およびシステムlsi
US20050289421A1 (en) Semiconductor chip
JP2006146757A (ja) デバッグ用レジスタおよびデータ転送方法
JP2008267998A (ja) 半導体集積回路の故障診断方式