JP5531655B2 - シリアルデータ受信回路装置及びシリアルデータ受信方法 - Google Patents

シリアルデータ受信回路装置及びシリアルデータ受信方法 Download PDF

Info

Publication number
JP5531655B2
JP5531655B2 JP2010025880A JP2010025880A JP5531655B2 JP 5531655 B2 JP5531655 B2 JP 5531655B2 JP 2010025880 A JP2010025880 A JP 2010025880A JP 2010025880 A JP2010025880 A JP 2010025880A JP 5531655 B2 JP5531655 B2 JP 5531655B2
Authority
JP
Japan
Prior art keywords
data
circuit
serial
clock
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010025880A
Other languages
English (en)
Other versions
JP2011166383A (ja
Inventor
和美 早坂
竜二 岩月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010025880A priority Critical patent/JP5531655B2/ja
Priority to US13/015,243 priority patent/US8401138B2/en
Priority to CN2011100354337A priority patent/CN102147785A/zh
Priority to EP11153586.0A priority patent/EP2355398B1/en
Priority to KR1020110011184A priority patent/KR101174234B1/ko
Publication of JP2011166383A publication Critical patent/JP2011166383A/ja
Application granted granted Critical
Publication of JP5531655B2 publication Critical patent/JP5531655B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L7/042Detectors therefor, e.g. correlators, state machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)

Description

