(57)【要約】      （修正有）【課題】擬似乱数をシリアルデータに変換する際に生じたエラーを簡易かつ正確に検出する。【解決手段】乱数発生回路３からのパラレルデータの偶数ビットのビット列をシリアルデータに変換する第１並直列変換器１１と、同パラレルデータの奇数ビットのビット列をシリアルデータに変換する第２並直列変換器１２と、第１並直列変換器１１で変換されたシリアルデータと第２並直列変換器１２で変換されたシリアルデータとを交互にシリアル出力する第３並直列変換器１３と、第１および第２並直列変換器１１，１２に次に入力されるパラレルデータを予測するための期待値を生成してパラレルデータと比較するPBRS解析回路とを有する。乱数発生回路３が用いた生成方程式と同じ方程式にて擬似乱数の期待値を生成し、生成した期待値と乱数発生回路３からのパラレルデータとの一致検出を行うため、並直列変換を行う際に生じたエラーを簡易かつ確実に検出できる。【選択図】図２
2007300362.tif 000002
【特許請求の範囲】
【請求項１】
所定の生成多項式を用いて発生された擬似乱数からなるパラレルデータに含まれる偶数ビットのビット列をシリアルデータに変換する第１並直列変換器と、
前記パラレルデータに含まれる奇数ビットのビット列をシリアルデータに変換する第２並直列変換器と、
前記第１並直列変換器で変換されたシリアルデータと前記第２並直列変換器で変換されたシリアルデータとを交互にシリアル出力する第３並直列変換器と、
前記生成多項式と周期的に入力される前記パラレルデータとを用いて、前記第１および第２並直列変換器に次に入力される前記パラレルデータを予測するための期待値を生成して、前記次に入力されるパラレルデータとの一致検出を行う乱数解析回路と、を備えることを特徴とする並直列変換回路。
【請求項２】
前記第１並直列変換器は、前記パラレルデータの偶数ビットのそれぞれに対応して設けられる複数のレジスタ回路を有し、
前記第２並直列変換器は、前記パラレルデータの奇数ビットのそれぞれに対応して設けられる複数のレジスタ回路を有し、
前記パラレルデータは、２ｍ（ｍは１以上の整数）ビットのデータであり、
前記複数のレジスタ回路は、共通のクロック信号に同期して並直列変換動作を行い、かつ前記クロック信号のｍ倍の周期のロード信号に同期して前記パラレルデータをロードすることを特徴とする請求項１に記載の並直列変換回路。
【請求項３】
前記複数のレジスタ回路はそれぞれ、
前記乱数発生回路から出力された前記パラレルデータの対応するビット値をラッチする第１フリップフロップと、
前段の前記レジスタ回路の出力または前記乱数解析回路で生成された前記期待値と、前記第１フリップフロップの出力とのいずれか一方を選択するマルチプレクサと、
前記マルチプレクサの出力をラッチする第２フリップフロップと、を備え、
前記第１および第２フリップフロップは、前記クロック信号に同期して動作し、
前記マルチプレクサは、前記ロード信号に同期して選択動作を行うことを特徴とする請求項２に記載の並直列変換回路。
【請求項４】
前記乱数解析回路は、
前記複数のレジスタ回路のうち少なくとも一部のレジスタ回路に対応して設けられ、対応するレジスタ回路内の前記マルチプレクサに入力される２つのデータが一致するか否かを検出する一致検出回路と、
いずれか一つの前記一致検出回路で不一致が検出されると、エラー信号を出力するエラー検出回路と、を備えることを特徴とする請求項３に記載の並直列変換回路。
【請求項５】
前記乱数解析回路は、
前記第１並直列変換器内の前記複数のレジスタ回路内の一部のレジスタ回路の出力端子間と、前記第２並直列変換器内の前記複数のレジスタ回路内の一部のレジスタ回路の出力端子間とに接続される第１ExOR回路および第２ExOR回路を有し、
前記第１ExOR回路の出力は、前記期待値として前記第１並直列変換器の初段のレジスタ回路に入力され、
前記第２ExOR回路の出力は、前記期待値として前記第２並直列変換器の初段のレジスタ回路に入力され、
前記第１および第２ExOR回路の前記複数のレジスタ回路内の接続箇所は、前記生成方程式の種類により定まることを特徴とする請求項１乃至４のいずれかに記載の並直列変換回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生成多項式を用いて生成された擬似乱数をシリアルデータに変換する並直列変換回路に関し、特に乱数のビットパターンに誤りがあるか否かを検出する機能を設けた回路に関する。
【背景技術】
【０００２】
パラレルデータをシリアルデータに変換する手法は種々提案されているが（特許文献１参照）、その一つとして、例えば１０ビットのパラレルデータをシリアルデータに変換する場合に、５ビットずつのパラレルデータをそれぞれシリアルデータに変換する２個の５to１回路と、これら５to１回路の２ビット出力をシリアルデータに変換する２to１回路とで、１０to１の並直列変換を行う手法がある。
【０００３】
このような１０to１の並直列変換機能を備えた送信回路は、２to１回路の出力をドライバで駆動能力を増強した後に外部に送信する。送信回路内の並直列変換処理が正しく行われたか否かの動作確認を行う場合、ドライバの出力信号を直接測定するか、あるいはドライバの出力を受信する受信回路内で直並列変換を行ってパラレルデータに変換してから測定を行うことが考えられる。
【０００４】
ドライバの出力信号を直接測定する場合、送信回路から送信されるシリアルデータが高速の場合、高速にサンプリングを行わなければならないため、高性能のテスタが必要となる。
【０００５】
また、受信回路内でパラレルデータに変換した後に測定する場合、シリアルデータよりも信号周波数が低くなるため、高性能のテスタは必要としないが、パラレルデータに異常が検出された場合に、送信回路と受信回路のどこに異常があるのか原因を特定するのが困難になる。
【０００６】
さらに、上述した例のように、５to１回路と２to１回路のように、複数の並直列変換回路を組み合わせて並直列変換を行う場合、５to１回路と２to１回路のどちらに異常があるのか特定するのがより困難になる。
【特許文献１】特開2000-114981号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、生成多項式を用いて生成された擬似乱数をシリアルデータに変換する際に生じたエラーを簡易かつ正確に検出可能な並直列変換回路を提供するものである。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、所定の生成多項式を用いて発生された擬似乱数からなるパラレルデータに含まれる偶数ビットのビット列をシリアルデータに変換する第１並直列変換器と、前記パラレルデータに含まれる奇数ビットのビット列をシリアルデータに変換する第２並直列変換器と、前記第１並直列変換器で変換されたシリアルデータと前記第２並直列変換器で変換されたシリアルデータとを交互にシリアル出力する第３並直列変換器と、前記生成多項式と周期的に入力される前記パラレルデータとを用いて、前記第１および第２並直列変換器に次に入力される前記パラレルデータを予測するための期待値を生成して、前記次に入力されるパラレルデータとの一致検出を行う乱数解析回路と、を備えることを特徴とする並直列変換回路が提供される。
【発明の効果】
【０００９】
本発明によれば、生成多項式を用いて生成された擬似乱数をシリアルデータに変換する際に生じたエラーを簡易かつ正確に検出することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照しながら、本発明の一実施形態について説明する。
【００１１】
図１は本発明の一実施形態による並直列変換回路（以下、シリアライザと呼ぶ）１の概略構成を示すブロック図である。また、図２は図１のシリアライザ１を用いた送信回路２の概略構成を示すブロック図である。
【００１２】
図１のシリアライザ１の構成を説明する前に、図２の送信回路２の構成について説明する。図２の送信回路２は、所定の生成多項式を用いて擬似乱数を発生してパラレルデータとして出力する乱数発生回路（PBRS：Pseudo-Random Binary Sequence）３と、図１に詳細構成を示すシリアライザ１と、シリアライザ１から出力された２ビットからなるパラレルデータをシリアルデータに変換する２to１回路（第３並直列変換器）１３と、このシリアルデータの駆動能力を増強するドライバ４とを備えている。
【００１３】
乱数発生回路３が使用する生成多項式の種類には特に制限はないが、以下では一例として、生成多項式（Ｘ7＋Ｘ6＋１）を使用して１０ビットのパラレルデータからなる擬似乱数を生成する場合を例に取って説明する。なお、パラレルデータのビット数は１０ビットには限定されない。
【００１４】
図３は図２に示した乱数発生回路３の内部構成の一例を示す回路図である。図３の乱数発生回路３は、縦続接続された７個のフリップフロップ５と、６番目および７番目のフリップフロップ５の出力同士の排他的論理和を演算するExOR回路６とを有し、ExOR回路６の出力は初段のフリップフロップ５に入力される。
【００１５】
図３の乱数発生回路３は、１２７種類（２7−１）のパラレルデータを順繰りに生成し、１２７サイクルで同じパターンが出現するため、厳密には乱数ではなくて擬似乱数である。なお、本実施形態では、乱数発生回路３で生成されるパラレルデータのビット数を１０ビットにしているの対し、図３は７個のフリップフロップ５しか持たないため、例えばパラレルデータの上位３ビットは０固定に設定される。
【００１６】
乱数発生回路３から出力されるパラレルデータの周期には特に制限はないが、例えば4nsである。このパラレルデータをシリアライザ１にてシリアルデータに変換すると、例えば400psの周期になる。
【００１７】
次に、図１および図２を参照して、シリアライザ１の構成について説明する。シリアライザ１は、乱数発生回路３から出力されたパラレルデータに含まれる偶数ビットからなるビット列EVEN Data[4:0]をシリアルデータ（EVENシリアルデータ）に変換する第１並直列変換器（５to１回路）１１と、同パラレルデータに含まれる奇数ビットからなるビット列ODD Data[4:0]をシリアルデータ（ODDシリアルデータ）に変換する第２並直列変換器（５to１回路）１２とを有する。第１並直列変換器１１で変換されたシリアルデータと第２並直列変換器１２で変換されたシリアルデータとは、図２に示す２to１回路１３に入力されて、両シリアルデータを交互に選択したシリアルデータが生成される。
【００１８】
また、シリアライザ１は、第１および第２並直列変換器１１，１２に次に入力されるパラレルデータを予測するための期待値を生成してパラレルデータと比較するPBRS解析回路１４を有する。なお、図２では、図の簡略化のためにPBRS解析回路１４を省略している。
【００１９】
図４は第１並直列変換器１１の内部構成の一例を示すブロック図である。第２並直列変換器１２も同様に構成されているため、代表して第１並直列変換器１１の内部構成を説明する。
【００２０】
図４に示すように、第１並直列変換器１１は、パラレルデータの偶数ビットに対応して設けられる縦続接続された複数のレジスタ回路Ｅ０〜Ｅ４を有する。１０ビットのパラレルデータの場合、第１並直列変換器１１内に５個のレジスタ回路Ｅ０〜Ｅ４が縦続接続されるが、図４ではそのうちの下位３ビットＥ０〜Ｅ２を図示している。
【００２１】
複数のレジスタ回路Ｅ０〜Ｅ４のうち初段のレジスタ回路Ｅ４は、パラレルデータの最上位ビットに対応し、最終段のレジスタ回路Ｅ０は、パラレルデータの最下位ビットに対応している。
【００２２】
第１並直列変換器１１を構成する５個のレジスタ回路Ｅ０〜Ｅ４のそれぞれは、図４に示すように、乱数発生回路３から出力されたパラレルデータの対応ビットをラッチする第１フリップフロップFF1と、この第１フリップフロップFF1の出力を含めて２入力のうちいずれかを選択するマルチプレクサMUXと、マルチプレクサMUXの出力をラッチする第２フリップフロップFF2とを有する。
【００２３】
マルチプレクサMUXは、初段のレジスタ回路Ｅ４か否かにより、入力される信号が異なる。初段のレジスタ回路Ｅ４内のマルチプレクサMUXは、後で詳述するPBRS解析回路１４で生成された期待値と第１フリップフロップFF1の出力との一方を選択する。初段以外のレジスタ回路内のマルチプレクサMUXは、前段のレジスタ回路の出力と第１フリップフロップFF1の出力との一方を選択する。
【００２４】
これらマルチプレクサMUXはいずれも、ロード信号LOADの論理に応じて選択動作を切り替える。ロード信号LOADは、後述するように、レジスタ回路Ｅ０〜Ｅ４のクロック信号CLKの５倍の周期をもっており、第１および第２並直列変換器１１，１２がそれぞれ５ビットのパラレルデータをシリアルデータに変換して出力するたびに、次のパラレルデータが第１フリップフロップFF1にて各レジスタ回路に取り込まれる。
【００２５】
PBRS解析回路１４は、図４に示すように、第１並直列変換器１１内の下位３ビットに対応する３つのレジスタ回路Ｅ０〜Ｅ２のそれぞれごとに設けられるExOR回路２１〜２３と、これら３つのExOR回路２１〜２３の出力信号の論理和を演算するＯＲ回路２４と、ＯＲ回路２４の出力をラッチするラッチ回路２５とを有する。
【００２６】
３つのExOR回路２１〜２３はそれぞれ、対応するレジスタ回路内のマルチプレクサMUXの２つの入力信号同士の排他的論理和を演算する。すなわち、各ExOR回路２１〜２３は、第１並直列変換器１１内で生成した期待値とパラレルデータの対応ビットとの一致検出を行う。ExOR回路２１〜２３は、下位３ビットに対応する３つのレジスタ回路に対してしか設けられていないため、実際には、乱数発生回路３で生成されたパラレルデータの下位３ビットに対してのみ、期待値との一致検出を行う。一致検出を行うタイミングは、ロード信号LOADがハイの期間である。
【００２７】
これらExOR回路２１〜２３は、両信号が一致する場合にはロウを、一致しない場合にはハイを出力する。後段のＯＲ回路２４は、パラレルデータの下位側３ビットのうち、いずれか１ビットでも一致しないビットがあれば、ハイを出力する。これにより、パラレルデータの下位３ビットの少なくとも１ビットで起こったエラーを確実に検出できる。
【００２８】
この他、PBRS解析回路１４は、図１に示すように、期待値を生成するための２つのExOR回路２６，２７を有する。ExOR回路２６は、第１並直列変換器１１内の左から３番目のレジスタ回路Ｅ２と第２並直列変換器１２内の右から２番目のレジスタ回路Ｏ１との排他的論理和を期待値として演算する。この期待値は、第１並直列変換器１１の初段のレジスタ回路Ｅ４に入力される。
【００２９】
また、ExOR回路２７は、第１並直列変換器１１内の左から３番目のレジスタ回路Ｅ２と第２並直列変換器１２内の左から３番目のレジスタ回路Ｏ２との排他的論理和を期待値として演算する。この期待値は、第２並直列変換器１２の初段のレジスタ回路Ｏ４に入力される。
【００３０】
ExOR回路２６，２７の接続箇所は、乱数発生回路３が擬似乱数を生成する際に用いる生成方程式に依存する。したがって、乱数発生回路３の生成方程式が変われば、それに合わせてExOR回路２６，２７の接続箇所も変える必要がある。
【００３１】
第１および第２並直列変換器１１，１２とExOR回路２６，２７は、図３に示す乱数発生回路３と原理的に同じ動作を行って同様の擬似乱数を生成する。生成された擬似乱数が期待値として第１および第２並直列変換器１１，１２の初段のレジスタ回路に入力される。
【００３２】
もし、第１および第２並直列変換器１１，１２とExOR回路２６，２７が正常に動作していれば、ExOR回路２６，２７で生成されて、第１および第２並直列変換器１１，１２で順にシフトされる期待値と、ロード信号LOADに同期して第１および第２並直列変換器１１，１２に取り込まれるパラレルデータとは一致するはずである。そこで、本実施形態のPBRS解析回路１４は、図４に示すように、第１および第２並直列変換器１１，１２内の下位３ビットに対応させてExOR回路２１〜２３を設けて、期待値の３ビットとパラレルデータの下位３ビットとを比較し、両者が一致するかどうかを検出する。両者が一致しなければ、第１および第２並直列変換器１１，１２のどこかに不良があると判断できる。
【００３３】
なお、第１および第２並直列変換器１１，１２の上位２ビットにはExOR回路は接続されていないため、これら２ビットについては直接的には一致検出ができない。ただし、期待値は、第１および第２並直列変換器１１，１２内のすべてのレジスタ回路Ｅ０〜Ｅ４、Ｏ０〜Ｏ４の出力信号を加味して設定されるため、下位３ビット側だけで期待値とパラレルデータの一致検出を行えば、間接的に上位２ビットについても一致検出を行ったことになる。
【００３４】
乱数発生回路３と、第１および第２並直列変換器１１，１２における複数のレジスタ回路内の第１フリップフロップFF1および第２フリップフロップFF2とは、同じクロック信号CLKに同期して動作する。一方、乱数発生回路３から出力されたパラレルデータを複数のレジスタ回路内の第１フリップフロップFF1にロードするタイミングを指定するロード信号LOADは、クロック信号CLKの５倍の周期を持つ。
【００３５】
図５は図４の第１並直列変換器１１内の各部の動作タイミング図である。図示されていないが、第２並直列変換器１２も同様のタイミングで動作する。まず、クロック信号CLKの立ち上がりエッジが入力されるタイミングで第１および第２並直列変換器１１，１２内の複数のレジスタ回路における第１フリップフロップFF1にに、乱数発生回路３から出力されたパラレルデータがラッチされる。
【００３６】
ラッチされたパラレルデータは、ロード信号LOADがハイの期間内でクロック信号CLKがハイになったタイミング（時刻ｔ２）で、第２フリップフロップFF2にラッチされる。図５では、第１並直列変換器１１の第１フリップフロップFF1にロードされるパラレルデータを上位側から、（ED4_1, ED3_1, ED2_1, ED1_1, ED0_1）としている。
【００３７】
また、ロード信号LOADがロウの期間内でクロック信号CLKがハイになったタイミング（時刻ｔ３）で、前段のレジスタのデータが第２フリップフロップFF2にラッチされる。
【００３８】
このように各レジスタ回路内の第２フリップフロップFF2にラッチされたパラレルデータは、その後クロック信号CLKの立ち上がりエッジが入力されるたびに、１ビットずつレジスタ回路間をシフトしていく。これにより、第１並直列変換器１１からは、時刻ｔ２のときにED0_1が、時刻ｔ３のときにED1_1が、時刻ｔ４のときにED2_1が、時刻ｔ５のときにED3_1が、時刻ｔ６のときにED4_1がそれぞれ出力される。
【００３９】
このシフト動作に並行して、ExOR回路２６，２７はレジスタ回路Ｅ２，Ｏ１の排他的論理和を演算して期待値を生成し、生成した期待値を第１並直列変換器１１の初段のレジスタ回路Ｅ４に入力する。例えば、時刻ｔ２〜ｔ３には、ExOR回路２６で期待値KEO_2が生成されて初段のレジスタ回路Ｅ４に入力され、時刻ｔ３のクロック信号CLKの立ち上がりで、初段のレジスタ回路Ｅ４にラッチされる。
【００４０】
その後、クロック信号CLKの立ち上がりエッジが入力されるたびに、期待値KE1_2, KE2_2が順に生成されてレジスタ回路Ｅ４にラッチされる。これら３つの期待値は、時刻ｔ５になった時点で、下位側の３つのレジスタ回路Ｅ０〜Ｅ２から出力される。
【００４１】
時刻ｔ６になると、クロック信号CLKの立ち上がりエッジが入力されるタイミングで乱数発生回路３から出力された次のパラレルデータが第１フリップフロップFF1にラッチされる。それを受けて、下位側の３つのレジスタ回路Ｅ０〜Ｅ２の出力端子に接続された３つのExOR回路２１〜２３は、レジスタ回路Ｅ０〜Ｅ２の出力（KE2_2, KE1_2, KE0_2）と乱数発生回路３からの新しいパラレルデータの出力との一致検出を行う。両者が一致すれば、ExOR回路２１〜２３は「０」を出力し、不一致であれば「１」を出力する。これにより、期待値とパラレルデータとが一致するか否か、すなわち、第１および第２並直列変換器１１，１２とPBRS解析回路１４に何らかの不良があるか否かを検出できる。
【００４２】
その後、時刻ｔ７以降は、時刻ｔ２以降の処理が繰り返される。
【００４３】
このように、本実施形態によれば、乱数発生回路３で生成されたパラレルデータを偶数ビットと奇数ビットに分けて並直列変換する第１および第２並直列変換器１１，１２にExOR回路２６，２７を接続して、乱数発生回路３が擬似乱数を生成するのに用いた生成方程式と同じ方程式にて擬似乱数の期待値を生成し、生成した期待値と乱数発生回路３からのパラレルデータとの一致検出を行うため、並直列変換を行う際に生じたエラーを簡易かつ確実に検出でき、エラーの起こった場所の特定も容易になる。
【００４４】
特に、本実施形態では、偶数ビットおよび奇数ビットの並直列変換を行う第１および第２並直列変換器１１，１２にExOR回路２１〜２３，２６，２７を接続するだけの簡易な回路で期待値の生成と、期待値とパラレルデータとの一致検出とを行えるため、エラー検出を行う大がかりな回路が不要となり、シリアライザ１全体の回路規模を小型化できる。したがって、本発明によれば、シリアライザ１全体を半導体基板上に形成する場合のレイアウト面積を縮小でき、集積化が容易になる。
【００４５】
上述したように、パラレルデータのビット数は１０ビットに限定されない。例えば、パラレルデータのビット数を２ｍ（ｍは１以上の整数）とすると、第１および第２並直列変換器１１，１２にパラレルデータをロードするためのロード信号LOADの周期は、第１および第２並直列変換器１１，１２のシフト動作を行うクロック信号CLKの周期のｍ倍である。
【００４６】
上述した実施形態では、本発明のシリアライザ１を送信回路２で用いる例を説明したが、本発明のシリアライザ１は、送信回路２以外の用途にも適用可能である。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施形態による並直列変換回路１の概略構成を示すブロック図。
【図２】図１のシリアライザ１を用いた送信回路２の概略構成を示すブロック図。
【図３】図１に示した乱数発生回路３の一例を示す詳細回路図。
【図４】第１並直列変換器１１の内部構成の一例を示すブロック図。
【図５】図４の第１並直列変換器１１内の各部の動作タイミング図。
【符号の説明】
【００４８】
１  並直列変換回路（シリアライザ）
２  送信回路
３  乱数発生回路
４  ドライバ
１１  第１並直列変換器
１２  第２並直列変換器
１３  第３並直列変換器
１４  PBRS解析回路
２１〜２３，２６，２７  ExOR回路
２４  ＯＲ回路
２５  ラッチ回路
【図１】
2007300362.tif 000003
【図２】
2007300362.tif 000004
【図３】
2007300362.tif 000005
【図４】
2007300362.tif 000006
【図５】
2007300362.tif 000007