JP2021061469A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2021061469A
JP2021061469A JP2019182820A JP2019182820A JP2021061469A JP 2021061469 A JP2021061469 A JP 2021061469A JP 2019182820 A JP2019182820 A JP 2019182820A JP 2019182820 A JP2019182820 A JP 2019182820A JP 2021061469 A JP2021061469 A JP 2021061469A
Authority
JP
Japan
Prior art keywords
elastic buffer
circuit
read
clock
control circuit
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.)
Pending
Application number
JP2019182820A
Other languages
English (en)
Inventor
重成 小高
Shigenari Odaka
重成 小高
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2019182820A priority Critical patent/JP2021061469A/ja
Publication of JP2021061469A publication Critical patent/JP2021061469A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】従来の半導体装置では、レイテンシが大きくなる問題があった。【解決手段】一実施の形態によれば、半導体装置は、エラスティックバッファ430〜43Nと、エラスティックバッファ430〜43Nを制御するタイミング制御回路44と、を有し、エラスティックバッファ430〜43Nは、リカバリクロックWCLKに従ってパラレル受信データを保持し、コアクロックRCLKに従ってパラレル受信データを出力し、タイミング制御回路44は、エラスティックバッファ430〜43Nから出力される受信状況情報の差に基づきパラレル受信データの先頭データの出力タイミングのチャンネル間のズレを補正するチャンネル間同期処理と、リカバリクロックWCLKとコアクロックRCLKの周波数差に起因するチャンネル間のパラレル受信データの出力タイミングのズレを補正する周波数偏差補正処理と、を行う。【選択図】図3

Description