本発明は、高速転送されるシリアルデータの受信回路装置及びシリアルデータ受信方法に関する。
図1は、従来のシリアルバスの適用事例を示した図である。図1に示すコンピュータ・システムの構成例は、CPU(Central Processing Unit)10、MCU(Memory Control Unit)11、メモリ12、リード・オンリー・メモリー(ROM)17やLocal Area Network(LAN)18等の各種周辺制御装置とのデータ通信を行なうためのIO Adapter14〜16、IO Adapter14〜16の制御を行なうためのIO Unit (IOU)13を有する。
コンピュータ間やコンピュータの部品間のデータ転送は、従来からパラレルバスを用いた転送やシリアルバスを用いた転送により行なわれてきた。ここで、半導体集積回路では、ピン数が増えるほど高価になるので、ピン数を減らすため、速度が重視されないデータ転送にはシリアルバスを使うことが多い。そのため、例えば、図1におけるROM17とIO Adapter15間や、LAN18とIO Adapter16間の部分や、IO Adapter14〜16とIOU13間等でシリアルバスが用いられてきた。
図2は、高速なシリアルバスの適用事例を示した図である。従来、図1に示すようにシリアル転送はCPU10からのアクセス・レイテンシが大きく影響しない比較的低速でアクセスするIOデバイスとの接続等の場面で多く用いられていた。しかし、コンピュータ・システムの高速化等に伴い、図2に示すように、CPU10とMCU11間やMCU11とIOU13間といった、CPUのアクセス・レイテンシに影響を与えるようなシステムバス19−1、19−2等でも利用されるようになってきた。このようなシステムバスにシリアルバスが用いられるようになってきた理由としては、シリアル転送を用いた場合、パラレル転送で問題となる配線長の差に起因するビット間スキューを考慮する必要がない等の利点があるためである。
シリアルバスを用いた転送を行うインタフェースでは、シリアルバスに接続された送信回路はパラレルデータをシリアルデータに変換して送信を行う。シリアルバスに接続された受信回路ではシリアルデータとして転送されてきたデータをパラレルデータに復元して受信する。このようなシリアルバスを用いたデータ転送を行なう場合、送信側と受信側でパラレルデータの基準位置を合わせる必要がある。高速シリアル転送等においては、一般に、動作の初期段階、その他特定のタイミングでトレーニング期間を設け、その間、特定のコードを送信して、データ通信に必要な準備処理等が行なわれる。そのため、このようなトレーニング期間中に送信側と受信側でのパラレルデータの基準位置を合わせる処理も行なわれる。
高速シリアル転送を行なう場合には、例えば8ビット幅のパラレルデータをシリアルデータに変換して送信する際に、8B10Bエンコーダ回路により8ビットデータを10ビット化して送信する場合がある。8B10Bエンコード方式は、シリアルデータ中にクロック信号の情報を埋め込むことで、データとクロックを同じ配線で転送する。
この8B10Bエンコード方式では、シリアル通信時に送信する「0」と「1」のデータの数を同数にすることによりDCバランスを保ったり、伝送路上のデータ化けをある程度検出させることができる。また、8ビットデータを10ビット化すると、転送データ以外に特殊な意味を持たせた特殊コードも転送することが可能となる。この特殊コードに特殊な意味を持たせてデータ転送時の制御等に用いることができる。また、この特殊コードは、送信側と受信側でデータ境界を合わせるために利用される。
ここで、背景技術として、特許文献1では、8B10Bでエンコードされたシリアルデータに含まれる特定のcomma信号に着目して、入力されたシリアルデータに含まれるcomma信号を含むか否かを検出して受信データのワード同期を行なう発明が開示されている。また、特許文献2では、2つのリングバッファからなるパターン検出器によりシリアルデータに含まれる特定のコードを検出し、シリアルデータをパラレルデータとして取り込むタイミングを決定する発明が開示されている。
特許第3094973号公報 特開2009-94891号公報
しかしながら、従来技術では10 Gbpsやそれ以上の高速データ転送では、転送データの境界を検出するための回路の動作速度が間に合わなくなるという問題がある。また、システムバス等にシリアル通信を用いる場合、アクセス・レイテンシを最小限に抑える必要もある。従って、アクセス・レイテンシを抑えつつ、高速なシリアル転送を実現したいという課題がある。
上記の課題を解決するために、本発明に係るシリアルデータ受信回路装置は、所定の転送ビット数である第1のビット数単位で区切られた通信データと前記第1のビット数単位で区切られた制御用データとを含むシリアルデータを受信するシリアルデータ受信回路装置であって、前記シリアルデータを受信して前記第1のビット数よりも少ないビット数である第2のビット数のパラレルデータに前記シリアルデータを変換するシリアル・パラレル変換回路と、前記第2のビット数単位のビット幅を持つ複数のレジスタを有し、前記シリアル・パラレル変換回路で変換されたパラレルデータを入力された順に、前記数のレジスタの中で前記パラレルデータが直接入力される第1のレジスタから前記複数のレジスタの配置順にシフトしながら保持するデータ保持回路と、前記データ保持回路に格納されたデータに含まれる制御用データを検出して、受信したシリアルデータの区切り位置を検出する検出回路と、前記検出回路の検出結果から得られる前記データ区切り位置に関する情報を基に、前記データ保持回路に格納されたパラレルデータに含まれる、前記データ区切り位置から第2のビット数分のデータを選択するための選択信号を生成する検出位置保持回路と、前記検出位置保持回路で生成された選択信号に基づいて、前記データ保持回路に格納されたデータのうち、検出した区切り位置を基準として、第2のビット数単位でデータを選択する選択回路と、を有し、前記検出位置保持回路は、前記第2のビット数分のデータが前記複数のレジスタの中の前記第1のレジスタおよび前記第1のレジスタの近くに配置されたレジスタに最大限保持されるように前記第2のビット数分のデータを選択する前記選択信号を生成する
本発明に係るシリアルデータ受信回路装置では、高速転送されてくるシリアルデータについて、受信データの境界位置に関係なく所定のビット数単位で一旦パラレルデータに変換し、変換した複数のパラレルデータに含まれる特定コードを検出する。このような構成にすることで、所望のデータ境界で区切られた受信データを高速、かつ短い処理レイテンシで取り出すことが可能となる。
従来のシリアルバスの適用事例を示した図である。 高速なシリアルバスの適用事例を示した図である。 高速なシリアルバスの受信装置例の機能概要を示した図である。 高速なシリアルバスの受信装置例に係る10bit境界検出回路と10bitデータ選択回路を示した図である。 高速なシリアルバスの受信装置例に係るクロック乗り換えバッファの概要を示した図である。 高速なシリアルバスの受信装置例に係るシリアルデータ受信回路の動作タイムチャートを示した図である。 実施例に係る機能概要を示した図である。 実施例に係るシリアルバスの適用事例の機能概要を示した図である。 実施例に係る10bit境界検出回路と4bitデータ選択回路を示した図である。 実施例に係る動作概要タイムチャートを示した図である。 実施例に係るクロック乗り換えバッファへの書き込みデータ選択と書き込みタイミング(A)を示した図である。 実施例に係るクロック乗り換えバッファへの書き込みデータ選択と書き込みタイミング(B)を示した図である。 実施例に係るクロック乗り換えバッファへの書き込みデータ選択と書き込みタイミング(C)を示した図である。 実施例に係るクロック乗り換えバッファへの書き込みデータ選択と書き込みタイミング(D)を示した図である。 実施例に係るシリアルデータ受信回路の動作タイムチャートを示した図である。
高速なシリアル転送を実現する際、例えば前記8B10B転送エンコード方法を用いてシリアル転送を行なう場合に、受信側装置において、まずシリアルデータを単にパラレルデータに変換してから、10bit境界を検出する方法が考え得る。
図3は、高速なシリアルバスの受信装置例を示した図である。図3は、受信側装置において、受信したシリアルデータを単にパラレルデータに変換してから10bit境界を検出する場合の適用事例の機能概要を示す。図3の事例では、送信側装置20は8ビット幅のパラレルデータをシリアル化し、シリアルバス26を介して受信側装置30にシリアルデータを転送する。受信側装置30は、シリアルバス26を介して受信したシリアルデータをパラレルデータに変換し、受信側装置30の内部回路において受信したデータに対する必要な処理を行なう。以下、具体的に送信側装置20及び受信側装置30におけるデータ変換等について説明する。
送信側装置20において、8B10B変換回路22は、8ビット幅の送信データ保持レジスタ21から出力される8ビットのパラレル信号を所定の変換規則に従って10ビットデータに変換する。10ビット幅の送信データ保持レジスタ23は、8B10B変換回路22により変換された10ビットデータを保持する。SerDes(SERializer/DESerializer)回路24は、送信データ保持レジスタ23から出力される10ビット幅のパラレルデータを、所定の方式に従ってシリアルデータに変換する。SerDes回路24によって変換されたシリアルデータは、バッファ25を介してシリアルバス26に出力される。バッファ25は、ドライバ用バッファであって、差動タイプのバッファであっても良い。シリアルバス26は、例えばIEEE 1394、USB(Universal Serial Bus)、SATA(Serial Advanced Technology Attachment)、PCI Express等のシリアル転送方式で用いられるシリアル形式のバスを言う。
受信側装置30では、シリアルバス26を介して送信されるシリアルデータをバッファ31により受信する。バッファ31は受信用バッファであって、差動信号として送信されてきたデータ信号を受信するバッファであっても良い。
SerDes回路32は、バッファ31により受信したシリアルデータを10ビットのパラレルデータに変換する。SerDes回路32でデータ変換する際、受信したシリアルデータのデータ境界に関係なく、10ビット単位でシリアルデータからパラレルデータへの変換が行なわれる。SerDes回路32で変換されたパラレルデータは、所定のタイミングで10ビットの受信データレジスタ33に格納される。受信データレジスタ33は、後述の複数の10ビットレジスタにより構成され、SerDes回路32から出力されるパラレルデータを順次格納する。
受信データレジスタ33に格納された10ビット単位のデータは、送信側装置20の8B10B変換回路22で変換した際の10ビットデータと境界位置が合うとは限らない。従って、受信側装置30において受信したデータの境界位置を検出する必要がある。10ビット境界検出回路34は、受信データレジスタ33に格納されたパラレルデータの中から、送信側装置20から受信側装置30に転送されたデータに含まれる、データ転送時の制御等に用いられる特殊コードのうちの、データ境界位置検出のための特定コードを検出する。10ビット境界検出回路34は、このデータ境界位置検出のための特定コードを検出することにより、転送データにおける10ビット毎のデータ境界位置を検出する。10ビット境界検出回路34により検出されたデータ境界の情報に基づいて、検出されたデータ境界から10ビット分のデータが受信データレジスタから取り出され、10ビットの受信データレジスタ35に格納される。ここで、受信側装置30の動作速度の要件を満たす限りにおいて、受信データレジスタ35によるデータラッチを省略することもできる。
尚、図3には示されていないが、SerDes回路32は、受信データの変換を行なう際、受信したシリアルデータからクロックも再生する。この再生クロックはSerDes回路32や10ビットの受信データレジスタ33等で使用される。また、図示されていないが、前記再生クロックから所定の分周比で分周したクロックが生成され、受信データレジスタ33、10ビット境界検出回路34、受信データレジスタ35、又は後述のクロック乗り換えバッファ36等の動作クロックとして使用される。例えば、SerDes回路32で受信されたシリアルデータを10ビット単位でパラレルデータに変換する場合には、再生クロックを10分周した分周クロックを生成して用いることができる。これらの再生クロック及び分周クロックは、基本的に送信側装置20のクロックに同期したクロックであり、受信側装置30で用いられるクロックとは異なるクロックである。
ところで、イーサネット(登録商標)等のシリアルバス26を介して接続される送信側装置20と受信側装置30は離れた位置に設置されている場合も多々あり、同じ動作周波数で動作させる場合でも個々の装置ごとに異なるクロックオシレータによりクロックが生成される。送信側と受信側で異なるクロックオシレータを使用した場合、クロックオシレータの個体差により、クロックの周波数に微妙にズレが生じる場合がある。このクロックのズレを吸収して受信側装置30のクロックに乗り換えるために、クロック乗り換えバッファ36が用いられる。
クロック乗り換えバッファ36では、送信側装置20から受信したシリアルデータから再生されたクロックを分周した分周クロックに加えて、受信側装置30のクロック、すなわち、受信側クロックが入力され、受信データのクロック乗り換えが行なわれる。具体的には、送信側クロックである前記分周クロックで動作する受信データレジスタ35から出力されたパラレルデータが、同じ分周クロックで動作するクロック乗り換えバッファ36の書き込みポートに書き込まれる。クロック乗り換えバッファ36に書き込まれたデータは、次に、受信側クロックで動作する読み出しポートから読み出され、受信側クロックで動作する10ビットの受信データレジスタ37に格納される。このようにクロック乗り換えバッファ36において、送信側クロックで受信データを書き込み、書き込まれたデータを受信側クロックで読み出すことにより、受信データのクロック乗り換えが行なわれる。
受信データレジスタ37に格納された10ビットデータは、さらに10B8B変換回路38により所定の変換規則に従って8ビットデータに変換され、8ビットの受信データレジスタ39に格納される。このようにして送信側装置20からシリアルバス26を介して受信側装置30にデータ送信が行なわれる。
尚、図3における前記各レジスタ21、23、33、35、37、39は、必ずしも複数のフリップ・フロップにより構成されるレジスタである必要はなく、メモリや複数のラッチにより実現しても良い(以下に述べる各レジスタについても同様)。また、図3では、高速なシリアル転送を行なうための高速動作する送受信回路の構成を想定しているため、種々のデータ処理の間ごとにレジスタでデータをラッチする構成としている。しかし、高速動作を要しない場合等において動作速度の要件を満たす場合には、例えば、レジスタ21、35、37、39等を省略した実装設計を行なうことも可能である。
図4は、図3における受信側装置30内の受信データレジスタ33からクロック乗り換えバッファ36までの回路の詳細を示した図である。受信データレジスタ33は、2つの10ビットレジスタ33−1及び33−2を有し、SerDes回路32から送られてきた順に10ビットデータをレジスタ33−1及び33−2に格納する。前述の通り、SerDes回路32では受信したシリアルデータの10ビット境界位置に関係なくシリアル・パラレル変換する。そのため、SerDes回路32で10ビット単位でパラレルデータに変換した場合には、少なくとも2つの10ビット・レジスタ33−1、33−2に受信データを展開して、データの境界位置を検出する必要がある。すなわち、2つのレジスタ33−1と33−2に格納された一連の19ビット・データ(Data[18:0])のどの位置にデータ境界があるのか不明であるため、一連の19ビット・データ内を10ビット単位で1ビットずつずらした10個のデータの各々について、データ境界位置検出のための特定コードと一致するか否かを検出する。
前記一連の19ビットのデータ(Data[18:0])のどの位置に受信データの境界位置があるのか検出するために、特定コード検出回路34は、10個の特定コード検出回路、すなわち、特定コード検出回路(A)34−1〜特定コード検出回路(J)34−10を有する。特定コード検出回路(A)34−1では、特定コード検出回路(A)に入力された10ビットの信号Data[9:0]が、データ境界位置検出のための「特定コード」に一致するか否かを比較し、一致する場合には、出力信号であるdetect[A]信号をアサートする。残りの9個の特定コード検出回路(B)〜(J)についても、特定コード検出回路(A)と同様の回路構成となっており、10ビット単位で1ビットずつずらしたデータ、すなわち、Data[10:1]からData[18:9]までの各10ビットデータのいずれかが入力される。各検出回路(B)〜(J)は、それぞれに入力したData[10:1]からData[18:9]までの10ビットデータについて特定コードと一致するか否かを比較し、一致した場合には対応するdetect[B:J]信号をアサートする。
各特定コード検出回路34−1〜34−10から出力される検出信号(detect[A:J])の中で、特定コードを検出した検出回路から出力される検出信号のみがアサートされ、残余の検出信号はデアサートされる。すなわち、例えば検出信号の信号極性がHigh-Activeの場合、特定コードを検出した検出回路から出力される検出信号のみ“1”となり、その他の検出回路から出力される検出信号は“0”となる。
特定コード検出回路34−1〜34−10から出力される検出信号(detect[A:J])は、検出位置保持回路34−11に入力される。検出位置保持回路34−11は、例えば、保持している検出信号に対して入力した検出信号(detect[A:J])に変化が生じた場合に変化後の検出信号の内容を記録し、次の変化があるまで検出信号の内容を保持する動作を行なう。検出位置保持回路34−11が保持する内容としては、アサートされている検出信号がどれであるかといった情報を保持する。
検出位置保持回路34−11は、保持している検出信号の内容に基づいて、前記受信データレジスタ33−1及び33−2に格納されたデータ(Data[19:0])のどの部分が境界で区切られた10ビットのデータであるかを示す選択信号Select[A:J]を生成する。ここで、選択信号Select[A:J]は10ビットの信号として記載しているが、16進数等によりどのビット位置が区切り位置であるかを示す4ビットの選択信号としても良い。
セレクタ34−21は、前記受信データレジスタ33−1及び33−2に格納されたデータ(Data[19:0])のうち、境界位置で区切られた10ビットのデータを前記選択信号Select[A:J]を用いて選択し、Data 10B Alignment[9:0]信号として出力する。セレクタ34−21から出力された10ビットデータData 10B Alignment[9:0]は、一旦、10ビットのデータレジスタ35で保持され、その後、クロック乗り換えバッファ36−1に書き込まれる。クロック乗り換えバッファ36に関連する動作については、図5を用いて説明する。
図5は、前記クロック乗り換えバッファ36の動作を説明するための図である。図5において、検出位置保持回路34−11、セレクタ34−21、データレジスタ35、書き込み制御回路36−2、及びクロック乗り換えバッファ36−1の書き込みポートは、送信側クロックである前記分周クロックに基づいて動作する。そのため、データレジスタ35に保持された10ビットデータは、分周クロックを用いてクロック乗り換えバッファ36−1に書き込まれる。一方、クロック乗り換えバッファ36−1の読み出しポート、同期化回路36−3、読み出し制御回路36−4、及びデータレジスタ37は、受信側装置30の動作クロックである受信側クロックに基づいて動作する。
クロック乗り換えバッファは、FIFO(First In First Out)であっても良いし、リングバッファでも良く、書き込みと読み出しを別のクロックで行なうことができる2ポートRAMであっても良い。また、クロック乗り換えバッファを複数のレジスタにより構成することもできる。
書き込み制御回路36−2は、検出位置保持回路34−11から出力される選択信号に基づいて、クロック乗り換えバッファ36−1へのデータの書き込み制御信号を生成する。具体的には、検出位置保持回路34−11からの選択信号の情報に基づいてクロック乗り換えバッファ36−1へ書き込むデータの有無及び書き込みタイミングを判定して、クロック乗り換えバッファ36−1への書き込み許可信号であるWrite Enable信号を出力する。また、書き込み制御回路36−2は、Write Enable信号がアサートされる期間、クロック乗り換えバッファ36−1への書き込みアドレスであるWrite Address信号も出力する。Write Enable信号がアサートされる期間、データレジスタ35に保持されている境界位置で区切られた10ビットデータが、クロック乗り換えバッファ36−1の書き込みポートのWrite Address信号で示されるアドレス領域に書き込まれる。
同期化回路36−3は、書き込み制御回路36−2において送信側クロックに同期して生成されたクロック乗り換えバッファ36−1への書き込み制御信号を、受信側クロックで動作する回路を用いて受信側クロックに同期化させる。
読み出し制御回路36−4は、書き込み制御回路36−2で生成された制御信号を同期化回路36−3で同期化した信号を受けて、クロック乗り換えバッファ36−1のデータ読み出し制御信号を生成する。具体的には、読み出し制御回路36−4は、クロック乗り換えバッファ36−1の所定のアドレス領域に10ビットの受信データが格納されたか否かを、前記同期化回路36−3により同期化した制御信号を用いて判定する。そして、読み出し制御回路36−4は、クロック乗り換えバッファ36−1に格納された10ビット受信データを読み出せるタイミングで、読み出し許可信号であるRead Enable信号を、受信側装置30の動作クロックのタイミングに合わせて出力する。また、読み出し制御回路36−4は、Read Enable信号がアサートされる期間、クロック乗り換えバッファ36−1からの読み出しアドレスであるRead Address信号も出力する。Read Enable信号がアサートされる期間、クロック乗り換えバッファ36−1の読み出しポートから、Write Address信号で示されるアドレス値に従って10ビットデータが読み出される。
クロック乗り換えバッファ36−1の読み出しポートから読み出されたデータは、受信側クロックで動作する10ビットのデータレジスタ37に書き込まれる。このようにして、境界位置で区切られた10ビットデータについてのクロック乗換えが行なわれる。
ところで、前述の通り、送信側装置20と受信側装置30を同じ周波数で動作させる場合においても、装置ごとに異なるクロックオシレータを用いた場合には、クロックオシレータの個体差により送信側クロックと受信側クロックの周波数に微妙なズレが生じる場合がある。この送信側クロックと受信側クロックのズレについては、クロック乗り換えバッファ36を用いて吸収することができる。
具体的には、前述の通り、8B10Bエンコード方式では通信データと合わせて特定の特殊コードを送信することができるので、クロック乗り換えバッファ36−1の読み出しポートからのデータ読み出しをスキップさせることができるタイミング調整用の特殊コードを転送データに混ぜて送信することができる。送信側クロックと受信側クロックのズレについては、クロック乗り換えバッファ36−1の書き込みアドレス(Write Address)と読み出しアドレス(Read Address)の差分を特定の検出回路(不図示)で検出することにより、クロックのズレを検出することができる。クロックのズレを検出した場合には、前記スキップさせることができるタイミング調整用の特殊コードのクロック乗り換えバッファ36−1からの読み出しをスキップ(読み飛ばし)させ、あるいはクロック乗り換えバッファ36−1からの読み出しを待たせることにより、クロックのズレを補正することができる。
図6は、受信側装置30におけるシリアルデータ受信処理の動作タイムチャートを示した図である。図6の最上段(Serial Data)は、高速シリアルデータ通信の動作クロックに同期して、時刻t00〜t63までの期間にシリアルデータd03〜d66が1ビットずつ受信側装置30に入力されてくる様子を示したものである。d66以降のデータも順次受信側装置30に入力されてくるが、図6の説明においては省略する。説明の便宜上、送信側装置20から送られてきたシリアルデータは、d10〜d19、d20〜d29、d30〜d39、d40〜d49、d50〜d59、といった単位のデータ境界で区切られており、d10〜d19のデータに受信データの境界位置を検出するための特定コードが含まれているものとする。以下、図3、図4の各回路と図6を対比させながら受信側装置30の動作について説明する。
SerDes回路32は、受信側装置30に入力されたシリアルデータのデータ境界位置に関係なく、10ビット単位で、例えば、図6においてシリアルデータd03〜d12等の10ビットの単位でシリアル・パラレル変換を行い、10ビットのパラレルデータd03-12を出力する(SerDes出力)。SerDes回路32は、次の10ビットのシリアルデータd13〜d22のシリアル・パラレル変換を行なうまでの期間であるT100の期間中、変換済みの10ビット・パラレルデータd03-12を保持する。SerDes回路32は、後続のシリアルデータについても同様に順次パラレルデータに変換し、期間T101〜T105にかけて、変換されたパラレルデータ(d13-22、d23-32、d33-42、d43-52、d53-62)を順次出力する。
SerDes回路32は、受信したシリアルデータからクロックを再生し、シリアル・パラレル変換のタイミングに合わせて、分周クロックを生成する。この分周クロックの分周比を10分周とすると、分周クロックの周期は、図6における期間T100〜T108の各期間に一致する。
受信データレジスタ33−1は、前記10分周クロックに同期したタイミングでSerDes回路32から出力されたパラレルデータをラッチし、T101の期間、Data[9:0]出力にd03-12を出力する。受信データレジスタ33−2は、受信データレジスタ33−1から出力されたData[9:0]をラッチし、T102の期間、Data[19:10]にd03-12を出力する。
T102の期間、受信データレジスタ33−1及び33−2はd03〜d22の20ビットを出力するので、特定コード検出回路34−1〜34−10のそれぞれにおいて、特定コードd10〜d19の検出を行なう。図6の例では、受信データレジスタ33から出力されるData[19]にd03が、Data[0]
にd22が格納されており、特定コードが含まれているd10〜d19はData[12:3]に含まれるので、特定コード検出回路(D)が特定コードを検出する。従って、T102の期間に特定コード検出回路(D)から出力される検出信号detect[D]信号がアサートされる。図6では、detect[D]信号の右側に描かれている横棒がdetect[D]信号がアサートされていることを示す。
検出位置保持回路34−11は、検出信号detect[D]を基にセレクタ34−21への選択信号を生成し、T103以降の期間についても、次にdetect[A:J]が変化するまでの間、生成した選択信号を保持する。セレクタ34−21は、T102以降の期間、検出位置保持回路から出力される選択信号に基づいてData[12:3]、つまりd10-19を選択し、10ビット境界で区切られたデータであるData 10B Alignment[9:0]として出力する。Data 10B Alignment[9:0]は、10ビットのデータレジスタ35でラッチされ、T103の期間において、クロック乗り換えバッファ36−1へのライトデータBuffer WT Data[9:0]として保持される。
前述の通り、受信側装置30のクロックである受信側クロックは、送信側クロックとずれている場合がある。図6においては、受信側クロックに同期したT204〜T209等の期間が、送信側クロックに同期したT100〜T108等の期間とずれたものとして描いている。
送信側クロックのT103の期間の終了時点においては、クロック乗り換えバッファ36−1に10ビットデータd10-19が格納された状態となっている。従って、クロック乗り換えバッファ36−1の読み出しポート側では、T103よりも後のT204の期間において、受信側クロックに同期して10ビットデータd10-19が読み出される(Buffer RD Data[9:0])。後続の10ビット単位のデータd20-29、d30-39、d40-49、d50-59、d60-69等も同様にクロック乗り換えバッファを介して受信側装置30に読み出されていく。
図6では、シリアルデータのd66以降の記載を省略しているが、実際のデータ転送においては、d66以降のデータも継続して転送され、前記クロック乗り換えバッファ36−1等を介して受信側装置30に受信されていく。d10-19等の特定コードはトレーニング期間等に送信されるものであるが、上記d10-19の特定コードを検出した後は、受信データの境界位置は同じ間隔となるので、トレーニング期間に続く通常のデータ転送においても、継続してシリアルデータを正常に受信可能となる。
以上のように、シリアルバス26を介して高速で転送されてきたシリアルデータに対して受信データ境界の検出処理を行なわないまま、SerDes回路32でシリアル・パラレル変換し、比較的低速な分周クロックで受信データの境界位置の検出処理等を行なうことで、例えば10 Gbps以上といった高速なシリアル通信等にも対応することが可能となる。
ところで、上述の例では、転送データの境界位置に合わせて10ビット単位で転送データをシリアル・パラレル変換して、境界位置の検出処理等を行なっているが、CPUのアクセス・レイテンシの短縮の観点からは、受信側装置30での受信処理をより短い期間で行なうことが望ましい。このような要求に対応するため、以下に示す実施例では、上述の例による高速シリアル転送方式に加えて、アクセス・レイテンシを抑えることができるシリアル転送方法を示す。
図7は、実施例に係る受信側装置50における受信データの境界位置を短いレイテンシで検出するための一実施例の機能概要を示した図である。図7では、シリアルバス26を介して転送されるデータがMビットごとに区切られているものとして説明する。シリアルバス26から送信されてきたシリアルデータは、バッファ51を介してSerDes回路52に入力される。SerDes回路52は、入力されたシリアルデータを、受信データを区切るMビットよりも少ないビット数のNビット単位でシリアル・パラレル変換を行なう。Mビットよりも少ないビット数のNビット単位で受信データのデータ境界位置の検出等を行なうことにより、受信したシリアルデータから境界位置で区切られたMビット単位のデータを取り出すまでの期間を短くすることが可能となる。
SerDes回路52で変換されたNビット単位のパラレルデータは、受信データレジスタ53を構成するK個(Kは正の整数)のNビットのデータレジスタ53−1〜53−Kを有するシフトレジスタに、受信された順に逐次格納される。ここで、SerDes回路52では、受信データの境界位置に関係なくNビット単位でシリアル・パラレル変換を行なうため、受信データの境界位置を検出する必要がある。従って、Nビット単位の複数のレジスタ53−1〜53−Kに格納できるデータの全ビット数が少なくとも(M+N−1)で表される数以上になるように、データレジスタ53−1〜53−Kの個数Kを決定する。なお、図7の例では、受信データレジスタ53をシフトレジスタとしているが、サーキュラーバッファのような構成であっても良い。
特定コード検出回路54−1は、受信データレジスタ53に格納された一連のデータを入力し、その一連のデータ中のMビットデータが、受信データの境界位置を検出するための特定コードに一致するか否かを検出する。具体的には、特定コード検出回路54−1は、Mビット単位で1ビットずつずらしたN個のデータ各々について特定コードと一致するか否かを検出する。従って、特定コード検出回路54−1は、N個のMビット単位のデータ各々が特定コードと一致するか否かを検出するための、N個の検出回路を有する(図7において不図示)。この特定コード検出回路54−1のN個の検出回路に、前記受信データレジスタ53に格納されたデータをMビット単位で1ビットずつずらしたN個のデータを入力し、入力したMビットデータが特定コードに一致するか否かを各々の検出回路が検出する。特定コード検出回路54−1は、N個の検出回路のいずれかにおいて特定コードを検出した場合に、その検出結果から判別できる特定コードの検出位置を示す情報を検出信号(detect[1:N])として検出位置保持回路54−11へ通知する。
検出位置保持回路54−11は、特定コード検出回路54−1で生成された検出信号により得られる特定コードの検出位置を示す情報を保持し、セレクタ54−21への選択信号Select[1:N]を生成する。具体的には、検出位置保持回路54−11は、受信データの境界の区切り位置の情報を基に、受信側装置50における処理レイテンシが最短になるように、受信データレジスタ53−1及び53−2から出力されるデータの中から特定のNビットを選択するための選択信号を生成する。処理レイテンシが最短となるための処理の詳細については、後述する。
セレクタ54−21は、検出位置保持回路54−11で生成された選択信号を用いて、前記データレジスタ53−1と53−2とが出力する2Nビットのうちの、検出した区切り位置を基準としたNビットデータを選択する。データレジスタ55は、セレクタ54−21で選択されたNビットのデータをラッチし、クロック乗り換えバッファ56−1への書き込みデータを出力する。
書き込み開始タイミング調整回路54−12は、特定コード検出回路54−1で生成された検出信号を基に、特定コード検出回路54−1が検出した境界位置の次のMビットデータの境界位置から開始するNビットデータがセレクタ54−21に出現するタイミングを判定し、判定結果から書き込み制御回路56−2への制御信号を生成する。
書き込み制御回路56−2は、書き込み開始タイミング調整回路54−12で生成された制御信号を基に、クロック乗り換えバッファ56−1への書き込み許可信号であるWrite Enable信号を生成し、合わせて書き込みアドレスであるWrite Address信号を生成する。このWrite Enable信号がアサートされている期間、Write Address信号で示される書き込みアドレスに従って、データレジスタ55から出力されたデータがクロック乗り換えバッファ56−1へ書き込まれる。尚、図4におけるデータレジスタ35と同様に、受信側装置50での動作周波数の要件を満たす場合には、データレジスタ55の実装を省略することも可能である。その場合、書き込み制御回路56−2で生成するWrite Enable等は1サイクル早いタイミングでアサートされることになる。
同期化回路56−3は、書き込み制御回路56−2で生成された書き込みアドレス等の制御信号を受信側クロックで同期化する。同期化回路56−3で同期化された制御信号を受けて動作する読み出し制御回路56−4、クロック乗り換えバッファ56−1の読み出しポート、及びMビットのデータレジスタ57は、いずれも受信側クロックに同期して動作する。ここで、図7の実施例では、送信側クロックと受信側クロックは必ずしも同じ周波数である必要はなく、例えば、クロック周期の比率がN:Mとなるようなクロックを用いても良い。
読み出し制御回路56−4は、同期化回路56−3で同期化された書き込みアドレス等の情報を基に、クロック乗り換えバッファ56−1の読み出しポートからMビット単位の境界位置で区切られたデータを読み出せるタイミングでデータ読み出し用の制御信号を生成する。図7では図示されていないが、読み出し制御回路56−4は、クロック乗り換えバッファ56−1の読み出しポートからMビット単位でデータを読み出せるタイミングで、読み出し許可信号であるRead Enable信号及び読み出しアドレス信号であるRead Address信号を出力する。このRead Enable信号がアサートされている期間、Read Address信号で示される読み出しアドレスに従って、クロック乗り換えバッファ56−1の読み出しポートからMビット単位でデータが読み出される。このようにして、クロック乗り換えバッファ56−1でクロック乗り換えを行なうと同時に、クロック乗り換えバッファ56−1にNビット単位で書き込まれたデータが、境界位置で区切られたMビット単位のデータとして読み出される。
クロック乗り換えバッファ56−1の読み出しポートから読み出されたMビットのデータは、受信側クロックで動作するMビットのデータレジスタ57に書き込まれる。このようにMビットよりも少ないNビット単位で境界検出処理を行なうことにより、図4の回路例に比べてより短い処理レイテンシで境界位置で区切られたMビットデータを得ることができる。
図7では、実施例を一般化して説明しているが、以下、図4での説明にならって、8B10Bエンコードされた10ビットデータを4ビット単位に分割して処理する実施例を例に詳細な動作を説明する。
図8は、実施例に係るシリアルバスの適用事例の機能概要を示した図である。図8において、送信側装置20は図3における送信側装置20と同じであるので説明を省略する。受信側装置60では、図3における受信側装置30と異なり、図8の楕円形の破線で囲まれた回路において、受信したシリアルデータに対する各種処理を4ビット単位で行なうことを特徴とする。
すなわち、SerDes回路62は、4ビット単位でシリアル・パラレル変換を行う。受信データレジスタ63は4ビットのデータレジスタを複数有し、4ビット単位でSerDes回路62で変換されたパラレルデータを格納する。そして、10ビット境界検出回路64は、4つの検出回路(不図示)により、受信データの10ビット単位の境界位置を検出する。検出されたデータ境界の位置情報を基に、受信データレジスタ63に格納されたデータのうち特定の4ビットデータが選択され、4ビットのデータレジスタ65でラッチされる。4ビットのデータレジスタ65から出力されたデータは、4ビット単位でクロック乗り換えバッファ66の書き込みポートに書き込まれる。
クロック乗り換えバッファ66の読み出しポートでは、境界位置で区切られた10ビット単位のデータを読み出せるタイミングで、10ビットデータが読み出され、10ビットの受信データレジスタ67に格納される。すなわち、クロック乗り換えバッファ66において、4ビットから10ビットへのデータ変換が行なわれると同時に、送信側クロックと受信側クロックのクロック乗り換えも行なわれる。ここで、図8の実施例では、送信側クロックと受信側クロックは必ずしも同じ周波数である必要はなく、例えば、クロック周期の比率が2:5となるようなクロックを用いることができる。
受信データレジスタ67に格納された10ビットデータは、10B8B変換回路68で所定の変換規則に従って8ビットデータに変換され、8ビットの受信データレジスタ69に最終的な8ビットの受信データが格納される。
図9は、実施例に係る受信側装置30内の受信データレジスタ63から、クロック乗り換えバッファ66の出力データを受ける10ビットデータレジスタ67までの回路の詳細を示した図である。図7での説明と対比すると、受信データの境界位置で区切られるデータのビット数Mは、図9において10ビットであり、SerDes回路で変換する際のデータのビット数の単位であるNは4ビットである。従って、受信データレジスタ63を構成する4ビット単位のレジスタの数としては、(M+N−1)=(10+4−1)=13ビット分のデータを格納できる4つの4ビットレジスタ63−1〜63−4があれば足りることになる。すなわち、4ビット単位でデータをまとめた場合、受信データのずれは0〜3ビットとなり、10ビット境界を検出するためには13ビットあれば良いことになる。尚、受信データレジスタ63は、リングバッファやRAM等で構成しても良いが、図9では、データレジスタ63−1〜63−4を用いたシフトレジスタで構成する実施例で説明する。
受信データレジスタ63は、4つの4ビットレジスタ63−1〜63−4を有し、SerDes回路62から送られてきた順に4ビットデータをレジスタ63−1〜63−4に格納する。換言すれば、SerDes回路62から送られてきた4ビットデータは、順にデータレジスタ63−1、63−2、63−3、63−4へと4ビット単位でシフトされながら格納され、最初に送られてきたData[15]から最後に送られてきたData[0]までが受信データレジスタ63に並ぶことになる。
SerDes回路62では受信したシリアルデータの10ビット境界位置に関係なく4ビット単位でシリアル・パラレル変換を行なうので、受信データレジスタ63及び特定コード検出回路64−1〜64−4を用いて受信データの境界位置の検出が行なわれる。具体的には、10ビット単位で1ビットずつずらした4つのデータ(Data[9:0], Data[10:1], Data[11:2], Data[12:3])が受信データレジスタ63から取り出され、それぞれ4つの特定コード検出回路64−1〜64−4のいずれかに入力される。特定コード検出回路64−1〜64−4は、各10ビットデータに特定コードが含まれるか否かを各々検出し、検出結果に関する情報を検出信号(detect[A:D])として出力する。受信データレジスタ63に格納された一連のデータの中の10ビットデータが特定コードを含む場合、特定コード検出回路64−1〜64−4の一つだけが特定コードを検出することになる。
検出位置保持回路64−11は、特定コード検出回路64−1〜64−4で生成された検出信号(detect[A:D])により得られる特定コードの検出位置に関する情報を保持し、受信データの処理レイテンシが最短となるようにセレクタ64−21への選択信号Select[1:0]を生成する。ここで、選択信号は、前記4つのデータ(Data[9:0], Data[10:1], Data[11:2], Data[12:3])のうち、特定コードが検出されたデータの下位4ビット、すなわち、Data[3:0], Data[4:1], Data[5:2], Data[6:3]のいずれかを選択する信号とすることもできる。しかし、選択信号は、後述の図11〜図14で説明する理由により、Data[3:0]とData[4:1]のいずれかのみを選択する信号とすれば足りる。選択信号は、再度受信データの10ビット境界を検出する条件が発生するまで保持される。
セレクタ64−21は、検出位置保持回路64−11で生成された選択信号を用いて、データレジスタ63−1及び63−2に格納されたデータのうち、4ビットデータData[3:0]とData[4:1]のいずれかを選択する。特定コードが検出されて前記選択信号が確定した後は、セレクタ64−21は、選択信号の内容に従って同じビット位置の4ビットデータを選択し続ける。4ビットのデータレジスタ65は、セレクタ64−21で選択された4ビットのデータをラッチする。
書き込みタイミング調整回路64−12は、特定コード検出回路64−1〜64−4から出力される検出信号detect[A:D]、又は検出位置保持回路64−11で保持する検出位置に関する情報を基に、クロック乗り換えバッファ66−1へのデータ書き込みタイミングを決定する。書き込みタイミング調整回路64−12は、決定された書き込みタイミングを、例えば、クロック乗り換えバッファ66−1へデータ書き込み可能な期間を制御するためのWrite valid信号として、書き込み制御回路66−2に通知する。書き込みタイミングの決定に関する詳細については、図11〜図14を用いて後述する。
書き込み制御回路66−2は、書き込みタイミング調整回路64−12で生成されたWrite valid信号を基に、クロック乗り換えバッファ66−1の書き込みポートへの書き込み許可信号であるWrite Enable信号を生成し、合わせて書き込みアドレスであるWrite Address信号を生成する。
クロック乗り換えバッファ66−1の書き込みポートには、書き込み制御回路66−2から出力されるWrite Enable信号及びWrite Address信号に基づいて、送信側クロックに同期して、データレジスタ65に格納された4ビットデータが書き込まれる。ここで、受信データの10ビット境界のから5つの4ビットデータをクロック乗り換えバッファ66−1に書き込むことにより、10ビット境界で区切られた2つの10ビットデータを得ることができる。得られた10ビットデータは、受信側クロックに同期した所定のタイミングでクロック乗り換えバッファ66−1の読み出しポートから読み出すことができる。このようにして、クロック乗り換えバッファ66−1において、クロック乗り換えと合わせて、4ビットデータから10ビットデータへの変換が行なわれる。
同期化回路66−3は、書き込み制御回路66−2で生成された書き込みアドレス等の制御信号を受信側クロックで同期化する。読み出し制御回路66−4は、同期化回路66−3で同期化された書き込みアドレス等の情報を基に、クロック乗り換えバッファ66−1の読み出しポートから10ビット単位の境界位置で区切られたデータを読み出せるタイミングでデータ読み出し用の制御信号を生成する。図9では図示されていないが、読み出し制御回路66−4は、クロック乗り換えバッファ66−1の読み出しポートから10ビット単位でデータを読み出せるタイミングで読み出し許可信号であるRead Enable信号、及び読み出しアドレス信号であるRead Address信号を出力する。
次に、図9におけるクロック乗り換えバッファ66−1の読み出しポート側に示すアドレス値を例に読み出しアドレス信号Read Addressの動作について説明する。クロック乗り換えバッファ66−1の書き込みポート側で4ビット単位で書き込まれたデータは、クロック乗り換えバッファ66−1の読み出しポート側において10ビット単位で読み出される。
最初のRead Addressの値は、Data0〜Data4の5つの4ビットデータから2つの10ビットデータを読み出せるように、Data0が格納されている最初のアドレス番地とする。この最初のアドレス番地で示される10ビットデータが格納されたアドレス領域、すなわち、Data0、Data1、及びData2の下位側アドレス領域の2ビットで構成された10ビットデータがクロック乗り換えバッファ66−1から読み出され、セレクタ66−5で選択される。
次に、2番目のRead Addressの値は、Data2の上位側2ビットの領域を示すアドレス番地とし、Data2の下位2ビット、Data3、及びData4で構成された10ビットデータがクロック乗り換えバッファ66−1から読み出され、セレクタ66−5で選択される。Data5〜Data9からも同様に2つの10ビットデータを読み出せるようにRead Addressが決定され、2つの10ビットデータが同様に読み出される。
セレクタ66−5は、読み出し制御回路66−4から出力されるRead Address信号が示すアドレス値等に基づいて、クロック乗り換えバッファ66−1から読み出される2つの10ビットデータのいずれかを選択する。10ビットのデータレジスタ67は、セレクタ66−5で選択された10ビットデータをラッチする。データレジスタ67で保持された受信データの境界位置で区切られた10ビットデータは、その後10B8B変換回路68で8ビットデータに変換される。
図10は、実施例の受信側装置60におけるシリアルデータ受信処理の動作タイムチャートを示した図である。図10の最上段(Serial Data)は、高速シリアルデータ通信の動作クロックに同期して、時刻t00〜t50までの期間にシリアルデータd03〜d53が1ビットずつ入力されてくる様子を示したものである。ここで、説明の便宜上、送信側装置20から送られてきたシリアルデータは、d10〜d19、d20〜d29、d30〜d39、d40〜d49、といった10ビット単位のデータ境界で区切られており、d10〜d19のデータに受信データの境界位置を検出するための特定コードが含まれているものとする。図10では、特定コードを構成するデータの格納位置を分かりやすくするために、星印を付している。以下、図8、図9の各回路と図10を対比させながら受信側装置60の動作について説明する。
SerDes回路62は、受信したシリアルデータのデータ境界位置に関係なく、4ビット単位で、例えば、図10においてシリアルデータd03〜d06、d07〜d10といった4ビットの単位でシリアル・パラレル変換を行い、4ビットのパラレルデータ(d03-06、d07-10等)を出力する(SerDes出力)。SerDes回路62は、4ビット毎のシリアル・パラレル変換が行なわれるまでの期間中、変換済みのパラレルデータを保持する。SerDes回路62は、後続のシリアルデータについても同様に順次パラレルデータに変換し、期間T300〜T309にかけて、変換された4ビット・パラレルデータ(d07-10, d11-14, d15-18, d19-22, d23-26, d27-30, d31-34, d35-38, d39-42)を順次出力する。T310以降の期間についても同様に変換された4ビットのパラレルデータがSerDes回路62から出力されていくが、図10では省略する。
SerDes回路62は、受信したシリアルデータからクロックを再生し、合わせてシリアル・パラレル変換のタイミングに合わせて分周クロックを生成する。図10の実施例では、4ビット単位でシリアル・パラレル変換するので、分周クロックの分周比を例えば4分周とすることができる。この4分周クロックの周期は、図10における期間T300〜T312の各期間に一致する。
受信データレジスタ63−1は、前記4分周クロックに同期したタイミングでSerDes回路62から出力されたパラレルデータをラッチし、T301の期間に、Data[3:0]出力にd03-06を出力する。受信データレジスタ63−1から出力されたデータはその後のT302〜T304の期間にかけて、順次、受信データレジスタ63−2〜63−4へシフトしていく。d03-06に続くd07-10以降のSerDes回路62で変換された4ビット・パラレルデータについても同様に順次受信データレジスタ63−1〜63−4へシフトされていく。
特定コード検出回路64−1〜64−4の各々は、T300〜T312等の各期間毎に入力された10ビットが受信データの境界位置を示す特定コードと一致するかを比較する。図10のタイムチャート例では、T305の期間において、受信データレジスタ63−1〜63−4から出力されるData[12:0]の中に、10ビットの特定コード、すなわち、図10の破線の楕円で囲まれたデータが出現する。T305の期間において、特定コードはData[12:3]に存在するため、特定コード検出回路(D)がこの特定コードを検出し、検出信号detect[D]をアサートする。
検出位置保持回路64−11は、T305の期間に特定コード検出回路(D)64−4からアサートされた検出信号detect[D]で示される検出位置に関する情報を基に、セレクタ64−21への選択信号を生成する。ここで、検出位置保持回路64−11は、T306以降の期間で、受信側装置60における処理レイテンシが最短となるように、10ビットのデータ境界で区切られた次以降のデータが最初に受信データレジスタ63−1に出現する適切なタイミングを導出する。このタイミングの導出については、図11〜14を用いて後述する。この適切なタイミングの期間で、受信データレジスタ63−1から出力される、検出したデータ境界を基準とした4ビット単位のデータ(Data[3:0], Data[4:1], 等)を選択できるように前記選択信号の内容を決定する。決定された選択信号は、T306以降の転送期間中、検出位置保持回路64−11により保持される。
セレクタ64−21は、T305の期間以降、検出位置保持回路64−11が出力する選択信号の内容に応じて、受信データレジスタ63からのData[3:0]またはData[4:1]のいずれかを選択し、Data 10B Alignment[3:0]として出力する。
書き込みタイミング調整回路64−12は、セレクタ64−21に境界で区切られた次以降の受信データの最初の4ビットが現れるT308以降の期間にWrite valid信号をアサートする。書き込み制御回路66−2は、書き込みタイミング調整回路64−12から出力されたWrite valid信号を受けて、T309以降の期間において、クロック乗り換えバッファへのデータ書き込み許可信号であるWrite Enable信号(不図示)等を生成する。
検出位置保持回路64−11及び書き込みタイミング調整回路64−12においてどのように前記選択信号及びWrite valid信号を決定するかについて、図11〜図14を用いて説明する。
図11は、特定コード検出回路(A)で特定コードを検出した場合のクロック乗り換えバッファへの書き込みデータ選択と書き込みタイミングを示した図である。図11では、受信データレジスタ63−1〜63−4に格納された各データ(Data[3:0], Data[7:4], Data[11:8], Data[15:12])が左側から右側へ向かって時間の経過と共に更新されていく様子が示されている。図11中、T400の期間において、Data[9:0]の位置にある特定コードd10-19が特定コード検出回路(A)64−1で検出される。
ここで、特定コードを検出したタイミングT400の受信データの10ビット境界であるData[9:6]のデータを利用しようとすると、受信データレジスタ63−1及び63−2を経由したデータを利用しなければならず、受信側装置60における処理レイテンシが大きいという問題点がある。しかし、図11において次のサイクル期間であるT401に、次の10ビットデータのデータ境界にあるデータd20を含むデータd20-23が受信データレジスタ63−1の出力Data[3:0]に来ることが分かる。そのため、特定コード検出から1サイクル待たせたT401の期間からの受信データd20-23から、クロック乗り換えバッファ66−1による変換を開始することで、データレジスタ63−1及び63−2を通過する時間をスキップすることができ、受信側装置60における処理レイテンシを短縮させることができる。
T401の期間においてData[3:0]の位置にあるd20-23のデータはセレクタ64−21で選択され、4ビットデータレジスタ65を介してクロック乗り換えバッファ66−1に書き込まれる。d20-23のデータは、クロック乗り換えバッファ66−1に書き込まれる際、書き込みアドレス信号Write Addressで示されるライトポインタ(WT PT)が“0”を示す位置に書き込まれる。後続のd24-27、d28-31の4ビット単位のデータが書き込まれた後、クロック乗り換えバッファ66−1の読み出しポート側では、リードポインタ(RD PT)が“0”のデータとしてd20-29の10ビット単位で、受信データを読み出す。
図12は、特定コード検出回路(B)で特定コードを検出した場合のクロック乗り換えバッファへの書き込みデータ選択と書き込みタイミングを示した図である。図12では、T410の期間において、Data[10:1]の位置にある特定コードd10-19が特定コード検出回路(B)64−2で検出される。この場合、次のサイクルであるT411の期間に、次の10ビットデータの境界位置にあるデータd20を含むデータd20-23がData[4:1]の位置に来ているので、Data[4:1]の位置にあるd20-23以降のデータについて、クロック乗り換えバッファ66−1による変換処理をしていけば良い。
図13は、特定コード検出回路(C)で特定コードを検出した場合のクロック乗り換えバッファへの書き込みデータ選択と書き込みタイミングを示した図である。図13では、T420の期間において、Data[11:2]の位置にある特定コードd10-19が特定コード検出回路(C)64−3で検出される。この場合、次のサイクルであるT421の期間に、次の10ビットデータの境界位置にあるデータd20を含むデータd20-23がData[5:2]に来るが、さらに2サイクル待つと、T423の期間にd30-39の10ビットデータの境界位置にあるデータd30を含むd30-33がData[3:0]に来ることが分かる。そのため、T423の期間から受信データのクロック乗り換えバッファ66−1による変換を開始することで、受信側装置60での処理レイテンシが一番短くなるData[3:0]を使用することができる。
なお、この場合、d20-29のデータはクロック乗り換えバッファ66−1により変換されないことになるが、特定コードの検出は、前述のようにトレーニング期間中に行なわれるのが一般であることから、データ転送の制御に関係しないデータが変換されなかったとしても差し支えない(図14においても同様)。
図14は、特定コード検出回路(D)で特定コードを検出した場合のクロック乗り換えバッファへの書き込みデータ選択と書き込みタイミングを示した図である。図14では、T430の期間において、Data[12:3]の位置にある特定コードd10-19が特定コード検出回路(D)64−4で検出される。この場合、次のサイクルであるT431の期間に、次の10ビットデータの境界位置にあるデータd20-23がData[6:3]に来るが、さらに2サイクル待つと、T433の期間にd30-39の10ビットのデータ境界にあるデータd30-33がData[4:1]に来ることが分かる。そのため、T433の期間から受信データのData[4:1]を使用してクロック乗り換えバッファ66−1による変換を開始することができる。
図11〜図14で説明したように、特定コード検出後の所定のタイミング以降にセレクタ64−21でData[3:0], Data[4:1]のいずれかだけを選択することで、受信データの処理レイテンシを最短にしつつ、より少ない回路規模及び回路遅延で必要な受信データを取り出すことができる。
図15は、実施例の受信側装置60におけるシリアルデータ受信処理の動作タイムチャートを、クロック乗り換えバッファ66−1の読み出しポート側の動作まで含めて示した図である。図15において、セレクタ64−21でData 10B Alignmentが選択されるまでの動作波形については、図10と同様であるので説明を省略する。尚、図15において、受信側クロックとしては、シリアル転送クロックを10分周した場合の周期に相当する周期を有するクロックで動作しており、受信側クロックの周期はT500〜T504等の各周期に等しいものとする。以下、図8、図9の各回路と図15を対比させながら受信側装置60の動作について説明する。
セレクタ64−21で選択された4ビットのデータであるData 10B Alignmentは、4ビットデータレジスタ65でラッチされ、クロック乗り換えバッファ66−1へライトデータ(Buffer WT Data)として入力される。このとき、10ビットのデータ境界にあるデータd30-33がクロック乗り換えバッファ66−1へ入力されるT309の期間に合わせて、クロック乗り換えバッファ66−1への書き込み許可信号であるWrite Enable信号が書き込み制御回路66−2からアサートされる。このWrite Enable信号は、書き込みタイミング調整回路64−12で生成されたWrite valid信号を基に生成され、10ビットのデータ境界にあるデータd30-33以降のデータがクロック乗り換えバッファ66−1に入力されるT309以降の期間においてアサートされる。
クロック乗り換えバッファ66−1へのWrite Enableは、T309以降にBuffer WT Dataのd30-33以降のデータに対してアサートされるので、クロック乗り換えバッファ66−1にはd30-33以降のデータが書き込まれ、d10-19やd20-29のデータは書き込まれない。そのため、クロック乗り換えバッファ66−1の読み出しポート側からは、T502以降の期間においてd30-39以降の10ビットデータが読み出される。このようにして読み出された10ビットデータは、受信データレジスタ67、10B8B変換回路68、及び受信データレジスタ69を経て最終的な8ビットの受信データに変換される。
以上に述べた構成により、受信側装置60のSerDes回路62でのシリアル・パラレル変換から所定のデータ境界で区切られた受信データを取り出し、クロック乗り換えバッファ66−1でのクロック乗り換えまでの処理を、高速かつ短い処理レイテンシで行なうことができる。そのため、高速シリアルバスを有するシステムの性能を向上させる事ができる。例えば、高速なシリアルバスの受信装置例に係る図6と実施例に係る図15との各受信装置側での処理レイテンシを比較する。図6及び図15の両方において、シリアルクロックの転送クロックのサイクルでt27のサイクルでd30のデータが入力されている。このd30のデータがクロック乗り換えバッファの読み出しポートから読み出されるタイミングは、高速なシリアルバスの受信装置例に係る図6ではt80であるのに対し、実施例に係る図15ではt68となっているので、実施例において22サイクル短縮されていることが分かる。
尚、実施例に係る発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば、上述した実施形態において、転送データのデータ境界は10ビット単位である必要はなく、他のビット数であってもよい。また、受信側装置のSerDes回路60は、シリアル・パラレル変換を4ビット単位で行なうのではなく、受信側装置の動作周波数やデータ境界のビット数に合わせて他のビット数単位でシリアル・パラレル変換を行なうようにすることができる。
その際、受信データ境界で区切られたビット数が、SerDes回路でパラレルデータにまとめる際のビット数よりも大きくすることとし、パラレルデータにまとめる際のビット数も2のべき乗のビット数が望ましい。これは、受信側装置におけるSerDes回路において、容易に再生クロックに基づいて分周クロックを生成してシリアル・パラレル変換を行なうことが可能となるためである。また、パラレルデータにまとめる際のビット数は受信側装置の動作可能周波数にも依存するが、できる限り少ないビット数が望ましい。SerDes回路で変換したパラレルデータと受信データの境界位置とのずれを小さくできるためである。さらに、受信データの境界位置を区切るビット数との最小公倍数が出来る限り小さくなるように、パラレルデータにまとめる際のビット数を決定することが望ましい。そうすることで、クロック乗り換えバッファの段数を減らすことができ、クロック乗り換えバッファに対するデータの書き込み、読み出し制御が容易となる。
本発明は高速転送されるシリアルデータの受信に利用することができる。
52 SerDes回路
53 受信データレジスタ
54−1 特定コード検出回路
54−11 検出位置保持回路
54−12 書き込みタイミング調整回路
54−21 セレクタ
55 Nビットのデータレジスタ
56−1 クロック乗り換えバッファ
56−2 書き込み制御回路
56−3 同期化回路
56−4 読み出し制御回路
57 Mビットのデータレジスタ

