(57)【要約】【課題】動作試験を簡素化することが可能な半導体装置を提供することである。【解決手段】一実施の形態にかかる半導体装置１では、バスＢ０と、バスＢ０を駆動する第１のバスドライバＤ０および第２のバスドライバＤ１と、第１のバスドライバＤ０および第２のバスドライバＤ１を制御する制御回路１５と、を備える。制御回路１５は、第１のバスドライバＤ０および第２のバスドライバＤ１が互いに異なる論理信号をバスＢ０に供給するように、第１のバスドライバＤ０および第２のバスドライバＤ１を制御する。【選択図】図１
2019007742.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２のバスと、
前記第１のバスを駆動する第１のバスドライバと、
前記第２のバスを駆動する第２のバスドライバと、
前記第１のバスと前記第２のバスとの間に設けられ、前記第１のバスと前記第２のバスとを接続可能な第１のスイッチ素子と、
前記第１及び第２のバスドライバ、並びに前記第１のスイッチ素子を制御する制御回路と、を備え、
前記制御回路は、第１のタイミングにおいて、前記第１のスイッチ素子を用いて前記第１のバスと前記第２のバスとを接続し、前記第１及び第２のバスドライバが互いに異なる論理信号を前記第１及び第２のバスにそれぞれ供給するように前記第１及び第２のバスドライバを制御する、
半導体装置。
【請求項２】
第３のバスと、
前記第３のバスを駆動する第３のバスドライバと、
前記第２のバスと前記第３のバスとの間に設けられ、前記第２のバスと前記第３のバスとを接続可能な第２のスイッチ素子と、を更に備え、
前記制御回路は、第２のタイミングにおいて、前記第２のスイッチ素子を用いて前記第２のバスと前記第３のバスとを接続し、前記第２及び第３のバスドライバが互いに異なる論理信号を前記第２及び第３のバスにそれぞれ供給するように前記第２及び第３のバスドライバを制御する、
請求項１に記載の半導体装置。
【請求項３】
バスと、
前記バスを駆動するバスドライバと、
前記バスに接続された検証回路と、を備え、
前記検証回路は、前記バスドライバが前記バスに供給している論理信号を入力したことに応じて逆の論理信号を前記バスに供給しようとするように構成されている、
半導体装置。
【請求項４】
前記検証回路は、直列接続された奇数段のインバータを用いて構成されており、
前記奇数段のインバータの入力端子と出力端子は前記バスに接続されており、
前記奇数段のインバータのうちの最終段のインバータの駆動力は、前記バスドライバの駆動力よりも小さい、
請求項３に記載の半導体装置。
【請求項５】
前記検証回路は、
前記バスに出力端子が接続されたトライステートインバータと、
前記トライステートインバータの入力端子と前記出力端子との間に直列接続された偶数段のインバータと、を備え、
前記トライステートインバータの駆動力は前記バスドライバの駆動力よりも小さい、
請求項３に記載の半導体装置。
【請求項６】
前記検証回路は、
イネーブル信号に応じて、前記バスに論理信号を出力する状態とハイインピーダンスの状態とを切り替え可能なスイッチ素子と、
極性設定信号に応じた論理信号を前記バスに出力するドライバと、を備え、
前記ドライバの駆動力は、前記バスドライバの駆動力よりも小さい、
請求項３に記載の半導体装置。
【請求項７】
半導体装置の試験方法であって、
前記半導体装置は、
バスと、
前記バスを駆動する第１及び第２のバスドライバと、を備え、
前記第１及び第２のバスドライバから前記バスに互いに異なる論理信号を供給し、
前記第１及び第２のバスドライバが互いに異なる論理信号を前記バスに供給している際の電流量を検出する、
半導体装置の試験方法。
【請求項８】
半導体装置の試験方法であって、
前記半導体装置は、
第１及び第２のバスと、
前記第１のバスを駆動する第１のバスドライバと、
前記第２のバスを駆動する第２のバスドライバと、
前記第１のバスと前記第２のバスとの間に設けられ、前記第１のバスと前記第２のバスとを接続可能な第１のスイッチ素子と、を備え、
前記第１のスイッチ素子を用いて前記第１のバスと前記第２のバスとを接続し、
前記第１及び第２のバスドライバが互いに異なる論理信号を前記第１及び第２のバスに供給している際の電流量を検出する、
半導体装置の試験方法。
【請求項９】
半導体装置の試験方法であって、
前記半導体装置は、
バスと、
前記バスを駆動するバスドライバと、
前記バスに接続された検証回路と、を備え、
前記検証回路は、前記バスドライバが前記バスに供給している論理信号と逆の論理信号を前記バスに供給しようとし、
前記バスドライバが前記バスに論理信号を供給した際に前記バスドライバと前記バスと前記検証回路とに流れる電流量を検出する、
半導体装置の試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置、及び半導体装置の試験方法に関し、例えばバスを駆動するバスドライバを含む半導体装置、及び半導体装置の試験方法に関する。
【背景技術】
【０００２】
一般的に、半導体装置は、市場への出荷の前に動作試験が実施され、動作試験をパスした半導体装置が市場に出荷されている。このように、出荷前に半導体装置の動作試験を実施することで、半導体装置の信頼性を向上させることができる。
【０００３】
特許文献１には、トライステートバッファを含む半導体装置にスキャンテストを実施した際の疑似検出を避けて、故障検出率を向上させるための技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−５２０１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
背景技術で説明したように、半導体装置は、半導体装置の信頼性を向上させるために、市場への出荷の前に動作試験が実施されている。
【０００６】
しかしながら、近年、半導体装置の集積化が進むにつれて、半導体装置の動作試験が複雑化し、動作試験に要する時間が長くなる傾向にある。このため、半導体装置の動作試験を簡素化し、動作試験に要する時間を短縮する技術が必要とされている。
【０００７】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
一実施の形態にかかる半導体装置では、第１及び第２のバスドライバがバスに接続されており、第１及び第２のバスドライバが互いに異なる論理信号をバスに供給するように第１及び第２のバスドライバを制御する。
【発明の効果】
【０００９】
前記一実施の形態によれば、動作試験を簡素化することが可能な半導体装置、及び半導体装置の試験方法を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１にかかる半導体装置を説明するための図である。
【図２】実施の形態１にかかる半導体装置が備えるバスドライバの一例を示す回路図である。
【図３】実施の形態１にかかる半導体装置の動作を説明するための図である。
【図４】実施の形態１にかかる半導体装置の動作を説明するための回路図である。
【図５】実施の形態１にかかる半導体装置の動作を説明するためのタイミングチャートである。
【図６】比較例にかかる半導体装置の動作を説明するためのタイミングチャートである。
【図７】比較例にかかる半導体装置の動作試験を説明するための図である。
【図８】比較例にかかる半導体装置の動作試験を説明するための図である。
【図９】実施の形態２にかかる半導体装置を説明するための図である。
【図１０】実施の形態２にかかる半導体装置の詳細を説明するための図である。
【図１１】実施の形態２にかかる半導体装置のテストパターンの一例を示す図である。
【図１２】実施の形態２にかかる半導体装置を説明するための図である。
【図１３】実施の形態３にかかる半導体装置を説明するための図である。
【図１４】実施の形態３にかかる半導体装置のテストパターンの一例を示す図である。
【図１５】実施の形態３にかかる半導体装置の動作試験の判定結果を説明するための表である。
【図１６】実施の形態３にかかる半導体装置の動作試験の判定結果を説明するための表である。
【図１７】実施の形態３にかかる半導体装置を説明するための図である。
【図１８】実施の形態４にかかる半導体装置を説明するための図である。
【図１９】実施の形態４にかかる半導体装置の動作を説明するための図である。
【図２０】実施の形態４にかかる半導体装置の動作を説明するための図である。
【図２１】実施の形態５にかかる半導体装置を説明するための図である。
【図２２】実施の形態５にかかる半導体装置の動作を説明するための図である。
【図２３】実施の形態５にかかる半導体装置の動作を説明するための図である。
【図２４】実施の形態５にかかる半導体装置の他の構成例を示す図である。
【発明を実施するための形態】
【００１１】
＜実施の形態１＞
以下、図面を参照して実施の形態１について説明する。
図１は、実施の形態１にかかる半導体装置を説明するための図である。図１に示すように、本実施の形態にかかる半導体装置１は、バスＢ０、論理モジュール１１、及び制御回路１５を少なくとも備える。
【００１２】
なお、図１に示す半導体装置１では、本実施の形態の説明に必要な構成要素のみを記載しており、その他の一般的な構成要素については記載を省略している。また、本実施の形態において、例えば半導体装置１は論理ＬＳＩであり、例えばＣＭＯＳ（Complementary Metal Oxide Semiconductor）技術を用いて製造されたマイクロコンピュータである。
【００１３】
また、本実施の形態にかかる半導体装置１では、半導体装置１の静止電源電流（Ｉｄｄｑ）を測定することで、半導体装置１の異常を検出している。このため本実施の形態では、半導体装置１の動作試験を実施する際に、半導体装置１の高電位側の電源端子Ｖｄｄに電源１１０を接続し、低電位側の電源端子Ｖｓｓに電流測定回路１１１を接続する。そして、電源１１０から半導体装置１の電源端子Ｖｄｄに電源を供給した状態で、半導体装置１の内部回路の論理状態を所定の状態に固定したときに流れる静止電源電流（Ｉｄｄｑ）を、電流測定回路１１１を用いて測定する。この測定された静止電源電流（Ｉｄｄｑ）の電流量に関する情報は、異常判定回路１１２に供給される。異常判定回路１１２は、静止電源電流（Ｉｄｄｑ）の電流量に基づいて、半導体装置１が異常であるか否かを判定する。
【００１４】
このように、本実施の形態では、半導体装置１の動作試験を行う際、半導体装置１に加えて、電源１１０、電流測定回路１１１、及び異常判定回路１１２を用いており、これらは半導体試験システムを構成している。なお、図１に示した構成では、半導体装置１の外部に電流測定回路１１１および異常判定回路１１２を設けた構成について説明した。しかし本実施の形態では、半導体装置１の内部に電流測定回路１１１および異常判定回路１１２を設けてもよい。
【００１５】
以下、本実施の形態にかかる半導体装置１について詳細に説明する。
図１に示すように、半導体装置１が備える論理モジュール１１は、バスＢ０を駆動する複数のバスドライバＤ０、Ｄ１を備える。バスドライバＤ０は、論理モジュール１１内の論理信号（ハイレベル信号（“Ｈ”）、またはロウレベル信号（“Ｌ”）。以下、同様。）をバスＢ０に出力する。同様に、バスドライバＤ１は、論理モジュール１１内の論理信号をバスＢ０に出力する。つまり、バスドライバＤ０、Ｄ１は、論理モジュール１１内の論理信号をバスＢ０に出力する出力バスドライバとして機能する。なお、論理モジュール１１が備えるその他の回路要素（論理回路、バスから信号を入力するためのドライバ等）については記載を省略している。
【００１６】
例えば、バスドライバＤ０、Ｄ１は、トライステートバッファを用いて構成することができる。つまり、バスドライバＤ０は、イネーブル信号ＥＮ０がハイレベルの場合、バスドライバＤ０に入力された論理信号と同一の論理信号をバスＢ０に出力する。一方、バスドライバＤ０は、イネーブル信号ＥＮ０がロウレベルの場合、バスドライバＤ０の出力側（つまり、バスＢ０に接続されている側）がハイインピーダンスとなる。この場合は、バスドライバＤ０からバスＢ０にデータは出力されない。バスドライバＤ１についても同様である。
【００１７】
図２は、バスドライバＤ０の一例を示す回路図である。図２に示すように、バスドライバＤ０は、ＰチャネルトランジスタＭＰ１、ＭＰ２、ＮチャネルトランジスタＭＮ１、ＭＮ２、及びインバータＩＮＶ１、ＩＮＶ２を用いて構成することができる。
【００１８】
ＰチャネルトランジスタＭＰ１のソースは高電位側の電源線に接続されており、ドレインはＰチャネルトランジスタＭＰ２のソースに接続されている。ＰチャネルトランジスタＭＰ２のドレインは、バスドライバＤ０の出力端子ＯＵＴに接続されている。ＮチャネルトランジスタＭＮ１のドレインは出力端子ＯＵＴに接続されており、ソースはＮチャネルトランジスタＭＮ２のドレインに接続されている。ＮチャネルトランジスタＭＮ２のソースは、低電位側の電源線に接続されている。
【００１９】
インバータＩＮＶ１の入力は、バスドライバＤ０の入力端子ＩＮに接続されている。また、インバータＩＮＶ１は、入力信号を反転した信号を、ＰチャネルトランジスタＭＰ１のゲートおよびＮチャネルトランジスタＭＮ２のゲートにそれぞれ供給する。
【００２０】
インバータＩＮＶ２の入力には、イネーブル信号ＥＮ０が供給される。また、インバータＩＮＶ２は、イネーブル信号ＥＮ０を反転した信号を、ＰチャネルトランジスタＭＰ２のゲートに供給する。また、ＮチャネルトランジスタＭＮ１のゲートには、イネーブル信号ＥＮ０が供給される。
【００２１】
イネーブル信号ＥＮ０がロウレベルの場合、ＰチャネルトランジスタＭＰ２およびＮチャネルトランジスタＭＮ１がオフ状態となる。この場合は、バスドライバＤ０の出力端子ＯＵＴが浮いた状態となり、ハイインピーダンスとなる。
【００２２】
一方、イネーブル信号ＥＮ０がハイレベルの場合は、ＰチャネルトランジスタＭＰ２およびＮチャネルトランジスタＭＮ１がオン状態となる。この状態において、バスドライバＤ０の入力端子ＩＮにハイレベルの信号が供給されると、ＰチャネルトランジスタＭＰ１のゲートおよびＮチャネルトランジスタＭＮ２のゲートにはそれぞれ、ロウレベルの信号が供給される。よって、ＰチャネルトランジスタＭＰ１がオン状態、ＮチャネルトランジスタＭＮ２がオフ状態となり、バスドライバＤ０の出力端子ＯＵＴからハイレベルの信号が出力される。一方、バスドライバＤ０の入力端子ＩＮにロウレベルの信号が供給されると、ＰチャネルトランジスタＭＰ１のゲートおよびＮチャネルトランジスタＭＮ２のゲートにはそれぞれ、ハイレベルの信号が供給される。よって、ＰチャネルトランジスタＭＰ１がオフ状態、ＮチャネルトランジスタＭＮ２がオン状態となり、バスドライバＤ０の出力端子ＯＵＴからロウレベルの信号が出力される。バスドライバＤ１についても、図２に示した構成と同様の構成を備える。
【００２３】
図１に示す半導体装置１が備える制御回路１５は、バスドライバＤ０、Ｄ１を制御可能に構成されている。制御回路１５は、テスト信号ＴＳを論理モジュール１１に供給することで、バスドライバＤ０、Ｄ１を制御する。具体的には、制御回路１５は、テストモードにおいて、バスドライバＤ０、Ｄ１が互いに異なる論理信号をバスＢ０に供給するように、バスドライバＤ０、Ｄ１を制御する。
【００２４】
図３、図４を用いて本実施の形態にかかる半導体装置のテストモードにおける動作について説明する。制御回路１５は、テストモードにおいて、バスドライバＤ０、Ｄ１が互いに異なる論理信号をバスＢ０に供給するように、バスドライバＤ０、Ｄ１を制御する。図３に示す例では、バスドライバＤ１がハイレベルの論理信号をバスＢ０に供給し、バスドライバＤ０がロウレベルの論理信号をバスＢ０に供給している場合を示している。このとき、バスドライバＤ１からバスドライバＤ０にバスＢ０を経由して電流（貫通電流）が流れる。
【００２５】
図４を用いて具体的に説明すると、バスドライバＤ１にハイレベルのイネーブル信号ＥＮ１が供給されると、バスドライバＤ１のＰチャネルトランジスタＭＰ２_１およびＮチャネルトランジスタＭＮ１_１がオン状態となる。この状態において、バスドライバＤ１の入力端子ＩＮにハイレベルの信号が供給されると、ＰチャネルトランジスタＭＰ１_１のゲートおよびＮチャネルトランジスタＭＮ２_１のゲートにはそれぞれ、ロウレベルの信号が供給される。よって、ＰチャネルトランジスタＭＰ１_１がオン状態、ＮチャネルトランジスタＭＮ２_１がオフ状態となり、バスＢ０が高電位側の電源線と電気的に接続されるため、バスドライバＤ１からハイレベルの信号がバスＢ０に出力される。
【００２６】
また、バスドライバＤ０にハイレベルのイネーブル信号ＥＮ０が供給されると、バスドライバＤ０のＰチャネルトランジスタＭＰ２_０およびＮチャネルトランジスタＭＮ１_０がオン状態となる。この状態において、バスドライバＤ０の入力端子ＩＮにロウレベルの信号が供給されると、ＰチャネルトランジスタＭＰ１_０のゲートおよびＮチャネルトランジスタＭＮ２_０のゲートにはそれぞれ、ハイレベルの信号が供給される。よって、ＰチャネルトランジスタＭＰ１_０がオフ状態、ＮチャネルトランジスタＭＮ２_０がオン状態となり、バスＢ０が低電位側の電源線と電気的に接続されるため、バスドライバＤ０からロウレベルの信号がバスＢ０に出力される。
【００２７】
このとき、バスドライバＤ１、バスＢ０、及びバスドライバＤ０には電流（貫通電流）が流れる。具体的には、バスドライバＤ１の高電位側の電源線から、バスドライバＤ１のＰチャネルトランジスタＭＰ１_１及びＭＰ２_１、バスＢ０、バスドライバＤ０のＮチャネルトランジスタＭＮ１_０及びＭＮ２_０を経由して、バスドライバＤ０の低電位側の電源線に貫通電流が流れる。
【００２８】
本実施の形態では、このときに流れる電流量、すなわち、テストモードにおいてバスドライバＤ０、Ｄ１が互いに異なる論理信号をバスＢ０に供給している際の電流量に基づいて、バスＢ０、及びバスドライバＤ０、Ｄ１のうちの少なくとも一つの異常を検出することができる。
【００２９】
具体的には、バスドライバＤ０、Ｄ１が互いに異なる論理信号をバスＢ０に供給している際に流れる半導体装置１の静止電源電流の電流量を、図３に示す電流測定回路１１１を用いて測定する。そして、異常判定回路１１２は、この測定された電流量が所定の基準値以下の場合、バスＢ０、及びバスドライバＤ０、Ｄ１のうちの少なくとも一つが異常であると判定することができる。
【００３０】
すなわち、図４に示したように、バスドライバＤ１がハイレベルの論理信号をバスＢ０に供給し、バスドライバＤ０がロウレベルの論理信号をバスＢ０に供給している場合は、バスドライバＤ１からバスドライバＤ０にバスＢ０を経由して貫通電流が流れる。しかし、この貫通電流が流れる経路に断線や接続不良等の異常がある場合は、貫通電流が流れないか、または貫通電流の電流量が所定の基準値以下となる。本実施の形態では、この貫通電流の電流量を測定することで、バスドライバＤ０、Ｄ１、及びバスＢ０の断線や接続不良等の異常を検出することができる。
【００３１】
図４に示した例では、貫通電流が流れる経路、つまり、バスドライバＤ１の高電位側の電源線から、バスドライバＤ１のＰチャネルトランジスタＭＰ１_１及びＭＰ２_１、バスＢ０、バスドライバＤ０のＮチャネルトランジスタＭＮ１_０及びＭＮ２_０を経由し、バスドライバＤ０の低電位側の電源線までの経路における断線や接続不良等の異常を検出することができる。
【００３２】
なお、バスドライバＤ０、Ｄ１がバスＢ０に供給する論理信号を、図３、図４に示した場合とそれぞれ逆にしても良い。逆にした場合、つまり、バスドライバＤ０がハイレベルの論理信号をバスＢ０に供給し、バスドライバＤ１がロウレベルの論理信号をバスＢ０に供給している場合は、バスドライバＤ０からバスドライバＤ１にバスＢ０を経由して電流（貫通電流）が流れる。
【００３３】
この場合は、バスドライバＤ０の高電位側の電源線から、バスドライバＤ０のＰチャネルトランジスタＭＰ１_０及びＭＰ２_０、バスＢ０、バスドライバＤ１のＮチャネルトランジスタＭＮ１_１及びＭＮ２_１を経由し、バスドライバＤ１の低電位側の電源線までの経路に貫通電流が流れる。この経路は、図４に示した経路とは一部が異なる。つまり、バスドライバＤ０、Ｄ１の内部における経路が異なる。よって、このようにバスドライバＤ０、Ｄ１がバスＢ０に供給する論理信号を、図３、図４に示した場合と逆にすることで、バスドライバＤ０、Ｄ１の他の経路における断線や接続不良等の異常を検出することができる。
【００３４】
次に、本実施の形態にかかる半導体装置における異常検出の動作原理について説明する。図５は、本実施の形態にかかる半導体装置の動作を説明するためのタイミングチャートである。図６は、比較例にかかる半導体装置の動作を説明するためのタイミングチャートである。
【００３５】
例えば、ＣＭＯＳ技術を用いて製造された論理回路では、論理回路の論理状態が切り替わるタイミングにおいて電源電流（Ｉｄｄ）が増加するが、論理状態が固定されているときには電源電流がほとんど流れないという性質を有する。図６に示す比較例では、タイミングｔ１１でクロックが立ち上がった際に回路が動作を開始し、動作期間を経た後、最終段の論理出力が確定するタイミングｔ１２で、回路電流がほぼゼロとなり安定する。比較例にかかる半導体装置では、タイミングｔ１３において測定装置（電流測定回路）にＩｄｄｑ測定タイミング信号を与えて、このタイミングｔ１３における回路電流値（つまり、静止電源電流）を測定する。そして、測定された回路電流値（静止電源電流）が所定の設定値以下であれば、正常であると判定することができる。
【００３６】
これに対して本実施の形態では、タイミングｔ１でクロックが立ち上がった際に回路が動作を開始し、その後、タイミングｔ２においてテスト信号ＴＳがハイレベルとなり、バスドライバＤ０、Ｄ１が互いに異なる論理信号をバスＢ０に供給する。そして、論理動作が終了した後、つまりバスドライバの出力が確定したタイミング以降、バスドライバＤ１からバスドライバＤ０にバスＢ０を経由して電流（貫通電流）が流れる。つまり、図４に示したように、バスドライバＤ１の高電位側の電源線から、バスドライバＤ１のＰチャネルトランジスタＭＰ１_１及びＭＰ２_１、バスＢ０、バスドライバＤ０のＮチャネルトランジスタＭＮ１_０及びＭＮ２_０を経由して、バスドライバＤ０の低電位側の電源線に貫通電流が流れる。よって、半導体装置１には一定量の回路電流が流れる。
【００３７】
本実施の形態では、図５に示すように、タイミングｔ３において電流測定回路１１１（図１参照）にＩｄｄｑ測定タイミング信号を与えて、このタイミングｔ３における回路電流値Ｉｍ（つまり、静止電源電流）を測定する。そして、測定された回路電流値Ｉｍ（静止電源電流）に基づいて、半導体装置１が正常であるか否かを判定することができる。
【００３８】
つまり、正常な状態の半導体装置の静止電源電流の電流値は所定の基準値以内であるとすると、この基準値を超える電流は、バスドライバＤ０、Ｄ１とバスＢ０とを流れる電流に対応する。よって、図５のタイミングｔ３において測定した電流値Ｉｍが所定の基準値よりも大きい場合は、バスドライバＤ０、Ｄ１とバスＢ０とを繋ぐ経路において電流が流れているので、この経路におけるバスドライバＤ０、Ｄ１とバスＢ０の動作と接続は正常であると判定することができる。
【００３９】
一方、図５のタイミングｔ３において測定した電流値Ｉｍが所定の基準値以下の場合は、バスドライバＤ０、Ｄ１とバスＢ０とを繋ぐ経路において本来流れる電流が流れていないため、この経路におけるバスドライバＤ０、Ｄ１およびバスＢ０の少なくとも一つが論理的な動作不良であるか、または配線が断線しており、異常であると判定することができる。
【００４０】
図７、図８は、比較例にかかる半導体装置の論理テストを用いた動作試験を説明するための図である。図７、図８では、バスドライバＤ１とバスＢ０との間に接続不良がある場合に異常を検出する動作を示している。図７、図８に示す比較例にかかる動作試験では、バスドライバがバスを駆動する際、１つのバスドライバのみが動作状態（イネーブル信号がハイレベル）となり、その他のバスドライバの出力側はハイインピーダンス状態（イネーブル信号がロウレベル）とする。
【００４１】
図７に示すように、動作試験のＮサイクル目にバスドライバＤ０からバスＢ０にハイレベルの信号を供給する。これにより、バスＢ０の寄生容量が充電されて、バスＢ０がハイレベルになる。このとき、バスドライバＤ１（トライステートバッファ）にはロウレベルのイネーブル信号が供給されており、バスドライバＤ１の出力側はハイインピーダンス状態となっている。
【００４２】
次に、Ｎ＋１サイクル目にバスドライバＤ１が動作する。ここで、バスドライバＤ１の出力値（期待値）がハイレベルの場合は、Ｎサイクル目に充電された寄生容量がバスＢ０の電位を維持しているため、バスドライバＤ１とバスＢ０との間に接続不良が有っても、バスドライバＤ１がバスＢ０をハイレベルへ正常に駆動した場合と同じ結果となる。従って、バスＢ０の論理レベルを試験すると、バスドライバＤ１の出力値（期待値）と同じハイレベルと検出され、テスト結果は正常と判定される。つまり、この場合はバスドライバＤ１とバスＢ０との間の接続不良を検出することはできない。
【００４３】
次に、図８に示す比較例にかかる半導体装置の動作試験について説明する。図８に示すように、動作試験のＮサイクル目にバスドライバＤ０からバスＢ０にロウレベルの信号を供給した場合は、バスＢ０の寄生容量が放電されて、バスＢ０がロウレベルとなる。このとき、バスドライバＤ１（トライステートバッファ）にはロウレベルのイネーブル信号が供給されており、バスドライバの出力側はハイインピーダンス状態となっている。
【００４４】
次に、Ｎ＋１サイクル目にバスドライバＤ１が動作する。このとき、バスドライバＤ１の出力値（期待値）がハイレベルの場合、バスドライバＤ１とバスＢ０との間に接続不良があるため、バスドライバＤ１はバスＢ０の寄生容量を充電することができない。この場合は、バスドライバＤ１の出力値（期待値）とバスＢ０の論理レベルが異なる結果となり、テスト結果は異常と判定される。
【００４５】
このように、バスＢ０を含む論理テストを用いた動作試験では、直前の動作ステップの影響を受けるため、特定のステップにおける論理状態から正常／異常を正確に判断することができない場合がある。よって、動作試験の結果に矛盾が生じ、動作試験の信頼性が低下するという問題があった。
【００４６】
また、例えばバスドライバＤ１の出力とバスＢ０との間に高抵抗成分が含まれる場合、論理テスト時の動作周期が短時間であると、バスＢ０の寄生容量を充電することができないため異常であると判定される。しかしながら、論理テスト時の動作周期が長時間である場合は、バスＢ０の寄生容量を充電することができ、正常であると判定される。このように、比較例にかかる半導体装置の動作試験では、論理テストの条件の設定に応じて、テスト結果が異なる場合があった。
【００４７】
このため、例えば論理テストの条件を増加させたり、他の手段を用いた論理テストを実施する必要が生じ、動作試験に費やす時間が増大するという問題があった。また、上述したように、近年、半導体装置の集積化が進むにつれて、半導体装置の動作試験が複雑化し、動作試験に要する時間が長くなる傾向にあった。このため、半導体装置の動作試験を簡素化し、動作試験に要する時間を短縮する技術が必要とされていた。
【００４８】
そこで本実施の形態にかかる半導体装置１では、テストモードにおいてバスドライバＤ０、Ｄ１が互いに異なる論理信号をバスＢ０に同時に供給するようにしている。これにより、バスドライバＤ０、Ｄ１とバスＢ０とを繋ぐ経路に電流（貫通電流）が流れるので、この貫通電流を測定することで、バスドライバＤ０、Ｄ１とバスＢ０の異常を検出することができる。
【００４９】
つまり、バスドライバＤ０、Ｄ１とバスＢ０とを繋ぐ経路に流れる貫通電流を測定して評価することで、バスドライバＤ０、Ｄ１とバスＢ０とを繋ぐ経路の抵抗値を直接評価することができる。よって、バスドライバからバスまでの配線構造の良否を直接的に判定することができる。すなわち、図７、図８に示した比較例では、バスＢ０の寄生容量に起因した論理テストを用いた機能試験の不安定性が問題となっていた。しかし、本実施の形態では、バスドライバＤ０、Ｄ１とバスＢ０とを繋ぐ経路の抵抗値を直接評価しているので、このような寄生容量に起因した論理テストを用いた機能試験の不安定性を回避することができる。更に、論理テストを用いた機能試験の不安定性を減らすため、様々な条件設定を行って、同様な動作試験を繰り返す回数を減らすことができるので、動作試験に必要な工数を低減させることができる。したがって、半導体装置の動作試験を簡素化し、動作試験に要する時間を短縮することができる。
【００５０】
＜実施の形態２＞
次に、実施の形態２について説明する。
図９は、実施の形態２にかかる半導体装置を説明するための図である。実施の形態２にかかる半導体装置２では、実施の形態１で説明した半導体装置１と比べて、複数のバスＢ０〜Ｂ３を備える点、及び複数のバスＢ０〜Ｂ３を互いに接続可能なバス接続回路２３を備える点が異なる。これ以外の構成および動作については、実施の形態１で説明した半導体装置１と同様であるので重複した説明は適宜省略する。
【００５１】
図９に示すように、本実施の形態にかかる半導体装置２は、複数のバスＢ０〜Ｂ３、論理モジュール２１、２２、バス接続回路２３、及び制御回路２５を少なくとも備える。なお、図９に示す半導体装置２では、本実施の形態の説明に必要な構成要素のみを記載しており、その他の一般的な構成要素については記載を省略している。また、本実施の形態において、例えば半導体装置２は論理ＬＳＩであり、例えばＣＭＯＳ技術を用いて製造されたマイクロコンピュータである。
【００５２】
本実施の形態にかかる半導体装置２においても、実施の形態１にかかる半導体装置と同様に、半導体装置２の静止電源電流（Ｉｄｄｑ）を測定することで、半導体装置２の異常を検出している。なお、図９では、電源１１０、電流測定回路１１１、及び異常判定回路１１２（図１参照）の記載を省略している。
【００５３】
図９に示すように、本実施の形態にかかる半導体装置２では、複数のバスＢ０〜Ｂ３に複数の論理モジュール２１、２２が接続されている。各々の論理モジュール２１、２２は、複数のバスＢ０〜Ｂ３を介して互いにデータを送受信可能に構成されている。また、制御回路２５は、テスト信号ＴＳを論理モジュール２１、２２に供給することで、半導体装置２の動作試験を実施する。また、バス接続回路２３は、半導体装置２の動作試験を実施する際、複数のバスＢ０〜Ｂ３を互いに接続可能に構成されている。
【００５４】
図１０は、本実施の形態にかかる半導体装置の詳細を説明するための図である。以下では説明を簡略化するために、論理モジュール２２の説明を省略するが、論理モジュール２２の構成及び動作は論理モジュール２１の構成及び動作と同様である。
【００５５】
図１０に示すように、論理モジュール２１は、バスＢ０〜Ｂ３をそれぞれ駆動するバスドライバＤ０〜Ｄ３を備える。具体的には、バスドライバＤ０〜Ｄ３の出力端子はそれぞれバスＢ０〜Ｂ３に接続されており、論理モジュール２１内の論理信号をバスＢ０〜Ｂ３に出力する。つまり、バスドライバＤ０〜Ｄ３は、論理モジュール２１内の論理信号をバスＢ０〜Ｂ３に出力する出力バスドライバとして機能する。実施の形態１で説明した場合と同様に、バスドライバＤ０〜Ｄ３はトライステートバッファを用いて構成することができる。なお、論理モジュール２１が備えるその他の回路要素（論理回路、バスから信号を入力するためのドライバ等）については記載を省略している。
【００５６】
バス接続回路２３は、半導体装置２の動作試験を実施する際、複数のバスＢ０〜Ｂ３を互いに接続可能に構成されている。具体的には、バス接続回路２３は、バスＢ０とバスＢ１との間に設けられたスイッチ素子ＴＧ１と、バスＢ２とバスＢ３との間に設けられたスイッチ素子ＴＧ２と、を備える。半導体装置２の動作試験を実施する際（つまり、テストモードにおいて）、スイッチ素子ＴＧ１はバスＢ０とバスＢ１とを互いに接続し、スイッチ素子ＴＧ２はバスＢ２とバスＢ３とを互いに接続する。
【００５７】
スイッチ素子ＴＧ１、ＴＧ２は、例えばトランスファーゲートを用いて構成することができる。図１０では、ＮチャネルトランジスタとＰチャネルトランジスタの両方を使用したＣＭＯＳトランスファーゲートを一例として示しているが、本実施の形態ではスイッチ素子ＴＧ１、ＴＧ２として他の素子を用いてもよい。
【００５８】
スイッチ素子ＴＧ１、ＴＧ２を構成するＮチャネルトランジスタのゲートは、論理積ＡＮＤ_１の出力に接続されている。また、スイッチ素子ＴＧ１、ＴＧ２を構成するＰチャネルトランジスタのゲートは、インバータＩＮＶ５を介して論理積ＡＮＤ_１の出力に接続されている。また、論理積ＡＮＤ_１の一方の入力には、制御回路２５からスイッチ素子ＴＧ１、ＴＧ２を制御するための制御信号ＣＴＲ_ＴＧが供給される。また、論理積ＡＮＤ_１の他方の入力には、テストイネーブル信号ＴＥＳＴ_ＥＮが供給される。
【００５９】
半導体装置２の動作試験を実施する際、テストイネーブル信号ＴＥＳＴ_ＥＮはハイレベルになる。この状態において、制御回路２５からハイレベルの制御信号ＣＴＲ_ＴＧが供給されると、論理積ＡＮＤ_１はハイレベルのＴＧ_ＥＮ信号（トランスファーゲートイネーブル信号）を出力する。この場合、スイッチ素子ＴＧ１、ＴＧ２を構成するＮチャネルトランジスタのゲートにはハイレベルの信号が、スイッチ素子ＴＧ１、ＴＧ２を構成するＰチャネルトランジスタのゲートにはロウレベルの信号がそれぞれ供給されるので、スイッチ素子ＴＧ１、ＴＧ２はオン状態となる。
【００６０】
一方、テストイネーブル信号ＴＥＳＴ_ＥＮがハイレベルの状態であっても、制御回路２５から出力された制御信号ＣＴＲ_ＴＧがロウレベルの場合は、スイッチ素子ＴＧ１、ＴＧ２はオフ状態となる。つまり、制御回路２５は、テストイネーブル信号ＴＥＳＴ_ＥＮがハイレベルの状態のときに、スイッチ素子ＴＧ１、ＴＧ２のオン・オフを制御することができる。
【００６１】
制御回路２５は、動作試験を実施する際、論理モジュール２１にテスト信号ＴＳを供給することでバスドライバＤ０〜Ｄ３を制御する。図９に示すように、制御回路２５には、テスト端子ＴＭ１を介して、動作試験の設定情報ＳＥＴ_ＴＣが供給される。また、制御回路２５にはテストイネーブル信号ＴＥＳＴ_ＥＮが供給される。
【００６２】
次に、本実施の形態にかかる半導体装置２の動作について説明する。図１０に示す半導体装置２において、動作試験を実施する際は、テストイネーブル信号ＴＥＳＴ_ＥＮをハイレベルにする。このテストイネーブル信号ＴＥＳＴ_ＥＮは、半導体装置２の外部端子を経由して外部から供給してもよく、また半導体装置２の内部回路で生成してもよい。
【００６３】
制御回路２５は、ハイレベルのテストイネーブル信号ＴＥＳＴ_ＥＮが供給されると、制御信号ＣＴＲ_ＴＧをロウレベルからハイレベルに遷移させる。これにより、論理積ＡＮＤ_１の入力には、ハイレベルの制御信号ＣＴＲ_ＴＧとハイレベルのテストイネーブル信号ＴＥＳＴ_ＥＮとが供給されるので、論理積ＡＮＤ_１からハイレベルのＴＧ_ＥＮ信号が出力される。これにより、スイッチ素子ＴＧ１がオン状態となり、バスＢ０とバスＢ１とが接続される。また、スイッチ素子ＴＧ２がオン状態となり、バスＢ２とバスＢ３とが接続される。
【００６４】
また、制御回路２５は、ハイレベルのテストイネーブル信号ＴＥＳＴ_ＥＮが供給されると、論理モジュール２１にテスト信号ＴＳを供給して、論理モジュール２１のバスドライバＤ０〜Ｄ３が所定のテストパターンで動作するように制御する。
【００６５】
図１１は、本実施の形態にかかる半導体装置のテストパターンの一例を示す図である。このようなテストパターンは、例えば、テスト端子ＴＭ１（図９参照）を経由して外部から動作試験の設定情報ＳＥＴ_ＴＣを供給することで、制御回路２５に書き込むことができる。図１１に示すテストパターンでは、「１」がハイレベルの論理信号を示し、「０」がロウレベルの論理信号を示している。
【００６６】
図１１に示すように、テストパターンＴ１、Ｔ２において、制御回路２５は、各々のバスドライバＤ０、Ｄ１が互いに異なる論理信号を各々のバスＢ０、Ｂ１にそれぞれ供給するように、バスドライバＤ０、Ｄ１を制御する。このとき、他のバスドライバＤ２、Ｄ３の各々は、同じ論理信号を各々のバスＢ２、Ｂ３に供給する。なお、図１１では、他のバスドライバＤ２、Ｄ３の各々が、共にロウレベルの論理信号を各々のバスＢ２、Ｂ３に供給している場合を示している。しかし本実施の形態では、他のバスドライバＤ２、Ｄ３が各々のバスＢ２、Ｂ３に供給する論理信号は同じであればよいので、他のバスドライバＤ２、Ｄ３の各々が、共にハイレベルの論理信号を各々のバスＢ２、Ｂ３に供給するようにしてもよい。
【００６７】
また、他のテストパターンＴ３、Ｔ４において、制御回路２５は、各々のバスドライバＤ２、Ｄ３が互いに異なる論理信号を各々のバスＢ２、Ｂ３にそれぞれ供給するように、バスドライバＤ２、Ｄ３を制御する。このとき、他のバスドライバＤ０、Ｄ１の各々は、同じ論理信号を各々のバスＢ０、Ｂ１に供給する。なお、図１１では、他のバスドライバＤ０、Ｄ１の各々が、共にロウレベルの論理信号を各々のバスＢ０、Ｂ１に供給している場合を示している。しかし本実施の形態では、他のバスドライバＤ０、Ｄ１が各々のバスＢ０、Ｂ１に供給する論理信号は同じであればよいので、他のバスドライバＤ０、Ｄ１の各々が、共にハイレベルの論理信号を各々のバスＢ０、Ｂ１に供給するようにしてもよい。
【００６８】
具体的に説明すると、テストパターンＴ１において、バスドライバＤ０はハイレベルの論理信号をバスＢ０に供給し、バスドライバＤ１はロウレベルの論理信号をバスＢ１に供給する。これにより、バスドライバＤ０からバスドライバＤ１に、バスＢ０、スイッチ素子ＴＧ１、及びバスＢ１を経由して電流（貫通電流）が流れる。本実施の形態では、このときに流れる静止電源電流量が予め設定された期待値よりも少ない場合に、バスＢ０、Ｂ１、及びバスドライバＤ０、Ｄ１のうちの少なくとも一つの異常を検出することができる。なお、貫通電流の電流量を用いて異常を検出する手法については、実施の形態１で説明した場合と同様であるので重複した説明は省略する。
【００６９】
また、テストパターンＴ１において、バスドライバＤ２、Ｄ３はそれぞれ、ロウレベルの論理信号をバスＢ２、Ｂ３に供給している。この場合は、バスドライバＤ２、Ｄ３、バスＢ２、Ｂ３を含む経路には、貫通電流が流れない。つまり、本実施の形態では、貫通電流が流れる経路を１つとすることで、異常を示す経路を特定することができる。
【００７０】
次に、テストパターンＴ２において、バスドライバＤ０はロウレベルの論理信号をバスＢ０に供給し、バスドライバＤ１はハイレベルの論理信号をバスＢ１に供給する。これにより、バスドライバＤ１からバスドライバＤ０に、バスＢ１、スイッチ素子ＴＧ１、及びバスＢ０を経由して貫通電流が流れる。この貫通電流が流れる経路は、テストパターンＴ１における経路とは逆の経路である。
【００７１】
そして、テストパターンＴ２において流れる貫通電流の電流量に基づいて、バスＢ０、Ｂ１、及びバスドライバＤ０、Ｄ１のうちの少なくとも一つの異常を検出することができる。なお、テストパターンＴ２においても、バスドライバＤ２、Ｄ３はそれぞれ、ロウレベルの論理信号をバスＢ２、Ｂ３に供給している。この場合は、バスドライバＤ２、Ｄ３、バスＢ２、Ｂ３を含む経路には、貫通電流が流れない。
【００７２】
なお、本実施の形態では、テストパターンＴ１における貫通電流の電流量と、テストパターンＴ２における貫通電流の電流量とを比較して、バスＢ０、Ｂ１、及びバスドライバＤ０、Ｄ１のうちの少なくとも一つの異常を検出するようにしてもよい。
【００７３】
次に、テストパターンＴ３において、バスドライバＤ２はハイレベルの論理信号をバスＢ２に供給し、バスドライバＤ３はロウレベルの論理信号をバスＢ３に供給する。これにより、バスドライバＤ２からバスドライバＤ３に、バスＢ２、スイッチ素子ＴＧ２、及びバスＢ３を経由して貫通電流が流れる。
【００７４】
そして、テストパターンＴ３において流れる貫通電流の電流量に基づいて、バスＢ２、Ｂ３、及びバスドライバＤ２、Ｄ３のうちの少なくとも一つの異常を検出することができる。なお、テストパターンＴ３では、バスドライバＤ０、Ｄ１はそれぞれ、ロウレベルの論理信号をバスＢ０、Ｂ１に供給している。この場合は、バスドライバＤ０、Ｄ１、バスＢ０、Ｂ１を含む経路には、貫通電流が流れない。
【００７５】
次に、テストパターンＴ４において、バスドライバＤ２はロウレベルの論理信号をバスＢ２に供給し、バスドライバＤ３はハイレベルの論理信号をバスＢ３に供給する。これにより、バスドライバＤ３からバスドライバＤ２に、バスＢ３、スイッチ素子ＴＧ２、及びバスＢ２を経由して貫通電流が流れる。この貫通電流が流れる経路は、テストパターンＴ３における経路とは逆の経路である。
【００７６】
そして、テストパターンＴ４において流れる貫通電流の電流量に基づいて、バスＢ２、Ｂ３、及びバスドライバＤ２、Ｄ３のうちの少なくとも一つの異常を検出することができる。なお、テストパターンＴ４では、バスドライバＤ０、Ｄ１はそれぞれ、ロウレベルの論理信号をバスＢ０、Ｂ１に供給している。この場合は、バスドライバＤ０、Ｄ１、バスＢ０、Ｂ１を含む経路には、貫通電流が流れない。
【００７７】
なお、本実施の形態では、テストパターンＴ３における貫通電流の電流量と、テストパターンＴ４における貫通電流の電流量とを比較して、バスＢ２、Ｂ３、及びバスドライバＤ２、Ｄ３のうちの少なくとも一つの異常を検出するようにしてもよい。
【００７８】
半導体装置２の動作試験が終了した後、テストイネーブル信号ＴＥＳＴ_ＥＮはロウレベルになる。これにより、論理積ＡＮＤ_１の出力がロウレベルとなり、スイッチ素子ＴＧ１、ＴＧ２がオフ状態となる。これにより、各々のバスＢ０〜Ｂ３の接続が解除され、通常動作が可能になる。
【００７９】
図１２は、本実施の形態にかかる半導体装置２が、ｎ＋１個のバスＢ０〜Ｂｎとｎ＋１個のバスドライバＤ０〜Ｄｎとを備える構成を示している。この場合は、各々のバスＢ０〜Ｂｎを接続するｍ個のスイッチ素子ＴＧ１〜ＴＧｍが設けられている。各々のスイッチ素子ＴＧ１〜ＴＧｍは、バスＢｎ−１とバスＢｎとを接続している（ｎは１以上の奇数である）。
【００８０】
本実施の形態にかかる半導体装置２においても、バスドライバとバスとを繋ぐ経路の抵抗値を直接評価しているので、動作試験（論理テスト）の設定条件を減少させることができ、動作試験に必要な工数を低減させることができる。したがって、半導体装置の動作試験を簡素化し、動作試験に要する時間を短縮することができる。
【００８１】
また、本実施の形態にかかる半導体装置２では、テストモードの際に、スイッチ素子を用いて各々のバスを互いに接続し、且つ各々のバスに接続されているバスドライバが互いに異なる論理信号を各々のバスにそれぞれ供給するようにしている。よって、バスを２ビット単位で試験することができるので、動作試験に要する時間を短縮することができる。
【００８２】
＜実施の形態３＞
次に、実施の形態３について説明する。
図１３は、実施の形態３にかかる半導体装置を説明するための図である。実施の形態３にかかる半導体装置３では、実施の形態２で説明した半導体装置２と比べて、バスＢ１とバスＢ２とを接続するスイッチ素子ＴＧｂ_１を設けている点が異なる。これ以外の構成および動作については、実施の形態１、２で説明した半導体装置１、２と同様であるので重複した説明は適宜省略する。
【００８３】
図１３に示すように、本実施の形態にかかる半導体装置３は、複数のバスＢ０〜Ｂ３、論理モジュール３１、バス接続回路３３、及び制御回路３５を少なくとも備える。なお、図１３に示す半導体装置３では、本実施の形態の説明に必要な構成要素のみを記載しており、その他の一般的な構成要素については記載を省略している。また、本実施の形態において、例えば半導体装置３は論理ＬＳＩであり、例えばＣＭＯＳ技術を用いて製造されたマイクロコンピュータである。
【００８４】
本実施の形態にかかる半導体装置３においても、実施の形態１、２にかかる半導体装置と同様に、半導体装置３の静止電源電流（Ｉｄｄｑ）を測定することで、半導体装置３の異常を検出している。なお、図１３では、電源１１０、電流測定回路１１１、及び異常判定回路１１２（図１参照）の記載を省略している。
【００８５】
図１３に示すように、論理モジュール３１は、バスＢ０〜Ｂ３をそれぞれ駆動するバスドライバＤ０〜Ｄ３を備える。具体的には、バスドライバＤ０〜Ｄ３の出力端子はそれぞれバスＢ０〜Ｂ３に接続されており、論理モジュール３１内の論理信号をバスＢ０〜Ｂ３に出力する。つまり、バスドライバＤ０〜Ｄ３は、論理モジュール３１内の論理信号をバスＢ０〜Ｂ３に出力する出力バスドライバとして機能する。実施の形態１、２で説明した場合と同様に、バスドライバＤ０〜Ｄ３はトライステートバッファを用いて構成することができる。なお、論理モジュール３１が備えるその他の回路要素（論理回路、バスから信号を入力するためのドライバ等）については記載を省略している。
【００８６】
バス接続回路３３は、半導体装置３の動作試験を実施する際、複数のバスＢ０〜Ｂ３を互いに接続可能に構成されている。具体的には、バス接続回路３３は、バスＢ０とバスＢ１との間に設けられたスイッチ素子ＴＧａ_１と、バスＢ２とバスＢ３との間に設けられたスイッチ素子ＴＧａ_２と、を備える。半導体装置３のテストモードの第１のタイミングにおいて、スイッチ素子ＴＧａ_１はバスＢ０とバスＢ１とを互いに接続し、スイッチ素子ＴＧａ_２はバスＢ２とバスＢ３とを互いに接続する。
【００８７】
更に、バス接続回路３３は、バスＢ１とバスＢ２との間に設けられたスイッチ素子ＴＧｂ_１を備える。半導体装置３のテストモードの第２のタイミングにおいて、スイッチ素子ＴＧｂ_１はバスＢ１とバスＢ２とを互いに接続する。ここで、第１のタイミングと第２のタイミングは各々異なるタイミングである。換言すると、第１のタイミングと第２のタイミングは相補的な関係があり、スイッチ素子ＴＧａ_１、ＴＧａ_２と、スイッチ素子ＴＧｂ_１とは、互いに交互にオン・オフ動作をする。
【００８８】
スイッチ素子ＴＧａ_１、ＴＧａ_２、ＴＧｂ_１は、例えばトランスファーゲートを用いて構成することができる。図１３では、ＮチャネルトランジスタとＰチャネルトランジスタの両方を使用したＣＭＯＳトランスファーゲートを一例として示しているが、本実施の形態ではスイッチ素子ＴＧａ_１、ＴＧａ_２、ＴＧｂ_１として他の素子を用いてもよい。
【００８９】
スイッチ素子ＴＧａ_１、ＴＧａ_２を構成するＮチャネルトランジスタのゲートは、論理積ＡＮＤ_２の出力に接続されている。また、スイッチ素子ＴＧａ_１、ＴＧａ_２を構成するＰチャネルトランジスタのゲートは、論理積ＡＮＤ_３の出力に接続されている。
【００９０】
また、スイッチ素子ＴＧｂ_１を構成するＰチャネルトランジスタのゲートは、論理積ＡＮＤ_２の出力に接続されている。また、スイッチ素子ＴＧｂ_１を構成するＮチャネルトランジスタのゲートは、論理積ＡＮＤ_３の出力に接続されている。
【００９１】
論理積ＡＮＤ_２の一方の入力には、制御回路２５から制御信号ＣＴＲ_ＴＧが供給される。また、論理積ＡＮＤ_３の一方の入力には、制御回路２５からインバータＩＮＶ７を介して制御信号ＣＴＲ_ＴＧが供給される。また、論理積ＡＮＤ_２、ＡＮＤ_３の各々の他方の入力には、テストイネーブル信号ＴＥＳＴ_ＥＮが供給される。
【００９２】
半導体装置３の動作試験を実施する際、テストイネーブル信号ＴＥＳＴ_ＥＮはハイレベルになる。この状態において、制御回路２５がハイレベルの制御信号ＣＴＲ_ＴＧを出力すると、論理積ＡＮＤ_２にはハイレベルの信号が供給され、論理積ＡＮＤ_３にはロウレベルの信号が供給される。この場合は、論理積ＡＮＤ_２からハイレベルのＴＧ_ＥＮ１信号（トランスファーゲートイネーブル信号）が出力され、論理積ＡＮＤ_３からロウレベルのＴＧ_ＥＮ２信号が出力される。
【００９３】
この場合、スイッチ素子ＴＧａ_１、ＴＧａ_２を構成するＮチャネルトランジスタのゲートにはハイレベルの信号が、スイッチ素子ＴＧａ_１、ＴＧａ_２を構成するＰチャネルトランジスタのゲートにはロウレベルの信号がそれぞれ供給されるので、スイッチ素子ＴＧａ_１、ＴＧａ_２はオン状態となる。一方、スイッチ素子ＴＧｂ_１を構成するＮチャネルトランジスタのゲートにはロウレベルの信号が、スイッチ素子ＴＧｂ_１を構成するＰチャネルトランジスタのゲートにはハイレベルの信号がそれぞれ供給されるので、スイッチ素子ＴＧｂ_１はオフ状態となる。
【００９４】
また、テストイネーブル信号ＴＥＳＴ_ＥＮがハイレベル状態において、制御回路２５がロウレベルの制御信号ＣＴＲ_ＴＧを出力すると、論理積ＡＮＤ_２にはロウレベルの信号が供給され、論理積ＡＮＤ_３にはハイレベルの信号が供給される。この場合は、論理積ＡＮＤ_２からロウレベルのＴＧ_ＥＮ１信号が出力され、論理積ＡＮＤ_３からハイレベルのＴＧ_ＥＮ２信号が出力される。
【００９５】
この場合、スイッチ素子ＴＧａ_１、ＴＧａ_２を構成するＮチャネルトランジスタのゲートにはロウレベルの信号が、スイッチ素子ＴＧａ_１、ＴＧａ_２を構成するＰチャネルトランジスタのゲートにはハイレベルの信号がそれぞれ供給されるので、スイッチ素子ＴＧａ_１、ＴＧａ_２はオフ状態となる。一方、スイッチ素子ＴＧｂ_１を構成するＮチャネルトランジスタのゲートにはハイレベルの信号が、スイッチ素子ＴＧｂ_１を構成するＰチャネルトランジスタのゲートにはロウレベルの信号がそれぞれ供給されるので、スイッチ素子ＴＧｂ_１はオン状態となる。
【００９６】
このように、制御回路３５から供給される制御信号ＣＴＲ_ＴＧのレベルを切り替えることで、スイッチ素子ＴＧａ_１、ＴＧａ_２と、スイッチ素子ＴＧｂ_１とを、交互に（換言すると、相補的に）オン・オフさせることができる。
【００９７】
制御回路３５は、動作試験を実施する際、論理モジュール３１にテスト信号ＴＳを供給することでバスドライバＤ０〜Ｄ３を制御する。また、制御回路３５にはテストイネーブル信号ＴＥＳＴ_ＥＮが供給される。
【００９８】
次に、本実施の形態にかかる半導体装置３の動作について説明する。半導体装置３の動作試験を実施する際は、テストイネーブル信号ＴＥＳＴ_ＥＮをハイレベルにする。このテストイネーブル信号ＴＥＳＴ_ＥＮは、半導体装置３の外部端子（図９参照）を経由して外部から供給してもよく、また半導体装置３の内部回路で生成してもよい。
【００９９】
図１４は、本実施の形態にかかる半導体装置のテストパターンの一例を示す図である。本実施の形態では、図１４に示すテストパターンに示すように、制御回路３５は、各々のバスドライバＤ０〜Ｄ３の論理信号のレベルを制御すると共に、スイッチ素子ＴＧａ_１、ＴＧａ_２とスイッチ素子ＴＧｂ_１のオン・オフのタイミングも制御している。
【０１００】
テストパターンＴ１１及びＴ１２では、スイッチ素子ＴＧａ_１、ＴＧａ_２をオン状態、スイッチ素子ＴＧｂ_１をオフ状態とする。これにより、バスＢ０とバスＢ１とがスイッチ素子ＴＧａ_１を用いて接続され、バスＢ２とバスＢ３とがスイッチ素子ＴＧａ_２を用いて接続される。
【０１０１】
また、テストパターンＴ１１において、バスドライバＤ０はハイレベルの論理信号をバスＢ０に供給し、バスドライバＤ１はロウレベルの論理信号をバスＢ１に供給する。これにより、バスドライバＤ０からバスドライバＤ１に、バスＢ０、スイッチ素子ＴＧａ_１、及びバスＢ１を経由して電流（貫通電流）が流れる。本実施の形態では、このときに流れる静止電源電流量が予め設定された期待値よりも少ない場合に、バスＢ０、Ｂ１、及びバスドライバＤ０、Ｄ１のうちの少なくとも一つの異常を検出することができる。なお、貫通電流の電流量を用いて異常を検出する手法については、実施の形態１で説明した場合と同様であるので重複した説明は省略する。
【０１０２】
また、テストパターンＴ１１において、バスドライバＤ２、Ｄ３はそれぞれ、ロウレベルの論理信号をバスＢ２、Ｂ３に供給している。この場合は、バスドライバＤ２、Ｄ３、バスＢ２、Ｂ３を含む経路には、貫通電流が流れない。つまり、本実施の形態では、貫通電流が流れる経路を１つとすることで、異常を示す経路を特定することができる。
【０１０３】
次に、テストパターンＴ１２において、バスドライバＤ０はロウレベルの論理信号をバスＢ０に供給し、バスドライバＤ１はハイレベルの論理信号をバスＢ１に供給する。これにより、バスドライバＤ１からバスドライバＤ０に、バスＢ１、スイッチ素子ＴＧａ_１、及びバスＢ０を経由して貫通電流が流れる。この貫通電流が流れる経路は、テストパターンＴ１１における経路とは逆の経路である。
【０１０４】
そして、テストパターンＴ１２において流れる貫通電流の電流量に基づいて、バスＢ０、Ｂ１、及びバスドライバＤ０、Ｄ１のうちの少なくとも一つの異常を検出することができる。なお、テストパターンＴ１２においても、バスドライバＤ２、Ｄ３はそれぞれ、ロウレベルの論理信号をバスＢ２、Ｂ３に供給している。この場合は、バスドライバＤ２、Ｄ３、バスＢ２、Ｂ３を含む経路には、貫通電流が流れない。
【０１０５】
テストパターンＴ１３及びＴ１４では、スイッチ素子ＴＧａ_１、ＴＧａ_２をオフ状態、スイッチ素子ＴＧｂ_１をオン状態とする。これにより、バスＢ１とバスＢ２とがスイッチ素子ＴＧｂ_１を用いて接続される。
【０１０６】
また、テストパターンＴ１３において、バスドライバＤ１はハイレベルの論理信号をバスＢ１に供給し、バスドライバＤ２はロウレベルの論理信号をバスＢ２に供給する。これにより、バスドライバＤ１からバスドライバＤ２に、バスＢ１、スイッチ素子ＴＧｂ_１、及びバスＢ２を経由して電流（貫通電流）が流れる。本実施の形態では、このときに流れる電流量に基づいて、バスＢ１、Ｂ２、及びバスドライバＤ１、Ｄ２のうちの少なくとも一つの異常を検出することができる。
【０１０７】
また、テストパターンＴ１３において、バスドライバＤ０、Ｄ３はそれぞれ、ロウレベルの論理信号をバスＢ０、Ｂ３に供給している。この場合は、バスドライバＤ０、Ｄ３、バスＢ０、Ｂ３を含む経路には、貫通電流が流れない。
【０１０８】
次に、テストパターンＴ１４において、バスドライバＤ１はロウレベルの論理信号をバスＢ１に供給し、バスドライバＤ２はハイレベルの論理信号をバスＢ２に供給する。これにより、バスドライバＤ２からバスドライバＤ１に、バスＢ２、スイッチ素子ＴＧｂ_１、及びバスＢ１を経由して貫通電流が流れる。この貫通電流が流れる経路は、テストパターンＴ１３における経路とは逆の経路である。
【０１０９】
そして、テストパターンＴ１４において流れる貫通電流の電流量に基づいて、バスＢ１、Ｂ２、及びバスドライバＤ１、Ｄ２のうちの少なくとも一つの異常を検出することができる。なお、テストパターンＴ１４においても、バスドライバＤ０、Ｄ３はそれぞれ、ロウレベルの論理信号をバスＢ０、Ｂ３に供給している。この場合は、バスドライバＤ０、Ｄ３、バスＢ０、Ｂ３を含む経路には、貫通電流が流れない。
【０１１０】
テストパターンＴ１５及びＴ１６では、再びスイッチ素子ＴＧａ_１、ＴＧａ_２をオン状態、スイッチ素子ＴＧｂ_１をオフ状態とする。これにより、バスＢ０とバスＢ１とがスイッチ素子ＴＧａ_１を用いて接続され、バスＢ２とバスＢ３とがスイッチ素子ＴＧａ_２を用いて接続される。
【０１１１】
また、テストパターンＴ１５において、バスドライバＤ２はハイレベルの論理信号をバスＢ２に供給し、バスドライバＤ３はロウレベルの論理信号をバスＢ３に供給する。これにより、バスドライバＤ２からバスドライバＤ３に、バスＢ２、スイッチ素子ＴＧａ_２、及びバスＢ３を経由して電流（貫通電流）が流れる。本実施の形態では、このときに流れる電流量に基づいて、バスＢ２、Ｂ３、及びバスドライバＤ２、Ｄ３のうちの少なくとも一つの異常を検出することができる。
【０１１２】
また、テストパターンＴ１５において、バスドライバＤ０、Ｄ１はそれぞれ、ロウレベルの論理信号をバスＢ０、Ｂ１に供給している。この場合は、バスドライバＤ０、Ｄ１、バスＢ０、Ｂ１を含む経路には、貫通電流が流れない。
【０１１３】
次に、テストパターンＴ１６において、バスドライバＤ２はロウレベルの論理信号をバスＢ２に供給し、バスドライバＤ３はハイレベルの論理信号をバスＢ３に供給する。これにより、バスドライバＤ３からバスドライバＤ２に、バスＢ３、スイッチ素子ＴＧａ_２、及びバスＢ２を経由して貫通電流が流れる。この貫通電流が流れる経路は、テストパターンＴ１５における経路とは逆の経路である。
【０１１４】
そして、テストパターンＴ１６において流れる貫通電流の電流量に基づいて、バスＢ２、Ｂ３、及びバスドライバＤ２、Ｄ３のうちの少なくとも一つの異常を検出することができる。なお、テストパターンＴ１６においても、バスドライバＤ０、Ｄ１はそれぞれ、ロウレベルの論理信号をバスＢ０、Ｂ１に供給している。この場合は、バスドライバＤ０、Ｄ１、バスＢ０、Ｂ１を含む経路には、貫通電流が流れない。
【０１１５】
図１５、図１６は、本実施の形態にかかる半導体装置の動作試験の判定結果を説明するための表である。本実施の形態では、上記で説明した動作試験のテスト結果を用いて、異常箇所を特定することができる。
【０１１６】
例えば、図１５に示すように、バスドライバＤ１とバスドライバＤ０との間の動作試験（テストパターンＴ１１、Ｔ１２）において異常と判定され、且つ、バスドライバＤ２とバスドライバＤ１との間の動作試験（テストパターンＴ１３、Ｔ１４）において異常と判定された場合は、バスドライバＤ１及びバスＢ１を含む経路が異常であると判定される。つまり、この場合は、バスドライバＤ１とバスドライバＤ０との間の動作試験とバスドライバＤ２とバスドライバＤ１との間の動作試験とで共通に評価をしたバスドライバＤ１及びバスＢ１を含む経路が異常であると判定される。
【０１１７】
また、バスドライバＤ１とバスドライバＤ０との間の動作試験（テストパターンＴ１１、Ｔ１２）において正常と判定され、且つ、バスドライバＤ２とバスドライバＤ１との間の動作試験（テストパターンＴ１３、Ｔ１４）において異常と判定された場合は、バスドライバＤ２及びバスＢ２を含む経路が異常であると判定される。つまり、この場合は、バスドライバＤ１とバスドライバＤ０との間の動作試験において正常と判定されたため、バスドライバＤ０〜Ｄ２のうちの残りのバスドライバＤ２及びバスＢ２を含む経路が異常であると判定される。
【０１１８】
また、バスドライバＤ１とバスドライバＤ０との間の動作試験（テストパターンＴ１１、Ｔ１２）において異常と判定され、且つ、バスドライバＤ２とバスドライバＤ１との間の動作試験（テストパターンＴ１３、Ｔ１４）において正常と判定された場合は、バスドライバＤ０及びバスＢ０を含む経路が異常であると判定される。つまり、この場合は、バスドライバＤ２とバスドライバＤ１との間の動作試験において正常と判定されたため、バスドライバＤ０〜Ｄ２のうちの残りのバスドライバＤ０及びバスＢ０を含む経路が異常であると判定される。
【０１１９】
また、バスドライバＤ１とバスドライバＤ０との間の動作試験（テストパターンＴ１１、Ｔ１２）において正常と判定され、且つ、バスドライバＤ２とバスドライバＤ１との間の動作試験（テストパターンＴ１３、Ｔ１４）において正常と判定された場合は、バスドライバＤ０〜Ｄ２が正常であると判定される。
【０１２０】
また、図１６に示すように、バスドライバＤ２とバスドライバＤ１との間の動作試験（テストパターンＴ１３、Ｔ１４）において異常と判定され、且つ、バスドライバＤ３とバスドライバＤ２との間の動作試験（テストパターンＴ１５、Ｔ１６）において異常と判定された場合は、バスドライバＤ２及びバスＢ２を含む経路が異常であると判定される。つまり、この場合は、バスドライバＤ２とバスドライバＤ１との間の動作試験とバスドライバＤ３とバスドライバＤ２との間の動作試験とで共通に評価をしたバスドライバＤ２及びバスＢ２を含む経路が異常であると判定される。
【０１２１】
また、バスドライバＤ２とバスドライバＤ１との間の動作試験（テストパターンＴ１３、Ｔ１４）において正常と判定され、且つ、バスドライバＤ３とバスドライバＤ２との間の動作試験（テストパターンＴ１５、Ｔ１６）において異常と判定された場合は、バスドライバＤ３及びバスＢ３を含む経路が異常であると判定される。つまり、この場合は、バスドライバＤ２とバスドライバＤ１との間の動作試験において正常と判定されたため、バスドライバＤ１〜Ｄ３のうちの残りのバスドライバＤ３及びバスＢ３を含む経路が異常であると判定される。
【０１２２】
また、バスドライバＤ２とバスドライバＤ１との間の動作試験（テストパターンＴ１３、Ｔ１４）において異常と判定され、且つ、バスドライバＤ３とバスドライバＤ２との間の動作試験（テストパターンＴ１５、Ｔ１６）において正常と判定された場合は、バスドライバＤ１及びバスＢ１を含む経路が異常であると判定される。つまり、この場合は、バスドライバＤ３とバスドライバＤ２との間の動作試験において正常と判定されたため、バスドライバＤ１〜Ｄ３のうちの残りのバスドライバＤ１及びバスＢ１を含む経路が異常であると判定される。
【０１２３】
また、バスドライバＤ２とバスドライバＤ１との間の動作試験（テストパターンＴ１３、Ｔ１４）において正常と判定され、且つ、バスドライバＤ３とバスドライバＤ２との間の動作試験（テストパターンＴ１５、Ｔ１６）において正常と判定された場合は、バスドライバＤ１〜Ｄ３が正常であると判定される。
【０１２４】
半導体装置３の動作試験が終了した後、テストイネーブル信号ＴＥＳＴ_ＥＮはロウレベルになる。これにより、論理積ＡＮＤ_２、論理積ＡＮＤ_３の出力がロウレベルとなり、スイッチ素子ＴＧａ_１、ＴＧａ_２、ＴＧｂ_１がオフ状態となる。これにより、各々のバスＢ０〜Ｂ３の接続が解除され、通常動作が可能になる。
【０１２５】
図１０に示したように、実施の形態２にかかる半導体装置２では、バスＢ１とバスＢ２との間にスイッチ素子を設けていなかったため、例えば、バスドライバＤ１とバスドライバＤ０との間の動作試験で異常であると判定されても、バスドライバＤ１およびバスドライバＤ０のどちらに異常があるのかについては判定することはできなかった。
【０１２６】
これに対して本実施の形態にかかる半導体装置３では、図１３に示すように、バスＢ１とバスＢ２との間にスイッチ素子ＴＧｂ_１を設け、バスドライバＤ２とバスドライバＤ１との間の経路においても動作試験を実施している。つまり、バスドライバＤ１とバスドライバＤ０との間の経路に隣接する経路であるバスドライバＤ２とバスドライバＤ１との間の経路についても動作試験を実施している。よって、バスドライバＤ１とバスドライバＤ０との間の経路に加えて、バスドライバＤ２とバスドライバＤ１との間の経路についても動作試験を実施することができるので、バスドライバ及びバスの異常箇所を特定することができる。
【０１２７】
図１７は、本実施の形態にかかる半導体装置３が、ｎ＋１個のバスＢ０〜Ｂｎとｎ＋１個のバスドライバＤ０〜Ｄｎとを備える構成を示している。本実施の形態では、バスＢａ−１とバスＢａ（ａは１以上ｎ以下の奇数である）とを接続するスイッチ素子ＴＧａ_１〜ＴＧａ_ｍを設けている。また、バスＢｂ−１とバスＢｂ（ｂは２以上ｎ−１以下の偶数である）とを接続するスイッチ素子ＴＧｂ_１〜ＴＧｂ_ｍ−１を設けている。スイッチ素子ＴＧａ_１〜ＴＧａ_ｍとスイッチ素子ＴＧｂ_１〜ＴＧｂ_ｍ−１は、動作試験時（テストモード）において、それぞれ交互にオン・オフする。
【０１２８】
本実施の形態にかかる半導体装置３の動作について一般化して説明すると、３ビットのバスＢｎ−２、Ｂｎ−１、Ｂｎに接続された３つのバスドライバＤｎ−２、Ｄｎ−１、Ｄｎについて動作試験を実施した場合、異常箇所を下記のように特定することができる。
【０１２９】
バスドライバＤｎ−２とバスドライバＤｎ−１との間の経路に異常があり、且つバスドライバＤｎ−１とバスドライバＤｎとの間の経路に異常がある場合は、共通に評価したバスドライバＤｎ−１及びバスＢｎ−１を含む経路が異常であると判定することができる。
【０１３０】
また、バスドライバＤｎ−２とバスドライバＤｎ−１との間の経路が正常で、且つバスドライバＤｎ−１とバスドライバＤｎとの間の経路に異常がある場合は、バスドライバＤｎ及びバスＢｎを含む経路が異常であると判定することができる。
【０１３１】
バスドライバＤｎ−２とバスドライバＤｎ−１との間の経路に異常があり、且つバスドライバＤｎ−１とバスドライバＤｎとの間の経路が正常である場合は、バスドライバＤｎ−２及びバスＢｎ−２を含む経路が異常であると判定することができる。
【０１３２】
このように、本実施の形態にかかる半導体装置３では、１ビット単位で異常箇所を特定することができる。
【０１３３】
＜実施の形態４＞
次に、実施の形態４について説明する。
図１８は、実施の形態４にかかる半導体装置を説明するための図である。実施の形態４にかかる半導体装置４では、実施の形態１で説明した半導体装置１と比べて、検証回路４５を備える点が異なる。つまり、実施の形態１では、バスに接続された２つのバスドライバが互いに異なる論理信号をバスに供給することで、２つのバスドライバとバスとを含む経路に貫通電流を流していた。これに対して本実施の形態にかかる半導体装置４では、バスＢ０に接続された検証回路４５を用いて、バスドライバＤ０とバスＢ０とを含む経路に貫通電流を流している。これ以外の構成および動作については、実施の形態１で説明した半導体装置１と同様であるので重複した説明は適宜省略する。
【０１３４】
図１８に示すように、本実施の形態にかかる半導体装置４は、バスＢ０、論理モジュール４１、及び検証回路４５を少なくとも備える。なお、図１８に示す半導体装置４では、本実施の形態の説明に必要な構成要素のみを記載しており、その他の一般的な構成要素については記載を省略している。また、本実施の形態において、例えば半導体装置４は論理ＬＳＩであり、例えばＣＭＯＳ技術を用いて製造されたマイクロコンピュータである。
【０１３５】
本実施の形態にかかる半導体装置４においても、実施の形態１にかかる半導体装置と同様に、半導体装置４の静止電源電流（Ｉｄｄｑ）を測定することで、半導体装置４の異常を検出している。なお、図１８では、電源１１０、電流測定回路１１１、及び異常判定回路１１２（図１参照）の記載を省略している。
【０１３６】
図１８に示すように、論理モジュール４１は、バスＢ０を駆動するバスドライバＤ０を備える。具体的には、バスドライバＤ０の出力端子はバスＢ０に接続されており、論理モジュール４１内の論理信号をバスＢ０に出力する。つまり、バスドライバＤ０は、論理モジュール４１内の論理信号をバスＢ０に出力する出力バスドライバとして機能する。実施の形態１で説明した場合と同様に、バスドライバＤ０はトライステートバッファを用いて構成することができる。なお、論理モジュール４１が備えるその他の回路要素（論理回路、バスから信号を入力するためのドライバ等）については記載を省略している。
【０１３７】
検証回路４５は、バスドライバＤ０がバスＢ０に供給している論理信号と逆の論理信号をバスＢ０に供給しようとするように構成されている。図１８に示すように、検証回路４５は、トライステートインバータ４６、及びインバータＩＮＶ１１、ＩＮＶ１２を用いて構成することができる。
【０１３８】
トライステートインバータ４６は、ＰチャネルトランジスタＭＰ１１、ＭＰ１２、ＮチャネルトランジスタＭＮ１１、ＭＮ１２、及びインバータＩＮＶ１３を用いて構成することができる。
【０１３９】
ＰチャネルトランジスタＭＰ１１のソースは高電位側の電源線に接続されており、ドレインはＰチャネルトランジスタＭＰ１２のソースに接続されている。ＰチャネルトランジスタＭＰ１２のドレインは、バスＢ０に接続されている。ＮチャネルトランジスタＭＮ１１のドレインはバスＢ０に接続されており、ソースはＮチャネルトランジスタＭＮ１２のドレインに接続されている。ＮチャネルトランジスタＭＮ１２のソースは、低電位側の電源線に接続されている。
【０１４０】
インバータＩＮＶ１２の出力は、ＰチャネルトランジスタＭＰ１１のゲートおよびＮチャネルトランジスタＭＮ１２のゲート（トライステートインバータ４６の入力に対応）に接続されている。
【０１４１】
インバータＩＮＶ１３の入力には、イネーブル信号ＥＮが供給される。また、インバータＩＮＶ１３は、イネーブル信号ＥＮを反転した信号を、ＰチャネルトランジスタＭＰ１２のゲートに供給する。また、ＮチャネルトランジスタＭＮ１１のゲートには、イネーブル信号ＥＮが供給される。
【０１４２】
イネーブル信号ＥＮがロウレベルの場合、ＰチャネルトランジスタＭＰ１２およびＮチャネルトランジスタＭＮ１１がオフ状態となる。この場合は、トライステートインバータ４６の出力は浮いた状態となり、ハイインピーダンスとなる。
【０１４３】
一方、イネーブル信号ＥＮがハイレベルの場合は、ＰチャネルトランジスタＭＰ１２およびＮチャネルトランジスタＭＮ１１がオン状態となる。この場合は、トライステートインバータ４６はインバータ（反転論理回路）として機能する。
【０１４４】
図１８に示すように、トライステートインバータ４６の出力端子はバスＢ０に接続されており、トライステートインバータ４６の出力端子と入力端子との間には偶数段のインバータ（つまり、インバータＩＮＶ１１、ＩＮＶ１２）が直列接続されている。換言すると、検証回路４５は、直列接続された奇数段（図１８に示す場合は３段）のインバータを用いて構成されており、奇数段のインバータの入力端子と出力端子はバスＢ０に接続されており、帰還回路を構成している。よって、検証回路４５は、トライステートインバータ４６にハイレベルのイネーブル信号ＥＮが供給された際に、バスドライバＤ０がバスＢ０に供給している論理信号と逆の論理信号をバスＢ０に供給しようとする。
【０１４５】
図１９、図２０は、本実施の形態にかかる半導体装置の動作を説明するための図である。例えば、図１９に示すように、検証回路４５に供給されるイネーブル信号ＥＮがハイレベルの状態で、バスドライバＤ０がバスＢ０にハイレベルの論理信号を出力している場合は、検証回路４５にハイレベルの信号が供給される。この場合は、インバータＩＮＶ１１の入力がハイレベルになるので、インバータＩＮＶ１２からハイレベルの信号が出力される。このとき、トライステートインバータ４６のＰチャネルトランジスタＭＰ１１のゲートおよびＮチャネルトランジスタＭＮ１２のゲートにはそれぞれ、ハイレベルの信号が供給される。よって、ＰチャネルトランジスタＭＰ１１がオフ状態、ＮチャネルトランジスタＭＮ１２がオン状態となり、トレイステートインバータ４６はバスＢ０にロウレベルの信号を出力しようとする。
【０１４６】
通常、奇数段のインバータで構成したループは出力が不安定になる。しかし、本実施の形態では、バスドライバＤ０の動作確認とバスＢ０の導通の確認を目的としているので、検証回路４５は一定の電流を流すことができればよく、バスドライバＤ０と競合してバスＢ０の電位を反転する必要はない。そこで本実施の形態では、トライステートインバータ４６の駆動力が、バスドライバＤ０の駆動力よりも小さくなるように構成している。
【０１４７】
例えば、トライステートインバータ４６を構成する各々のトランジスタＭＰ１１、ＭＰ１２、ＭＮ１１、ＭＮ１２のトランジスタサイズが、バスドライバＤ０を構成する各々のトランジスタのトランジスタサイズよりも小さくなるように構成する。
【０１４８】
このように構成することで、図１９に示すように、バスドライバＤ０から検証回路４５に向かって貫通電流が流れる。具体的には、バスドライバＤ０、バスＢ０、ＮチャネルトランジスタＭＮ１１、ＭＮ１２を経由して貫通電流を流すことができる。
【０１４９】
本実施の形態では、このときに流れる貫通電流を測定することで、バスドライバＤ０の動作、具体的にはバスドライバＤ０のＰチャネルトランジスタＭＰ１、ＭＰ２（図２参照）の動作、及び、バスドライバＤ０から検証回路４５までの配線の接続状態を評価することができる。例えば、測定された貫通電流の電流量が所定の基準値以下の場合、バスＢ０、及びバスドライバＤ０のうちの少なくとも一つが異常であると判定することができる。
【０１５０】
また、図２０に示すように、検証回路４５に供給されるイネーブル信号ＥＮがハイレベルの状態で、バスドライバＤ０がバスＢ０にロウレベルの論理信号を出力している場合は、検証回路４５にロウレベルの信号が供給される。この場合は、インバータＩＮＶ１１の入力がロウレベルになるので、インバータＩＮＶ１２からロウレベルの信号が出力される。このとき、トライステートインバータ４６のＰチャネルトランジスタＭＰ１１のゲートおよびＮチャネルトランジスタＭＮ１２のゲートにはそれぞれ、ロウレベルの信号が供給される。よって、ＰチャネルトランジスタＭＰ１１がオン状態、ＮチャネルトランジスタＭＮ１２がオフ状態となり、トレイステートインバータ４６はバスＢ０にハイレベルの信号を出力しようとする。
【０１５１】
この場合は、検証回路４５からバスドライバＤ０に向かって貫通電流が流れる。具体的には、ＰチャネルトランジスタＭＰ１１、ＭＰ１２、バスＢ０、バスドライバＤ０を経由して貫通電流が流れる。
【０１５２】
本実施の形態では、このときに流れる貫通電流を測定することで、バスドライバＤ０の動作、具体的にはバスドライバＤ０のＮチャネルトランジスタＭＮ１、ＭＮ２（図２参照）の動作、及び、検証回路４５からバスドライバＤ０までの配線の接続状態を評価することができる。例えば、測定された貫通電流の電流量が所定の基準値以下の場合、バスＢ０、及びバスドライバＤ０のうちの少なくとも一つが異常であると判定することができる。
【０１５３】
以上で説明したように、本実施の形態にかかる半導体装置４では、検証回路４５をバスＢ０に接続し、バスドライバＤ０とバスＢ０とを含む経路に貫通電流を流し、この貫通電流の電流量に基づいて、バスＢ０及びバスドライバＤ０のうちの少なくとも一つの異常を検出している。よって、半導体装置の動作試験を簡素化し、動作試験に要する時間を短縮することができる。
【０１５４】
また、本実施の形態にかかる半導体装置４では、上記で説明したように、検証回路４５は、バスドライバＤ０がバスＢ０に供給している論理信号と逆の論理信号をバスＢ０に供給しようとするように回路を構成しているので、検証回路４５がバスＢ０に出力する論理信号を制御する信号線およびその制御回路が不要となるため、回路構成を簡素化することができる。
【０１５５】
＜実施の形態５＞
次に、実施の形態５について説明する。
図２１は、実施の形態５にかかる半導体装置を説明するための図である。実施の形態５にかかる半導体装置５では、実施の形態４で説明した半導体装置４と比べて、検証回路５５の構成が異なる。これ以外の構成および動作については、実施の形態４で説明した半導体装置４と同様であるので重複した説明は適宜省略する。
【０１５６】
図２１に示すように、本実施の形態にかかる半導体装置５は、バスＢ０、論理モジュール５１、及び検証回路５５を少なくとも備える。なお、図２１に示す半導体装置５では、本実施の形態の説明に必要な構成要素のみを記載しており、その他の一般的な構成要素については記載を省略している。また、本実施の形態において、例えば半導体装置５は論理ＬＳＩであり、例えばＣＭＯＳ技術を用いて製造されたマイクロコンピュータである。
【０１５７】
本実施の形態にかかる半導体装置５においても、実施の形態１にかかる半導体装置と同様に、半導体装置５の静止電源電流（Ｉｄｄｑ）を測定することで、半導体装置５の異常を検出している。なお、図２１では、電源１１０、電流測定回路１１１、及び異常判定回路１１２（図１参照）の記載を省略している。
【０１５８】
図２１に示すように、論理モジュール５１は、バスＢ０を駆動するバスドライバＤ０を備える。具体的には、バスドライバＤ０の出力端子はバスＢ０に接続されており、論理モジュール５１内の論理信号をバスＢ０に出力する。つまり、バスドライバＤ０は、論理モジュール５１内の論理信号をバスＢ０に出力する出力バスドライバとして機能する。実施の形態１で説明した場合と同様に、バスドライバＤ０はトライステートバッファを用いて構成することができる。なお、論理モジュール５１が備えるその他の回路要素（論理回路、バスから信号を入力するためのドライバ等）については記載を省略している。
【０１５９】
検証回路５５は、バスドライバＤ０がバスＢ０に供給している論理信号と逆の論理信号をバスＢ０に供給可能に構成されている。図２１に示すように、検証回路５５は、インバータＩＮＶ２１、ＩＮＶ２２、及びスイッチ素子ＴＧ５を備える。スイッチ素子ＴＧ５は、例えばトランスファーゲートを用いて構成することができる。
【０１６０】
スイッチ素子ＴＧ５は、イネーブル信号ＥＮに応じて、バスＢ０に論理信号を出力する状態とハイインピーダンスの状態とを切り替える。
【０１６１】
具体的に説明すると、検証回路５５に供給されるイネーブル信号ＥＮがロウレベルの場合は、スイッチ素子ＴＧ５を構成しているＮチャネルトランジスタのゲートにはロウレベルの信号が供給される。また、スイッチ素子ＴＧ５を構成しているＰチャネルトランジスタのゲートには、イネーブル信号ＥＮをインバータＩＮＶ２１で反転した信号（ハイレベルの信号）が供給される。よってこの場合は、ＰチャネルトランジスタＭＰ１２およびＮチャネルトランジスタＭＮ１１がオフ状態となり、検証回路５５の出力はハイインピーダンスとなる。
【０１６２】
一方、検証回路５５に供給されるイネーブル信号ＥＮがハイレベルの場合は、スイッチ素子ＴＧ５を構成しているＮチャネルトランジスタのゲートにはハイレベルの信号が供給される。また、スイッチ素子ＴＧ５を構成しているＰチャネルトランジスタのゲートには、イネーブル信号ＥＮをインバータＩＮＶ２１で反転した信号（ロウレベルの信号）が供給される。よってこの場合は、ＰチャネルトランジスタＭＰ１２およびＮチャネルトランジスタＭＮ１１がオン状態となり、インバータＩＮＶ２２の出力とバスＢ０とが接続される。
【０１６３】
また、インバータＩＮＶ２２は、極性設定信号ＳＥＴに応じた論理信号をバスＢ０に出力する。具体的に説明すると、極性設定信号ＳＥＴがハイレベルの場合、インバータＩＮＶ２２はロウレベルの論理信号をバスＢ０に出力する。一方、極性設定信号ＳＥＴがロウレベルの場合、インバータＩＮＶ２２はハイレベルの論理信号をバスＢ０に出力する。なお、図２１では、検証回路５５がインバータＩＮＶ２２を備える構成を示したが、本実施の形態ではインバータＩＮＶ２２の代わりにドライバ（つまり、信号を反転しないドライバ）を用いてもよい。この場合は、インバータＩＮＶ２２を用いた場合の極性設定信号ＳＥＴとは逆に極性設定信号ＳＥＴを設定する。
【０１６４】
図２２、図２３は、本実施の形態にかかる半導体装置５の動作を説明するための図である。図２２に示すように、バスドライバＤ０がバスＢ０にハイレベルの論理信号を出力している際に動作試験を実施する場合は、検証回路５５にハイレベルのイネーブル信号ＥＮおよびハイレベルの極性設定信号ＳＥＴを供給する。
【０１６５】
検証回路５５にハイレベルのイネーブル信号ＥＮが供給されると、スイッチ素子ＴＧ５がオン状態となり、インバータＩＮＶ２２の出力とバスＢ０とが接続される。また、検証回路５５にハイレベルの極性設定信号ＳＥＴが供給されると、インバータＩＮＶ２２はロウレベルの論理信号をバスＢ０に出力する。
【０１６６】
本実施の形態においても、バスドライバＤ０の動作確認とバスＢ０の導通の確認を目的としているので、検証回路５５は一定の電流を流すことができればよく、バスドライバＤ０と競合してバスＢ０の電位を反転する必要はない。そこで本実施の形態では、インバータＩＮＶ２２の駆動力が、バスドライバＤ０の駆動力よりも小さくなるように構成している。
【０１６７】
例えば、インバータＩＮＶ２２を構成する各々のトランジスタのトランジスタサイズが、バスドライバＤ０を構成する各々のトランジスタのトランジスタサイズよりも小さくなるように構成する。
【０１６８】
このように構成することで、バスドライバＤ０から検証回路５５に向かって貫通電流が流れる。具体的には、バスドライバＤ０、バスＢ０、スイッチ素子ＴＧ５、インバータＩＮＶ２２を経由して貫通電流を流すことができる。
【０１６９】
本実施の形態では、このときに流れる貫通電流を測定することで、バスドライバＤ０の動作、具体的にはバスドライバＤ０のＰチャネルトランジスタＭＰ１、ＭＰ２（図２参照）の動作、及び、バスドライバＤ０から検証回路５５までの配線の接続状態を評価することができる。例えば、測定された貫通電流の電流量が所定の基準値以下の場合、バスＢ０、及びバスドライバＤ０のうちの少なくとも一つが異常であると判定することができる。また、測定された貫通電流の電流量を評価することで、バスドライバＤ０の駆動力の評価を行うことができる。
【０１７０】
また、図２３に示すように、バスドライバＤ０がバスＢ０にロウレベルの論理信号を出力している際に動作試験を実施する場合は、検証回路５５にハイレベルのイネーブル信号ＥＮおよびロウレベルの極性設定信号ＳＥＴを供給する。
【０１７１】
検証回路５５にハイレベルのイネーブル信号ＥＮが供給されると、スイッチ素子ＴＧ５がオン状態となり、インバータＩＮＶ２２の出力とバスＢ０とが接続される。また、検証回路５５にロウレベルの極性設定信号ＳＥＴが供給されると、インバータＩＮＶ２２はハイレベルの論理信号をバスＢ０に出力する。
【０１７２】
このように構成することで、検証回路５５からバスドライバＤ０に向かって貫通電流が流れる。具体的には、インバータＩＮＶ２２、スイッチ素子ＴＧ５、バスＢ０、バスドライバＤ０を経由して貫通電流を流すことができる。
【０１７３】
図２３に示す場合も、このときに流れる貫通電流を測定することで、バスドライバＤ０の動作、具体的にはバスドライバＤ０のＮチャネルトランジスタＭＮ１、ＭＮ２（図２参照）の動作、及び、検証回路５５からバスドライバＤ０までの配線の接続状態を評価することができる。例えば、測定された貫通電流の電流量が所定の基準値以下の場合、バスＢ０、及びバスドライバＤ０のうちの少なくとも一つが異常であると判定することができる。また、測定された貫通電流の電流量を評価することで、バスドライバＤ０の駆動力の評価を行うことができる。
【０１７４】
図２４は、本実施の形態にかかる半導体装置の他の構成例を示す図である。図２４に示す半導体装置５ａは、複数のバスＢ０〜Ｂ３、複数のバスドライバＤ０〜Ｄ３を備える論理モジュール５１ａを備える。各々のバスドライバＤ０〜Ｄ３はそれぞれ、バスＢ０〜Ｂ３に接続されている。また、各々のバスＢ０〜Ｂ３には、検証回路５５_０〜５５_３が接続されている。検証回路５５_０〜５５_３は、図２１〜図２３で説明した検証回路５５に対応している。
【０１７５】
各々の検証回路５５_０〜５５_３のイネーブル信号端子ＥＮ_０〜ＥＮ_３には、論理積ＡＮＤ２１からイネーブル信号が供給される。また、各々の検証回路５５_０〜５５_３の極性設定端子ＳＥＴ_０〜ＳＥＴ_３には、論理積ＡＮＤ２２から極性設定信号が供給される。
【０１７６】
制御回路５６は、論理積ＡＮＤ２１の一方の入力にイネーブル制御信号ＣＴＲ_ＥＮを供給する。また、制御回路５６は、論理積ＡＮＤ２２の一方の入力に極性設定制御信号ＣＴＲ_ＳＥＴを供給する。また、論理積ＡＮＤ２１、ＡＮＤ２２の各々の他方の入力には、テストイネーブル信号ＴＥＳＴ_ＥＮが供給される。
【０１７７】
また、制御回路２５は、動作試験を実施する際、論理モジュール５１ａにテスト信号ＴＳを供給することでバスドライバＤ０〜Ｄ３を制御する。制御回路５６には、テスト端子ＴＭ２を介して、動作試験の設定情報ＳＥＴ_ＴＣが供給される。また、制御回路５６にはテストイネーブル信号ＴＥＳＴ_ＥＮが供給される。
【０１７８】
半導体装置５ａの動作試験を実施する際、テストイネーブル信号ＴＥＳＴ_ＥＮはハイレベルになる。この状態において、論理積ＡＮＤ２１は、制御回路５６からハイレベルのイネーブル制御信号ＣＴＲ_ＥＮが供給されると、各々の検証回路５５_０〜５５_３のイネーブル信号端子ＥＮ_０〜ＥＮ_３にハイレベルのイネーブル信号を供給する。これにより、各々の検証回路５５_０〜５５_３のスイッチ素子ＴＧ５（図２１参照）がオン状態となる。
【０１７９】
また、論理積ＡＮＤ２２は、制御回路５６からハイレベルの極性設定制御信号ＣＴＲ_ＳＥＴが供給されると、各々の検証回路５５_０〜５５_３の極性設定端子ＳＥＴ_０〜ＳＥＴ_３にハイレベルの極性設定信号を供給する。この場合は、各々の検証回路５５_０〜５５_３は、バスＢ０〜Ｂ３にロウレベルの論理信号を出力する。この状態で、制御回路５６は、動作試験の実施対象であるバスドライバＤ０からバスＢ０にハイレベルの論理信号が出力されるようにバスドライバＤ０を制御する（一例として、バスドライバＤ０を動作試験対象としている）。このとき、制御回路５６は、動作試験の実施対象ではないバスドライバＤ１〜Ｄ３からロウレベルの論理信号が出力されるようにバスドライバＤ１〜Ｄ３を制御する。これにより、動作試験の実施対象であるバスドライバＤ０から検証回路５５_０貫通電流が流れる。この貫通電流の電流量を測定することで、バスドライバＤ０及びバスＢ０を評価することができる。
【０１８０】
一方、論理積ＡＮＤ２２は、制御回路５６からロウレベルの極性設定制御信号ＣＴＲ_ＳＥＴが供給されると、各々の検証回路５５_０〜５５_３の極性設定端子ＳＥＴ_０〜ＳＥＴ_３にロウレベルの極性設定信号を供給する。この場合は、各々の検証回路５５_０〜５５_３は、バスＢ０〜Ｂ３にハイレベルの論理信号を出力する。この状態で、制御回路５６は、動作試験の実施対象であるバスドライバＤ０からバスＢ０にロウレベルの論理信号が出力されるようにバスドライバＤ０を制御する（一例として、バスドライバＤ０を動作試験対象としている）。このとき、制御回路５６は、動作試験の実施対象ではないバスドライバＤ１〜Ｄ３からハイレベルの論理信号が出力されるようにバスドライバＤ１〜Ｄ３を制御する。これにより、検証回路５５_０から動作試験の実施対象であるバスドライバＤ０に貫通電流が流れる。この貫通電流の電流量を測定することで、バスドライバＤ０及びバスＢ０を評価することができる。
【０１８１】
以上で説明したように、本実施の形態にかかる半導体装置５、５ａでは、検証回路５５をバスに接続し、バスドライバとバスとを含む経路に貫通電流を流し、この貫通電流の電流量に基づいて、バス及びバスドライバのうちの少なくとも一つの異常を検出している。よって、半導体装置の動作試験を簡素化し、動作試験に要する時間を短縮することができる。
【０１８２】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１８３】
１、２、３、４、５、５ａ  半導体装置
１１、２１、２２、３１、４１、５１、５１ａ  論理モジュール
１５、２５、３５  制御回路
２３、３３  切替回路
４５、５５  検証回路
１１０  電源
１１１  電流測定回路
１１２  異常判定回路
【図１】
2019007742.tif 000003
【図２】
2019007742.tif 000004
【図３】
2019007742.tif 000005
【図４】
2019007742.tif 000006
【図５】
2019007742.tif 000007
【図６】
2019007742.tif 000008
【図７】
2019007742.tif 000009
【図８】
2019007742.tif 000010
【図９】
2019007742.tif 000011
【図１０】
2019007742.tif 000012
【図１１】
2019007742.tif 000013
【図１２】
2019007742.tif 000014
【図１３】
2019007742.tif 000015
【図１４】
2019007742.tif 000016
【図１５】
2019007742.tif 000017
【図１６】
2019007742.tif 000018
【図１７】
2019007742.tif 000019
【図１８】
2019007742.tif 000020
【図１９】
2019007742.tif 000021
【図２０】
2019007742.tif 000022
【図２１】
2019007742.tif 000023
【図２２】
2019007742.tif 000024
【図２３】
2019007742.tif 000025
【図２４】
2019007742.tif 000026