(57)【要約】【課題】検査装置を用いずに、差動信号間のスキューの有無を正確に判定する。【解決手段】半導体装置１０にセルフテスト用の接続選択回路１６、エラー検出回路１７、テスト制御回路１８を設ける。接続選択回路１６は、任意の差動信号ドライバの後段と、任意の差動信号レシーバの前段とを接続して、前者に入力された信号をループバックさせる。エラー検出回路１７は、ループバック前後の信号が一致するか否かを判定する。テスト制御回路１８は、接続選択回路１６を制御して、差動信号ドライバ１３ａ〜１３ｄ及び差動信号レシーバ１４ａ〜１４ｄの一方を、他方の任意の一つに順次切り替えて接続させる。接続選択回路１６の接続が切り替わる度にエラー検出回路１７により行われる比較の結果に基づき、各差動信号ドライバから出力される差動信号間のスキュー、及び各差動信号レシーバに入力される差動信号間のスキューの有無を判定する。【選択図】図１
2009168705.tif 000002
【特許請求の範囲】
【請求項１】
パラレルシリアル変換回路及びシリアルパラレル変換回路と、前記パラレルシリアル変換回路から入力されるシリアル信号を差動信号に変換し、変換した差動信号を外部へ出力する複数の差動信号出力回路と、外部から入力される差動信号をシリアル信号に変換し、変換したシリアル信号を前記シリアルパラレル変換回路へ出力する複数の差動信号入力回路とを備える半導体装置において、
任意の前記差動信号出力回路の後段と、任意の前記差動信号入力回路の前段とを選択的に接続可能な接続選択回路と、
前記接続選択回路を介して接続された前記差動信号出力回路及び前記差動信号入力回路の前者に入力されるシリアル信号と、前記前者からの差動信号が入力される後者より出力されるシリアル信号とが一致しているか否かを判定する判定回路とを備えることを特徴とする半導体装置。
【請求項２】
前記接続選択回路を駆動して、前記各差動信号出力回路及び前記各差動信号入力回路の一方の各回路を他方の一つの回路に順次切替えて接続させる駆動回路を備えるとともに、前記判定回路は、前記接続選択回路の接続が切り替わる度に前記判定を行い、
前記判定回路の判定結果に基づいて、前記一方の各回路と外部端子とを接続する差動ペア配線を伝送する差動信号間のスキューの有無が判定されることを特徴とする請求項１記載の半導体装置。
【請求項３】
前記判定回路にストローブ信号を入力するストローブ信号入力回路を備え、
前記判定回路は、前記ストローブ信号入力回路から入力されるストローブ信号に同期して、前記前者から入力されるシリアル信号と、前記後者から出力されるシリアル信号とが一致しているか否かを判定することを特徴とする請求項１または２記載の半導体装置。
【請求項４】
前記ストローブ信号入力回路は、前記判定回路に入力する前記ストローブ信号の位相を変化させることで、前記判定回路による判定のタイミングを変化させることを特徴とする請求項３記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラレルシリアル変換回路から出力されるシリアル信号を差動信号に変換して外部へ出力する複数の差動信号出力回路と、外部から入力される差動信号をシリアル信号に変換してシリアルパラレル変換回路に出力する複数の差動信号入力回路とを備える半導体装置に関するものである。
【背景技術】
【０００２】
例えばデジタルカメラには、撮像素子により撮影された撮像画像のデータ信号を画像処理回路等に高速に伝送するために、差動インタフェースが設けられている。差動インタフェースは、差動信号を入出力するための半導体装置を備えている。
【０００３】
図１０に示すように、半導体装置１００は、パラレルシリアル変換回路（以下、単にＰ／Ｓ変換回路という）１０１と、差動信号ドライバ１０２と、差動信号レシーバ１０３と、シリアルパラレル変換回路（以下、単にＳ／Ｐ変換回路という）１０４とから構成される。
【０００４】
Ｐ／Ｓ変換回路１０１は、ＰＬＬ（位相同期回路）１０６から入力されるクロック信号に同期して、パラレル信号をシリアル信号に変換する。差動信号ドライバ１０２は、Ｐ／Ｓ変換回路１０１及びＰＬＬ１０６から出力されるシリアル信号及びクロック信号を差動信号に変換する。差動信号ドライバ１０２により変換された差動信号は、出力用差動ペア配線１０８を介して差動出力端子１０９から出力される。
【０００５】
差動信号レシーバ１０３は、差動入力端子１１０から入力用差動ペア配線１１１を介して入力される差動信号をそれぞれシリアル信号、クロック信号に変換し、変換した各信号をＳ／Ｐ変換回路１０４に出力する。Ｓ／Ｐ変換回路１０４は、入力されたクロック信号に同期して、シリアル信号をパラレル信号に変換して内部回路に出力する。
【０００６】
このような半導体装置１００の検査は、ＬＳＩテスタ等の検査装置１１２を用いて行われる（特許文献１〜３参照）。半導体装置１００の差動出力端子１０９から出力された差動信号は、プローブカード、ソケット等からなるインタフェース１１４を介して、検査装置１１２の差動信号レシーバ１１６に入力されて検査される。また、半導体装置１００への差動信号の入力を検査する場合には、検査装置１１２の差動信号ドライバ１１７より出力された差動信号が、上述のインタフェース１１４を介して半導体装置１００の差動入力端子１１０に入力されることで、検査が行われる。
【特許文献１】特開２００７−７８６４３号公報
【特許文献２】特開２０００−１７１５２４号公報
【特許文献３】特開２００３−１６７０３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、半導体装置１００と検査装置１１２との間での各差動信号の入出力は、インタフェース１１４を介して行われる。このため、各インタフェース１１４の伝送路の線路長や配線容量に差が生じた場合には、半導体装置１００から検査装置１１２に入力される差動信号間のスキュー（遅延）や、検査装置１１２から半導体装置１００に入力される差動信号間のスキューが発生して、コモンモードノイズの発生の原因となる。その結果、検査装置１１２で検査を行ったとしても、半導体装置１００の各差動信号ドライバ１０２から出力される差動信号間のスキュー、及び各差動信号レシーバ１１６に入力される差動信号間のスキューの有無を正確に判定することが困難である。このような問題は、特許文献１〜３に記載されている検査方法でも同様に発生する。
【０００８】
また、近年では半導体装置の高速化、例えば半導体装置で伝送されるシリアル信号の高データレート化等に対応するため、高速仕様の検査装置を用いて検査が行われているが、高速仕様の検査装置は高価であるため、検査コストが増大するという問題も発生する。
【０００９】
本発明は上記問題を解決するためになされたものであり、高価な検査装置を用いることなく、各差動信号ドライバから出力される差動信号間のスキュー、及び各差動信号レシーバに入力される差動信号間のスキューの有無を正確に判定することができる半導体装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記問題を解決するため、本発明は、パラレルシリアル変換回路及びシリアルパラレル変換回路と、前記パラレルシリアル変換回路から入力されるシリアル信号を差動信号に変換し、変換した差動信号を外部へ出力する複数の差動信号出力回路と、外部から入力される差動信号をシリアル信号に変換し、変換したシリアル信号を前記シリアルパラレル変換回路へ出力する複数の差動信号入力回路とを備える半導体装置において、任意の前記差動信号出力回路の後段と、任意の前記差動信号入力回路の前段とを選択的に接続可能な接続選択回路と、前記接続選択回路を介して接続された前記差動信号出力回路及び前記差動信号入力回路の前者に入力されるシリアル信号と、前記前者からの差動信号が入力される後者より出力されるシリアル信号とが一致しているか否かを判定する判定回路とを備えることを特徴とする。
【００１１】
前記接続選択回路を駆動して、前記各差動信号出力回路及び前記各差動信号入力回路の一方の各回路を他方の一つの回路に順次切替えて接続させる駆動回路を備えるとともに、前記判定回路は、前記接続選択回路の接続が切り替わる度に前記判定を行い、前記判定回路の判定結果に基づいて、前記一方の各回路と外部端子とを接続する差動ペア配線を伝送する差動信号間のスキューの有無が判定されることが好ましい。
【００１２】
前記判定回路にストローブ信号を入力するストローブ信号入力回路を備え、前記判定回路は、前記ストローブ信号入力回路から入力されるストローブ信号に同期して、前記前者から入力されるシリアル信号と、前記後者から出力されるシリアル信号とが一致しているか否かを判定することが好ましい。
【００１３】
前記ストローブ信号入力回路は、前記判定回路に入力する前記ストローブ信号の位相を変化させることで、前記判定回路による判定のタイミングを変化させることが好ましい。
【発明の効果】
【００１４】
本発明の半導体装置は、任意の差動信号出力回路の後段と、任意の前記差動信号入力回路の前段とを選択的に接続可能な接続選択回路と、接続選択回路を介して接続された差動信号出力回路及び差動信号入力回路の前者に入力されるシリアル信号と、後者より出力されるシリアル信号とが一致しているか否かを判定する判定回路とを備えるようにしたので、高価な検査装置を用いることなく、半導体装置のみで各差動信号ドライバから出力される差動信号間のスキュー、及び各差動信号レシーバに入力される差動信号間のスキューの有無を判定することができる。特にプローブカード、ソケット等からなるインタフェースを介さずにテストが行えるため、インタフェースの伝送路の線路長差や配線容量差を考慮する必要が無くなり、スキューの有無を正確に判定することができる。また、高価な検査装置を用いる必要が無くなるため、検査コストを抑えることができる。
【発明を実施するための最良の形態】
【００１５】
図１に示す半導体装置１０は、デジタルカメラなどの電子機器に設けられた差動インタフェースを構成するものであり、各種データ信号の送受信に用いられる。半導体装置１０は、ＰＬＬ（位相同期回路）１１、Ｐ／Ｓ変換回路１２、差動信号ドライバ（差動信号出力回路）１３ａ〜１３ｄ、差動信号レシーバ（差動信号入力回路）１４ａ〜１４ｄ、Ｓ／Ｐ変換回路１５、接続選択回路１６、エラー検出回路１７、テスト制御回路（駆動回路）１８を備えている。
【００１６】
ＰＬＬ１１は、デジタルカメラの内部回路等から入力される内部クロック信号Ｃｌｋに応じて、このクロック信号Ｃｌｋと位相が同期するクロック信号Ｔｘ＿ｃｌｋ，ＰＬＬ＿ｃｌｋをそれぞれ差動信号ドライバ１３ｄ、エラー検出回路１７に出力する。また、ＰＬＬ１１は、クロック信号をＰ／Ｓ変換回路１２にも入力する。なお、本実施形態では、Ｐ／Ｓ変換回路１２において８ビットのパラレル信号を１ビットのシリアル信号に変換するため、ＰＬＬ１１から出力されるクロック信号の周波数は、内部クロック信号Ｃｌｋの８倍に調整される。
【００１７】
Ｐ／Ｓ変換回路１２には、図２（Ａ）に示すように、デジタルカメラの内部回路等からそれぞれ８ビットのパラレル信号Ｄ０（Ｄ０＜０＞〜Ｄ０＜７＞），Ｄ１（Ｄ１＜０＞〜Ｄ１＜７＞），Ｄ２（Ｄ２＜０＞〜Ｄ２＜７＞）が入力される。Ｐ／Ｓ変換回路１２は、ＰＬＬ１１から入力されるクロック信号に同期して、図２（Ｂ）に示すように、各パラレル信号Ｄ０〜Ｄ２を８倍の周波数レートのシリアル信号Ｔｘ０，Ｔｘ１，Ｔｘ２に変換する。
【００１８】
図１に戻って、Ｐ／Ｓ変換回路１２から出力されるシリアル信号Ｔｘ０〜Ｔｘ２、及びＰＬＬ１１から出力されるクロック信号Ｔｘ＿ｃｌｋは、それぞれ差動信号ドライバ１３ａ〜１３ｄに入力される。差動信号ドライバ１３ａ〜１３ｄは、入力されたシリアル信号Ｔｘ０〜Ｔｘ２及びクロック信号Ｔｘ＿ｃｌｋを、ポジティブ（＋）の差動信号Ｔｘ０＋，Ｔｘ１＋，Ｔｘ２＋，Ｔｘ＿ｃｌｋ＋と、ネガティブ（−）の差動信号Ｔｘ０−，Ｔｘ１−，Ｔｘ２−，Ｔｘ＿ｃｌｋ−とに変換する。なお、シリアル信号等を差動信号に変換する方法については周知であるので、ここでは説明を省略する。各差動信号ドライバ１３ａ〜１３ｄにより変換された各差動信号は、出力用差動ペア配線２０を介して、差動出力端子２１から外部に出力される。
【００１９】
差動信号レシーバ１４ａ〜１４ｄは、各差動入力端子２３から入力用差動ペア配線２４を介して入力されるポジティブの差動信号Ｒｘ０＋〜Ｒｘ２＋、Ｒｘ＿ｃｌｋ＋と、ネガティブの差動信号Ｒｘ０−〜Ｒｘ２−、Ｒｘ＿ｃｌｋ−とをそれぞれシリアル信号Ｒｘ０〜Ｒｘ２及びクロック信号Ｒｘ＿ｃｌｋに変換する。なお、差動信号をデータ信号に変換する方法についても周知であるので説明は省略する。差動信号レシーバ１４ａ〜１４ｄから出力されたシリアル信号Ｒｘ０〜Ｒｘ２及びクロック信号Ｒｘ＿ｃｌｋは、それぞれＳ／Ｐ変換回路１５に入力される。
【００２０】
Ｓ／Ｐ変換回路１５は、クロック信号Ｒｘ＿ｃｌｋ（図２（Ｂ）参照）に同期して、シリアル信号Ｒｘ０〜Ｒｘ２をそれぞれ８ビットのパラレル信号Ｄ０，Ｄ１，Ｄ２に変換する（図２（Ａ）参照）。Ｓ／Ｐ変換回路１５により変換されたパラレル信号Ｄ０〜Ｄ２は、デジタルカメラの内部回路等に入力される。
【００２１】
接続選択回路１６、エラー検出回路１７、及びテスト制御回路１８は、各差動信号ドライバ１３ａ〜１３ｄから出力される差動信号間のスキュー、及び各差動信号レシーバ１４ａ〜１４ｄに入力される差動信号間のスキューの有無を判定するためのセルフテスト回路である。スキューは、差動信号の時定数のズレや遅延時間のズレであり、例えば、出力用差動ペア配線２０及び入力用差動ペア配線２４の配線長差や配線容量差等に起因して発生する。
【００２２】
図３（Ａ），（Ｂ）に示すように、接続選択回路１６は、差動信号ドライバ１３ａ〜１３ｄの後段の出力用差動ペア配線２０にそれぞれ接続された入力端子ＩＮ０±、入力端子ＩＮ１±、入力端子ＩＮ２±、入力端子ＩＮ３±とからなる４組の入力端子のペアを備えている。また、接続選択回路１６は、差動信号レシーバ１４ａ〜１４ｄの前段の入力用差動ペア配線２４にそれぞれ接続された出力端子ＯＵＴ０±、出力端子ＯＵＴ１±、出力端子ＯＵＴ２±、出力端子ＯＵＴ３±とからなる４組の出力端子のペアを備えている。なお、図中の信号ＲＴｘはループバックされた信号を示している。
【００２３】
接続選択回路１６は、テスト制御回路１８から入力される選択信号Ｃｈ＿ｓｅｌｅｃｔに基づき、任意の入力端子のペアと任意の出力端子のペアとを選択的に接続する。なお、図３（Ａ），（Ｂ）は、接続の一例を示したものであり、図示されている以外の接続の組み合わせも可能である。また、各出力端子及び各入力端子のいずれか一方の端子を、他方の一つの端子に順次切り替えて接続することもできる。
【００２４】
図１に戻って、差動信号ドライバ１３ａ〜１３ｄに入力されるシリアル信号やクロック信号は、出力用差動ペア配線２０、接続選択回路１６、入力用差動ペア配線２４を介して、差動信号レシーバ１４ａ〜１４ｄのいずれかより出力される。つまり、シリアル信号やクロック信号が半導体装置１０内でループバックされる。従って、接続選択回路１６は、シリアル信号やクロック信号のループバック経路を形成するものであり、入出力端子の接続を切り替えることで、シリアル信号やクロック信号のループバック経路が切り替わる。
【００２５】
エラー検出回路１７は、接続選択回路１６等を介して、任意の差動信号ドライバ及び任意の差動信号レシーバが接続された時に、前者（差動信号ドライバ）に入力されるシリアル信号またはクロック信号と、ループバックされて後者（差動信号レシーバ）から出力されるシリアル信号またはクロック信号とが一致しているか否かを判定する。
【００２６】
図４に示すように、エラー検出回路１７は、大別して第１選択回路２７と、第２選択回路２８と、判定回路２９とから構成される。第１選択回路２７は、各差動信号ドライバ１３ａ〜１３ｄの前段の各配線にそれぞれ接続された４つの入力端子ＩＮ０〜ＩＮ３と、判定回路２９に接続された１つの出力端子ＯＵＴとを備えている。第１選択回路２７は、テスト制御回路１８から入力される選択信号Ｓｉｇ＿ｓｅｌ１に基づき、各配線からそれぞれ入力されるシリアル信号Ｔｘ０〜Ｔｘ２及びクロック信号Ｔｘ＿ｃｌｋを択一的に判定回路２９に入力する。
【００２７】
第２選択回路２８は、各差動信号レシーバ１４ａ〜１４ｄの後段の各配線にそれぞれ接続された４つの入力端子ＩＮ０〜ＩＮ３と、判定回路２９に接続された１つの出力端子ＯＵＴとを備えている。第２選択回路２８は、テスト制御回路１８から入力される選択信号Ｓｉｇ＿ｓｅｌ２に基づき、接続選択回路１６等を介してループバックされたシリアル信号ＲＴｘ０〜ＲＴｘ２またはクロック信号ＲＴｘ＿ｃｌｋを択一的に判定回路２９に入力する。選択信号Ｓｉｇ＿ｓｅｌ２は、第１選択回路２７から判定回路２９に入力される信号をループバックした信号が判定回路２９に入力されるように、第２選択回路２８を制御する。
【００２８】
判定回路２９には、第１及び第２選択回路２７，２８から、ループバック前のシリアル信号及びクロック信号（以下、単にループバック前の信号という）Ｔｘと、ループバックされたシリアル信号及びクロック信号（以下、単にループバック後の信号という）ＲＴｘが入力される。なお、ループバック後の信号ＲＴｘは、シリアル信号ＲＴｘ０〜ＲＴｘ２及びクロック信号ＲＴｘ＿ｃｌｋから構成される。
【００２９】
判定回路２９は、ループバック前後の信号が一致しているか否かを判定する。図５に示すように、判定回路２９は、ストローブ発生回路３１（ストローブ信号入力回路）と比較回路３２とから構成されている。ストローブ発生回路３１は、テスト制御回路１８から入力されるクロック信号ＰＬＬ＿ｃｌｋ及びトリガ信号（Ｔｒｉｇｇｅｒ）に基づき、比較回路３２による比較動作のタイミング設定を行うためのストローブ信号（ｓｔｒｏｂｅ：図６参照）を生成する。
【００３０】
ストローブ信号は、クロック信号ＰＬＬ＿ｃｌｋの立ち上がり及び立ち下りに同期して、ループバック前後の信号Ｔｘ，ＲＴｘにそれぞれ含まれる各信号成分Ｄｎ＜０＞〜Ｄｎ＜７＞（ｎ＝０〜２）に対応する周波数及び位相で生成される（図６参照）。そして、例えばテスト制御回路１８から入力されるトリガ信号を可変することで、ストローブ信号の周波数及び位相等の各種条件が可変される。ストローブ発生回路３１で生成されたストローブ信号は、比較回路３２に入力される。
【００３１】
比較回路３２は、第１選択回路２７と第２選択回路２８とストローブ発生回路３１とにそれぞれ接続されており、各回路２７，２８，３１からループバック前の信号Ｔｘ、ループバック後の信号ＲＴｘ、ストローブ信号がそれぞれ入力される。比較回路３２は、図６に示すように、ストローブ信号の立ち上がりエッジに同期して、ループバック前後の信号Ｔｘ，ＲＴｘの各信号成分Ｄｎ＜０＞〜Ｄｎ＜７＞がそれぞれ「０」或いは「１」のいずれであるかを検出する。
【００３２】
図７に示すように、比較回路３２は、ループバック前後信号Ｔｘ，ＲＴｘの信号成分Ｄｎ＜０＞〜Ｄｎ＜７＞ごとに検出結果が一致しているか否かを比較して、検出結果が一致している場合にはエラー信号（Ｅｒｒｏｒ）を「０」、検出結果が一致していない場合にはエラー信号を「１」に設定する。なお、図７では、ループバック前信号Ｔｘ及びループバック後信号ＲＴｘとして、それぞれシリアル信号Ｔｘ０，ＲＴｘ０を例に挙げて図示しているが、他の信号の比較も同様に行われる。そして、全ての信号成分Ｄｎ＜０＞〜Ｄｎ＜７＞におけるエラー信号が「０」に設定された場合には、ループバック前後の信号Ｔｘ，ＲＴｘが一致していると判定される。
【００３３】
これに対して、各信号成分Ｄｎ＜０＞〜Ｄｎ＜７＞のいずれかにおけるエラー信号が「１」に設定された場合には、ループバック前後の信号Ｔｘ，ＲＴｘが一致していないと判定されて、比較回路３２からテスト制御回路１８へのエラー信号の出力が行われる。テスト制御回路１８へ出力されるエラー信号には、検出結果が一致しなかった信号成分の情報が含まれている。
【００３４】
なお、ループバック前後の信号Ｔｘ，ＲＴｘの比較は、ストローブ信号の立ち上がりエッジに同期して行われる。このため、上述の図６に示すように、ループバック前の信号Ｔｘに対して、ループバック後の信号ＲＴｘの立ち上がりが遅れている場合であっても、ストローブ信号の位相によっては、各信号Ｔｘ，ＲＴｘの各信号成分Ｄｎ＜０＞〜Ｄｎ＜７＞の検出結果が全て一致してしまう場合ある。この場合には、ループバック前後信号Ｔｘ，ＲＴｘが一致していると判定されてしまう。
【００３５】
そこで、テスト制御回路１８は、ストローブ発生回路３１に入力するトリガ信号等を調整して、比較回路３２に入力されるストローブ信号の位相を時間が早くなる方向（図６中の右方向）にシフトさせる。これにより、図８及び図９に示すように、ループバック前後の信号Ｔｘ，ＲＴｘの立ち上がりに対応する信号成分Ｄ０＜１＞、Ｄ０＜５＞、Ｄ０＜７＞の検出結果が異なるようになり、それぞれエラー信号が「１」に設定される。その結果、ループバック前後信号Ｔｘ，ＲＴｘの立ち上がりが一致していないと判定することができる。
【００３６】
また、ループバック前の信号Ｔｘに対して、ループバック後の信号ＲＴｘの立ち上がりが早くなっている場合にも、ストローブ信号の位相を同方向にシフトさせることで、ループバック前後の信号Ｔｘ，ＲＴｘの立ち上がりが一致していないと判定することができる。さらに、ループバック前後の信号Ｔｘ，ＲＴｘの立ち下がりにズレが生じている場合には、例えば、ストローブ信号の位相を時間が遅くなる方向にシフトさせることで、両信号Ｔｘ，ＲＴｘの立ち下がりが一致していないと判定することができる。
【００３７】
このように比較回路３２によりループバック前後の信号Ｔｘ，ＲＴｘの比較を行う際に、ストローブ信号の位相を適宜シフトさせることで、ループバック前後の信号Ｔｘ，ＲＴｘが一致しているか否かを正確に判定することができる。
【００３８】
図１に戻って、テスト制御回路１８は、接続選択回路１６及びエラー検出回路１７を制御して、各差動信号ドライバ１３ａ〜１３ｄから出力される差動信号間のスキュー、及び各差動信号レシーバ１４ａ〜１４ｄに入力される差動信号間のスキューの有無を判定するためのセルフテストを行う。以下、セルフテストの手順の一例について説明を行う。
【００３９】
テスト制御回路１８は、各差動信号ドライバ１３ａ〜１３ｄから出力される差動信号間のスキューの有無の判定から開始する。テスト制御回路１８は、接続選択回路１６に選択信号Ｃｈ＿ｓｅｌｅｃｔを入力して、接続選択回路１６の入力端子ＩＮ０±と出力端子ＯＵＴ０±のみを接続する。これにより、差動信号ドライバ１３ａの後段の出力用差動ペア配線２０と、差動信号レシーバ１４ａの前段の入力用差動ペア配線２４とが接続される。
【００４０】
また、テスト制御回路１８は、エラー検出回路１７の第１及び第２選択回路２７，２８（図４参照）にそれぞれ選択信号Ｓｉｇ＿ｓｅｌ１，Ｓｉｇ＿ｓｅｌ２を入力して、両選択回路２７，２８の入力端子ＩＮ０と出力端子ＯＵＴとを接続させる（図４参照）。これらの接続が完了したら、テスト制御回路１８は、デジタルカメラの内部回路にテスト開始信号を入力するとともに、エラー検出回路１７（判定回路２９）のストローブ発生回路３１にトリガ信号を入力する。
【００４１】
テスト制御回路１８からのテスト開始信号に基づいて、デジタルカメラの内部回路から、ＰＬＬ１１に内部クロック信号Ｃｌｋが入力されるとともに、Ｐ／Ｓ変換回路１２にパラレル信号Ｄ０〜Ｄ２が入力される。これにより、ＰＬＬ１１から、差動信号ドライバ１３ｄ及びエラー検出回路１７にそれぞれクロック信号Ｔｘ＿ｃｌｋ，ＰＬＬ＿ｃｌｋが入力される。さらに、ＰＬＬ１１は、Ｐ／Ｓ変換回路１２に対してもクロック信号を入力する。
【００４２】
Ｐ／Ｓ変換回路１２は、ＰＬＬ１１から入力されるクロック信号に同期して、各パラレル信号Ｄ０〜Ｄ２を８倍の周波数レートのシリアル信号Ｔｘ０〜Ｔｘ２に変換し、変換したシリアル信号を差動信号ドライバ１３ａ〜１３ｃにそれぞれ入力する。差動信号ドライバ１３ａ〜１３ｄは、入力されたシリアル信号Ｔｘ０〜Ｔｘ２及びクロック信号Ｔｘ＿ｃｌｋをそれぞれ差動信号に変換して出力用差動ペア配線２０に出力する。
【００４３】
各差動信号ドライバ１３ａ〜１３ｄからそれぞれ出力された差動信号のうち、差動信号ドライバ１３ａから出力された差動信号のみが、接続選択回路１６を介して差動信号レシーバ１４ａに入力される。これにより、差動信号ドライバ１３ａに入力されたシリアル信号Ｔｘ０のみがループバックされて、差動信号レシーバ１４ａからシリアル信号ＲＴｘ０として出力される。
【００４４】
ループバック前のシリアル信号Ｔｘ０及びループバック後のシリアル信号ＲＴｘ０は、それぞれ第１及び第２選択回路２７，２８を介して、比較回路３２に入力される。ストローブ発生回路３１は、ＰＬＬ１１から入力されるクロック信号ＰＬＬ＿ｃｌｋ、及びテスト制御回路１８から入力されるトリガ信号に基づき、ストローブ信号を生成して比較回路３２に入力する。
【００４５】
比較回路３２は、ストローブ信号の立ち上がりエッジに同期して、シリアル信号Ｔｘ０，ＲＴｘ０の各信号成分Ｄ０＜０＞〜Ｄ０＜７＞がそれぞれ「０」或いは「１」のいずれであるかを検出し、両者の各信号成分Ｄ０＜０＞〜Ｄ０＜７＞の検出結果がそれぞれ一致しているか否かを比較する（図６及び図７参照）。そして、比較回路３２は、両者の全ての信号成分Ｄ０＜０＞〜Ｄ０＜７＞の検出結果が一致していた場合には、シリアル信号Ｔｘ０，ＲＴｘ０が一致していると判定する。
【００４６】
また、比較回路３２は、シリアル信号Ｔｘ０，ＲＴｘ０の各信号成分Ｄ０＜０＞〜Ｄ０＜７＞の検出結果のいずれか一つでも一致しなかった場合には、エラー信号をテスト制御回路１８に入力する。テスト制御回路１８は、比較回路３２から入力されたエラー信号を図示しないメモリ等に記憶しておく。上述したように、エラー信号には、検出結果が一致しなかった信号成分の情報が含まれているため、テスト制御回路１８は、シリアル信号Ｔｘ０，ＲＴｘ０のどの信号成分が一致しなかったのかを把握することができる。
【００４７】
テスト制御回路１８は、比較回路３２による最初の比較処理が完了したら、ストローブ発生回路３１から比較回路３２に入力されるストローブ信号の位相をシフトさせる。比較回路３２は、位相がシフトされたストローブ信号に基づいて、上述の比較処理を再度実行する。
【００４８】
以下同様にして、テスト制御回路１８は、ストローブ発生回路３１から比較回路３２に入力されるストローブ信号の位相をシフトさせるとともに、比較回路３２は、位相がシフトされたストローブ信号に基づいて、上述の比較処理を実行する。なお、ストローブ信号の位相のシフト回数、シフト方向、及びシフト量は、適宜決定してよい。このように、ストローブ信号の位相を適宜シフトさせることで、シリアル信号Ｔｘ０，ＲＴｘ０が一致しているか否かを正確に判定することができる。
【００４９】
シリアル信号Ｔｘ０，ＲＴｘ０の比較処理が全て完了したら、テスト制御回路１８は、接続選択回路１６に選択信号Ｃｈ＿ｓｅｌｅｃｔを入力して、差動信号ドライバ１３ｂの後段を、差動信号レシーバ１４ａの前段に接続する。これにより、差動信号ドライバ１３ｂに入力されたシリアル信号Ｔｘ１のみがループバックされて、差動信号レシーバ１４ａからシリアル信号ＲＴｘ１として出力される。
【００５０】
また、テスト制御回路１８は、第１選択回路２７に新たな選択信号Ｓｉｇ＿ｓｅｌ１を入力して、第１選択回路２７の入力端子ＩＮ１と出力端子ＯＵＴとを接続させる。これにより、ループバック前のシリアル信号Ｔｘ１及びループバック後のシリアル信号ＲＴｘ１が、それぞれ第１及び第２選択回路２７，２８を介して、比較回路３２に入力される。比較回路３２は、上述の比較処理と同様にして、シリアル信号Ｔｘ１とシリアル信号ＲＴｘ１とを比較する。
【００５１】
以下同様にして、差動信号ドライバ１３ｃ，１３ｄの後段が、差動信号レシーバ１４ａの前段に順次接続されて、差動信号ドライバ１３ｃ，１３ｄにそれぞれ入力されるシリアル信号Ｔｘ２、クロック信号Ｔｘ＿ｃｌｋがループバックされる。そして、比較回路３２により、ループバック前のシリアル信号Ｔｘ２、クロック信号Ｔｘ＿ｃｌｋと、ループバック後のシリアル信号ＲＴｘ２、クロック信号ＲＴｘ＿ｃｌｋとの比較処理がそれぞれ行われる。
【００５２】
これらの比較処理が全て完了したら、テスト制御回路１８は、各比較処理の結果を参照して、各差動信号ドライバ１３ａ〜１３ｄから出力される差動信号間のスキューの有無を判定する。具体的には、各差動信号ドライバ１３ａ〜１３ｄから出力される差動信号は、全て接続選択回路１６を介して一つの差動信号レシーバ１４ａ（１４ｂ〜１４ｄのいずれかでも可）に入力される。このため、各差動信号ドライバ１３ａ〜１３ｄから出力される差動信号間にスキューが発生しない場合には、各比較処理の結果は全て同じになる。
【００５３】
例えば、シリアル信号Ｔｘ０とシリアル信号ＲＴｘ０とが一致していると判定された場合には、他の比較結果も一致していると判定される。また、例えばシリアル信号Ｔｘ０とシリアル信号ＲＴｘ０とが一致していないと判定された場合には、他もそれぞれ一致しないと判定され、さらに、一致しなかった信号成分の位置（例えば信号の立ち上がりや立ち下がり）が同じになる。
【００５４】
逆に、差動信号ドライバ１３ａ〜１３ｄから出力される差動信号間にスキューが発生している場合には、上述の各比較処理の結果は全て同じにはならない。具体的には、ループバック前後の信号が一致しているものと一致していないものが混在する。また、各比較処理の結果が全て一致しないと判定された場合でも、一致しなかった信号成分の位置が異なる。
【００５５】
このように比較回路３２で行われた各比較処理の結果を参照することで、テスト制御回路１８は、各差動信号ドライバ１３ａ〜１３ｄから出力される差動信号間のスキューの有無を判定する。この判定が終了したら、テスト制御回路１８は、各差動信号レシーバ１４ａ〜１４ｄに入力される差動信号間のスキューの有無の判定を開始する。
【００５６】
テスト制御回路１８は、接続選択回路１６を制御して、例えば差動動信号ドライバ１３ａ（１３ｂ〜１３ｄのいずれかでも可）の後段を差動信号レシーバ１４ａ〜１４ｄの前段に順次切り替えて接続させる。これにより、差動信号ドライバ１３ａに入力されるシリアル信号Ｔｘ０をループバックさせて、各差動信号レシーバ１４ａ〜１４ｄからそれぞれ出力させることができる。そして、比較回路３２は、上述のスキュー判定時と同様にして、シリアル信号Ｔｘ０と、各差動信号レシーバ１４ａ〜１４ｄからそれぞれ出力されるＲＴｘ０との比較を行う。
【００５７】
これらの比較処理が全て完了したら、テスト制御回路１８は、各比較処理の結果を参照して、各差動信号レシーバ１４ａ〜１４ｄに入力される差動信号間のスキューの有無を判定する。この判定方法については、上述のスキュー判定時と同じであるため説明を省略する。
【００５８】
なお、先に行われたスキュー判定によって、各差動信号ドライバ１３ａ〜１３ｄから出力される差動信号間のスキューが発生していないと判定された場合には、異なる方法で比較回路３２による比較を行うことができる。具体的には、各差動信号ドライバ１３ａ〜１３ｄの後段をそれぞれ各差動信号レシーバ１４ａ〜１４ｄの前段に接続する（図３（Ａ）参照）。そして、第１及び第２選択回路２７，２８の切り替えのみを行って、ループバック前の信号Ｔｘ０〜Ｔｘ２、Ｔｘ＿ｃｌｋと、ループバック後の信号ＲＴｘ０〜ＲＴｘ２、ＲＴｘ＿ｃｌｋとをそれぞれ比較する。
【００５９】
各差動信号ドライバ１３ａ〜１３ｄから出力される差動信号間のスキューは発生していないので、比較回路３２による比較結果が全て同じになるか否かに基づいて、各差動信号レシーバ１４ａ〜１４ｄから出力される差動信号間のスキューの有無を判定することができる。この場合には、接続選択回路１６を切り替える必要が無くなるため、スキュー判定に要する時間を短縮することができる。
【００６０】
以上で各差動信号ドライバ１３ａ〜１３ｄから出力される差動信号間のスキュー、及び各差動信号レシーバ１４ａ〜１４ｄに入力される差動信号間のスキューの有無を判定するためのセルフテストが完了する。
【００６１】
このように本発明の半導体装置１０は、接続選択回路１６、エラー検出回路１７、及びテスト制御回路１８からなるセルフテスト回路を有しているため、上述の検査装置やインタフェース（図１０参照）を用いることなく、各差動信号ドライバ１３ａ〜１３ｄから出力される差動信号間のスキュー、及び各差動信号レシーバ１４ａ〜１４ｄに入力される差動信号間のスキューの有無を判定することができる。特にインタフェースを介さずにテストを行うことができるため、スキューの有無を正確に判定することができる。また、高価な検査装置を用いる必要が無くなるため、検査コストが抑えられる。
【００６２】
なお、上記実施形態では、各差動信号ドライバ１３ａ〜１３ｄから出力される差動信号間のスキューの有無の判定を行った後、各差動信号レシーバ１４ａ〜１４ｄに入力される差動信号間のスキューの有無の判定を行うようにしているが、本発明はこれに限定されるものではなく、順番は逆であってもよい。
【００６３】
また、上記実施形態では、比較回路３２が、ストローブ発生回路３１より入力されるストローブ信号の立ち上がりエッジに同期して、ループバック前後の信号の比較を行う場合を例に挙げて説明を行ったが、本発明はこれに限定されるものではなく、ストローブ信号の信号幅内でループバック前後の信号の比較を行うようにしてもよい。
【００６４】
なお、上記実施形態は、デジタルカメラに設けられた差動インタフェースを構成する半導体装置を例に挙げて説明を行ったが、本発明はこれに限定されるものではない。例えば、各種測定を測定装置（オシロスコープなど）のプローブと装置本体とを接続する差動インタフェースなど、各種電子機器（装置）に設けられる差動インタフェースを構成する半導体装置に本発明を適用することができる。
【図面の簡単な説明】
【００６５】
【図１】本発明の半導体装置の構成を概略的に説明するための説明図である。
【図２】半導体装置によるパラレルシリアル変換処理、シリアルパラレル変換処理を説明するための説明図である。
【図３】接続選択回路の動作を説明するための説明図である。
【図４】エラー検出回路の構成を概略的に説明するための説明図である。
【図５】判定回路の構成を概略的に説明するための説明図である。
【図６】判定回路が、ストローブ信号の立ち上がりエッジに同期して行うループバック前後の信号の比較処理を説明するための説明図である。
【図７】図６の比較処理の結果を説明するための説明図である。
【図８】ストローブ信号の位相がシフトされた時の比較回路による比較処理を説明するための説明図である。
【図９】図８の比較処理の結果を説明するための説明図である。
【図１０】従来の半導体装置の構成を概略的に説明するための説明図である。
【符号の説明】
【００６６】
１０  半導体装置
１１  ＰＬＬ（位相同期回路）
１２  パラレルシリアル変換回路
１３  差動信号ドライバ
１４  差動信号レシーバ
１５  シリアルパラレル変換回路
１６  接続選択回路
１７  エラー検出回路
１８  テスト制御回路
２０  出力用差動ペア配線
２４  入力用差動ペア配線
２７  第１選択回路
２８  第２選択回路
２９  判定回路
３１  ストローブ発生回路
３２  比較回路
【図１】
2009168705.tif 000003
【図２】
2009168705.tif 000004
【図３】
2009168705.tif 000005
【図４】
2009168705.tif 000006
【図５】
2009168705.tif 000007
【図６】
2009168705.tif 000008
【図７】
2009168705.tif 000009
【図８】
2009168705.tif 000010
【図９】
2009168705.tif 000011
【図１０】
2009168705.tif 000012