Claims (8)

  1. 第1のビット数単位で区切られた通信データと、前記第1のビット数単位で区切られた制御用データとを含むシリアルデータを受信するシリアルデータ受信回路装置であって、
    前記シリアルデータを受信して、前記第1のビット数よりも少ない第2のビット数のパラレルデータに前記シリアルデータを変換するシリアル・パラレル変換回路と、
    前記第2のビット数単位のビット幅を持つ複数のレジスタを有し、前記シリアル・パラレル変換回路で変換されたパラレルデータを入力された順に、前記数のレジスタの中で前記パラレルデータが直接入力される第1のレジスタから前記複数のレジスタの配置順にシフトしながら保持するデータ保持回路と、
    前記データ保持回路に格納されたデータに含まれる制御用データを検出して、受信したシリアルデータの区切り位置を検出する検出回路と、
    前記検出回路の検出結果から得られる前記データ区切り位置に関する情報を基に、前記データ保持回路に格納されたパラレルデータに含まれる、前記データ区切り位置から第2のビット数分のデータを選択するための選択信号を生成する検出位置保持回路と、
    前記検出位置保持回路で生成された選択信号に基づいて、前記データ保持回路に格納されたデータのうち、検出した区切り位置を基準として、第2のビット数単位でデータを選択する選択回路とを有し、
    前記検出位置保持回路は、前記第2のビット数分のデータが前記複数のレジスタの中の前記第1のレジスタおよび前記第1のレジスタの近くに配置されたレジスタに最大限保持されるように前記第2のビット数分のデータを選択する前記選択信号を生成する
    ことを特徴とするシリアルデータ受信回路装置。
  2. 請求項1記載のシリアルデータ受信回路装置であって、
    前記検出回路は、前記検出回路に入力された第1のビット数のパラレルデータが前記制御用データの特定のビットパターンと一致するか否かを比較するための、前記第2のビット数と同数の複数の比較回路を有し、
    前記複数の比較回路には、前記データ保持回路に格納された受信データから、前記第1のビット数単位で1ビットずつずらしたデータがそれぞれ入力され、
    各比較回路は、入力された前記第1のビット数のデータが前記特定のビットパターンに一致するか否かを比較することにより、受信データの区切り位置を検出すること、
    を特徴とするシリアルデータ受信回路装置。
  3. 請求項1又は請求項2記載のシリアルデータ受信回路装置であって、
    前記データ保持回路は、前記データ保持回路を構成する複数のレジスタの中で前記シリアル・パラレル変換回路からのデータを格納する第1のレジスタと、前記第1のレジスタに格納されたデータを格納する第2のレジスタとを有し、
    前記検出位置保持回路は、前記検出回路の検出結果から得られる前記データ区切り位置に関する情報を基に、前記特定のビットパターンが検出された制御用データ以降の受信データであって、データ区切り位置を基準として第2のビット数分のデータを前記第1及び第2のレジスタに格納されたデータから前記選択回路で選択できるタイミングを判定し、判定したタイミングにおいて前記データ区切り位置から第2のビット数分のデータを前記選択回路で選択する選択信号を生成すること、
    を特徴とするシリアルデータ受信回路装置。
  4. 請求項1乃至請求項3記載のシリアルデータ受信回路装置であって、さらに、
    前記シリアルデータの転送クロックに同期した第1のクロックに同期して前記選択回路により選択された前記第2のビット数のデータが書き込まれ、当該書き込まれたデータがシリアルデータ受信回路装置内部の回路を動作させるための第2のクロックに同期して前記第1のビット数単位で読み出されるクロック乗り換えバッファと、
    前記選択回路により選択された前記第2のビット数のデータを前記クロック乗り換えバッファに書き込む第1クロックに同期した第1の制御信号を生成し、前記選択回路により選択された前記第2のビット数のデータを前記クロック乗り換えバッファへ書き込む制御を当該第1の制御信号を用いて行なう書き込み制御回路と、
    前記書き込み制御回路で生成された第1の制御信号を前記第2のクロックに同期化して第2の制御信号を生成する同期化回路と、
    前記同期化回路で第2クロックに同期化された第2の制御信号を用いて、前記第1のビット数単位でクロック乗り換えバッファに書き込まれたデータを前記第2のクロックに同期して読み出すための第3の制御信号を生成する読み出し制御回路と、
    を有することを特徴とするシリアルデータ受信回路装置。
  5. 請求項4記載のシリアルデータ受信回路装置であって、
    前記検出回路の検出結果から得られる前記データ区切り位置に関する情報を基に、検出した特定のビットパターンを有する制御用データ以降の受信データであって前記データ区切り位置から第2のビット数分のデータを前記選択回路で選択できるタイミングを判定し、判定したタイミングに関する情報に基づいて、前記データ区切り位置から前記クロック乗り換えバッファへの書き込みを開始するための書き込みタイミング制御信号を生成する書き込みタイミング制御回路をさらに有し、
    前記書き込み制御回路は、前記書き込みタイミング制御回路により生成された書き込みタイミング制御信号を用いて前記第1の制御信号を生成すること、
    を特徴とするシリアルデータ受信回路装置。
  6. 第1のビット数単位で区切られた通信データと、前記第1のビット数単位で区切られた制御用データとを含むシリアルデータを受信するシリアルデータ受信方法であって、
    前記シリアルデータを受信してパラレルデータに変換するシリアル・パラレル変換回路により、受信した前記シリアルデータを前記第1のビット数と同じか、それよりも少ない第2のビット数のパラレルデータに前記シリアルデータを変換するシリアル・パラレル変換ステップと、
    前記第2のビット数単位のビット幅を持つ複数のレジスタを有するデータ保持回路により、前記シリアル・パラレル変換回路で変換されたパラレルデータを入力された順に、前記数のレジスタの中で前記パラレルデータが直接入力される第1のレジスタから前記複数のレジスタの配置馴にシフトしながら保持する保持ステップと、
    前記データ保持回路に格納されたデータに含まれる制御用データ特有のビットパターンを検出するための検出回路により、受信したシリアルデータの区切り位置を検出する検出ステップと、
    前記検出回路の検出結果から得られる前記データ区切り位置に関する情報を基に、前記データ保持回路に格納されたパラレルデータに含まれる、前記データ区切り位置から第2のビット数分のデータを選択するための選択信号を生成して保持する検出位置保持回路により、前記選択信号を生成する検出位置保持ステップと、
    前記検出位置保持回路で生成された選択信号に基づいて、前記データ保持回路に格納されたデータの中から前記第2のビット数分のデータを選択する選択回路により、前記データ保持回路に格納されたデータのうち、検出した区切り位置を基準として、第2のビット数単位でデータを選択する選択ステップと、
    前記選択回路により選択された前記第2のビット数のデータを、前記シリアルデータの転送クロックに同期した第1のクロックから受信回路装置内部の回路を動作させるためのクロックに同期した第2のクロックに乗り換えるためのクロック乗り換えバッファに書き込む書き込みステップと、
    前記書き込みステップにより書き込まれたデータを、前記第2のクロックに同期して前記第1のビット数単位で読み出す読み出しステップとをし、
    前記検出位置保持ステップは、前記第2のビット数分のデータが前記複数のレジスタの中の前記第1のレジスタおよび前記第1のレジスタの近くに配置されたレジスタに最大限保持されるように前記第2のビット数分のデータを選択する前記選択信号を生成する
    ことを特徴とするシリアルデータ受信方法。
  7. 請求項6記載のシリアルデータ受信方法であって、
    前記検出回路で前記特定のビットパターンを検出して受信データの区切り位置を検出した場合に、前記検出回路の検出結果から得られる前記データ区切り位置に関する情報を基に、前記特定のビットパターンが検出された制御用データ以降の受信データであって、データ区切り位置を基準として第2のビット数分のデータを前記選択回路で選択できるタイミングを判定し、判定したタイミングに関する情報に基づいて、前記データ区切り位置から前記クロック乗り換えバッファへの書き込みを開始する書き込みタイミングの制御を行なう書き込みタイミング制御ステップをさらに有すること、
    を特徴とするシリアルデータ受信方法。
  8. 第1のビット数単位で区切られた通信データと、前記第1のビット数単位で区切られた制御用データとを含むシリアルデータを受信するシリアルデータ受信回路装置であって、
    前記シリアルデータを受信して、前記第1のビット数と同じか、それよりも少ない第2のビット数のパラレルデータに前記シリアルデータを変換するシリアル・パラレル変換回路と、
    前記第2のビット数単位のビット幅を持つ複数のレジスタを有し、前記シリアル・パラレル変換回路で変換されたパラレルデータを入力された順に、前記数のレジスタの中で前記パラレルデータが直接入力される第1のレジスタから前記複数のレジスタの配置順にシフトしながら保持するデータ保持回路と、
    前記データ保持回路に格納されたデータに含まれる制御用データを検出して、受信したシリアルデータの区切り位置を検出する検出回路と、
    前記検出回路の検出結果から得られる前記データ区切り位置に関する情報を基に、前記データ保持回路に格納されたパラレルデータに含まれる、前記データ区切り位置から第2のビット数分のデータを選択するための選択信号を生成する検出位置保持回路と、
    前記検出位置保持回路で生成された選択信号に基づいて、前記データ保持回路に格納されたデータのうち、検出した区切り位置を基準として、第2のビット数単位でデータを選択する選択回路とをし、
    前記検出位置保持回路は、前記第2のビット数分のデータが前記複数のレジスタの中の前記第1のレジスタおよび前記第1のレジスタの近くに配置されたレジスタに最大限保持されるように前記第2のビット数分のデータを選択する前記選択信号を生成する
    ことを特徴とするシリアルデータ受信回路装置。
