(57)【要約】【課題】レイテンシを軽減する共に、通信速度の向上及び回路面積の低減を実現する。【解決手段】  入力されたシリアルデータを第１のクロックに基づいて順次取り込んで保持するシフトレジスタＳＲと、前記シフトレジスタに取り込まれるシリアルデータに含まれる所定のパターンを検出するパターン検出部１３ａ，１３ｂ，１４ａ，１４ｂ，１５ａ，１５ｂと、前記パターン検出部の検出結果に基づいて前記シフトレジスタに保持されたシリアルデータの出力タイミングを決定する第２のクロック生成部１７とを具備したことを特徴とする。【選択図】図１
2009094891.tif 000002
【特許請求の範囲】
【請求項１】
入力されたシリアルデータを第１のクロックに基づいて順次取り込んで保持するシフトレジスタと、
前記シフトレジスタに取り込まれるシリアルデータに含まれる所定のパターンを検出するパターン検出部と、
前記シフトレジスタに保持されたシリアルデータを前記第１のクロックよりも低速の第２のクロックを用いてパラレルデータに変換して出力する場合に、前記シリアルデータから前記パラレルデータへの変換タイミングを前記パターン検出部の検出結果に基づいて決定するタイミング決定部と
を具備したことを特徴とする半導体集積回路装置。
【請求項２】
前記パターン検出部は、前記シリアルデータの所定のパターンを１以上のビットと残りのビットとに分け、前記シフトレジスタに入力されるシリアルデータが前記１以上のビットに一致するか否かを判定する論理回路と、
前記シフトレジスタに入力されるシリアルデータが前記残りのビットに一致するか否かを逐次的に判定する判定部とを具備することを特徴とする請求項１に記載の半導体集積回路装置。
【請求項３】
前記判定部は、リングバッファ及びビット比較回路によって構成されることを特徴とする請求項２に記載の半導体集積回路装置。
【請求項４】
前記論理回路は、前記シフトレジスタを構成する複数段のフリップフロップから前記１以上のビットに対応するビット値が与えられて、前記シフトレジスタに入力されるシリアルデータが前記１以上のビットに一致するか否かを判定し、
前記判定部は、前記論理回路によって前記シフトレジスタに入力されるシリアルデータが前記１以上のビットに一致すると判定された場合に、前記シリアルデータを取り込んで１ビットずつ逐次比較することにより、前記シフトレジスタに入力されるシリアルデータが前記残りのビットに一致するか否かを逐次的に判定することを特徴とする請求項２又は３のいずれか一方に記載の半導体集積回路装置。
【請求項５】
シリアルデータをシフトレジスタに取り込んで順次転送し、
前記シリアルデータの所定のパターンを１以上のビットと残りのビットとに分け、前記シフトレジスタに前記１以上のビットの数だけ前記シリアルデータが取り込まれると、取り込まれたビット値に対する論理演算によって前記シフトレジスタに入力されたシリアルデータが前記１以上のビットに一致するか否かを判定し、
前記シフトレジスタに入力されたシリアルデータが前記１以上のビットに一致すると前記論理演算によって判定された場合には、以後前記シリアルデータのビットが前記シフトレジスタに取り込まれる毎に、取り込まれるビットの値が前記所定パターンの残りのビットに一致するか否かをビット単位で判定して、前記シリアルデータ中の前記所定のパターンを検出することを特徴とするパターン検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速インターフェース回路のシリアルパラレル変換に好適な半導体集積回路装置及びパターン検出方法に関する。
【背景技術】
【０００２】
近年、コンピュータのバス等の高速インターフェースとして、ＳｅｒＤｅｓ（SERializer/DESerializer）が採用されることがある。ＳｅｒＤｅｓに採用されるデシリアライザは、シリアルデータからパラレルデータに変換する回路部分と、変換されたパラレルデータの同期パターンを検出して所望のパラレルデータに変換する回路部分とを有する。
【０００３】
即ち、デシリアライザにおいては、先ず、受信したシリアルデータを、高速クロックを用いて、複数のシフトレジスタに順次転送記憶させる。所定ビット数がシフトレジスタに記憶されると、低速のクロックを用いて各シフトレジスタからデータをパラレルに転送する。
【０００４】
次いで、同期をとるために、このパラレルデータをフレーマと呼ばれる回路に転送する。フレーマは所定ビット単位の複数のシフトレジスタ、複数の同期パターン検出回路及び選択回路を有している。複数のシフトレジスタに記憶された複数のパラレルデータから、同期パターン検出回路によって同期パターンを検出し、その検出位置に応じたフレーム（枠）を選択回路によって選択させる。こうして、選択回路からは同期パターンに同期したパラレルデータを得ることができる。これにより、送信データを確実に受信することが可能となる。
【０００５】
なお、この種のシリアル／パラレル変換回路については、特許文献１に詳述されている。
【０００６】
しかしながら、フレーマは低速クロックによって動作することから、レイテンシが増大し性能が低下するという欠点がある。一方、フレーム中のシフトレジスタの段数を減らすことによってレイテンシを減少させることが可能である。しかしながら、この場合には比較的大きい数の複数の同期パターン検出回路及び選択回路を駆動する必要があり、ファンアウトが大きくなって、デシリアライザの通信速度が低下するという問題がある。逆に、デシリアライザの通信速度を向上させるためにファンアウトを軽減しようとすると、レイテンシが増大することになり、性能低下及び回路面積の増加が問題となる。更に、フレーマは、複数の同期パターン検出器及び選択回路が必要であり、回路面積が比較的大きいという問題もある。
【特許文献１】特開平１１−１４５９４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、シリアルデータから所望ビット単位のパラレルデータへの整形途中において、同期パターン検出及びデータ整合を行うことで、レイテンシを軽減する共に、通信速度の向上及び回路面積の低減を実現することができる半導体集積回路装置及びパターン検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様の半導体集積回路装置は、入力されたシリアルデータを第１のクロックに基づいて順次取り込んで保持するシフトレジスタと、前記シフトレジスタに取り込まれるシリアルデータに含まれる所定のパターンを検出するパターン検出部と、前記シフトレジスタに保持されたシリアルデータを前記第１のクロックよりも低速の第２のクロックを用いてパラレルデータに変換して出力する場合に、前記シリアルデータから前記パラレルデータへの変換タイミングを前記パターン検出部の検出結果に基づいて決定するタイミング決定部とを具備したことを特徴とし、
本発明の一態様のパターン検出方法は、シリアルデータをシフトレジスタに取り込んで順次転送し、前記シリアルデータの所定のパターンを１以上のビットと残りのビットとに分け、前記シフトレジスタに前記１以上のビットの数だけ前記シリアルデータが取り込まれると、取り込まれたビット値に対する論理演算によって前記シフトレジスタに入力されたシリアルデータが前記１以上のビットに一致するか否かを判定し、前記シフトレジスタに入力されたシリアルデータが前記１以上のビットに一致すると前記論理演算によって判定された場合には、以後前記シリアルデータのビットが前記シフトレジスタに取り込まれる毎に、取り込まれるビットの値が前記所定パターンの残りのビットに一致するか否かをビット単位で判定して、前記シリアルデータ中の前記所定のパターンを検出することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、シリアルデータから所望ビット単位のパラレルデータへの整形途中において、同期パターン検出及びデータ整合を行うことで、レイテンシを軽減する共に、通信速度の向上及び回路面積の低減を実現することができるという効果を有する。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００１１】
（第１の実施の形態）
図１は本発明の第１の実施の形態に係る半導体集積回路装置を示す回路図である。本実施の形態はデシリアライザに適用した例を示している。
【００１２】
図１のデシリアライザは、入力されたシリアルデータをパラレルデータに変換するためのシリアルパラレル変換部１と、所定のパターンを検出するためのパターン検出部２とによって構成されている。シリアルパラレル変換部１は、シフトレジスタＳＲ及び出力部Ｏによって構成され、パターン検出部２は、ＡＮＤ回路１３ａ、ＮＯＲ回路１３ｂ、リングバッファ１４ａ，１４ｂ及び８ビット比較回路１５ａ，１５ｂによって構成される。
【００１３】
入力端子１１にはシリアルデータが入力され、入力端子１２には高速クロックＨＳＣＬＫが入力される。シリアルデータはシリアルパラレル変換部１を構成するシフトレジスタＳＲに供給されると共に、パターン検出部２を構成するＡＮＤ回路１３ａ及びＮＯＲ回路１３ｂに供給される。シフトレジスタＳＲは、変換しようとするパラレルデータのビット数に応じた段数だけ縦続接続された複数のフリップフロップＦＦ１によって構成される。なお、図１の例ではシフトレジスタＳＲは１０段のフリップフロップＦＦ１を有する。
【００１４】
シフトレジスタＳＲの各フリップフロップＦＦ１はデータ端に前段のフリップフロップＦＦ１の出力が供給され、クロック端に高速クロックＨＳＣＬＫが与えられる。シフトレジスタＳＲの各フリップフロップＦＦ１は、入力端に供給されるデータを高速クロックＨＳＣＬＫのエッジで取り込んで次段に出力する。こうして、シフトレジスタＳＲの各フリップフロップＦＦ１からは入力シリアルデータの一連のビット値が出力される。
【００１５】
シフトレジスタＳＲの各フリップフロップＦＦ１の出力は出力部Ｏにも与えられる。出力部Ｏは、シフトレジスタＳＲの各フリップフロップＦＦ１に対応した段数のフリップフロップＦＦを有する。出力部Ｏの各フリップフロップＦＦ２は、シフトレジスタＳＲの各段のフリップフロップＦＦ１の出力が夫々入力端に与えられ、クロック端には後述するクロックディバイダ１７から高速クロックＨＳＣＬＫを１０分周した低速クロックＬＳＣＬＫが与えられる。出力部Ｏの各フリップフロップＦＦ２は、夫々入力されたビット値を低速クロックＬＳＣＬＫのエッジで同時に取り込んで、パラレルデータとして出力する。なお、図１の例では、出力部Ｏは、１０段のフリップフロップＦＦ２を有しており、１０ビットのパラレルデータを出力することができる。
【００１６】
低速クロックＬＳＣＬＫのエッジの発生タイミング、即ち、シリアルデータからパラレルデータへの変換のタイミングは、シリアルデータ中に含まれる同期パターンを検出することで行われる。本実施の形態においては、同期パターンの検出は、パターン検出部２によって、シリアルパラレル変換部１のシリアル／パラレル変換の途中で行われる。
【００１７】
パターン検出部２を構成するＡＮＤ回路１３ａ及びＮＯＲ回路１３ｂによる論理回路は、入力シリアルデータの連続する所定ビット数のパターンをパラレルに同時に比較するためのものである。図１の論理回路の例は、８Ｂ１０Ｂ符号の同期パターンとして採用されているＫ２８．５±パターンに対応したものである。Ｋ２８．５＋パターンは、“１０１０００００１１”であり、Ｋ２８．５−パターンは、“０１０１１１１１００”である。即ち、Ｋ２８．５＋パターンでは、伝送順で最初に送られる２ビットは“１１”であり、Ｋ２８．５−パターンでは、伝送順で最初に送られる２ビットは“００”である。
【００１８】
ＡＮＤ回路１３ａ及びＮＯＲ回路１３ｂには、入力端子１１からのシリアルデータ及びシフトレジスタＳＲの初段のフリップフロップＦＦ１の出力が与えられる。即ち、ＡＮＤ回路１３ａ及びＮＯＲ回路１３ｂには、連続する２つのシリアルデータのビット値が与えられる。ＡＮＤ回路１３ａは、Ｋ２８．５＋パターンの伝送順で最初の２ビットが入力された場合に論理値“１”の出力を出力し、ＮＯＲ回路１３ｂは、Ｋ２８．５−パターンの伝送順で最初の２ビットが入力された場合に論理値“１”の出力を出力する。従って、ＡＮＤ回路１３ａ，１３ｂのいずれかの出力が“１”の場合には、Ｋ２８．５±パターンの入力が開始された可能性がある。
【００１９】
本実施の形態においては、論理回路によって、所望のパターンの１乃至数ビットをパターン比較し、残りのビットをリングバッファ１４ａ，１４ｂを用いて逐次的に比較するようになっている。リングバッファ１４ａ，１４ｂは、相互に同一構成であり、縦続接続された複数段のフリップフロップＦＦ３によって構成されている。リングバッファ１４ａ，１４ｂの各フリップフロップＦＦ３は、夫々入力端に前段の出力が与えられ、最終段のフリップフロップＦＦ３の出力は初段のフリップフロップＦＦ３の入力端に与えられる。リングバッファ１４ａ，１４ｂはクロック端に高速クロックＨＳＣＬＫが与えられ、高速クロックＨＳＣＬＫのエッジで入力端のデータを出力端から出力する。即ち、リングバッファ１４ａ，１４ｂの各フリップフロップＦＦ３は、高速クロックＨＳＣＬＫのエッジによって、データを巡回的にシフトさせる。
【００２０】
本実施の形態においては、リングバッファ１４ａ，１４ｂには初期値として、検出するパターン（Ｋ２８．５±パターン）のうちＡＮＤ回路１３ａ及びＮＯＲ回路１３ｂによる論理回路によってパターン比較されていない残りのビット値が設定される。リングバッファ１４ａ，１４ｂのクリア端には夫々ＡＮＤ回路１３ａ又はＮＯＲ回路１３ｂの出力が与えられて、初期値にリセットされるようになっている。図１では、各フリップフロップＦＦ３内の数字によって、設定されているビット値を示している。
【００２１】
リングバッファ１４ａ，１４ｂは、クリア端に“１”が与えられて初期値にリセットされた後、高速クロックＨＳＣＬＫのエッジ毎に、最終段のフリップフロップＦＦ３に設定された値から初段のフリップフロップＦＦ３に設定された値を順次出力する。リングバッファ１４ａ，１４ｂの出力は夫々８ビット比較回路１５ａ，１５ｂに与えられる。８ビット比較回路１５ａ，１５ｂには、入力端子１１を介してシリアルデータのビット値ＳＰも与えられており、８ビット比較回路１５ａ，１５ｂは、リングバッファ１４ａ，１４ｂからの順次入力されるビット値と、入力シリアルデータの各ビット値ＳＰとを逐次的に比較し、８ビットの全てが一致すると、論理値“１”の一致信号をＯＲ回路１６に出力するようになっている。なお、８ビット比較回路１５ａ，１５ｂが比較するビット数は、検出するパターンの全ビット数から論理回路によって同時的にパターン検出するビット数を引いたものであり、８ビットに限定されるものではない。
【００２２】
図２は図１中の８ビット比較回路１５ａ，１５ｂの具体的な構成の一例を示す回路図である。なお、８ビット比較回路１５ａ，１５ｂは相互に同一構成であるので、一方の構成のみを示す。
【００２３】
８ビット比較回路１５ａ，１５ｂのＥＮＯＲ回路２１には、リングバッファ１４ａ，１４ｂの出力ビット値ＰＲと入力シリアルデータのビット値ＳＰとが与えられる。ＥＮＯＲ回路２１は２入力の排他的論理和演算の反転出力をシフトレジスタ２２に出力する。シフトレジスタ２２は比較するビット数分の段数のフリップフロップＦＦ４が縦続接続されて構成されており、前段のフリップフロップＦＦ４の入力を高速クロックＨＳＣＬＫによって次段のフリップフロップＦＦ４に出力する。各フリップフロップＦＦ４の出力ＳＣ０〜ＳＣ７は８入力ＡＮＤ回路２３にも与えられる。８入力ＡＮＤ回路２３は、シフトレジスタ２２の全フリップフロップＦＦ４の出力の論理和演算を行う。
【００２４】
ＥＮＯＲ回路２１は、リングバッファ１４ａ，１４ｂからの出力ビット値ＰＲと入力シリアルデータのビット値ＳＰとが一致する場合に論理値“１”をシフトレジスタ２２に出力する。８入力ＡＮＤ回路２３は、シフトレジスタ２２の全フリップフロップＦＦ４の出力ＳＣ０〜ＳＣ７が“１”の場合に、“１”の一致信号ＣＲ８を出力する。これにより、８ビット比較回路１５ａ，１５ｂは、リングバッファ１４ａ，１４ｂに初期設定されたビット値のパターンと同一パターンのシリアルデータが入力された場合に、“１”の一致信号を出力する。
【００２５】
８ビット比較回路１５ａ，１５ｂからの一致信号はＯＲ回路１６に供給される。ＯＲ回路１６は、８ビット比較回路１５ａ，１５ｂからの一致信号が与えられ、少なくとも一方の一致信号が論理値“１”になることによって、一致信号ＣＲ８をクロックディバイダ１７に出力するようになっている。
【００２６】
なお、上述したシフトレジスタＳＲは、高速クロックＨＳＣＬＫで動作する。一方、８ビット比較回路１５ａ，１５ｂにおいても、高速クロックＨＳＣＬＫで転送されたビット値を比較する必要があり、通常の比較回路よりも高速な動作速度が要求されることが考えられる。そこで、本実施の形態の８ビット比較回路１５ａ，１５ｂにおいては、ＥＮＯＲ回路２１によってリングバッファの出力ビット値ＳＰとシリアルデータのビット値ＳＰとの比較を行った後、比較結果をシフトレジスタ２２に転送して蓄積し、蓄積した比較結果を論理和演算することで、高速な比較動作を可能にしている。
【００２７】
タイミング決定部としてのクロックディバイダ１７には入力端子１２から高速クロックＨＳＣＬＫが与えられている。クロックディバイダ１７は、“１”の一致信号ＣＲ８を低速クロックＬＳＣＬＫ生成の開始信号として用いて、低速クロックＬＳＣＬＫのエッジを生成すると共に、以後高速クロックＨＳＣＬＫを分周して、パラレルデータのビット数に応じた周期の低速クロックＬＳＣＬＫを発生する。クロックディバイダ１７からの低速クロックＬＳＣＬＫは出力部Ｏを構成する各フリップフロップＦＦ２のクロック端に供給される。
【００２８】
なお、所望のパターンの検出を、論理回路のみで同時的に検出する方法も考えられる。また、リングバッファ及び比較回路のみを用いて逐次的に検出する方法も考えられる。しかしながら、論理回路のみでパターン検出を行った場合には、論理回路の処理速度の制限からパターン検出速度が低下する虞がある。一方、リングバッファ及び比較回路のみによってパターン検出を行った場合には、リングバッファを構成するシフトレジスタのゲート数が比較的大きいことから、回路規模が増大してしまう。そこで、本実施の形態においては、検出するパターンを前半の１以上のビットと残りのビットとに分け、前半の１以上のビットについては論理回路を用いてパラレルに同時的に検出し、残りのビットについてはリングバッファを用いてビット毎に逐次的に検出することで、比較的小さい回路規模で比較的高速にパターン検出を行うことを可能にしている。
【００２９】
次に、このように構成された実施の形態の動作について図３のタイミングチャートを参照して説明する。図３は高速クロックＨＳＣＬＫ、入力シリアルデータのビット値ＳＰ、シフトレジスタＳＲの初段及び２段目のフリップフロップＦＦ１の出力ビット値Ｓ０，Ｓ１、ＡＮＤ回路１３ａ及びＮＯＲ回路１３ｂの出力、リングバッファ１４ａ，１４ｂの出力ＰＲ、８ビット比較回路１５ａ，１５ｂのシフトレジスタ２２の各フリップフロップＦＦ４の出力ＳＣ０，ＳＣ１，ＳＣ７、一致信号ＣＲ８、低速クロックＬＳＣＬＫ及び出力パラレルデータを示している。なお、図３中に示すデータの値はＫ２８．５＋パターンに対応したビット値を示している。
【００３０】
図３は、同期パターンとしてＫ２８．５±パターンを含むシリアルデータが入力され、１０ビットのパラレルデータに変換して出力する場合の例を示している。
【００３１】
入力端子１１にはシリアルデータが入力される。このシリアルデータは、シフトレジスタＳＲに与えられる。シフトレジスタＳＲは、図３に示す高速クロックＨＳＣＬＫを用いて、入力シリアルデータを順次シフトさせる。
【００３２】
図３に示すシリアルデータのビット値ＳＰは、ＡＮＤ回路１３ａ及びＮＯＲ回路１３ｂにも与えられる。図３中の斜線部分は同期パターン以外のデータを示し、白抜き部分は同期パターンのビット値を示している。
【００３３】
いま、入力シリアルデータが連続して“１”になるものとする。この場合には、シフトレジスタＳＲの初段のフリップフロップＦＦ１の入出力ビット値ＳＰ，Ｓ０はいずれも“１”となる。そうすると、図３に示すように、ＡＮＤ回路１３ａの出力（SP?）も論理値“１”であるハイレベル（以下、Ｈレベルという）となる。リングバッファ１４ａはＡＮＤ回路１３ａの出力が論理値“１”になることで、初期値にリセットされ、高速クロックＨＳＣＬＫのパルス毎に初期値を巡回的にシフトさせながら出力する。即ち、リングバッファ１４ａの出力ＰＲは、図３に示すように、高速クロックＨＳＣＬＫのパルス毎に“０００００１０１”となる。
【００３４】
リングバッファ１４ａの出力ＰＲは８ビット比較回路１５ａに与えられる。８ビット比較回路１５ａには入力端子１１からシリアルデータのビット値ＳＰも与えられる。８ビット比較回路１５ａのＥＮＯＲ回路２１は、ＡＮＤ回路１３ａで比較したビット値“１１”の次のビットからリングバッファ１４ａの出力ＰＲとシリアルデータのビット値ＳＰとを比較する。
【００３５】
いま、入力中のシリアルデータが同期パターン（Ｋ２８．５＋パターン）であるものとすると、８ビット比較回路１５ａのＥＮＯＲ回路２１の出力は同期パターンの入力期間中は“１”となる。ＥＮＯＲ回路２１の出力はシフトレジスタ２２の各フリップフロップＦＦ４に順次シフトされ、図３に示すように、Ｋ２８．５＋パターンの最後のビットの比較結果が出力された段階で、各フリップフロップＦＦ４の出力ＳＣ０〜ＳＣ７は全てＨレベルとなる。これらの出力ＳＣ０〜ＳＣ７は８入力ＡＮＤ回路２３に与えられ、図３に示すように、８入力ＡＮＤ回路２３からＨレベル（論理値“１”）の一致信号ＣＲ８が出力される。
【００３６】
この一致信号ＣＲ８は、８ビット比較回路１５ａからＯＲ回路１６を介してクロックディバイダ１７に供給される。こうして、クロックディバイダ１７は、Ｈレベルの一致信号ＣＲ８の入力の次の高速クロックＨＳＣＬＫのタイミングで、低速クロックＬＳＣＬＫのエッジを発生する。以後、クロックディバイダ１７は、所定周期の低速クロックＬＳＣＬＫを発生して出力する。なお、図３では低速クロックＬＳＣＬＫは、高速クロックＨＳＣＬＫを１０分周して得たものである。クロックディバイダ１７からの低速クロックＬＳＣＬＫは出力部Ｏの各フリップフロップＦＦ２のクロック端に与えられる。
【００３７】
この低速クロックＬＳＣＬＫのエッジタイミングで、シフトレジスタＳＲの各フリップフロップＦＦ１に保持されているビット値、即ちこの場合には１０ビットの同期パターンＫ２８．５＋の各ビット値が出力部Ｏの各フリップフロップＦＦ２から同時にパラレルデータとして出力される。
【００３８】
以後、クロックディバイダ１７は、高速クロックＨＳＣＬＫを１０分周した低速クロックＬＳＣＬＫを発生する。これにより、シフトレジスタＳＲに蓄積された連続した１０ビットずつのデータが、出力部Ｏからパラレルデータとして出力される。こうして、出力部Ｏからは、検出した同期パターンに同期したパラレルデータを得ることができる。
【００３９】
なお、Ｋ２８．５＋パターンが入力される場合について説明したが、Ｋ２８．５−パターンが入力される場合には、ＮＯＲ回路１３ｂ、リングバッファ１４ｂ及び８ビット比較回路１５ｂによって、パターンの一致、不一致が検出されれる。即ち、最初の２ビット“００”によってＮＯＲ回路１３ｂの出力が“１”となって、リングバッファ１４ｂが初期値に設定される。リングバッファ１４ｂの出力ビット値ＰＲと入力シリアルデータのビット値ＳＰとが８ビット比較回路１５ｂによって比較されて、Ｋ２８．５−パターンが検出される。他の動作はＫ２８．５＋パターンの場合と同様である。
【００４０】
このように本実施の形態においては、シリアルデータからパラレルデータへの変換のためにシリアルデータをシフトレジスタに転送する途中において、シリアルデータに含まれる所望のパターンを検出し、検出結果に基づいてパラレルデータへの変換タイミングを決定している。即ち、パラレル変換後にフレーマを用いてパターン検出を行うのではなく、シリアルデータを取込みながらパターン検出を行っており、フレーマを省略することができる。これにより、フレーマを構成する比較回路及び選択回路が不要となり、回路面積の削減が可能であり、また、ファンアウトを低減して動作速度の向上を図ることができる。また、低速クロックで動作する所定ビット単位のシフトレジスタも不要であり、レイテンシを削減して性能を向上させることができる。
【００４１】
また、本実施の形態においては、所望のパターンの検出を、前半の１以上のビットと残りのビットとに分け、前半の１以上のビットについては論理回路を用いてパラレルに同時的に検出し、残りのビットについてはリングバッファを用いてビット毎に逐次的に検出している。リングバッファを構成するシフトレジスタはゲート数が比較的大きい。一方、論理回路のゲート数は比較的小さい反面、動作速度が比較的遅い。本実施の形態においては、論理回路及びリングバッファで夫々検出するビット数を適宜設定することで、比較的小さい回路規模で比較的高速にパターン検出を行うことを可能にしている。
【００４２】
なお、上記実施の形態においては、検出するパターンとしてＫ２８．５±パターンを例に説明したが、任意パターンにも適用することができ、例えばユーザが決定した固定パターンにも適用可能である。また、論理回路によってパターン検出するビット数が２の例を説明したが、３ビット以上を論理回路で検出し、検出パターンの残りのビットをリングバッファ及び比較回路によって逐次的に検出するようにしてもよいことは明らかである。また、検出するパターンが３種類以上ある場合には、論理回路、リングバッファ及び比較回路を複数設ければよいことは明らかである。
【００４３】
（第２の実施の形態）
図４は本発明の第２の実施の形態に係る半導体集積回路装置を示す回路図である。図４において図１と同一の構成要素には同一符号を付して説明を省略する。
【００４４】
本実施の形態はクロックディバイダ１７及び出力部Ｏに夫々代えてクロックディバイダ３１及び出力部Ｏ’を採用すると共に、ロード信号生成器３２を付加した点が第１の実施の形態と異なる。出力部Ｏ’は、各フリップフロップＦＦ２毎に選択回路ＳＥが設けられた点が出力部Ｏと異なる。クロックディバイダ３１には、高速クロックＨＳＣＬＫが入力される。クロックディバイダ３１は、高速クロックＨＳＣＬＫを分周して、所定周期の低速クロックＬＳＣＬＫを発生して、出力部Ｏ’の各フリップフロップＦＦ２のクロック端に供給する。
【００４５】
シフトレジスタＳＲの各フリップフロップＦＦ１の出力は、選択回路ＳＥを介して出力部Ｏ’の各フリップフロップＦＦ２の入力端に供給される。選択回路ＳＥは、ロード信号生成器３２からのＬＯＡＤ信号によってシフトレジスタＳＲの各フリップフロップＦＦ１の出力を、出力部Ｏ’の対応するフリップフロップＦＦ２に与えるようになっている。これにより、出力部Ｏ’は、ＬＯＡＤ信号に同期し、低速クロックＬＳＣＬＫ周期で、シフトレジスタＳＲの各フリップフロップＦＦ１の出力をパラレル出力する。
【００４６】
ロード信号生成器３２には、高速クロックＨＳＣＬＫ及びＯＲ回路１６の出力が与えられる。ロード信号生成器３２は、ＯＲ回路１６からの論理値“１”の一致信号によって、高速クロックＨＳＣＬＫに同期したＬＯＡＤ信号を発生するようになっている。
【００４７】
次に、このように構成された実施の形態の動作について図５のタイミングチャートを参照して説明する。図５は高速クロックＨＳＣＬＫ、入力シリアルデータのビット値ＳＰ、シフトレジスタＳＲの初段及び２段目のフリップフロップＦＦ１の出力ビット値Ｓ０，Ｓ１、ＡＮＤ回路１３ａ及びＮＯＲ回路１３ｂの出力、リングバッファ１４ａ，１４ｂの出力ＰＲ、８ビット比較回路１５ａ，１５ｂのシフトレジスタ２２の各フリップフロップＦＦ４の出力ＳＣ０，ＳＣ１，ＳＣ７、ＬＯＡＤ信号、出力パラレルデータＬＳＤＡＴＡを示している。なお、図５中に示すデータの値はＫ２８．５＋パターンに対応したビット値を示している。
【００４８】
本実施の形態においても、パターン検出部２の動作は第１の実施の形態と同様である。ＯＲ回路１６からは、入力シリアルデータに含まれる同期パターンの検出によって、論理値が“１”の一致信号が出力される（図５参照）。
【００４９】
ロード信号生成器３２は、ＯＲ回路１６からの論理値が“１”の一致信号によって論理値が“１”（Ｈレベル）となるＬＯＡＤ信号を発生する。このＬＯＡＤ信号は出力Ｏ’を構成する各セレクタＳＥに供給される。
【００５０】
出力部Ｏ’の各段のセレクタＳＥには、シフトレジスタＳＲの対応する各フリップフロップＦＦ１からシリアルデータのビット値が与えられている。セレクタＳＥは、ＨレベルのＬＯＡＤ信号が入力されるまでは、各フリップフロップＦＦ２の出力を選択して出力しており、ＨレベルのＬＡＯＤ信号が入力されることで、始めてシフトレジスタＳＲの対応する各フリップフロップＦＦ１の出力を選択して出力する。これにより、出力部Ｏ’の各フリップフロップＦＦ２は、ＨレベルのＬＯＡＤ信号に同期し、低速クロックＬＳＣＬＫ周期で、シフトレジスタＳＲに保持されたビット値をパラレルデータＬＳＤＡＴＡとして出力する。
【００５１】
このように本実施の形態においても、第１の実施の形態と同様の効果を得ることができる。
【図面の簡単な説明】
【００５２】
【図１】本発明の第１の実施の形態に係る半導体集積回路装置を示す回路図。
【図２】図１中の８ビット比較回路１５ａ，１５ｂの具体的な構成の一例を示す回路図。
【図３】第１の実施の形態の動作を説明するためのタイミングチャート。
【図４】本発明の第２の実施の形態に係る半導体集積回路装置を示す回路図。
【図５】第２の実施の形態の動作を説明するためのタイミングチャート。
【符号の説明】
【００５３】
ＳＲ…シフトレジスタ、Ｏ…出力部、ＦＦ１〜ＦＦ４…フリップフロップ、１３ａ…ＡＮＤ回路、１３ｂ…ＮＯＲ回路、１４ａ，１４ｂ…リングバッファ、１５ａ，１５ｂ…８ビット比較回路、１６…ＯＲ回路、１７…クロックディバイダ。
【図１】
2009094891.tif 000003
【図２】
2009094891.tif 000004
【図３】
2009094891.tif 000005
【図４】
2009094891.tif 000006
【図５】
2009094891.tif 000007