(57)【特許請求の範囲】
【請求項１】
所定ビット数のシリアルデータをパラレルデータに変換して出力する半導体集積回路において、
前記シリアルデータの各ビットに対応して設けられ、それぞれ当該対応するビットをラッチして前記パラレルデータを構成するビット値をデータ出力端子から出力する複数のラッチ手段と、
前記各ラッチ手段の前記データ出力端子からの出力を前記ラッチ手段毎に定められた初期ビット値に設定する初期値設定手段と、
前記複数のラッチ手段の前記データ出力端子からの出力に応じた論理演算を行って１つの論理値を生成する論理演算手段と、
前記論理値が「真」の場合には第１の値として１を、一方、「偽」の場合は第２の値として０を当該半導体集積回路から出力する出力手段と、
を有し、
前記論理演算手段は、
前記初期ビット値が１である前記ラッチ手段それぞれの前記データ出力端子と同一のビット値を出力する同一値出力手段と、
前記初期ビット値が０である前記ラッチ手段それぞれの前記データ出力端子と反対のビット値を出力する反対値出力手段と、
前記論理値として、前記各同一値出力手段及び前記各反対値出力手段の出力の論理積を生成する論理積生成手段と、を有すること、
を特徴とする半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路において、
前記ラッチ手段は、前記データ出力端子と、当該データ出力端子とは反対のビット値を出力する反転データ出力端子とを有し、
前記論理積生成手段はＡＮＤ回路であり、
前記反対値出力手段は前記初期ビット値が０である前記ラッチ手段となる前記ラッチ手段における前記反転データ出力端子であり、
前記同一値出力手段は前記初期ビット値が１である前記ラッチ手段となる前記ラッチ手段における前記反転データ出力端子及び当該反転データ出力端子と前記ＡＮＤ回路の入力端子との間に挿入されたインバータからなること、
を特徴とする半導体集積回路。
【請求項３】
所定ビット数のシリアルデータをパラレルデータに変換して出力する半導体集積回路において、
前記シリアルデータの各ビットに対応して設けられ、それぞれ当該対応するビットをラッチして前記パラレルデータを構成するビット値をデータ出力端子から出力する複数のラッチ手段と、
前記各ラッチ手段の前記データ出力端子からの出力を前記ラッチ手段毎に定められた初期ビット値に設定する初期値設定手段と、
前記複数のラッチ手段の前記データ出力端子からの出力に応じた論理演算を行って１つの論理値を生成する論理演算手段と、
前記論理値が「偽」の場合には第１の値として０を、一方、「真」の場合は第２の値として１を当該半導体集積回路から出力する出力手段と、
を有し、
前記論理演算手段は、
前記初期ビット値が０である前記ラッチ手段それぞれの前記データ出力端子と同一のビット値を出力する同一値出力手段と、
前記初期ビット値が１である前記ラッチ手段それぞれの前記データ出力端子と反対のビット値を出力する反対値出力手段と、
前記論理値として、前記各同一値出力手段及び前記各反対値出力手段の出力の論理和を生成する論理和生成手段と、を有すること、
を特徴とする半導体集積回路。
【請求項４】
請求項３に記載の半導体集積回路において、
前記ラッチ手段は、前記データ出力端子と、当該データ出力端子とは反対のビット値を出力する反転データ出力端子とを有し、
前記論理和生成手段はＯＲ回路であり、
前記反対値出力手段は前記初期ビット値が１である前記ラッチ手段となる前記ラッチ手段における前記反転データ出力端子であり、
前記同一値出力手段は前記初期ビット値が０である前記ラッチ手段となる前記ラッチ手段における前記反転データ出力端子及び当該反転データ出力端子と前記ＯＲ回路の入力端子との間に挿入されたインバータからなること、
を特徴とする半導体集積回路。
【請求項５】
請求項１から請求項４のいずれか１つに記載の半導体集積回路において、
前記ラッチ手段はデータ入力端子、セット入力端子及びリセット入力端子を有するフリップフロップであり、
前記初期値設定手段は、前記各フリップフロップの前記セット入力端子及び前記リセット入力端子のうち前記初期ビット値に応じた一方に共通に接続され、接続された各端子に一括して電圧を印加可能とする信号線を有すること、
を特徴とする半導体集積回路。
【請求項６】
請求項１又は請求項３に記載の半導体集積回路を検査する方法であって、
前記各ラッチ手段に前記初期ビット値を設定する初期値設定ステップと、
前記出力手段が当該半導体集積回路から前記第２の値を出力する場合に、前記ラッチ手段のいずれかに異常があると判定する包括的判定ステップと、
を有することを特徴とする半導体集積回路検査方法。
【請求項７】
請求項６に記載の半導体集積回路を検査する方法において、
前記初期値設定ステップ及び前記包括的判定ステップにより前記出力手段が当該半導体集積回路から前記第１の値を出力する場合に、
任意の１ビットのみが前記初期ビット値とは相違する前記シリアルデータを入力する１ビット反転データ入力ステップと、
前記出力手段が当該半導体集積回路から前記第１の値を出力する場合に、前記任意の１ビットに対応する前記ラッチ手段の動作が異常であると判定する個別的判定ステップと、  を有することを特徴とする半導体集積回路検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルデータをパラレルデータに変換して出力する半導体集積回路に関し、特に、当該半導体集積回路の動作確認を容易にする技術に関する。
【背景技術】
【０００２】
従来より、例えば、Ｉ２Ｃシリアルデータをパラレルデータに変換し、パラレルデータの各ビットを内部でラッチして、同時並列的に外部回路から読み取り可能とする半導体集積回路が存在する。当該回路は、複数のラッチ回路を備え、Ｉ２Ｃバスを介して入力されたデータの１ビットずつをラッチし、各ビット値は半導体集積回路のパッケージに設けられたラッチデータ出力用のピンから出力され、周辺回路の状態制御等に利用される。当該半導体集積回路は、予め設定された初期値を、電源投入時等に各ラッチデータ出力用ピンから出力することができる。
【０００３】
上述の半導体集積回路において、その内部の各ラッチ回路の動作が正常であるか等の確認は、各ラッチデータ出力用ピンから出力されているビットデータに基づいて動作している周辺回路の状態をモニタすることにより行われている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、この従来の確認方法では、当該半導体集積回路のラッチデータ出力用ピンから出力されるデータを利用する全ての周辺回路の動作をテストしなければならず、面倒であったり、それら周辺回路の状態を確認するテスト回路の構成が複雑となりコスト増となるといった問題があった。また、その確認方法は周辺回路の動作を介した間接的なものであり、当該半導体集積回路と周辺回路との間で動作上の問題点の切り分けが必ずしも明確に行われないといった問題もあった。
【０００５】
本発明は上述の問題点を解決するためになされたものであり、シリアルデータをパラレルデータに変換して出力する半導体集積回路における動作確認を容易にすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る半導体集積回路は、所定ビット数のシリアルデータをパラレルデータに変換して出力するものであって、前記シリアルデータの各ビットに対応して設けられ、それぞれ当該対応するビットをラッチして前記パラレルデータを生成する複数のラッチ回路と、前記各ラッチ回路の出力を当該各ラッチ回路毎に定められた初期ビット値に設定する初期値設定手段と、前記複数のラッチ回路の出力に応じた論理演算を行って１つの論理値を生成する論理演算回路と、前記論理値を当該半導体集積回路から出力する出力手段と、を有し、前記論理演算回路が、前記各ラッチ回路の出力が前記初期ビット値である場合に、第１の論理値を出力し、それ以外の場合に第２の論理値を出力するものである。
【０００７】
他の本発明に係る半導体集積回路においては、前記ラッチ回路がデータ入力端子、セット入力端子及びリセット入力端子を有するフリップフロップであり、前記初期値設定手段が、前記各ラッチ回路の前記セット入力端子及び前記リセット入力端子のうち前記初期ビット値に応じた一方に共通に接続され、接続された各端子に一括して電圧を印加可能とする信号線を有する。
【０００８】
また他の本発明に係る半導体集積回路においては、前記ラッチ回路が、前記パラレルデータを構成するビット値を出力するデータ出力端子と、当該データ出力端子とは反対のビット値を出力する反転データ出力端子とを有し、前記論理演算回路が、前記各ラッチ回路の前記反転データ出力端子の出力に基づく論理積を生成するＡＮＤ回路と、前記初期ビット値が１である前記ラッチ回路それぞれの前記反転データ出力端子と前記ＡＮＤ回路との間に挿入されたインバータと、を有する。
【０００９】
本発明に係る半導体集積回路検査方法は、上記半導体集積回路を検査する方法であって、前記各ラッチ回路に前記初期ビット値を設定する初期値設定ステップと、当該半導体集積回路から出力される前記論理演算回路の論理演算の結果に基づいて、前記ラッチ回路のいずれかに異常があるか否かを判定する包括的判定ステップと、を有する方法である。
【００１０】
他の本発明に係る半導体集積回路検査方法においては、前記初期値設定ステップ及び前記包括的判定ステップにより前記ラッチ回路の全てが正常であると判定された場合に、任意の１ビットのみが前記初期ビット値とは相違する前記シリアルデータを入力する１ビット反転データ入力ステップと、当該半導体集積回路から出力される前記論理演算回路の論理演算の結果に基づいて、前記任意の１ビットに対応する前記ラッチ回路の動作が正常であるか否かを判定する個別的判定ステップと、を有する。
【発明の効果】
【００１１】
本発明の半導体集積回路によれば、論理演算回路が生成する１つの論理値が出力端子から出力され、これに基づいて当該半導体集積回路の外部において、当該半導体集積回路内部の複数のラッチ回路の動作が正常であるか等の確認が可能となる。つまり、当該半導体集積回路に接続される周辺回路の状態を個々に確認する必要がなくなり、動作確認が簡素化されると共に、テスト回路の構成の簡略化が図られ、コスト減を図ることができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態（以下実施形態という）について、図面に基づいて説明する。
【００１３】
図１は、本実施形態に係る半導体集積回路２の構成を示す概略のブロック図である。集積回路２は、シリコン基板等の上にフォトリソグラフィ技術によりトランジスタ、抵抗、コンデンサ等の素子や配線を形成して作られた半導体チップを、樹脂モールド等でパッケージングして構成され、パッケージには半導体チップ内の回路と外部回路との接続端子となるピンが配列される。
【００１４】
集積回路２は、内部にシリアル・パラレル変換回路４、複数個のデータフリップフロップ（ＤＦＦ）６、ＡＮＤ回路８、インバータ１０、Ｉ２Ｃバス入出力回路１２を含んで構成される。集積回路２の接続ピン２０，２２はＩ２Ｃバスのクロックライン、データラインにそれぞれ接続され、集積回路２はＩ２Ｃバスを介してマイコン（図示せず）に接続される。マイコンはライトモードの所定形式のＩ２Ｃシリアルデータをクロックに同期してバス上に送出する。集積回路２では、Ｉ２Ｃバスとの入出力インターフェースとして機能するＩ２Ｃバス入出力回路１２が、ライトモードにて当該シリアルデータに指定されたスレイブアドレスが当該集積回路２に割り当てられたものであると判断すると、シリアルデータに格納されるデータを１グループずつ取り込んでシリアル・パラレル変換回路４へ渡す。シリアル・パラレル変換回路４は渡された１グループのデータをパラレルデータに変換し、１ビットずつＤＦＦ６へ出力する。
【００１５】
ここで１グループは８ビットからなり、これに対応して集積回路２はＤＦＦ６を８個を備え、ＤＦＦ６-k（ｋ＝１，２，…，８）はデータ入力端子に、シリアル・パラレル変換回路４から出力される各グループの第ｋビットの値を入力される。各ＤＦＦ６はクロック入力端子を接続ピン２４に接続され、接続ピン２４に入力されるデータ書き込み用クロックに同期して、データ入力端子に入力されるデータをラッチし、データ出力端子から出力する。各ＤＦＦ６-kはデータ出力端子をそれぞれ接続ピン２６-kに接続され、ラッチしたデータは当該接続ピン２６-kからそれぞれ周辺回路へ出力される。周辺回路は集積回路２から入力されるデータが“１”か“０”かに応じて、例えば、当該周辺回路の動作状態を制御する。
【００１６】
また、各ＤＦＦ６は、上記データ出力端子とは反対のビット値を出力する反転データ出力端子も有する。さらに、各ＤＦＦ６はセット入力端子及びリセット入力端子を有する。ＤＦＦ６はセット入力端子にパルスを入力されると、データ出力端子の出力データを“１”にセットする。このとき、反転データ出力端子の出力データは“０”となる。一方、ＤＦＦ６はリセット入力端子にパルスを入力されると、データ出力端子の出力データを“０”にリセットする。このとき、反転データ出力端子の出力データは“１”となる。集積回路２は、これらセット入力端子及びリセット入力端子を用いて、各ＤＦＦ６の出力データを当該ＤＦＦ６毎に予め定められた初期ビット値に設定する。
【００１７】
各ＤＦＦ６に初期ビット値として“１”と“０”とのいずれを設定するかは、セット入力端子とリセット入力端子とのいずれに初期値設定パルスを印加するかによって定められる。初期ビット値“１”を設定するＤＦＦ６に対しては、接続ピン２８とセット入力端子との間に信号線が形成され、両者が接続され、一方、初期ビット値“０”を設定するＤＦＦ６に対しては、接続ピン２８とリセット入力端子との間に信号線が形成され、両者が接続される。そして、接続ピン２８に入力される初期値設定パルスはこれら信号線で接続されたセット入力端子又はリセット入力端子に共通に入力される。例えば、図１に示す例では、ＤＦＦ６-1はセット入力端子に接続ピン２８を接続され、電源オン時等にパルスを入力されると、第１ビットの初期ビット値として“１”が設定され、データ出力端子から接続ピン２６-1へ“１”が出力される。また、ＤＦＦ６-k（ｋ＝２〜８）はリセット入力端子に接続ピン２８を接続され、当該接続ピン２８にパルスを入力されると、第２〜８ビットの初期ビット値として“０”が設定され、データ出力端子から接続ピン２６-kへ“０”が出力される。
【００１８】
本集積回路２は、各ＤＦＦ６の出力に応じた論理演算を行って１つの論理値を生成し、接続ピンへ出力する論理演算回路を備える。当該論理演算回路は、各ＤＦＦ６の反転データ出力端子の出力に基づく論理積を生成するＡＮＤ回路８及び、初期ビット値が１であるＤＦＦ６の反転データ出力端子とＡＮＤ回路８との間に挿入されたインバータ１０によって構成され、全てのＤＦＦ６のデータ出力端子からの出力が初期ビット値である場合に、論理値「真」に相当するデータ値“１”を出力し、それ以外の場合に論理値「偽」に相当するデータ値“０”を出力する。その出力はＡＮＤ回路８の出力端子からＩ２Ｃバス入出力回路１２に入力される。Ｉ２Ｃバス入出力回路１２は、リードモードにてＡＮＤ回路８からの論理値を、ＤＦＦ６の動作状態を表すフラグとしてシリアルデータの所定ビットに格納する。例えば、マイコンはＩ２Ｃバスを介して、Ｉ２Ｃバス入出力回路１２からシリアルデータを読み出し、集積回路２のＤＦＦ６の動作状態を確認することができる。
【００１９】
ここでは、ＡＮＤ回路８の出力をＩ２Ｃバス入出力回路１２及びＩ２Ｃバスを介して外部回路に読み出し、集積回路２の動作状態確認に利用する構成を説明した。この構成では、複数のＤＦＦ６の状態を１ビットのデータ値に集約して、Ｉ２Ｃバスのデータラインで外部回路へ伝達可能である。なお、ＡＮＤ回路８の出力に対して１つの接続ピンを設け、論理値を当該接続ピンから直接出力する構成としても、同様に外部回路への各ＤＦＦ６の状態の伝達が簡素化される。
【００２０】
次に上述の構成を用いた本集積回路２の検査方法について説明する。図２は、複数のＤＦＦ６の動作が正常か否かを包括的に判定する検査方法を説明する概略のフロー図である。この判定を行う場合には、接続ピン２８に初期値設定パルスを入力する（Ｓ５０）。例えば、当該パルスは電源オン時に各ＤＦＦ６を初期ビット値に設定するために外部回路から入力され得る。よって、このタイミングにて本検査方法を実施することができる。また、それ以外のタイミングであっても接続ピン２８に初期値設定パルスを外部回路から与えることで、随時、本検査方法を実施することができる。
【００２１】
初期値設定パルスの入力により、各ＤＦＦ６のデータ出力端子からの出力は初期ビット値に設定されるはずであり、それと同時に反転データ出力端子は初期ビット値とは反対のビット値を出力するはずである。初期ビット値が“１”であるＤＦＦ６の反転データ出力端子にはインバータ１０が設けられており、反転データ出力端子から出力されるビット値“０”はこのインバータ１０で“１”に反転されてＡＮＤ回路８に入力される。一方、初期ビット値が“０”であるＤＦＦ６の反転データ出力端子が出力するビット値“１”はそのままＡＮＤ回路８に入力される。よって、各ＤＦＦ６のデータ出力端子が初期ビット値に設定された場合、ＡＮＤ回路８の出力は“１”となり、これがリードデータの１ビットにフラグとして格納されてマイコン等の外部回路に読み出される（Ｓ５５）。
【００２２】
当該マイコン等は当該フラグが“１”であるか否かを判定し（Ｓ６０）、“１”である場合には、全てのＤＦＦ６が初期ビット値を出力しており正常な状態であると判断する（Ｓ６５）。
【００２３】
しかし、いずれかのＤＦＦ６に何らかの動作不良が生じ、初期値設定パルスをセット入力端子又はリセット入力端子に入力しても、対応する初期ビット値が設定されないことが起きると、ＡＮＤ回路８の対応する入力が“０”となり、ＡＮＤ回路８の出力が“０”となる。この場合は、ステップＳ５５にてこれを読み出したマイコン等は、ＡＮＤ回路８の出力が“１”ではないと判定し（Ｓ６０）、いずれかのＤＦＦ６に異常があると判断する（Ｓ７０）。
【００２４】
図３は、ＤＦＦ６の動作が正常か否かを各ＤＦＦ６毎に個別に判定する検査方法を説明する概略のフロー図である。この判定を行う場合には、マイコン等からＩ２Ｃバスを介して検査用データを集積回路２へ入力する。ここで、第ｋビットに対応するＤＦＦ６-kの動作を検査する際の検査用データは、初期値設定パルスによって設定される８ビットの初期値データのうち第ｋビットのみを反転したものである（Ｓ１００）。
【００２５】
検査用データの入力により、各ＤＦＦ６のデータ出力端子からの出力は、当該検査用データの対応ビットの値に設定されるはずであり、それと同時に反転データ出力端子は検査用データの対応ビット値とは反対のビット値を出力するはずである。ＡＮＤ回路８の各入力には、各ＤＦＦ６の出力が初期ビット値である場合に“１”が入力されるように構成されているので、検査用データにて初期ビット値とは反対のビット値を入力されたＤＦＦ６に対応するＡＮＤ回路８の入力は“０”となるはずである。よって、検査用データを集積回路２に入力した場合、ＡＮＤ回路８の出力は“０”となり、これがリードデータの１ビットにフラグとして格納されてマイコン等の外部回路に読み出される（Ｓ１０５）。
【００２６】
当該マイコン等は当該フラグが“０”であるか否かを判定し（Ｓ１１０）、“０”である場合には、ＤＦＦ６-kが検査用データに対応した動作をしており正常な状態であると判断する（Ｓ１１５）。
【００２７】
一方、当該マイコン等は当該フラグが“１”である場合には、検査用データにおいて第ｋビットを初期値データから反転させた操作に対し、ＤＦＦ６-kが反応しておらず、ＤＦＦ６-kの動作が異常であると判断する（Ｓ１２０）。
【００２８】
つまり、図２を用いて説明した初期データの設定に対する判定結果が正常であることと、この検査用データを用いた判定結果とを組み合わせることにより、ＤＦＦ６-kの動作が正常か否かを個別に判定することができる。また、図２を用いて説明した初期データの設定に対する判定結果が異常である場合には、この検査用データを用いた判定結果からいずれのＤＦＦ６の動作が異常であるかを特定することも可能である。
【００２９】
検査用データの上記第ｋビットを第１〜第８ビットそれぞれに設定して上記検査方法を繰り返すことで、ＤＦＦ６それぞれの動作を個別に検査することができる。
【００３０】
なお、上述の構成では論理演算回路としてＡＮＤ回路８を用いた構成を示したが、論理演算回路は、各ＤＦＦ６のデータ出力端子からの出力が初期ビット値である場合に、所定の論理値を出力し、それ以外の場合に反対の論理値を出力する他の構成とすることができる。例えば、ＯＲ回路とインバータとを用いた構成が可能である。その構成では、初期ビット値“１”を出力するＤＦＦ６のデータ出力端子の出力をインバータを介してＯＲ回路に入力し、また、初期ビット値“０”を出力するＤＦＦ６のデータ出力端子の出力をそのままＯＲ回路に入力し、ＯＲ回路は各ＤＦＦ６からの入力の論理和を出力する。ＯＲ回路は、基本的に各ＤＦＦ６のデータ出力端子からの出力が初期ビット値である場合にのみ、“０”を出力し、いずれかのＤＦＦ６のデータ出力端子からの出力が初期ビット値と相違する場合には、“１”を出力する。
【図面の簡単な説明】
【００３１】
【図１】実施形態に係る半導体集積回路の構成を示す概略のブロック図である。
【図２】各ＤＦＦの動作が正常か否かを包括的に判定する検査方法を説明する概略のフロー図である。
【図３】ＤＦＦの動作が正常か否かを各ＤＦＦ毎に個別に判定する検査方法を説明する概略のフロー図である。
【符号の説明】
【００３２】
２  集積回路、４  シリアル・パラレル変換回路、６  ＤＦＦ、８  ＡＮＤ回路、１０  インバータ、１２  Ｉ２Ｃバス入出力回路、２０，２２，２４，２６，２８  接続ピン。
【図１】
0004804832.tif 000002
【図２】
0004804832.tif 000003
【図３】
0004804832.tif 000004