説明

並直列変換回路

【課題】擬似乱数をシリアルデータに変換する際に生じたエラーを簡易かつ正確に検出する。
【解決手段】乱数発生回路3からのパラレルデータの偶数ビットのビット列をシリアルデータに変換する第1並直列変換器11と、同パラレルデータの奇数ビットのビット列をシリアルデータに変換する第2並直列変換器12と、第1並直列変換器11で変換されたシリアルデータと第2並直列変換器12で変換されたシリアルデータとを交互にシリアル出力する第3並直列変換器13と、第1および第2並直列変換器11,12に次に入力されるパラレルデータを予測するための期待値を生成してパラレルデータと比較するPBRS解析回路とを有する。乱数発生回路3が用いた生成方程式と同じ方程式にて擬似乱数の期待値を生成し、生成した期待値と乱数発生回路3からのパラレルデータとの一致検出を行うため、並直列変換を行う際に生じたエラーを簡易かつ確実に検出できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生成多項式を用いて生成された擬似乱数をシリアルデータに変換する並直列変換回路に関し、特に乱数のビットパターンに誤りがあるか否かを検出する機能を設けた回路に関する。
【背景技術】
【0002】
パラレルデータをシリアルデータに変換する手法は種々提案されているが(特許文献1参照)、その一つとして、例えば10ビットのパラレルデータをシリアルデータに変換する場合に、5ビットずつのパラレルデータをそれぞれシリアルデータに変換する2個の5to1回路と、これら5to1回路の2ビット出力をシリアルデータに変換する2to1回路とで、10to1の並直列変換を行う手法がある。
【0003】
このような10to1の並直列変換機能を備えた送信回路は、2to1回路の出力をドライバで駆動能力を増強した後に外部に送信する。送信回路内の並直列変換処理が正しく行われたか否かの動作確認を行う場合、ドライバの出力信号を直接測定するか、あるいはドライバの出力を受信する受信回路内で直並列変換を行ってパラレルデータに変換してから測定を行うことが考えられる。
【0004】
ドライバの出力信号を直接測定する場合、送信回路から送信されるシリアルデータが高速の場合、高速にサンプリングを行わなければならないため、高性能のテスタが必要となる。
【0005】
また、受信回路内でパラレルデータに変換した後に測定する場合、シリアルデータよりも信号周波数が低くなるため、高性能のテスタは必要としないが、パラレルデータに異常が検出された場合に、送信回路と受信回路のどこに異常があるのか原因を特定するのが困難になる。
【0006】
さらに、上述した例のように、5to1回路と2to1回路のように、複数の並直列変換回路を組み合わせて並直列変換を行う場合、5to1回路と2to1回路のどちらに異常があるのか特定するのがより困難になる。
【特許文献1】特開2000-114981号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は、生成多項式を用いて生成された擬似乱数をシリアルデータに変換する際に生じたエラーを簡易かつ正確に検出可能な並直列変換回路を提供するものである。
【課題を解決するための手段】
【0008】
本発明の一態様によれば、所定の生成多項式を用いて発生された擬似乱数からなるパラレルデータに含まれる偶数ビットのビット列をシリアルデータに変換する第1並直列変換器と、前記パラレルデータに含まれる奇数ビットのビット列をシリアルデータに変換する第2並直列変換器と、前記第1並直列変換器で変換されたシリアルデータと前記第2並直列変換器で変換されたシリアルデータとを交互にシリアル出力する第3並直列変換器と、前記生成多項式と周期的に入力される前記パラレルデータとを用いて、前記第1および第2並直列変換器に次に入力される前記パラレルデータを予測するための期待値を生成して、前記次に入力されるパラレルデータとの一致検出を行う乱数解析回路と、を備えることを特徴とする並直列変換回路が提供される。
【発明の効果】
【0009】
本発明によれば、生成多項式を用いて生成された擬似乱数をシリアルデータに変換する際に生じたエラーを簡易かつ正確に検出することができる。
【発明を実施するための最良の形態】
【0010】
以下、図面を参照しながら、本発明の一実施形態について説明する。
【0011】
図1は本発明の一実施形態による並直列変換回路(以下、シリアライザと呼ぶ)1の概略構成を示すブロック図である。また、図2は図1のシリアライザ1を用いた送信回路2の概略構成を示すブロック図である。
【0012】
図1のシリアライザ1の構成を説明する前に、図2の送信回路2の構成について説明する。図2の送信回路2は、所定の生成多項式を用いて擬似乱数を発生してパラレルデータとして出力する乱数発生回路(PBRS:Pseudo-Random Binary Sequence)3と、図1に詳細構成を示すシリアライザ1と、シリアライザ1から出力された2ビットからなるパラレルデータをシリアルデータに変換する2to1回路(第3並直列変換器)13と、このシリアルデータの駆動能力を増強するドライバ4とを備えている。
【0013】
乱数発生回路3が使用する生成多項式の種類には特に制限はないが、以下では一例として、生成多項式(X7+X6+1)を使用して10ビットのパラレルデータからなる擬似乱数を生成する場合を例に取って説明する。なお、パラレルデータのビット数は10ビットには限定されない。
【0014】
図3は図2に示した乱数発生回路3の内部構成の一例を示す回路図である。図3の乱数発生回路3は、縦続接続された7個のフリップフロップ5と、6番目および7番目のフリップフロップ5の出力同士の排他的論理和を演算するExOR回路6とを有し、ExOR回路6の出力は初段のフリップフロップ5に入力される。
【0015】
図3の乱数発生回路3は、127種類(27−1)のパラレルデータを順繰りに生成し、127サイクルで同じパターンが出現するため、厳密には乱数ではなくて擬似乱数である。なお、本実施形態では、乱数発生回路3で生成されるパラレルデータのビット数を10ビットにしているの対し、図3は7個のフリップフロップ5しか持たないため、例えばパラレルデータの上位3ビットは0固定に設定される。
【0016】
乱数発生回路3から出力されるパラレルデータの周期には特に制限はないが、例えば4nsである。このパラレルデータをシリアライザ1にてシリアルデータに変換すると、例えば400psの周期になる。
【0017】
次に、図1および図2を参照して、シリアライザ1の構成について説明する。シリアライザ1は、乱数発生回路3から出力されたパラレルデータに含まれる偶数ビットからなるビット列EVEN Data[4:0]をシリアルデータ(EVENシリアルデータ)に変換する第1並直列変換器(5to1回路)11と、同パラレルデータに含まれる奇数ビットからなるビット列ODD Data[4:0]をシリアルデータ(ODDシリアルデータ)に変換する第2並直列変換器(5to1回路)12とを有する。第1並直列変換器11で変換されたシリアルデータと第2並直列変換器12で変換されたシリアルデータとは、図2に示す2to1回路13に入力されて、両シリアルデータを交互に選択したシリアルデータが生成される。
【0018】
また、シリアライザ1は、第1および第2並直列変換器11,12に次に入力されるパラレルデータを予測するための期待値を生成してパラレルデータと比較するPBRS解析回路14を有する。なお、図2では、図の簡略化のためにPBRS解析回路14を省略している。
【0019】
図4は第1並直列変換器11の内部構成の一例を示すブロック図である。第2並直列変換器12も同様に構成されているため、代表して第1並直列変換器11の内部構成を説明する。
【0020】
図4に示すように、第1並直列変換器11は、パラレルデータの偶数ビットに対応して設けられる縦続接続された複数のレジスタ回路E0〜E4を有する。10ビットのパラレルデータの場合、第1並直列変換器11内に5個のレジスタ回路E0〜E4が縦続接続されるが、図4ではそのうちの下位3ビットE0〜E2を図示している。
【0021】
複数のレジスタ回路E0〜E4のうち初段のレジスタ回路E4は、パラレルデータの最上位ビットに対応し、最終段のレジスタ回路E0は、パラレルデータの最下位ビットに対応している。
【0022】
第1並直列変換器11を構成する5個のレジスタ回路E0〜E4のそれぞれは、図4に示すように、乱数発生回路3から出力されたパラレルデータの対応ビットをラッチする第1フリップフロップFF1と、この第1フリップフロップFF1の出力を含めて2入力のうちいずれかを選択するマルチプレクサMUXと、マルチプレクサMUXの出力をラッチする第2フリップフロップFF2とを有する。
【0023】
マルチプレクサMUXは、初段のレジスタ回路E4か否かにより、入力される信号が異なる。初段のレジスタ回路E4内のマルチプレクサMUXは、後で詳述するPBRS解析回路14で生成された期待値と第1フリップフロップFF1の出力との一方を選択する。初段以外のレジスタ回路内のマルチプレクサMUXは、前段のレジスタ回路の出力と第1フリップフロップFF1の出力との一方を選択する。
【0024】
これらマルチプレクサMUXはいずれも、ロード信号LOADの論理に応じて選択動作を切り替える。ロード信号LOADは、後述するように、レジスタ回路E0〜E4のクロック信号CLKの5倍の周期をもっており、第1および第2並直列変換器11,12がそれぞれ5ビットのパラレルデータをシリアルデータに変換して出力するたびに、次のパラレルデータが第1フリップフロップFF1にて各レジスタ回路に取り込まれる。
【0025】
PBRS解析回路14は、図4に示すように、第1並直列変換器11内の下位3ビットに対応する3つのレジスタ回路E0〜E2のそれぞれごとに設けられるExOR回路21〜23と、これら3つのExOR回路21〜23の出力信号の論理和を演算するOR回路24と、OR回路24の出力をラッチするラッチ回路25とを有する。
【0026】
3つのExOR回路21〜23はそれぞれ、対応するレジスタ回路内のマルチプレクサMUXの2つの入力信号同士の排他的論理和を演算する。すなわち、各ExOR回路21〜23は、第1並直列変換器11内で生成した期待値とパラレルデータの対応ビットとの一致検出を行う。ExOR回路21〜23は、下位3ビットに対応する3つのレジスタ回路に対してしか設けられていないため、実際には、乱数発生回路3で生成されたパラレルデータの下位3ビットに対してのみ、期待値との一致検出を行う。一致検出を行うタイミングは、ロード信号LOADがハイの期間である。
【0027】
これらExOR回路21〜23は、両信号が一致する場合にはロウを、一致しない場合にはハイを出力する。後段のOR回路24は、パラレルデータの下位側3ビットのうち、いずれか1ビットでも一致しないビットがあれば、ハイを出力する。これにより、パラレルデータの下位3ビットの少なくとも1ビットで起こったエラーを確実に検出できる。
【0028】
この他、PBRS解析回路14は、図1に示すように、期待値を生成するための2つのExOR回路26,27を有する。ExOR回路26は、第1並直列変換器11内の左から3番目のレジスタ回路E2と第2並直列変換器12内の右から2番目のレジスタ回路O1との排他的論理和を期待値として演算する。この期待値は、第1並直列変換器11の初段のレジスタ回路E4に入力される。
【0029】
また、ExOR回路27は、第1並直列変換器11内の左から3番目のレジスタ回路E2と第2並直列変換器12内の左から3番目のレジスタ回路O2との排他的論理和を期待値として演算する。この期待値は、第2並直列変換器12の初段のレジスタ回路O4に入力される。
【0030】
ExOR回路26,27の接続箇所は、乱数発生回路3が擬似乱数を生成する際に用いる生成方程式に依存する。したがって、乱数発生回路3の生成方程式が変われば、それに合わせてExOR回路26,27の接続箇所も変える必要がある。
【0031】
第1および第2並直列変換器11,12とExOR回路26,27は、図3に示す乱数発生回路3と原理的に同じ動作を行って同様の擬似乱数を生成する。生成された擬似乱数が期待値として第1および第2並直列変換器11,12の初段のレジスタ回路に入力される。
【0032】
もし、第1および第2並直列変換器11,12とExOR回路26,27が正常に動作していれば、ExOR回路26,27で生成されて、第1および第2並直列変換器11,12で順にシフトされる期待値と、ロード信号LOADに同期して第1および第2並直列変換器11,12に取り込まれるパラレルデータとは一致するはずである。そこで、本実施形態のPBRS解析回路14は、図4に示すように、第1および第2並直列変換器11,12内の下位3ビットに対応させてExOR回路21〜23を設けて、期待値の3ビットとパラレルデータの下位3ビットとを比較し、両者が一致するかどうかを検出する。両者が一致しなければ、第1および第2並直列変換器11,12のどこかに不良があると判断できる。
【0033】
なお、第1および第2並直列変換器11,12の上位2ビットにはExOR回路は接続されていないため、これら2ビットについては直接的には一致検出ができない。ただし、期待値は、第1および第2並直列変換器11,12内のすべてのレジスタ回路E0〜E4、O0〜O4の出力信号を加味して設定されるため、下位3ビット側だけで期待値とパラレルデータの一致検出を行えば、間接的に上位2ビットについても一致検出を行ったことになる。
【0034】
乱数発生回路3と、第1および第2並直列変換器11,12における複数のレジスタ回路内の第1フリップフロップFF1および第2フリップフロップFF2とは、同じクロック信号CLKに同期して動作する。一方、乱数発生回路3から出力されたパラレルデータを複数のレジスタ回路内の第1フリップフロップFF1にロードするタイミングを指定するロード信号LOADは、クロック信号CLKの5倍の周期を持つ。
【0035】
図5は図4の第1並直列変換器11内の各部の動作タイミング図である。図示されていないが、第2並直列変換器12も同様のタイミングで動作する。まず、クロック信号CLKの立ち上がりエッジが入力されるタイミングで第1および第2並直列変換器11,12内の複数のレジスタ回路における第1フリップフロップFF1にに、乱数発生回路3から出力されたパラレルデータがラッチされる。
【0036】
ラッチされたパラレルデータは、ロード信号LOADがハイの期間内でクロック信号CLKがハイになったタイミング(時刻t2)で、第2フリップフロップFF2にラッチされる。図5では、第1並直列変換器11の第1フリップフロップFF1にロードされるパラレルデータを上位側から、(ED4_1, ED3_1, ED2_1, ED1_1, ED0_1)としている。
【0037】
また、ロード信号LOADがロウの期間内でクロック信号CLKがハイになったタイミング(時刻t3)で、前段のレジスタのデータが第2フリップフロップFF2にラッチされる。
【0038】
このように各レジスタ回路内の第2フリップフロップFF2にラッチされたパラレルデータは、その後クロック信号CLKの立ち上がりエッジが入力されるたびに、1ビットずつレジスタ回路間をシフトしていく。これにより、第1並直列変換器11からは、時刻t2のときにED0_1が、時刻t3のときにED1_1が、時刻t4のときにED2_1が、時刻t5のときにED3_1が、時刻t6のときにED4_1がそれぞれ出力される。
【0039】
このシフト動作に並行して、ExOR回路26,27はレジスタ回路E2,O1の排他的論理和を演算して期待値を生成し、生成した期待値を第1並直列変換器11の初段のレジスタ回路E4に入力する。例えば、時刻t2〜t3には、ExOR回路26で期待値KEO_2が生成されて初段のレジスタ回路E4に入力され、時刻t3のクロック信号CLKの立ち上がりで、初段のレジスタ回路E4にラッチされる。
【0040】
その後、クロック信号CLKの立ち上がりエッジが入力されるたびに、期待値KE1_2, KE2_2が順に生成されてレジスタ回路E4にラッチされる。これら3つの期待値は、時刻t5になった時点で、下位側の3つのレジスタ回路E0〜E2から出力される。
【0041】
時刻t6になると、クロック信号CLKの立ち上がりエッジが入力されるタイミングで乱数発生回路3から出力された次のパラレルデータが第1フリップフロップFF1にラッチされる。それを受けて、下位側の3つのレジスタ回路E0〜E2の出力端子に接続された3つのExOR回路21〜23は、レジスタ回路E0〜E2の出力(KE2_2, KE1_2, KE0_2)と乱数発生回路3からの新しいパラレルデータの出力との一致検出を行う。両者が一致すれば、ExOR回路21〜23は「0」を出力し、不一致であれば「1」を出力する。これにより、期待値とパラレルデータとが一致するか否か、すなわち、第1および第2並直列変換器11,12とPBRS解析回路14に何らかの不良があるか否かを検出できる。
【0042】
その後、時刻t7以降は、時刻t2以降の処理が繰り返される。
【0043】
このように、本実施形態によれば、乱数発生回路3で生成されたパラレルデータを偶数ビットと奇数ビットに分けて並直列変換する第1および第2並直列変換器11,12にExOR回路26,27を接続して、乱数発生回路3が擬似乱数を生成するのに用いた生成方程式と同じ方程式にて擬似乱数の期待値を生成し、生成した期待値と乱数発生回路3からのパラレルデータとの一致検出を行うため、並直列変換を行う際に生じたエラーを簡易かつ確実に検出でき、エラーの起こった場所の特定も容易になる。
【0044】
特に、本実施形態では、偶数ビットおよび奇数ビットの並直列変換を行う第1および第2並直列変換器11,12にExOR回路21〜23,26,27を接続するだけの簡易な回路で期待値の生成と、期待値とパラレルデータとの一致検出とを行えるため、エラー検出を行う大がかりな回路が不要となり、シリアライザ1全体の回路規模を小型化できる。したがって、本発明によれば、シリアライザ1全体を半導体基板上に形成する場合のレイアウト面積を縮小でき、集積化が容易になる。
【0045】
上述したように、パラレルデータのビット数は10ビットに限定されない。例えば、パラレルデータのビット数を2m(mは1以上の整数)とすると、第1および第2並直列変換器11,12にパラレルデータをロードするためのロード信号LOADの周期は、第1および第2並直列変換器11,12のシフト動作を行うクロック信号CLKの周期のm倍である。
【0046】
上述した実施形態では、本発明のシリアライザ1を送信回路2で用いる例を説明したが、本発明のシリアライザ1は、送信回路2以外の用途にも適用可能である。
【図面の簡単な説明】
【0047】
【図1】本発明の一実施形態による並直列変換回路1の概略構成を示すブロック図。
【図2】図1のシリアライザ1を用いた送信回路2の概略構成を示すブロック図。
【図3】図1に示した乱数発生回路3の一例を示す詳細回路図。
【図4】第1並直列変換器11の内部構成の一例を示すブロック図。
【図5】図4の第1並直列変換器11内の各部の動作タイミング図。
【符号の説明】
【0048】
1 並直列変換回路(シリアライザ)
2 送信回路
3 乱数発生回路
4 ドライバ
11 第1並直列変換器
12 第2並直列変換器
13 第3並直列変換器
14 PBRS解析回路
21〜23,26,27 ExOR回路
24 OR回路
25 ラッチ回路