JP2010025880A 2010-02-08 2010-02-08 シリアルデータ受信回路装置及びシリアルデータ受信方法 Active JP5531655B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2010025880A JP5531655B2 (ja) 2010-02-08 2010-02-08 シリアルデータ受信回路装置及びシリアルデータ受信方法
US13/015,243 US8401138B2 (en) 2010-02-08 2011-01-27 Serial data receiver circuit apparatus and serial data receiving method
CN2011100354337A CN102147785A (zh) 2010-02-08 2011-01-31 串行数据接收器电路装置和串行数据接收方法
EP11153586.0A EP2355398B1 (en) 2010-02-08 2011-02-07 Serial data receiver circuit apparatus and serial data receiving method
KR1020110011184A KR101174234B1 (ko) 2010-02-08 2011-02-08 직렬 데이터 수신 회로 장치 및 직렬 데이터 수신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010025880A JP5531655B2 (ja) 2010-02-08 2010-02-08 シリアルデータ受信回路装置及びシリアルデータ受信方法

Publications (2)

Publication Number Publication Date
JP2011166383A JP2011166383A (ja) 2011-08-25
JP5531655B2 true JP5531655B2 (ja) 2014-06-25

Family

ID=44072752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010025880A Active JP5531655B2 (ja) 2010-02-08 2010-02-08 シリアルデータ受信回路装置及びシリアルデータ受信方法