本発明は半導体装置に関し、例えば受信データの同期クロックと、受信側の半導体装置内で生成される内部クロックと、の間で受信データの受け渡しが行われる半導体装置に関する。
近年、機器間の通信方法としてPCI Express、InfiniBand等の高速シリアルデータ通信が用いられている。この高速シリアルデータ通信に関する技術が特許文献1に開示されている。
特許文献1に記載のインタフェース装置は、互いに異なる周波数で動作する、直列伝送媒体とプロセッサとの間のインタフェース装置であって、前記プロセッサに接続されたロジック回路と、前記直列伝送媒体に接続され、前記直列伝送媒体からの信号を非直列化し又は該直列伝送媒体への信号を直列化するための、複数のデシリアライザ/シリアライザを含むシリアル・レーンと、前記デシリアライザと前記ロジック回路の間に接続され、前記デシリアライザから入力される信号を前記ロジック回路へと出力する、受信バッファと、前記シリアライザと前記ロジック回路の間に接続され、前記ロジック回路から入力される信号を前記シリアライザへと出力する、送信バッファと、を含み、直列伝送媒体から前記デシリアライザが受取る信号の周波数は、前記直列伝送媒体の動作周波数+/−100ppm以下のばらつきを有し、前記受信バッファは、複数の弾性先入れ先出し(FIFO)バッファから構成され、該弾性FIFOバッファは、前記デシリアライザから入力される、前記ばらつきに起因する周波数のばらつきを有する信号を、前記ロジック回路が動作する周波数で出力し、これにより、周波数の前記ばらつきを修正し、及び、前記デシリアライザからの信号の周波数を、前記ロジック回路が動作する周波数に変更する。
特許第3992100号明細書
しかし、特許文献1に開示されている技術では、弾性FIFOバッファ(例えば、エラスティックバッファ)を構成するFIFOが複数段から構成されるため、レイテンシが大きくなり、データ転送速度を向上させることが難しい問題があった。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、半導体装置は、第1のチャンネルに対応する第1のエラスティックバッファと、第2のチャンネルに対応する第2のエラスティックバッファと、第1及び第2のエラスティックバッファのデータ出力タイミングを制御するタイミング制御回路と、を有し、第1及び第2のエラスティックバッファは、リカバリクロックに従ってパラレル受信データを保持し、コアクロックに従ってパラレル受信データを出力し、タイミング制御回路は、第1及び第2のエラスティックバッファから出力される受信状況情報の差に基づきパラレル受信データの先頭データの出力タイミングのチャンネル間のズレを補正するチャンネル間同期処理と、リカバリクロックとコアクロックの周波数差に起因するチャンネル間のパラレル受信データの出力タイミングのズレを補正する周波数偏差補正処理と、を行う。
前記一実施の形態によれば、半導体装置は、レイテンシを小さくしてデータ転送速度を向上させることができる。
実施の形態1にかかる半導体装置を用いた通信システムのブロック図である。 実施の形態1にかかる半導体装置のブロック図である。 実施の形態1にかかるエラスティックバッファのブロック図である。 実施の形態1にかかる半導体装置におけるチャンネル間同期処理を説明するタイミングチャートである。 実施の形態1にかかる半導体装置におけるチャンネル間同期処理を説明する詳細なタイミングチャートである。 実施の形態1にかかる半導体装置における周波数偏差補正処理の第1の例を説明するタイミングチャートである。 実施の形態1にかかる半導体装置における周波数偏差補正処理の第2の例を説明するタイミングチャートである。 実施の形態2にかかる半導体装置のブロック図である。 実施の形態3にかかる半導体装置のブロック図である。
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
実施の形態1にかかる半導体装置について説明する。実施の形態1にかかる半導体装置は、対になる半導体装置間でシリアルデータ通信を行うものである。そこで、図1に実施の形態1にかかる半導体装置を用いた通信システムのブロック図に示す。図1では、実施の形態1にかかる半導体装置として、第1のチップ1と第2のチップ2を設けた。第1のチップ1と第2のチップ2は、同じ構成の半導体装置とする。
図1に示すれいでは、伝送路32を介して第1のチップ1から第2のチップ2に向かってデータを伝達し、伝送路33を介して第2のチップ2から第1のチップ1に向かってデータを伝達する。また、図1に示す例では、データを複数のチャンネル(図1ではチャンネル番号を示す記号としてNを示した)を用いて伝達する。
また、図1に示すように、第1のチップ1は、第1のメモリ10、第1のデータ処理回路11、送信前処理回路12、SerDes回路13、送信回路14、送信インタフェース回路15、受信インタフェース回路16、受信回路17、タイミング調整処理回路18、クロック生成回路19を有する。
第2のチップ2は、第2のメモリ20、第2のデータ処理回路21、送信前処理回路22、SerDes回路23、送信回路24、送信インタフェース回路25、受信インタフェース回路26、受信回路27、タイミング調整処理回路28、クロック生成回路29を有する。
ここで、第1のチップ1と第2のチップ2は同じ構成であるため、第1のチップ1を構成するブロックについて説明する。第1のメモリ10は、第1のデータ処理回路11において処理するデータ、或いは、第1のデータ処理回路11の処理中に生成される中間データを保持する。第1のデータ処理回路11は、第2のチップ2側に送信するデータの生成と、第2のチップ2から得たデータに対する処理を行う。実施の形態1に示す例では、第1のデータ処理回路11として、通信におけるリンクレイヤーに関する処理を行うリンクレイヤー処理部とする。
送信前処理回路12は、例えば、送信データに対してエンコード処理を施すエンコーダである。SerDes回路13は、送信側においては、パラレルデータをシリアルデータに変換するパラレルシリアル変換処理を行い、受信側においては、シリアルデータをパラレルデータに変換するシリアルパラレル変換処理を行う。つまり、SerDes回路13は、送信データに対してシリアルパラレル変換処理を行うシリアルパラレル変換回路(例えば、シリアライザー)と、受信データに対してシリアルパラレル変換処理を行うシリアルパラレル変換回路(例えば、デジリアライザー)と、を1つの回路ブロックしたものである。
送信回路14は、SerDes回路13において生成されたシリアルデータにクロック生成回路19において生成されたコアクロックを重畳して送信データを生成する。送信インタフェース回路15は、伝送路32を介して、送信回路14において生成された送信データを第2のチップ2に出力する。
受信インタフェース回路16は、伝送路33を介して、第2のチップ2から受信した受信データを受信回路17に伝達する。受信回路17は、受信データからリカバリクロックを抽出するとともに、シリアルデータをSerDes回路13に出力する。SerDes回路13は、受信回路17から与えられたシリアルデータをパラレルデータに変換する。タイミング調整処理回路18は、SerDes回路13において変換されたパラレルデータの同期タイミングをリカバリクロックからコアクロックに載せ替える。
クロック生成回路19は、発振素子30が生成する基準クロックに基づき第1のチップ1内で用いるコアクロックを生成する。クロック生成回路19は、生成したコアクロック信号を第1のメモリ10、第1のデータ処理回路11、送信前処理回路12、SerDes回路13の送信側のパラレルシリアル変換回路、送信回路14、タイミング調整処理回路18に分配する。
実施の形態1にかかる第1のチップ1では、タイミング調整処理回路18の構成に特徴の1つを有する。そこで、以下では、タイミング調整処理回路18の構成について詳細に説明する。
図2にタイミング調整処理回路18を中心とした実施の形態1にかかる半導体装置のブロック図を示す。図2では、図1で示した第1のチップ1のブロックのうち第1のデータ処理回路11、送信前処理回路12、SerDes回路13、タイミング調整処理回路18を示した。
図2では、第1のデータ処理回路11として通信のリンクレイヤーに関する処理を行うリンクレイヤー処理部を示した。送信前処理回路12として、エンコーダ120〜12Nを示した。エンコーダは通信チャンネルごとに設けられる。そして、図2では、タイミング調整処理回路18についての詳細なブロック図を示した。
図2に示すように、タイミング調整処理回路18は、クロック載せ替え処理部40及び複数のデコーダを有する。図2に示す例では、通信チャンネル数をN−1とした例であり、デコーダ420〜42Nを示した。また、クロック載せ替え処理部40は、タイミング制御回路44及び複数のエラスティックバッファを有する。図2に示す例では、通信チャンネル数をN−1とした例であり、エラスティックバッファ430〜43Nを示した。ここで、以下の説明では、エラスティックバッファ430〜43Nに含まれるエラスティックバッファのうち2つのエラスティックバッファの1つを第1のエラスティックバッファ、他の一つを第2のエラスティックバッファと称す。
また、実施の形態1にかかる第1のチップ1では、エラスティックバッファとデコーダとの組を通信チャンネルごとに設ける。実施の形態1にかかる第1のチップ1では、シリアルパラレル変換回路(例えば、SerDes回路13)から受信データ処理回路(例えば、リンクレイヤー処理部)へ受信データを送信する回路は、エラスティックバッファ430〜43Nを第1の回路段とし、デコーダ420〜42Nを第2の回路段とする2段構成である。
デコーダ420〜42Nは、パラレル受信データをデコードする。ここで、シリアルデータ通信では、このデコーダとして10B8Bデコーダが用いられる。デコーダ420〜42Nは、クロック生成回路19が生成したコアクロックRCLKに基づき動作する。
エラスティックバッファ430〜43Nは、SerDes回路13から出力されるパラレル受信データを出力された順に保持し、かつ、保持した順に出力する複数のバッファを有する。また、エラスティックバッファ430〜43Nは、パラレル受信データを入力するバッファを指定するライトポインタの値を生成するライトカウンタと、パラレル受信データを出力するバッファを指定するリードポインタの値を生成するリードカウンタと、を有する。ここで、エラスティックバッファ430〜43Nは、SerDes回路13で生成されるリカバリクロックWCLKに基づきパラレル受信データを保持し、コアクロックRCLKに基づきパラレル受信データを出力する。
タイミング制御回路44は、エラスティックバッファ430〜43Nのデータ出力タイミングを制御する。より具体的には、タイミング制御回路44は、エラスティックバッファ430〜43Nから出力される受信状況情報の差に基づきライトカウンタとリードカウンタを制御する。そして、タイミング制御回路44は、パラレル受信データの先頭データの出力タイミングのチャンネル間のズレを補正するチャンネル間同期処理と、リカバリクロックとコアクロックの周波数差に起因するチャンネル間のパラレル受信データの出力タイミングのズレを補正する周波数偏差補正処理と、を行う。
ここで、クロック載せ替え処理部40の詳細な回路構成について説明する。そこで、図3に実施の形態1にかかるエラスティックバッファのブロック図を示す。図3に示すように、エラスティックバッファ430〜43Nは同じ構成である。そこで、以下の説明では、エラスティックバッファ430を例に、クロック載せ替え処理部40内のエラスティックバッファの構成について説明する。なお、図3では、チャンネル数を示す数字又は記号(N)を[]内に記載した。
エラスティックバッファ430は、FIFOコア50、ライトカウンタ51、リードカウンタ52、リードライト制御回路53を有する。FIFOコア50は、複数のバッファを備える。そして、FIFOコア50は、ライトカウンタ51が出力するライトポインタにより指定されたバッファにパラレル受信データD1[0]を格納する。また、FIFOコア50は、リードカウンタ52が出力するリードポインタにより指定されたバッファからパラレル受信データD2[0]を出力する。
ライトカウンタ51は、リカバリクロックWCLKのクロック数をカウントすることでライトポインタの値を循環的に更新する。また、ライトカウンタ51は、ライトポインタとなるカウント値をリードライト制御回路53に通知する。リードカウンタ52は、コアクロックRCLKのクロック数をカウントすることでリードポインタの値を循環的に更新する。また、リードカウンタ52は、リードポインタとなるカウント値をリードライト制御回路53に通知する。
リードライト制御回路53は、チャンネル間同期開始指示信号ENが有効化されたことに応じてチャンネル間同期処理を行う。そして、リードライト制御回路53は、チャンネル間同期処理が完了した場合には、チャンネル間同期処理終了信号EDを有効化する。チャンネル間同期開始指示信号EN及びチャンネル間同期処理終了信号EDは、リードライト制御回路53と第1のデータ処理回路11(例えば、リンクレイヤー処理部)との間で送受信される信号である。また、リードライト制御回路53は、対応するチャンネルのパラレル受信データを解析して、パラレル受信データの先頭を示すCOMシンボルを検出したことに応じて第1のフラグ(例えば、COMシンボルフラグCOM_FLG)を有効化する。
そして、タイミング制御回路44は、エラスティックバッファ430〜43NのCOMシンボルフラグCOM_FLG[0]〜COM_FLG[N]がいずれも有効化されたことに応じてリードライト制御回路53にリードポインタを有効化する指示する波数偏差補正指示信号RD_ENチャンネル間同期指示信号を有効化する。リードライト制御回路53は、チャンネル間同期指示信号周RD_ENが有効化されたことに応じて、リードカウンタ52にリードポインタの開始を指示する。
また、リードライト制御回路53は、COMシンボルに続くSKPシンボル(Skip Ordered Setシンボル)を検出したことに応じて第2のフラグ(SKPシンボルフラグSKP_FLG)を有効化する。また、
タイミング制御回路44は、エラスティックバッファ430〜43NのSKPシンボルフラグSKP_FLG[0]〜SKP_FLG[N]がいずれも有効化されたことに応じてリードライト制御回路53にライトポインタとリードポインタとの差の調整を指示する波数偏差補正指示信号FIFO_ENを有効化する。そして、リードライト制御回路53は、周波数偏差補正指示信号FIFO_ENが有効化されたことに応じて、ライトポインタとリードポインタとの差が予め設定された一定の値となるようにリードポインタの値を調整することをリードカウンタ52に指示する。ここで、周波数偏差補正処理では、周波数偏差補正指示信号FIFO_ENが有効化されたことに応じて、ライトポインタとリードポインタとの差が一定の値よりも大きい場合、リードカウンタにリードポインタの値として2度同じ値を出力することを指示する。また、周波数偏差補正処理では、ライトポインタとリードポインタとの差が一定の値よりも小さい場合、リードカウンタにリードポインタの値を1つ飛ばすことを指示する。
続いて、チャンネル間同期処理と、周波数偏差補正処理とについて説明する。実施の形態1にかかる第1のチップ1では、タイミング調整処理回路18において、いずれの処理も行う。また、2つの処理は独立して行われるものであるため、2つの処理を個別に説明する。
まず、チャンネル間同期処理について説明する。シリアルデータ通信では、多チャンネル(2〜64ch)を用いて通信を行う。この通信チャンネルは、実装ボード上に個別の配線を設けることで構成される。そのため、通信チャネル毎に配線長、配線の寄生容量等にばらつきが生じ、これらのばらつきに起因して通信チャンネル毎に異なる配線遅延が生じる。この配線遅延のばらつきは、通信チャンネル間にデータの伝達時間の差を生じさせる。そこで、実施の形態1にかかる第1のチップ1は、このデータの伝達時間の差に起因して生じるチャンネル間の同期ズレを補正するチャンネル間同期補正処理を行う。なお、このチャンネル間同期処理は、第1のチップ1を起動後に、一度チャネル間での同期を取れば、エラー処理などが発生しない限り、再度行う必要はない。
そこで、上述したチャネル間同期処理による同期ズレ補正をデータの流れを用いて説明する。図4に実施の形態1にかかる半導体装置におけるチャンネル間同期処理を説明するタイミングチャートを示す。図4に示す例では4チャンネルのシリアルデータ通信を行う例である。図4に示す例では、チャンネルCh0、Ch3については、タイミングT0にCOMシンボルCOMが到達する。一方、チャンネルCh1については、タイミングT0よりも遅れたタイミングT1にデータが到達し、チャンネルCh2については、タイミングT1よりも遅れたタイミングT2にデータが到達する。このように、到達タイミングにズレが生じると、第1のチップ1が受信データを正しく認識することが出来ず問題が生ずる。そこで、実施の形態1にかかる第1のチップ1では、チャネル間同期処理により、タイミングT3において、全てのチャンネル(図4では、チャンネルCh0〜Ch3)のCOMシンボルがタイミング調整処理回路18から出力されるようにする。
そこで、このチャネル間同期処理時の実施の形態1の動作について説明する。そこで、図5に実施の形態1にかかる半導体装置におけるチャンネル間同期処理を説明する詳細なタイミングチャートを示す。
図5に示す例では、タイミングT10からパラレル受信データD11のタイミング調整処理回路18への入力が開始される。そのため、タイミングT10においてチャンネル間同期開始指示信号ENが有効化(ハイレベル)に切り替えられる。これにより、エラスティックバッファ内のリードライト制御回路53がチャンネル間同期処理を開始する。
まず、タイミングT10においてチャンネルCh0、Ch3のパラレル受信データD11がタイミング調整処理回路18に入力される。そのため、チャンネルCh0、Ch3に対応するエラスティックバッファのライトカウンタがライトポインタのカウントをタイミングT10から開始する。また、タイミングT10において、COMシンボルCOMが入力されたことに応じて、チャンネルCh0、Ch3に対応するリードライト制御回路53は、COMシンボルフラグCOM_FLGを有効化(ハイレベル)する。
続いて、タイミングT11においてチャンネルCh1のパラレル受信データD11がタイミング調整処理回路18に入力される。そのため、チャンネルCh1に対応するエラスティックバッファのライトカウンタがライトポインタのカウントをタイミングT11から開始する。また、タイミングT11において、COMシンボルCOMが入力されたことに応じて、チャンネルCh1に対応するリードライト制御回路53は、COMシンボルフラグCOM_FLGを有効化(ハイレベル)する。
また、タイミングT12においてチャンネルCh2のパラレル受信データD11がタイミング調整処理回路18に入力される。そのため、チャンネルCh2に対応するエラスティックバッファのライトカウンタがライトポインタのカウントをタイミングT12から開始する。また、タイミングT12において、COMシンボルが入力されたことに応じて、チャンネルCh2に対応するリードライト制御回路53は、COMシンボルフラグCOM_FLGを有効化(ハイレベル)する。
そして、タイミングT12において全てのCOMシンボルフラグCOM_FLGが有効化されたことに応じて、タイミング制御回路44は、チャンネル間同期指示信号周RD_ENを有効化(ハイレベル)する。このチャンネル間同期指示信号周RD_ENの有効化に応じて、各エラスティックバッファのタイミング調整処理回路18が対応するリードカウンタにカウントの開始を指示する。そして、リードカウンタは、タイミングT13において、リードポインタの値を開始値となる0として、リードポインタの出力を開始する。これにより、タイミングT13以降、タイミング調整処理回路18は、各チャンネルのパラレル受信データD12を入力された順に出力する。また、タイミングT12において、各チャンネルのエラスティックバッファのリードライト制御回路53は、チャンネル間同期処理終了信号EDを有効化(ハイレベル)して第1のデータ処理回路11にチャネル間同期処理が終了したことを通知する。
なお、図5に示す例では、SKPシンボルフラグSKP_FLGについても示したが、図5で示した範囲では、周波数偏差に基づくチャネル間のパラレル受信データの出力タイミングズレが生じていないためここでは、説明を省略する。
続いて、周波数偏差補正について説明する。まず、周波数偏差について説明する。シリアルデータ通信の例として、PCI Expressの場合を例にとると、第1のチップ1に設けられている発振素子30が生成する基準クロックの周波数が100MHz+300ppm、第2のチップ2に設けられている発振素子31が生成する基準クロックの周波数が100MHz−300ppmの場合がチップ間の周波数ばらつきのワーストケースとして考えられる。これは市販されている発振子の製造バラつきによるもので、規格で許容されている範囲内のものである。そして、クロック生成回路19は基準クロックを逓倍して、第1のチップ1の内部で利用されるコアクロックとして、250MHz+300ppmのクロックを生成する。また、クロック生成回路29は基準クロックを逓倍して、第2のチップ2の内部で利用されるコアクロックとして、250MHz−300ppmのクロックを生成する。
そして、第1のチップ1側を考えると、第1のチップ1の内部で生成されるリカバリクロックWCLKは、第2のチップ2側のクロック生成回路29で生成されたコアクロックを基にした送信データからクロックデータリカバリ機能を用いて生成される。このため、第1のチップ1で生成されるリカバリクロックは250MHz300ppmという周波数を有する。このコアクロックとリカバリクロックの周波数偏差が位相差となって表れる。この位相差がある場合、コアクロックの1667サイクルで、コアクロックがリカバリクロックに対して1クロック分遅れる。このような周波数偏差が生じるとFIFO(例えば、エラスティックバッファ)においてライトポインタとリードポインタとの差が大きくなりオーバーフロー/アンダーフローが発生することになる。
そこで、PCI Expressでは、規格において、特殊なデータ(Special Symbol: K code: IEEE802.3z規定)として、COMシンボル(K28.5)及びSKPシンボル(K28.0)が規定されている。そして、当該規格では、COMシンボルとSKPシンボルを一定周期間隔(およそ1300サイクルに1回)で受信(FIFPデータ入力)することになっている。この受信データは、規格書などでSKP−OS(Skip Ordered-set:1 COM Symbol+3 SKP Symbolで構成)と呼ばれている。このデータを受信した際にFIFO内のリードカウンタとライトカウンタのカウンタ値が常に一定間隔となるように調整することで、周波数偏差に起因するオーバーフロー/アンダーフローを防止する。
この周波数偏差補正を行う際の第1のチップ1の動作について以下で説明する。周波数偏差によるデータズレは、コアクロックがリカバリクロックに対して早い場合(第1の例)と遅い場合(第2の例)がある。以下の説明では、第1の例と第2の例とをそれぞれ説明する。まず、図6に実施の形態1にかかる半導体装置における周波数偏差補正処理の第1の例を説明するタイミングチャートを示す。この第1の例は、コアクロックがリカバリクロックに対して早い場合に生じる周波数偏差に起因するズレを補正するものである。なお、周波数偏差補正処理の説明では、チャンネル間同期のズレは生じないものとして説明する。また、図面上COMシンボルフラグCOM_FLG、チャンネル間同期開始指示信号EN、チャンネル間同期処理終了信号EDに関する記載があるがこれらは周波数偏差補正処理において使用しないため説明を省略する。
図6に示す例では、タイミングT20において、SKPシンボルの入力が全て完了する。そのため、各チャンネルに対応するリードライト制御回路53は、それぞれSKPシンボルフラグSKP_FLGを有効化(ハイレベル)する。これにより、タイミング制御回路44は、タイミングT21において波数偏差補正指示信号FIFO_ENを有効化(ハイレベル)する。
この波数偏差補正指示信号FIFO_ENが有効化されたタイミングでエラスティックバッファ内のリードライト制御回路53は、ライトカウンタとリードカウンタとの差が一定の値であるか否かを判断する。図6に示す例では、チャンネルCh1の差のみが2となり一定の値(例えば、3)よりも小さくなっている。そこで、チャンネルCh1に対応するリードライト制御回路53は、リードカウンタ52にタイミングT20と同じ値のリードポインタを出力することを指示する。これにより、タイミングT21において、チャンネルCh1のライトポインタとリードポインタの差は3に補正される。また、リードポインタが2回同じ値となるため、タイミングT21において、チャンネルCh1に対応するエラスティックバッファが出力するパラレル受信データでは、SKPシンボルが1つ増えることになる。
続いて、図7に実施の形態1にかかる半導体装置における周波数偏差補正処理の第2の例を説明するタイミングチャートを示す。この第2の例は、コアクロックがリカバリクロックに対して遅い場合に生じる周波数偏差に起因するズレを補正するものである。
図7に示す例では、タイミングT30において、SKPシンボルの入力が全て完了する。そのため、各チャンネルに対応するリードライト制御回路53は、それぞれSKPシンボルフラグSKP_FLGを有効化(ハイレベル)する。これにより、タイミング制御回路44は、タイミングT31において波数偏差補正指示信号FIFO_ENを有効化(ハイレベル)する。
この波数偏差補正指示信号FIFO_ENが有効化されたタイミングでエラスティックバッファ内のリードライト制御回路53は、ライトカウンタとリードカウンタとの差が一定の値であるか否かを判断する。図7に示す例では、チャンネルCh1の差のみが4となり一定の値(例えば、3)よりも大きくなっている。そこで、チャンネルCh1に対応するリードライト制御回路53は、リードカウンタ52のカウント値を1つ飛ばした値のリードポインタを出力することを指示する。これにより、タイミングT31において、チャンネルCh1のライトポインタとリードポインタの差は3に補正される。また、リードポインタの値が1つ飛ばされるため、タイミングT31において、チャンネルCh1に対応するエラスティックバッファが出力するパラレル受信データでは、SKPシンボルが1つ減ることになる。
上記説明より、実施の形態1にかかる第1のチップ1では、受信回路に設けられる1段のエラスティックバッファにより、チャンネル間同期処理と周波数偏差補正処理とを行う。一方、従来の半導体装置では、チャンネル間同期処理と周波数偏差補正処理とを個別のエラスティックバッファを用いて行っていた。つまり、実施の形態1にかかる第1のチップ1は、エラスティックバッファの段数を削減しながらチャンネル間同期処理と周波数偏差補正処理とを行うことで、エラスティックバッファの段数が増加することに起因する通信速度の低下を防止することが出来る。より具体的には、エラスティックバッファの段数が削減されることでデータの伝達に要するレイテンシを削減することができる。
また、実施の形態1にかかる第1のチップ1では、エラスティックバッファの段数を削減することで回路面積と消費電力とを削減することができる。
実施の形態2
実施の形態2では、実施の形態1にかかるタイミング調整処理回路18の変形例となるタイミング調整処理回路60を有する第1のチップについて説明する。なお、実施の形態2の説明において、実施の形態1と同じ構成要素については、実施の形態1と同じ符号を付して説明を省略する。
図8に実施の形態2にかかる半導体装置のブロック図を示す。図8に示すように、実施の形態2にかかるタイミング調整処理回路60は、実施の形態1の第1のチップ1のタイミング調整処理回路18のクロック載せ替え処理部40の位置とデコーダ420〜42Nの位置とを入れ替えたものである。具体的には、実施の形態2にかかるタイミング調整処理回路60では、デコーダ610〜61Nを初段、エラスティックバッファ630〜63Nを含むクロック載せ替え処理部62を2段目の回路として、SerDes回路13から第1のデータ処理回路11にデータを転送する。
クロック載せ替え処理部62を構成するエラスティックバッファ630〜63Nは、実施の形態1のエラスティックバッファ430〜43Nと同じ構成のものである。クロック載せ替え処理部62のタイミング制御回路64は、実施の形態1のタイミング制御回路44と同じものである。また、デコーダ610〜61Nは、実施の形態1のデコーダ420〜42Nと同じものである。なお、実施の形態2では、デコーダ610〜61NがリカバリクロックWCLKに基づき動作する。
実施の形態2では、エラスティックバッファをデコーダを前段に配置した。これにより、エラスティックバッファに入力されるデータが10ビットから8ビットにビット数が削減される。つまり、実施の形態2にかかる第1のチップ1では、より小さな回路によりエラスティックバッファを構成することができる。
実施の形態3
実施の形態3では、実施の形態1のクロック載せ替え処理部40を含むリタイマーについて説明する。リタイマーとは、第1のチップ1と第2のチップ2との物理的な距離が離れている場合に信号を中継する装置である。なお、実施の形態3の説明では、実施の形態1で説明した構成要素と同じ構成要素については説明を省略する。
そこで、図9に実施の形態3にかかる半導体装置(例えば、リタイマー3)のブロック図を示す。なお、図9では、送信回路14、送信インタフェース回路15、受信インタフェース回路16、受信回路17については記載を省略した。図9に示すように、実施の形態3にかかるリタイマー3では、第1のデータ処理回路としてSerDes回路71を有する。そして、第1のチップ1側のSerDes回路71と第2のチップ2側のSerDes回路13との間にクロック載せ替え処理部40が設けられる。ここで、リタイマー3では、信号の流れる方向毎にクロック載せ替え処理部40を設ける。一方、リタイマー3では、エンコーダ及びデコーダを設ける必要は無い。これはリタイマー3が信号の中継を行うものであることに起因している。
このように、信号の流れる方向毎にクロック載せ替え処理部40を設けることで、中継時にチャンネル間同期処理と周波数偏差補正処理とを行うことができる。そして、このように中継時にチャンネル間同期処理と周波数偏差補正処理とを行うことで信号の伝達経路の物理的な距離の長さによる信号伝搬遅延の影響を低減することができる。また、クロック載せ替え処理部40を用いることで、実施の形態1と同様にレイテンシを削減することができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
1 第1のチップ
2 第2のチップ
3 リタイマー
10 第1のメモリ
11 第1のデータ処理回路
12、22 送信前処理回路
13、23 SerDes回路
14、24 送信回路
15、25 送信インタフェース回路
16、26 受信インタフェース回路
17、27 受信回路
18、28 タイミング調整処理回路
19、29 クロック生成回路
20 第2のメモリ
21 第2のデータ処理回路
30、31 発振素子
32、33 伝送路
40 クロック載せ替え処理部
420〜42N デコーダ
430〜43N エラスティックバッファ
44 タイミング制御回路
50 FIFOコア
51 ライトカウンタ
52 リードカウンタ
53 リードライト制御回路
60 タイミング調整処理回路
610〜61N デコーダ
62 クロック載せ替え処理部
630〜63N エラスティックバッファ
64 タイミング制御回路
71 SerDes回路
RCLK コアクロック
WCLK リカバリクロック
COM_FLG COMシンボルフラグ
SKP_FLG SKPシンボルフラグ
RD_EN チャンネル間同期指示信号周
FIFO_EN 波数偏差補正指示信号
EN チャンネル間同期開始指示信号
ED チャンネル間同期処理終了信号

Claims (11)

  1. 通信チャンネル毎に外部から受信したシリアル受信データをパラレル受信データに変換するシリアルパラレル変換回路と、
    前記通信チャンネル毎に前記シリアル受信データから前記パラレル受信データの同期クロックとなるリカバリクロックを抽出するクロックデータリカバリ回路と、
    第1のチャンネルに対応する前記パラレル受信データを前記シリアルパラレル変換回路から後段回路に伝達する第1のエラスティックバッファと、
    第2のチャンネルに対応する前記パラレル受信データを前記シリアルパラレル変換回路から後段に配置される受信データ処理回路に伝達する第2のエラスティックバッファと、
    前記第1のエラスティックバッファと前記第2のエラスティックバッファのデータ出力タイミングを制御するタイミング制御回路と、を有し、
    前記第1のエラスティックバッファと前記第2のエラスティックバッファは、
    前記リカバリクロックに同期して動作するライトカウンタが出力するライトポインタに従って前記パラレル受信データを保持し、内部回路の動作クロックとなるコアクロックに同期して動作するリードカウンタが出力し、
    前記タイミング制御回路は、
    前記第1のエラスティックバッファ及び前記第2のエラスティックバッファから出力される受信状況情報の差に基づき前記ライトカウンタと前記リードカウンタを制御して、前記パラレル受信データの先頭データの出力タイミングのチャンネル間のズレを補正するチャンネル間同期処理と、前記リカバリクロックと前記コアクロックの周波数差に起因するチャンネル間の前記パラレル受信データの出力タイミングのズレを補正する周波数偏差補正処理と、を行う半導体装置。
  2. 前記第1のエラスティックバッファ及び前記第2のエラスティックバッファの前段と後段のいずれか一方には前記パラレル受信データをデコードするデコーダが設けられる請求項1に記載の半導体装置。
  3. 前記受信データ処理回路は、前記パラレル受信データに対して所定の処理をするリンクレイヤー処理部であり、
    前記シリアルパラレル変換回路から前記受信データ処理回路へ受信データを送信する回路は、前記第1のエラスティックバッファと前記第2のエラスティックバッファを第1の回路段とし、前記デコーダを第2の回路段とする2段構成である請求項2に記載の半導体装置。
  4. 前記受信データ処理回路は、後段の半導体装置にデータを転送する送信回路であり、
    前記シリアルパラレル変換回路から前記受信データ処理回路へ受信データを送信する回路は、前記第1のエラスティックバッファと前記第2のエラスティックバッファを第1の回路段とする1段構成である請求項1に記載の半導体装置。
  5. 前記第1のエラスティックバッファ及び前記第2のエラスティックバッファは、リードライト制御回路を含み、前記チャンネル間同期処理において、
    前記リードライト制御回路は、
    対応するチャンネルの前記パラレル受信データを解析して、前記パラレル受信データの先頭を示すCOMシンボルを検出したことに応じて第1のフラグを有効化し、
    前記タイミング制御回路は、
    前記第1のエラスティックバッファと前記第2のエラスティックバッファの前記第1のフラグがいずれも有効化されたことに応じて前記リードライト制御回路に前記リードカウンタが出力するリードポインタを有効化する指示するチャンネル間同期指示信号を有効化する請求項1に記載の半導体装置。
  6. 前記第1のエラスティックバッファ及び前記第2のエラスティックバッファは、リードライト制御回路を含み、前記周波数偏差補正処理において、
    前記リードライト制御回路は、
    前記パラレル受信データの先頭を示すCOMシンボルに続くSKPシンボルを検出したことに応じて第2のフラグを有効化し、
    タイミング制御回路は、
    前記第1のエラスティックバッファと前記第2のエラスティックバッファの前記第2のフラグがいずれも有効化されたことに応じて前記リードライト制御回路に前記ライトカウンタが生成するライトポインタと前記リードカウンタが生成するリードポインタとの差の調整を指示する周波数偏差補正指示信号を有効化し、
    前記リードライト制御回路は、前記周波数偏差補正指示信号が有効化されたことに応じて、前記ライトポインタと前記リードポインタとの差が予め設定された一定の値となるように前記リードポインタの値を調整する請求項1に記載の半導体装置。
  7. 前記リードライト制御回路は、前記周波数偏差補正指示信号が有効化されたことに応じて、前記ライトポインタと前記リードポインタとの差が前記一定の値よりも大きい場合、前記リードカウンタに前記リードポインタの値として2度同じ値を出力することを指示し、前記ライトポインタと前記リードポインタとの差が前記一定の値よりも小さい場合、前記リードカウンタに前記リードポインタの値を1つ飛ばすことを指示する請求項6に記載の半導体装置。
  8. 前記第1のエラスティックバッファ及び前記第2のエラスティックバッファは、前記周波数偏差補正処理において、前記リカバリクロックと前記コアクロックの周波数偏差に基づくズレが生じていると判断された場合、入力時の前記SKPシンボルを出力時に増減させる請求項6に記載の半導体装置。
  9. 外部に設けられた発振素子により生成された基準クロックから前記コアクロックを生成するクロック生成回路をさらに有し、
    前記クロック生成回路は、生成した前記コアクロックを前記リードカウンタと前記受信データ処理回路に分配する請求項1に記載の半導体装置。
  10. 前記第1のエラスティックバッファ及び前記第2のエラスティックバッファの後段に配置され、前記パラレル受信データをデコードするデコーダは、前記コアクロックに基づき動作する請求項9に記載の半導体装置。
  11. 前記第1のエラスティックバッファ及び前記第2のエラスティックバッファの前段に配置され、前記パラレル受信データをデコードするデコーダは、前記リカバリクロックに基づき動作する請求項1に記載の半導体装置。
