説明

クロック分周回路、及びクロック分周方法

【課題】動作回路の通信タイミングを考慮すると共に、分周時に出力クロック信号の位相調整が可能なクロック分周回路、及びクロック分周方法を提供することである。
【解決手段】本発明にかかるクロック分周回路100は、入力クロック信号(クロックS)のクロックパルスと、通信タイミング信号26と、位相調整信号60に応じて生成されたリセット値81と、に基づき、入力クロック信号に対する通信タイミングの相対的な位相を示すカウント値55を生成し、カウント値55に基づき入力クロック信号のM個のクロックパルスのうち通信タイミング以外のクロックパルスに対してクロックパルスをマスクするマスク信号25を生成するマスク制御回路20を有する。更に、マスク信号25に応じて入力クロック信号のクロックパルスをマスクするマスク回路10を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クロック分周回路、及びクロック分周方法に関し、特にクロック信号を任意の有理数分周比で分周するクロック分周回路、及びクロック分周方法に関する。
【背景技術】
【0002】
任意の周波数のクロック信号から、より低い周波数のクロック信号を分周するクロック分周回路において、分周比、すなわち分周前のクロック信号の周波数と分周後のクロック信号の周波数の比が1/M (Mは整数)の分周回路(整数分周回路)は、カウンタ回路を用いて容易に実現することができる。
【0003】
一方、分周比がN/M(Nは正の整数、MはNより大きい正の整数)からなる有理数であっても、分周が可能な分周回路(有理数分周回路)が提案されている(特許文献1、特許文献2参照)。これらの背景技術によると、まず、分周比の分子を設定する値Nを、入力クロック信号のサイクル毎に累積的に加算する。次に、その加算結果が分周比の分母を設定する値Mより大きくなった場合には、その加算結果からMを引く。これらの動作を行い、その加算結果を参照して、入力クロック信号のクロックパルスを適切にマスクする(間引く)ことにより有理数分周を実現している。
【0004】
図11および図12を参照して、上記背景技術によるクロック分周回路について説明する。図11は、背景技術のクロック分周回路を用いた半導体集積回路例である。図12は、背景技術のクロック分周回路の動作を示す図である。
図11に示すように、背景技術のクロック分周回路200は、入力する分周比設定に基づいて、クロックSを有理数分周することでクロックBを生成する。回路A(相手回路)と回路B(対象回路)は、信号AoutおよびBoutを通じて互いに通信する。
【0005】
回路Aは、クロックAをクロック分配回路210によって分配したクロックA'のタイミングで動作する。一方、回路Bは、クロックBをクロック信号回路211によって分配したクロックB'のタイミングで動作する。クロック分配回路210および211は、例えばクロックツリー回路から構成されている。そして、各クロック分配対象までの分配遅延が同一になるように、クロック分配回路の設計レイアウトを行うことで、クロックA'およびクロックB'のクロックスキューを低減することができる。これにより、回路Aと回路Bとが同期的に通信することが可能となる。
【0006】
信号Aoutは、回路AがクロックA'のタイミングで出力し、回路BがクロックB'のタイミングで入力する信号である。信号Boutは、回路BがクロックB'のタイミングで出力し、回路AがクロックA'のタイミングで入力する信号である。
【0007】
図12に、クロックSを分周比11/12〜4/12で分周して生成したクロックBを示す。クロックBは、入力するクロックSのクロックパルスを適切にマスクすることにより生成することができる。例えば、分周比が9/12のクロックBは、クロックSのタイミングT0〜T11にある12個のクロックパルスのうち、タイミングT3、T8、T11にある3個のクロックパルスをマスクすることで生成している。
【0008】
ここで、クロックAの周波数はクロックSの1/3であるとする。すなわち、クロックAのクロックSに対する分周比は1/3(=4/12)である。このとき、クロックAとクロックBの位相関係は、クロックSの12サイクルで一巡する。この位相関係が一巡する12サイクルのタイミングを、T0〜T11で示している。
【0009】
また、回路Aと回路Bは、クロックA'のすべての立ち上がりのタイミングであるタイミングT0、T3、T6、T9、で通信するとする。すなわち、回路Aは、クロックA'の立ち上がりのタイミングであり、通信のタイミングであるタイミングT0、T3、T6、T9で、信号Aoutを出力し、信号Boutを入力する。
【0010】
ところが、上記背景技術のクロック分周回路は、異なる周波数のクロックを有する回路との通信を考慮していない。そのため、この通信のタイミングにおいても、クロックSのクロックパルスをマスクしてクロックBを生成してしまう場合がある。図12の場合、通信のタイミングのうち、T3、T6、T9において、クロックSのクロックパルスをマスクしてクロックBを生成している場合がある。
【0011】
具体的には、タイミングT3において、分周比が9/12の場合(91)、6/12の場合(92)、5/12の場合(93)にクロックパルスをマスクしている。同様に、タイミングT6において、5/12の場合(94)にクロックパルスをマスクしている。同様に、タイミングT9において、分周比が7/12の場合(95)、6/12の場合(96)、5/12の場合(97)にクロックパルスをマスクしている。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2005−45507号公報
【特許文献2】特開2006−148807号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
上記の場合のように、通信のタイミングでクロックSのクロックパルスをマスクしてクロックBを生成した場合、クロックA'で動作する回路Aが信号Aoutに出力した信号を、クロックB'で動作する回路Bが期待したタイミングで入力できないことになる。同様に、クロックA'で動作する回路Aが期待したタイミングで、クロックB'で動作する回路Bが信号Boutに信号を出力できないことになる。
【0014】
従って、上記背景技術のクロック分周回路では、異なる周波数のクロックにより動作する回路との通信において、期待した正しい通信動作を実現するために、特別なクロック乗せ換え回路や、特別なタイミング設計が必要となる。その結果、通信性能が低下し、消費電力、回路規模、さらには設計コストが増大する。
【0015】
また、特許文献1や特許文献2に記載のクロック分周回路は、分周クロック信号の位相を調整する機能を持たない。そのため、他のクロック信号とのクロックスキューを補償する場合、クロック信号の分配経路上にスキュー補償のためのバッファ回路(例えば図11のクロックバッファ201)を挿入する必要がある。しかし、クロックスキューの量が大きい場合、スキュー調整のために多くのバッファ回路を必要とし、面積や電力コストが増大するという問題がある。また、バッファ回路は動作中にその遅延量を調整できない。そのため、電力を削減するためにサイクル時間に応じて電圧を制御する動的周波数電圧制御(DVFS:Dynamic Voltage and Frequency Scaling)技術を使用する場合など、動作中に電源電圧を変更する場合には対応できないという問題ある。
【0016】
本発明の目的は、大きな回路規模を必要とすることなく、異なる周波数のクロックで動作する回路同士の通信タイミングを考慮すると共に、分周時に出力クロック信号の位相を調整し、クロックスキューを低減することができるクロック分周回路、及びクロック分周方法を提供することである。
【課題を解決するための手段】
【0017】
本発明にかかるクロック分周回路は、N/M(Nは正整数、MはNより大きい正整数)により規定された分周比に基づいて、入力クロック信号のM個のクロックパルスのうち、(M−N)個分のクロックパルスをマスクすることにより、当該入力クロック信号をN/M分周した出力クロック信号を生成するクロック分周回路であって、
前記入力クロック信号のクロックパルスと、前記出力クロック信号を用いる対象回路が行うデータ通信の通信タイミングを示す通信タイミング信号と、入力された位相調整信号に応じて生成されたリセット値と、に基づき、前記入力クロック信号に対する前記通信タイミングの相対的な位相を示すカウント値を生成し、当該カウント値に基づき前記入力クロック信号のM個のクロックパルスのうち前記通信タイミング以外のクロックパルスに対して(M−N)個分のクロックパルスをマスクするマスクタイミングを割り当てるマスク信号を生成するマスク制御回路と、
前記マスク制御回路によって生成された前記マスク信号に応じて、前記入力クロック信号のクロックパルスをマスクすることによって前記出力クロック信号を生成するマスク回路と、を有する。
【0018】
また、本発明にかかるクロック分周方法は、N/M(Nは正整数、MはNより大きい正整数)により規定された分周比に基づいて、入力クロック信号のM個のクロックパルスのうち、(M−N)個分のクロックパルスをマスクすることにより、当該入力クロック信号をN/M分周した出力クロック信号を生成するクロック分周方法であって、
前記入力クロック信号のクロックパルスと、前記出力クロック信号を用いる対象回路が行うデータ通信の通信タイミングを示す通信タイミング信号と、入力された位相調整信号に応じて生成されたリセット値と、に基づき、前記入力クロック信号に対する前記通信タイミングの相対的な位相を示すカウント値を生成し、
前記カウント値に基づき前記入力クロック信号のM個のクロックパルスのうち前記通信タイミング以外のクロックパルスに対して(M−N)個分のクロックパルスをマスクするマスクタイミングを割り当てるマスク信号を生成し、
前記マスク信号に応じて、前記入力クロック信号のクロックパルスをマスクすることによって前記出力クロック信号を生成する。
【発明の効果】
【0019】
本発明により、大きな回路規模を必要とすることなく、異なる周波数のクロックで動作する回路同士の通信タイミングを考慮すると共に、分周時に出力クロック信号の位相を調整し、クロックスキューを低減することができるクロック分周回路、及びクロック分周方法を提供することができる。
【図面の簡単な説明】
【0020】
【図1】実施の形態にかかるクロック分周回路の構成を示すブロック図である。
【図2】実施の形態にかかるクロック分周回路の動作を示すタイミングチャートである。
【図3】実施の形態にかかるクロック分周回路の構成を示すブロック図である。
【図4】実施の形態にかかる通信タイミング検出回路の構成を示すブロック図である。
【図5】実施の形態にかかるクロック分周回路の動作(位相ずれなし、位相調整なし)を示すタイミングチャートである。
【図6】実施の形態にかかるクロック分周回路の動作(位相遅れあり、位相調整なし)を示すタイミングチャートである。
【図7】実施の形態にかかるクロック分周回路の動作(位相遅れあり、位相調整あり)を示すタイミングチャートである。
【図8】実施の形態にかかるクロック分周回路の動作(位相進みあり、位相調整なし)を示すタイミングチャートである。
【図9】実施の形態にかかるクロック分周回路の動作(位相進みあり、位相調整あり)を示すタイミングチャートである。
【図10】実施の形態にかかるクロック分周回路の他の構成を示すブロック図である。
【図11】背景技術のクロック分周回路の構成を示すブロック図である。
【図12】背景技術のクロック分周回路の動作を示すタイミングチャートである。
【発明を実施するための形態】
【0021】
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本発明の実施の形態にかかるクロック分周回路の構成を示すブロック図である。図1には、クロックAで動作する回路A(相手回路)と、クロックBで動作する回路B(対象回路)とを含む半導体集積回路例が示されており、回路Bに本実施の形態にかかるクロック分周回路100が設けられている。
【0022】
回路Aは、クロックAをクロック分配回路210によって分配したクロックA'のタイミングで動作する。一方、回路Bは、クロックBをクロック信号回路211によって分配したクロックB'のタイミングで動作する。
【0023】
クロック分周回路100は、分周比設定情報40のN/M(Nは正の整数、MはNより大きい正の整数)で規定された分周比に基づいて、クロックS(入力クロック信号)の連続するM個のクロックパルスのうち、M−N個分のクロックパルスをマスクすることにより、クロックSをN/Mの分周比で有理数分周したクロックB(出力クロック信号)を生成する回路である。
【0024】
このクロック分周回路100は、主な回路として、マスク回路10とマスク制御回路20とを含んでいる。マスク回路10は、入力されたマスク信号25に応じてクロックSのクロックパルスをマスクすることによりクロックBを生成して出力する機能を有する。
【0025】
マスク制御回路20は、クロックB'を用いる回路BとクロックA'を用いる回路Aとのデータ通信の通信タイミングに基づいて、マスク信号25を生成し当該マスク信号25をマスク回路10へ出力する機能を有する。ここで、マスク信号25は、クロックSの連続するM個のクロックパルスのタイミングのうち、当該データ通信が行われる通信タイミングを除くタイミングに対して、M−N個分のクロックパルスをマスクするマスクタイミングを割り当てた信号である。
【0026】
また、クロック分配回路210および211は、例えばクロックツリー回路から構成されている。そして、回路AにおけるクロックA'の位相と回路BにおけるクロックB'の位相が一致するように、クロックAとクロックBの分配遅延が同等になるように設計されている。この場合、クロックA'およびクロックB'のクロックスキューが低減し、回路Aと回路Bとが同期的に通信することができる。
【0027】
回路Aと回路Bは、クロックA'の立ち上がりのタイミングで、信号AoutおよびBoutを通じて互いに通信する。この例では、回路Aは、クロックA'でフリップフロップ回路A1を駆動して信号Aoutを出力し、回路Bは、クロックB'でフリップフロップ回路B1を駆動して信号Aoutを入力する。また、回路Bは、クロックB'でフリップフロップ回路B2を駆動して信号Boutを出力し、回路Aは、クロックA'でフリップフロップ回路A2を駆動して信号Boutを入力する。
【0028】
クロック分周回路100は、分周比設定情報40に加えて、回路Bと回路Aとの通信タイミングを示すクロックAを入力し、このクロックAに基づいてクロックSを、N/M分周比で有理数分周することでクロックBを生成する。
なお、回路AにおけるクロックA'の位相と回路BにおけるクロックB'の位相がずれている場合、クロック分周回路100は位相調整信号60を入力し、クロックA'とクロックB'の位相のずれを考慮したクロックBを生成する。位相調整信号60については後で詳細に説明する。
また、クロックS、クロックA、分周比設定情報40については、上位回路(図示せず)から供給されるものとする。
【0029】
次に、図2を参照して、本実施の形態にかかるクロック分周回路の動作について説明する。図2は、本実施の形態にかかるクロック分周回路の動作を示すタイミングチャートである。ここでは、分周比分母M=12、分周比分子N=11〜4とし、クロックSを分周比11/12〜4/12で分周してクロックBを生成する場合を例として説明する。
【0030】
クロック分周回路100には、クロックS、クロックA、分周比設定情報40、及び位相調整信号60が入力されている。分周比設定情報40は、クロックBのクロックSに対する分周比N/M、およびクロックAのクロックSに対する分周比C/Mを示す信号である。
クロックSは、所定周波数の連続したクロックパルスからなる信号である。クロックAは、回路Bと回路Aとの通信タイミングを示す。分周比設定情報40は、分周比分母M、分周比分子Nおよび分周比分子Cの値を示す数ビット分の並列データからなり、分周比が変更されない限りこの分周比設定情報40の値は変化しない。
【0031】
また、位相調整信号60は、回路AにおけるクロックA'の位相と回路BにおけるクロックB'の位相がずれている場合に出力される信号である。なお、図2のタイミングチャートは、クロックA'とクロックB'の位相がずれていない場合の例である。よって、図2の場合、位相調整信号60は位相がずれていないことを示す値「0」となる。
【0032】
クロック分周回路100のマスク制御回路20は、クロックAが示す通信タイミングおよび分周比設定情報40に基づいて、回路Bと回路Aとでデータ通信が行われる通信タイミングを除くタイミングにおいて、M−N個分のクロックパルスをマスクするマスクタイミングを割り当てたマスク信号25をマスク回路10へ出力する。
この際、前述のように、回路AにおいてクロックAの立ち上がりタイミングでデータ通信が行われる場合、マスク制御回路20は、これら通信タイミング以外のタイミング、すなわちクロックA'に対応するクロックAの立ち上がりタイミング以外のタイミングに対して、クロックSのクロックパルスをマスクするマスクタイミングが割り当てられる。
【0033】
図2では、クロックAの周波数がクロックSの1/3、すなわちクロックAのクロックSに対する分周比が1/3(=4/12)で、クロックAとクロックBが同期している場合が示されている。この際、クロックAとクロックBの位相関係は、クロックSの12サイクルで一巡する。図2では、この位相関係が一巡する12サイクルのタイミングがT0〜T11で示されている。したがって、回路Aと回路Bは、クロックA'の立ち上がりタイミングに相当するタイミングT0、T3、T6、T9でデータ通信を行うことになる。
【0034】
マスク制御回路20は、この通信タイミング以外におけるクロックSのクロックパルスの立ち上がりタイミング、すなわちタイミングT1、T2、T4、T5、T7、T8、T10、T11のいずれかに対して、M−N個分のクロックパルスをマスクするマスクタイミングを割り当てたマスク信号25を生成する。
【0035】
例えば、クロックSのタイミングT0〜T11にある12個のクロックパルスのうち、T0、T3、T6、T9以外のタイミング、例えばタイミングT2に対してマスクタイミングを割り当てれば、分周比11/12のクロックBを生成できる。さらに、T8に対してマスクタイミングを追加割り当てすれば、分周比10/12のクロックBを生成できる。さらにT5に対して追加割り当てすれば、分周比の9/12のクロックBを生成できる。さらにT11に対して追加割り当てすれば、分周比の8/12のクロックBを生成できる。
【0036】
また、T0、T3、T6、T9以外のタイミングのうち、T1、T2、T5、T8、T11に対してマスクタイミングを割り当てれば、分周比7/12のクロックBを生成できる。さらに、T7に対して追加割り当てすれば、分周比6/12のクロックBを生成できる。さらにT4に対して追加割り当てすれば、分周比の5/12のクロックBを生成できる。さらにT10に対して追加割り当てすれば、分周比の4/12のクロックBを生成できる。
【0037】
このように、本実施の形態では、回路B(対象回路)と回路A(相手回路)とでデータ通信が行われる通信タイミングを除くタイミングに対して、M−N個分のクロックパルスをマスクするマスクタイミングを割り当てたマスク信号25を、マスク制御回路20で生成してマスク回路10へ出力している。これにより、データ通信が行われる通信タイミングを除くタイミングにおいて、クロックSからM−N個分のクロックパルスがマスクされてクロックBが生成される。
【0038】
このため、通信タイミングでは、クロックSのクロックパルスがマスクされなくなり、通信タイミングには必ずクロックBにクロックパルスが出力される。これに応じて、回路Bは、回路Aが信号Aoutに出力した信号を、期待したタイミングで受け取ることができる。同様に、回路Bは、回路Aが期待したタイミングで、信号Boutに信号を出力することができる。
【0039】
したがって、本実施の形態にかかるクロック分周回路によれば、異なる周波数のクロック信号(クロックA)で動作する相手回路(回路A)との間でも、通信性能を低下させずにデータ通信を行える出力クロック信号(クロックB)を生成することが可能となる。
【0040】
さらに、異なる周波数のクロック信号で動作する回路との通信のために、特別なタイミング設計や特別なクロック乗せ換え回路が不要となり、低電力、低面積かつ低設計コストで、クロック信号を有理数分周することが可能となる。
【0041】
また、本実施の形態では、マスク制御回路20において、分周比設定情報40に応じて、相手回路でデータ通信が行われる通信タイミングを除くタイミングに対して、M−N個分のクロックパルスをマスクするマスクタイミングを割り当てている。よって、例えば分周比N/Mが11/12〜4/12のうちのいずれかに変更される場合でも、回路Bの通信タイミングT0、T3、T6、T9以外のタイミングでクロックSをマスクすることができる。したがって、分周比を変更する場合でも、回路AのクロックAや通信タイミングを変更する必要がなくなり、極めて柔軟に対応することが可能となる。
【0042】
次に、図3を用いてクロック分周回路100のマスク回路10およびマスク制御回路20について詳細に説明する。
図3は本実施の形態にかかるクロック分周回路の構成を示すブロック図である。
図3において、マスク回路10は、入力するマスク信号25を参照して、クロックSのパルスをマスクするか、あるいはマスクせずにそのままクロックBに出力するか、のいずれかを選択する機能を有している。本実施の形態において、このマスク回路10は、ラッチ回路11とゲート回路12とから構成されている。
【0043】
ラッチ回路11は、ゲート回路12に入力されるマスク信号25の遷移を、クロックSの値が「0」であるタイミングに限定する機能を有している。
ゲート回路12は、ラッチ回路11でラッチされたマスク信号25に基づいてクロックSをマスクする機能を有する。マスク信号25の値が「0」の場合、クロックSをマスクする。マスク信号25の値が「1」の場合、クロックSをマスクしない。
【0044】
ラッチ回路11を設けることで、クロックBにグリッチが発生することを抑制できる。これによりタイミング設計が容易になるという効果があるが、タイミング設計を厳密に行うことでグリッチの発生を回避する場合には、ラッチ回路11を省略してもよい。
また、図3では、クロックSをマスクするゲート回路12としてAND回路が用いられているが、これに限るものではない。OR回路を用いてもよいし、その他、同等の機能を有する回路を用いてもよい。
【0045】
また、マスク制御回路20は、通信タイミング(クロックA)および分周比設定情報40、位相調整信号60に基づいて、クロックSのクロックパルスをカウントすることで、クロックSに対する回路Bでの通信タイミングの相対的な位相を示すカウント値を生成する。そして、このカウント値に基づいてマスクタイミングを割り当てたマスク信号25を生成して出力する機能を有している。
【0046】
本実施の形態において、このマスク制御回路20は、カウンタ回路21、テーブル回路22、通信タイミング検出回路61、リセット値生成回路80、を有する。また、分周比設定情報40は、複数ビットの並列ビットデータからなる、分周比分母M、分周比分子N、分周比分子Cとから構成されている。
【0047】
リセット値生成回路80は、位相調整信号60と分周比分母Mを参照して、カウンタ回路21のリセット時に設定するカウント値であるリセット値を生成して、リセット値81としてカウンタ回路21へ出力する機能を有している。
【0048】
カウンタ回路21は、分周比分母M、通信タイミング信号26、リセット値81を参照して、カウント値55を生成する。例えば、クロックSのクロックパルスを「0」から「M−1」までカウントすることで、クロックSに対する回路Aおよび回路Bの通信タイミングの相対的な位相を示す「0」から「M−1」までのカウント値55を生成する。そして、生成されたカウント値55はテーブル回路22へ出力される。
【0049】
テーブル回路22は、カウント値55、および分周比設定情報40である分周比分母M、分周比分子N、分周比分子Cの組合せごとに、マスクの要否を示すテーブルデータ56を予めテーブル形式で保持する機能を有する。更に、テーブル回路22は、入力されたこれら値の組合せに応じたテーブルデータをマスク信号25として出力する機能とを有している。これにより、分周比分母M、分周比分子N、分周比分子C、カウント値55に応じて、クロックSのクロックパルスをマスク回路10でマスクすることを要求するマスク信号25が、テーブル回路22からクロックSのクロックパルスごとに出力される。
【0050】
通信タイミング検出回路61は、入力するクロックAを参照して、クロックAの立ち上がりタイミングから通信タイミングを検出し、通信タイミング信号26として出力する機能を有している。
【0051】
図4は通信タイミング検出回路61の具体例である。通信タイミング検出回路61は、トグル回路65とトグル検出回路70から構成される。
トグル回路65は、クロックAで動作し、クロックAの各立ち上がりタイミングで値がトグルするトグル信号67を生成する。トグル検出回路70は、トグル信号67を入力して、トグル信号67のトグルタイミングである立ち上がりおよび立下りタイミングを検出する。次に、そのトグルタイミングより、クロックAの立ち上がりタイミングで「1」、それ以外のタイミングで「0」となる通信タイミング信号26を生成する。すなわち、通信タイミング信号26が「1」の場合は、通信タイミングであることを示す。一方、通信タイミング信号26が「0」の場合は、通信タイミングではないことを示す。
【0052】
次に、図5〜図9を参照して、本実施の形態にかかるクロック分周回路の動作について説明する。 図5は、クロック分周回路の動作(位相ずれなし、位相調整なし)を示すタイミングチャートである。図6は、クロック分周回路の他の動作(位相遅れあり、位相調整なし)を示すタイミングチャートである。図7は、クロック分周回路の他の動作(位相遅れあり、位相調整あり)を示すタイミングチャートである。図8は、クロック分周回路の他の動作(位相進みあり、位相調整なし)を示すタイミングチャートである。図9は、クロック分周回路の他の動作(位相進みあり、位相調整あり)を示すタイミングチャートである。
【0053】
なお、図5〜図9において、回路Aと回路Bは、クロックA'すべての立ち上がりのタイミングでデータ通信を行うものとする。また、クロックAの分周比はクロックSの1/3(=4/12)であり、クロックBはクロックSを分周比9/12で分周して生成するものとする。
このとき、クロックBの分周比N/M=9/12、クロックAの分周比C/M=4/12であるので、分周比設定情報40を構成する分周比分母Mには「12」、分周比分子Nには「9」、分周比分子Cには「4」が与えられている。また、通信タイミング信号26は、クロックAの立ち上がりのタイミングで「1」となり、それ以外で「0」となり、回路Aと回路Bとの間の通信タイミングを示している。
【0054】
(1)図5のタイミングチャート(位相ずれなし、位相調整なし)の説明
まず、図5を参照して、クロックAの分配遅延、すなわちクロック分配回路210の遅延と、クロックBの分配遅延、すなわちクロック分配回路211の遅延が同等である場合のクロック分周回路100の動作について説明する。この場合は、クロックA'とクロックB'の位相が一致しているので、位相調整は必要ない。
【0055】
クロックA'とクロックB'の位相が一致しているので、位相調整信号60には、位相調整が不要であることを示す「0」が出力される。リセット値生成回路80は、位相調整信号60の値「0」を参照して、リセット値81に「0」を出力する。カウンタ回路21は、いずれかの通信タイミング(図5ではタイミングT0、T0')で、カウント値をリセット値81が示す「0」にリセットする。
【0056】
カウント値はその後、クロックAとクロックBの位相関係が一巡する12サイクル分を繰り返してクロックSのクロックパルスをカウントする。これにより、クロックAとクロックBの相対的な位相関係を示すカウント値55がカウンタ回路21から出力される。図5では、カウント値55が「0」〜「11」の値をとるタイミングとタイミングT0〜T11とが対応している。すなわち、カウント値55は、タイミングT0で「0」、タイミングT1で「1」、タイミングT11で「11」となり、再びタイミングT0'で「0」になる。図5から明らかのように、カウント値55がリセット値である「0」となるのは、カウンタ回路21をリセットするタイミングである通信タイミングである。
【0057】
テーブル回路22には、カウント値55、分周比分母M、分周比分子N、および分周比分子Cの組合せに応じて、クロックSの次のサイクルのパルスをマスクする場合は「0」、マスクしない場合は「1」とするテーブルデータ56が予め設定されている。そして、各時刻に入力された、カウント値55、分周比分母M、分周比分子N、および分周比分子Cの組合せに応じたテーブルデータ56の値が、マスク信号25として出力される。
【0058】
図5の場合、テーブル回路22には、クロック信号Sの連続するM個のクロックパルスのタイミングT0〜T11のうち、回路Aと回路Bとの間でデータ通信を行うタイミングを除くタイミングT2、T5、T8に対してマスクタイミングを割り当てたテーブルデータ56が予め設定されている。また、これら以外のタイミングT0、T1、T3、T4、T6、T7、T9、T10、T11については、非マスクタイミングが割り当てられている。
【0059】
これにより、例えばカウント値55が「2」、「5」、「8」の場合は、テーブルデータ56としてマスクタイミングを示す「0」、それ以外の場合は、テーブルデータ56として非マスクタイミングを示す「1」が、テーブル回路22からマスク信号25として出力される。
【0060】
マスク回路10は、このマスク信号25を参照して、タイミングT2、T5、T8において、クロックSのパルスをマスクし、それ以外のタイミングではパルスをマスクすることなくクロックBに出力する。
したがって、連続するM個のクロックパルスのタイミングT0〜T11のうち、タイミングT0、T3、T6、T9では、常にクロックSのクロックパルスがマスクされずクロックBとして出力され、通信タイミングではないそれ以外のタイミング(ここではタイミングT2、T5、T8)にあるクロックパルスがマスクされてクロックBとして出力されない。
【0061】
図5では、クロックBの分周比が9/12、クロックAの周波数がクロックSの1/3である場合の生成例を示したが、その他の場合であっても同様である。分周比設定情報40、およびクロックAとクロックBの相対的な位相関係の組合せごとにテーブルデータ56の値を適切に設定することで、通信タイミングにあるクロックパルスは常にマスクがされず、また、通信タイミングにないクロックパルスがマスクされることで、任意の有理数分周を実現することができる。
【0062】
また、図5では、マスク制御回路20に入力される、分周比分母M、分周比分子N、分周比分子Cなどの値は一定であったが、テーブル回路22がそれらの値に対応するテーブルデータ56を保持する範囲内であれば、適宜動作中に変更することもできる。
また、クロックSのクロックパルスをマスクするタイミングは、通信のタイミング以外であれば、いずれのタイミングであってもよい。
【0063】
(2)図6のタイミングチャート(位相遅れあり、位相調整なし)の説明
次に、図6を用いて、クロックA'に対してクロックB'の位相が遅れており、更にクロック信号生成回路100が位相調整を行わない場合の動作について説明する。
【0064】
図6において、クロックAの分配遅延よりも、クロックBの分配遅延がクロックSの0.5サイクルから1.5サイクル大きいとする。ここで、位相調整信号60が、位相調整が不要であることを示す「0」である場合、クロック信号生成回路100は位相調整を行わず、図5で示した動作と同様の動作を行う。
【0065】
その結果、クロックA'の位相よりもクロックB'の位相が遅れることになる。特にタイミングT0、T3、T6、T9などの通信タイミングでは、回路Aと回路Bがデータ通信を行うクロックA'の立ち上がりタイミングとクロックB'の立ち上がりタイミングに、クロックSの0.5サイクル以上のずれ(クロックスキュー)が生じる。よってこの場合は、正常に通信が行われない、通信性能が低下するという問題が発生する。
【0066】
(3)図7のタイミングチャート(位相遅れあり、位相調整あり)の説明
次に、図7を用いて、クロックA'に対してクロックB'の位相が遅れており、更にクロック信号生成回路100が位相調整を行う場合の動作について説明する。
【0067】
図6と同様に図7においても、クロックAの分配遅延よりも、クロックBの分配遅延がクロックSの0.5サイクルから1.5サイクル大きいとする。一方、図7では図6と異なり、位相調整信号60として「1」が出力されている。この信号は、位相がクロックSの0.5サイクルから1.5サイクル遅れている場合に対応して、クロックBの位相をクロックSの1サイクル分だけ進めるような位相調整を行うための信号である。
【0068】
この場合、リセット値生成回路80は、位相調整信号60の値「1」を参照して、リセット値81に「1」を出力する。カウンタ回路21は、いずれかの通信タイミング(図7ではタイミングT0、T0')で、リセット値81が示す「1」にカウント値をリセットする。カウント値はその後、クロックAとクロックBの位相関係が一巡する12サイクル分を繰り返してクロックSのクロックパルスをカウントする。これにより、クロックAとクロックBの相対的な位相関係を示すカウント値55がカウンタ回路21から出力される。
【0069】
図7では、カウント値55は、タイミングT0で「1」、タイミングT1で「2」、タイミングT10で「11」となり、タイミングT11で「0」となり、再びタイミングT0'で「1」になる。図7から明らかのように、カウント値55がリセット値である「1」となるタイミングは、カウンタ回路21をリセットするタイミングである通信タイミングである。
【0070】
テーブル回路22が保持するテーブルデータ56は、位相調整を行わない図5の場合と同一である。図5の場合と同様に、例えばカウント値55が「2」、「5」、「8」の場合は、テーブルデータ56としてマスクタイミングを示す「0」、それ以外の場合は、テーブルデータ56として非マスクタイミングを示す「1」が、テーブル回路22からマスク信号25として出力される。
【0071】
マスク回路10は、このマスク信号25を参照して、タイミングT1、T4、T7において、クロックSのパルスをマスクし、それ以外のタイミングではパルスをマスクしないで、クロックBに出力する。
したがって、クロックSの連続するM個のクロックパルスのタイミングT0〜T11のうち、タイミングT1、T4、T7にあるクロックパルスがマスクされてクロックBとして出力されない。それ以外のタイミングでは、常にクロックパルスがマスクされることなくクロックBとして出力される。
【0072】
この結果、位相調整を行わなかった図6と比較して、位相調整を行った図7では、クロックSの1サイクル分だけ位相の進んだクロックBが出力される。これにより、クロックAの分配遅延よりも、クロックBの分配遅延がクロックSの0.5サイクルから1.5サイクルだけ大きいにもかかわらず、クロックA'とクロックB'の位相差を0.5サイクル以内にすることができる。
【0073】
特に、タイミングT0、T3、T6、T9などの通信タイミングにおいて、回路Aと回路Bとがデータ通信を行うクロックA'の立ち上がりタイミングとクロックB'の立ち上がりタイミングのずれ(クロックスキュー)が、クロックSの0.5サイクル以内に調整されるので、回路Aと回路Bとで通信性能を低下させずにデータ通信を行うことができる。
【0074】
図6および図7では、クロックAの分配遅延よりも、クロックBの分配遅延がクロックSの0.5サイクルから1.5サイクルだけ大きい場合について説明した。しかし、分配遅延の差がそれ以上であっても、位相調整信号60として適切な値を出力することで、同様に位相調整を行うことができる。
【0075】
一般的には、クロックAの分配遅延よりも、クロックBの分配遅延がクロックSのD−0.5サイクルからD+0.5サイクルだけ大きい場合(Dは正の整数)、位相調整信号60には、クロックBの位相をクロックSのDサイクル分だけ進めることを示す値「D」を出力すればよい。
【0076】
このとき、リセット値生成回路80は、位相調整信号60である「D」を参照して、リセット値81に「D」を出力する。カウンタ回路21は、いずれかの通信タイミングで、カウント値をリセット値81が示す「D」にリセットする。
【0077】
(4)図8のタイミングチャート(位相進みあり、位相調整なし)の説明
次に、図8を用いて、クロックA'に対してクロックB'の位相が進んでおり、更にクロック信号生成回路100が位相調整を行わない場合の動作について説明する。
【0078】
図8において、クロックAの分配遅延よりも、クロックBの分配遅延がクロックSの0.5サイクルから1.5サイクル小さいとする。ここで、位相調整信号60が、位相調整が不要であることを示す「0」である場合、クロック信号生成回路100は位相調整を行わず、図5で示した動作と同様の動作を行う。
【0079】
その結果、クロックA'の位相よりもクロックB'の位相が進むことになる。特にタイミングT0、T3、T6、T9などの通信タイミングでは、回路Aと回路Bがデータ通信を行うクロックA'の立ち上がりタイミングとクロックB'の立ち上がりタイミングに、クロックSの0.5サイクル以上のずれ(クロックスキュー)が生じる。よってこの場合は、正常に通信が行われない、通信性能が低下するという問題が発生する。
【0080】
(5)図9のタイミングチャート(位相進みあり、位相調整あり)の説明
次に、図9を用いて、クロックA'に対してクロックB'の位相が進んでおり、更にクロック信号生成回路100が位相調整を行う場合の動作について説明する。
【0081】
図8の場合と同様に図9においても、クロックAの分配遅延よりも、クロックBの分配遅延がクロックSの0.5サイクルから1.5サイクル小さいとする。一方、図8と異なり、位相調整信号60として「−1」が出力されている。この信号は、位相がクロックSの0.5サイクルから1.5サイクル進んでいる場合に対応して、クロックBの位相をクロックSの1サイクル分だけ遅らせるような位相調整を行うための信号である。
【0082】
この場合、リセット値生成回路80は、位相調整信号60の値「−1」を参照して、リセット値81に「11」を出力する。この値は、位相調整信号60の値に分周比分母Mの値を加算して生成される。すなわち、M=12の場合、−1+12=11となる。カウンタ回路21は、いずれかの通信タイミング(図9ではタイミングT0、T0')で、カウント値をリセット値81が示す「11」にリセットする。カウント値はその後、クロックAとクロックBの位相関係が一巡する12サイクル分を繰り返してクロックSのクロックパルスをカウントする。これにより、クロックAとクロックBの相対的な位相関係を示すカウント値55がカウンタ回路21から出力される。
【0083】
図9では、カウント値55は、タイミングT0で「11」、タイミングT1で「0」、タイミングT2で「1」となり、タイミングT11で「10」となり、再びタイミングT0'で「11」になる。図9から明らかのように、カウント値55がリセット値である「11」となるタイミングは、カウンタ回路21をリセットするタイミングである通信タイミングである。
【0084】
テーブル回路22が保持するテーブルデータ56は、位相調整を行わない図5の場合と同一である。図5の場合と同様に、例えばカウント値55が「2」、「5」、「8」の場合は、テーブルデータ56としてマスクタイミングを示す「0」、それ以外の場合は、テーブルデータ56として非マスクタイミングを示す「1」が、テーブル回路22からマスク信号25として出力される。
【0085】
マスク回路10は、このマスク信号25を参照して、タイミングT3、T6、T9において、クロックSのパルスをマスクし、それ以外のタイミングではパルスをマスクしないで、クロックBに出力する。
したがって、クロックSの連続するM個のクロックパルスのタイミングT0〜T11のうち、タイミングT3、T6、T9にあるクロックパルスがマスクされてクロックBとして出力されない。それ以外のタイミングでは、常にクロックパルスがマスクされることなくクロックBとして出力される。
【0086】
この結果、位相調整を行わなかった図8と比較して、位相調整を行った図9では、クロックSの1サイクル分だけ位相の遅れたクロックBが出力される。これにより、クロックAの分配遅延よりも、クロックBの分配遅延がクロックSの0.5サイクルから1.5サイクルだけ小さいにもかかわらず、クロックA'とクロックB'の位相差を0.5サイクル以内にすることができる。
【0087】
特に、タイミングT0、T3、T6、T9などの通信タイミングにおいて、回路Aと回路Bとがデータ通信を行うクロックA'の立ち上がりタイミングとクロックB'の立ち上がりタイミングのずれ(クロックスキュー)が、クロックSの0.5サイクル以内に調整されるので、回路Aと回路Bとで通信性能を低下させずにデータ通信を行うことができる。
【0088】
図8および図9では、クロックAの分配遅延よりも、クロックBの分配遅延がクロックSの0.5サイクルから1.5サイクルだけ小さい場合について説明した。しかし、分配遅延の差がそれ以上であっても、位相調整信号60に適切な値を出力することで、同様に位相調整を行うことができる。
【0089】
一般的には、クロックAの分配遅延よりも、クロックBの分配遅延がクロックSのD−0.5サイクルからD+0.5サイクルだけ小さい場合(Dは正の整数)、位相調整信号60として、クロックBの位相をクロックSのDサイクル分だけ遅らせることを示す値「−D」を出力すればよい。
【0090】
このとき、リセット値生成回路80は、位相調整信号60である「−D」を参照して、リセット値81として「M−D」を出力する。ここで、「M−D」は位相調整信号60の値に分周比分母Mの値を加算した値である。そして、カウンタ回路21は、いずれかの通信タイミングで、カウント値をリセット値81が示す「M−D」にリセットする。
【0091】
ここで、位相調整信号60は上位回路(図示せず)により供給される。上位回路は、クロックAの分配遅延とクロックBの分配遅延を比較して、位相調整信号60の値を決定することができる。
すなわち、クロックAの分配遅延よりも、クロックBの分配遅延がクロックSのD−0.5サイクルからD+0.5サイクル大きい場合(Dは正の整数)は、位相調整信号60として、クロックBの位相をクロックSのDサイクル分だけ進めることを示す「D」が出力される。
一方、クロックAの分配遅延よりも、クロックBの分配遅延がクロックSのD−0.5サイクルからD+0.5サイクル小さい場合(Dは正の整数)は、位相調整信号60として、クロックBの位相をクロックSのDサイクル分だけ遅らせることを示す「−D」が出力される。また、それ以外の場合には、位相調整は不要なので、位相調整信号60として「0」が出力される。
【0092】
このとき、上位回路は、位相調整信号60の値を、半導体集積回路の設計時にクロックAの分配遅延とクロックBの分配遅延を評価して決定しても良い。また、半導体集積回路の製造後にクロックAの分配遅延とクロックBの分配遅延を測定して決定しても良い。
【0093】
また、上位回路は、回路の動作中に、クロックA'とクロックB'を観測して、クロックAの分配遅延とクロックBの分配遅延の差を測定し、それに基づいて位相調整信号60の値を決定しても良い。
【0094】
図10は、位相調整信号60を供給する上位回路として、位相調整信号生成回路120を備えた半導体集積回路の例であり、図1の半導体集積回路例に位相調整回路120を追加した構成である。位相調整信号生成回路120は、クロックA'とクロックB'を入力し、クロックA'とクロックB'の位相を比較することで、クロックAの分配遅延とクロックBの分配遅延の差を測定し、それに基づいて位相調整信号60の値を決定する。このような回路は、位相比較回路を用いて容易に実現することができる。
【0095】
ここで、クロックA´は、通信タイミングの基準となるクロック信号に基づくクロック(第1のクロック)である。つまり、第1のクロックは、通信タイミングの基準となるクロック信号(クロックA)が分配遅延されたクロックである。
また、クロックB´は、出力クロック信号に基づくクロック(第2のクロック)である。つまり、第2のクロックは、出力クロック信号(クロックB)が分配遅延されたクロックである。
【0096】
このように、本実施の形態にかかるクロック分周回路では、マスク制御回路において、入力クロック信号のクロックパルスをカウンタ回路でカウントすることで、入力クロック信号に対する通信タイミングの相対的な位相を示すカウント値を生成している。そして、マスクタイミングを割り当てたマスク信号をこのカウント値に基づいて生成している。これにより、カウンタ回路という極めて簡単な回路構成で、入力クロック信号に対する通信タイミングの相対的な位相を導出でき、通信タイミング以外のタイミングからマスクタイミングを正確に割り当てることが可能となる。
【0097】
また、本実施の形態にかかるクロック分周回路では、マスク制御回路において、少なくとも分周比設定、およびカウント値の組合せごとにマスクの要否を示すテーブルデータを予めテーブル回路で保持している。そして、入力されたこれら組合せに応じてテーブル回路から出力されたテーブルデータをマスク信号として出力している。よって、テーブル回路という極めて簡単な回路構成で、通信タイミング以外のタイミングから、入力クロック信号に対する通信タイミングの相対的な位相に応じた所望のマスクタイミングを正確に割り当てることが可能となる。
【0098】
また、本実施の形態にかかるクロック分周回路はディジタル論理回路のみで構成され、クロックSをマスクするか否かのいずれかを選択して、有理数分周を実現するので、消費電力やレイアウト面積を小さくすることができる。また、アナログ回路や専用設計を必要とする回路を使用していないので、設計・検証コストを小くさくすることができる。
【0099】
また、本実施の形態にかかるクロック分周回路は、出力クロック信号に対する位相制御を示す位相調整信号に応じてカウンタ回路のリセット値を生成することにより、入力クロック信号を有理数分周しつつ、出力クロック信号の位相を調整することができる。したがって、テーブル回路に位相調整のための特別なテーブルデータを追加する必要がなく、また位相調整のための特別な遅延回路等を備える必要もない。このため、レイアウト面積や消費電力を大幅に増大させることなく、設計・検証コストを小さくすることが可能な、位相調整機能付きの有理数分周回路を実現することができる。
【0100】
次に、本実施の形態にかかるクロック分周方法について図1、図3を用いて説明する。
本実施の形態にかかるクロック分周方法は、N/M(Nは正整数、MはNより大きい正整数)により規定された分周比に基づいて、入力クロック信号(クロックS)のM個のクロックパルスのうち、(M−N)個分のクロックパルスをマスクすることにより、入力クロック信号をN/M分周した出力クロック信号(クロックB)を生成するクロック分周方法であって、次の工程を有する。
入力クロック信号のクロックパルスと、出力クロック信号を用いる対象回路(回路B)が行うデータ通信の通信タイミングを示す通信タイミング信号26と、入力された位相調整信号60に応じて生成されたリセット値81と、に基づき、入力クロック信号に対する通信タイミングの相対的な位相を示すカウント値55を生成する工程。
カウント値55に基づき入力クロック信号のM個のクロックパルスのうち通信タイミング以外のクロックパルスに対して(M−N)個分のクロックパルスをマスクするマスクタイミングを割り当てるマスク信号25を生成する工程。
マスク信号25に応じて、入力クロック信号のクロックパルスをマスクすることによって出力クロック信号を生成する工程。
【0101】
本実施の形態にかかるクロック分周方法は、例えば図1、図3に示すクロック分周回路を用いて実施することができる。
【0102】
また、本実施の形態にかかるクロック分周方法では、次のようにしてリセット値を生成してもよい。入力された位相調整信号60の値が位相調整を行わないことを示す値の場合は値が0のリセット値を生成する。入力された位相調整信号60の値が、出力クロック信号の位相を入力クロック信号のDサイクル(Dは正整数)進めることを示す値である場合は値がDのリセット値を生成する。入力された位相調整信号60の値が、出力クロック信号の位相を入力クロック信号のDサイクル遅らせることを示す値である場合は、値が(M−D)のリセット値を生成する。
【0103】
また、本実施の形態にかかるクロック分周方法では、少なくともカウント値と分周比分母Mおよび分周比分子Nの組合せごとにマスクの要否を示すテーブルデータを予め保持しておき、入力された組合せに応じて出力されたテーブルデータに基づいてマスク信号を生成してもよい。
【0104】
また、本実施の形態にかかるクロック分周方法では、通信タイミングの基準として入力したクロック信号(クロックA)の立ち上がりタイミングを検出することで通信タイミング信号26を生成してもよい。
【0105】
また、本実施の形態にかかるクロック分周方法では、通信タイミングの基準となるクロック信号に基づく第1のクロック(クロックA´)と、出力クロック信号に基づく第2のクロック(クロックB´)の位相を比較し、当該比較結果に基づき位相調整信号60を生成してもよい。
【0106】
また、本実施の形態にかかるクロック分周方法では、通信タイミングの基準となるクロック信号(クロックA)を分配遅延することで第1のクロック(クロックA´)を生成し、出力クロック信号(クロックB)を分配遅延することで第2のクロック(クロックB´)を生成してもよい。
【0107】
本実施の形態にかかるクロック分周方法により、異なる周波数のクロックで動作する回路同士の通信タイミングを考慮すると共に、分周時に出力クロック信号の位相を調整し、クロックスキューを低減することが可能となる。
【0108】
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得るであろう各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【0109】
10 マスク回路
11 ラッチ回路
12 ゲート回路
20 マスク制御回路
21 カウンタ回路
22 テーブル回路
25 マスク信号
26 通信タイミング信号
40 分周比設定情報
55 カウント値
56 テーブルデータ
60 位相調整信号
61 通信タイミング検出回路
65 トグル回路
70 トグル検出回路
80 リセット値生成回路
81 リセット値
100 クロック分周回路
120 位相調整信号生成回路
200 クロック分周回路
201 クロックバッファ
210、211 クロック分配回路

【特許請求の範囲】
【請求項1】
N/M(Nは正整数、MはNより大きい正整数)により規定された分周比に基づいて、入力クロック信号のM個のクロックパルスのうち、(M−N)個分のクロックパルスをマスクすることにより、当該入力クロック信号をN/M分周した出力クロック信号を生成するクロック分周回路であって、
前記入力クロック信号のクロックパルスと、前記出力クロック信号を用いる対象回路が行うデータ通信の通信タイミングを示す通信タイミング信号と、入力された位相調整信号に応じて生成されたリセット値と、に基づき、前記入力クロック信号に対する前記通信タイミングの相対的な位相を示すカウント値を生成し、当該カウント値に基づき前記入力クロック信号のM個のクロックパルスのうち前記通信タイミング以外のクロックパルスに対して(M−N)個分のクロックパルスをマスクするマスクタイミングを割り当てるマスク信号を生成するマスク制御回路と、
前記マスク制御回路によって生成された前記マスク信号に応じて、前記入力クロック信号のクロックパルスをマスクすることによって前記出力クロック信号を生成するマスク回路と、
を有するクロック分周回路。
【請求項2】
前記マスク制御回路は、前記入力された位相調整信号に応じてリセット値を生成するリセット値生成回路を有し、
前記リセット値生成回路は、
前記入力された位相調整信号の値が位相調整を行わないことを示す値の場合は、値が0のリセット値を生成し、
前記入力された位相調整信号の値が、出力クロック信号の位相を入力クロック信号のDサイクル(Dは正整数)進めることを示す値である場合は、値がDのリセット値を生成し、
前記入力された位相調整信号の値が、出力クロック信号の位相を入力クロック信号のDサイクル遅らせることを示す値である場合は、値が(M−D)のリセット値を生成する、
請求項1に記載のクロック分周回路。
【請求項3】
前記マスク制御回路は、少なくとも前記カウント値と分周比分母Mおよび分周比分子Nの組合せごとにマスクの要否を示すテーブルデータを予め保持するテーブル回路を有し、
入力された前記組合せに応じて前記テーブル回路から出力されたテーブルデータに基づいて前記マスク信号を生成する、請求項1または2に記載のクロック分周回路。
【請求項4】
前記マスク制御回路は、通信タイミングの基準として入力したクロック信号の立ち上がりタイミングを検出することで前記通信タイミング信号を生成する通信タイミング検出回路を有する請求項1乃至3のいずれか一項に記載のクロック分周回路。
【請求項5】
前記クロック分周回路は、通信タイミングの基準となるクロック信号に基づく第1のクロックと、前記出力クロック信号に基づく第2のクロックの位相を比較し、当該比較結果に基づき前記位相調整信号を生成する位相調整信号生成回路を有する、請求項1乃至4のいずれか一項に記載のクロック分周回路。
【請求項6】
前記第1のクロックは、前記通信タイミングの基準となるクロック信号が分配遅延されたクロックであり、
前記第2のクロックは、前記出力クロック信号が分配遅延されたクロックである、請求項5に記載のクロック分周回路。
【請求項7】
N/M(Nは正整数、MはNより大きい正整数)により規定された分周比に基づいて、入力クロック信号のM個のクロックパルスのうち、(M−N)個分のクロックパルスをマスクすることにより、当該入力クロック信号をN/M分周した出力クロック信号を生成するクロック分周方法であって、
前記入力クロック信号のクロックパルスと、前記出力クロック信号を用いる対象回路が行うデータ通信の通信タイミングを示す通信タイミング信号と、入力された位相調整信号に応じて生成されたリセット値と、に基づき、前記入力クロック信号に対する前記通信タイミングの相対的な位相を示すカウント値を生成し、
前記カウント値に基づき前記入力クロック信号のM個のクロックパルスのうち前記通信タイミング以外のクロックパルスに対して(M−N)個分のクロックパルスをマスクするマスクタイミングを割り当てるマスク信号を生成し、
前記マスク信号に応じて、前記入力クロック信号のクロックパルスをマスクすることによって前記出力クロック信号を生成する、
クロック分周方法。
【請求項8】
前記入力された位相調整信号の値が位相調整を行わないことを示す値の場合は、値が0のリセット値を生成し、
前記入力された位相調整信号の値が、出力クロック信号の位相を入力クロック信号のDサイクル(Dは正整数)進めることを示す値である場合は、値がDのリセット値を生成し、
前記入力された位相調整信号の値が、出力クロック信号の位相を入力クロック信号のDサイクル遅らせることを示す値である場合は、値が(M−D)のリセット値を生成する、
請求項7に記載のクロック分周方法。
【請求項9】
少なくとも前記カウント値と分周比分母Mおよび分周比分子Nの組合せごとにマスクの要否を示すテーブルデータを予め保持し、
入力された前記組合せに応じて出力されたテーブルデータに基づいて前記マスク信号を生成する、請求項7または8に記載のクロック分周方法。
【請求項10】
通信タイミングの基準として入力したクロック信号の立ち上がりタイミングを検出することで前記通信タイミング信号を生成する、請求項7乃至9のいずれか一項に記載のクロック分周方法。
【請求項11】
通信タイミングの基準となるクロック信号に基づく第1のクロックと、前記出力クロック信号に基づく第2のクロックの位相を比較し、当該比較結果に基づき前記位相調整信号を生成する、請求項7乃至10のいずれか一項に記載のクロック分周方法。
【請求項12】
前記通信タイミングの基準となるクロック信号を分配遅延することで前記第1のクロックを生成し、
前記出力クロック信号を分配遅延することで前記第2のクロックを生成する、請求項11に記載のクロック分周方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−177751(P2010−177751A)
【公開日】平成22年8月12日(2010.8.12)
【国際特許分類】
【出願番号】特願2009−15230(P2009−15230)
【出願日】平成21年1月27日(2009.1.27)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】