(57)【要約】【課題】ソフトウェアをデバッグするための回路をシリアル通信で制御するプロセッサコアを複数備え、各デバッグ回路がチェーン接続された半導体装置において、プロセッサコアの電源を個別に遮断されてもデバッグを継続する。【解決手段】プロセッサコア１、２の電源が遮断されると、プロセッサコア１、２のシリアル通信制御部３、４の代わりに、接続維持回路１５、１６がプロセッサコアの電源を個別に遮断するための信号をもとに命令やデータコードに対するシリアルデータのシフト動作を行い、シリアル通信を継続させてチェーン接続を維持させる。その接続維持回路１５、１６はデータ長が最も短い命令に必要なデータレジスタと接続維持対象のシリアル通信制御部３、４と同ビット長の命令レジスタを備える。【選択図】　　　　図１
2004127169.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１個は個別に電源遮断可能な２個以上のプロセッサコアと、
外部からシリアルデータが入力されるシリアルデータ入力端子と外部へシリアルデータを出力するシリアルデータ出力端子と、
ソフトウェアデバッグのために前記２個以上のプロセッサコア内にそれぞれ設けられ、前記シリアルデータ入力端子と前記シリアルデータ出力端子との間を結ぶようにチェーン接続されたシリアル通信制御回路と、
個別に電源遮断可能なプロセッサコアの外部に設けられ、前記個別に電源遮断可能なプロセッサコアの電源遮断時に前記個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路のシリアルデータ入力部からシリアルデータ出力部までのシリアル通信経路をバイパスして前記シリアルデータ入力端子と前記シリアルデータ出力端子との間のチェーン接続を維持する接続維持回路とを備えた半導体装置。
【請求項２】
接続維持回路は、シリアルデータを入力する命令レジスタおよびバイパスデータレジスタと、シリアル通信ステートに応じて前記命令レジスタの出力および前記バイパスデータレジスタの出力を選択する第１のセレクタと、個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号に応じて前記第１のセレクタの出力と前記個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路のシリアルデータ出力部からのシリアルデータ出力とを選択する第２のセレクタとで構成されている請求項１記載の半導体装置。
【請求項３】
接続維持回路は、シリアルデータを入力する命令レジスタと、電源遮断される個別に電源遮断可能なプロセッサコアを判別するために前記個別に電源遮断可能なプロセッサコアの電源の状態を示すデータを格納した電源状態レジスタと、シリアル通信ステートに応じて前記命令レジスタの出力および前記電源状態レジスタの出力を選択する第１のセレクタと、前記個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号に応じて前記第１のセレクタの出力と前記個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路からのシリアルデータ出力とを選択する第２のセレクタとで構成されている請求項１記載の半導体装置。
【請求項４】
接続維持回路は、前記個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号を保持する信号保持回路をさらに備え、前記信号保持回路の出力に応じて第２のセレクタが前記第１のセレクタの出力と前記個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路からのシリアルデータ出力とを選択するようにしている請求項３記載の半導体装置。
【請求項５】
個別に電源遮断可能なプロセッサコアからのステータス信号を入力し前記個別に電源遮断可能なプロセッサコアへ制御信号を出力するコア間同期制御回路と、前記コア間同期制御回路のシリアル通信を制御するシリアル通信制御回路とをさらに備えた請求項１記載の半導体装置。
【請求項６】
接続維持回路の電源遮断を制御する電源制御回路を、さらに備えた請求項１記載の半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ソフトウェアデバッグのためのシリアル通信制御回路を個別に具備する複数のプロセッサコアを１つのシステムＬＳＩとして統合し、各プロセッサコアの電源を個別に制御する半導体装置に関するものである。
【０００２】
【従来の技術】
近年、オンチップのデバッグ回路をＪＴＡＧ（Ｊｏｉｎｔ　Ｔｅｓｔ　Ａｃｔｉｏｎ　Ｇｒｏｕｐ）方式（ＩＥＥＥ１１４９．１）等のシリアル通信方式で制御するプロセッサコアが増えてきており、１つのＬＳＩにそれらのプロセッサコアを複数搭載したシステムＬＳＩでは端子数を削減するため、デバッグ用の各シリアル通信制御回路はチェーン接続されている。さらに、携帯機器向けのシステムＬＳＩではプロセッサコア単位で電源を分割し、電源供給を個別に制御して消費電力の低減を図っている（例えば、非特許文献１参照）。
【０００３】
図１３、図１４および図１５は従来の半導体装置（システムＬＳＩ）の構成を示すブロック図である。図１３は、プロセッサコア内のデバッグ用の各シリアル通信制御回路（デバッグ回路）をチェーン接続した構成である。図１４は、プロセッサコアとデバッグ用のシリアル通信制御回路とを分離し、各シリアル通信制御回路をチェーン接続した構成である。図１５は、プロセッサコア内のデバッグ用の各シリアル通信制御回路に対し個別にシリアル通信端子を持たせた構成である。
【０００４】
図１３において、１および２はソフトウェアデバッグのためのシリアル通信制御回路を個別に具備するプロセッサコアである。３および４はプロセッサコア１，２がそれぞれ具備するシリアル通信制御回路である。５は外部からシリアルデータを入力するシリアルデータ入力端子である。６はシリアルデータを外部へ出力するシリアルデータ出力端子である。７はプロセッサコア１，２とシリアルデータ入力端子５およびシリアルデータ出力端子６（１組のシリアルデータ端子）とを備えた半導体装置（システムＬＳＩ）である。
【０００５】
シリアル通信制御回路３，４は、それぞれ命令レジスタとバイパスデータレジスタとを有している。具体的な構成の例は、図示しないが、ＪＴＡＧ（ＩＥＥＥ１１４９．１）の仕組みとその応用（東京都立産業技術研究所　研究開発部　坂巻佳壽美著）の第２回．ＪＴＡＧ対応デバイスの仕組み、第３回．ＴＡＰコントローラの動作、第４回．テストモードと命令等に詳しく説明されている。
【０００６】
シリアルデータ入力端子５がシリアル通信制御回路３のシリアルデータ入力部３ａに接続され、シリアル通信制御回路３のシリアルデータ出力部３ｂがシリアル通信制御回路４のシリアルデータ入力部４ａに接続され、さらにシリアル通信制御回路４のシリアルデータ出力部４ｂがシリアルデータ出力端子６に接続されることにより、シリアルデータ入力端子５からシリアルデータ出力端子６までシリアル通信制御回路３，４によってチェーン接続される。
【０００７】
ここで、シリアルデータ入力端子５からシリアル通信制御回路３のシリアルデータ入力部３ａへ送られるのが、シリアルデータ入力信号１０１である。また、シリアル通信制御回路３のシリアルデータ出力部３ｂからシリアル通信制御回路４のシリアルデータ入力部４ａへ送られるのが、シリアルデータ出力信号１０２である。さらに、シリアル通信制御回路４のシリアルデータ出力部４ｂからシリアルデータ出力端子６へ送られるのがシリアルデータ出力信号１０３である。
【０００８】
また、プロセッサコア１とプロセッサコア２とは個別に電源遮断される領域にレイアウトされる。
【０００９】
以上のように構成された半導体装置について、シリアル入力データとシリアル出力データの流れを中心に、その動作を説明する。以下、シリアル通信方式がＪＴＡＧ方式で、プロセッサコア１，２が具備するシリアル通信制御回路の命令コード長が４ビットの場合を例にとって説明する。なお、ＪＴＡＧ方式では、バイパス命令はデータ長が１ビットで最短のデータ長を持つ命令に規定されており、命令コード長が４ビットの場合、バイパス命令のバイナリコードは‘１１１１’と規定される。
【００１０】
シリアル通信制御回路３単体でバイパス命令を実行させる場合、図１６（ａ）のように、シリアル通信制御回路３へのシリアルデータ入力信号１０１としては、Ｓｈｉｆｔ−ＩＲ（命令レジスタ）ステートにてバイパス命令コード１００１を入力し、その後、Ｓｈｉｆｔ−ＤＲ（データレジスタ）ステートにてデータコード１００２を入力する。上記のバイパス命令コードは命令レジスタへの入力となり、データコード１００２はバイパスデータレジスタへの入力となる。
【００１１】
そのシリアルデータ入力信号１０１をシリアル通信制御回路３へシフトインする際に、シリアル通信制御回路３からのシリアルデータ出力信号１０２は、Ｓｈｉｆｔ−ＩＲステートにて命令レジスタ出力として出力シリアルデータ１００３がシフトアウトされ、その後、Ｓｈｉｆｔ−ＤＲステートにてバイパスデータレジスタ出力として出力シリアルデータ１００４がシフトアウトされる。
【００１２】
ここで、バイパス命令、Ｓｈｉｆｔ−ＩＲステートおよびＳｈｉｆｔ−ＤＲステートについて説明する。
【００１３】
バイパス命令とは、ＪＴＡＧの必須命令であり、シリアルデータ入力ＴＤＩとシリアルデータ出力ＴＤＯとの間に１ビットのデータレジスタ（バイパスレジスタ）を挿入し、シフト動作時のシリアル経路を最短にするための命令である。
【００１４】
つぎに、Ｓｈｉｆｔ−ＩＲステートについて説明する。このステートでは、命令レジスタ（ＩＲ）に含まれるシフトレジスタは、シリアルデータ入力ＴＤＩとシリアルデータ出力ＴＤＯとの間に接続され、シリアルクロックＴＣＫの各立ち上がりエッジでデータを１ステージだけ、シリアルデータ出力ＴＤＯ方向へ向けて移動させる。
【００１５】
つぎに、Ｓｈｉｆｔ−ＤＲステートについて説明する。このステートでは、現在の命令によりシリアルデータ入力ＴＤＩとシリアルデータ出力ＴＤＯとの間に接続されるデータレジスタ（ＤＲ）は、シリアルクロックＴＣＫの各立ち上がりエッジでデータを１ステージだけシリアルデータ出力ＴＤＯ方向へ向けて移動させる。
【００１６】
シリアル通信制御回路３とシリアル通信制御回路４とはチェーン接続されているため、シリアルデータ入力端子５へのシリアルデータ入力信号１０１は、図１６（ｂ）のように、各４ビットの２個のバイパス命令コード‘１１１１’を８ビットコード１００５に連結して入力し、各１ビットの２個のデータコードを２ビットコード１００６に連結して入力する。
【００１７】
上記の８ビットコード１００５のうちの先頭のバイパス命令コードはプロセッサコア２の命令レジスタへの入力となり、２番目のバイパス命令コードはプロセッサコア１の命令レジスタへの入力となる。また、２ビットコード１００６のうちの先頭のデータコードはプロセッサコア２のバイパスデータレジスタへの入力となり、２番目のデータコードはプロセッサコア１のバイパスデータレジスタへの入力となる。
【００１８】
そのシリアルデータをシリアル通信制御回路３，４にシフトインする際、シリアル通信制御回路４からのシリアルデータ出力信号１０３としては、Ｓｈｉｆｔ−ＩＲステートにて命令レジスタ出力が出力シリアルデータ１００７のように連結されて出力（シフトアウト）され、その後、Ｓｈｉｆｔ−ＤＲステートにてバイパスデータレジスタ出力が出力シリアルデータ１００８のように連結されて出力（シフトアウト）される。
【００１９】
上記の出力シリアルデータ１００７のうちの先頭の４ビットデータはプロセッサコア２の命令レジスタからの出力であり、２番目の４ビットデータはプロセッサコア１の命令レジスタからの出力である。また、出力シリアルデータ１００８のうちの先頭の１ビットデータはプロセッサコア２のバイパスデータレジスタからの出力であり、２番目の１ビットデータはプロセッサコア１のバイパスデータレジスタからの出力である。
【００２０】
ここで、プロセッサコア１の電源のみ遮断されると、シリアルデータ入力端子５からの入力信号はプロセッサコア２へは伝わらなくなり、チェーン接続が切断され、動作しているプロセッサコア２のソフトウェアデバッグを継続できなくなる。
【００２１】
図１４において、１および２はプロセッサコアである。３および４はプロセッサコア１，２のソフトウェアをデバッグするためのシリアル通信制御回路である。５は外部からシリアルデータを入力するシリアルデータ入力端子である。６はシリアルデータを外部へ出力するシリアルデータ出力端子である。８は常時電源が入っているレイアウト領域である。９はプロセッサコア１，２とシリアル通信制御回路３，４とシリアルデータ入力端子５およびシリアルデータ出力端子６（１組のシリアルデータ端子）とを備えた半導体装置（システムＬＳＩ）である。
【００２２】
シリアルデータ入力端子５がシリアル通信制御回路３のシリアルデータ入力部３ａに接続され、シリアル通信制御回路３のシリアルデータ出力部３ｂがシリアル通信制御回路４のシリアルデータ入力部４ａに接続され、さらにシリアル通信制御回路４のシリアルデータ出力部４ｂがシリアルデータ出力端子６に接続されることにより、シリアルデータ入力端子５からシリアルデータ出力端子６までシリアル通信制御回路３，４によってチェーン接続される。
【００２３】
シリアルデータ入力端子５からシリアル通信制御回路３のシリアルデータ入力部３ａへ送られるのが、シリアルデータ入力信号１０１である。また、シリアル通信制御回路３のシリアルデータ出力部３ｂからシリアル通信制御回路４のシリアルデータ入力部４ａへ送られるのが、シリアルデータ出力信号１０２である。さらに、シリアル通信制御回路４のシリアルデータ出力部４ｂからシリアルデータ出力端子６へ送られるのがシリアルデータ出力信号１０３である。
【００２４】
さらに、シリアル通信制御回路３とプロセッサコア１とはデバッグ用入出力信号１０４を伝達する信号線で接続され、シリアル通信制御回路４とプロセッサコア２とはデバッグ用入出力信号１０５を伝達する信号線で接続される。
【００２５】
また、プロセッサコア１とプロセッサコア２とは個別に電源遮断される領域にレイアウトされ、シリアル通信制御回路３とシリアル通信制御回路４は常時電源の入っているレイアウト領域８にレイアウトされる。
【００２６】
以上のように構成された半導体装置について、図１３と同じ構成要素には同じ符号を付して説明を省略し、異なる点を中心にその動作を説明する。
【００２７】
プロセッサコア１，２へのデバッグ制御はデバッグ用入出力信号１０４，１０５を用いて行われる。ここで、プロセッサコア１の電源のみ遮断されると、プロセッサコア１に対するデバッグ制御はできなくなるが、プロセッサコア１は動作していないので、プロセッサコア１のソフトウェアデバッグの必要性はない。一方、シリアル通信制御回路３とシリアル通信制御回路４への電源は供給されているので、シリアル通信制御回路４からプロセッサコア２に対するデバッグ制御はでき、プロセッサコア２のソフトウェアデバッグは継続できる。
【００２８】
しかしながら、図１４の構成では、以下のような問題がある。通常はプロセッサコア１，２自体の動作検証のため、プロセッサコア１，２単体でのレイアウトデータを生成し製造することになる。しかし、システムＬＳＩのため、シリアル通信制御回路３，４を分離した２つのレイアウトデータを生成する必要が出てくる。さらに、常時電源の入っている領域にレイアウトされる回路（シリアル通信制御回路３，４）により消費電力が増加することになる。
【００２９】
図１５において、１および２はソフトウェアデバッグのためのシリアル通信制御回路を個別に具備するプロセッサコアである。３および４はプロセッサコア１，２が具備するシリアル通信制御回路である。５はシリアル通信制御回路３に対して外部からシリアルデータを入力するシリアルデータ入力端子である。１０はシリアル通信制御回路３からシリアルデータを外部へ出力するシリアルデータ出力端子である。１１はシリアル通信制御回路４に対して外部からシリアルデータを入力するシリアルデータ入力端子である。６はシリアル通信制御回路４からシリアルデータを外部へ出力するシリアルデータ出力端子である。１２はプロセッサコア１，２とシリアルデータ入力端子５，１０およびシリアルデータ出力端子６，１１（２組のシリアルデータ端子）とを備えた半導体装置（システムＬＳＩ）である。
【００３０】
シリアルデータ入力端子５はシリアル通信制御回路３のシリアルデータ入力部３ａに接続され、シリアル通信制御回路３のシリアルデータ出力部３ｂはシリアルデータ出力端子１０に接続され、シリアルデータ入力端子１１はシリアル通信制御回路４のシリアルデータ入力部４ａに接続され、シリアル通信制御回路４のシリアルデータ出力部４ｂはシリアルデータ出力端子６に接続される。
【００３１】
シリアルデータ入力端子５からシリアル通信制御回路３のシリアルデータ入力部３ａへ送られるのが、シリアルデータ入力信号１０１である。また、シリアル通信制御回路３のシリアルデータ出力部３ｂからシリアルデータ出力端子１０へ送られるのがシリアルデータ出力信号１０２である。シリアルデータ入力端子１１からシリアル通信制御回路４のシリアルデータ入力部４ａへ送られるのが、シリアルデータ入力信号１０６である。また、シリアル通信制御回路４のシリアルデータ出力部４ｂからシリアルデータ出力端子６へ送られるのがシリアルデータ出力信号１０３である。
【００３２】
また、プロセッサコア１とプロセッサコア２とは個別に電源遮断される領域にレイアウトされる。
【００３３】
以上のように構成された半導体装置について、その動作を説明する。シリアル入力データとシリアル出力データの流れは図１３で説明した、シリアル通信制御回路単体で動作させる場合と同様である。ここで、プロセッサコア１の電源のみ遮断されても、プロセッサコア２へのシリアルデータ端子（１１，６）が独立しているため、プロセッサコア２のソフトウェアデバッグは継続できる。しかし、各プロセッサコア１，２に対して、個別にシリアル通信するため、プロセッサコア１，２毎に独立したシリアルデータ端子とシリアル制御端子を持たせる必要があり、プロセッサコア１，２の個数に比例して端子数が増加することになる。
【００３４】
ここで、シリアル制御端子について説明する。ＪＴＡＧでのシリアル通信は、データ入力／出力端子の他、クロックやモード選択端子が必須で、シリアル回路のリセット端子もオプションで用意されている。それら、クロック端子、モード選択端子、リセット端子を包括してシリアル制御端子と表現している。それらの端子でシリアル通信回路のステート（モード）を遷移させたり、リセットしたり、シフト動作を行う等の制御を行う。
【００３５】
【非特許文献１】
坂巻佳壽美著「ＪＴＡＧテストの基礎と応用」ＣＱ出版株式会社、１９９８年１２月、ｐ３８−５４
【００３６】
【発明が解決しようとする課題】
上記のように、従来のチェーン接続した構成（図１３参照）では、１つでもデバッグ用のシリアル通信制御回路の電源が遮断されると、チェーン接続が切断され、ソフトウェアデバッグが継続できなくなるという問題が発生する。
【００３７】
また、シリアル通信制御回路をプロセッサコアから分離した構成（図１４参照）では、シリアル通信制御回路を常時電源の入っている領域にレイアウトすることでチェーン接続は維持できるが、システムＬＳＩのためにプロセッサコアのレイアウトデータを生成し直す必要があり、消費電力も増加するという問題が発生する。
【００３８】
また、各シリアル通信制御回路に対し個別にシリアル通信端子を持たせた構成（図１５参照）では、デバッグ対象のプロセッサコア以外の電源が遮断されてもデバッグを継続することができるが、端子数がプロセッサコアの数に比例して増加するという問題が発生する。
【００３９】
本発明は、上記問題点を解決するもので、プロセッサコア単体のレイアウトデータをシステムＬＳＩのために再生成する必要なく、端子数と消費電力の増加を最小限に抑え、かつソフトウェアデバッグ対象外のプロセッサコアの電源が遮断されても、継続して電源が供給されている他のプロセッサコアのソフトウェアデバッグを継続することができる半導体装置を提供することを目的とする。
【００４０】
【課題を解決するための手段】
請求項１記載の半導体装置は、少なくとも１個は個別に電源遮断可能な２個以上のプロセッサコアと、外部からシリアルデータが入力されるシリアルデータ入力端子と外部へシリアルデータを出力するシリアルデータ出力端子と、ソフトウェアデバッグのために２個以上のプロセッサコア内にそれぞれ設けられ、シリアルデータ入力端子と前記シリアルデータ出力端子との間を結ぶようにチェーン接続されたシリアル通信制御回路と、個別に電源遮断可能なプロセッサコアの外部に設けられ、個別に電源遮断可能なプロセッサコアの電源遮断時に個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路のシリアルデータ入力部からシリアルデータ出力部までのシリアル通信経路をバイパスしてシリアルデータ入力端子とシリアルデータ出力端子との間のチェーン接続を維持する接続維持回路とを備えている。接続維持回路は、常時電源が供給される領域に、個別に電源遮断可能なプロセッサコアに対応して設けられている。
【００４１】
請求項１記載の半導体装置によれば、電源が遮断されたプロセッサコアのシリアル通信制御回路の代わりに、接続維持回路がシリアル通信を継続させるため、シリアルデータ入力端子からシリアルデータ出力端子までチェーン接続が維持できる。さらに、プロセッサコアのレイアウトデータはプロセッサコア単体でのレイアウトデータを変更せずそのまま使用できるため、システムＬＳＩのためにプロセッサコアのレイアウトデータを再生成する必要は生じない。
【００４２】
請求項２記載の半導体装置は、請求項１記載の半導体装置において、接続維持回路が、シリアルデータを入力する命令レジスタおよびバイパスデータレジスタと、シリアル通信ステートに応じて命令レジスタの出力およびバイパスデータレジスタの出力を選択する第１のセレクタと、個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号に応じて第１のセレクタの出力と個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路のシリアルデータ出力部からのシリアルデータ出力とを選択する第２のセレクタとで構成されている。
【００４３】
請求項２記載の半導体装置によれば、バイパス命令実行時、バイパス命令コードが命令レジスタへシフトインされ、１ビットのデータがバイパスデータレジスタへシフトインされ、また、シリアル通信ステートに応じて命令レジスタ出力とバイパスデータレジスタ出力とを選択する第１のセレクタと、個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号により第１のセレクタの出力とシリアル通信制御回路のデータレジスタ出力とを選択する第２のセレクタとを通し、チェーン接続される次のシリアル通信制御回路にシリアルデータを送ることができる。そのため、シリアルデータ入力端子からシリアルデータ出力端子までのチェーン接続を維持することができる。デバッグ用レジスタを含めたシリアル通信制御回路と同じ回路を接続維持回路に含めてもチェーン接続は維持できるが、接続維持回路の回路規模が大きくなり、消費電力が増加することになる。
【００４４】
本請求項における接続維持回路の構成は、シリアル通信制御回路に比べ、回路規模を抑えることができるため、消費電力の増加を最小限に抑えることができる。その際、どのプロセッサコアの電源が遮断されているかを外部へ通知するため、電源遮断制御信号を出力端子へ出力することになるが、各プロセッサコアについて個別にシリアルデータ端子を持たせた従来構成に比べ、少ない端子増加に抑えられる。
【００４５】
したがって、個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号をもとにシリアル通信制御回路のシリアルデータ入力部とシリアルデータ出力部の間のシリアル通信を個別にバイパスする接続維持回路を設け、その接続維持回路はデータ長が最も短いバイパス命令に必要な１ビットのバイパスデータレジスタと接続維持対象のシリアル通信制御回路と同ビット長の命令レジスタと命令レジスタおよびバイパスデータレジスタの出力を選択する第１のセレクタと第１のセレクタの出力とシリアル通信制御回路からのデータレジスタ出力とを選択する第２のセレクタとを設けることにより、常時電源が供給される領域にレイアウトされる回路規模を最小限に抑えることができる。それによって消費電力の増加を最小限に抑えるとともに、端子数の増加を最小限に抑え、プロセッサコア単体のレイアウトデータをシステムＬＳＩのために再生成することなく、ソフトウェアデバッグ対象外のプロセッサコアの電源が遮断されても他のプロセッサコアのソフトウェアデバッグを継続できる半導体装置を提供することができる。
【００４６】
請求項３記載の半導体装置は、請求項１記載の半導体装置において、接続維持回路が、シリアルデータを入力する命令レジスタと、電源遮断される個別に電源遮断可能なプロセッサコアを判別するために個別に電源遮断可能なプロセッサコアの電源の状態を示すデータを格納した電源状態レジスタと、シリアル通信ステートに応じて命令レジスタの出力および電源状態レジスタの出力を選択する第１のセレクタと、個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号に応じて第１のセレクタの出力と個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路からのシリアルデータ出力とを選択する第２のセレクタとで構成されている。
【００４７】
請求項３記載の半導体装置によれば、バイパス命令時、バイパス命令コードが命令レジスタへシフトインされ、１ビットのデータが電源状態レジスタへシフトインされ、また、シリアル通信ステートに応じて命令レジスタ出力と電源状態レジスタ出力とを選択する第１のセレクタと、プロセッサコアの電源を個別に遮断する信号により第１のセレクタの出力とシリアル通信制御回路のデータレジスタ出力とを選択する第２のセレクタを通し、チェーン接続される次のシリアル通信制御回路にシリアルデータを送ることができる。そのため、シリアルデータ入力端子からシリアルデータ出力端子までのチェーン接続を維持することができる。また、その時のデータレジスタ出力として電源状態を出力するため、チェーン接続の中でどのプロセッサコアの電源が遮断されているか判別することができる。
【００４８】
したがって、接続維持回路のバイパスレジスタの代わりに電源状態レジスタを設けることで、シリアルデータ出力端子から電源遮断されているプロセッサコアを判別できる。そのため、端子数を増やすことなく、またプロセッサコア単体のレイアウトデータをシステムＬＳＩのために再生成する必要なく、消費電力の増加を最小限に抑えて、ソフトウェアデバッグ対象外のプロセッサコアの電源が遮断されても他のプロセッサコアのソフトウェアデバッグを継続できる半導体装置を提供することができる。
【００４９】
請求項４記載の半導体装置は、請求項３記載の半導体装置において、接続維持回路が、個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号を保持する信号保持回路をさらに備え、信号保持回路の出力に応じて第２のセレクタが第１のセレクタの出力と個別に電源遮断可能なプロセッサコア内のシリアル通信制御回路からのシリアルデータ出力とを選択するようにしている。
【００５０】
請求項４記載の半導体装置によれば、請求項３と同様な作用効果のほか、接続維持対象のプロセッサコアの電源が瞬間的に遮断されても、接続維持回路内の命令レジスタ出力あるいは電源状態データレジスタ出力を第１のセレクタで選択して、チェーン接続されるシリアル通信制御回路にシリアルデータを送ることができる。そのため、不定値のシリアルデータを送ることなく、チェーン接続を維持できる。さらに通常、電源再供給時、プロセッサコアはリセットされるため、外部へその状態を知らせることなく制御されると外部が認識しているプロセッサコアの状態と不一致が起こり、制御不能になる可能性があるが、電源状態レジスタを読み出すまで、電源状態レジスタの値を保持し、その値を読み出すことにより、チェーン接続の中でどのプロセッサコアの電源が遮断されたかを判別することができるので、外部の認識との不一致は起こらず、制御不能になることがない。
【００５１】
したがって、接続維持回路に、個別に電源遮断可能なプロセッサコアの電源を個別に遮断する信号の信号保持回路をさらに備えることで、請求項３と同様な作用効果が得られるほか、接続維持対象のプロセッサコアの電源が瞬間的に遮断されても、制御不能な状態になることなく、他のプロセッサコアのソフトウェアデバッグを継続することができる。
【００５２】
請求項５記載の半導体装置は請求項１記載の半導体装置において、個別に電源遮断可能なプロセッサコアからのステータス信号を入力し個別に電源遮断可能なプロセッサコアへ制御信号を出力するコア間同期制御回路と、コア間同期制御回路のシリアル通信を制御するシリアル通信制御回路とをさらに備えている。
【００５３】
請求項５記載の半導体装置によれば、請求項１と同様な作用効果が得られるほか、コア間同期制御回路への通信を制御するシリアル通信制御回路の通信ステート信号を使用できるので、常時電源が供給される領域に電源遮断を制御するプロセッサコア（マスタコア）をレイアウトすることなく、外部から電源遮断を制御できる。さらに、統合するプロセッサコアの数に合わせたプロセッサコア間のコア間同期制御回路を設けることにより、ソフトウェアデバッグのための同期制御ができるようになる。
【００５４】
請求項６記載の半導体装置は、請求項１記載の半導体において、接続維持回路の電源遮断を制御する電源制御回路をさらに備えている。
【００５５】
請求項６記載の半導体装置によれば、請求項１と同様な作用効果が得られるほか、常時電源が供給される領域にレイアウトされる接続維持回路の電源をデバッグ時のみ電源供給するよう制御できるので、通常モードでは消費電力を増やすことなく、ソフトウェアデバッグを継続することができる。
【００５６】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、シリアル通信方式としてはＪＴＡＧ方式で、プロセッサコアが具備するシリアル通信制御回路の命令コード長が４ビットの場合を例にとって、各実施の形態を説明する。
【００５７】
（第１の実施の形態）
図１は本発明の第１の実施の形態における半導体装置（システムＬＳＩ）の構成を示すブロック図であり、図２は本発明の第１の実施の形態における接続維持回路の構成を示すブロック図である。
【００５８】
図１において、１，２および１３はソフトウェアデバッグのためのシリアル通信制御回路を個別に具備するプロセッサコアである。３，４および１４はプロセッサコア１，２，１３が具備するシリアル通信制御回路である。１５，１６はシリアル通信制御回路３，４のシリアル接続を代替する接続維持回路である。プロセッサコア１３はマスタコアであり、電源が個別に遮断される構成ではないので、シリアル通信制御回路１４の接続を代替する接続維持回路は設けられていない。
【００５９】
５は外部からシリアルデータを入力するシリアルデータ入力端子である。６はシリアルデータを外部へ出力するシリアルデータ出力端子である。１７はプロセッサコア１，２，１３の電源遮断を個別に制御する信号を出力する電源遮断状態出力端子である。１８はプロセッサコア１，２，１３と接続維持回路１５，１６とシリアルデータ入力端子５およびシリアルデータ出力端子６（１組のシリアルデータ端子）と電源遮断状態出力端子１７とを備えた半導体装置（システムＬＳＩ）である。
【００６０】
図２において、１９はシリアル通信で挿入される命令を保持する命令レジスタである。２０はバイパス命令実行用のバイパスデータレジスタである。２１はシリアル通信の通信ステート信号１１１により命令レジスタ１９の出力とバイパスデータレジスタ２０の出力とを選択する第１のセレクタである。２２はプロセッサコア１，２の電源遮断を個別に制御する電源遮断制御信号１１０によりプロセッサコア１，２が具備するシリアル通信制御回路３，４のデータ出力と第１のセレクタ２１の出力とを選択する第２のセレクタである。１５は命令レジスタ１９とバイパスデータレジスタ２０と第１および第２のセレクタ２１，２２とを備えた接続維持回路である。接続維持回路１６も、接続維持回路１５と同じ構成である。
【００６１】
シリアルデータ入力端子５はシリアル通信制御回路３のシリアルデータ入力部３ａと接続維持回路１５のシリアルデータ入力部１５ａとに接続され、シリアル通信制御回路３のシリアルデータ出力部３ｂは接続維持回路１５のシリアルデータ入力部１５ｃに接続され、接続維持回路１５のシリアルデータ出力部１５ｂはシリアル通信制御回路１４のシリアルデータ入力部１４ａに接続される。また、シリアル通信制御回路１４のシリアルデータ出力部１４ｂはシリアル通信制御回路４のシリアルデータ入力部４ａと接続維持回路１６のシリアルデータ入力部１６ａとに接続され、シリアル通信制御回路４のシリアルデータ出力部４ｂは接続維持回路１６のシリアルデータ入力部１６ｃに接続され、接続維持回路１６のシリアルデータ出力部１６ｂはシリアルデータ出力端子６に接続される。
【００６２】
ここで、シリアルデータ入力端子５からシリアル通信制御回路３のシリアルデータ入力部３ａおよび接続維持回路１５のシリアルデータ入力部１５ａへ送られるのが、シリアルデータ入力信号１０１である。また、シリアル通信制御回路３のシリアルデータ出力部３ｂから接続維持回路１５のシリアルデータ入力部１５ｃへ送られるのが、シリアルデータ出力信号１０２である。また、接続維持回路１５のシリアルデータ出力端子１５ｂからシリアル通信制御回路１４のシリアルデータ入力部１４ａへ送られるのが、シリアルデータ出力信号１０７である。また、シリアル通信制御回路１４のシリアルデータ出力部１４ｂからシリアル通信制御回路４のシリアルデータ入力部４ａおよび接続維持回路１６のシリアルデータ入力部１６ａへ送られるのが、シリアルデータ入力信号１０８である。また、シリアル通信制御回路４のシリアルデータ出力部４ｂから接続維持回路１６のシリアルデータ入力部１６ｃへ送られるのが、シリアルデータ出力信号１０３である。また、接続維持回路１６のシリアルデータ出力部１６ｂからシリアルデータ出力端子６へ送られるのがシリアルデータ出力信号１０９である。
【００６３】
さらに、プロセッサコア１３が出力するプロセッサコア１，２の電源を個別に遮断する電源遮断制御信号１１０は、接続維持回路１５，１６と電源遮断状態出力端子１７へ供給され、シリアル通信制御回路１４の命令レジスタとバイパスデータレジスタのシフトアウトを通信ステート（Ｓｈｉｆｔ−ＩＲステート、またはＳｈｉｆｔ−ＤＲステート）に応じて切り替える通信ステート信号１１１は、接続維持回路１５，１６へ供給される。
【００６４】
また、接続維持回路１５において、シリアルデータ入力信号１０１は、命令レジスタ１９とバイパスデータレジスタ２０とに入力され、命令レジスタ１９の出力とバイパスデータレジスタ２０の出力とは第１のセレクタ２１に入力される。通信ステート信号１１１は第１のセレクタ２１の切り替え信号として入力される。第１のセレクタ２１の出力とシリアル通信制御回路３のシリアルデータ出力信号１０２とが第２のセレクタ２２に入力される。電源遮断制御信号１１０は第２のセレクタ２２の切り替え信号として入力される。第２のセレクタ２２の出力はシリアルデータ出力信号１０７として出力される。
【００６５】
この接続維持回路１５は、通信ステート信号１１１がＳｈｉｆｔ−ＩＲステートを示すときは、第１のセレクタ２１が命令レジスタ１９の出力を選択し、通信ステート信号１１１がＳｈｉｆｔ−ＤＲステートを示すときは、第１のセレクタ２１がバイパスデータレジスタ２０の出力を選択する。また、電源遮断制御信号１１０が通電状態を示すときは、第２のセレクタ２２がシリアル通信制御回路３のシリアルデータ出力信号１０２を選択し、電源遮断制御信号１１０が遮断状態を示すときは、第２のセレクタ２２が第１のセレクタ２１の出力を選択する。
【００６６】
同様に、接続維持回路１６において、シリアルデータ入力信号１０８は、命令レジスタ１９とバイパスデータレジスタ２０とに入力され、命令レジスタ１９の出力とバイパスデータレジスタ２０の出力とは第１のセレクタ２１に入力される。通信ステート信号１１１は第１のセレクタ２１の切り替え信号として入力される。第１のセレクタ２１の出力とシリアル通信制御回路４のシリアルデータ出力信号１０３とが第２のセレクタ２２に入力される。電源遮断制御信号１１０は第２のセレクタ２２の切り替え信号として入力される。第２のセレクタ２２の出力はシリアルデータ出力信号１０９として出力される。
【００６７】
この接続維持回路１６は、通信ステート信号１１１がＳｈｉｆｔ−ＩＲステートを示すときは、第１のセレクタ２１が命令レジスタ１９の出力を選択し、通信ステート信号１１１がＳｈｉｆｔ−ＤＲステートを示すときは、第１のセレクタ２１がバイパスデータレジスタ２０の出力を選択する。また、電源遮断制御信号１１０が通電状態を示すときは、第２のセレクタ２２がシリアル通信制御回路３のシリアルデータ出力信号１０３を選択し、電源遮断制御信号１１０が遮断状態を示すときは、第２のセレクタ２２が第１のセレクタ２１の出力を選択する。
【００６８】
また、プロセッサコア１とプロセッサコア２とは個別に電源遮断される領域にレイアウトされ、接続維持回路１５，１６およびプロセッサコア１３は常時電源の入っている領域にレイアウトされる。
【００６９】
以上のように構成された本実施の形態の半導体装置について、シリアル入力データとシリアル出力データの流れを中心にその動作を説明する。
【００７０】
まず、全プロセッサコア１，１３，２の電源が供給されていると、電源遮断制御信号１１０によって接続維持回路１５はシリアルデータ出力信号１０２をシリアルデータ出力信号１０７として選択出力し、同様に接続維持回路１６はシリアルデータ出力信号１０３をシリアルデータ出力信号１０９として選択出力する。
【００７１】
４ビットの命令コード長を持つ、３個のシリアル通信制御回路３，１４，４がシリアルデータ入力端子５とシリアルデータ出力端子６との間でチェーン接続されていると、シリアルデータ入力信号１０１としては、図９のように、プロセッサコア２に対する命令コードを先頭に、プロセッサコア１，１３，２に対する命令コードを１２ビットコード１００９として連結される。図９はバイパス命令を３つ連結した例で、Ｓｈｉｆｔ−ＩＲステートで命令レジスタに入力される命令コードに続き、Ｓｈｉｆｔ−ＤＲステートでバイパスデータレジスタへ入力されるデータコードも同様に３命令分、３ビットコード１０１０として連結される。
【００７２】
以上のように連結したシリアルデータ、すなわち、１２ビットコード１００９と３ビットコード１０１０とをシリアルデータ入力端子５から入力する。全プロセッサコア１，１３，２の電源が供給されていると、シリアルデータ入力信号１０１、シリアル通信制御回路３、シリアルデータ出力信号１０２、接続維持回路１５、シリアルデータ出力信号１０７、シリアル通信制御回路１４、シリアルデータ出力信号１０８、シリアル通信制御回路４、シリアルデータ出力信号１０３、接続維持回路１６、シリアルデータ出力信号１０９と順にシリアルデータが流れ、シリアルデータ出力端子６から出力される。つまり、全プロセッサコア１，１３，２の電源が供給されている状態では、シリアル通信制御回路３，１４，４がシリアルデータ入力端子５とシリアルデータ出力端子６との間でチェーン接続され、プロセッサコア１，１３，２でのソフトウェアデバッグができる。
【００７３】
つぎに、プロセッサコア１のみ電源が遮断されていると、電源遮断制御信号１１０によって接続維持回路１５は命令レジスタ１９の出力またはバイパスレジスタ２０の出力をシリアルデータ出力信号１０７として出力し、接続維持回路１６はシリアルデータ出力信号１０３をシリアルデータ出力信号１０９として出力する。このとき、プロセッサコア１，２は、システムＬＳＩのマスタコアとなるプロセッサコア１３によって電源遮断が制御されるので、電源遮断制御信号１１０はプロセッサコア１３から出力される。
【００７４】
通常、プロセッサコアのソフトウェアをデバッグするため、ＪＴＡＧにプライベート命令を追加すると、プライベート命令の種類やそのプライベート命令に対するデータレジスタ長はおのおのプロセッサコア独自のものになるため、電源遮断されているプロセッサコアの位置を正しく判別し、バイパス命令を正確に連結してシリアルデータを生成しなければならない。
【００７５】
電源遮断状態出力端子１７によりプロセッサコア１の電源が遮断されていることが分かるので、図１０のように、プロセッサコア１のチェーン位置にバイパス命令‘１１１１’を連結したシリアルデータ１０１１，１０１２をシリアルデータ入力端子５からシリアルデータ入力信号１０１として入力すると、シリアルデータ入力信号１０１、接続維持回路１５、シリアルデータ出力信号１０７、シリアル通信制御回路１４、シリアルデータ出力信号１０８、シリアル通信制御回路４、シリアルデータ出力信号１０３、接続維持回路１６、シリアルデータ出力信号１０９と順にシリアルデータが流れ、シリアルデータ出力端子６から出力される。
【００７６】
このとき、接続維持回路１５においては、命令データのシフトステート（Ｓｈｉｆｔ−ＩＲステート）では命令レジスタ１９の出力が第１および第２のセレクタ２１，２２で選択され、データのシフトステート（Ｓｈｉｆｔ−ＤＲステート）ではバイパスデータレジスタ２０の出力が第１および第２のセレクタ２１，２２で選択される。つまり、接続維持回路１５とシリアル通信制御回路１４，４がチェーン接続され、プロセッサコア１３，２でのソフトウェアデバッグが継続できる。
【００７７】
なお、図１０はプロセッサコア２，１３に挿入した命令コードに対するデータコード長はそれぞれ２ビットでの例で、データレジスタ出力１０１３の先頭にプロセッサコア１で実行したバイパス命令の出力規定値であるバイナリコード‘０’が出力される。
【００７８】
この半導体装置によれば、電源を遮断されたプロセッサコア１のシリアル通信制御回路３の代わりに、接続維持回路１５がシリアル通信を継続させるため、シリアルデータ入力端子５からシリアルデータ出力端子６までチェーン接続が維持できる。さらに、プロセッサコアのレイアウトデータはプロセッサコア単体でのレイアウトデータを変更せずそのまま使用できるため、システムＬＳＩのためにプロセッサコアのレイアウトデータを再生成する必要は生じない。
【００７９】
また、この半導体装置によれば、バイパス命令実行時、バイパス命令コードが命令レジスタ１９へシフトインされ、１ビットのデータがバイパスデータレジスタ２０へシフトインされ、また、シリアル通信ステートに応じて命令レジスタ出力とバイパスデータレジスタ出力とを選択する第１のセレクタ２１と、プロセッサコアの電源を個別に遮断する信号により第１のセレクタ２１の出力とシリアル通信制御回路３のデータレジスタ出力とを選択する第２のセレクタ２２とを通し、チェーン接続される次のシリアル通信制御回路１４にシリアルデータを送ることができる。そのため、シリアルデータ入力端子５からシリアルデータ出力端子６までのチェーン接続を維持することができる。デバッグ用レジスタを含めたシリアル通信制御回路と同じ回路を接続維持回路に含めてもチェーン接続は維持できるが、接続維持回路の回路規模が大きくなり、消費電力が増加することになる。本実施の形態における接続維持回路１５，１６の構成は、シリアル通信制御回路に比べ、回路規模を抑えることができるため、消費電力の増加を最小限に抑えることができる。その際、どのプロセッサコアの電源が遮断されているかを外部へ通知するため、電源遮断制御信号１１０を電源遮断状態出力端子１７へ出力することになるが、各プロセッサコアについて個別にシリアルデータ端子を持たせた従来構成に比べ、少ない端子増加に抑えられる。
【００８０】
したがって、プロセッサコアの電源を個別に遮断する信号をもとにシリアル通信制御回路３，４のシリアルデータ入力部とシリアルデータ出力部の間のシリアル通信を個別にバイパスする接続維持回路１５，１６を設け、その接続維持回路１５，１６はデータ長が最も短いバイパス命令に必要な１ビットのバイパスデータレジスタ２０と接続維持対象のシリアル通信制御回路と同ビット長の命令レジスタ１９と命令レジスタ１９およびバイパスデータレジスタ２０の出力を選択する第１のセレクタ２１と第１のセレクタ２１の出力とシリアル通信制御回路３，４からのデータレジスタ出力とを選択する第２のセレクタ２２とを設けることにより、常時電源が供給される領域にレイアウトされる回路規模を最小限に抑えることができ、それによって消費電力の増加を最小限に抑えるとともに、端子数の増加を最小限に抑え、プロセッサコア単体のレイアウトデータをシステムＬＳＩのために再生成することなく、ソフトウェアデバッグ対象外のプロセッサコアの電源が遮断されても他のプロセッサコアのソフトウェアデバッグを継続できる半導体装置を提供することができる。
【００８１】
以上のように、本発明の第１の実施の形態によれば、プロセッサコア１，１３，２のレイアウトデータはプロセッサコア単体でのレイアウトデータを変更せず使用できるため、プロセッサコア単体のレイアウトデータをシステムＬＳＩのために再生成する必要がなく、最短のデータレジスタ長を持つ接続維持回路１５により、電源が供給され動作しているプロセッサコア１３，２に対してのシリアル通信が継続されるため、消費電力の増加を最小限に抑えて、ソフトウェアデバッグ対象外のプロセッサコア１の電源が遮断されてもソフトウェアデバッグを継続できる。
【００８２】
（第２の実施の形態）
図３は本発明の第２の実施の形態における半導体装置（システムＬＳＩ）の構成を示すブロック図であり、図４は本発明の第２の実施の形態における接続維持回路の構成を示すブロック図である。
【００８３】
図３において、１，２および１３はソフトウェアデバッグのためのシリアル通信制御回路を個別に具備するプロセッサコアである。３，４および１４はプロセッサコア１，２，１３が具備するシリアル通信制御回路である。１５Ｙ，１６Ｙはシリアル通信制御回路３，４のシリアル接続を代替する接続維持回路である。プロセッサコア１３はマスタコアであり、電源が個別に遮断される構成ではないので、シリアル通信制御回路１４の接続を代替する接続維持回路は設けられていない。
【００８４】
５は外部からシリアルデータを入力するシリアルデータ入力端子である。６はシリアルデータを外部へ出力するシリアルデータ出力端子である。２３はプロセッサコア１，２，１３と接続維持回路１５Ｙ，１６Ｙとシリアルデータ入力端子５およびシリアルデータ出力端子６（１組のシリアルデータ端子）とを備えた半導体装置（システムＬＳＩ）である。
【００８５】
図４において、１９はシリアル通信で挿入される命令を保持する命令レジスタである。２４はバイパス命令実行時に選択される電源状態レジスタである。２１はシリアル通信の通信ステート信号１１１に応じて命令レジスタ１９の出力と電源状態レジスタ２４の出力とを選択する第１のセレクタである。２２はプロセッサコア１，２の電源遮断を個別に制御する電源遮断制御信号１１０によりプロセッサコア１，２が具備するシリアル通信制御回路３，４のデータ出力と第１のセレクタ２１の出力とを選択する第２のセレクタである。１５Ｙは命令レジスタ１９と電源状態レジスタ２４と第１および第２のセレクタ２１，２２とを備えた接続維持回路である。接続維持回路１６Ｙも、接続維持回路１５Ｙと同じ構成である。
【００８６】
シリアルデータ入力端子５はシリアル通信制御回路３のシリアルデータ入力部３ａと接続維持回路１５Ｙのシリアルデータ入力部１５ａとに接続され、シリアル通信制御回路３のシリアルデータ出力部３ｂは接続維持回路１５Ｙのシリアルデータ入力部１５ｃに接続され、接続維持回路１５Ｙのシリアルデータ出力部１５ｂはシリアル通信制御回路１４のシリアルデータ入力部１４ａに接続される。また、シリアル通信制御回路１４のシリアルデータ出力部１４ｂはシリアル通信制御回路４のシリアルデータ入力部４ａと接続維持回路１６Ｙのシリアルデータ入力部１６ａとに接続され、シリアル通信制御回路４のシリアルデータ出力部４ｂは接続維持回路１６Ｙのシリアルデータ入力部１６ｃに接続され、接続維持回路１６Ｙのシリアルデータ出力部１６ｂはシリアルデータ出力端子６に接続される。
【００８７】
ここで、シリアルデータ入力端子５からシリアル通信制御回路３のシリアルデータ入力部３ａおよび接続維持回路１５Ｙのシリアルデータ入力部１５ａへ送られるのが、シリアルデータ入力信号１０１である。また、シリアル通信制御回路３のシリアルデータ出力部３ｂから接続維持回路１５Ｙのシリアルデータ入力部１５ｃへ送られるのが、シリアルデータ出力信号１０２である。また、接続維持回路１５Ｙのシリアルデータ出力端子１５ｂからシリアル通信制御回路１４のシリアルデータ入力部１４ａへ送られるのが、シリアルデータ出力信号１０７である。また、シリアル通信制御回路１４のシリアルデータ出力部１４ｂからシリアル通信制御回路４のシリアルデータ入力部４ａおよび接続維持回路１６Ｙのシリアルデータ入力部１６ａへ送られるのが、シリアルデータ入力信号１０８である。また、シリアル通信制御回路４のシリアルデータ出力部４ｂから接続維持回路１６Ｙのシリアルデータ入力部１６ｃへ送られるのが、シリアルデータ出力信号１０３である。また、接続維持回路１６Ｙのシリアルデータ出力部１６ｂからシリアルデータ出力端子６へ送られるのがシリアルデータ出力信号１０９である。
【００８８】
さらに、プロセッサコア１３が出力するプロセッサコア１，２の電源を個別に遮断する電源遮断制御信号１１０は、接続維持回路１５Ｙ，１６Ｙへ供給され、シリアル通信制御回路１４の命令レジスタとバイパスデータレジスタのシフトアウトを通信ステート（Ｓｈｉｆｔ−ＩＲステート、またはＳｈｉｆｔ−ＤＲステート）に応じて切り替える通信ステート信号１１１は、接続維持回路１５Ｙ，１６Ｙへ供給される。
【００８９】
また、接続維持回路１５Ｙにおいて、シリアルデータ入力信号１０１は、命令レジスタ１９と電源状態レジスタ２４とに入力され、命令レジスタ１９の出力と電源状態レジスタ２４の出力とは第１のセレクタ２１に入力される。通信ステート信号１１１は第１のセレクタ２１の切り替え信号として入力される。第１のセレクタ２１の出力とシリアル通信制御回路３のシリアルデータ出力信号１０２とが第２のセレクタ２２に入力される。電源遮断制御信号１１０は第２のセレクタ２２の切り替え信号として入力される。第２のセレクタ２２の出力はシリアルデータ出力信号１０７として出力される。
【００９０】
この接続維持回路１５Ｙは、通信ステート信号１１１がＳｈｉｆｔ−ＩＲステートを示すときは、第１のセレクタ２１が命令レジスタ１９の出力を選択し、通信ステート信号１１１がＳｈｉｆｔ−ＤＲステートを示すときは、第１のセレクタ２１が電源状態レジスタ２４の出力を選択する。また、電源遮断制御信号１１０が通電状態を示すときは、第２のセレクタ２２がシリアル通信制御回路３のシリアルデータ出力信号１０２を選択し、電源遮断制御信号１１０が遮断状態を示すときは、第２のセレクタ２２が第１のセレクタ２１の出力を選択する。
【００９１】
同様に、接続維持回路１６Ｙにおいて、シリアルデータ入力信号１０８は、命令レジスタ１９と電源状態レジスタ２４とに入力され、命令レジスタ１９の出力と電源状態レジスタ２４の出力とは第１のセレクタ２１に入力される。通信ステート信号１１１は第１のセレクタ２１の切り替え信号として入力される。第１のセレクタ２１の出力とシリアル通信制御回路４のシリアルデータ出力信号１０３とが第２のセレクタ２２に入力される。電源遮断制御信号１１０は第２のセレクタ２２の切り替え信号として入力される。第２のセレクタ２２の出力はシリアルデータ出力信号１０９として出力される。
【００９２】
この接続維持回路１６Ｙは、通信ステート信号１１１がＳｈｉｆｔ−ＩＲステートを示すときは、第１のセレクタ２１が命令レジスタ１９の出力を選択し、通信ステート信号１１１がＳｈｉｆｔ−ＤＲステートを示すときは、第１のセレクタ２１が電源状態レジスタ２４の出力を選択する。また、電源遮断制御信号１１０が通電状態を示すときは、第２のセレクタ２２がシリアル通信制御回路３のシリアルデータ出力信号１０３を選択し、電源遮断制御信号１１０が遮断状態を示すときは、第２のセレクタ２２が第１のセレクタ２１の出力を選択する。
【００９３】
また、プロセッサコア１とプロセッサコア２とは個別に電源遮断される領域にレイアウトされ、接続維持回路１５Ｙ，１６Ｙおよびプロセッサコア１３は常時電源の入っている領域にレイアウトされる。
【００９４】
以上のように構成された本実施の形態の半導体装置について、シリアル入力データとシリアル出力データの流れにおいて、本発明の第１の実施の形態と異なる点を中心にその動作を説明する。
【００９５】
プロセッサコア１のみ電源が遮断されているとき、シリアルデータ入力信号１０１として、図９、図１１のようにバイパス命令を３つ連結したシリアルデータ１００９をシリアルデータ入力端子５から入力すると、接続維持回路１５Ｙとシリアル通信制御回路１４，４でバイパス命令が実行され、接続維持回路１５Ｙは電源状態レジスタ２４の出力をバイナリコード‘１’とすると、シリアル通信制御回路１４，４でのバイパス命令データ出力規定値‘００’と連結され、図１１のデータレジスタ出力１０１４のようにバイナリコードが‘００１’として出力される。つまり、バイパス命令実行でのバイナリコード出力によりバイナリコード‘１’の位置により電源遮断されているプロセッサコア１を判別することができる。したがって、第１の実施の形態のように電源遮断状態出力端子１７より電源遮断状態を出力することなく、シリアル通信端子により電源遮断されているプロセッサコア１を判別することができる。
【００９６】
ここで、電源状態レジスタ２４についてさらに説明する。レジスタの基本構成としては、バイパスデータレジスタと変わらない。つまり、バイパスデータレジスタとして使用するの場合、“０”を格納するが、電源状態レジスタとして使用する場合、“１”を格納し、“１”が格納されていることをもって、電源遮断されていることを示す。以下、電源遮断されているプロセッサコア１に対応した接続維持回路１５Ｙの電源状態レジスタ２４への電源遮断を示すデータ‘１’の設定について、さらに詳しく説明する。
【００９７】
プロセッサコア１が電源遮断されていることを示すために、接続維持回路１５Ｙの電源状態レジスタ２４を固定値の“１”とする。バイパス命令の出力規定値は“０”であるが、デバッグ時（デバッグ専用テスタが接続）のことであるので、ＪＴＡＧ規定にわざと違反させることにより、電源遮断されたプロセッサ位置を検出できるようにしている。固定値であるが、これにより電源状態が分かる／反映されるという意味で、上記の“１”を格納したレジスタを電源状態レジスタとしている。
【００９８】
なお、電源状態レジスタへの“１”の格納は、バイパスデータレジスタの場合と同様に、キャプチャＤＲステートで行われ、“０”ではなく“１”がロードされる。バイパスレジスタは出力値が“０”に固定され、電源状態レジスタは出力値が“１”に固定されるという点以外は同じであり、使用目的が異なるのみである。詳細回路での実現方法はいろいろあるが、バイパス命令でのキャプチャＤＲステート時、シフトレジスタへロードされる信号が“０”固定か、“１”固定かの違いのみである。
【００９９】
なお、この実施の形態では、バイパスデータレジスタがなくなっているが、問題は生じない。すなわち、汎用のバウンダリスキャンテスタを接続して電源遮断が起こると具合が悪いが、部分的な電源遮断をしながらボード上の配線テストをすることはないので、問題は起こらない。バイパスデータレジスタは、多数あるＬＳＩのうち、バウンダリスキャンするＬＳＩのみデータをシフトし、テストを高速化するレジスタである。ＪＴＡＧは、本来バウンダリスキャンテストにより、ボード上のＬＳＩ間配線テスト（実装確認のためのテスト）を行う規格である。
【０１００】
この半導体装置によれば、バイパス命令時、バイパス命令コードが命令レジスタ１９へシフトインされ、１ビットのデータが電源状態レジスタ２４へシフトインされ、また、シリアル通信ステートに応じて命令レジスタ出力と電源状態レジスタ出力から出力を選択する第１のセレクタ２１と、プロセッサコアの電源を個別に遮断する信号により第１のセレクタ２１の出力とシリアル通信制御回路３のデータレジスタ出力から出力を選択する第２のセレクタ２２を通し、チェーン接続される次のシリアル通信制御回路１４にシリアルデータを送ることができる。そのため、シリアルデータ入力端子５からシリアルデータ出力端子６までのチェーン接続を維持することができる。また、その時のデータレジスタ出力として電源状態を出力するため、チェーン接続の中でどのプロセッサコアの電源が遮断されているか判別することができる。
【０１０１】
したがって、接続維持回路１５Ｙ，１６Ｙでバイパスレジスタ２０の代わりに電源状態レジスタ２４を設けることで、シリアルデータ出力端子６から電源遮断されているプロセッサコアを判別できる。そのため、端子数を増やすことなく、またプロセッサコア単体のレイアウトデータをシステムＬＳＩのために再生成する必要なく、消費電力の増加を最小限に抑えて、ソフトウェアデバッグ対象外のプロセッサコアの電源が遮断されても他のプロセッサコアのソフトウェアデバッグを継続できる半導体装置を提供することができる。
【０１０２】
以上のように、本発明の第２の実施の形態によれば、接続維持回路１５Ｙに第１の実施の形態のようなバイパスデータレジスタ２０の代わりに電源状態レジスタ２４を設けることで、シリアルデータ端子から電源遮断されているプロセッサコア１を判別できるため、端子数を増やすことなく、またプロセッサコア単体のレイアウトデータをシステムＬＳＩのために再生成する必要なく、消費電力の増加を最小限に抑えて、ソフトウェアデバッグ対象外のプロセッサコア１の電源が遮断されても他のプロセッサコアのソフトウェアデバッグを継続できる。
【０１０３】
（第３の実施の形態）
図５は本発明の第３の実施の形態における半導体装置（システムＬＳＩ）の構成を示すブロック図であり、図６は本発明の第３の実施の形態における接続維持回路の構成を示すブロック図である。
【０１０４】
図５において、１，２および１３はソフトウェアデバッグのためのシリアル通信制御回路を個別に具備するプロセッサコアである。３，４および１４はプロセッサコア１，２，１３が具備するシリアル通信制御回路である。１５Ｚ，１６Ｚはシリアル通信制御回路３，４のシリアル接続を代替する接続維持回路である。プロセッサコア１３はマスタコアであり、電源が個別に遮断される構成ではないので、シリアル通信制御回路１４の接続を代替する接続維持回路は設けられていない。
【０１０５】
５は外部からシリアルデータを入力するシリアルデータ入力端子である。６はシリアルデータを外部へ出力するシリアルデータ出力端子である。２５はプロセッサコア１，２，１３と接続維持回路１５Ｚ，１６Ｚとシリアルデータ入力端子５およびシリアルデータ出力端子６（１組のシリアルデータ端子）とを備えた半導体装置（システムＬＳＩ）である。
【０１０６】
図６において、１９はシリアル通信で挿入される命令を保持する命令レジスタである。２４はバイパス命令実行時に選択される電源状態レジスタである。２１はシリアル通信の通信ステート信号１１１に応じて命令レジスタ１９の出力と電源状態レジスタ２４の出力を選択する第１のセレクタである。２６はプロセッサコア１，２の電源遮断を個別に制御する電源遮断制御信号１１０を一時保持し、通信ステート信号１１２によりリセットされる信号保持回路である。２２は信号保持回路２６の出力信号によりプロセッサコア１，２が具備するシリアル通信制御回路３，４のデータ出力と第１のセレクタ２１の出力を選択する第２のセレクタである。１５Ｚは命令レジスタ１９と電源状態レジスタ２４と第１および第２のセレクタ２１，２２と信号保持回路２６とを備えた接続維持回路である。接続維持回路１６Ｚも、接続維持回路１５Ｚと同じ構成である。
【０１０７】
シリアルデータ入力端子５はシリアル通信制御回路３のシリアルデータ入力部３ａと接続維持回路１５Ｚのシリアルデータ入力部１５ａとに接続され、シリアル通信制御回路３のシリアルデータ出力部３ｂは接続維持回路１５Ｚのシリアルデータ入力部１５ｃに接続され、接続維持回路１５Ｚのシリアルデータ出力部１５ｂはシリアル通信制御回路１４のシリアルデータ入力部１４ａに接続される。また、シリアル通信制御回路１４のシリアルデータ出力部１４ｂはシリアル通信制御回路４のシリアルデータ入力部４ａと接続維持回路１６Ｚのシリアルデータ入力部１６ａとに接続され、シリアル通信制御回路４のシリアルデータ出力部４ｂは接続維持回路１６Ｚのシリアルデータ入力部１６ｃに接続され、接続維持回路１６Ｚのシリアルデータ出力部１６ｂはシリアルデータ出力端子６に接続される。
【０１０８】
ここで、シリアルデータ入力端子５からシリアル通信制御回路３のシリアルデータ入力部３ａおよび接続維持回路１５Ｚのシリアルデータ入力部１５ａへ送られるのが、シリアルデータ入力信号１０１である。また、シリアル通信制御回路３のシリアルデータ出力部３ｂから接続維持回路１５Ｚのシリアルデータ入力部１５ｃへ送られるのが、シリアルデータ出力信号１０２である。また、接続維持回路１５Ｚのシリアルデータ出力端子１５ｂからシリアル通信制御回路１４のシリアルデータ入力部１４ａへ送られるのが、シリアルデータ出力信号１０７である。また、シリアル通信制御回路１４のシリアルデータ出力部１４ｂからシリアル通信制御回路４のシリアルデータ入力部４ａおよび接続維持回路１６Ｚのシリアルデータ入力部１６ａへ送られるのが、シリアルデータ入力信号１０８である。また、シリアル通信制御回路４のシリアルデータ出力部４ｂから接続維持回路１６Ｚのシリアルデータ入力部１６ｃへ送られるのが、シリアルデータ出力信号１０３である。また、接続維持回路１６Ｚのシリアルデータ出力部１６ｂからシリアルデータ出力端子６へ送られるのがシリアルデータ出力信号１０９である。
【０１０９】
さらに、プロセッサコア１３が出力するプロセッサコア１，２の電源を個別に遮断する電源遮断制御信号１１０は、接続維持回路１５Ｚ，１６Ｚへ供給され、シリアル通信制御回路１４の命令レジスタとバイパスデータレジスタのシフトアウトを通信ステート（Ｓｈｉｆｔ−ＩＲステート、またはＳｈｉｆｔ−ＤＲステート）に応じて切り替える通信ステート信号１１１は、接続維持回路１５Ｚ，１６Ｚへ供給される。また、シフトインしたデータレジスタのアップデートを制御する通信ステート信号１１２は接続維持回路１５Ｚ，１６Ｚへ供給される。
【０１１０】
また、接続維持回路１５Ｚにおいて、シリアルデータ入力信号１０１は、命令レジスタ１９と電源状態レジスタ２４とに入力され、命令レジスタ１９の出力と電源状態レジスタ２４の出力とは第１のセレクタ２１に入力される。通信ステート信号１１１は第１のセレクタ２１の切り替え信号として入力される。通信ステート信号１１２は信号保持回路２６のクリア信号として入力される。第１のセレクタ２１の出力とシリアル通信制御回路３のシリアルデータ出力信号１０２とが第２のセレクタ２２に入力される。電源遮断制御信号１１０は信号保持回路２６に入力され、信号保持回路２６の出力信号であるセレクタ切り替え信号１１３は第２のセレクタ２２の切り替え信号として入力される。第２のセレクタ２２の切り替え信号として入力される。第２のセレクタ２２の出力はシリアルデータ出力信号１０７として出力される。
【０１１１】
この接続維持回路１５Ｚは、通信ステート信号１１１がＳｈｉｆｔ−ＩＲステートを示すときは、第１のセレクタ２１が命令レジスタ１９の出力を選択し、通信ステート信号１１１がＳｈｉｆｔ−ＤＲステートを示すときは、第１のセレクタ２１が電源状態レジスタ２４の出力を選択する。また、信号保持回路２６の出力信号が通電状態を示すときは、第２のセレクタ２２がシリアル通信制御回路３のシリアルデータ出力信号１０２を選択し、信号保持回路２６の出力信号が遮断状態を示すときは、第２のセレクタ２２が第１のセレクタ２１の出力を選択する。
【０１１２】
同様に、接続維持回路１６Ｚにおいて、シリアルデータ入力信号１０８は、命令レジスタ１９と電源状態レジスタ２４とに入力され、命令レジスタ１９の出力と電源状態レジスタ２４の出力とは第１のセレクタ２１に入力される。通信ステート信号１１１は第１のセレクタ２１の切り替え信号として入力される。通信ステート信号１１２は信号保持回路２６のクリア信号として入力される。第１のセレクタ２１の出力とシリアル通信制御回路４のシリアルデータ出力信号１０３とが第２のセレクタ２２に入力される。電源遮断制御信号１１０は信号保持回路２６に入力され、信号保持回路２６の出力信号であるセレクタ切り替え信号１１３は第２のセレクタ２２の切り替え信号として入力される。第２のセレクタ２２の出力はシリアルデータ出力信号１０９として出力される。
【０１１３】
この接続維持回路１６Ｚは、通信ステート信号１１１がＳｈｉｆｔ−ＩＲステートを示すときは、第１のセレクタ２１が命令レジスタ１９の出力を選択し、通信ステート信号１１１がＳｈｉｆｔ−ＤＲステートを示すときは、第１のセレクタ２１が電源状態レジスタ２４の出力を選択する。また、信号保持回路２６の出力信号が通電状態を示すときは、第２のセレクタ２２がシリアル通信制御回路３のシリアルデータ出力信号１０３を選択し、信号保持回路２６の出力信号が遮断状態を示すときは、第２のセレクタ２２が第１のセレクタ２１の出力を選択する。
【０１１４】
また、プロセッサコア１とプロセッサコア２とは個別に電源遮断される領域にレイアウトされ、接続維持回路１５Ｚ，１６Ｚおよびプロセッサコア１３は常時電源の入っている領域にレイアウトされる。
【０１１５】
以上のように構成された本実施の形態の半導体装置について、シリアル入力データとシリアル出力データの流れにおいて、本発明の第２の実施の形態と異なる点を中心にその動作を説明する。
【０１１６】
プロセッサコア１のみ電源が短い期間遮断された後、シリアルデータ入力信号１０１として、図９、図１２のようにバイパス命令を３つ連結したシリアルデータ１００９をシリアルデータ入力端子５から入力すると、図１２のように、プロセッサコア１の電源を個別に遮断する電源遮断制御信号１１０は信号保持回路２６でセレクタ切り替え信号１１３として保持され、ステート遷移を制御する信号のうちＵｐｄａｔｅ−ＤＲステートでデータレジスタにシフトインしたシリアルデータをアップデートするタイミングを示す通信ステート信号１１２でセレクタ切り替え信号１１３をクリアすることで、一度は瞬間的に電源遮断されたプロセッサコア１を判別できる情報をシリアルデータ１０１４として出力し、次のシリアル通信からは電源の入っているプロセッサコアのシリアル通信制御回路からのシリアルデータを出力できるようになる。つまり、次のシリアル送信では、プロセッサコア１，１３，２、すべてのコアに電源が供給されているので、各コアのシリアル通信制御回路からシリアルデータを出力できる。プロセッサコア１は、一度瞬停を外部（デバッグ装置）へ知らせるためのデータを出力後、次のシリアル通信からは正常に戻る。
【０１１７】
ここで、プロセッサコア１の一時的な電源遮断の原因について説明する。一般に、瞬停と言われ、雷や使用者の瞬間的な電源オン／オフ操作、その他、電気製品のシステム仕様上（低消費電力モードに移行した直後に何らかの起動要因が起こり、デバッグ状態を想定していない短い電源遮断等）、起こることがあり得る。
【０１１８】
なお、電源遮断されているプロセッサコア１に対応した接続維持回路１５Ｚの電源状態レジスタ２４へのデータ‘１’の設定は、先の実施の形態と同様である。
【０１１９】
通常、電源再供給時、プロセッサコアはリセットされるため、外部へその状態を知らせることなく制御されると外部が認識しているプロセッサコアの状態と不一致が起こり、制御不能になる可能性があるが、電源状態レジスタ２４を読み出すまで、信号保持回路２６が電源状態レジスタ２４の値をシリアル出力として選択し続け、その値を読み出すことにより、チェーン接続の中でどのプロセッサコアの電源が遮断されたかを判別することができるので、外部の認識との不一致は起こらず、制御不能になることがない。
【０１２０】
ここで、電源が遮断されたプロセッサコアを判別できることで、外部の認識との不一致は起こらない理由について説明する。外部のデバッグ装置は、ＪＴＡＧ命令によって、プロセッサコア内部のメモリやレジスタ資源をアクセスし、また、プロセッサコアの状態をパーソナルコンピュータでのデバッガ画面に表示させている。その表示内容と実際のプロセッサコアの状態（メモリ、レジスタ内容を含む）と不一致が起こる可能性があり、また、デバッグのため設定していたブレークイベント等も、リセットされてしまうこともあり得る。デバッグ装置がプロッセッサコアのリセットを検出することにより、デバッガ表示へ反映させることができ、不一致を防ぐことができる。
【０１２１】
不一致が起こると、場合によっては、デバッグ装置が想定していない反応をプロセッサコアが行い、デバッグ装置が制御不能と判断することもあり得る。例えば、リセット後、デバッグ用にＪＴＡＧ経由である初期化処理を行わなければ、デバッグ容量−プロッセサコア間の通信ができない仕様のプロセッサコアもある。
【０１２２】
この半導体装置によれば、第２の実施の形態と同様な作用効果のほか、接続維持対象のプロセッサコア１の電源が瞬間的に遮断されても、接続維持回路１５Ｚ内の命令レジスタ出力あるいは電源状態データレジスタ出力を第１のセレクタ２１で選択して、チェーン接続されるシリアル通信制御回路１４にシリアルデータを送ることができる。そのため、不定値のシリアルデータを送ることなく、チェーン接続を維持できる。さらに通常、電源再供給時、プロセッサコア１はリセットされるため、外部へその状態を知らせることなく制御されると外部が認識しているプロセッサコア１の状態と不一致が起こり、制御不能になる可能性があるが、電源状態レジスタ２４を読み出すまで、電源状態レジスタ２４の値を保持し、その値を読み出すことにより、チェーン接続の中でどのプロセッサコアの電源が遮断されたかを判別することができるので、外部の認識との不一致は起こらず、制御不能になることがない。
【０１２３】
したがって、接続維持回路１５Ｚ，１６Ｚに、プロセッサコア１，２の電源を個別に遮断する信号の信号保持回路２６をさらに備えることで、第２の実施の形態と同様な作用効果が得られるほか、接続維持対象のプロセッサコア１の電源が瞬間的に遮断されても、制御不能な状態になることなく、他のプロセッサコア２，１３のソフトウェアデバッグを継続することができる。
【０１２４】
以上のように、本発明の第３の実施の形態によれば、第２の実施の形態による効果のほか、接続維持対象のプロセッサコア１の電源が瞬間的に遮断されても、電源が瞬間的に遮断されたプロセッサコアを判別できるので、制御不能な状態になることなく、プロセッサコア２，１３だけでなく、プロセッサコア１についても、ソフトウェアデバッグを継続することができる。
【０１２５】
（第４の実施の形態）
図７は本発明の第４の実施の形態における半導体装置（システムＬＳＩ）の構成を示すブロック図である。
【０１２６】
図７において、本発明の第１の実施の形態と同じ構成要素は同じ符号を付して説明を省略し、異なる点を中心に説明する。
【０１２７】
図７において、１，２はソフトウェアデバッグのためのシリアル通信制御回路を個別に具備するプロセッサコアである。３，４はプロセッサコア１，２が具備するシリアル通信制御回路である。１５，１６はシリアル通信制御回路３，４のシリアル接続を代替する接続維持回路である。
【０１２８】
５は外部からシリアルデータを入力するシリアルデータ入力端子である。６はシリアルデータを外部へ出力するシリアルデータ出力端子である。２７はプロセッサコア１とプロセッサコア２の実行やリセット等の制御を同時に行うためのコア間同期制御回路（組み合わせ回路等を含む）である。２８はコア間同期制御回路２７のシリアル通信を制御するシリアル通信制御回路である。２９はプロセッサコア１，２の電源を個別に遮断する電源遮断制御信号１１０を入力するための電源遮断制御信号入力端子である。３０はプロセッサコア１，２と接続維持回路１５，１６とコア間同期制御回路２７とシリアル通信制御回路２８とシリアルデータ入力端子５およびシリアルデータ出力端子６（１組のシリアルデータ端子）と電源遮断制御信号入力端子２９とを備えた半導体装置（システムＬＳＩ）である。
【０１２９】
ここで、シリアル通信制御回路が、コア間同期制御回路２７のシリアル通信を制御する点について、具体的に説明する。シリアル通信制御回路は、ＪＴＡＧの場合、ＴＡＰコントローラのことである。ＴＭＳ（テストモードセレクト）とＴＣＫ（テストクロック）により、１６種の通信ステートへ移行させ、それに必要な制御信号を生成している。
【０１３０】
大まかにいうと、命令を命令レジスタ（ＩＲ）へキャプチャ後シフトインしてからアップデートすることでＪＴＡＧ命令を挿入し、その命令に対応したデータをデータレジスタ（ＤＲ）へ同じくキャプチャ、シフトイン、アップデートすることで、そのＪＴＡＧ命令の実行が完了する。なお、キャプチャしたデータレジスタ（ＤＲ）の値は、シフトアウトされるので、その値を外部で受け取り、チップ内部（プロセッサコア内部）の状態を取り出すことができる。
【０１３１】
シリアルデータ入力端子５はシリアル通信制御回路２８のシリアルデータ入力部２８ａに接続され、シリアル通信制御回路２８のシリアルデータ出力部２８ｂはシリアル通信制御回路３のシリアルデータ入力部３ａと接続維持回路１５のシリアルデータ入力部１５ａとに接続され、シリアル通信制御回路３のシリアルデータ出力部３ｂは接続維持回路１５のシリアルデータ入力部１５ｃに接続され、接続維持回路１５のシリアルデータ出力部１５ｂはシリアル通信制御回路４のシリアルデータ入力部４ａと接続維持回路１６のシリアルデータ入力部１６ａに接続され、シリアル通信制御回路４のシリアルデータ出力部４ｂは接続維持回路１６のシリアルデータ入力部１６ｃに接続され、接続維持回路１６のシリアルデータ出力部１６ｂはシリアルデータ出力端子６に接続される。
【０１３２】
ここで、シリアルデータ入力端子５からシリアル通信制御回路２８のシリアルデータ入力部２８ａへ送られるのがシリアルデータ入力信号１０１である。シリアル通信制御回路２８のシリアルデータ出力部２８ｂからシリアル通信制御回路３のシリアルデータ入力部３ａおよび接続維持回路１５のシリアルデータ入力部１５ａへ送られるのが、シリアルデータ入力信号１１８である。また、シリアル通信制御回路３のシリアルデータ出力部３ｂから接続維持回路１５のシリアルデータ入力部１５ｃへ送られるのが、シリアルデータ出力信号１０２である。また、接続維持回路１５のシリアルデータ出力端子１５ｂからシリアル通信制御回路４のシリアルデータ入力部４ａおよび接続維持回路１６のシリアルデータ入力部１６ａへ送られるのが、シリアルデータ入力信号１０７である。また、シリアル通信制御回路４のシリアルデータ出力部４ｂから接続維持回路１６のシリアルデータ入力部１６ｃへ送られるのが、シリアルデータ出力信号１０３である。また、接続維持回路１６のシリアルデータ出力部１６ｂからシリアルデータ出力端子６へ送られるのがシリアルデータ出力信号１０９である。
【０１３３】
また、プロセッサコア１とプロセッサコア２は個別に電源遮断される領域にレイアウトされ、接続維持回路１５と接続維持回路１６とコア間同期制御回路２７、シリアル通信回路２８とは常時電源の入っている領域にレイアウトされる。
【０１３４】
シリアル通信制御回路２８の命令レジスタとデータレジスタのシフトアウトを通信ステートに応じて切り替える通信ステート信号１１１は接続維持回路１５，１６に入力され、動作モード等、プロセッサコア１，２の状態を示す信号やイベントヒット信号等がプロセッサコアステータス信号１１４，１１５としてプロセッサコア１，２からコア間同期制御回路２７にそれぞれ入力され、コア間同期制御回路２７の同期制御出力信号１１６，１１７がそれぞれプロセッサコア１，２に入力され、コア間同期制御回路２７の条件設定はシリアル通信制御回路２８で制御される。
【０１３５】
コア間同期制御回路はシステムＬＳＩに一つあればよく、どれかのプロセッサコアに元々内蔵している機能ではない。システムＬＳＩによってプロセッサコアの種類や数が変わるためである。また、接続維持回路やＪＴＡＧレジスタを含むコア間同期制御回路には、シリアル（ＪＴＡＧ）通信を制御する回路（ＴＡＰコントローラ）が必要である。そのシリアル通信制御回路は、常時電源オンの領域にレイアウトされている必要もあり、コア間同期制御回路とセットで１組のＪＴＡＧ回路として図７のように配置している。
【０１３６】
ここで、コア間同期制御回路の設定とは、ＪＴＡＧレジスタで同期制御の条件を設定することになるので、条件設定と表現した。
【０１３７】
シリアル通信制御回路２８を通してコア間同期制御回路２７に設定した信号が同期制御出力信号１１６，１１７として同時にあるいは個別に出力される。また、あらかじめコア間同期制御回路２７にプロセッサコアステータス信号１１４，１１５の入力に対する論理和、論理積等、条件を設定しておくと、同時に実行開始あるいは実行停止させたり、同時にリセットを発生、あるいはプロセッサコア１の状態によってプロセッサコア２の実行を制御させるなど指定条件で同期制御出力信号１１６，１１７として出力される。
【０１３８】
同一システムＬＳＩに各プロセッサコアの電源遮断を制御するマスタコアとなるプロセッサコアが存在する場合は、マスタコアとなるプロセッサコアのデバッグ回路にコア間同期制御回路を備えることもできるが、システムＬＳＩの構成毎にコア間同期制御回路の構成を変更する必要が発生する。それではマスタコアの単体レイアウトデータをその度に生成し直すことになるが、プロセッサコア１，２とは独立してコア間同期制御回路２７を備えることで、各プロセッサコア１，２の単体レイアウトデータを生成し直す必要はなくなる。その際、シリアル通信のステート信号１１１はシリアル通信制御回路２８の通信ステータスを使用すれば、マスタコア自体、システムＬＳＩに備える必要が無く、システムＬＳＩ外部から電源遮断制御信号入力端子２９により、個別にプロセッサコア１，２の電源遮断を制御することもできる。
【０１３９】
この半導体装置によれば、第１の実施の形態と同様な作用効果が得られるほか、コア間同期制御回路２７への通信を制御するシリアル通信制御回路２８の通信ステート信号を使用できるので、常時電源が供給される領域に電源遮断を制御するプロセッサコア（マスタコア）をレイアウトすることなく、外部から電源遮断を制御できる。さらに、統合するプロセッサコアの数に合わせたプロセッサコア間のコア間同期制御回路２７を設けることにより、ソフトウェアデバッグのための同期制御ができるようになる。
【０１４０】
以上のように、本発明の第４の実施の形態によれば、第１の実施に形態による効果のほかに、複数のプロセッサコア１，２を同時に制御したり、あるプロセッサコア、例えば２の状態で他のプロセッサコア、例えば１を制御する等のコア間の同期制御および外部からの個別プロセッサコアへの電源遮断制御が可能となる。
【０１４１】
（第５の実施の形態）
図８は本発明の第５の実施の形態における半導体装置（システムＬＳＩ）の構成を示すブロック図である。図８において、本発明の第１の実施の形態と同じ構成要素は同じ符号を付して説明を省略し、異なる点を中心に説明する。
【０１４２】
図８において、１，２および１３はソフトウェアデバッグのためのシリアル通信制御回路を個別に具備するプロセッサコアである。３，４および１４はプロセッサコア１，２，１３が具備するシリアル通信制御回路である。１５，１６はシリアル通信制御回路３，４のシリアル接続を代替する接続維持回路である。
【０１４３】
５は外部からシリアルデータを入力するシリアルデータ入力端子である。６はシリアルデータを外部へ出力するシリアルデータ出力端子である。３１は接続維持回路１５，１６がレイアウトされる領域の電源遮断を制御する電源制御回路である。３２は電源制御回路３１への電源遮断制御信号入力端子である。３３はプロセッサコア１，２と接続維持回路１５，１６と電源制御回路３１とシリアルデータ入力端子５およびシリアルデータ出力端子６（１組のシリアルデータ端子）と電源制御信号入力端子３２とを備えた半導体装置（システムＬＳＩ）である。
【０１４４】
また、プロセッサコア１とプロセッサコア２とは個別に電源遮断される領域にレイアウトされ、接続維持回路１５と接続維持回路１６および電源制御回路３１は電源制御信号入力端子３２で電源遮断される領域にレイアウトされる。
【０１４５】
シリアル通信制御回路３，４はソフトウェアデバッグ、あるいはバウンダリスキャンテスト時のみ動作させることになるので、シリアル通信制御回路へのリセット信号端子等を電源制御信号入力端子３２として使用すれば、端子数を増やすことなく、消費電力を少なくすべき通常モードでは接続維持回路１５，１６の電源を遮断できる。
【０１４６】
この半導体装置によれば、第１の実施の形態と同様な作用効果が得られるほか、常時電源が供給される領域にレイアウトされる接続維持回路１５，１６の電源をデバッグ時のみ電源供給するよう制御できるので、通常モードでは消費電力を増やすことなく、ソフトウェアデバッグを継続することができる。
【０１４７】
以上のように、本発明の第５の実施の形態によれば、第１の実施に形態による効果のほかに、消費電力が増加することなく、ソフトウェアデバッグを継続することができる。
【０１４８】
なお、上記の実施の形態では、個別に電源遮断可能なプロセッサコアが２台以上ある場合あるいは、それらと個別には電源遮断できないマスタコアとの組み合わせの構成について説明したが、個別に電源遮断が可能な１つのプロセッサコアと個別に電源遮断ができない１つのプロセッサコア（マスタコア）との組み合わせの場合についても、本発明を適用できる。
【０１４９】
【発明の効果】
請求項１，２記載の半導体装置によれば、シリアル通信制御回路間の接続を個別に維持する接続維持回路を設けることにより、消費電力の増加を最小限に抑えるとともに、端子数の増加を最小限に抑え、プロセッサコア単体のレイアウトデータをシステムＬＳＩのために再生成することなく、ソフトウェアデバッグ対象外のプロセッサコアの電源が遮断されてもソフトウェアデバッグを継続できる半導体装置を提供することができる。
【０１５０】
請求項３記載の半導体装置によれば、接続維持回路のバイパスレジスタの代わりに電源状態レジスタを設けることで、端子数を増やすことなく、またプロセッサコア単体のレイアウトデータをシステムＬＳＩのために再生成する必要なく、消費電力の増加を最小限に抑え、ソフトウェアデバッグ対象外のプロセッサコアの電源が遮断されてもソフトウェアデバッグを継続できる半導体装置を提供することができる。
【０１５１】
請求項４記載の半導体装置によれば、接続維持回路に、プロセッサコアの電源を個別に遮断する信号の信号保持回路をさらに備えることで、請求項３と同様な効果のほか、接続維持対象のプロセッサコアの電源が瞬間的に遮断されても、制御不能な状態になることなく、ソフトウェアデバッグを継続することができる半導体装置を提供することができる。
【０１５２】
請求項５記載の半導体装置によれば、請求項１と同様な効果のほか、コア間同期制御回路への通信を制御するシリアル通信制御回路の通信ステート信号を使用できるので、常時電源が供給される領域に電源遮断を制御するプロセッサコアをレイアウトすることなく、外部から電源遮断を制御でき、さらに、統合するプロセッサコアの数に合わせたプロセッサコア間のコア間同期制御回路により、ソフトウェアデバッグのための同期制御が可能な半導体装置を提供することができる。
【０１５３】
請求項６記載の半導体装置によれば、請求項１と同様な効果のほか、常時電源が供給される領域にレイアウトされる接続維持回路の電源をデバッグ時のみ電源供給するよう制御できるので、通常モードでは消費電力を増やすことなく、ソフトウェアデバッグを継続することができる半導体装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態における半導体装置の構成を示すブロック図である。
【図２】図１の接続維持回路の具体構成を示すブロック図である。
【図３】本発明の第２の実施の形態における半導体装置の構成を示すブロック図である。
【図４】図３の接続維持回路の具体構成を示すブロック図である。
【図５】本発明の第３の実施の形態における半導体装置の構成を示すブロック図である。
【図６】図５の接続維持回路の具体構成を示すブロック図である。
【図７】本発明の第４の実施の形態における半導体装置の構成を示すブロック図である。
【図８】本発明の第５の実施の形態における半導体装置の構成を示すブロック図である。
【図９】バイパス命令を３つ連結したシリアル入力データの内容を示す模式図である。
【図１０】プロセッサコア１の電源が遮断された場合のバイパス命令を先頭に３つの命令を連結したシリアル入力データおよびシリアル出力データの内容を示す模式図である。
【図１１】プロセッサコア１の電源が遮断された場合のバイパス命令を３つ連結したシリアル入力データおよびシリアル出力データの内容を示す模式図である。
【図１２】プロセッサコア１の電源が瞬間的に遮断された場合のバイパス命令を３つ連結したシリアル入力データおよびシリアル出力データの内容を示す模式図である。
【図１３】従来のチェーン接続された半導体装置の構成を示すブロック図である。
【図１４】従来のチェーン接続されたシリアル通信制御回路が常時電源の供給される領域にレイアウトされた半導体装置の構成を示すブロック図である。
【図１５】従来の複数組のシリアル端子を備えた半導体装置の構成を示すブロック図である。
【図１６】（ａ）はバイパス命令を入力する際のシリアル入力データおよびシリアル出力データの内容を示す模式図、（ｂ）はバイパス命令を２つ連結したシリアル入力データおよびシリアル出力データの内容を示す模式図である。
【符号の説明】
１　　プロセッサコア
２　　プロセッサコア
３　　シリアル通信制御回路
４　　シリアル通信制御回路
５　　シリアルデータ入力端子
６　　シリアルデータ出力端子
７　　半導体装置（システムＬＳＩ）
８　　常時電源が供給されるレイアウト領域
９　　半導体装置（システムＬＳＩ）
１０　　シリアルデータ出力端子
１１　　シリアルデータ入力端子
１２　　半導体装置（システムＬＳＩ）
１３　　プロセッサコア
１４　　シリアル通信制御回路
１５，１５Ｙ，１５Ｚ　　接続維持回路
１６，１６Ｙ，１６Ｚ　　接続維持回路
１７　　電源遮断状態出力端子
１８　　半導体装置（システムＬＳＩ）
１９　　命令レジスタ
２０　　バイパスデータレジスタ
２１　　第１のセレクタ
２２　　第２のセレクタ
２３　　半導体装置（システムＬＳＩ）
２４　　電源状態レジスタ
２５　　半導体装置（システムＬＳＩ）
２６　　信号保持回路
２７　　コア間同期制御回路
２８　　シリアル通信制御回路
２９　　電源遮断制御信号入力端子
３０　　半導体装置（システムＬＳＩ）
３１　　電源制御回路
３２　　電源遮断制御信号入力端子
３３　　半導体装置（システムＬＳＩ）
１０１　　シリアル入力データ
１０２　　シリアル出力データ
１０３　　シリアル出力データ
１０４　　デバッグ用入出力信号
１０５　　デバッグ用入出力信号
１０６　　シリアル入力データ
１０７　　シリアル出力データ
１０８　　シリアル出力データ
１０９　　シリアル出力データ
１１０　　電源遮断制御信号
１１１　　通信ステート信号
１１２　　通信ステート信号
１１３　　セレクタ切り替え信号
１１４　　プロセッサコアステータス信号
１１５　　プロセッサコアステータス信号
１１６　　同期制御出力信号
１１７　　同期制御出力信号
１００１　　命令コード
１００２　　データコード
１００３　　出力シリアルデータ
１００４　　出力シリアルデータ
１００５　　命令コード
１００６　　データコード
１００７　　出力シリアルデータ
１００８　　出力シリアルデータ
【図１】
2004127169.tif 000003
【図２】
2004127169.tif 000004
【図３】
2004127169.tif 000005
【図４】
2004127169.tif 000006
【図５】
2004127169.tif 000007
【図６】
2004127169.tif 000008
【図７】
2004127169.tif 000009
【図８】
2004127169.tif 000010
【図９】
2004127169.tif 000011
【図１０】
2004127169.tif 000012
【図１１】
2004127169.tif 000013
【図１２】
2004127169.tif 000014
【図１３】
2004127169.tif 000015
【図１４】
2004127169.tif 000016
【図１５】
2004127169.tif 000017
【図１６】
2004127169.tif 000018