(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
シリアライザ装置において、ラッチ部から出力されるパラレルデータを変換部が確実にラッチすることができるように、変換部によるラッチ動作の際のセットアップ・タイムおよびホールド・タイムそれぞれのマージンに応じて、第1クロックとロード信号との間の位相差は適正範囲内に設定されることが重要である。
【0005】
ノイズに因る誤動作や温度変化によって第1クロックとロード信号との間の位相差が適正範囲から外れると、シリアライザ装置から出力されるシリアルデータにエラーが生じる。シリアライザ装置から出力されるシリアルデータを受信する受信装置により、その受信したデータのビットエラーレートが大きいことが検出されると、その旨が受信装置から送信側のシリアライザ装置へ通知される。そして、その通知を受けたシリアライザ装置において、第1クロックとロード信号との間の位相差が適正範囲内に回復するようにロード信号生成動作がリセットされる。
【0006】
しかし、ビットエラーレートが大きい旨を受信装置から送信側のシリアライザ装置へ通知するシステム構成は、双方向通信を前提とするものであり、また、受信側から送信側のシリアライザ装置への通信が高速であることを前提とするものである。
【0007】
受信側から送信側への通信線が存在しない場合には、ビットエラーレートが大きい旨を受信装置から送信側のシリアライザ装置へ通知することができず、シリアライザ装置において第1クロックとロード信号との間の位相差を適正範囲内に回復させることができない。
【0008】
受信側から送信側への通信線が存在していても該通信線が簡易なものであって低速である場合には、ビットエラーレートが大きい旨を受信装置から送信側のシリアライザ装置へ通知するのに長時間を要し、シリアライザ装置において第1クロックとロード信号との間の位相差を適正範囲内に回復させる迄に長時間を要するので、長時間に亘ってビットエラーレートが大きい状態が続くことになる。
【0009】
本発明は、上記問題点を解消する為になされたものであり、簡易な構成で早期にビットエラーレートを低減することができるシリアライザ装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明のシリアライザ装置は、第1クロックに同期して入力されるパラレルデータをシリアライズして当該シリアルデータを第2クロックに同期して出力するシリアライザ装置であって、(1) 入力されるパラレルデータを、第1クロックが指示するタイミングでラッチする第1ラッチ部と、(2) 第1ラッチ部によりラッチされて出力されるパラレルデータを、第1クロックと同周期の第3クロックが指示するタイミングでラッチする第2ラッチ部と、(3) 第2ラッチ部によりラッチされて出力されるパラレルデータを、第1クロックと同周期のロード信号が指示するタイミングでラッチして、そのラッチしたデータを第2クロックに同期してシリアルデータとして出力する変換部と、(4) 第2クロックを分周して第3クロックを生成する分周部と、(5) 第3クロックに基づいてロード信号を生成するロード信号生成部と、(6) 第3クロックおよびロード信号の何れかと第1クロックとの間の位相差を検出する位相差検出部と、(7) 位相差検出部により検出された位相差が目標範囲内にない場合に分周部における分周動作をリセットするリセット指示部と、を備える。
【0011】
本発明のシリアライザ装置において、位相差検出部は、(1) 第1クロックおよび第3クロックのうちの一方を入力データとし、第1クロックより短い周期のクロックで入力データをシフトさせるシフトレジスタと、(2) 第1クロックおよび第3クロックのうちの他方またはロード信号が指示するタイミングでシフトレジスタから出力されるデータをラッチするシフトレジスタ出力ラッチ部と、(3) シフトレジスタ出力ラッチ部によりラッチされたデータに基づいて位相差を検出する検出部と、を含むのが好適である。
【0012】
また、本発明のシリアライザ装置において、位相差検出部は、(1) 第1クロックおよび第3クロックのうちの一方を入力データとし、第1クロックおよび第3クロックのうちの他方またはロード信号を入力クロックとするフリップフロップと、(2) フリップフロップから出力されたデータに基づいて位相差を検出する検出部と、を含むのも好適である。
【0013】
本発明の他の形態のシリアライザ装置は、第1クロックに同期して入力されるパラレルデータをシリアライズして当該シリアルデータを第2クロックに同期して出力するシリアライザ装置であって、(1) 入力されるパラレルデータを、第1クロックが指示するタイミングでラッチするラッチ部と、(2) ラッチ部によりラッチされて出力されるパラレルデータを、第1クロックと同周期のロード信号が指示するタイミングでラッチして、そのラッチしたデータを第2クロックに同期してシリアルデータとして出力する変換部と、(3) 第2クロックに基づいてロード信号を生成するロード信号生成部と、(4) ロード信号と第1クロックとの間の位相差を検出する位相差検出部と、(5) 位相差検出部により検出された位相差が目標範囲内にない場合にロード信号生成部におけるロード信号生成動作をリセットするリセット指示部と、を備える。
【発明の効果】
【0014】
本発明のシリアライザ装置は、簡易な構成で早期にビットエラーレートを低減することができる。
【発明を実施するための形態】
【0016】
以下、添付図面を参照して、本発明を実施するための形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。本発明は、これらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0017】
(第1実施形態)
図1は、第1実施形態のシリアライザ装置1の構成を示す図である。シリアライザ装置1は、第1クロックCLK1に同期して入力されるパラレルデータPar_Dataをシリアライズして、当該シリアルデータSer_Dataを第2クロックCLK2に同期して出力する。第2クロックCLK2の周期は第1クロックCLK1の周期より短い。シリアライザ装置1は、第1ラッチ部11、第2ラッチ部12、変換部13、分周部14、ロード信号生成部15、位相差検出部16およびリセット指示部17を備える。
【0018】
第1ラッチ部11は、入力されるパラレルデータPar_Dataを、第1クロックCLK1が指示するタイミングでラッチして出力する。第2ラッチ部12は、第1ラッチ部11によりラッチされて出力されるパラレルデータを、第3クロックCLK3が指示するタイミングでラッチして出力する。第3クロックCLK3は第1クロックCLK1と同周期である。第1ラッチ部11および第2ラッチ部12それぞれは、例えば、パラレルデータPar_Dataのビット数またはそれ以上の個数のフリップフロップが並列的に配置された構成とすることができる。
【0019】
変換部13は、パラレルデータをシリアルデータに変換する。変換部13は、第2ラッチ部12によりラッチされて出力されるパラレルデータを、ロード信号Loadが指示するタイミングでラッチして、そのラッチしたデータを第2クロックCLK2に同期してシリアルデータSer_Dataとして出力する。ロード信号Loadは第1クロックCLK1と同周期である。変換部13は、例えば、複数のフリップフロップが直列的に接続されたシフトレジスタを含む構成とし、ロード信号Loadの指示によりパラレルデータをシフトレジスタの各フリップフロップでラッチし、第2クロックCLK2の指示によりシフトレジスタをシフト動作させてシリアルデータSer_Dataを出力することができる。
【0020】
分周部14は、第2クロックCLK2を分周して第3クロックCLK3を生成する。また、分周部14は、リセット指示信号RSTnの指示により分周動作をリセットすることができる。分周部14は、例えば、カウンタを含む構成とし、第2クロックCLK2の指示によりカウンタ動作を行ない、リセット指示信号RSTnの指示によりカウンタ動作をリセットすることができる。分周部14により生成された第3クロックCLK3は、第2ラッチ部12、ロード信号生成部15および位相差検出部16に与えられる。
【0021】
ロード信号生成部15は、第3クロックCLK3に基づいてロード信号Loadを生成する。ロード信号生成部15は、例えば、複数のフリップフロップが直列的に接続されたシフトレジスタを含む構成とし、第3クロックCLK3をシフトレジスタの初段のフリップフロップの入力データとし、第2クロックCLK2(または、第1クロックCLK1より短周期の他のクロック)の指示によりシフトレジスタをシフト動作させて、シフトレジスタの最終段のフリップフロップから出力される信号をロード信号Loadとすることができる。ロード信号生成部15から出力されるロード信号Loadは、変換部13に与えられる。
【0022】
位相差検出部16は、第3クロックCLK3と第1クロックCLK1との間の位相差を検出する。或いは、位相差検出部16は、ロード信号Loadと第1クロックCLK1との間の位相差を検出してもよい。リセット指示部17は、位相差検出部16により検出された位相差が目標範囲内にない場合に分周部14における分周動作をリセットするためのリセット指示信号RSTnを分周部14へ出力する。
【0023】
図2は、第1実施形態のシリアライザ装置1の動作を説明するタイミングチャートである。この図には、上から順に、第1ラッチ部11に入力されるパラレルデータPar_Data、第1クロックCLK1、第1ラッチ部11から出力されるパラレルデータ、第2クロックCLK2[0],CLK2[1]、リセット指示部17から出力されるリセット指示信号RSTn、第3クロックCLK3、第2ラッチ部12から出力されるパラレルデータ、ロード信号Load[0],Load[1]、および、シリアルデータSer_Data[0],Ser_Data[1],Ser_Data が示されている。
【0024】
図2では、パラレルデータPar_Dataを10ビットデータとしている。また、第2クロックCLK2を二相クロックCLK2[0],CLK2[1]としている。一方の相の第2クロックCLK2[0]に基づいてロード信号Load[0]およびシリアルデータSer_Data[0]が生成されるものとし、他方の相の第2クロックCLK2[1]に基づいてロード信号Load[1]およびシリアルデータSer_Data[1]が生成されるものとする。
【0025】
シリアライザ装置1には、パラレルデータPar_Data、第1クロックCLK1および第2クロックCLK2が入力される。この図に示されるように、第1クロックCLK1はパラレルデータPar_Dataに同期している。第2クロックCLK2はシリアルデータSer_Dataに同期している。第2クロックCLK2の周期は第1クロックCLK1の周期より短い。第3クロックCLK3およびロード信号Loadは第1クロックCLK1と同周期である。
【0026】
第1クロックCLK1と第3クロックCLK3との間の位相差は、第2ラッチ部12によるラッチ動作の際のセットアップ・タイムおよびホールド・タイムそれぞれのマージンに応じて適正範囲内に設定される。第3クロックCLK3とロード信号Loadとの間の位相差は、変換部13によるラッチ動作の際のセットアップ・タイムおよびホールド・タイムそれぞれのマージンに応じて適正範囲内に設定される。
【0027】
第1ラッチ部11では、入力されたパラレルデータPar_Dataが第1クロックCLK1の立上りエッジのタイミングでラッチされ、そのラッチされたパラレルデータが第2ラッチ部12へ出力される。第2ラッチ部12では、第1ラッチ部11から出力されたパラレルデータが第3クロックCLK3の立上りエッジのタイミングでラッチされ、そのラッチされたパラレルデータが変換部13へ出力される。
【0028】
変換部13では、第2ラッチ部12から出力されたパラレルデータがロード信号Loadの立上りエッジのタイミングでラッチされ、そのラッチされたデータが第2クロックCLK2に同期してシリアルデータSer_Dataとして出力される。
【0029】
分周部14では、第2クロックCLK2が分周されて第3クロックCLK3が生成される。また、分周部14では、リセット指示信号RSTnの指示により分周動作がリセットされる。すなわち、リセット指示信号RSTnの立上りエッジがあると、そのタイミングで第3クロックCLK3の立上りエッジが生じるように第3クロックCLK3の位相が調整される。
【0030】
ロード信号生成部15では、第3クロックCLK3に基づいてロード信号Loadが生成される。第2クロックCLK2の周期をTとすると、ロード信号Load[0]は、第3クロックCLK3の立上りエッジのタイミングから時間3T後のタイミングで立下りエッジが生じ、時間4T後のタイミングで立上りエッジが生じる。ロード信号Load[1]は、第3クロックCLK3の立上りエッジのタイミングから時間3.5T後のタイミングで立下りエッジが生じ、時間4.5T後のタイミングで立上りエッジが生じる。
【0031】
位相差検出部16では、第3クロックCLK3と第1クロックCLK1との間の位相差が検出される。或いは、ロード信号Loadと第1クロックCLK1との間の位相差が検出される。そして、リセット指示部17では、位相差検出部16により検出された位相差が目標範囲内にない場合に、第1クロックCLK1の立上りエッジのタイミングから時間3T後のタイミングで立上りエッジが生じるリセット指示信号RSTnが生成され、このリセット指示信号RSTnが分周部14へ出力される。
【0032】
図3は、位相差検出部16の第1構成例を示す図である。第1構成例の位相差検出部16Aは、シフトレジスタ30、シフトレジスタ出力ラッチ部40および検出部50を含む。シフトレジスタ30は、フリップフロップ31〜39が直列的に接続されて構成される。シフトレジスタ出力ラッチ部40、フリップフロップ41〜48が並列的に配置されて構成される。検出部50は、論理反転回路51および論理積回路52を含む。
【0033】
フリップフロップ31の出力データは、次段のフリップフロップ32の入力データとなるとともに、フリップフロップ41の入力データとなる。フリップフロップ32の出力データは、次段のフリップフロップ33の入力データとなるとともに、フリップフロップ42の入力データとなる。フリップフロップ33の出力データは、次段のフリップフロップ34の入力データとなるとともに、フリップフロップ43の入力データとなる。フリップフロップ34の出力データは、次段のフリップフロップ35の入力データとなるとともに、フリップフロップ44の入力データとなる。
【0034】
フリップフロップ35の出力データは、次段のフリップフロップ36の入力データとなるとともに、フリップフロップ45の入力データとなる。フリップフロップ36の出力データは、次段のフリップフロップ37の入力データとなるとともに、フリップフロップ46の入力データとなる。フリップフロップ37の出力データは、次段のフリップフロップ38の入力データとなるとともに、フリップフロップ47の入力データとなる。フリップフロップ38の出力データは、最終段のフリップフロップ39の入力データとなるとともに、フリップフロップ48の入力データとなる。最終段のフリップフロップ39はダミーとして設けられている。
【0035】
論理積回路52は、フリップフロップ48の出力データが論理反転回路51により論理反転されたデータを入力するとともに、フリップフロップ44の出力データを入力して、これら入力した2つのデータの論理積を表すデータを出力する。
【0036】
シフトレジスタ30のフリップフロップ31〜39それぞれに共通に与えられる入力クロックCLK30として、第1クロックCLK1より短い周期のクロックが用いられ、第2クロックCLK2が用いられるのが好適である。
【0037】
シフトレジスタ30の初段のフリップフロップ31の入力データData30として第1クロックCLK1が用いられ、シフトレジスタ出力ラッチ部40のフリップフロップ41〜48それぞれに共通に与えられる入力クロックCLK40として第3クロックCLK3またはロード信号Loadが用いられる。或いは、入力データData30として第3クロックCLK3が用いられ、入力クロックCLK40として第1クロックCLK1またはロード信号Loadが用いられる。
【0038】
このように構成される位相差検出部16Aでは、検出部50の論理積回路52から出力されるデータは、入力クロックCLK30の周期の分解能で入力データData30の立上りエッジと入力クロックCLK40の立上りエッジとの間の位相差が適正範囲内にあるか否かを表す。
【0039】
なお、シフトレジスタ出力ラッチ部40と検出部50との間に選択部を設けて、この選択部により、シフトレジスタ出力ラッチ部40のフリップフロップ41〜48それぞれの出力データのうちから検出部50に入力させる2つの出力データを選択できるようにすることで、位相差の適正範囲を変更することができる。
【0040】
図4は、位相差検出部16の第2構成例を示す図である。第2構成例の位相差検出部16Bは、フリップフロップ60および検出部70を含む。フリップフロップ60の入力データData60として第1クロックCLK1が用いられ、フリップフロップ60の入力クロックCLK60として第3クロックCLK3またはロード信号Loadが用いられる。或いは、入力データData60として第3クロックCLK3が用いられ、入力クロックCLK60として第1クロックCLK1またはロード信号Loadが用いられる。
【0041】
検出部70は、フリップフロップ60から出力されたデータに基づいて、入力データData60と入力クロックCLK60との間の位相差が適正範囲内にあるか否かを検出する。すなわち、フリップフロップによるラッチ動作の際のセットアップ・タイムおよびホールド・タイムそれぞれのマージンが十分であれば、フリップフロップから出力されるデータは安定しているので、検出部70は、フリップフロップ60から出力されたデータが安定しているか否かを判定することで、位相差が適正範囲内にあるか否かを検出することができる。
【0042】
なお、シリアライザ装置1は、第1構成例の位相差検出部16Aおよび第2構成例の位相差検出部16Bの双方を備えて、両者を使い分けてもよい。例えば、パラレルデータPar_Dataのビット数に応じて分周部14における分周比率が可変である場合(すなわち、第3クロックCLK3の周期が可変である場合)、第3クロックCLK3の周期が短いと、第1構成例の位相差検出部16Aではシフトレジスタ30が複数サイクル分のシフト動作をすることができない場合があるので、第2構成例の位相差検出部16Bを用いるのが好ましい。
【0043】
本実施形態のシリアライザ装置1は、変換部13から出力されるシリアルデータにおいてビットエラーレートが大きくなると、その旨を直ちに位相差検出部16による位相差検出結果に基づいて検出することができる。受信側から送信側のシリアライザ装置1への信号線がない場合や、受信側から送信側への通信線が存在していても該通信線が簡易なものであって低速である場合であっても、送信側のシリアライザ装置1が自ら位相差を検出することにより早期にビットエラーレートを低減することができる。
【0044】
また、本実施形態のシリアライザ装置1は、第1ラッチ部11に加えて第2ラッチ部12を備えることにより、以下のような効果をも奏する。一般に、シリアライザ装置1を含む送信装置を半導体基板上に形成する場合、シリアライザ装置1のレイアウトはカスタム設計されるが、第1ラッチ部11より前段の回路のレイアウトはCADシステムにより自動的に配置配線される。したがって、第1ラッチ部11に入力されるパラレルデータPar_Dataの遅延が大きくなりがちであり、セットアップが厳しくなる。また、パラレルデータPar_Dataのビット間の遅延のばらつきも大きくなりがちであり、セットアップが厳しい状態でセットアップ・タイムがばらつくと、第1ラッチ部11からの出力データの遅延も大きくばらつく。その結果、第1ラッチ部11の出力データとロード信号Loadとの間のタイミングが厳しくなる。第1ラッチ部11の後段に第2ラッチ部12を設けることで、第1ラッチ部11の出力データのタイミングの制約は第3クロックCLK3の立上りエッジのみとなり、タイミングの制約が緩和され得る。
【0045】
(第2実施形態)
図5は、第2実施形態のシリアライザ装置2の構成を示す図である。シリアライザ装置2は、第1クロックCLK1に同期して入力されるパラレルデータPar_Dataをシリアライズして、当該シリアルデータSer_Dataを第2クロックCLK2に同期して出力する。第2クロックCLK2の周期は第1クロックCLK1の周期より短い。シリアライザ装置2は、ラッチ部21、変換部23、ロード信号生成部25、位相差検出部26およびリセット指示部27を備える。
【0046】
ラッチ部21は、入力されるパラレルデータPar_Dataを、第1クロックCLK1が指示するタイミングでラッチする。ラッチ部21は、例えば、パラレルデータPar_Dataのビット数またはそれ以上の個数のフリップフロップが並列的に配置された構成とすることができる。
【0047】
変換部23は、パラレルデータをシリアルデータに変換する。変換部23は、ラッチ部21によりラッチされて出力されるパラレルデータを、ロード信号Loadが指示するタイミングでラッチして、そのラッチしたデータを第2クロックCLK2に同期してシリアルデータSer_Dataとして出力する。ロード信号Loadは第1クロックCLK1と同周期である。変換部23は、例えば、複数のフリップフロップが直列的に接続されたシフトレジスタを含む構成とし、ロード信号Loadの指示によりパラレルデータをシフトレジスタの各フリップフロップでラッチし、第2クロックCLK2の指示によりシフトレジスタをシフト動作させてシリアルデータSer_Dataを出力することができる。
【0048】
ロード信号生成部25は、第2クロックCLK2に基づいてロード信号Loadを生成する。また、ロード信号生成部25は、リセット指示信号RSTnの指示によりロード信号生成動作をリセットすることができる。ロード信号生成部25は、例えば、カウンタおよびシフトレジスタを含む構成とし、第2クロックCLK2の指示によりカウンタ動作を行なって分周クロックを生成し、リセット指示信号RSTnの指示によりカウンタ動作をリセットすることができる。また、ロード信号生成部25は、分周クロックをシフトレジスタの初段のフリップフロップの入力データとし、第2クロックCLK2(または、第1クロックCLK1より短周期の他のクロック)の指示によりシフトレジスタをシフト動作させて、シフトレジスタの最終段のフリップフロップから出力される信号をロード信号Loadとすることができる。ロード信号生成部25から出力されるロード信号Loadは、変換部23に与えられる。
【0049】
位相差検出部26は、ロード信号Loadと第1クロックCLK1との間の位相差を検出する。位相差検出部26は、第1実施形態における位相差検出部16と同様の構成とすることができる。リセット指示部27は、位相差検出部26により検出された位相差が目標範囲内にない場合にロード信号生成部25におけるロード信号生成動作をリセットするためのリセット指示信号RSTnをロード信号生成部25へ出力する。
【0050】
本実施形態のシリアライザ装置2は、変換部23から出力されるシリアルデータにおいてビットエラーレートが大きくなると、その旨を直ちに位相差検出部26による位相差検出結果に基づいて検出することができる。受信側から送信側のシリアライザ装置2への信号線がない場合や、受信側から送信側への通信線が存在していても該通信線が簡易なものであって低速である場合であっても、送信側のシリアライザ装置2が自ら位相差を検出することにより早期にビットエラーレートを低減することができる。