【特許請求の範囲】
【請求項1】
所定の生成多項式を用いて発生された擬似乱数からなるパラレルデータに含まれる偶数ビットのビット列をシリアルデータに変換する第1並直列変換器と、
前記パラレルデータに含まれる奇数ビットのビット列をシリアルデータに変換する第2並直列変換器と、
前記第1並直列変換器で変換されたシリアルデータと前記第2並直列変換器で変換されたシリアルデータとを交互にシリアル出力する第3並直列変換器と、
前記生成多項式と周期的に入力される前記パラレルデータとを用いて、前記第1および第2並直列変換器に次に入力される前記パラレルデータを予測するための期待値を生成して、前記次に入力されるパラレルデータとの一致検出を行う乱数解析回路と、を備えることを特徴とする並直列変換回路。
【請求項2】
前記第1並直列変換器は、前記パラレルデータの偶数ビットのそれぞれに対応して設けられる複数のレジスタ回路を有し、
前記第2並直列変換器は、前記パラレルデータの奇数ビットのそれぞれに対応して設けられる複数のレジスタ回路を有し、
前記パラレルデータは、2m(mは1以上の整数)ビットのデータであり、
前記複数のレジスタ回路は、共通のクロック信号に同期して並直列変換動作を行い、かつ前記クロック信号のm倍の周期のロード信号に同期して前記パラレルデータをロードすることを特徴とする請求項1に記載の並直列変換回路。
【請求項3】
前記複数のレジスタ回路はそれぞれ、
前記乱数発生回路から出力された前記パラレルデータの対応するビット値をラッチする第1フリップフロップと、
前段の前記レジスタ回路の出力または前記乱数解析回路で生成された前記期待値と、前記第1フリップフロップの出力とのいずれか一方を選択するマルチプレクサと、
前記マルチプレクサの出力をラッチする第2フリップフロップと、を備え、
前記第1および第2フリップフロップは、前記クロック信号に同期して動作し、
前記マルチプレクサは、前記ロード信号に同期して選択動作を行うことを特徴とする請求項2に記載の並直列変換回路。
【請求項4】
前記乱数解析回路は、
前記複数のレジスタ回路のうち少なくとも一部のレジスタ回路に対応して設けられ、対応するレジスタ回路内の前記マルチプレクサに入力される2つのデータが一致するか否かを検出する一致検出回路と、
いずれか一つの前記一致検出回路で不一致が検出されると、エラー信号を出力するエラー検出回路と、を備えることを特徴とする請求項3に記載の並直列変換回路。
【請求項5】
前記乱数解析回路は、
前記第1並直列変換器内の前記複数のレジスタ回路内の一部のレジスタ回路の出力端子間と、前記第2並直列変換器内の前記複数のレジスタ回路内の一部のレジスタ回路の出力端子間とに接続される第1ExOR回路および第2ExOR回路を有し、
前記第1ExOR回路の出力は、前記期待値として前記第1並直列変換器の初段のレジスタ回路に入力され、
前記第2ExOR回路の出力は、前記期待値として前記第2並直列変換器の初段のレジスタ回路に入力され、
前記第1および第2ExOR回路の前記複数のレジスタ回路内の接続箇所は、前記生成方程式の種類により定まることを特徴とする請求項1乃至4のいずれかに記載の並直列変換回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate