(57)【要約】      （修正有）【課題】簡便な測定器使用で、シリアル・インタフェースのデバッギングを可能にする。【解決手段】デシリアライザ、復号化回路、メモリ、トリガ制御回路、書き込み制御回路等で構成。デシリアライザは符号化回路により生成された符号化パラレル・データをシリアル変換したシリアル・データが入力されシリアル・データを符号化パラレル・データに変換する。  復号化回路は、データを復号化する。復号化回路は、符号化パラレル・データを復号化パラレル・データに復号し、エラーがある場合にエラー検出信号を出力。  メモリには、デシリアライザが変換した符号化パラレル・データが順次書き込まれる。トリガ制御回路は、エラー検出信号に応答して、メモリ内に格納されたエラーが検出された前記符号化パラレル・データにエラーフラグを付加する命令を出力し、書き込み停止信号を出力する。書き込み制御回路は、書き込み停止信号に応答して、書き込み動作を停止する。【選択図】図３
2006250824.tif 000002
【特許請求の範囲】
【請求項１】
ｍ（ｍは自然数）ビットのデータをｎ（ｎはｍより大きい自然数）ビットのデータに変換する符号化回路により生成された符号化パラレル・データをシリアル変換したシリアル・データが入力され前記シリアル・データを前記符号化パラレル・データに変換するデシリアライザと、
前記ｎビットのデータを前記ｍビットのデータに復号化する回路であって、前記デシリアライザが変換した前記符号化パラレル・データを復号化パラレル・データに復号するとともに、前記デシリアライザが変換した前記符号化パラレル・データにエラーがあった場合にエラー検出信号を出力する復号化回路と、
前記デシリアライザが変換した前記符号化パラレル・データを順次書き込むメモリと、
前記エラー検出信号に応答して、前記メモリ内に格納されたエラーが検出された前記符号化パラレル・データにエラーフラグを付加する命令を出力するとともに、所定のタイミングで書き込み停止信号を出力するトリガ制御回路と、
前記書き込み停止信号に応答して、書き込み動作を停止する書き込み制御回路と
を有することを特徴とする
半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路において、さらに
データ読出し命令に応答して前記メモリから前記符号化パラレル・データを読み出す読出し制御回路を有することを特徴とする
半導体集積回路。
【請求項３】
請求項２に記載の半導体集積回路において、
前記読出し制御回路は、前記メモリに格納された前記符号化パラレル・データを、解析用シリアル・データに変換して出力することを特徴とする
半導体集積回路。
【請求項４】
請求項３に記載の半導体集積回路において、さらに
ＪＴＡＧコントローラと、
前記ＪＴＡＧコントローラと前記読出し制御回路との各々に接続され、ＴＡＰインターフェースに接続される出力端を有するセレクタと
を具備し、
前記セレクタは、外部から入力される切替命令に応答して、前記読出し制御回路と前記ＴＡＰインターフェースとを接続し、
前記読出し制御回路は、前記セレクタを介して前記メモリから読み出された前記パラレル・データを、前記解析用シリアル・データに変換して前記ＴＡＰインターフェースに出力する
半導体集積回路。
【請求項５】
請求項４に記載の半導体集積回路において、
前記書き込み制御回路は、前記メモリの空き領域に、前記デシリアライザ回路から供給される順番で前記符号化パラレル・データの書き込みを実行し、前記メモリの最終アドレスまで前記符号化パラレル・データを書き込んだとき、前記メモリの先頭アドレスから書き込みを行うことを特徴とする
半導体集積回路。
【請求項６】
請求項４または請求項５に記載の半導体集積回路において、
前記符号化回路は８Ｂ１０Ｂ符号化方式に対応して、１０ビットのパラレル・データである前記符号化パラレル・データを８ビットのパラレル・データである前記復号化パラレル・データに変換し、その変換動作の際に使用される符号表に基づいて、前記エラー検出信号を出力することを特徴とする
半導体集積回路。
【請求項７】
請求項６に記載の半導体集積回路において、
前記復号化回路は、前記符号化パラレル・データを前記復号化パラレル・データに変換する際に、ディスパリティ検証を実行し、前記ディスパリティ検証の結果に基づいて前記エラー検出信号を出力することを特徴とする
半導体集積回路。
【請求項８】
請求項７に記載の半導体集積回路において、さらに、
リンク間同期読出し制御回路を具備し、
前記リンク間同期読出し制御回路は、複数のリンクを介して供給されるデータに
付される制御符号に基づいて、異なるリンク間のデータを同期させ、前記制御符号
が正しく着信しない場合にエラー検出信号を出力し、
前記トリガ制御回路は、前記リンク間同期読出し制御回路の出力する前記エラー検出信号にも応答して、前記メモリ内に格納されたエラーが検出された前記符号化パラレル・データにエラーフラグを付加する命令を出力するとともに、所定のタイミングで書き込み停止信号を出力する
ことを特徴とする
半導体集積回路。
【請求項９】
（ａ）ｍ（ｍは自然数）ビットのデータをｎ（ｎはｍより大きい自然数）ビットのデータに変換する符号化回路により生成された符号化パラレル・データをシリアル変換したシリアル・データが入力され前記シリアル・データを前記符号化パラレル・データに変換するステップと、
（ｂ）前記ｎビットのデータを前記ｍビットのデータに復号化するときに、前記変換した前記符号化パラレル・データを復号化パラレル・データに復号するとともに、前記変換した前記符号化パラレル・データにエラーがあった場合にエラー検出信号を出力するステップと、
（ｃ）前記変換した前記符号化パラレル・データを順次メモリに書き込むステップと、
（ｄ）前記エラー検出信号に応答して、前記メモリ内に格納されたエラーが検出された前記符号化パラレル・データにエラーフラグを付加する命令を出力するとともに、所定のタイミングで書き込み停止信号を出力するステップと、
（ｅ）前記書き込み停止信号に応答して、書き込み動作を停止するステップ
を有することを特徴とする
データ解析方法。
【請求項１０】
請求項９に記載のデータ解析方法において、さらに
（ｆ）データ読出し命令に応答して前記メモリから前記符号化パラレル・データを読み出すステップ
を有することを特徴とする
データ解析方法。
【請求項１１】
請求項１０に記載のデータ解析方法において、
前記（ｆ）ステップは、
前記メモリに格納された前記符号化パラレル・データを、解析用シリアル・データに変換して出力するステップ
を有することを特徴とする
データ解析方法。
【請求項１２】
請求項１１に記載のデータ解析方法において、
前記（ｆ）ステップは、
前記メモリから読み出された前記パラレル・データを、前記解析用シリアル・データに変換してＴＡＰインターフェースを介して出力するステップ
を有することを特徴とする
データ解析方法。
【請求項１３】
請求項１２に記載のデータ解析方法において、
前記（ｃ）ステップは、
前記メモリの空き領域に、前記シリアル・データを前記符号化パラレル・データに変換する順番で、前記符号化パラレル・データの書き込みを実行し、前記メモリの最終アドレスまで前記符号化パラレル・データを書き込んだとき、前記メモリの先頭アドレスから書き込みを行うステップ
を有することを特徴とする
データ解析方法。
【請求項１４】
請求項１２または請求項１３に記載のデータ解析方法において、
前記（ａ）ステップは、
前記符号化回路は８Ｂ１０Ｂ符号化方式に対応して、１０ビットのパラレル・データである前記符号化パラレル・データを８ビットのパラレル・データである前記復号化パラレル・データに変換し、
前記（ｂ）ステップは、
その変換動作の際に使用される符号表に基づいて、前記エラー検出信号を出力するステップ
を有することを特徴とする
データ解析方法。
【請求項１５】
請求項１４に記載のデータ解析方法において、
前記（ｂ）ステップは、
前記符号化パラレル・データを前記復号化パラレル・データに変換する際に、ディスパリティ検証を実行し、前記ディスパリティ検証の結果に基づいて前記エラー検出信号を出力するステップ
を有することを特徴とする
データ解析方法。
【請求項１６】
請求項１５に記載のデータ解析方法において、
前記（ｂ）ステップは、
複数のリンクを介して供給されるデータに付される制御符号に基づいて、異なるリンク間のデータを同期させ、前記制御符号が正しく着信しない場合にエラー検出信号を出力するステップ
を有することを特徴とする
データ解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特に高速シリアル・インタフェースのデータ解析機能を備える半導体集積回路、およびその半導体集積回路におけるデータ解析方法に関する。
【背景技術】
【０００２】
近年、インターネットの飛躍的な普及により、パーソナルコンピュータやサーバ装置、通信機器などの情報処理装置が広く普及している。情報処理装置は、常に、より高度な情報処理能力を備えることが要求されている。情報処理能力を向上させる技術には、装置におけるデータ処理速度の高速化、データ伝送における広帯域化のなどがある。情報処理速度の高速化の要求に伴って、情報処理装置に搭載される半導体集積回路（ＬＳＩ：Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）が取り扱うデータの帯域も飛躍的に増加している。そのため、ＬＳＩ間の高速インタフェースの需要は高まる一方である。
【０００３】
ＬＳＩのデータ転送の高速化を行ってゆく中で、パラレル・インタフェースに起因する弊害が多く出てくるようになってきた。この弊害を抑制するため、データ伝送帯域を確保するための手法として、シリアル・インタフェースの採用が進んでいる。パーソナルコンピュータ内部のデータ伝送に関しても、徐々にその傾向が進んでいる。例えば、近年のパーソナルコンピュータでは、ＩＤＥに対応するＳｅｒｉａｌ  ＡＴＡが採用されてきている。また、ＡＧＰやＰＣＩバスに対応するＰＣＩ−Ｅｘｐｒｅｓｓが採用される傾向にある。
【０００４】
Ｓｅｒｉａｌ  ＡＴＡやＰＣＩ−Ｅｘｐｒｅｓｓなどの高速シリアル・インタフェースを実現する上で欠かせない技術にシリアル―パラレル変換技術（以下、ＳＥＲＤＥＳ（サーデス）と呼ぶ。）がある。ＳＥＲＤＥＳを実現するためには、データの伝送を行うパラレル（並列）・データをシリアル（直列）・データに変換するシリアライザと、シリアル・データをパラレル・データに変換するデシリアライザとが一体化した回路ブロック（以下、ＳＥＲＤＥＳ回路と呼ぶ。）を構成し、そのＳＥＲＤＥＳ回路を搭載したインターフェースを用いてデータ転送を実行する。
【０００５】
図１は、ＰＣＩ−Ｅｘｐｒｅｓｓの物理層の構成を示すブロック図である。図１に示されているようにＰＣＩ−Ｅｘｐｒｅｓｓは、送信ブロック１０１と受信ブロック１０２とを含んで構成されている。図１を参照すると、送信ブロック１０１は送信側のブロック、受信ブロック１０２は受信側のブロックである。ＰＣＩ−Ｅｘｐｒｅｓｓでは、伝送路を双方向には使用しないので、この図と信号を送る方向が反対になった回路とを合わせて、送受のリンクを構成している。ＰＣＩ−Ｅｘｐｒｅｓｓなどの高速シリアル・インタフェースでは、送受のブロックのシリアライザ１０５、デシリアライザ１１２などの回路を一体化したＳＥＲＤＥＳ（サーデス）と呼ばれる技術が採用される。ＰＣＩ−Ｅｘｐｒｅｓｓでは、１リンクだけでなく、２リンク、４リンク、８リンクの複数リンクで転送する方式が規定されている。図１は、２リンクの例である。図示していないが、図１では送信ブロック１０１と受信ブロック１０２は別々のＬＳＩにそれぞれ搭載され、ＬＳＩ間の信号のやり取りを行っているものとする。
【０００６】
ＰＣＩ−Ｅｘｐｒｅｓｓにおいて、伝送路を介してデータを転送するときには、上位層から転送されるデータは送信ブロック１０１の入力ＦＩＦＯ１０３に格納される。次にデータは、８Ｂ１０Ｂ符号化回路１０４に転送される。ＰＣＩ−Ｅｘｐｒｅｓｓなどの高速シリアル伝送では、パラレル・データをシリアル化するために８Ｂ１０Ｂ符号化方式という方式が採用されている。８Ｂ１０Ｂ符号化方式は、８ビットのパラレル・データを一つの塊として扱い、この塊を１０ビットの符号に変換する方式である。
【０００７】
１０ビットに変換されたデータは、シリアライザ１０５に転送される。シリアライザ１０５は、低速なパラレル・データを１本の伝送路に送り出すための高速なシリアル・データに変換する回路である。ＰＣＩ−Ｅｘｐｒｅｓｓでは、データは、３．１２５Ｇビット／ｓで出力される。３．１２５ＧＨｚの送信クロックは、１５６．２５ＭＨｚのリファレンス・クロックからシンセサイザ回路１０７により生成される。シリアライズ１０５で生成されたシリアルデータは出力バッファ１０６によって伝送路１０８に出力される。
【０００８】
送信ブロックから出力されたシリアル・データは、伝送路１０８、入力バッファ１１０を介して、受信ブロック１０２に入力される。クロック再生回路１１１は、受信するシリアル・データからクロックを再生する。数Ｇビット／ｓオーダの高速シリアル伝送では、ボードの伝送路上で波形がかなり崩れるため、データに同期したクロック信号を別に送っても、データを正しくサンプリングすることができない。そこで、受信するデータの変化から同期したクロックを再生する。ＰＣＩ−Ｅｘｐｒｅｓｓの場合、１５６．２５ＭＨｚのリファレンス・クロックからシンセサイザ回路１０９で生成した３．１２５ＧＨｚのクロックでデータに同期したクロックを再生する。
【０００９】
１本の伝送路を経由して送られてきたシリアル・データは、デシリアラザ回路１１２で、１０ビットの低速なパラレル・データに変換される。続けて、８Ｂ１０Ｂ復号化回路１１３により、８ビットのデータに戻される。
【００１０】
２Ｇビット／ｓを超える速い速度で、プリント基板上に引いた伝送路を伝送する場合、プリント・パターンでの損失が無視できなくなり、信号波形に大きな影響を与える。このような伝送路では、ＨレベルやＬレベルが長く続いた後、短い変化があると十分にレベルが下がりきらず、あるいは上がりきらず、誤動作の原因になる。
【００１１】
このような誤動作を抑制するために、高速シリアル伝送では、８Ｂ１０Ｂ符号化によって、転送密度を調整している。高速シリアル伝送で伝送されるデータは、８Ｂ１０Ｂ符号化回路１０４で、伝送路上に同じレベルが長く続かないような１０ビット符号に変換される。これにより、ＨレベルやＬレベルが長く続くデータが伝送されなくなり、誤動作を避けることができる。８ビット・データをどのような１０ビット・データに変換するかは、規格上の符号表にて定められている。
【００１２】
８Ｂ１０Ｂ復号化回路１１３では、符号表に従って変換されると同時に、ディスパリティが検証される。ディスパリティとは、データブロック中の１と０の数の差である。８Ｂ１０Ｂ符号化方式では、ディスパリティは０（５つの１と０）、＋２（６つの１と４つの０）、−２（４つの１と６つの０）のいずれかである。また、連続ディスパリティとはそれまでの全符号の総計に対するディスパリティであり、＋１か−１のいずれかである。例えば、ディスパリティが０、＋２、−２のいずれでもなければその記号は誤りである。また、ディスパリティが＋２（−２）で連続ディスパリティが＋１（−１）でもエラーとなる。
【００１３】
８ビットに変換されたデータは、出力ＦＩＦＯ１１４に格納される。ＰＣＩ−Ｅｘｐｒｅｓｓの場合、複数のリンクでデータを転送する場合がある。各リンクは独立して動作するが、リンクの配線長は同じである保証がないため、送り側ですべてのリンクに対して同時に送信しても、受信側に同時に着信する保証はない。２本以上のリンクを利用する場合、この差分を上位でカバーする必要があるため、出力ＦＩＦＯ１１４にある程度のデータを蓄えて、パラレル側にリンク間のタイミングを揃えて出力する。
【００１４】
８Ｂ１０Ｂ符号化においては、８ビット２５６文字に加え１２の特殊文字も符号に加えられ、特殊文字は制御信号として運用される。送信側は、データの転送を開始するとき、データの先頭を示す特殊文字を付加する。受信側では、復号時にデータ列から特殊文字を検出することで、データの受信開始を認識する。リンク間同期読出し制御回路１１５と出力ＦＩＦＯ１１４は、データの先頭を示す符号を基準にして、すべてのリンクの出力ＦＩＦＯからデータを揃えて読み出すことにより、リンク間のデータ同期を実現する。
【００１５】
【特許文献１】特開２００３−２２４４６９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
従来のバス型の接続と比較すると、ＳＥＲＤＥＳにおいては、シリアル・データを伝送する伝送路の両端にＳＥＲＤＥＳ回路を備える構成になる。したがって、ＳＥＲＤＥＳを採用する情報処理装置は、インタフェースが複雑化し、開発段階における検証項目の増加、開発期間の長期化に繋がる。そのため、実際にＳＥＲＤＥＳ回路を搭載する基板を使用してのデバッギング作業に割ける時間を圧迫する。
【００１７】
また、高速シリアル・インタフェースには、低振幅の差動デジタル回路が採用されている。低振幅の差動デジタル回路は、データ・レートが高いため、サブストレート、電源プレーンに発生する周期的な電源の変調や周辺回路からのクロストーク、更には伝送路におけるインピーダンスのミスマッチなどにより発生する各種ジッタが伝送品質に大きな影響を与える。
【００１８】
伝送路の品質は、受信側の８Ｂ１０Ｂ復号化回路１１３において、符号表に対応したデータが着信しているか、ディスパリティの整合は守られているかの確認によって監視される。符号表にない１０ビットのデータ・パターンを検出した場合や、ディスパリティの不整合を検出した場合には、データ・エラーとなる。また、制御符号が正しく着信しなかったことにより、リンク間読出し制御回路１１５がリンク間のデータを同期できない場合にもエラーとなる。伝送信号が高速化、低電圧化の傾向を辿るのに伴い、損失の影響もおおきくなり、パターン依存性ジッタ等の問題から、基板作成初期には、データ・エラーが度々発生することがある。
【００１９】
伝送路の品質を改善し、エラーを解消するには、実機上での解析が必要になる。図２は、伝送路のデバッギングを行う作業の一例として、測定器を挿入した図である。解析作業としては、ＧＨｚオーダの信号を観測できるデジタル・オシロ・スコープ２０１に、送信側の伝送信号を入力して、伝送路の終端における信号のアイパターンを観測する。アイパターンは、伝送回線の終端における信号品質全般を計測するために有用である。これにより、系統的かつランダムな歪による影響を知ることができ、信号が有効と考えられる時間を知ることができる。レシーバのスレッシホールド・レベルの上下におけるアイパターンの開きは、サンプリング時のノイズに対するマージンを示す。レシーバのスレッシホールド・レベルを横切る遷移領域の広がりは、データ信号のピーク間におけるジッタを示す。ジッタは、信号の論理状態が遷移する時点で発生する。配線および送信側ＬＳＩでのノイズ対策を施してジッタを低減、伝送経路のインピーダンスの不整合部分を除外して、アイパターンの開きを大きくする。
【００２０】
受信側で検出するエラーがある特定の伝送パターンに起因する場合や、送信する８ビット・パラレル・データのうち、エラーが特定のビットで発生する場合には、そのパターンやビットを特定することが、エラーの早期解消に繋がる。そのため、デバッギングを能率的に進めるため、エラー要因となったパラレル・データやその前後のパターンを把握できることが望ましい。
【００２１】
パラレル・データを観測する場合、使用する測定器としては、ロジック・アナライザ２０２がある。ロジック・アナライザで観測するために、パラレルに変換した直後のデータ信号２０４をＬＳＩの外部に出力する。ロジック・アナライザのトリガ信号として、エラー検出信号２０３も外部に出力する。受信パラレル・データをロジック・アナライザのメモリに書き込み、エラーを検出した時点で停止し、エラー要因となったパラレル・データとその前後のデータを観測する。
【００２２】
この手法においては、次の課題がある。パラレル変換後のデータのレートは、シリアル・クロックの１／１０〜１／２０程度に落ちる。例えば、ＰＣＩ−Ｅｘｐｒｅｓｓの場合、シリアル伝送路上のデータ・レートは、３．１２５Ｇビット／ｓで、１０ｂｉｔのパラレル・データに変換されると３１２．５Ｍビット／ｓになる。２０ｂｉｔのパラレル・データに変換される場合には１５６．２５Ｍビット／ｓになる。１リンクにつき、１５６．２５Ｍ〜３１２．５ＭＨｚの１０ビット〜２０ビットの信号を観測する必要がある。数百ＭＨｚオーダの多ビット信号を観測できるロジック・アナライザは大変高価なものである。また、ロジック・アナライザに信号入力するには、ＬＳＩにパラレル・データの信号を出力するピンが必要になり、それをボード上に引き出してコネクタを設置する必要があるため、ＬＳＩパッケージ、ボードの大型化、パッケージ・コストの増大に繋がる。
【００２３】
さらに、伝送路の高速化や低電圧化に伴い、伝送路が配線、実装される基板に関しても、高度な設計技術が要求されてきている。例えば、ノイズ対策などは、従来と比較して、さらに重要性が増してきている。ノイズ対策などが不充分のまま作成された基板には、思わぬところで動作不良が起こり、基板の長期にわたるデバッギングや改版を余儀なくされることも少なくない。基板のデバッギング作業は、従来の低レート信号では、測定器のプローブを直接信号に当て、波形を観測することも可能であった。しかしながら、前述したように数Ｇｂｐｓの高速信号を観測できる測定器は、非常に高価であり、テスト・コストが非常に高くなる。開発期間の短縮、能率的な基板のデバッギングの手法などが望まれる。
【００２４】
シリアル・インタフェースのデバッギングにおいて、高価な測定器を使用することなく、能率的なシリアル・インタフェースのデバッギングを可能にする技術が望まれている。
【課題を解決するための手段】
【００２５】
以下に、［発明を実施するための最良の形態］で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００２６】
上記の課題を達成するため、本発明では、ｍ（ｍは自然数）ビットのデータをｎ（ｎはｍより大きい自然数）ビットのデータに変換する符号化回路により生成された符号化パラレル・データをシリアル変換したシリアル・データが入力され前記シリアル・データを前記符号化パラレル・データに変換するデシリアライザと、
前記ｎビットのデータを前記ｍビットのデータに復号化する回路であって、前記デシリアライザが変換した前記符号化パラレル・データを復号化パラレル・データに復号するとともに、前記デシリアライザが変換した前記符号化パラレル・データにエラーがあった場合にエラー検出信号を出力する復号化回路と、
前記デシリアライザが変換した前記符号化パラレル・データを順次書き込むメモリと、
前記エラー検出信号に応答して、前記メモリ内に格納されたエラーが検出された前記符号化パラレル・データにエラーフラグを付加する命令を出力するとともに、所定のタイミングで書き込み停止信号を出力するトリガ制御回路と、
前記書き込み停止信号に応答して、書き込み動作を停止する書き込み制御回路と
を有することを特徴とする半導体集積回路を構成する。
【００２７】
上述の復号化回路が８Ｂ１０Ｂ復号化回路である場合を例にすると、ＳＥＲＤＥＳ回路に送受されたデータのエラー発生時のデータ解析を容易に行うため、受信側の８Ｂ１０Ｂ復号化回路の入力（＝シリパラ回路の出力である復号化前の１０Ｂデータ）を、エラーが起こる前からある一定量をメモリに蓄え続ける。そして、８Ｂ１０Ｂ復号化回路がエラー検出したときに生成されるエラー検出信号をもってメモリへの書き込みをストップさせる。
【発明の効果】
【００２８】
本発明によると、シリアル・インタフェースのデバッギングにおいて、高価な測定器を使用することなく、能率的なシリアル・インタフェースのデバッギングを可能にするＬＳＩを提供することができる。
【００２９】
本発明によれば、ＰＣＩ−ＥｘｐｒｅｓｓやＳｅｒｉａｌ  ＡＴＡのような高速シリアル・インタフェースを採用したＬＳＩで、データ・エラーの障害が発生した場合に、データ・パターンの依存性や、データの壊れ方の傾向を把握するため、パラレル再変換後のデータを解析するとき、従来の高価なロジック・アナライザと同等の機能を、ＬＳＩ内に搭載した回路で実現できるため、安価な解析を実現することができる。
より詳細には、受信側の８Ｂ１０Ｂ復号化回路の入力に貴重なエラー情報が入っているので、この作用によりエラーの発生した前後の受信信号（パタン）を確保できることになる。また、メモリに格納されたデータを、一番高速なシリアルデータは使わずに、前記のメモリから別途用意されたシリアルデータとして外部に読み出すことよって、エラー検出前後の受信パタンを高価な測定系を要することなく得ることができる。
【００３０】
また、本発明によれば、解析用データの出力インターフェースにＪＴＡＧインタフェースを応用して実現することが可能なため、パラレル・データを観測するためにＬＳＩに設けていた従来のテスト信号出力端子を削減することができ、ＬＳＩのピン数の削減、パッケージ・コストの削減が可能である。
【発明を実施するための最良の形態】
【００３１】
［第１の実施形態の構成］
以下に、図面を参照して本発明を実施するための形態について説明を行う。以下の実施形態において、高速シリアルインターフェースが、ＰＣＩ−Ｅｘｐｒｅｓｓに対応して構成されている場合を例に説明を行う。なお、これは、本発明がＰＣＩ−Ｅｘｐｒｅｓｓのみに対応することを明示するのもではない。
【００３２】
図３は、第１の実施形態における、本発明の半導体集積回路の構成を例示するブロック図である。図３を参照すると、第２ＳＥＲＤＥＳ回路２は、通常のＳＥＲＤＥＳ回路の構成を示し、第１ＳＥＲＤＥＳ回路１は、本発明のデータ解析部２０を備えるＳＥＲＤＥＳ回路の構成を示している。図３に示されている回路ブロックにおいて、第１ＳＥＲＤＥＳ回路１と第２ＳＥＲＤＥＳ回路２とで同じ符号が付されている回路ブロックは同様の構成である。従って、以下の説明において、第１ＳＥＲＤＥＳ回路１と第２ＳＥＲＤＥＳ回路２とで重複する部分に関しては、その説明を省略する。また、図３に示されている回路において、第１ＳＥＲＤＥＳ回路１と第２ＳＥＲＤＥＳ回路２とが組み合わされて構成されているものが例示されているが、これは、本発明の構成を限定するものではない。例えば、伝送路１５を介して、第１ＳＥＲＤＥＳ回路１が互いに接続されている構成であっても良い。なお、以下の図３の説明においては、本願発明の理解が容易になるように、伝送路が１リンクである場合を例に説明をおこなう。
【００３３】
図３に示されているように、第１ＳＥＲＤＥＳ回路１および第２ＳＥＲＤＥＳ回路２の出力パス１７は、入力ＦＩＦＯ３と、８Ｂ１０Ｂ符号化回路４と、シリアライザ回路５と、出力バッファ６と、シンセサイザ回路７とを含んで構成されている。また、第１ＳＥＲＤＥＳ回路１および第２ＳＥＲＤＥＳ回路２の入力パス１６は、シンセサイザ回路８と、入力バッファ９と、デシリアライザ回路１０と、クロック再生回路１１と、８Ｂ１０Ｂ復号化回路１２と、出力ＦＩＦＯ１３と、リンク間同期読出し回路１４とを含んで構成されている。さらに、第１ＳＥＲＤＥＳ回路１はデータ解析部２０を備えている。なお、データ解析部２０の構成に関する詳細な説明は後述する。
【００３４】
入力ＦＩＦＯ３は、上位層から転送されるデータを格納する記憶回路である。８Ｂ１０Ｂ符号化回路４は、８Ｂ１０Ｂ符号化方式という方式に基づいてパラレル・データをシリアル化する符号化回路である。８Ｂ１０Ｂ符号化回路４は、８ビットのパラレル・データを一つの塊として扱い、この塊を１０ビットの符号に変換して出力している。
【００３５】
シリアライザ回路５は、低速なパラレル・データを１本の伝送路に送り出すための高速なシリアル・データに変換するデータ変換回路である。
【００３６】
シンセサイザ回路７およびシンセサイザ回路８は、リファレンス・クロックに基づいて送信クロックを生成するクロック生成回路である。図３に示されているように、上述のシリアライザ回路５は、シンセサイザ回路７から供給される送信クロックに同期してシリアル・データを出力バッファ６に出力している。
【００３７】
送信ブロックから出力されたシリアル・データは、伝送路１５を介して、受信ブロックに入力される。入力バッファ９は、伝送路１５を介して供給されるシリアル・データを受信し、デシリアライザ回路１０とクロック再生回路１１とに出力している。デシリアライザ回路１０は、伝送路１５を経由して送られてきたシリアル・データを、１０ビットの低速なパラレル・データに変換するデータ変換回路である。
【００３８】
クロック再生回路１１は、受信するシリアル・データに基づいてクロックを生成するクロック生成回路である。数Ｇビット／ｓオーダの高速シリアル伝送では、ボードの伝送路上で波形が崩れる。そのため、受信するデータに同期したクロック信号を別に送っても、データを正しくサンプリングすることができない。そこで、クロック再生回路１１は、受信するデータの変化から同期したクロックを生成して８Ｂ１０Ｂ復号化回路１２に供給している。例えば、ＰＣＩ−Ｅｘｐｒｅｓｓの場合、１５６．２５ＭＨｚのリファレンス・クロックからシンセサイザ回路８で生成した３．１２５ＧＨｚのクロックでデータに同期したクロックを生成している。
【００３９】
８Ｂ１０Ｂ復号化回路１２は、デシリアライザ回路１０から供給される１０ビットのパラレル・データを、８ビットのパラレル・データに変換する復号化回路である。高速シリアル伝送で伝送されるデータは、上述の８Ｂ１０Ｂ符号化回路４で、伝送路上に同じレベルが長く続かないような１０ビット符号に変換される。８Ｂ１０Ｂ符号化回路４は、規格上の符号表に基づいて、８ビット・データを１０ビット・データに変換している。
【００４０】
８Ｂ１０Ｂ復号化回路１２では、その符号表に従って１０ビットデータを８ビットデータに変換している。また、８Ｂ１０Ｂ復号化回路１２は、１０ビットから８ビットへのデータ変換を実行すると同時に、ディスパリティが検証を行っている。ディスパリティとは、データブロック中の１と０の数の差である。８Ｂ１０Ｂ符号化方式では、ディスパリティは０（５つの１と０）、＋２（６つの１と４つの０）、−２（４つの１と６つの０）のいずれかである。また、連続ディスパリティとはそれまでの全符号の総計に対するディスパリティであり、＋１か−１のいずれかである。例えば、ディスパリティが０、＋２、−２のいずれでもなければその記号は誤りである。また、ディスパリティが＋２（−２）で連続ディスパリティが＋１（−１）でもエラーとなる。
【００４１】
出力ＦＩＦＯ１３は、８ビットに変換されたデータを格納する記憶回路である。例えば、ＰＣＩ−Ｅｘｐｒｅｓｓの場合、複数のリンクでデータを転送することがある。各リンクは独立して動作するが、リンクの配線長は同じである保証がない。そのため、送り側ですべてのリンクに対して同時に送信しても、受信側に同時に着信しない場合がある。したがって、２本以上のリンクを利用する場合、この差分を上位でカバーする必要がある。そのために、複数のリンクでデータを転送する場合において、ある程度のデータを出力ＦＩＦＯ１３に蓄え、リンク間のタイミングを揃えてパラレル側に出力することで適切なデータ伝送を実現している。
【００４２】
リンク間同期読出し回路１４は、すべてのリンクの出力ＦＩＦＯ１３からデータを揃えて読み出すデータ読出し制御回路である。８Ｂ１０Ｂ符号化においては、８ビット２５６文字に加え１２の特殊文字も符号に加えられ、特殊文字は制御信号として運用される。送信側は、データの転送を開始するとき、データの先頭を示す特殊文字を付加する。受信側では、復号時にデータ列から特殊文字を検出することで、データの受信開始を認識する。リンク間同期読出し制御回路１４と出力ＦＩＦＯ１３は、データの先頭を示す符号を基準にして、すべてのリンクの出力ＦＩＦＯからデータを揃えて読み出すことにより、リンク間のデータ同期を実現している。
図３を参照すると、第１ＳＥＲＤＥＳ回路１と第２ＳＥＲＤＥＳ回路２とは、伝送路１５を介して接続されている。図３に示されているように、第２ＳＥＲＤＥＳ回路２の出力パス１７から出力されるシリアル・データは、その伝送路１５を介して第１ＳＥＲＤＥＳ回路１の入力パス１６に供給される。同様に、第２ＳＥＲＤＥＳ回路２の出力パス１７から出力されるシリアル・データは、伝送路１５を介して第１ＳＥＲＤＥＳ回路１の入力パス１６に供給されている。
【００４３】
図３に示されているように、第１ＳＥＲＤＥＳ回路１の出力パス１７と第２ＳＥＲＤＥＳ回路２の出力パス１７とは同様の接続関係である。したがって、出力パス１７の説明においては、第１ＳＥＲＤＥＳ回路１を基準に各ブロックの接続を述べる。入力ＦＩＦＯ３は、ＳＥＲＤＥＳ回路の上位層（図示されず）に接続されている。その入力ＦＩＦＯ３は、８Ｂ１０Ｂ符号化回路４を介してシリアライザ回路５に接続されている。また、シリアライザ回路５は、シンセサイザ回路７に接続され、シンセサイザ回路７が生成するデータクロックが供給されている。さらにシリアライザ回路５は、出力バッファ６に接続されている。出力バッファ６は伝送路１５を介して受信ブロック（第２ＳＥＲＤＥＳ回路２）の入力パス１６に接続されている。
【００４４】
第１ＳＥＲＤＥＳ回路１は、データ解析部２０を備えて構成され、そのデータ解析部２０は入力パス１６に接続されている。入力パス１６の入力バッファ９は、伝送路１５に接続され、伝送路１５を介して供給されるシリアル・データを受信している。図３に示されているように、入力バッファ９は、デシリアライザ回路１０とクロック再生回路１１とに接続されている。また、クロック再生回路１１は、シンセサイザ回路８に接続されている。クロック再生回路１１は、入力バッファ９から供給されるシリアル・データと、シンセサイザ回路８から供給されるクロックとに基づいて、データクロックを生成して８Ｂ１０Ｂ復号化回路１２に供給している。
【００４５】
デシリアライザ回路１０は、８Ｂ１０Ｂ復号化回路１２とデータ解析部２０に接続されている。デシリアライザ回路１０は、入力バッファ９から出力されるシリアル・データに基づいて１０ビットのパラレル・データを生成し、その１０ビットのパラレル・データを８Ｂ１０Ｂ復号化回路１２とデータ解析部２０とに供給している。さらに、８Ｂ１０Ｂ復号化回路１２は、出力ＦＩＦＯ１３とデータ解析部２０とに接続されている。８Ｂ１０Ｂ復号化回路１２は、８Ｂ１０Ｂ復号化を実行するときに、そのデータに発生しているエラーを検出した場合、エラー検出信号３２をデータ解析部２０に出力している。
【００４６】
その出力ＦＩＦＯ１３は、リンク間同期読出し回路１４に接続されている。リンク間同期読出し回路１４は、データ解析部２０と下位層の回路ブロック（図示されず）に接続されている。そのリンク間同期読出し回路１４は、制御符号が正しく着信しなかったことにより、リンク間のデータを同期できない場合に、データエラーが発生していると判断して、リンクエラー検出信号３３をデータ解析部２０に出力する。
【００４７】
本実施の形態のデータ解析部２０は、デシリアライザ回路１０から供給される１０ビットのパラレル・データ３１と８Ｂ１０Ｂ復号化回路１２から供給されるエラー検出信号３２とに基づいて、エラー解析用データを保持する。また、データ解析部２０は、リンク間同期読出し回路１４からリンクエラー検出信号３３が出力された場合にも、そのリンクエラー検出信号３３に基づいてエラー解析用データの保持を行う。以下に、図面を参照してデータ解析部２０の構成について説明を行う。
【００４８】
図４は、上述のデータ解析部２０を備える第１ＳＥＲＤＥＳ回路１の詳細な構成を例示するブロック図である。なお、図４では２リンク向けの構成を示している。また出力パスについては、図３の出力パス１６と同じのため図示していない。上述したように、図３における回路図には１リンクの伝送路で構成される回路を例示している。この構成は、本願発明を制限するものではない。複数リンクでデータ伝送を行う場合、各入力パス１６がそれぞれデータ解析部２０に接続される構成にすることで、本願発明の効果を発揮することが可能である。なお、以下の説明では、一つのデータ解析部２０を備える回路を例に説明を行うが、これは本願発明のデータ解析部２０の数を限定するものではない。例えば、複数のデータ解析部２０を構成することが可能な場合、任意の数の入力パス１６を群として、その群毎に一のデータ解析部２０を備える構成であっても、本願発明の効果を発揮することが可能である。
【００４９】
図４に示されているように、データ解析部２０は、データ・エラー検出時に、パラレル・データを観測するためのアナライザ機能である。図４に示されている回路ブロックにおいて、図３の第１ＳＥＲＤＥＳ回路１または第２ＳＥＲＤＥＳ回路２の説明で使用した符号と同じ符号が付されている回路ブロックは、図３に示されているものと同様の構成である。したがって、以下の説明において、重複する部分に付いてはその説明を省略する。
【００５０】
図４を参照すると、本実施の形態の第１ＳＥＲＤＥＳ回路１は、デシリアライザ回路１０と、クロック再生回路１１と、シンセサイザ回路８と、８Ｂ１０Ｂ復号化回路１２と、出力ＦＩＦＯ１３と、リンク間同期読出し回路１４と、データ解析部２０とを含んで構成されている。そのデータ解析部２０は、制御部２１とメモリ２２と読出し制御回路２３を備えている。そして、制御部２１は、トリガ制御回路２４と書き込み制御回路２５とを含んで構成されている。
【００５１】
図４に示されているように、トリガ制御回路２４は、８Ｂ１０Ｂ復号化回路１２に接続されている。また、トリガ制御回路２４は、リンク間同期読出し回路１４に接続されている。書き込み制御回路２５は、そのトリガ制御回路２４とデシリアライザ回路１０とに接続されている。書き込み制御回路２５は、さらに、メモリ２２に接続され、デシリアライザ回路１０から出力される１０ビットのパラレル・データ３１をメモリ２２に書きこむ。そのメモリ２２は、読出し制御回路２３に接続されている。
【００５２】
書き込み制御ブロック２１は、前述の１０ビットのパラレル・データ３１と、８Ｂ１０Ｂ復号化回路から出力されるエラー検出信号３２とに基づいて、エラー解析用データを特定する回路ブロックである。図４に示されているように、制御部２１は、トリガ制御回路２４と書き込み制御回路２５とを含んで構成されている。トリガ制御回路２４は、エラー検出信号３２またはリンクエラー検出信号３３の少なくとも一方に応答して書き込み停止信号３４を生成するトリガ信号生成回路である。
【００５３】
書き込み制御回路２５は、デシリアライザ回路１０から供給される１０ビットのパラレル・データのメモリ２２への書き込みを制御する制御回路である。
【００５４】
メモリ２２は、書き込み制御回路２５から出力される１０ビットのパラレル・データを格納する記憶装置である。メモリ２２は、書き込み制御回路２５による書き込み制御に対応して先頭アドレスから１０ビットのパラレル・データの書き込みを始める。書き込み制御回路２５は、メモリ２２のボトムアドレスに到達すると、再び先頭アドレスに戻って書き込みを続ける。これによって、メモリ２２は、サイズ分の受信パラレル・データの履歴を保持するＦＩＦＯとして機能する。
【００５５】
読出し制御回路２３は、後段の回路（図示されず）からの読み出し信号に応じて、メモリ２２のデータの出力を制御する制御回路である。出力されるメモリ内容は、ＰＣなどに取り込まれる。メモリ内容を取り込んだＰＣにおいて、エラー要因となったパターンやその前後のパターンとの因果関係などの解析することで、高価なロジック・アナライザと同等の機能を、ＬＳＩ内に搭載した回路で実現できる。
【００５６】
［第１の実施形態の動作］
以下に、本実施の形態の動作を述べる。前述したように、デシリアライザ回路１０は、伝送路１５から受信したシリアル・データを１０ビットのパラレル・データに変換し、８Ｂ１０Ｂ複合化回路１２及び書き込み制御回路２５の両方に転送する。書き込み制御回路２５は、イネーブルに設定されていると、１０ビットのパラレル・データをメモリ２２の先頭アドレスから書き込みを始め、ボトムアドレスに到達すると、再び先頭アドレスに戻って書き込みを続ける。メモリ２２は、サイズ分の受信パラレル・データの履歴を保持するＦＩＦＯとして機能する。
【００５７】
一方、８Ｂ１０Ｂ複合化回路１２に入力された１０ビットのパラレル・データは、８ビットに変換された後、出力ＦＩＦＯ１３に書き込まれ、後段の処理が進められる。８Ｂ１０Ｂ複合化回路１２は、パラレル・データを８ビットに変換するとき、符号表との合致、ディスパリティの整合を常時行ってパラレル・データの信頼性を確認する。符号表にないパターンの検出、ディスパリティの不整合を検出した場合には、エラー信号をアサートして、トリガ制御回路２４に通知する。トリガ制御回路２４は、メモリ２２内に格納されているエラー要因となったパラレル・データにエラーフラグを付加して明示する。そして、メモリ２２への書き込み停止信号を生成して、書き込み制御回路２５に入力する。書き込み制御回路２５は、トリガ制御回路２４からの書き込み停止信号を検出するとメモリ２２への書き込みを停止する。この動作によって、書き込みを停止した後のメモリ２２内には、８Ｂ１０Ｂ複合化回路２５でエラー検出要因となった１０ビット・パラレル・データと、その前後に着信したデータが格納されることになる。
【００５８】
以下に、デシリアライザ回路１０の動作について述べる。デシリアライザ回路１０は、伝送路１５を介して送信されるシリアル・データの受信し、受信したシリアル・データを、１０ビットのパラレル・データに変換する。そして変換後の、１０ビットのパラレル・データを、８Ｂ１０Ｂ復号化回路１２と書き込み制御回路２５とに供給する。
【００５９】
これにより、デシリアライザ回路１０は、伝送路１５を介して受信したシリアル・データをパラレル・データに変換して、８Ｂ１０Ｂ復号化回路１２に供給するとともに、データ解析部２０の書き込み制御回路２５にも供給することとなる。
【００６０】
以下に、８Ｂ１０Ｂ復号化回路の動作について述べる。８Ｂ１０Ｂ復号化回路１２は、デシリアライザ回路１０から供給される１０ビットのパラレル・データの受信し、受信した１０ビットのパラレル・データのディスパリティの検証を行う。その検証の結果、エラーが検出されなかった場合には、さらに８Ｂ１０Ｂ復号化回路１２は、受信した１０ビットのパラレル・データを規格上の符号表に基づいて８ビットのパラレル・データに変換する。８Ｂ１０Ｂ復号化回路１２は、データ変換時において、８ビットパラレル・データが符号表と合致するかどうかの判断を行う。データ変換時において、８ビットパラレル・データが符号表と合致しなかった場合もエラーとして検出する。その判断の結果、符号表と合致した場合（エラーが検出されなかった場合）は、８Ｂ１０Ｂ復号化回路１２は、エラーを検出しなかったことに応答して８ビットのパラレル・データを出力ＦＩＦＯ１３に出力する。
【００６１】
ディスパリティの検証の結果エラーがあった場合や、データ変換時において８ビットパラレル・データが符号表と合致しなかった場合は、８Ｂ１０Ｂ復号化回路１２は、オール０や特定の符号の８ビットのパラレル・データを出力ＦＩＦＯ１３に出力する。さらにこの場合（ディスパリティの検証の結果エラーがあった場合や、データ変換時において８ビットパラレル・データが符号表と合致と合致しなかった場合）においては、８Ｂ１０Ｂ復号化回路１２は、検出したエラーに基づいて、エラー信号を生成する。８Ｂ１０Ｂ復号化回路１２はそのエラー信号と、エラーが発生しているパラレル・データとを関連付けてトリガ制御回路２４に通知する。
【００６２】
これにより、８Ｂ１０Ｂ復号化回路１２は、デシリアライザ回路１０から出力される１０ビットのパラレル・データを８ビットのパラレル・データに変換するとともに、そのパラレル・データのエラーを検出して、トリガ制御回路２４に供給することとなる。
【００６３】
以下に、図５を参照してトリガ制御回路の動作について述べる。図５を参照すると、トリガ制御回路２４は、８Ｂ１０Ｂ復号化回路１２から出力されるエラー信号の受信を監視している。ステップＳ１０１において、トリガ制御回路２４は、８Ｂ１０Ｂ復号化回路１２からエラー検出信号３２が出力されたかどうかの判断を行う。その判断の結果、エラー検出信号３２を受信した場合、処理はステップＳ１０２に進む。エラー検出信号３２を受信していない場合、処理は戻り、エラー検出信号３２の監視を継続する。
【００６４】
ステップＳ１０２において、トリガ制御回路２４は、８Ｂ１０Ｂ復号化回路１２から出力されたエラー検出信号３２に基づいて、エラーが発生している１０ビットパラレル・データのエラー情報を特定する。ステップＳ１０３において、トリガ制御回路２４は、特定したエラー情報に基づいて、書き込み制御回路２５に対して、１０ビットパラレル・データへのエラーフラグの付加を指示する。ステップＳ１０４において、トリガ制御回路２４は、エラーフラグの付加を指示したことに応答して、書き込み停止信号３４を生成する。ステップＳ１０５において、トリガ制御回路２４は、生成した書き込み停止信号３４を、所定のタイミングで書き込み制御回路２５に供給する。また、図５には記していないが、トリガ制御回路２４は、リンク間同期読出し回路１４からリンクエラー検出信号３３が出力されたときも同様の動作を実行する。なお、ステップＳ１０５のトリガ制御回路が書き込み制御回路に停止信号を供給する「所定のタイミング」は、ユーザーによって変更が可能である。ステップＳ１０１で８Ｂ１０Ｂ復号化回路から出力されたエラー信号を受信してからステップＳ１０５で停止信号を供給するまでの時間は、ユーザーによって変更することができる。
【００６５】
これによって、トリガ制御回路２４は、８Ｂ１０Ｂ復号化回路１２から出力されるエラー検出信号３２（または、リンク間同期読出し回路１４から出力されるリンクエラー検出信号３３）に応答して書き込み制御回路２５の動作を所定のタイミングで停止させることができる。
【００６６】
以下に、図６を参照して書き込み制御回路２５の動作について述べる。書き込み制御回路２５は、デシリアライザ回路１０から出力される１０ビットのパラレル・データを受信している。図６を参照すると、ステップＳ２０１において、書き込み制御回路２５の設定がイネーブルであるかどうかの判断が行われ、設定がイネーブルでない場合、処理は終了する。ステップＳ２０１において、書き込み制御回路２５がイネーブルに設定されている場合、処理はステップＳ２０２に進む。ステップＳ２０２において、書き込み制御回路２５は、メモリの空き領域の最上位アドレスからデータの書き込みを実行する。
【００６７】
ステップＳ２０３において、書き込み制御回路２５は、メモリ２２の最終アドレスに達したかどうかの判断を行う。その判断の結果、最終アドレスに達していない場合、空き領域の上位アドレスからの書き込みを継続する。その判断の結果、最終アドレスに達した場合、書き込み制御回路２５は、メモリ２２の最上位アドレスからデータの書き込みを行う（ステップＳ２０４）。これによって、メモリ２２は、サイズ分の受信パラレル・データの履歴を保持するＦＩＦＯとして機能する。
【００６８】
ステップＳ２０５において、書き込み制御回路２５は、トリガ制御回路２４から出力される書き込み停止信号を受信したかどうかの判断を行う。その判断の結果、書き込み停止信号を受信していない場合には、処理はステップＳ２０２に戻り、データの書き込みを継続する。書き込み停止信号を受信した場合、処理はステップ２０６に進み、ユーザーの設定した時間ウェイトし、ユーザーの設定した時間が経過した後、処理はステップＳ２０７に進む。ステップＳ２０７において、書き込み制御回路２５は、受信した書き込み停止信号に応答してメモリ２２への書き込みを停止する。
【００６９】
これによって、書き込み制御回路２５は、エラーが発生しているパラレル・データと、その前後のデータをメモリ２２に書き込むことが可能になる。データ解析部２０は、そのメモリ２２に保持されているデータを、所定の端子から出力することでエラー要因パターンを高価な測定器を使用することなく解析させることが可能となる。
【００７０】
［第２の実施形態］
以下に、図面を参照して本発明の第２の実施形態について説明を行う。図７は第２の実施形態の構成を例示するブロック図である。図７を参照すると、第２の実施形態の第１ＳＥＲＤＥＳ回路１のデータ解析部２０は、第１の実施形態のデータ解析部２０に、さらに、ＪＴＡＧコントローラ回路２６とセレクタ２７とを含んで構成されている。
【００７１】
第２の実施形態において、メモリ２２内に格納されたデータは、ＪＴＡＧ用のインタフェースより、数Ｍｂｐｓの低速シリアル・データとしてデバイス外部に出力される。ＪＴＡＧは、ＬＳＩの検査方式の一つであるバウンダリスキャンテストの標準方式である。最近では、ＣＰＵを始めとする各種ＬＳＩに広く採用されている。ＪＴＡＧに対応したＬＳＩは、本来の機能を果たす回路のほかに、ＪＴＡＧコントローラ回路２６とＴＡＰ（Ｔｅｓｔ  Ａｃｃｅｓｓ  Ｐｏｒｔ）と呼ばれる５本の端子からなるインタフェースを備えている。そのインターフェースは、テストデータの入出力や制御に用いられている。第２の実施形態における第１ＳＥＲＤＥＳ回路１は、この入出力端子をメモリ２２のデータ出力用に流用している。
【００７２】
セレクタ２７は、ＪＴＡＧインタフェースの５本の入出力端子を、通常のバウンダリスキャンテストのためＪＴＡＧコントローラ回路２６と接続するか、メモリ２２内のデータ出力するため、読み出し制御回路２３に接続するかを切り替える。本発明における解析を実行する際、セレクタ２７で読み出し制御回路２３に端子接続を切り替える。読み出し制御回路は、ＪＴＡＧの冶具からの読み出し信号に応じて、メモリ２２のデータを順に出力する。メモリ内容は、ＪＴＡＧ用治具を介してＰＣなどに取り込み、エラー要因となったパターンやその前後のパターンとの因果関係などを解析する。
【００７３】
第２の実施の形態では、メモリ２２から解析データをＬＳＩ外に読み出す端子として、ＪＴＡＧ用インタフェースを流用する例を示した。広く導入されているバウンダリスキャンテストと端子を共有にすることで、ＬＳＩの総端子増加を避けることができる。また、外部のＰＣに読み出す為の冶具を流用できる利点がある。本発明を実施するにあたっては、必ずしもＪＴＡＧ用の端子を流用する必要はなく、メモリ２２内の解析データを、読み出すことができる端子があればよい。同期クロックを入力する端子、ＬＳＩがデータを出力する端子、データ出力を促す入力端子、データのステータスを表す出力端子の合計４端子があれば、メモリよりデータを出力することが可能である。
【００７４】
また、トリガ制御回路２４が書き込み制御回路２５に出力する書き込み停止信号３４のタイミングを早めたり遅くしたりすることで、エラー要因パターンがメモリ２２内に格納される位置を調整することが可能である。エラー要因パターンが着信する以前のパターンを、より多くメモリ２２内に保持したり、エラー要因後の挙動を重点的に保持したりすることができる。
【００７５】
書き込み制御回路２５のイネーブル制御や、トリガ制御回路２４の書き込み停止信号の出力タイミング、また、セレクタ２７の切り替え制御は、第１ＳＥＲＤＥＳ回路１の内部に設けたレジスタの値や、外部端子からの制御信号によって可変的に設定変更が可能となる構成にすることもできる。
【００７６】
ここで、ＪＴＡＧを、デバイスが内蔵している自己診断テスト機能（ＢＩＳＴ）のインタフェースとして使用する場合の具体例を述べる。以下の実施の形態は、ＪＴＡＧの規格（ＩＥＥＥ１１４９．１）に記述されているものと同様の構成・動作を適用している。なお、上述の実施の形態に述べたように、本発明は、ＪＴＡＧインタフェースを使用することなく実現可能である。以下の具体例で説明するように、本発明において、読み出し手段にＪＴＡＧインタフェースを使用することで、端子を増やさずにメモリ２２内のデータを読み出すことができるという利点がある。
【００７７】
図８は、ＪＴＡＧ機能を有するデバイスの具体的な構成を例示する回路図である。ＪＴＡＧ機能を具備するデバイスは、ＴＡＰ（Ｔｅｓｔ  Ａｃｃｅｓｓ  Ｐｏｒｔ）と呼ばれるシリアル・インタフェースを備えている。ＴＡＰは、５本の信号線で構成され、テストロジックに対する命令やテストデータ、テスト結果のデータなどの入出力を実行している。ＪＴＡＧ機能を有するデバイスは、これらの信号線を外部のコンピュータから制御することによって、ＪＴＡＧテストを実施している。
【００７８】
図８を参照すると、本実施の形態のデバイスは、上記の５本の信号線に接続される端子（２８〜３２）を備えている。テストデータ入力端子２８は、ＴＤＩ（Ｔｅｓｔ  Ｄａｔａ  Ｉｎ）信号を受けて、インストラクションレジスタと読み出し制御回路２３とに供給している。ＴＤＩ信号は、テストロジックに対して、命令やデータをシリアル入力する信号であり。読み出し制御回路２３はＴＣＫ信号の立ち上がりでＴＤＩ信号をサンプリングする。テストデータ出力端子２９は、セレクタ２７を介して供給されるＴＤＯ（Ｔｅｓｔ  Ｄａｔａ  Ｏｕｔ）信号を出力している。ＴＤＯ信号は、テストロジックからのデータをシリアル出力する信号であり、出力の更新はＴＣＫ信号の立ち上がりで行う。クロック供給端子３１は、ＴＣＫ（Ｔｅｓｔ  Ｃｌｏｃｋ）信号を受けてＴＡＰコントローラ２６と、読み出し制御回路２３とにそのクロックを供給している。制御信号供給端子３０はＴＭＳ（Ｔｅｓｔ  Ｍｏｄｅ  Ｓｅｌｅｃｔ）信号を受けてＴＡＰコントローラに供給している。ＴＭＳ信号は、テスト動作を制御する信号であり、ＴＣＫ信号の立ち上がりでＴＰＡコントローラ２６にサンプリングされる。リセット信号供給端子３２は、ＴＲＳＴ（Ｔｅｓｔ  Ｒｅｓｅｔ）信号をＴＡＰコントローラに供給している。ＴＲＳＴ信号はＴＡＰコントローラを非同期にリセットする信号である。
【００７９】
ＴＡＰコントローラは２６、ＴＭＳ（Ｔｅｓｔ  Ｍｏｄｅ  Ｓｅｌｅｃｔ）信号とＴＣＫ（Ｔｅｓｔ  Ｃｌｏｃｋ）信号によって、バウンダリスキャンレジスタを制御する１６ステートマシン（順序回路）であり、ＪＴＡＧテストの中心的な機能を提供する。インストラクションレジスタは、ＴＡＰコントローラ用の命令ビットを読み込んでデコードする。ＪＴＡＧ機能を有するデバイスは、その命令に応答して、デバイスに各種の機能を実行させる。実装する命令の種類や命令コードの割り当ては、必須命令として定められているものと、実装しなくてもかまわないオプション命令や、設計者が自由に決めてよいプライベート命令とがある。
【００８０】
図９は、図８に示されるデバイスの動作を例示するフローチャートである。本実施の形態において、ＪＴＡＧ機能のＴＡＰコントローラ用の端子を、内蔵メモリのデータの読み出しに用いるためにプライベート命令として、インストラクションコード（命令コード）を決めておく。それをインストラクションレジスタに入力することによって、ＴＡＰコントローラに、内蔵メモリ読み出しテストのモードに設定する。内蔵メモリ読み出しテストのモードに入るとＴＡＰコントローラは、読み出し制御回路をイネーブルにし、テストデータ出力端子２９の出力を読み出し制御からのデータ信号に切り替える。
上述した図８に示されているように、読み出し制御回路２６は、ＴＣＫ及びＴＤＩが供給されている。ここで、図９を参照すると、読み出し制御回路２６は、ＴＣＫの立ち上がりエッジでＴＤＩがロウであることを検出すると、内蔵メモリのデータを先頭からＴＣＫに同期して１ビットずつテストデータ出力端子２９に出力する。
テスト・モードから通常に戻す場合は、インストラクション・コードを入力して外部より指示する。これによって、端子を増やさずにメモリ２２内のデータを読み出すことができる。
【図面の簡単な説明】
【００８１】
【図１】図１は、従来技術によるＳＥＲＤＥＳでＰＣＩ−Ｅｘｐｒｅｓｓの物理層を実現したブロック図である。
【図２】図２は、従来技術によるＳＥＲＤＥＳのパラレル・データを解析するため測定器を接続した状態を例示した図である。
【図３】図３は、第１の実施形態のＳＥＲＤＥＳ回路の構成を示す回路図である。
【図４】図４は、第１の実施形態のＳＥＲＤＥＳ回路の詳細な構成を示す回路図である。
【図５】図５は、トリガ制御回路の動作を示すフローチャートである。
【図６】図６は、書き込み制御回路の動作を示すフローチャートである。
【図７】図７は、第２の実施形態のＳＥＲＤＥＳ回路の構成を示す回路図である。
【図８】図８は、第２の実施形態のＳＥＲＤＥＳ回路の具体的な構成を示す回路図である。
【図９】図９は、第２の実施の形態の動作を例示するタイミングチャートである。
【符号の説明】
【００８２】
１…第１ＳＥＲＤＥＳ回路
２…第２ＳＥＲＤＥＳ回路
３…入力ＦＩＦＯ
４…８Ｂ１０Ｂ符号化回路
５…シリアライザ回路
６…出力バッファ
７…シンセサイザ回路
８…シンセサイザ回路
９…入力バッファ
１０…デシリアライザ回路
１１…クロック再生回路
１２…８Ｂ１０Ｂ復号化回路
１３…出力ＦＩＦＯ
１４…リンク間同期読出し回路
１５…伝送路
１６…入力パス
１７…出力パス
２０…データ解析部
２１…制御部
２２…メモリ
２３…読出し制御回路
２４…トリガ制御回路
２５…書き込み制御回路
２６…ＪＴＡＧコントローラ回路
２７…セレクタ
２８…テストデータ入力端子
２９…テストデータ出力端子
３０…制御信号入力端子
３１…クロック供給端子
３２…リセット信号供給端子
【図１】
2006250824.tif 000003
【図２】
2006250824.tif 000004
【図３】
2006250824.tif 000005
【図４】
2006250824.tif 000006
【図５】
2006250824.tif 000007
【図６】
2006250824.tif 000008
【図７】
2006250824.tif 000009
【図８】
2006250824.tif 000010
【図９】
2006250824.tif 000011