(57)【要約】【課題】半導体集積回路におけるＪＴＡＧインタフェースによって制御可能なＢＩＳＴ回路を使って、上記半導体集積回路がユーザシステムに搭載された状態でのＢＩＳＴを容易に実現する。【解決手段】パワーオンセルフテスト回路（１０３）とパターン発生回路（１０４）とを設ける。パワーオンセルフテスト回路は、選択回路（２１，２２）と比較回路（２３）とを含む。選択回路は、自己診断実行信号がアサートされた状態では、テストアクセスポートに対応する外部端子群（１１１）に代えてパターン発生回路の出力を選択することにより、パターン発生回路で生成されたテストパターンをビルトインセルフテスト回路に供給する。比較回路は、テスト対象回路のテスト結果を期待値と比較する。このように自己診断実行信号がアサートされることによって、半導体集積回路がユーザシステムに搭載された状態でのＢＩＳＴが実行される。【選択図】図２
2013253840.tif 000002
【特許請求の範囲】
【請求項１】
テスト対象回路と、
ＪＴＡＧインタフェースに対応するテストテストアクセスポートと、
上記テストアクセスポートからの信号に基づいてＪＴＡＧにおける制御機能を発揮するテストアクセスポートコントローラと、
上記テストアクセスポートコントローラの制御下で上記テスト対象回路のテストを行うためのビルトインセルフテスト回路と、
上記テストアクセスポートに対応する外部端子群と上記テストアクセスポートコントローラとの間に介在され、上記テスト対象回路のパワーオンセルフテストを行うパワーオンセルフテスト回路と、
上記テスト対象回路の自己診断のためのテストパターンを発生可能なパターン発生回路と、を含み、
上記パワーオンセルフテスト回路は、自己診断実行信号がアサートされた状態では、上記テストアクセスポートに対応する外部端子群に代えて上記パターン発生回路の出力を選択することにより、上記パターン発生回路で生成されたテストパターンを上記ビルトインセルフテスト回路に供給するための選択回路と、
上記ビルトインセルフテスト回路による上記テスト対象回路のテスト結果を、上記パターン発生回路によって生成された期待値と比較するための比較回路と、を含む半導体集積回路。
【請求項２】
上記テストパターンは、上記テスト対象回路の構成及びテスト条件に依存しない固定部分と、上記テスト対象回路の構成及びテスト条件に依存する可変部分と、を含み、
上記パターン発生回路は、シーケンス動作により上記テストパターンにおける上記固定部分を発生するための固定パターン発生回路と、
上記テストパターンにおける上記可変部分を発生させるための情報を出力するビルトインセルフテスト情報回路と、
上記ビルトインセルフテスト情報回路からの情報に基づくシーケンス動作により上記テストパターンにおける可変部分を発生するための可変パターン発生回路と、を含む請求項１記載の半導体集積回路。
【請求項３】
上記パターン発生回路は、上記固定パターン発生回路の出力と、上記可変パターン発生回路の出力とを合成して上記選択回路に供給するための論理回路を含む請求項２記載の半導体集積回路。
【請求項４】
上記半導体集積回路は、上記自己診断実行信号がアサートされることにより、上記比較回路のリセット状態が解除されて、上記テスト対象回路のテスト結果と上記期待値との比較が可能とされる請求項３記載の半導体集積回路。
【請求項５】
上記固定パターン発生回路は、上記ＣＰＵに伝達される自己診断終了信号を、上記テストパターンの発生を終了した時点でアサートする請求項４記載の半導体集積回路。
【請求項６】
上記パターン発生回路で発生されるテストパターンは、上記テスト対象回路のテスト結果の期待値と、
上記テスト結果とその期待値との比較動作を抑止するためのマスク値と、を含み、
上記比較回路は、上記マスク値がネゲートされている状態で、上記テスト結果とその期待値との比較を行う請求項１記載の半導体集積回路。
【請求項７】
上記パターン発生回路は、テストパターンが格納されたパターンＲＯＭと、
上記パターンＲＯＭからのテストパターンの読み出し用アドレスを生成するカウンタと、を含む請求項１記載の半導体集積回路。
【請求項８】
テスト対象回路と、
ＪＴＡＧインタフェースに対応するテストテストアクセスポートと、
上記テストアクセスポートからの信号に基づいてＪＴＡＧにおける制御機能を発揮するテストアクセスポートコントローラと、
上記テストアクセスポートコントローラの制御下で上記テスト対象回路のテストを行うためのビルトインセルフテスト回路と、
上記テストアクセスポートに対応する外部端子群と上記テストアクセスポートコントローラとの間に介在され、上記テスト対象回路のパワーオンセルフテストを行うパワーオンセルフテスト回路と、
上記テスト対象回路の自己診断のためのテストパターンを発生可能なパターン発生回路と、を含み、
上記パワーオンセルフテスト回路は、自己診断実行信号がアサートされた状態では、上記テストアクセスポートに対応する外部端子群に代えて上記パターン発生回路の出力を選択することにより、上記パターン発生回路で生成されたテストパターンを上記ビルトインセルフテスト回路に供給するための選択回路と、
上記ビルトインセルフテスト回路による上記テスト対象回路のテスト結果を、上記パターン発生回路によって生成された期待値と比較するための比較回路と、を含んで成る半導体集積回路を設計するに際して、
ビルトインセルフテスト回路組込みソフトウェアによって提供されるＢＩＳＴ実装情報に基づいてビルトインセルフテスト情報回路を生成する第１処理と、
上記ビルトインセルフテスト実装情報を用いてテストパターンを生成するための回路を、ビルトインセルフテスト用テストパターン生成ソフトウェアの仕様に基づいて生成する第２処理と、
上記第１処理及び上記第２処理で生成された回路をビルトインセルフテスト実装済み回路に組み込むための第３処理とを、演算部で実行する、半導体集積回路の設計方法。
【請求項９】
上記第２処理は、上記ビルトインセルフテスト用テストパターン生成ソフトウェアの仕様に基づいて、上記固定パターン発生回路の仕様、及び上記可変パターン発生回路の仕様を抽出する第４処理と、
上記第４処理で抽出された仕様に基づいて、上記固定パターン発生回路及び上記可変パターン発生回路を生成する第５処理と、を含み、
上記第４処理は、上記ビルトインセルフテスト用テストパターン生成ソフトウェアの仕様から必要なアルゴリズムが抽出する第６処理と、
上記第６処理で抽出されたアルゴリズムを固定パターン発生部分と可変パターン発生部分とに分割する第７処理と、
上記固定パターン発生部分に、上記可変パターン発生部分を呼び出すための仕様を追加し、上記可変パターン発生部分に上記ビルトインセルフテスト情報回路からビルトインセルフテスト情報を読み出す仕様を追加する第８処理と、を含む請求項８記載の半導体集積回路の設計方法。
【請求項１０】
上記ビルトインセルフテスト用テストパターン生成ソフトウェアは、上記演算部で実行されることによって、上記ビルトインセルフテスト実装情報を用いて、上記半導体集積回路の量産時のビルトインセルフテストを行うためのテストパターンを生成する請求項９記載の半導体集積回路の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及びその設計方法に関し、特に上記半導体集積回路のユーザによって提供されるシステム（「ユーザシステム」という）上で自己診断を自立的に実施する必要がある場合に好適に利用できるものである。
【背景技術】
【０００２】
半導体集積回路の検査方式の一つであるバウンダリスキャンテストの標準方式として、IEEE1149.1(以下ＪＴＡＧ)を挙げることができる。ＪＴＡＧに対応した半導体集積回路は、本来の機能を果たす回路のほかに、ＪＴＡＧに対応した回路、及びＪＴＡＧインタフェースのテストアクセスポート（「ＴＡＰ」という）に対応する信号（ＴＣＫ、ＴＲＳＴ、ＴＭＳ、ＴＤＩ、ＴＤＯ）の端子を有する。
【０００３】
半導体集積回路のテスト容易化設計（ＤＦＴ：design for testability）技術として、ビルトインセルフテスト（ＢＩＳＴ：built-in self test）を挙げることができる。ＢＩＳＴでは、テストパターンを発生する回路、及びテスト結果とその期待値とを照合する回路が設けられる。メモリに対するＢＩＳＴを「ＭＢＩＳＴ」、論理回路に対するＢＩＳＴを「ＬＢＩＳＴ」という。
【０００４】
特許文献１には、集積回路デバイス上で、メモリ組み込み形自己試験と論理組込み形自己試験を実行するための方法及び装置が記載されている。それによれば、ＬＢＩＳＴエンジンとＭＢＩＳＴエンジンの両方を含み、デュアル・モードＢＩＳＴ制御装置から少なくとも一方を実行して、その結果を取得する。
【０００５】
特許文献２には、マイクロコード・ベースのＭＢＩＳＴのシステム初期化を提供するための技術が記載されている。ここで、組込み形メモリおよびＢＩＳＴ機構を含む集積回路には、自己診断用テスト命令を生成する手段が含まれる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２０８３３１号公報
【特許文献２】特表２００４−５０５３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＪＴＡＧ対応の半導体集積回路の中に、ＢＩＳＴ機能を組み込むことができ、その場合には、半導体集積回路内のコントローラに対して、適切なシーケンスの信号を与えることで、ＢＩＳＴ機能による機能テストが可能になる。例えば、半導体集積回路の量産時には、所定のテストパターンを半導体自動テスト装置（ＡＴＥ）から半導体集積回路のＴＡＰに供給することでＢＩＳＴを行うことができる。そして、そのような半導体集積回路がユーザシステムに搭載された後には、上記半導体自動テスト装置からのテストパターンを使用できないから、ユーザシステム上で自己診断を実施するには、上記半導体集積回路内でテストパターンを形成する必要がある。また、半導体集積回路の量産時には、所定のテストパターンを半導体自動テスト装置からＴＡＰに供給することでＢＩＳＴを行い、また、ユーザシステムに搭載された後には、上記半導体集積回路内で形成したテストパターンを用いることでＢＩＳＴを実行するには、インタフェースの切り換えが必要となる。
【０００８】
尚、特許文献１，２には、半導体集積回路におけるＪＴＡＧインタフェースによって制御可能なＢＩＳＴ回路を使って、上記半導体集積回路がユーザシステムに搭載された状態でのＢＩＳＴを容易に実現するための回路の構成や、そのような機能を備えた半導体集積回路の設計手順について具体的に記載されていない。
【０００９】
その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
課題を解決するための手段のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１１】
すなわち、テスト対象回路と、テストアクセスポートコントローラと、ＪＴＡＧインタフェースに対応するテストテストアクセスポートと、ビルトインセルフテスト回路と、パワーオンセルフテスト回路と、パターン発生回路とを含んで半導体集積回路を形成する。このとき、上記パワーオンセルフテスト回路は、選択回路と比較回路とを含んで構成する。選択回路は、自己診断実行信号がアサートされた状態では、上記テストアクセスポートに対応する外部端子群に代えて上記パターン発生回路の出力を選択することにより、上記パターン発生回路で生成されたテストパターンを上記ビルトインセルフテスト回路に供給する。比較回路は、上記ビルトインセルフテスト回路による上記テスト対象回路のテスト結果を、上記パターン発生回路によって生成された期待値と比較する。
【発明の効果】
【００１２】
課題を解決するための手段のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１３】
すなわち、半導体集積回路におけるＪＴＡＧインタフェースによって制御可能なＢＩＳＴ回路を使って、上記半導体集積回路がユーザシステムに搭載された状態でのＢＩＳＴを容易に実現することができる。
【図面の簡単な説明】
【００１４】
【図１】半導体集積回路の一例とされるマイクロコンピュータの構成例ブロック図である。
【図２】図１に示されるマイクロコンピュータにおけるＰＯＳＴ回路及びパターン発生回路の構成例ブロック図である。
【図３】量産用ＭＢＩＳＴテストパターンと、パターンＲＯＭ内のデータとの関係説明図である。
【図４】図１に示されるマイクロコンピュータの設計に用いられるワークステーションの構成例ブロック図である。
【図５】ワークステーションで行われる設計処理のフローチャートである。
【図６】図１に示されるマイクロコンピュータにおけるパターン発生回路の別の構成例を示すブロック図である。
【図７】固定パターン発生回路の出力と可変パターン発生回路の出力との関係説明図である。
【図８】ワークステーションで行われる設計処理のフローチャートである。
【発明を実施するための形態】
【００１５】
１．実施の形態の概要
先ず、本願において開示される代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１６】
〔１〕代表的な実施の形態に係る半導体集積回路（１０）は、テスト対象回路（１０８，１０９）と、ＪＴＡＧインタフェースに対応するテストアクセスポート（１１１）と、上記テストアクセスポートからの信号に基づいてＪＴＡＧにおける制御機能を発揮するテストアクセスポートコントローラ（１０５）とを含む。上記半導体集積回路は、上記テストアクセスポートコントローラの制御下で上記テスト対象回路のテストを行うためのビルトインセルフテスト回路（１０６，１０７）と、上記テストアクセスポートに対応する外部端子群と上記テストアクセスポートコントローラとの間に介在され、上記テスト対象回路のパワーオンセルフテストを行うパワーオンセルフテスト回路（１０３）とを含む。上記半導体集積回路は、上記テスト対象回路の自己診断のためのテストパターンを発生可能なパターン発生回路（１０４）を含む。このとき、上記パワーオンセルフテスト回路は、選択回路（２１，２２）と、比較回路（２３）とを含んで構成する。選択回路は、自己診断実行信号がアサートされた状態では、上記テストアクセスポートに対応する外部端子群に代えて上記パターン発生回路の出力を選択することにより、上記パターン発生回路で生成されたテストパターンを上記ビルトインセルフテスト回路に供給する。比較回路は、上記ビルトインセルフテスト回路による上記テスト対象回路のテスト結果を、上記パターン発生回路によって生成された期待値と比較する。
【００１７】
上記の構成によれば、上記選択回路は、自己診断実行信号がアサートされた状態では、上記テストアクセスポートに対応する外部端子群に代えて上記パターン発生回路の出力を選択することにより、上記パターン発生回路で生成されたテストパターンを上記ビルトインセルフテスト回路に供給する。そして比較回路は、上記ビルトインセルフテスト回路による上記テスト対象回路のテスト結果を、上記パターン発生回路によって生成された期待値と比較する。これにより、半導体集積回路におけるＪＴＡＧインタフェースによって制御可能なＢＩＳＴ回路を使って、上記半導体集積回路がユーザシステムに搭載された状態でのＢＩＳＴを実現することができる。また、上記のように上記半導体集積回路がユーザシステムに搭載された状態でのＢＩＳＴを実現するには、上記半導体集積回路がユーザシステムに搭載された状態で、自己診断実行信号をアサートすれば良く、半導体集積回路を初期化する必要はないので、容易である。
【００１８】
〔２〕上記〔１〕において、テストパターンを形成するためのパターン発生回路を半導体集積回路内に設ける場合には、当該半導体集積回路本来の機能実現に支障を与えないようにするため、上記パターン発生回路のチップ占有面積を可能な限り小さくするのが望ましい。上記パターン発生回路のチップ占有面積を縮小するには、パターン発生回路を次のように構成すると良い。
【００１９】
上記テストパターンは、上記テスト対象回路の構成及びテスト条件に依存しない固定部分と、上記テスト対象回路の構成及びテスト条件に依存する可変部分とを含む。このとき、上記パターン発生回路は、固定パターン発生回路（６１）と、ビルトインセルフテスト情報回路（１０４）と、可変パターン発生回路（６２）とを含んで構成する。固定パターン発生回路は、シーケンス動作により上記テストパターンにおける上記固定部分を発生する。ビルトインセルフテスト情報回路は、上記テストパターンにおける上記可変部分を発生させるための情報を出力する。可変パターン発生回路は、上記ビルトインセルフテスト情報回路からの情報に基づくシーケンス動作により上記テストパターンにおける可変部分を発生する。
【００２０】
上記固定パターン発生回路は、テストパターンにおける固定部分を発生させるための固定シーケンサであるため、直接論理回路によって形成することができる。可変パターン発生回路は、ＢＩＳＴ情報回路内のＢＩＳＴ情報に基づいてテストパターンを形成することにより、テストパターンにおける可変部分を生成する。テストパターンの大部分は、固定シーケンスによって得られるため、テストパターンにおける可変部分の割合は、固定部分に比べて少なくなる。ＢＩＳＴ情報回路６３内のＢＩＳＴ情報は、テストパターンにおける可変部分を生成するための情報とされるので、このＢＩＳＴ情報を保持するのに大きな記憶容量を必要としない。
【００２１】
〔３〕上記〔２〕において、上記パターン発生回路には、上記固定パターン発生回路の出力と、上記可変パターン発生回路の出力とを合成して上記選択回路に供給するための論理回路（６４）を設けることができる。この論理回路を設けることで、上記固定パターン発生回路の出力と、上記可変パターン発生回路の出力とを容易に合成することができる。上記論理回路には、オアゲートを適用することができる。
【００２２】
〔４〕上記〔３〕において、上記自己診断実行信号がアサートされることにより、上記比較回路のリセット状態が解除されて、上記テスト対象回路のテスト結果と上記期待値との比較が可能とされる。これにより、上記比較回路の動作開始タイミングの適正化を図ることができる。
【００２３】
〔５〕上記〔４〕において、上記固定パターン発生回路は、上記ＣＰＵに伝達される自己診断終了信号を、上記テストパターンの発生を終了した時点でアサートするように構成することができる。これにより、上記ＣＰＵは、上記自己診断終了信号がアサートされたことにより、上記テストパターンの発生が終了したことを把握することができる。
【００２４】
〔６〕上記〔５〕において、上記パターン発生回路で発生されるテストパターンは、上記テスト対象回路のテスト結果の期待値と、上記テスト結果とその期待値との比較動作を抑止するためのマスク値とを含む。このとき、上記比較回路は、上記マスク値がネゲートされている状態で、上記テスト結果とその期待値との比較を行うように構成することができる。このようにすることで、上記比較回路は、マスク値がアサートされた状態では、上記テスト結果とその期待値との比較を行わないから、無意味な比較動作を実行しないで済む。
【００２５】
〔７〕上記〔１〕において、上記パターン発生回路は、テストパターンが格納されたパターンＲＯＭ（２５）と、上記パターンＲＯＭからのテストパターンの読み出し用アドレスを生成するカウンタ（２４）とを含んで構成することができる。上記カウンタで読み出し用アドレスが生成される毎に、上記パターンＲＯＭからのテストパターンの読み出しが行われることから、テストパターンを容易に生成することができる。
【００２６】
〔８〕代表的な実施の形態に係る、上記半導体集積回路の設計方法は、上記〔１〕の半導体集積回路を設計するに際して、第１処理（８１３）と、第２処理（８０９，８１１）と、第３処理（８１６）とを演算部（４２）で実行する。上記第１処理は、ビルトインセルフテスト回路組込みソフトウェアによって提供されるＢＩＳＴ実装情報に基づいてビルトインセルフテスト情報回路を生成する。上記第２処理は、上記ビルトインセルフテスト実装情報を用いてテストパターンを生成するための回路を、ビルトインセルフテスト用テストパターン生成ソフトウェアの仕様に基づいて生成する。上記第３処理は、上記第１処理及び上記第２処理で生成された回路をビルトインセルフテスト実装済み回路に組み込む。
【００２７】
このような処理が行われることで、上記〔１〕の半導体集積回路を容易に設計することができる。
【００２８】
〔９〕上記〔８〕において、上記第２処理には、上記ビルトインセルフテスト用テストパターン生成ソフトウェアの仕様に基づいて、上記固定パターン発生回路の仕様、及び上記可変パターン発生回路の仕様を抽出する第４処理（８０９）と、その仕様に基づいて、上記固定パターン発生回路及び上記可変パターン発生回路を生成する第５処理（８１１）とを含めることができる。このとき、上記第４処理は、次のように行うことができる。
【００２９】
先ず、上記ビルトインセルフテスト用テストパターン生成ソフトウェアの仕様から必要なアルゴリズムを抽出する。次に、上記第６処理で抽出されたアルゴリズムを固定パターン発生部分と可変パターン発生部分とに分割し、上記固定パターン発生部分に、上記可変パターン発生部分を呼び出すための仕様を追加し、上記可変パターン発生部分に上記ビルトインセルフテスト情報回路からビルトインセルフテスト情報を読み出す仕様を追加する。
【００３０】
このような処理が行われることで、上記固定パターン発生回路の仕様、及び上記可変パターン発生回路の仕様が抽出され、それに基づいて、上記固定パターン発生回路及び上記可変パターン発生回路を生成することができる。
【００３１】
〔１０〕上記〔９〕において、上記ビルトインセルフテスト用テストパターン生成ソフトウェアは、上記演算部で実行される。それにより、上記ビルトインセルフテスト実装情報を用いて、上記半導体集積回路の量産時のビルトインセルフテストを行うためのテストパターンが生成される。
【００３２】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００３３】
《実施の形態１》
図１には、半導体集積回路の一例とされるマイクロコンピュータが示される。
【００３４】
図１に示されるマイクロコンピュータ１０は、中央処理装置（ＣＰＵ）１０１、クロックパルス発生器（ＣＰＧ）１０２、パワーオンセルフテスト（ＰＯＳＴ）回路１０３、パターン発生回路１０４、ＴＡＰコントローラ１０５、メモリＢＩＳＴ（ＭＢＩＳＴ）回路１０６、論理ＢＩＳＴ（ＬＢＩＳＴ）回路１０７、リセット制御回路１１４を含む。またＣＰＵ１０１はＲＡＭ（Random Access Memory）１０８及び論理回路１０９から構成される。論理回路１０９はＬＢＩＳＴ回路１０７を通じて論理回路１０９のテストを行うスキャンレジスタ１１０を備える。また、このマイクロコンピュータ１０には、ＪＴＡＧインタフェースのＴＡＰに対応する外部端子群（ＪＴＡＧ  Ｉ／Ｏ）１１１と、クロックパルス発生用の水晶振動子を接続するためのクロック端子１１２、および外部リセット端子１１３を備える。マイクロコンピュータ１０の量産時のテストにおいて、外部端子群１１１、クロック端子１１２、外部リセット端子１１３に半導体自動テスト装置（ＡＴＥ）が接続される。この半導体自動テスト装置からＪＴＡＧインタフェースのＴＡＰに対応するＴＣＫ（Test Clock）信号、ＴＲＳＴ（Test Reset）信号、ＴＭＳ（Test Mode Select）信号、ＴＤＩ（Test Data Input）信号をＴＡＰコントローラ１０５に供給することができる。
【００３５】
ＣＰＵ１０１は、ユーザシステムに搭載された状態でプログラムを実行することにより所定の演算処理を行う。このとき、ＲＡＭ１０８，及びロジック回路１０９は、ＣＰＵ１０１の構成要素として演算処理などに利用される。クロックパルス発生器１０２は、このマイクロコンピュータ１０で使用されるクロック信号ＣＬＫを生成する。生成されたクロック信号ＣＬＫは、ＰＯＳＴ回路１０３、パターン発生回路１０４、ＲＡＭ１０８，論理回路１０９に供給される。パターン発生回路１０４は、ＲＡＭ１０８及び論理回路１０９の自己診断のためのテストパターンを発生する。ＰＯＳＴ回路１０３は、ＴＡＰコントローラ１０５に入力される信号の切替えや、テスト結果とその期待値との比較を行う。ＴＡＰコントローラ１０５は、ステートマシーンであり、上記ＰＯＳＴ回路からの信号に基づいてＪＴＡＧ機能を実現するための制御信号を発生する。
【００３６】
ＭＢＩＳＴ回路１０６は、ＲＡＭ１０８のアクセスポートを利用して、上記ＲＡＭ１０８にテストパターンを書き込んだ後に、それを読み出すことにより、ＭＢＩＳＴを実行する。また、ＬＢＩＳＴ回路１０７は、論理回路中のスキャンレジスタ１１０を利用して、論理回路１０９へのテストパターンの印加と出力結果の読み出しを実施することにより、ＬＢＩＳＴを実行する。ＲＡＭ１０８及び論理回路１０９から読み出されたテストパターンおよび出力結果は、上記テストパターンに対する応答値として、上記ＴＡＰコントローラ１０５を介して上記ＰＯＳＴ回路１０３に伝達される。
【００３７】
リセット制御回路１１４は、外部リセット端子１１３とＰＯＳＴ回路１０３が生成する自己診断終了信号のいずれかがアサートされた際にＣＰＵ１０１のリセット入力をアサートする機能を有する。パワーオンセルフテスト終了時には、マイクロコンピュータ１０の制御はＣＰＵ１０１に戻される。
【００３８】
図２には、上記ＰＯＳＴ回路１０３及び上記パターン発生回路１０４の構成例が示される。
【００３９】
上記ＰＯＳＴ回路１０３は、選択回路としてのマルチプレクサ２１，２２、及び出力比較回路２３を含む。マルチプレクサ２１は、ＴＡＰ（外部端子群１１１）側のＴＣＫ信号と、パターン発生回路１０４から供給されたクロック信号ＣＬＫとを選択的にＴＡＰコントローラ１０５に伝達する。マルチプレクサ２２は、ＴＡＰ（外部端子群１１１）側のＴＤＩ信号、ＴＭＳ信号、ＴＲＳＴ信号と、パターン発生回路１０４から供給されたテストパターンとを選択的にＴＡＰコントローラ１０５に伝達する。また、パターン発生回路１０４から供給されたテストパターンの一部（／ＭＡＳＫ，ＴＤＯｅｘｐｅｃｔ）は、出力比較回路２３へ伝達される。出力比較回路２３は、／ＭＡＳＫ信号がハイレベルにネゲートされている場合に、ＴＡＰコントローラ１０５から伝達されたＴＤＯ信号をその期待値（ＴＤＯｅｘｐｅｃｔ）と比較する。この比較結果は、出力比較回路２３内のラッチ回路に保持されるとともに、自己診断結果端子２６を介してＣＰＵ１０１に伝達される。尚、／ＭＡＳＫ信号がローレベルにアサートされている場合には、ＴＡＰコントローラ１０５から伝達されたＴＤＯ信号をその期待値（ＴＤＯｅｘｐｅｃｔ）との比較は行われない。出力比較回路２３内のラッチ回路は、ＣＰＵ１０１から自己診断実行端子２７を介して供給される自己診断実行信号をリセット信号ＲＳＴとして取り込み、自己診断実行端子２７が、例えばハイレベルにアサートされることで自己診断実行が指示された場合に、リセット状態が解除されるようになっている。
【００４０】
上記パターン発生回路１０４は、カウンタ２４と、パターンＲＯＭ２５とを含む。カウンタ２４は、クロック信号ＣＬＫをカウントすることで、パターンＲＯＭ２５の読み出し用アドレス信号ａｄｄｒをインクリメントする。パターンＲＯＭ２５には、ＲＡＭ１０８、論理回路１０９のテストに用いられるテストパターンが格納されている。このテストパターンは、カウンタ２４で生成された読み出し用アドレス信号ａｄｄｒの更新に従って順次読み出される。パターンＲＯＭ２５の出力信号（テストパターン）ｑは、ＰＯＳＴ回路１０３に伝達される。カウンタ２４は、ＣＰＵ１０１から自己診断実行端子２７を介して供給される自己診断実行信号をリセット信号ＲＳＴとして取り込み、自己診断実行端子２７が、例えばハイレベルにアサートされることで自己診断実行が指示された場合に、リセット状態が解除されるようになっている。また、カウンタ２４は、パターンＲＯＭ２５におけるテストパターンの最終アドレスまでカウントアップした場合に、パターンＲＯＭ２５の読み出し用アドレス信号ａｄｄｒの生成を終了し、自己診断終了信号（Ｃａｒｒｙｏｕｔ）をアサートする。この自己診断終了信号は、自己診断終了端子を介してＣＰＵ１０１に伝達される。
【００４１】
図３には、量産用ＭＢＩＳＴテストパターンと、パターンＲＯＭ２５内のデータとの関係が示される。
【００４２】
量産用ＭＢＩＳＴテストパターンでは、図３の（Ａ）に示されるように、ＪＴＡＧインタフェースのＴＡＰに対応する信号が、ベクタ毎にＴＣＫ、ＴＲＳＴ、ＴＭＳ、ＴＤＩ、ＴＤＯの順に定義される。例えば、〔１１１０Ｘ〕は、ＴＣＫ＝１、ＴＲＳＴ＝１、ＴＭＳ＝１、ＴＤＩ＝０、ＴＤＯ＝Ｘを意味する。「１」は、ハイレベル、「０」はローレベル、「Ｘ」は論理不定である。
【００４３】
マイクロコンピュータ１０の量産時のＢＩＳＴに使用される半導体自動テスト装置（ＡＴＥ）には、図３の（Ａ）に示されるようなテストパターンが設定される。そして、マイクロコンピュータ１０の量産時のＢＩＳＴにおいて、ＴＣＫ信号、ＴＲＳＴ信号、ＴＭＳ信号、ＴＤＩ信号が、半導体自動テスト装置（ＡＴＥ）からＴＡＰに供給され、ＰＯＳＴ回路１０３を介してＴＡＰコントローラ１０５に伝達され、ＭＢＩＳＴ回路１０６およびＬＢＩＳＴ回路１０７により、ＲＡＭ１０８のＭＢＩＳＴと論理回路１０９のＬＢＩＳＴが行われる。このＭＢＩＳＴやＬＢＩＳＴにより得られたＴＤＯ信号は、ＰＯＳＴ回路１０３を介して半導体自動テスト装置（ＡＴＥ）に伝達され、その期待値と比較される。
【００４４】
このようにマイクロコンピュータ１０の量産時のＢＩＳＴでは、半導体自動テスト装置（ＡＴＥ）から出力されるＴＣＫ信号が用いられるが、マイクロコンピュータ１０がユーザシステムに搭載された後のＢＩＳＴにおいては、半導体自動テスト装置（ＡＴＥ）は使用できないため、クロックパルス発生器１０２で生成されたクロック信号ＣＬＫが使用される。また、ＭＢＩＳＴにより得られたＴＤＯ信号とその期待値との比較は、出力比較回路２３で行われる。このため、マイクロコンピュータ１０の量産時のＢＩＳＴに使用されるテストパターンをそのまま用いることはできない。そこで、パターンＲＯＭ２５内のデータは、図３の（Ａ）に示されるテストパターンが、図３の（Ｂ）に示されるように変換されたものとされる。図３の（Ｂ）に示されるデータにおいて、「ＴＣＫ」に相当するものは省略されている。また、図３の（Ａ）に示されるテストパターンにおける「ＴＤＯ」に基づいて、図３の（Ｂ）における「ＴＤＯｅｘｐｅｃｔ」と、「／Ｍａｓｋ」が形成される。例えば「ＴＤＯ」が「０」の場合には、「ＴＤＯｅｘｐｅｃｔ」は「０」とされ、「／Ｍａｓｋ」は「１」とされる。「ＴＤＯ」が「１」の場合には、「ＴＤＯｅｘｐｅｃｔ」、「／Ｍａｓｋ」は共に「１」とされる。「ＴＤＯ」が「Ｘ」の場合には、「ＴＤＯｅｘｐｅｃｔ」、「／Ｍａｓｋ」は、共に「０」とされる。出力比較回路２３において、「／Ｍａｓｋ」が「０」の場合には、そのときの「ＴＤＯｅｘｐｅｃｔ」の論理値がマスクされ、その結果、「ＴＤＯ」と「ＴＤＯｅｘｐｅｃｔ」との比較は行われない。これにより、無意味な比較動作を行わずに済む。また、出力比較回路２３において、「／Ｍａｓｋ」が「１」の場合には、そのときの「ＴＤＯｅｘｐｅｃｔ」の論理値はマスクされず、「ＴＤＯ」と「ＴＤＯｅｘｐｅｃｔ」との比較が行われる。
【００４５】
上記構成の作用を説明する。
【００４６】
マイクロコンピュータ１０の量産時のＢＩＳＴにおいては、マイクロコンピュータ１０の半導体自動テスト装置（ＡＴＥ）が、半導体集積回路群１０９に接続され、半導体自動テスト装置からＴＣＫ信号、ＴＲＳＴ信号、ＴＭＳ信号、ＴＤＩ信号がＴＡＰに供給される。そして、ＭＢＩＳＴ回路１０６１及びＬＢＩＳＴ回路１０７により、ＲＡＭ１０８のメモリテスト（ＭＢＩＳＴ）及び論理回路１０９の論理回路テスト（ＬＢＩＳＴ）が行われる。このＭＢＩＳＴ及びＬＢＩＳＴにより得られたＴＤＯ信号が、ＰＯＳＴ回路１０３を介して半導体自動テスト装置に伝達され、その期待値と比較されることによって、ＲＡＭ１０８，論理回路１０９が正常に動作するか否かの判別が行われる。
【００４７】
上記マイクロコンピュータ１０が出荷され、ユーザシステムに搭載された後は、ユーザシステムに電源が投入される毎に、ＲＡＭ１０８，論理回路１０９のパワーオンセルフテストが行われる。すなわち、ユーザシステムに電源が投入される毎にＣＰＵ１０１により所定のパワーオンリセット処理が行われ、このパワーオンリセット処理により、自己診断実行端子２７を介して供給される自己診断実行信号（ＲＳＴ）がハイレベルにアサートされた場合、出力比較回路２３及びカウンタ２４のリセット状態が解除される。そして、クロックパルス発生器１０２からのクロック信号ＣＬＫがマルチプレクサ２１によって選択されてＴＡＰコントローラ１０５に伝達され、パターンＲＯＭ２５からのテストパターンのうち、ＴＤＩ信号、ＴＭＳ信号、ＴＲＳＴ信号がマルチプレクサ２２によって選択されてＴＡＰコントローラ１０５に伝達される。パターンＲＯＭ２５からのテストパターンのうち、／Ｍａｓｋ信号及びＴＤＯｅｘｐｅｃｔ信号は、出力比較回路２３に伝達される。ＭＢＩＳＴ回路１０６およびＬＢＩＳＴ回路１０７は、ＴＡＰコントローラ１０５の制御下でＲＡＭ１０８のＭＢＩＳＴ及び論理回路１０９のＬＢＩＳＴを実行する。このＭＢＩＳＴとＬＢＩＳＴの結果、すなわち、ＴＤＯ信号は、ＴＡＰコントローラ１０５を介して出力比較回路２３に伝達される。出力比較回路２３では、／Ｍａｓｋ信号がハイレベルにネゲートされている場合に、上記ＴＤＯ信号をその期待値（ＴＤＯｅｘｐｅｃｔ）と比較する。この比較結果は、出力比較回路２３内のラッチ回路で保持されるとともに、自己診断結果端子２６を介してＣＰＵ１０１に伝達される。ＣＰＵ１０１は、ＭＢＩＳＴまたはＬＢＩＳＴによる自己診断結果が正常であれば、処理を継続するが、ＭＢＩＳＴまたはＬＢＩＳＴによる自己診断結果が異常であれば、その後の処理を中止することができる。
【００４８】
次に、上記のような自己診断機能を有するマイクロコンピュータ１０の設計手順について説明する。
【００４９】
図４には、マイクロコンピュータ１０の設計に用いられるワークステーションが示される。
【００５０】
図４に示されるワークステーション４０は、特に制限されないが、ディスプレイ４１、ワークステーション本体４２、記憶装置４３、及び入力装置４４を含んで成る。ワークステーション本体４２は、所定のプログラムを実行するためのＣＰＵ（中央処理装置）を備えており、このワークステーション本体４２が、演算部の一例とされる。記憶装置４３は、例えばハードディスク装置であり、ワークステーション本体４２で実行されるプログラム（ソフトウェア）や、半導体集積回路１０の設計に使用される各種情報が格納されている。ワークステーション本体４２で実行されるプログラムには、マイクロコンピュータ１０の設計のためのＥＤＡ（Electronic Design Automation）ツールが含まれる。入力装置４４は、例えばキーボードやマウスであり、半導体集積回路の設計者の操作により、ワークステーション本体４２に対して各種情報を入力することができる。ディスプレイ４１は、ワークステーション本体４２から供給された表示用データを可視化する。
【００５１】
図５には、上記ワークステーション４０で行われる設計処理の流れが示される。
【００５２】
マイクロコンピュータ１０の製品仕様（５０１）が決定されると、それに応じた回路設計（５０２）が行われ、ネットリスト（５０３）が作成される。このネットリストには、ハードウェア記述言語である「Ｖｅｒｉｌｏｇ  ＨＤＬ」が用いられる。
【００５３】
ネットリスト（５０３）が作成されると、このネットリストへのＭＢＩＳＴ回路１０６やＬＢＩＳＴ回路１０７の組み込みが行われる（５０４）。このＢＩＳＴ回路の組み込みにより、ＢＩＳＴ組み込み済みネットリスト（５１１）が得られる。
【００５４】
また、上記ＢＩＳＴ回路の組み込み後に、ＭＢＩＳＴ回路１０６やＬＢＩＳＴ回路１０７の実装情報（５０３）に基づいて、テストパターンの生成が行われる（５０６）。このテストパターンの生成によって、マイクロコンピュータ１０の量産時のＢＩＳＴに用いられる量産用テストパターン（５０７）が得られる。この量産用テストパターン（５０７）は、マイクロコンピュータ１０の量産時のＢＩＳＴに用いられる半導体自動テスト装置に転送される。また、量産用テストパターン（５０７）は、パターンＲＯＭ変換が行われ（５０８）、図３の（Ｂ）に示されるようなパターンＲＯＭデータ（５０９）が得られる。
【００５５】
次に、ＢＩＳＴ組み込み済みネットリスト（５１１）に、ＰＯＳＴ回路１０３の設計データ（５１０）及びパターンＲＯＭ２５の設計データ（５０９）が組み込まれることにより、マイクロコンピュータ１０の設計データ（５１３）が得られる。
【００５６】
実施の形態１によれば、以下の効果を奏する。
【００５７】
（１）マイクロコンピュータ１０の量産時のＢＩＳＴにおいては、マイクロコンピュータ１０の半導体自動テスト装置が、半導体集積回路群１０９に接続され、半導体自動テスト装置からＴＣＫ信号、ＴＲＳＴ信号、ＴＭＳ信号、ＴＤＩ信号がＴＡＰに供給され、ＭＢＩＳＴ回路１０６、ＬＢＩＳＴ回路１０７により、ＲＡＭ１０８のＭＢＩＳＴや、論理回路１０９のＬＢＩＳＴが行われる。このＭＢＩＳＴやＬＢＩＳＴにより得られたＴＤＯ信号が、ＰＯＳＴ回路１０３を介して半導体自動テスト装置に伝達され、その期待値と比較されることによって、ＲＡＭ１０８，論理回路１０９が正常に動作するか否かの判別が行われる。また、マイクロコンピュータ１０が出荷され、ユーザシステムに搭載された後は、ユーザシステムに電源が投入される毎にＣＰＵ１０１により所定のパワーオンリセット処理が行われる。このパワーオンリセット処理により、自己診断実行端子２７を介して供給される自己診断実行信号（ＲＳＴ）がハイレベルにアサートされた場合、出力比較回路２３及びカウンタ２４のリセット状態が解除される。／Ｍａｓｋ信号がハイレベルにネゲートされている場合に、上記ＴＤＯ信号をその期待値（ＴＤＯｅｘｐｅｃｔ）とが比較され、この比較結果が、出力比較回路２３内のラッチ回路で保持されるとともに、自己診断結果端子２６を介してＣＰＵ１０１に伝達されるようになっている。このため、パワーオンリセット処理毎に、ＲＡＭ１０８のＭＢＩＳＴや論理回路１０９のＬＢＩＳＴが行われ、その結果を、ＣＰＵ１０１のその後の処理に反映させることができる。
【００５８】
（２）実施の形態１におけるパターン発生回路１０４は、パターンＲＯＭ２５とカウンタ２４とを含み、カウンタ２４で生成された読み出し用アドレス信号ａｄｄｒの更新に従ってパターンＲＯＭ２５内のテストパターンが順次読み出されるようになっているので、ＭＢＩＳＴやＬＢＩＳＴ用のテストパターンを連続的に発生させることができる。また、パターンＲＯＭ２５内のデータは、図３の（Ａ）に示されるテストパターンが、図３の（Ｂ）に示されるように、マイクロコンピュータ１０の自己診断に適合するように変換されたものとされるので、パターンＲＯＭ２５内のデータを用いることによって、良好な自己診断を行うことができる。
【００５９】
《実施の形態２》
図６には、パターン発生回路１０４の別の構成例が示される。図６に示されるパターン発生回路１０４が、図２に示されるのと大きく相違するのは、テストパターンをシーケンサによって発生させている点である。
【００６０】
図６に示されるパターン発生回路１０４は、固定パターン発生回路６１、可変パターン発生回路６２、ＢＩＳＴ情報回路６３、及びオアゲート６４を含む。固定パターン発生回路６１及び可変パターン発生回路６２は、予め定められた順序又は手続きに従ってテストパターンを発生するシーケンサとされる。
【００６１】
ＲＡＭ１０８，論理回路１０９のテストに用いられるテストパターンには、ＲＡＭ１０８，論理回路１０９の回路構成やテスト条件に依存しない部分（「固定部分」という）と、ＲＡＭ１０８，論理回路１０９の回路構成やテスト条件に依存して変化する部分（「可変部分」という）とが含まれる。
【００６２】
固定パターン発生回路６１は、クロック信号ＣＬＫに同期してテストパターンにおける固定部分を発生させるための固定シーケンサとされ、パターン発生回路１０４内に実装される。この固定パターン発生回路６１は、ＣＰＵ１０１から自己診断実行端子２７を介して供給される自己診断実行信号が、例えばハイレベルにアサートされることで自己診断実行が指示された場合に、シーケンサの起動により固定パターンの発生を開始する。そして、固定パターン発生回路６１は、所定のテストパターンを全て出力した時点で、自己診断終了端子２８を介して自己診断終了信号をアサートする。
【００６３】
可変パターン発生回路６２は、クロック信号ＣＬＫに同期して、ＢＩＳＴ情報回路６３内のＢＩＳＴ情報に基づいてテストパターンを形成することにより、テストパターンにおける可変部分を生成する。ＢＩＳＴ情報回路６３内のＢＩＳＴ情報は、テストパターンにおける可変部分を生成するための情報とされる。ＢＩＳＴ情報には、ＲＡＭ１０８，論理回路１０９におけるメモリセルの個数や、メモリの種別、アドレスサイズ、ワードサイズなどが含まれる。
【００６４】
固定パターン発生回路６１の出力、及び可変パターン発生回路６２の出力は、オアゲート６４を介することにより、パターン発生回路１０４の出力としてＰＯＳＴ回路１０３に伝達される。ここで、固定パターン発生回路６１の出力と、可変パターン発生回路６２の出力との合成は、以下のように行われる。
【００６５】
図７には、固定パターン発生回路６１の出力と可変パターン発生回路６２の出力との関係が示される。
【００６６】
固定パターン発生回路６１と可変パターン発生回路６２とのシーケンス動作は、クロック信号ＣＬＫに同期される。本例では、固定パターン発生回路６１におけるシーケンス動作のステップ（Ｓｔｅｐ）を、ｎ〜ｎ＋１４の１５ステップとする。７０１は、固定パターン発生回路６１で生成されるテストパターンを示し、７０２は、可変パターン発生回路６２で生成されるテストパターンを示す。図７に示される例では、ステップｎ＋３〜ｎ＋１２では、固定パターン発生回路６１で生成されるテストパターン７０１と、可変パターン発生回路６２で生成されるテストパターン７０２と合成される。つまり、ステップｎ＋３〜ｎ＋１２では、固定パターン発生回路６１で生成されるテストパターン７０１におけるＴＤＩ信号、ＴＤＯｅｘｐｅｃｔ信号、／Ｍａｓｋ信号が省略されており、その省略部分を補うために、可変パターン発生回路６２で生成されるＴＤＩ信号、ＴＤＯｅｘｐｅｃｔ信号、／Ｍａｓｋ信号が、オアゲート６４を介してＰＯＳＴ回路１０３に伝達される。
【００６７】
具体的には、以下のようにテストパターンの合成が行われる。
【００６８】
自己診断実行端子２７を介して自己診断実行がハイレベルにアサートされたことにより、固定パターン発生回路６１により固定パターンの発生が開始される。この時点で、可変パターン発生回路６２は未だ動作されない。ステップｎ＋３〜ｎ＋１２においては、ステップ毎に、固定パターン発生回路６１から可変パターン発生回路６２に対して動作開始が指示される。それにより、可変パターン発生回路６２は、ＢＩＳＴ情報回路６３内のＢＩＳＴ情報に基づいてステップ毎に、ＴＤＩ信号、ＴＤＯｅｘｐｅｃｔ信号、／Ｍａｓｋ信号を生成し、それを出力することにより、テストパターン７０１における不足分を補う。ステップｎ＋１３，ｎ＋１４では、固定パターン発生回路６２から可変パターン発生回路６２に対して動作開始が指示されないため、可変パターン発生回路６２によるテストパターンの発生は行われない。
【００６９】
上記構成の作用効果を説明する。
【００７０】
（１）実施の形態１の場合と同様に、ユーザシステムに電源が投入される毎にＣＰＵ１０１により所定のパワーオンリセット処理が行われ、このパワーオンリセット処理により、自己診断実行端子２７を介して供給される自己診断実行信号（ＲＳＴ）がハイレベルにアサートされた場合、出力比較回路２３のリセット状態が解除される。そして、クロックパルス発生器１０２からのクロック信号ＣＬＫがマルチプレクサ２１によって選択されてＴＡＰコントローラ１０５に伝達され、固定パターン発生回路６１又は可変パターン発生回路６２からのテストパターンのうち、ＴＤＩ信号、ＴＭＳ信号、ＴＲＳＴ信号がマルチプレクサ２２によって選択されてＴＡＰコントローラ１０５に伝達される。固定パターン発生回路６１又は可変パターン発生回路６２からのテストパターンのうち、／Ｍａｓｋ信号及びＴＤＯｅｘｐｅｃｔ信号は、出力比較回路２３に伝達される。ＭＢＩＳＴ回路１０６及びＬＢＩＳＴ回路１０７は、ＴＡＰコントローラ１０５の制御下で、それぞれＲＡＭ１０８のＭＢＩＳＴ、及び論理回路１０９のＬＢＩＳＴを実行する。このＭＢＩＳＴ，ＬＢＩＳＴの結果、すなわち、ＴＤＯ信号は、ＴＡＰコントローラ１０５を介して出力比較回路２３に伝達される。出力比較回路２３では、／Ｍａｓｋ信号がハイレベルにネゲートされている場合に、上記ＴＤＯ信号をその期待値（ＴＤＯｅｘｐｅｃｔ）と比較する。この比較結果は、出力比較回路２３内のラッチ回路で保持されるとともに、自己診断結果端子２６を介してＣＰＵ１０１に伝達される。ＣＰＵ１０１は、ＭＢＩＳＴまたはＬＢＩＳＴによる自己診断結果が正常であれば、処理を継続するが、ＭＢＩＳＴまたはＬＢＩＳＴによる自己診断結果が異常であれば、その後の処理を中止することができる。
【００７１】
（２）パターン発生回路１０４は、固定パターン発生回路６１と可変パターン発生回路６２とを含み、この固定パターン発生回路６１と可変パターン発生回路６２とは、シーケンサによってテストパターンを発生するため、パターン発生回路のチップ占有面積を縮小することができる。
【００７２】
固定パターン発生回路６１は、テストパターンにおける固定部分を発生させるための固定シーケンサであるため、直接論理回路によって形成することができる。
【００７３】
可変パターン発生回路６２は、ＢＩＳＴ情報回路６３内のＢＩＳＴ情報に基づいてテストパターンを形成することにより、テストパターンにおける可変部分を生成するものである。テストパターンの大部分は、固定シーケンスによって得られるため、テストパターンにおける可変部分の割合は、固定部分に比べて少なくなる。ＢＩＳＴ情報回路６３内のＢＩＳＴ情報は、テストパターンにおける可変部分を生成するための情報とされるので、このＢＩＳＴ情報を保持するのに大きな記憶容量を必要としない。
【００７４】
例えば、図２に示される構成を採用した場合の回路規模と、図６に示される構成を採用した場合の回路規模とを試算したところ、以下の結果を得た。
【００７５】
図２に示される構成を採用した場合の試算条件は、テストパターン＝２４８７０００ｂｉｔ（４９７０００ｓｔｅｐ）、パターンＲＯＭ２５における１ｂｉｔ当たりのトランジスタ数＝１．００５とされる。この条件で回路規模を試算すると、トランジスタ数は、２５０００００個となる。
【００７６】
これに対して、図６に示される構成を採用した場合、２４８７０００ｂｉｔ分のテストパターンを発生するための回路規模は、およそ１０５００Ｇａｔｅであり、１Ｇａｔｅ当たりのトランジスタ数を「６」とした場合の全トランジスタ数は、６５０００個となり、図２に示される構成を採用した場合に比べて、大幅に少ない。このことから、図２に示される構成を採用した場合に比べて、図６に示される構成を採用した場合のほうがパターン発生回路１０４のチップ占有面積を縮小することができる。
【００７７】
（３）固定パターン発生回路６１は、テスト対象回路であるＲＡＭ１０８，論理回路１０９の構成及びテスト条件に依存しない固定部分であるため、テスト対象回路が変わっても、この固定パターン発生回路６１は変更を要しない。このため、テスト対象回路が変わった場合には、ＢＩＳＴ情報回路６３の内容を変更すれば良いので、テスト対象回路が変わった場合の自己診断機能の組み込み工数は、図２に示される構成を採用する場合に比べて、大幅に低減される。
【００７８】
次に、上記のような自己診断機能を有するマイクロコンピュータ１０の設計手順について説明する。
【００７９】
図８には、図６に示される構成を有するマイクロコンピュータ１０の設計処理の流れが示される。この設計処理には、図４に示されるワークステーション４０が用いられる。
【００８０】
図５に示されるのと同様に、マイクロコンピュータ１０の製品仕様（８０１）が決定されると、それに応じた回路設計（８０２）が行われ、ネットリスト（８０３）が作成される。このネットリストには、ハードウェア記述言語である「Ｖｅｒｉｌｏｇ  ＨＤＬ」が用いられる。ネットリスト（８０３）が作成されると、このネットリストへのＭＢＩＳＴ回路１０６及びＬＢＩＳＴ回路１０７の組み込みが行われる（８０４）。このＭＢＩＳＴ回路１０６及びＬＢＩＳＴ回路１０７の組み込みにより、ＢＩＳＴ組み込み済みネットリスト（８１５）が得られる。
【００８１】
また、図５に示されるのと同様に、上記ＭＢＩＳＴ回路１０６及びＭＢＩＳＴ回路の組み込み後に、ＭＢＩＳＴ回路１０６及びＬＢＩＳＴ回路１０７の実装情報（８０５）に基づいて、テストパターンの生成が行われる（８０６）。このテストパターンの生成によって、マイクロコンピュータ１０の量産時のＢＩＳＴに用いられる量産用テストパターン（５０７）が得られる。この量産用テストパターン（５０７）は、マイクロコンピュータ１０の量産時のＢＩＳＴに用いられる半導体自動テスト装置に転送される。
【００８２】
固定パターン発生回路６１の仕様や可変パターン発生回路６２の仕様は、テストパターンの生成（８０６）で使用されたソフトウェアから提供される。すなわち、上記ＢＩＳＴ用テストパターン生成（８０６）に用いられたソフトウェアの仕様（８０８）から、固定パターン発生回路６１の仕様の抽出、及び可変パターン発生回路６２の仕様の抽出が行われる（８０９）。
【００８３】
ここで、固定パターン発生回路６１の仕様の抽出、及び可変パターン発生回路６２の仕様の抽出（８０９）においては、先ず、ＢＩＳＴ用テストパターン生成ソフトウェアの仕様から必要なアルゴリズムが抽出され、抽出されたアルゴリズムが固定パターン発生部分と可変パターン発生部分とに分割される。固定パターン発生部分が固定パターン発生回路６１に対応し、可変パターン発生部分が可変パターン発生回路６２に対応する。そして、固定パターン発生部分に、可変パターン発生部分を呼び出すための仕様が追加され、可変パターン発生部分にＢＩＳＴ情報回路からＢＩＳＴ情報を読み出す仕様が追加される。このようにして、固定パターン発生回路６１の仕様及び可変パターン発生回路６２の仕様（８１０）が得られる。
【００８４】
ＪＴＡＧインタフェースを利用して制御されるＢＩＳＴシステムのパターンは、以下の二種類の部分パターンが複数連なった構造をしている。
【００８５】
第１の部分パターンは、ＴＡＰコントローラの状態を特定の順番で遷移させる部分（テスト実行部など）である。第２の部分パターンは、ＴＡＰコントローラに付属のテストデータレジスタ（ＴＤＲ）にスキャン動作、すなわち値の設定と観測を行う部分（テスト条件設定部分、テスト結果読み出し部分など）である。
【００８６】
部分パターンの出現順序や、ＴＡＰコントローラの状態を特定の順番で遷移させる部分パターン等は、基本的にＢＩＳＴシステムに固有であり、製品間の差異が無いので、ＢＩＳＴシステムのパターン生成系の仕様等から生成可能となるので、固定パターン発生回路に実装する。
【００８７】
各ＴＤＲのビット幅や書き込み値、あるいは読み出し値は、製品毎に異なるが、ＢＩＳＴのパターン生成系の仕様等から、ＢＩＳＴの実装情報をこれらの値に変換する手続きを特定可能なので、この手続きは、可変パターン発生回路として実装する。ＢＩＳＴの実装情報は、可変パターン発生回路６２から参照可能にＢＩＳＴ情報回路６３に格納される。
【００８８】
そして、固定パターン発生回路６１の仕様に基づいて固定パターン発生回路６１の生成が行われ、可変パターン発生回路６２の仕様に基づいて可変パターン発生回路６２の生成が行われる（８１１）。このようにして、固定パターン発生回路６１の設計データ及び可変パターン発生回路６２の設計データ（８１２）が得られる。
【００８９】
尚、ＢＩＳＴやテスト内容が大きく変化しなければ、固定パターン発生回路６１や可変パターン発生回路６２の構成は変化しないので、かかる場合には、固定パターン発生回路６１の仕様及び可変パターン発生回路６２の仕様（８１０）を複数の製品間で共有可能となる。
【００９０】
また、ＢＩＳＴ情報を出力するＢＩＳＴ情報回路６３の情報は、ＢＩＳＴ組み込み（８０４）に使用されたソフトウェアから提供される。すなわち、ＢＩＳＴ組み込み（８０４）によって得られたＢＩＳＴ実装情報（８０５）に基づいてＢＩＳＴ情報回路６３の生成が行われる（８１３）。
【００９１】
このＢＩＳＴ情報回路６３の生成においては、先ず、ＢＩＳＴ実装情報のうち必要なものが選択され、選択されたＢＩＳＴ実装情報それぞれに、互いに独立した整数が割り当てられる。そして、上記整数に対応付けられたＢＩＳＴ実装情報を出力する回路が生成される。
【００９２】
次に、ＢＩＳＴ情報回路６３の設計データ（８１４）と、固定パターン発生回路６１の設計データ及び可変パターン発生回路６２の設計データが、ＢＩＳＴ組み込み済みネットリスト（８１５）に組み込まれることによって（８１６）、図６に示される構成を有するマイクロコンピュータ１０の設計データ（８１７）が得られる。
【００９３】
固定パターン発生回路６１の仕様の抽出、及び可変パターン発生回路６２の仕様の抽出（８０９）や、固定パターン発生回路６１の生成及び可変パターン発生回路６２の生成（８１１）は、一つのＢＩＳＴシステムにおいて１回だけ実施される。そしてＢＩＳＴシステムが同じであれば、複数の製品間で、固定パターン発生回路６１の設計データ及び可変パターン発生回路６２の設計データ（８１２）を共有することができるので、設計工数を低減する上で有効となる。ＢＩＳＴシステムが異なる場合でも、固定パターン発生回路６１の設計データに変更を要しない場合には、当該設計データをそのまま使うことができるので、設計工数の低減を図る上で有利とされる。
【００９４】
以上本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【符号の説明】
【００９５】
１０  マイクロコンピュータ
２１，２２  マルチプレクサ
２３  出力比較回路
２４  カウンタ
２５  パターンＲＯＭ
２６  自己診断結果端子
２７  自己診断実行端子
２８  自己診断終了端子
４１  ディスプレイ
４２  ワークステーション本体
４３  記憶装置
４４  入力装置
６１  固定パターン発生回路
６２  可変パターン発生回路
６３  ＢＩＳＴ情報回路
１０１  ＣＰＵ
１０２  クロックパルス発生器
１０３  ＰＯＳＴ回路
１０４  パターン発生回路
１０５  ＴＡＰコントローラ
１０６  ＭＢＩＳＴ回路
１０７  ＬＢＩＳＴ回路
１０８  ＲＡＭ
１０９  論理回路
１１０  スキャンレジスタ
１１１  外部端子群
１１２  クロック端子
１１３  外部リセット端子
１１４  リセット制御回路
【図１】
2013253840.tif 000003
【図２】
2013253840.tif 000004
【図３】
2013253840.tif 000005
【図４】
2013253840.tif 000006
【図５】
2013253840.tif 000007
【図６】
2013253840.tif 000008
【図７】
2013253840.tif 000009
【図８】
2013253840.tif 000010