Country Status (5)

Country Link
US (1) US8401138B2 (ja)
EP (1) EP2355398B1 (ja)
JP (1) JP5531655B2 (ja)
KR (1) KR101174234B1 (ja)
CN (1) CN102147785A (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103797734B (zh) * 2011-09-02 2017-09-12 纳派泰克股份公司 用于识别数据分组的接收时间点的***和方法
US9280454B1 (en) * 2012-03-02 2016-03-08 Cadence Design Systems, Inc. Method and system for re-ordering bits in a memory system
DE102012205160A1 (de) * 2012-03-29 2013-10-02 Robert Bosch Gmbh Kommunikationsanordnung und Verfahren zur Konfiguration programmierbarer Hardware
JP6068193B2 (ja) * 2013-02-28 2017-01-25 シナプティクス・ジャパン合同会社 受信装置及び送受信システム
US9473172B2 (en) 2014-02-04 2016-10-18 GlobalFoundries, Inc. Receiver deserializer latency trim
US9374098B2 (en) 2014-02-04 2016-06-21 GlobalFoundries, Inc. Transmitter serializer latency trim
US10284838B2 (en) * 2016-08-19 2019-05-07 Titan Medical Inc. Method and apparatus for transmitting images captured by first and second image sensors
CN106776394B (zh) * 2017-01-11 2019-05-14 深圳大普微电子科技有限公司 一种数据转换的硬件***和存储器
TWI768284B (zh) * 2020-01-21 2022-06-21 瑞昱半導體股份有限公司 串列資料處理裝置與資料偏移修正方法
CN116015550B (zh) * 2022-11-17 2024-07-02 飞腾信息技术有限公司 一种k码检测电路、k码检测方法及相关设备

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ220548A (en) 1986-06-18 1990-05-28 Fujitsu Ltd Tdm frame synchronising circuit
US5081654A (en) 1989-05-12 1992-01-14 Alcatel Na Network Systems Corp. Parallel bit detection circuit for detecting frame synchronization information imbedded within a serial bit stream and method for carrying out same
US5592518A (en) * 1994-03-28 1997-01-07 Hughes Electronics Parallel frame synchronizer for detecting forward-ordered/reverse-ordered, inverted/non-inverted data
US5796795A (en) * 1994-11-30 1998-08-18 Gte Laboratories Incorporated Data transferring circuit which aligns clock and data
JP3441275B2 (ja) * 1995-11-30 2003-08-25 富士通株式会社 データのパラレルインタフェース回路
JP3415378B2 (ja) * 1996-11-15 2003-06-09 富士通株式会社 フレーム同期パターン処理装置並びにフレーム同期パターン検出装置及びフレーム同期パターン検出方法
JPH11122117A (ja) * 1997-10-15 1999-04-30 Sony Corp シリアル・パラレル変換装置
JP3094973B2 (ja) 1997-11-06 2000-10-03 日本電気株式会社 信号同期検出回路
US6459393B1 (en) * 1998-05-08 2002-10-01 International Business Machines Corporation Apparatus and method for optimized self-synchronizing serializer/deserializer/framer
US6222380B1 (en) * 1998-06-15 2001-04-24 International Business Machines Corporation High speed parallel/serial link for data communication
US6804316B1 (en) * 1998-12-18 2004-10-12 Verizon Corporate Services Group Inc. Methods and system for performing frame recovery in a network
JP2002009745A (ja) 2000-06-23 2002-01-11 Sony Corp 受信装置およびデータ伝送装置
US6741615B1 (en) * 2000-09-14 2004-05-25 Ciena Corporation Methods and apparatuses for synchronizing data conversion of sonet framed data
US6990549B2 (en) * 2001-11-09 2006-01-24 Texas Instruments Incorporated Low pin count (LPC) I/O bridge
US6999543B1 (en) * 2001-12-03 2006-02-14 Lattice Semiconductor Corporation Clock data recovery deserializer with programmable SYNC detect logic
US7292607B2 (en) * 2002-02-04 2007-11-06 Sartre Satire Llc Method and circuit for processing data in communication networks
US7123675B2 (en) * 2002-09-25 2006-10-17 Lucent Technologies Inc. Clock, data and time recovery using bit-resolved timing registers
EP1432160B1 (en) * 2002-12-18 2006-06-21 Alcatel Method and system for handling data between a clock and data recovery circuit and a data processing unit in asynchronous networks
JP4254492B2 (ja) 2003-11-07 2009-04-15 ソニー株式会社 データ伝送システム、データ送信装置、データ受信装置、データ伝送方法、データ送信方法及びデータ受信方法
US7814376B2 (en) * 2004-03-01 2010-10-12 Exar Corporation Method and apparatus for frame delineation
JP2007036869A (ja) * 2005-07-28 2007-02-08 Nec Electronics Corp シリアルパラレル変換、パラレルシリアル変換、fifo一体回路
JP2009094891A (ja) 2007-10-10 2009-04-30 Toshiba Corp 半導体集積回路装置及びパターン検出方法
JP5188287B2 (ja) 2008-06-25 2013-04-24 ルネサスエレクトロニクス株式会社 通信装置
JP2010025880A (ja) 2008-07-24 2010-02-04 Takashi Omori 生体細胞の機能の評価方法
JP5104773B2 (ja) * 2009-02-13 2012-12-19 富士通株式会社 データ転送システム、データ転送装置およびデータ転送方法
JP5585141B2 (ja) * 2010-03-18 2014-09-10 富士通株式会社 データ転送システム、データ転送システムの受信装置及びデータ転送システムの制御方法

Also Published As

Publication number Publication date
EP2355398B1 (en) 2013-05-08
US8401138B2 (en) 2013-03-19
CN102147785A (zh) 2011-08-10
KR20110092240A (ko) 2011-08-17
JP2011166383A (ja) 2011-08-25
US20110194651A1 (en) 2011-08-11
EP2355398A3 (en) 2012-01-25
KR101174234B1 (ko) 2012-08-14
EP2355398A2 (en) 2011-08-10

Similar Documents

Publication Publication Date Title
JP5531655B2 (ja) シリアルデータ受信回路装置及びシリアルデータ受信方法
US7633965B2 (en) Data transfer control device and electronic instrument
US7626523B2 (en) Deserializer, related method, and clock frequency divider
JP3580242B2 (ja) シリアル/パラレル変換回路、データ転送制御装置及び電子機器
US20060209735A1 (en) Auto realignment of multiple serial byte-lanes
JP5096024B2 (ja) Usbコントローラ及びusbコントローラ試験方法
US20080187084A1 (en) Deserializer and data recovery method
US7480282B2 (en) Methods and apparatus for controlling ethernet packet transfers between clock domains
JP4917901B2 (ja) 受信装置
US7924185B2 (en) Semiconductor integrated circuit device, pattern detection method and serial-parallel conversion method
US9058266B2 (en) Deskew apparatus and method for peripheral component interconnect express
EP1176753A2 (en) Method and system for sychronizing serial data
US11169952B2 (en) Data transmission code and interface
US7774526B2 (en) Method for deterministic timed transfer of data with memory using a serial interface
WO2012038546A1 (en) Multi-lane data transmission de-skew
CN112398715A (zh) 一种背板总线数据接收方法及装置
US20080111715A1 (en) Serial data receiving circuit and serial data receiving method
CN113495849A (zh) 物理层的数据流切割装置及方法
US10044535B2 (en) Serial communication apparatus, communication system, and method for communication
US20210367908A1 (en) Wide Elastic Buffer
CN104009823A (zh) 一种SerDes技术中的错位检测与纠错电路
WO2023104210A1 (zh) 数据传输芯片及电子设备
TWI735199B (zh) 實體層的資料串流切割裝置及方法
TWI818274B (zh) 實體層的資料串流切割裝置及方法
US20240223233A1 (en) Receiver, interface circuit including the same, and method of operating receiver

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131021

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140407

R150 Certificate of patent or registration of utility model

Ref document number: 5531655

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150