JP2019182820A 2019-10-03 2019-10-03 半導体装置 Pending JP2021061469A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019182820A JP2021061469A (ja) 2019-10-03 2019-10-03 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019182820A JP2021061469A (ja) 2019-10-03 2019-10-03 半導体装置

Publications (1)

Publication Number Publication Date
JP2021061469A true JP2021061469A (ja) 2021-04-15

Family

ID=75380459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019182820A Pending JP2021061469A (ja) 2019-10-03 2019-10-03 半導体装置

Country Status (1)

Country Link
JP (1) JP2021061469A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014216981A (ja) * 2013-04-30 2014-11-17 富士通株式会社 受信装置、情報処理装置及びデータ受信方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014216981A (ja) * 2013-04-30 2014-11-17 富士通株式会社 受信装置、情報処理装置及びデータ受信方法

Similar Documents

Publication Publication Date Title
JP4416580B2 (ja) 遅延制御装置
US8930664B2 (en) Method and apparatus for transferring data from a first domain to a second domain
KR101229840B1 (ko) 수신 회로, 정보 처리 장치 및 버퍼 제어 방법
US8009492B2 (en) Circuit for generating data strobe signal and method
CN108694148B (zh) 用于通用串行总线(usb)通信的方法和设备
WO2012118714A2 (en) Timing calibration for multimode i/o systems
EP3200089B1 (en) Method, apparatus, communication equipment and storage media for determining link delay
EP1665694B1 (en) Channel bonding of a plurality of multi-gigabit transceivers
US9497018B2 (en) Relay device, communication system and relay method
JP2009239768A (ja) 半導体集積回路装置、及び、クロックデータ復元方法
US8504865B2 (en) Dynamic phase alignment
JP2023547185A (ja) Serdesインタフェース回路
JP2021061469A (ja) 半導体装置
JP5610540B2 (ja) シリアル通信用インターフェース回路及びパラレルシリアル変換回路
JP4579108B2 (ja) 同期装置及び半導体装置
US6577649B1 (en) Multiplexer for asynchronous data
CN108365920A (zh) 一种基于fpga芯片的dvp转mipi方法和系统
US7366207B1 (en) High speed elastic buffer with clock jitter tolerant design
JP6188246B2 (ja) メモリシステム
JP2015154233A (ja) データ伝送装置、データ伝送システム、キャリブレーション方法及びプログラム
US20090232266A1 (en) Signal processing device
CN115328849B (zh) 一种用于数据发送和接收的芯片组合结构
US20230087104A1 (en) Signal processing circuit and reception device
JPH05336091A (ja) バス通信システム
JP5742456B2 (ja) シリアル・データ通信装置のdpll回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220927

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230322