(57)【特許請求の範囲】
【請求項１】
Ｎ／Ｓ（Ｎは正整数，ＳはＮより大きい正整数）により規定された分周比に基づいて、入力クロック信号のＳ個のクロック・パルスのうち、（Ｓ−Ｎ）個分のクロック・パルスをマスクすることにより、当該入力クロック信号をＮ／Ｓ分周した出力クロック信号を生成するクロック分周回路であって、
前記入力クロック信号に含まれるクロック・パルスのうちマスクしないクロック・パルスが生成される非マスクタイミングを示すマスク信号を生成するマスク制御回路と、
前記マスク制御回路によって生成されたマスク信号に応じて、前記入力クロック信号のクロック・パルスをマスクすることによって前記出力クロック信号を生成するマスク回路を備え、
前記マスク制御回路は、前記入力クロック信号のＳ個のクロック・パルスのうち、前記出力クロック信号を用いる対象回路以外の他の回路で用いられ、前記入力クロック信号から生成された他のクロック信号においてクロック・パルスがマスクされたタイミングのクロック・パルスに優先的に前記非マスクタイミングを割り当てて前記マスク信号を生成するクロック分周回路。
【請求項２】
前記マスク制御回路は、さらに、前記出力クロック信号を用いる対象回路が行うデータ通信の通信タイミング以外のクロック・パルスを優先的にマスクするマスク信号を生成することを特徴とする請求項１記載のクロック分周回路。
【請求項３】
前記マスク制御回路は、分周比の小さい場合にマスク対象となったクロック・パルスに対しては、それよりも分周比の大きい場合にマスク対象に含めることを特徴とする請求項１記載のクロック分周回路。
【請求項４】
前記マスク制御回路は、少なくとも前記分周比を規定する分周比分母Ｓおよび分周比分子Ｎの組合せごとにマスクの要否を示すテーブルデータを予め保持するテーブル回路を備え、入力されたこれら組合せに応じて前記テーブル回路から出力されたテーブルデータを前記マスク信号として出力することを特徴とする請求項１記載のクロック分周回路。
【請求項５】
前記テーブル回路は、前記分周比分母Ｓおよび前記分周比分子Ｎに、前記入力クロック信号の分周比を規定するＳ／Ｍ（Ｓは正整数，ＭはＳより大きい正整数）の分周比分母Ｍを加えた組合せごとにマスクの要否を示すテーブルデータを予め保持することを特徴とする請求項４記載のクロック分周回路。
【請求項６】
前記マスク制御回路は、前記入力クロック信号のクロック・パルスをカウンタでカウントしてカウント値を生成するとともに、当該カウント値が分周比分母Ｓに達した時点でカウント値をリセットすることにより、当該入力クロック信号に対する、前記出力クロック信号を用いる対象回路が行うデータ通信の通信タイミングの相対的な位相を示すカウント値を生成し、このカウント値に基づいて前記マスク信号を生成することを特徴とする請求項１〜５いずれかに記載のクロック分周回路。
【請求項７】
前記テーブル回路は、前記分周比分母Ｓ、前記分周比分子Ｎおよび前記分周比分母Ｍに、前記他の回路で用いるクロック信号のパルスタイミングを示す他クロック情報および前記入力クロック信号のクロック・パルス数を示すカウント値を加えた組合せごとにマスクの要否を示すテーブルデータを予めテーブル回路で保持し、入力されたこれら組合せに応じて前記テーブル回路から出力されたテーブルデータを前記マスク信号として出力することを特徴とする請求項４記載のクロック分周回路。
【請求項８】
クロックツリー回路と、
前記クロックツリー回路から出力されるクロック信号を入力し、入力した信号に対して分周を行い、第１の出力クロック信号を第１の回路に出力する第１のクロック分周回路と、
前記クロックツリー回路から出力されるクロック信号を入力し、入力した信号に対して分周を行い、第２の出力クロック信号を第２の回路に出力する第２のクロック分周回路とを備え、
前記第２のクロック分周回路は、前記クロック信号のクロック・パルスが存在するタイミングのうち前記第１の出力クロック信号にクロック・パルスが存在しないタイミングに対応するタイミングのクロック・パルスを優先的にマスク対象から外すように前記第２の出力クロック信号を生成するクロック分配回路。
【請求項９】
前記第１の回路と前記第２の回路は、互いに隣接する回路であることを特徴とする請求項８記載のクロック分配回路。
【請求項１０】
前記クロックツリー回路の入力段において、入力クロック信号に対して分周を行い、当該クロックツリー回路に出力する第３のクロック分周回路をさらに備えたことを特徴とする請求項８又は９記載のクロック分配回路。
【請求項１１】
前記第３のクロック分周回路は、前記第１のクロック分周回路又は前記第２のクロック分周回路における分周のうち、最も小さい分周比と同一の分周比に基づいて、分周を行うことを特徴とする請求項１０記載のクロック分配回路。
【請求項１２】
前記第１の出力クロック信号は、前記第１の回路がデータ通信を行うタイミングに相当するクロック・パルスを全て含み、
前記第２の出力クロック信号は、前記第２の回路がデータ通信を行うタイミングに相当するクロック・パルスを全て含むことを特徴とする請求項８〜１１いずれかに記載のクロック分配回路。
【請求項１３】
Ｎ／Ｓ（Ｎは正整数，ＳはＮより大きい正整数）により規定された分周比に基づいて、入力クロック信号のＳ個のクロック・パルスのうち、（Ｓ−Ｎ）個分のクロック・パルスをマスクすることにより、当該入力クロック信号をＮ／Ｓ分周した出力クロック信号を生成するクロック分周方法であって、
前記入力クロック信号のＳ個のクロック・パルスのうち、前記出力クロック信号を用いる対象回路以外の他の回路で用いられ、前記入力クロック信号から生成された他のクロック信号にクロック・パルスが存在しないタイミングのクロック・パルスを優先的に残すことを決定し、
決定されたクロック・パルス以外のクロック・パルスをマスクすることによって前記出力クロック信号を生成する、クロック分周方法。
【請求項１４】
前記クロック・パルスを優先的に残すことを決定するに際し、前記出力クロック信号を用いる対象回路が行うデータ通信の通信タイミング以外のクロック・パルスを優先的にマスクすることを決定することを特徴とする請求項１３記載のクロック分周方法。
【請求項１５】
分周比の小さい場合にマスク対象となったクロック・パルスに対しては、それよりも分周比の大きい場合にマスク対象に含めることを特徴とする請求項１４記載のクロック分周方法。
【請求項１６】
クロックツリー回路から出力されるクロック信号に対して分周を行い、第１の出力クロック信号を第１の回路に出力し、
前記クロックツリー回路から出力されるクロック信号に対して分周を行う際に、前記クロック信号のクロック・パルスのうち前記第１の出力クロック信号にクロック・パルスが存在しないタイミングに存在するクロック・パルスを優先的に含むように第２の出力クロック信号を生成し、第２の回路に出力する、クロック分配方法。
【請求項１７】
前記クロックツリー回路の入力段において、入力クロック信号に対して分周を行い、当該クロックツリー回路に出力することを特徴とする請求項１６記載のクロック分配方法。
【請求項１８】
前記第１の出力クロック信号は、前記第１の回路がデータ通信を行うタイミングに相当するクロック・パルスを全て含み、
前記第２の出力クロック信号は、前記第２の回路がデータ通信を行うタイミングに相当するクロック・パルスを全て含むことを特徴とする請求項１６又は１７に記載のクロック分配方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック分周回路、クロック分配回路、クロック分周方法及びクロック分配方法に関し、特に、複数の機能ブロックのそれぞれに周波数の異なるクロック信号を生成し分配するクロック分周回路、クロック分配回路、クロック分周方法及びクロック分配方法に関する。
【背景技術】
【０００２】
半導体装置に集積された複数の回路（機能ブロック）のそれぞれに、周波数の異なるクロック信号を分配する方法として、ある周波数のクロック信号から、機能ブロック毎に、より低い周波数のクロック信号を分周して生成し、それぞれの機能ブロックに分配する方法が提案されている。【０００３】
ある周波数のクロック信号から、より低い周波数のクロック信号を分周するクロック分周回路において、分周比、すなわち分周前のクロック信号の周波数と分周後のクロック信号の周波数の比が１／Ｍ（Ｍは整数）の分周回路（整数分周回路）は、カウンタ回路を用いて容易に実現することができる。【０００４】
一方、分周比がＮ／Ｍ（Ｎ、Ｍは整数）であっても、分周が可能な分周回路（有理数分周回路）が、提案されている（例えば、特許文献１、特許文献２）。これらの文献に記載された背景技術によると、まず、分周比の分子を設定する値（分周比Ｎ／ＭにおけるＮの値）を、入力クロック信号のサイクル毎に累積的に加算する。次に、その加算結果が分周比の分母を設定する値（分周比Ｎ／ＭにおけるＭの値）より大きくなった場合には、その加算結果からＭを引く。これらの動作を行い、その加算結果を参照して、入力クロック信号のクロック・パルスを適切にマスクする（間引く）ことにより有理数分周を実現している。【０００５】
また、半導体装置がますます大規模化し、その動作周波数が増加するにつれて、半導体装置上に分配されたクロック信号間の相対的な位相ずれ、いわゆるクロックスキューが大きな問題となっている。クロックスキューが大きくなると、同期式回路の動作周波数の上限が制限されるため、性能を低下させてしまう。【０００６】
クロックスキューを低減する技術として、クロックバッファ及びクロック配線をツリー状に構成したクロックツリー回路が知られている。このクロックツリー回路は、クロックツリーの各階層においてクロックバッファを使用する。さらに負荷容量や配線抵抗が同一になるように設計レイアウトを行うことによって、クロックツリーの入力端から各出力端までのクロック伝播経路の遅延を同一とする。そのため、各出力端間におけるクロック信号の位相差は相対的に小さくなり、クロックスキューを低減することが期待できる。【０００７】
図１４〜図１６を参照して、上記背景技術によるクロック分周回路およびクロック分配回路における問題について、具体的に説明する。【０００８】
図１４は、クロックＡｉ（ｉは１≦ｉ≦３２の整数）で動作する回路Ａｉ（ｉは１≦ｉ≦３２の整数）、クロックＢｉ（ｉは１≦ｉ≦３２の整数）で動作する回路Ｂｉ（ｉは１≦ｉ≦３２の整数）、クロックＮで動作する通信回路Ｎ、クロックツリー回路２０、複数のクロック分周回路１００とを含んだ半導体集積回路の例である。回路Ａｉおよび回路Ｂｉは、それぞれ通信回路Ｎに接続され、通信回路Ｎを通じて互いに通信する。クロックツリー回路２０の各出力端にはクロック分周回路１００が接続され、クロックツリー回路２０と複数のクロック分周回路１００から構成されるクロック分配回路を構成する。【０００９】
クロックツリー回路２０は、クロックツリーの各階層において、クロックバッファ２２を使用し、かつ負荷容量や配線抵抗が同一になるように設計レイアウトを行う。これにより、クロックＳ、クロックＡｉ、クロックＢｉのクロックスキューを低減する。さらに、クロックＮもまたクロックツリー回路（図示せず）により分配することにより、クロックＮとクロックＳの分配遅延を同一とする。これによって、クロックＮ、クロックＳ、クロックＡｉおよびクロックＢｉのクロックスキューを低減し、回路Ａｉ及び回路Ｂｉと、通信回路Ｎとが同期的に通信することを実現する。【００１０】
背景技術によるクロック分周回路１００は、入力する分周比設定に基づいて、クロックツリー回路２０により分配されたクロックＳを有理数分周することによって、クロックＡｉおよびクロックＢｉを生成する。【００１１】
背景技術にかかるクロック分周回路１００は、入力クロック信号のクロック・パルスを選択的にマスクすることによって分周を実現している。しかし、異なる周波数のクロックで動作する通信回路Ｎとの通信を考慮していない。そのため、通信回路Ｎと通信を行う場合、特別なクロック乗せ換え回路や、特別なタイミング設計が必要になる、という問題がある。さらにその結果、通信の性能が低下してしまう、という問題もある。また、分周比を変更する場合、それに応じて通信回路Ｎとの通信のタイミングも変更する必要がある、という問題がある。【００１２】
図１５は、背景技術にかかるクロック分周回路１００によるクロック分周例を示すタイミング図である。クロックＳを分周比１１／１２〜４／１２で分周して生成したクロックＡｉおよびクロックＢｉを図示している。クロックＡｉおよびクロックＢｉは、入力するクロックＳのクロック・パルスを適切にマスクすることにより生成することができる。例えば、分周比が９／１２のクロックＡｉおよびクロックＢｉは、クロックＳのタイミングＴ０〜Ｔ１１にある１２個のクロック・パルスのうち、タイミングＴ３、Ｔ８、Ｔ１１にある３個のクロック・パルスをマスクすることによって生成している。【００１３】
ここで、クロックＮの周波数はクロックＳの１／３であるとする。すわなち、クロックＮのクロックＳに対する分周比は１／３（＝４／１２）である。このとき、クロックＮとクロックＡｉの位相関係は、クロックＳの１２サイクルで一巡する。この位相関係が一巡する１２サイクルのタイミングを、Ｔ０〜Ｔ１１で示している。【００１４】
また、回路Ａｉおよび回路Ｂｉと通信回路Ｎは、クロックＮのすべての立ち上がりのタイミングであるタイミングＴ０、Ｔ３、Ｔ６、Ｔ９で通信するとする。より詳細には、タイミングＴ０、Ｔ３、Ｔ６、Ｔ９において、回路Ａｉおよび回路Ｂｉは通信回路Ｎに信号を出力し、通信回路Ｎからの信号を入力する。同様に、タイミングＴ０、Ｔ３、Ｔ６、Ｔ９において、通信回路Ｎは回路Ａｉおよび回路Ｂｉに信号を出力し、回路Ａｉおよび回路Ｂｉからの信号を入力する。【００１５】
ところが、背景技術にかかるクロック分周回路１００は、異なる周波数のクロックとの通信を考慮していない。そのため、この通信のタイミングにおいても、クロックＳのクロック・パルスをマスクしてクロックＡｉやクロックＢｉを生成してしまう場合がある。【００１６】
図１５の例の場合、通信のタイミングのうち、Ｔ３、Ｔ６、Ｔ９において、クロックＳのクロック・パルスをマスクしてクロックＡｉおよびクロックＢｉを生成している場合がある。具体的には、タイミングＴ３において、分周比が９／１２の場合（１１０ａ）、６／１２の場合（１１０ｂ）、５／１２の場合（１１０ｃ）にクロック・パルスをマスクしている。同様に、タイミングＴ６において、５／１２の場合（１１０ｄ）にクロック・パルスをマスクしている。同様に、タイミングＴ９において、分周比が７／１２の場合（１１０ｅ）、６／１２の場合（１１０ｆ）、５／１２の場合（１１０ｇ）にクロック・パルスをマスクしている。【００１７】
上記の場合のように、通信のタイミングでクロックＳのクロック・パルスをマスクしてクロックＡｉおよびクロックＢｉを生成した場合、クロックＮで動作する通信回路Ｎが出力した信号を、クロックＡｉで動作する回路Ａｉが期待したタイミングで入力できないことになる。また、クロックＮで動作する通信回路Ｎが出力した信号を、クロックＢｉで動作する回路Ｂｉが期待したタイミングで入力できないことになる。同様に、クロックＮで動作する通信回路Ｎが期待したタイミングで、クロックＡｉで動作する回路Ａｉが信号を出力できないことになる。また、クロックＮで動作する通信回路Ｎが期待したタイミングで、クロックＢｉで動作する回路Ｂｉが信号を出力できないことになる。【００１８】
従って、背景技術にかかるクロック分周回路では、異なる周波数のクロックにより動作する回路との通信において、期待した正しい通信動作を実現するために、特別なクロック乗せ換え回路や、特別なタイミング設計が必要となる、という問題がある。その結果、通信の性能が低下してしまう、という問題がある。さらに、分周比を変更する場合、それに応じて異なる周波数のクロックとの通信のタイミングも変更する必要がある、という問題がある。【００１９】
さらに、図１４に示したクロックツリー回路２０の各出力端にクロック分周回路１００を接続するクロック分配回路においては、クロックツリー回路２０に入力されるクロックＳは、常に分周されていない周波数の高いクロック信号である。そのため、クロックツリー回路２０の消費電力が大きいという問題がある。【００２０】
さらに、背景技術にかかるクロック分周回路１００は、入力クロック信号のクロック・パルスを選択的にマスクすることによって分周を実現しているが、ＬＳＩ上で複数のクロック信号を使用する場合でも、他のクロック信号との関係を考慮していない。そのため、クロック分周回路により生成した分周クロック信号で動作する回路と、前記分周クロック信号とは別の他のクロック信号で動作する回路とが、同時に停止したサイクルの直後のサイクルで同時に動作する場合や、同時に動作したサイクルの直後のサイクルで同時に停止する場合が存在しうる。その場合、消費電流の変動が大きくなるという問題がある。さらにその結果、電源ノイズやＥＭＩ（Electro Magnetic Interference）ノイズが大きくなるという問題がある。【００２１】
例えば図１５に示したクロック分周例では、クロックＡｉの生成において、クロックＢｉとの関係を考慮していない。同様に、クロックＢｉの生成において、クロックＡｉとの関係を考慮していない。そのため、クロック・パルスがクロックＡｉとクロックＢｉの両方ともに存在するサイクルの直後のサイクルで、クロック・パルスがクロックＡｉとクロックＢｉの両方ともに存在しない場合がありうる。この場合、クロックＡｉで動作する回路ＡｉとクロックＢｉで動作する回路Ｂｉとが、同時に動作したサイクルの直後のサイクルで同時に停止する。同様に、クロック・パルスがクロックＡｉとクロックＢｉの両方ともに存在しないサイクルの直後のサイクルで、クロック・パルスがクロックＡｉとクロックＢｉの両方ともに存在する場合がありうる。この場合、クロックＡｉで動作する回路ＡｉとクロックＢｉで動作する回路Ｂｉとが、同時に停止したサイクルの直後のサイクルで同時に動作する。その結果、消費電流の変動が大きくなり、従って、電源ノイズやＥＭＩノイズが大きくなるという問題がある。【００２２】
図１６を参照して上記問題を具体的に説明する。図１６は、背景技術にかかるクロック分周回路１００によるクロック分周例であり、クロックＳを分周比９／１２で分周して生成したクロックＡｉと、クロックＳを分周比５／１２で分周して生成したクロックＢｉを示している。また、クロックＡｉで動作する回路ＡｉとクロックＢｉで動作する回路Ｂｉの消費電流、および消費電流の変動に起因する電源ノイズを示している。【００２３】
この例の場合、タイミングＴ２では、クロックＡｉとクロックＢｉの両方ともにクロック・パルスが存在し、回路Ａｉと回路Ｂｉの両方とも動作するので、消費電流が大きい。一方、タイミングＴ３では、クロックＡｉとクロックＢｉの両方ともにクロック・パルスが存在せず、回路Ａｉと回路Ｂｉの両方とも動作しないので、消費電流は小さい。すなわち、タイミングＴ２からタイミングＴ３にかけて、消費電流が大きい状況から小さい状況へ大きく変動する。その結果、大きな電源ノイズが発生してしまう。【００２４】
同様に、タイミングＴ３では、クロックＡｉとクロックＢｉの両方ともにクロック・パルスが存在せず、回路Ａｉと回路Ｂｉの両方とも動作しないので、消費電流は小さい。一方、タイミングＴ４では、クロックＡｉとクロックＢｉの両方ともにクロック・パルスが存在し、回路Ａｉと回路Ｂｉの両方とも動作するので、消費電流が大きい。すなわち、タイミングＴ３からタイミングＴ４にかけて、消費電流が小さい状況から大きい状況へ大きく変動する。その結果、大きな電源ノイズが発生してしまう。【００２５】
同様に、タイミングＴ７では、クロックＡｉとクロックＢｉの両方ともにクロック・パルスが存在し、回路Ａｉと回路Ｂｉの両方とも動作するので、消費電流が大きい。一方、タイミングＴ８では、クロックＡｉとクロックＢｉの両方ともにクロック・パルスが存在せず、回路Ａｉと回路Ｂｉの両方とも動作しないので、消費電流は小さい。すなわち、タイミングＴ７からタイミングＴ８にかけて、消費電流が大きい状況から小さい状況へ大きく変動する。その結果、大きな電源ノイズが発生してしまう。【００２６】
同様に、タイミングＴ１０では、クロックＡｉとクロックＢｉの両方ともにクロック・パルスが存在し、回路Ａｉと回路Ｂｉの両方とも動作するので、消費電流が大きい。一方、タイミングＴ１１では、クロックＡｉとクロックＢｉの両方ともにクロック・パルスが存在せず、回路Ａｉと回路Ｂｉの両方とも動作しないので、消費電流は小さい。すなわち、タイミングＴ１０からタイミングＴ１１にかけて、消費電流が大きい状況から小さい状況へ大きく変動する。その結果、大きな電源ノイズが発生してしまう。【００２７】
同様に、タイミングＴ１１では、クロックＡｉとクロックＢｉの両方ともにクロック・パルスが存在せず、回路Ａｉと回路Ｂｉの両方とも動作しないので、消費電流は小さい。一方、タイミングＴ０では、クロックＡｉとクロックＢｉの両方ともにクロック・パルスが存在し、回路Ａｉと回路Ｂｉの両方とも動作するので、消費電流が大きい。すなわち、タイミングＴ１１からタイミングＴ０にかけて、消費電流が小さい状況から大きい状況へ大きく変動する。その結果、大きな電源ノイズが発生してしまう。【００２８】
上記のように、背景技術にかかるクロック分周回路１００は、他のクロック信号との関係を考慮していないので、消費電流の変動が大きくなる場合があり、その結果、電源ノイズが大きくなるという問題がある。また、図１６の例では、電源ノイズが増大する問題について具体的に説明したが、消費電流の変動に起因するＥＭＩノイズについても、同様に増大するという問題がある。【００２９】
さらに、図１４に示したクロックツリー回路２０の各出力端にクロック分周回路１００を接続する背景技術にかかるクロック分配回路においては、クロックツリー回路２０により分配されるクロックＳは、常に分周されていない周波数の高いクロック信号であるため、クロックツリー回路２０の消費電力が大きいという問題がある。
【先行技術文献】
【特許文献】
【００３０】
【特許文献１】特開２００５−４５５０７号公報
【特許文献２】特開２００６−１４８８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【００３１】
以上、説明したように、背景技術にかかるクロック分周回路及びクロック分配回路では、複数の回路ブロックが同時に停止した直後に同時に動作する場合や、同時に動作した直後に同時に停止する場合が生じ、消費電力の変動が大きくなり、これに伴って電源ノイズやＥＭＩノイズが大きくなるという問題がある。【００３２】
本発明の目的は、上記の問題点を鑑みて発明されたものであり、電源ノイズやＥＭＩノイズの発生を抑制可能なクロック分周回路、クロック分配回路、クロック分周方法及びクロック分配方法を提供することにある。
【課題を解決するための手段】
【００３３】
本発明にかかるクロック分周回路は、Ｎ／Ｓ（Ｎは正整数，ＳはＮより大きい正整数）により規定された分周比に基づいて、入力クロック信号のＳ個のクロック・パルスのうち、（Ｓ−Ｎ）個分のクロック・パルスをマスクすることにより、当該入力クロック信号をＮ／Ｓ分周した出力クロック信号を生成するクロック分周回路であって、前記入力クロック信号のＳ個のクロック・パルスのうち、前記出力クロック信号を用いる対象回路以外の他の回路で用いるクロック信号にクロック・パルスが存在しないタイミングのクロック・パルスに優先的に非マスクタイミングを割り当てたマスク信号を生成するマスク制御回路と、前記マスク制御回路によって生成されたマスク信号に応じて、前記入力クロック信号のクロック・パルスをマスクすることによって前記出力クロック信号を生成するマスク回路と、を備えたものである。【００３４】
また、本発明にかかるクロック分配回路は、クロックツリー回路と、前記クロックツリー回路から出力されるクロック信号を入力し、入力した信号に対して分周を行い、第１の出力クロック信号を第１の回路に出力する第１のクロック分周回路と、前記クロックツリー回路から出力されるクロック信号を入力し、入力した信号に対して分周を行い、第２の出力クロック信号を第２の回路に出力する第２のクロック分周回路とを備え、前記第２のクロック分周回路は、前記第１の出力クロック信号にクロック・パルスが存在しないタイミングにおいて、優先的にクロック・パルスを含むように第２の出力クロック信号を生成するものである。【００３５】
また、本発明にかかるクロック分周方法は、Ｎ／Ｓ（Ｎは正整数，ＳはＮより大きい正整数）により規定された分周比に基づいて、入力クロック信号のＳ個のクロック・パルスのうち、（Ｓ−Ｎ）個分のクロック・パルスをマスクすることにより、当該入力クロック信号をＮ／Ｓ分周した出力クロック信号を生成するクロック分周方法であって、前記入力クロック信号のＳ個のクロック・パルスのうち、前記出力クロック信号を用いる対象回路以外の他の回路で用いるクロック信号にクロック・パルスが存在しないタイミングを優先的に残すことを決定し、決定されたクロック・パルス以外のクロック・パルスをマスクすることによって前記出力クロック信号を生成する。【００３６】
また、本発明にかかるクロック分配方法は、クロックツリー回路から出力されるクロック信号に対して分周を行い、第１の出力クロック信号を第１の回路に出力し、前記クロックツリー回路から出力されるクロック信号に対して分周を行い、前記第１の出力クロック信号にクロック・パルスが存在しないタイミングにおいて、優先的にクロック・パルスを含むように第２の出力クロック信号を生成し、第２の回路に出力する。
【発明の効果】
【００３７】
本発明によれば、電源ノイズやＥＭＩノイズの発生を抑制可能なクロック分周回路、クロック分配回路、クロック分周方法及びクロック分配方法を提供することができる。
【図面の簡単な説明】
【００３８】
【図１】本発明における半導体集積回路の構成図である。
【図２】本発明における実施例１のクロック分周回路の構成図である。
【図３】本発明における実施例１のクロック分周回路の構成図である。
【図４】本発明における実施例１のクロック分周例を示すタイミング図である。
【図５】本発明における実施例１のクロック分周例を示すタイミング図である。
【図６】本発明における実施例１のクロック分周例を示すタイミング図である。
【図７】本発明における実施例１のクロック分周例を示すタイミング図である。
【図８】本発明における半導体集積回路のレイアウト例を示すレイアウト図である。
【図９】本発明における実施例１のクロック分周例を示すタイミング図である。
【図１０】本発明における実施例２のクロック分周回路の構成図である。
【図１１】本発明における実施例２のクロック分周回路の構成図である。
【図１２】本発明における実施例２のクロック分周回路の動作を示すタイミング図である。
【図１３】本発明における実施例２のクロック分周回路の動作を示すタイミング図である。
【図１４】背景技術における半導体集積回路の構成図である。
【図１５】背景技術におけるクロック分周例を示すタイミング図である。
【図１６】背景技術におけるクロック分周例を示すタイミング図である。
【発明を実施するための形態】
【００３９】
発明の実施の形態１．
次に本発明の実施の形態について図面を参照して詳細に説明する。
図１は、クロックＡｉ（ｉは１≦ｉ≦３２の整数）で動作する回路Ａｉ（ｉは１≦ｉ≦３２の整数）、クロックＢｉ（ｉは１≦ｉ≦３２の整数）で動作する回路Ｂｉ（ｉは１≦ｉ≦３２の整数）、クロックＮで動作する通信回路Ｎ、クロックツリー回路２１、クロック分周回路１０ａ, １０ｂ, １１ａ, １１ｂとを含んだ半導体集積回路の例である。図１４で示した背景技術にかかる半導体集積回路の例と同一の構成要素には同一の符号を付してある。
【００４０】
回路Ａｉおよび回路Ｂｉは、通信回路Ｎに接続され、通信回路Ｎを通じて互いに通信を行う。
クロックツリー回路２１は、２つの部分クロックツリー回路２１ａおよび２１ｂから構成される。部分クロックツリー回路２１ａの入力端にはクロック生成回路１０ｂが接続され、また、部分クロックツリー回路２１ａの各出力端にはクロック生成回路１０ａが接続され、回路Ａｉに対するクロック分配回路を構成する。同様に、部分クロックツリー回路２１ｂの入力端にはクロック生成回路１１ｂが接続され、また、部分クロックツリー回路２１ｂの各出力端にはクロック生成回路１１ａが接続され、回路Ｂｉに対するクロック分配回路を構成する。
【００４１】
クロックツリー回路２１、およびその部分クロックツリー回路２１ａ, ２１ｂの各階層において、クロックバッファ２２を使用し、かつ負荷容量や配線抵抗が同一になるように設計レイアウトを行うことによって、クロックＳのクロックスキューを低減する。さらに、クロックＮもまたクロックツリー回路（図示せず）により分配することにより、クロックＮとクロックＳの分配遅延を同一とする。これによって、クロックＮ、クロックＳ、クロックＡｉ、クロックＢｉのクロックスキューを低減し、回路Ａｉおよび回路Ｂｉと通信回路Ｎとが同期的に通信することを実現する。
【００４２】
図２は、本実施形態におけるクロック分周回路１０の構成を示す構成図である。クロック分周回路１０は、分周比設定３５で与えられるＮ／Ｍ（Ｎは正整数，ＭはＮより大きい正整数）で規定された分周比と、入力クロック分周比情報６１で与えられるＳ／Ｍ（Ｓは正整数，ＭはＳより大きい正整数）で規定されたクロックＩＮの分周比情報に基づいて、クロックＩＮ（入力クロック信号）の連続するＳ個のクロック・パルスのうち、Ｓ−Ｎ個分のクロック・パルスをマスクすることにより、クロックＩＮをＮ／Ｓの分周比で有理数分周したクロックＯＵＴ（出力クロック信号）を生成する回路である。
【００４３】
ここで、クロックＩＮはＳ／Ｍで分周されたクロックであるので、従って、クロック分周回路１０は、分周されていないクロック信号に対してＮ／Ｍの分周比で分周されたクロックＯＵＴを生成することになる。言い換えると、クロック分周回路１０は、分周比設定３５で与えられる分周比Ｎ／Ｍに基づいて、入力クロック分周比情報６１で与えられる分周比Ｓ／Ｍで分周された入力クロック信号を、Ｎ／Ｓの分周比で有理数分周することで、分周されていないクロック信号をＮ／Ｍ（＝（Ｓ／Ｍ）×（Ｎ／Ｓ））の分周比で分周したクロック信号に相当する出力クロック信号を生成する回路である。
【００４４】
クロック分周回路１０は、さらに、上記した分周比設定３５および入力クロック分周比情報６１に加えて、クロックＯＵＴで動作する回路が通信を行うタイミングを示す通信タイミング情報３６を入力し、これらに基づいて通信タイミングを考慮したクロックＯＵＴを生成する。
【００４５】
このクロック分周回路１０は、主な回路として、マスク回路５０とマスク制御回路３０とを含んでいる。
マスク回路５０は、入力されたマスク信号３９に応じてクロックＩＮのクロック・パルスをマスクすることによりクロックＯＵＴを生成して出力する機能を有する処理回路である。
マスク制御回路３０は、クロックＯＵＴで動作する回路が通信を行うタイミングを示す通信タイミング情報３６に基づいて、連続するＳ個のクロック・パルスのタイミングのうち、当該通信が行われる通信タイミングを除く他のタイミングに対して、Ｓ−Ｎ個分のクロック・パルスをマスクするマスクタイミングを割り当てたマスク信号３９をマスク回路５０へ出力する機能を有する制御回路である。
【００４６】
マスク制御回路３０は、さらに、分周比の小さい（Ｎ／ＭまたはＮ／Ｓの値が大きい）場合において、マスクタイミングを割り当てたタイミングに対して、それよりも分周比の大きい（Ｎ／ＭまたはＮ／Ｓの値が小さい）場合においても、必ずマスクタイミングを割り当てたマスク信号３９をマスク回路５０へ出力する機能を有している。
【００４７】
図１に示した本実施形態において、クロック分周回路１０ａおよび１０ｂは、クロック分周回路１０と同一の構成を有するクロック分周回路である。クロック分周回路１０ａは、入力する分周比設定３５、通信タイミング情報３６、入力クロック分周比情報６１に基づいて、部分クロックツリー回路２１ａにより分配されたクロックＳａを有理数分周することで、クロックＡｉを生成する。クロック分周回路１０ｂは、入力する分周比設定３５、通信タイミング情報３６、入力クロック分周比情報６１に基づいて、クロックＳを有理数分周することで、部分クロックツリー回路２１ａによって分配するクロックＳａを生成する。
【００４８】
図３は、本実施形態におけるクロック分周回路１１の構成を示す構成図である。図２で示したクロック分周回路１０と同じまたは同等部分には同一符号を付してある。
クロック分周回路１１は、クロック分周回路１０と同様に、分周比設定３５で与えられるＮ／Ｍ（Ｎは正整数，ＭはＮより大きい正整数）で規定された分周比と、入力クロック分周比情報６１で与えられるＳ／Ｍ（Ｓは正整数，ＭはＳより大きい正整数）で規定されたクロックＩＮの分周比情報に基づいて、クロックＩＮ（入力クロック信号）の連続するＳ個のクロック・パルスのうち、Ｓ−Ｎ個分のクロック・パルスをマスクすることにより、クロックＩＮをＮ／Ｓの分周比で有理数分周したクロックＯＵＴ（出力クロック信号）を生成する回路である。
【００４９】
ここで、クロックＩＮはＳ／Ｍで分周されたクロックであるので、従って、クロック分周回路１１は、分周されていないクロック信号に対してＮ／Ｍの分周比で分周されたクロックＯＵＴを生成することになる。言い換えると、クロック分周回路１１は、分周比設定３５で与えられる分周比Ｎ／Ｍに基づいて、入力クロック分周比情報６１で与えられる分周比Ｓ／Ｍで分周された入力クロック信号を、Ｎ／Ｓの分周比で有理数分周することで、分周されていないクロック信号をＮ／Ｍ（＝（Ｓ／Ｍ）×（Ｎ／Ｓ））の分周比で分周したクロック信号に相当する出力クロック信号を生成する回路である。
【００５０】
クロック分周回路１１は、さらに、上記した分周比設定３５および入力クロック分周比情報６１に加えて、クロックＯＵＴで動作する回路が通信を行うタイミングを示す通信タイミング情報３６を入力し、これらに基づいて通信タイミングを考慮したクロックＯＵＴを生成する。
【００５１】
クロック分周回路１１は、さらに、上記した分周比設定３５および入力クロック分周比情報６１、通信タイミング情報３６に加えて、同一半導体集積回路上の他のクロック（例えばクロックＡｉ）の分周比情報を示す他クロック分周比情報６２を入力し、これらに基づいて回路Ａｉおよび回路Ｂｉの消費電流の変動を抑制することが可能なクロック信号を生成する。
【００５２】
このクロック分周回路１１は、主な回路として、マスク回路５０とマスク制御回路４０とを含んでいる。
【００５３】
マスク回路５０は、入力されたマスク信号３９に応じてクロックＩＮのクロック・パルスをマスクすることによりクロックＯＵＴを生成して出力する機能を有する処理回路である。
【００５４】
マスク制御回路４０は、通信タイミング情報３６に基づいて、連続するＳ個のクロック・パルスのタイミングのうち、当該通信が行われる通信タイミングに対して最優先で非マスクタイミングを割り当てた後、他クロック分周比情報６２に基づいて、他のクロックにクロック・パルスが存在しないタイミングに対して優先して非マスクタイミングを割り当てたマスク信号３９をマスク回路５０へ出力する機能を有する制御回路である。
【００５５】
マスク制御回路４０は、さらに、分周比の小さい（Ｎ／ＭまたはＮ／Ｓの値が大きい）場合において、マスクタイミングを割り当てたタイミングに対して、それよりも分周比の大きい（Ｎ／ＭまたはＮ／Ｓの値が小さい）場合においても、必ずマスクタイミングを割り当てたマスク信号３９をマスク回路５０へ出力する機能を有している。
【００５６】
図１に示した本実施形態において、クロック分周回路１１ａおよび１１ｂは、クロック分周回路１１と同一の構成を有するクロック分周回路である。クロック分周回路１１ａは、入力する分周比設定３５、通信タイミング情報３６、入力クロック分周比情報６１、他クロック分周比情報６２に基づいて、部分クロックツリー回路２１ｂにより分配されたクロックＳｂを有理数分周することで、クロックＢｉを生成する。クロック分周回路１１ｂは、入力する分周比設定３５、通信タイミング情報３６、入力クロック分周比情報６１、他クロック分周比情報６２に基づいて、クロックＳを有理数分周することで、部分クロックツリー回路２１ｂによって分配するクロックＳｂを生成する。
【００５７】
すべての回路Ａｉおよび回路Ｂｉは、通信回路Ｎと同一のタイミング、例えばクロックＮのすべての立ち上がりエッジのタイミングで通信を行う。従って、すべてのクロック分周回路１０ａ, １０ｂ, １１ａ, １１ｂには、当該タイミングを示す同一の通信タイミング情報３６が供給される。
【００５８】
一方、各回路Ａｉおよび回路Ｂｉは、それぞれ動作周波数が異なっていてもよい。従って、各クロック分周回路１０ａおよび１１ａには、それぞれ値が異なる分周比設定３５が供給されてもよい。また、クロック分周回路１０ｂの分周比設定３５には、すべてのクロック分周回路１０ａのうち、最も小さい分周比（Ｎ／Ｍの値が大きい）が設定されている分周比設定３５と同一の値が供給される。同様に、クロック分周回路１１ｂの分周比設定３５には、すべてのクロック分周回路１１ａのうち、最も小さい分周比（Ｎ／Ｍの値が大きい）が設定されている分周比設定３５と同一の値が供給される。
【００５９】
また、各クロック分周回路１０ａには、クロック分周回路１０ａの入力クロックであるクロックＳａの周波数を示す入力クロック分周比情報６１が供給される。同様にクロック分周回路１０ｂには、クロック分周回路１０ｂの入力クロックであるクロックＳの周波数を示す入力クロック分周比情報６１が供給される。一方、各クロック分周回路１１ａには、クロック分周回路１１ａの入力クロックであるクロックＳｂの周波数を示す入力クロック分周比情報６１が供給される。同様にクロック分周回路１１ｂには、クロック分周回路１１ｂの入力クロックであるクロックＳの周波数を示す入力クロック分周比情報６１が供給される。
【００６０】
さらに、各クロック分周回路１１ａおよび１１ｂには、他のクロック信号としてクロックＡｉの周波数を示す他クロック分周比情報６２が供給される。このとき、各クロック分周回路１１ａおよび１１ｂには、それぞれ値が異なる他クロック分周比情報６２が供給されてもよいし、すべてのクロックＡｉの周波数を代表する同一の値（例えば周波数の平均値）の他クロック分周比情報６２が供給されてもよい。
【００６１】
クロック分周回路１０ａ, １０ｂに供給される分周比設定３５、通信タイミング情報３６、入力クロック分周比情報６１は、上位回路（図示せず）が供給してもよいし、回路Ａｉまたは回路Ｂｉのいずれかが供給してもよい。同様に、クロック分周回路１１ａ, １１ｂに供給される分周比設定３５、通信タイミング情報３６、入力クロック分周比情報６１、他クロック分周比情報６２は、上位回路（図示せず）が供給してもよいし、回路Ａｉまたは回路Ｂｉのいずれかが供給してもよい。
【００６２】
次に、図４から図７を参照して、本発明の第１の実施形態にかかるクロック分周回路の動作について説明する。
まず、図４を参照して本発明の第１の実施形態にかかるクロック分周回路１０ｂの動作について説明する。図４は、本発明の第１の実施形態にかかるクロック分周回路１０ｂの動作を示すタイミングチャートである。ここでは、分周比分母Ｍ＝１２、分周比分子Ｎ＝１１〜３とし、クロックＳを分周比１１／１２〜３／１２で分周してクロックＳａを生成する場合を例として説明する。
【００６３】
また、入力クロック信号であるクロックＳは分周されていないクロック信号であるので、入力クロック分周比情報６１で与えられるクロックＳの分周比Ｓ／Ｍにおいて、入力クロック分周比分子Ｓ＝１２、入力クロック分周比分母Ｍ＝１２である。従って、この例では、Ｎ／Ｍ＝Ｎ／Ｓである。
【００６４】
図４では、クロックＮの周波数がクロックＳの１／４、すなわちクロックＮのクロックＳに対する分周比が１／４（＝３／１２）で、クロックＮがクロックＳに同期している場合が示されている。この際、クロックＮとクロックＳａの位相関係は、クロックＳの１２サイクルで一巡する。図４では、この位相関係が一巡する１２サイクルのタイミングがＴ０〜Ｔ１１で示されている。回路Ａｉは、クロックＮの立ち上がりタイミングに相当するタイミングＴ０，Ｔ４，Ｔ８でデータ通信を行う。
【００６５】
本発明によるクロック分周回路１０と背景技術にかかるクロック分周回路１００との違いは、本発明によるクロック分周回路１０が上記通信のタイミングを示す通信タイミング情報を入力し、それに基づいて通信のタイミングを考慮した有理数分周を行うことにある。具体的には、通信のタイミングにあるクロック・パルスは常にマスクをせずに、それ以外の通信のタイミングにないクロック・パルスをマスクすることで、有理数分周を実現することを特徴とする。さらに、分周比の小さい（Ｎ／ＭまたはＮ／Ｓの値が大きい）場合においてクロック・パルスをマスクしたタイミングに対して、それよりも分周比の大きい（Ｎ／ＭまたはＮ／Ｓの値が小さい）場合にも当該タイミングで必ずマスクすることで、有理数分周を実現することを特徴とする。
【００６６】
図４のクロック分周例においては、
（１）通信のタイミングであるタイミングＴ０，Ｔ４，Ｔ８では、常にクロック・パルスをマスクせず、それ以外の通信のタイミングではないタイミングＴ１，Ｔ２，Ｔ３，Ｔ５，Ｔ６，Ｔ７，Ｔ９，Ｔ１０，Ｔ１１のいずれかにあるクロック・パルスをマスクする、
かつ、
（２）分周比の小さい場合においてクロック・パルスをマスクしたタイミングに対して、分周比の大きい場合にも当該タイミングで必ずマスクする、
ことでクロックＳａを生成している。
【００６７】
従って、マスク制御回路３０は、上記通信のタイミングではないタイミングＴ１，Ｔ２，Ｔ３，Ｔ５，Ｔ６，Ｔ７，Ｔ９，Ｔ１０，Ｔ１１のいずれかに対して、Ｓ−Ｎ個分のクロック・パルスをマスクし、かつ、分周比の小さい場合にクロック・パルスをマスクしたタイミングでは、分周比の大きい場合にも必ずマスクするマスクタイミングを割り当てたマスク信号３９を生成する。
【００６８】
このようなクロックＳａは、分周比の小さい場合から、クロック・パルスをマスクするタイミングを追加割り当てしていくことで、生成することができる。
例えば、クロックＳのタイミングＴ０〜Ｔ１１にある１２個のクロック・パルスのうち、Ｔ０，Ｔ４，Ｔ８以外のタイミング、例えばタイミングＴ６に対してマスクタイミングを割り当てれば、分周比１１／１２のクロックＳａを生成できる。さらに、Ｔ１０に対してマスクタイミングを追加割り当てすれば、分周比１０／１２のクロックＳａを生成でき、さらにＴ２に対して追加割り当てすれば、分周比の９／１２のクロックＳａを生成でき、さらにＴ３に対して追加割り当てすれば、分周比の８／１２のクロックＳａを生成できる。
【００６９】
また、さらにＴ１１に対して追加割り当てすれば、分周比７／１２のクロックＳａを生成できる。さらに、Ｔ７に対して追加割り当てすれば、分周比６／１２のクロックＳａを生成でき、さらにＴ１に対して追加割り当てすれば、分周比の５／１２のクロックＳａを生成でき、さらにＴ５に対して追加割り当てすれば、分周比の４／１２のクロックＳａを生成でき、さらにＴ９に対して追加割り当てすれば、分周比の３／１２のクロックＳａを生成できる。
【００７０】
図４を参照して、クロックＳａの生成方法について具体的に説明する。クロック分周回路１０ｂは、通信タイミング情報６１と他クロック分周比情報６２を入力し、通信タイミングを考慮して、クロックＳａを生成する。クロックＳを分周比Ｎ／Ｓ（Ｓ、Ｎは整数）で分周してクロックＳａを生成する場合、クロックＳの連続するＳサイクルのうちからクロック・パルスを出力するＮサイクルに非マスクタイミングを割り当てる必要がある。その割り当て処理を以下の手順で行う。
【００７１】
（手順１）通信タイミングにあるサイクルに非マスクタイミングを割り当てる。Ｎサイクル分のすべての非マスクタイミングを割り当ることができた場合、割り当て処理を終了する。
（手順２）通信のタイミングのサイクルの直前のサイクルまたは直後のサイクルで、かつ、より分周比の小さい（Ｎ／ＭまたはＮ／Ｓの値が大きい）場合においてマスクタイミングを割り当てたサイクル以外のサイクルに対して、Ｎサイクルに足りない残りの非マスクタイミングを割り当てる。Ｎサイクル分のすべての非マスクタイミングを割り当ることができた場合、割り当て処理を終了する。
（手順３）手順１および手順２における割り当て対象のサイクル以外のサイクルで、かつ、より分周比の小さい（Ｎ／ＭまたはＮ／Ｓの値が大きい）場合においてマスクタイミングを割り当てたサイクル以外のサイクルに対して、Ｎサイクルに足りない残りの非マスクタイミングをすべて割り当て、割り当て処理を終了する。
【００７２】
図４を参照して、クロックＳａの分周比が１０／１２である場合の、上記手順による選択処理を具体的に説明する。クロックＳａの分周比は１０／１２なので、タイミングＴ０〜Ｔ１１で示す１２サイクル中にクロック・パルスを出力する１０サイクルを選択する。
【００７３】
まず手順１で、通信のタイミングであるタイミングＴ０、Ｔ４、Ｔ８の３サイクルを選択する。
１０サイクルには足りないので、次に手順２において、通信のタイミングのサイクルの直前のサイクルまたは直後のサイクルで、かつ、より分周比の小さい場合である分周比が１１／１２の場合においてマスクタイミングを割り当てたタイミングＴ６のサイクル以外のサイクルに対して、１０サイクルに足りない分を選択する。ここで、タイミングＴ１、Ｔ３、Ｔ５、Ｔ７、Ｔ９、Ｔ１１の６サイクルを選択する。
【００７４】
まだ、１０サイクルには１サイクル足りないので、次に手順３において、さらに、より分周比の小さい場合である分周比が１１／１２の場合においてマスクタイミングを割り当てたタイミングＴ６のサイクル以外のサイクルに対して、１サイクルを選択する。ここでは、タイミングＴ２を選択するとする。
【００７５】
以上により、タイミングＴ０〜Ｔ１１の１２サイクル中で、クロック・パルスを出力する１０サイクルとして、タイミングＴ０、Ｔ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５、Ｔ７、Ｔ８、Ｔ９、Ｔ１１に非マスクタイミングが割り当てられる。
【００７６】
次に、図５を参照して本発明の第１の実施形態にかかるクロック分周回路１０ａの動作について説明する。図５は、本発明の第１の実施形態にかかるクロック分周回路１０ａの動作を示すタイミングチャートである。クロック分周回路１０ａの動作は、入力クロックがクロック分周回路１０ｂにより分周される場合のあるクロックＳａであることを除けば、図４に示したクロック分周回路１０ｂと同一の動作であり、クロックＳに対してクロック・パルスをマスクするタイミングも同一である。
【００７７】
ここでは、分周比設定３５で与えられる分周比Ｎ／Ｍにおいて、分周比分母Ｍ＝１２、分周比分子Ｎ＝９〜３とした場合を例として説明する。このとき、入力クロック信号であるクロックＳａはクロックＳを分周比９／１２で分周したクロックであるとする。従って、入力クロック分周比情報６１で与えられるクロックＳａの分周比を規定する分周比Ｓ／Ｍにおいて、入力クロック分周比分子Ｓ＝９、入力クロック分周比分母Ｍ＝１２である。
【００７８】
すなわち、分周比が９／１２のクロックＳａを分周比９／９〜３／９で分周してクロックＡｉを生成する場合の例であり、従って、クロックＳを分周比９／１２〜３／１２で分周したクロック信号に相当するクロックＡｉを生成する場合の例である。
【００７９】
前述したように、クロック分周回路１０ｂの分周比設定３５には、すべてのクロック分周回路１０ａのうち、最も小さい（Ｎ／Ｍの値が大きい）分周比が設定されている分周比設定３５と同一の値が供給される。従って、この例では、クロック分周回路１０ａは、分周比９／１２〜３／１２のいずれかで分周したクロックＡｉを生成する。図５には分周比が１１／１２および１０／１２の場合のクロックＡｉの波形も図４との比較のために図示しているが、この例ではそれらの分周比が設定されることはない。
【００８０】
図５では、図４と同様に、クロックＮの周波数がクロックＳの１／４、すなわちクロックＮのクロックＳに対する分周比が１／４（＝３／１２）で、クロックＮがクロックＳに同期している場合が示されている。また、クロックＳａはクロックＳを分周比９／１２で分周して生成されている。この際、クロックＮとクロックＳａやクロックＡｉとの位相関係は、クロックＳの１２サイクルで一巡する。図５では、この位相関係が一巡する１２サイクルのタイミングがＴ０〜Ｔ１１で示されている。回路Ａｉおよび回路Ｂｉは、クロックＮの立ち上がりタイミングに相当するタイミングＴ０，Ｔ４，Ｔ８でデータ通信を行う。
【００８１】
図５のクロック分周例においても、
（１）通信のタイミングであるタイミングＴ０, Ｔ４, Ｔ８では、常にクロック・パルスをマスクせず、それ以外の通信のタイミングではないタイミングＴ１, Ｔ２, Ｔ３, Ｔ５, Ｔ６, Ｔ７, Ｔ９, Ｔ１０, Ｔ１１のいずれかにあるクロック・パルスをマスクする、
かつ、
（２）分周比の小さい場合においてクロック・パルスをマスクしたタイミングに対して、分周比の大きい場合にも当該タイミングで必ずマスクする、
ことでクロックＡｉを生成する。
【００８２】
従って、マスク制御回路３０は、この通信のタイミングではないタイミングＴ１, Ｔ２, Ｔ３, Ｔ５, Ｔ６, Ｔ７, Ｔ９, Ｔ１０, Ｔ１１のいずれかに対して、Ｓ−Ｎ個分のクロック・パルスをマスクし、かつ、分周比の小さい場合にクロック・パルスをマスクしたタイミングに対して、分周比の大きい場合にも当該タイミングで必ずマスクするマスクタイミングを割り当てたマスク信号３９を生成する。
【００８３】
次に、図６を参照して本発明の第１の実施形態にかかるクロック分周回路１１ｂの動作について説明する。図６は、本発明の第１の実施形態にかかるクロック分周回路１１ｂの動作を示すタイミングチャートである。ここでは、分周比分母Ｍ＝１２、分周比分子Ｎ＝１１〜３とし、クロックＳを分周比１１／１２〜３／１２で分周してクロックＳｂを生成する場合を例として説明する。
【００８４】
また、入力クロック信号であるクロックＳは分周されていないクロック信号であるので、入力クロック分周比情報６１で与えられるクロックＳの分周比Ｓ／Ｍにおいて、入力クロック分周比分子Ｓ＝１２、入力クロック分周比分母Ｍ＝１２である。従って、この例では、Ｎ／Ｍ＝Ｎ／Ｓである。
【００８５】
図６では、クロックＮの周波数がクロックＳの１／４、すなわちクロックＮのクロックＳに対する分周比が１／４（＝３／１２）で、クロックＮがクロックＳに同期している場合が示されている。この際、クロックＮとクロックＳｂの位相関係は、クロックＳの１２サイクルで一巡する。図６では、この位相関係が一巡する１２サイクルのタイミングがＴ０〜Ｔ１１で示されている。回路Ｂｉは、クロックＮの立ち上がりタイミングに相当するタイミングＴ０，Ｔ４，Ｔ８でデータ通信を行う。さらに、この例では、クロックＡｉの分周比は９／１２とする。
【００８６】
クロック分周回路１１ｂは、上記通信タイミングを示す通信タイミング情報６１を入力し、それに基づいて通信タイミングを考慮した有理数分周を行う。具体的には、通信タイミングにあるクロック・パルスは常にマスクをせずに、それ以外の通信タイミングにないクロック・パルスをマスクする。図６のクロック分周例においては、通信タイミングであるタイミングＴ０、Ｔ４、Ｔ８で常にクロック・パルスをマスクせず、それ以外の通信タイミングではないタイミングＴ１、Ｔ２、Ｔ３，Ｔ５、Ｔ６、Ｔ７、Ｔ９、Ｔ１０，Ｔ１１のいずれかにあるクロック・パルスをマスクすることで、クロックＳｂを生成する。
【００８７】
このとき、クロック分周回路１１ｂは、さらに他のクロックであるクロックＡｉの分周比情報６２を入力し、他のクロックであるクロックＡｉとの関係を考慮してクロック・パルスをマスクすることにより、消費電流の変動を抑制することが可能で、したがって、発生する電源ノイズやＥＭＩノイズが小さいクロックＳｂを生成する。
さらに、クロック分周回路１１ｂは、分周比の小さい（Ｎ／ＭまたはＮ／Ｓの値が大きい）場合においてクロック・パルスをマスクしたタイミングに対して、分周比の大きい（Ｎ／ＭまたはＮ／Ｓの値が小さい）場合にも当該タイミングで必ずマスクすることでクロックＳｂを生成する。
【００８８】
図６を参照して、クロックＳｂの生成方法について具体的に説明する。クロック分周回路１１ｂは、通信タイミング情報３６に基づいて、通信タイミングに対して最優先で非マスクタイミングを割り当てた後、他クロック分周比情報６２に基づいて、クロックＡｉにクロック・パルスが存在しないタイミングに対して優先して非マスクタイミングを割り当てることでクロックＳｂを生成する。クロックＳを分周比Ｎ／Ｓ（Ｓ、Ｎは整数）で分周してクロックＳｂを生成する場合、クロックＳの連続するＳサイクルのうちからクロック・パルスを出力するＮサイクルに非マスクタイミングを割り当てる必要がある。その割り当て処理を以下の手順で行う。
【００８９】
（手順１）通信タイミングにあるサイクルに非マスクタイミングを割り当てる。Ｎサイクル分のすべての非マスクタイミングを割り当ることができた場合、割り当て処理を終了する。
（手順２）通信タイミングにないサイクルで、かつ、より分周比の小さい（Ｎ／ＭまたはＮ／Ｓの値が大きい）場合においてマスクタイミングを割り当てたサイクル以外のサイクルのうち、クロックＡｉにクロック・パルスが存在しないサイクルに対して、Ｎサイクルに足りない残りの非マスクタイミングを割り当てる。Ｎサイクル分のすべての非マスクタイミングを割り当ることができた場合、割り当て処理を終了する。
（手順３）手順１および手順２における割り当て対象のサイクル以外のサイクルで、かつ、より分周比の小さい（Ｎ／ＭまたはＮ／Ｓの値が大きい）場合においてマスクタイミングを割り当てたサイクル以外のサイクルに対して、Ｎサイクルに足りない残りの非マスクタイミングをすべて割り当て、割り当て処理を終了する。
【００９０】
従って、図６の場合、例えば、クロックＡｉの分周比が９／１２であり、クロックＳｂの分周比が９／１２である場合、以下のようにして、タイミングＴ０〜Ｔ１１に対して、クロック・パルスを出力する９サイクル分の非マスクタイミングが割り当てられる。
【００９１】
まず、手順１において、通信タイミングＴ０、Ｔ４、Ｔ８の３サイクルに非マスクタイミングが割り当てられる。
この際、割り当てできた非マスクタイミングは９サイクルには足りないので、次の手順２において、通信タイミングにないサイクルで、より分周比の小さい（Ｎ／ＭまたはＮ／Ｓの値が大きい）１１／１２および１０／１２の場合においてクロック・パルスをマスクした、タイミングＴ５, Ｔ９の２サイクル以外のＴ１, Ｔ２, Ｔ３, Ｔ６, Ｔ７, Ｔ１０, Ｔ１１の７サイクルのうち、クロックＡｉにクロック・パルスが存在しないＴ２, Ｔ６, Ｔ１０に非マスクタイミングが割り当てられる。
【００９２】
この際、割り当てできた非マスクタイミングは９サイクルには足りないので、次の手順３において、タイミングＴ３, Ｔ７, Ｔ１１のサイクルに非マスクタイミングが割り当てられる。
【００９３】
以上により、タイミングＴ０〜Ｔ１１のうち、タイミングＴ０, Ｔ２, Ｔ３, Ｔ４, Ｔ６, Ｔ７, Ｔ８, Ｔ１０, Ｔ１１の９サイクル分に非マスクタイミングが割り当てられる。
【００９４】
次に、図７を参照して本発明の第１の実施形態にかかるクロック分周回路１１ａの動作について説明する。図７は、本発明の第１の実施形態にかかるクロック分周回路１１ａの動作を示すタイミングチャートである。クロック分周回路１１ａの動作は、入力クロックがクロック分周回路１１ｂにより分周される場合のあるクロックＳｂであることを除けば、図６に示したクロック分周回路１１ｂと同一の動作であり、クロックＳに対してクロック・パルスをマスクするタイミングも同一である。
【００９５】
ここでは、分周比設定３５で与えられる分周比Ｎ／Ｍにおいて、分周比分母Ｍ＝１２、分周比分子Ｎ＝９〜３とした場合を例として説明する。このとき、入力クロック信号であるクロックＳｂはクロックＳを分周比９／１２で分周したクロックであるとする。従って、入力クロック分周比情報６１で与えられるクロックＳｂの分周比を規定する分周比Ｓ／Ｍにおいて、入力クロック分周比分子Ｓ＝９、入力クロック分周比分母Ｍ＝１２である。
【００９６】
すなわち、分周比が９／１２のクロックＳｂを分周比９／９〜３／９で分周してクロックＢｉを生成する場合の例であり、従って、クロックＳを分周比９／１２〜３／１２で分周したクロック信号に相当するクロックＢｉを生成する場合の例である。
前述したように、クロック分周回路１１ｂの分周比設定３５には、すべてのクロック分周回路１１ａのうち、最も小さい（Ｎ／Ｍの値が大きい）分周比が設定されている分周比設定３５と同一の値が供給される。従って、この例では、クロック分周回路１１ａは、分周比９／１２〜３／１２のいずれかで分周したクロックＢｉを生成する。図７には分周比が１１／１２および１０／１２の場合のクロックＢｉの波形も図６との比較のために図示しているが、この例ではそれらの分周比が設定されることはない。
【００９７】
図７では、図６と同様に、クロックＮの周波数がクロックＳの１／４、すなわちクロックＮのクロックＳに対する分周比が１／４（＝３／１２）で、クロックＮがクロックＳに同期している場合が示されている。また、クロックＳｂはクロックＳを分周比９／１２で分周して生成されている。この際、クロックＮとクロックＳｂやクロックＢｉとの位相関係は、クロックＳの１２サイクルで一巡する。図７では、この位相関係が一巡する１２サイクルのタイミングがＴ０〜Ｔ１１で示されている。回路Ａｉおよび回路Ｂｉは、クロックＮの立ち上がりタイミングに相当するタイミングＴ０，Ｔ４，Ｔ８でデータ通信を行う。
【００９８】
図７のクロック分周例においても、通信タイミングであるＴ０, Ｔ４, Ｔ８に対して最優先で非マスクタイミングを割り当てた後、他のクロックであるクロックＡｉにクロック・パルスが存在しないタイミングＴ２, Ｔ６, Ｔ１０に対して優先して非マスクタイミングを割り当てることで、クロックＢｉを生成する。従って、マスク制御回路４０は、通信タイミングであるＴ０, Ｔ４, Ｔ８に対して最優先で非マスクタイミングを割り当てた後、他のクロックであるクロックＡｉにクロック・パルスが存在しないタイミングＴ２, Ｔ６, Ｔ１０に対して優先して非マスクタイミングを割り当てたマスク信号３９を生成する。
【００９９】
以上、本実施形態におけるクロック分周回路１１の動作について、クロックＡｉの分周比が９／１２の場合を例にして説明した。クロックＡｉの分周比が９／１２以外の分周比であっても、クロック分周回路１１は同様の手順で非マスクタイミングを割り当てることで、クロックＳｂおよびクロックＢｉを生成することができる。
【０１００】
特に、本実施形態におけるクロック分周回路１０を使用し、上記したクロック分周回路１０の非マスクタイミングの割り当て手順によってクロックＡｉを生成した場合（例えば図４、図５）、クロックＳｂおよびクロックＢｉの非マスクタイミングをクロックＡｉの各分周比で共通にすることができる。例えば、クロックＡｉの分周比が９／１２以外の場合においても、クロック分周回路１１の非マスクタイミングの手順に従って、図６および図７に示した非マスクタイミングと同一のタイミングで、非マスクタイミングを割り当てることができる。
この場合、クロックＡｉの分周比に依存して、非マスクタイミングが変わらないので、クロックＡｉの分周比を変更した場合でも、クロックＳｂおよびクロックＢｉの生成方法を変更しなくてよいという利点がある。さらに、クロック分周回路１１の他クロック分周比情報６２の入力を省略することができる。
【０１０１】
また、クロックＢｉで動作する回路Ｂｉが通信を行わない回路である場合や、通信を行う場合であっても、特別なクロック乗せ換え回路を使用する場合など、通信タイミングに必ずしもクロック・パルスがなくてもよい通信方式を採用する場合は、通信タイミングに最優先で非マスクタイミングを割り当てる必要はなく、上記手順１を省略してもよい。
【０１０２】
図８は、本実施形態による半導体集積回路のレイアウト例であり、クロックＡｉ（ｉは１≦ｉ≦３２の整数）で動作する回路Ａｉ（ｉは１≦ｉ≦３２の整数）、クロックＢｉ（ｉは１≦ｉ≦３２の整数）で動作する回路Ｂｉ（ｉは１≦ｉ≦３２の整数）、クロックＮで動作する通信回路Ｎのレイアウト位置を示している。
【０１０３】
上記したように、クロックＢｉは、クロックＡｉにクロック・パルスが存在しないタイミングに対して優先して非マスクタイミングを割り当てることで生成される。従って、図８に示すように、クロックＡｉで動作する回路ＡｉとクロックＢｉで動作する回路Ｂｉを、互いに隣接するように配置することで、回路Ａｉと回路Ｂｉの消費電流の変動を抑制することができる。その結果、発生する電源ノイズやＥＭＩノイズを低減することが期待できる。
【０１０４】
具体的には、例えば、回路Ｂ５と回路Ａ６は互いに隣接して配置されているので、回路Ｂ５を駆動するクロックＢ５は、回路Ａ６を駆動するクロックＡ６を考慮して生成すればよい。このとき、クロックＢ５を生成するクロック分周回路１１ａには、クロックＡ６の分周比を示す他クロック分周比情報６２を入力すればよい。同様に、回路Ｂ１０を駆動するクロックＢ１０を生成するクロック分周回路１１ａには、隣接する回路Ａ９を駆動するクロックＡ９の分周比を示す他クロック分周比情報６２を入力すればよい。
【０１０５】
あるいは別の方法として、回路Ｂ５を駆動するクロックＢ５を生成するクロック分周回路１１ａには、隣接する回路Ａ６を駆動するクロックＡ６の分周比と、隣接する回路Ａ９を駆動するクロックＡ９の分周比の大きい方の分周比を示す他クロック分周比情報６２を入力してもよい。同様に、回路Ｂ１０を駆動するクロックＢ１０を生成するクロック分周回路１１ａには、隣接する回路Ａ６を駆動するクロックＡ６の分周比と、隣接する回路Ａ９を駆動するクロックＡ９の分周比の大きい方の分周比を示す他クロック分周比情報６２を入力してもよい。
【０１０６】
また、クロック分周回路１１において、クロックＢｉの非マスクタイミングをクロックＡｉの各分周比で共通にすることで、クロックＡｉの分周比に依存した非マスクタイミングの変更を不要とした場合には、各クロック分周回路１１ａへの他クロック分周比情報６２の入力を省略することができるので、それら他クロック分周比情報６２に関する接続も省略することができる。
【０１０７】
以上説明したように、本実施形態のクロック生成回路は、分周比設定３５で与えられる分周比Ｎ／Ｍに基づいて、入力クロック分周比情報６１で与えられる分周比Ｓ／Ｍで分周された入力クロック信号を、Ｎ／Ｓの分周比で有理数分周することで、分周されていないクロック信号をＮ／Ｍの分周比で分周したクロック信号に相当する出力クロック信号を生成する。従って、入力クロック信号をあらかじめ分周して周波数を低減することができる。
【０１０８】
さらに、本実施形態のクロック生成回路は、分周比の小さい場合にクロック・パルスをマスクしたタイミングに対して、分周比の大きい場合にも当該タイミングで必ずマスクしてクロックを生成する。さらに、クロック生成回路１０ｂの分周比設定は、すべてのクロック分周回路１０ａのうち、最も小さい（Ｎ／ＭまたはＮ／Ｓの値が大きい）分周比が設定されている分周比設定と同一の値が供給される。従って、クロック分周回路１０ａは、クロック生成回路１０ｂにより分周されたクロックＳａから、クロックＳａの分周比と同じか、それより大きい分周比のクロックＡｉを生成することができる。なぜなら、クロックＳａでマスクされるタイミングでは、クロックＡｉにおいても必ずマスクされ、クロックＡｉにおいてマスクされないタイミングでは、クロックＳａにおいてもマスクされないからである。
【０１０９】
言い換えると、すべてのクロックＡｉのうち、最も小さい（Ｎ／Ｍの値が大きい）分周比と同一の分周比で、クロックＳａを分周することができる。このため、クロックツリー回路２１ａにより分配するクロック信号（クロックＳａ）の周波数を低減することができるので、従って、クロックツリー回路２１ａの消費電力を削減することができるという効果がある。
【０１１０】
同様に、クロック生成回路１１ｂの分周比設定は、すべてのクロック分周回路１１ａのうち、最も小さい（Ｎ／ＭまたはＮ／Ｓの値が大きい）分周比が設定されている分周比設定と同一の値が供給される。従って、クロック分周回路１１ａは、クロック生成回路１１ｂにより分周されたクロックＳｂから、クロックＳｂの分周比と同じか、それより大きい分周比のクロックＢｉを生成することができる。なぜなら、クロックＳｂでマスクされるタイミングでは、クロックＢｉにおいても必ずマスクされ、クロックＢｉにおいてマスクされないタイミングでは、クロックＳｂにおいてもマスクされないからである。
【０１１１】
言い換えると、すべてのクロックＢｉのうち、最も小さい（Ｎ／Ｍの値が大きい）分周比と同一の分周比で、クロックＳｂを分周することができる。このため、クロックツリー回路２１ｂにより分配するクロック信号（クロックＳｂ）の周波数を低減することができるので、従って、クロックツリー回路２１ｂの消費電力を削減することができるという効果がある。
【０１１２】
一方、図１５に示した背景技術にかかるクロック分周例のように、クロックツリー回路の入力端で分周することを考慮しないクロック生成方法では、必ずしもすべてのクロックＡｉのうち、最も小さい分周比と同一の分周比でクロックＳａを分周することができない。同様に、必ずしもすべてのクロックＢｉのうち、最も小さい分周比と同一の分周比でクロックＳｂを分周することができない。
【０１１３】
例えば図１５の例では、分周比９／１２の場合において、タイミングＴ３およびＴ８にはクロック・パルスがない。従って、分周比９／１２のクロックからは、タイミングＴ３またはＴ８においてクロック・パルスが必要な分周比が８／１２、７／１２、６／１２、４／１２のクロックＡｉおよびクロックＢｉを生成することができない。このため、仮にすべてのクロックＡｉおよびクロックＢｉのうち、最も小さい分周比が９／１２であったとしても、必ずしもクロックツリー回路の入力端でクロック信号を９／１２の分周比で分周することができない。従って、仮にクロックツリーの入力端にもクロック分周回路を接続したとしても、クロックツリー回路の消費電力を十分に削減することができない。
【０１１４】
さらに、本実施形態では、マスク制御回路３０により、回路Ａｉおよび回路Ｂｉと通信回路Ｎとの間で行う通信のタイミングを示す通信タイミング情報３６に基づいて、通信が行われる通信タイミングを除く他のタイミングに対して、クロック・パルスをマスクするマスクタイミングを割り当てたマスク信号３９を生成してマスク回路５０へ出力している。これにより、回路Ａｉおよび回路Ｂｉと通信回路Ｎとの間で通信が行われる通信タイミングを除く他のタイミングにおいて、クロックＳからクロック・パルスがマスクされてクロックＳａ、クロックＡｉ、クロックＳｂ、クロックＢｉが生成される。
【０１１５】
このため、通信タイミングでは、クロックＡｉおよびクロックＢｉのクロック・パルスがマスクされなくなり、通信タイミングには必ずクロックＡｉおよびクロックＢｉにクロック・パルスが出力される。これに応じて、回路Ａｉおよび回路Ｂｉは、通信回路Ｎが出力した信号を、期待したタイミングで受け取ることができる。同様に回路Ａｉおよび回路Ｂｉは、通信回路Ｎが期待したタイミングで、信号を出力することができる。
【０１１６】
したがって、本実施形態にかかるクロック分周回路によれば、異なる周波数のクロック信号（クロックＮ）で動作する通信相手の回路（通信回路Ｎ）との間でも、通信性能を低下させずにデータ通信を行える出力クロック信号（クロックＡｉおよびクロックＢｉ）を生成することが可能となる。これにより、異なる周波数のクロック信号との通信のために、特別なタイミング設計や特別なクロック乗せ換え回路が不要となり、低電力、低面積かつ低設計コストで、クロック信号を有理数分周することが可能となる。
【０１１７】
また、本実施形態では、マスク制御回路３０およびマスク制御回路４０において、分周比設定３５に応じて、通信相手の回路で通信が行われる通信タイミングを除く他のタイミングに対して、クロック・パルスをマスクするマスクタイミングを割り当てるようにしたので、例えば分周比Ｎ／Ｍが１１／１２〜３／１２のうちのいずれかに変更される場合でも、通信タイミングＴ０，Ｔ４、Ｔ８，以外のタイミングでクロックＳ、クロックＳａおよびクロックＳｂのクロック・パルスをマスクすることができる。したがって、分周比を変更する場合でも、通信回路ＮのクロックＮや通信タイミングを変更する必要がなくなり、極めて柔軟に分周比の変更に対応することが可能となる。
【０１１８】
さらに、本実施形態では、クロック・パルスがクロックＡｉとクロックＢｉの両方ともに存在するサイクルの直後のサイクルで、クロック・パルスがクロックＡｉとクロックＢｉの両方ともに存在しない場合がない。すなわち、クロックＡｉで動作する回路とクロックＢｉで動作する回路とが、同時に動作したサイクルの直後のサイクルで同時に停止することがない。
【０１１９】
同様に、クロック・パルスがクロックＡｉとクロックＢｉの両方ともに存在しないサイクルの直後のサイクルで、クロック・パルスがクロックＡｉとクロックＢｉの両方ともに存在する場合がない。すなわち、クロックＡｉで動作する回路とクロックＢｉで動作する回路とが、同時に停止したサイクルの直後のサイクルで同時に動作することがない。
【０１２０】
図９は、本発明の第１の実施形態にかかるクロック分周回路の動作例を示すタイミングチャートである。ここでは、クロックＡｉの分周比が９／１２、クロックＢｉの分周比が５／１２、回路Ａｉと回路Ｂｉは通信回路ＮとタイミングＴ０、Ｔ４，Ｔ８で通信する場合におけるクロック分周例が示されている。
【０１２１】
例えば、タイミングＴ４では、クロックＡｉとクロックＢｉの両方ともにクロック・パルスが存在し、回路Ａｉと回路Ｂｉの両方とも動作するので消費電流が大きいが、その直後のサイクルであるタイミングＴ５では、クロックＡｉにクロック・パルスが存在するので、回路Ａｉが動作し、回路Ａｉは電流を消費する。また、タイミングＴ２では、クロックＡｉとクロックＢｉの両方ともにクロック・パルスが存在せず、回路Ａｉと回路Ｂｉの両方とも動作しないので消費電流が小さいが、その直後のサイクルであるタイミングＴ３では、クロックＡｉにクロック・パルスが存在するので、回路Ａｉが動作し、回路Ａｉは電流を消費する。したがって、タイミングＴ５，Ｔ３では、回路Ａｉおよび回路Ｂｉでの消費電流の変動が抑制され、発生する電源ノイズやＥＭＩノイズも小さくなる。
【０１２２】
また、図９では、クロックＢｉの分周比が５／１２の場合についてのみ例を示したが、図６および図７に示すように、クロックＢｉが他の分周比であっても同様にクロックＢｉを生成することができる。また、図６、図７および図９では、クロックＡｉの分周比が９／１２の場合についてのみ例を示したが、図５に示すようにクロックＡｉが他の分周比であっても同様である。また、通信タイミングとしてタイミングＴ０、Ｔ４、Ｔ８を選択したが、他のタイミングであっても同様の手順でクロックＡｉおよびクロックＢｉを生成することができる。
【０１２３】
発明の実施の形態２．
次に、図１０および図１１を参照して、本発明の第２の実施形態にかかるクロック分周回路について説明する。本実施形態では、第１の実施形態にかかるクロック分周回路１０のマスク回路５０およびマスク制御回路３０、およびクロック分周回路１１のマスク回路５０およびマスク制御回路４０の具体例について説明する。
【０１２４】
図１０は、本発明の第２の実施形態にかかるクロック分周回路１０の構成を示すブロック図である。図１０において、マスク回路５０は、入力するマスク信号３９を参照して、クロックＩＮパルスをマスクするか、あるいはマスクせずにそのままクロックＯＵＴに出力するか、のいずれかを選択する機能を有している。本実施形態において、このマスク回路５０は、ラッチ回路５２とゲート回路５３とから構成されている。
【０１２５】
ラッチ回路５２は、クロックＩＮの立ち下りのタイミングでマスク信号３９をラッチすることで、ゲート回路５３に入力されるマスク信号３９の遷移を、クロックＩＮの値が「０」であるタイミングに限定する機能を有している。ゲート回路５３は、ラッチ回路５２でラッチされたマスク信号３９に基づいてクロックＩＮをマスクする機能を有する。マスク信号３９の値が「０」の場合、クロックＩＮをマスクする。マスク信号３９の値が「１」の場合、クロックＩＮをマスクしない。
【０１２６】
ラッチ回路５２を設けることで、クロックＯＵＴにグリッチが発生することを抑制できる。タイミング設計が容易になるという効果があるが、タイミング設計を厳密に行うことでグリッチの発生を回避する場合には、ラッチ回路５２を省略してもよい。また、図５では、クロックＩＮをマスクするゲート回路５３としてＡＮＤ回路が用いられているが、これに限るものではない。ＯＲ回路を用いてもよいし、その他、同等の機能を有する回路を用いてもよい。
【０１２７】
マスク制御回路３０は、分周比設定３５、通信タイミング情報３６、入力クロック分周比情報６１に基づいて、クロックＩＮのクロックパルスをカウントすることにより、クロックＩＮとクロックＯＵＴとの相対的な位相を示すカウンタ値を生成し、このカウンタ値に基づいてマスクタイミングを割り当てたマスク信号３９を生成して出力する機能を有している。
【０１２８】
本実施形態において、このマスク制御回路３０は、カウンタ３３とテーブル回路３１とから構成されている。また、分周比設定３５は、複数ビットの並列データからなる分周比分母Ｍと分周比分子Ｎとから構成されており、分周比設定Ｎ／Ｍを規定する。
【０１２９】
また、通信タイミング情報３６は、タイミング選択信号３７と位相信号３８とから構成されている。タイミング選択信号３７は、クロックＯＵＴ（クロックＳａやクロックＡｉ）と、クロックＯＵＴで動作する回路の通信相手の回路を駆動するクロック信号（クロックＮ）との位相関係が一巡する期間の各タイミングから、通信タイミングを選択するための信号である。タイミング選択信号３７は、通信タイミングを特定する値を示す複数ビットの並列データからなり、通信タイミングが変更されない限り値は変化しない。位相信号３８は、クロックＯＵＴと、クロックＯＵＴで動作する回路の通信相手の回路を駆動するクロック信号（以下では通信相手クロック信号と表記する）との相対的な位相関係を示す信号である。
【０１３０】
入力クロック分周比情報６１は、複数ビットの並列データからなる分周比分子Ｓから構成されており、入力クロック信号の分周比Ｓ／Ｍを規定する。分母Ｍの値は分周比設定３５における値と同一であり、分周比設定３５を構成する分周比分母Ｍの値を使用するとして、重複した入力を省略している。
【０１３１】
カウンタ３３は、クロックＩＮのクロック・パルスをカウントするとともに、クロックＯＵＴと通信相手クロック信号との位相関係が一巡した時点で、位相信号３８のタイミングに合わせてカウンタ値をリセットし、クロックＯＵＴと通信相手クロック信号との相対的な位相を示すカウンタ値３４を出力する機能を有している。これにより、カウンタ３３から、クロックＯＵＴと通信相手クロック信号との位相関係が一巡するサイクル数がカウンタ値３４として出力される。
【０１３２】
テーブル回路３１は、カウンタ値３４、分周比設定３５である分周比分母Ｍと分周比分子Ｎ、入力クロック分周比情報６１である分周比分子Ｓ、およびタイミング選択信号３７、の組合せごとに、マスクの要否を示すテーブルデータ３２を予めテーブル形式で保持する機能と、入力されたこれら値の組合せに応じたテーブルデータをマスク信号３９として選択して出力する機能とを有している。これにより、テーブル回路３１から、分周比分母Ｍ、分周比分子Ｎ、カウンタ値３４、分周比分子Ｓ、タイミング選択信号３７、に応じて、マスク回路５０でクロックＩＮのクロック・パルスをマスクするか否かを制御するマスク信号３９が、クロックＩＮのクロック・パルスごとに出力される。
【０１３３】
図１１は、本発明の第２の実施形態にかかるクロック分周回路１１の構成を示すブロック図である。図１０と同一の構成要素には同一の符号を付してあり、詳細な説明は省略する。
【０１３４】
マスク制御回路４０は、分周比設定３５、通信タイミング情報３６、入力クロック分周比情報６１、他クロック分周比情報６２に基づいて、クロックＩＮのクロックパルスをカウントすることにより、クロックＩＮとクロックＯＵＴとの相対的な位相を示すカウンタ値を生成し、このカウンタ値に基づいてマスクタイミングを割り当てたマスク信号３９を生成して出力する機能を有している。
【０１３５】
他クロック分周比情報６２は、複数ビットの並列データからなる分周比分子Ａから構成されており、他のクロック信号（例えばクロックＡｉ）の分周比Ａ／Ｍを規定する。分母Ｍの値は分周比設定３５における値と同一であり、分周比設定３５を構成する分周比分母Ｍの値を使用するとして、重複した入力を省略している。
【０１３６】
テーブル回路４１は、カウンタ値３４、分周比設定３５である分周比分母Ｍと分周比分子Ｎ、入力クロック分周比情報６１である分周比分子Ｓ、他クロック分周比情報６２である分周比分子Ａ、およびタイミング選択信号３７、の組合せごとに、マスクの要否を示すテーブルデータ４２を予めテーブル形式で保持する機能と、入力されたこれら値の組合せに応じたテーブルデータをマスク信号３９として選択して出力する機能とを有している。これにより、テーブル回路４１から、分周比分母Ｍ、分周比分子Ｎ、カウンタ値３４、分周比分子Ｓ、分周比分子Ａ、タイミング選択信号３７、に応じて、マスク回路５０でクロックＩＮのクロック・パルスをマスクするか否かを制御するマスク信号３９が、クロックＩＮのクロック・パルスごとに出力される。
【０１３７】
次に、図１２および図１３を参照して、本発明の第２の実施形態にかかるクロック分周回路１１の動作について説明する。
【０１３８】
まず、図１２を参照して、本発明の第２の実施形態にかかるクロック分周回路１１ｂの動作を説明する。図１２は、本発明の第２の実施形態にかかるクロック分周回路１１ｂの動作を示すタイミングチャートである。
【０１３９】
ここでは、クロックＳから分周比９／１２のクロックＳｂを生成する場合について説明する。なお、回路Ｂｉと通信回路Ｎは、クロックＮのすべての立ち上がりのタイミングでデータ通信を行うものとし、クロックＮはクロックＳに同期しており、その分周比が１／４であるものとする。すわなち、回路Ｂｉと通信回路Ｎは、タイミングＴ０, Ｔ４, Ｔ８で通信を行う。また、他クロック信号であるクロックＡｉの分周比は９／１２であるとする。
【０１４０】
タイミング選択信号３７は、この通信のタイミングがタイミングＴ０, Ｔ４, Ｔ８であることを示す信号であり、通信タイミングが変更されない限り値は変化しない。
位相信号３８は、クロックＳｂとクロックＮの位相関係が一巡する間において、クロックＮの立ち上がりのタイミングのいずれかの１サイクルで「１」となり、それ以外で「０」となる信号である。図６の場合、位相関係が一巡するクロックＳの１２サイクルのうちの１サイクルであるタイミングＴ０で「１」になる。
【０１４１】
入力クロック信号であるクロックＳは分周されていないクロック信号であり、従って分周比は１、すなわちＳ／Ｍ＝１２／１２であるので、分周比分子Ｓには値１２が設定されている。
【０１４２】
他クロック信号であるクロックＡｉの分周比Ａ／Ｍは９／１２であるので、分周比分子Ａには値９が設定されている。
【０１４３】
カウンタ３３は、位相信号３８が「１」となるタイミングでカウンタ値をリセットし、その後、クロックＳｂとクロックＮの位相関係が一巡する１２サイクル分を繰り返してクロックＳのクロックパルスをカウントする。これにより、クロックＳｂとクロックＮの相対的な位相関係を示すカウンタ値３４がカウンタ３３から出力される。
【０１４４】
図１２では、カウンタ値３４が「０」〜「１１」の値をとるタイミングとタイミングＴ０〜Ｔ１１とが対応している。すなわち、カウンタ値３４は、タイミングＴ０で「０」、タイミングＴ１で「１」、タイミングＴ１１で「１１」となり、再びタイミングＴ０で「０」になる。
【０１４５】
テーブル回路４１のテーブルデータ４２には、分周比分母Ｍ、分周比分子Ｎ、カウンタ値３４、分周比分子Ｓ、分周比分子Ａ、タイミング選択信号３７の組合せごとに、クロックＳの次のサイクルのパルスをマスクする場合は「０」、マスクしない場合は「１」が予め設定されている。したがって、各タイミングに入力された、分周比分母Ｍ、分周比分子Ｎ、カウンタ値３４、分周比分子Ｓ、分周比分子Ａ、タイミング選択信号３７の組合せに応じたテーブルデータ４２の値が、マスク信号３９として出力される。
【０１４６】
図１２の場合、テーブル回路４１には、タイミングＴ０〜Ｔ１１のうち、回路Ｂｉと通信回路Ｎとの間で行うデータ通信の通信タイミング除く他のタイミングＴ１、Ｔ５、Ｔ９に対応する組合せに対してマスクタイミングを割り当てたテーブルデータ４２が予め設定されている。また、これら以外のタイミングＴ０，Ｔ２，Ｔ３，Ｔ４，Ｔ６，Ｔ７，Ｔ８, Ｔ１０，Ｔ１１に対応する組合わせについては、非マスクタイミングが割り当てられている。
【０１４７】
これにより、例えばカウンタ値が「１」、「５」、「９」の場合は、テーブルデータ４２としてマスクタイミングを示す「０」、それ以外の場合は、テーブルデータ４２として非マスクタイミングを示す「１」が、テーブル回路４１からマスク信号３９として出力される。マスク回路５０は、このマスク信号３９を参照して、タイミングＴ１、Ｔ５、Ｔ９において、クロックＳのパルスをマスクし、それ以外のタイミングではパルスをマスクしないで、クロックＳｂに出力する。
【０１４８】
したがって、タイミングＴ０〜Ｔ１１のうち、通信タイミングであるタイミングＴ０、Ｔ４、Ｔ８では、常にクロックＳのクロック・パルスがマスクされずクロックＳｂとして出力され、通信タイミングではないそれ以外のタイミング、ここではタイミングＴ１、Ｔ５、Ｔ９にあるクロック・パルスがマスクされてクロックＳｂとして出力されない。
図１２では、クロックＳｂの分周比が９／１２、クロックＮの周波数がクロックＳの１／４であり、クロックＮのすべての立ち上がりのタイミングで通信を行う場合の生成例を示したが、その他の場合であっても同様である。通信タイミング情報３６、分周比設定３５、入力クロック分周比情報６１、他クロック分周比情報６２、およびクロックＳｂとクロックＮの相対的な位相関係を示すカウンタ値３４の組合せごとに、テーブルデータ４２の値を適切に設定することで、通信タイミングにあるクロック・パルスは常にマスクをせずに、それ以外の通信のタイミングにないクロック・パルスをマスクすることによる任意の有理数分周を実現することができる。
【０１４９】
また、図１２では、マスク制御回路４０に入力される、分周比分母Ｍ、分周比分子Ｎ、分周比分子Ｓ、分周比分子Ａ、などの値は一定であったが、テーブル回路４１がそれらの値に対応するテーブルデータ４２を保持する範囲内であれば、適宜動作中に変更することもできる。
【０１５０】
次に、図１３を参照して、本発明の第２の実施形態にかかるクロック分周回路１１ａの動作を説明する。図１３は、本発明の第２の実施形態にかかるクロック分周回路１１ａの動作を示すタイミングチャートである。
【０１５１】
ここでは、クロック分周回路１１ｂが生成した分周比９／１２のクロックＳｂから、分周比５／１２のクロックＢｉを生成する場合について説明する。なお、回路Ｂｉと通信回路Ｎは、クロックＮのすべての立ち上がりのタイミングでデータ通信を行うものとし、クロックＮはクロックＳに同期しており、その分周比が１／４であるものとする。すわなち、回路Ｂｉと通信回路Ｎは、タイミングＴ０, Ｔ４, Ｔ８で通信を行う。また、他クロック信号であるクロックＡｉの分周比は９／１２であるとする。
【０１５２】
タイミング選択信号３７は、この通信のタイミングがタイミングＴ０, Ｔ４, Ｔ８であることを示す信号であり、通信タイミングが変更されない限り値は変化しない。
【０１５３】
位相信号３８は、クロックＢｉとクロックＮの位相関係が一巡する間において、クロックＮの立ち上がりのタイミングのいずれかの１サイクルで「１」となり、それ以外で「０」となる信号である。図７の場合、位相関係が一巡するクロックＳの１２サイクルのうちの１サイクルであるタイミングＴ０で「１」になる。
【０１５４】
入力クロック信号であるクロックＳｂの分周比Ｓ／Ｍは９／１２であるので、分周比分子Ｓには値９が設定されている。
【０１５５】
他クロック信号であるクロックＡｉの分周比Ａ／Ｍは９／１２であるので、分周比分子Ａには値９が設定されている。
【０１５６】
カウンタ３３は、位相信号３８が「１」となるタイミングでカウンタ値をリセットし、その後、クロックＢｉとクロックＮの位相関係が一巡するクロックＳの１２サイクル分、クロックＳｂの９サイクル分を繰り返してクロックＳｂのクロックパルスをカウントする。これにより、クロックＢｉとクロックＮの相対的な位相関係を示すカウンタ値３４がカウンタ３３から出力される。カウンタ３３は、クロックＳｂで動作するので、カウンタ値３４はクロックＳｂの９サイクル分に対応する「０」〜「８」の値をとる。
【０１５７】
図１３では、カウンタ値３４が「０」〜「８」の値をとるタイミングとタイミングＴ０〜Ｔ１１とが対応している。すなわち、カウンタ値３４は、タイミングＴ０で「０」、タイミングＴ１およびＴ２で「１」、タイミングＴ３で「２」、タイミングＴ４で「３」、タイミングＴ５およびＴ６で「４」、タイミングＴ７で「５」、タイミングＴ８で「６」、タイミングＴ９およびＴ１０で「７」、タイミングＴ１１で「８」となり、再びタイミングＴ０で「０」になる。
【０１５８】
テーブル回路４１のテーブルデータ４２には、分周比分母Ｍ、分周比分子Ｎ、カウンタ値３４、分周比分子Ｓ、分周比分子Ａ、タイミング選択信号３７の組合せごとに、クロックＳｂの次のサイクルのパルスをマスクする場合は「０」、マスクしない場合は「１」が予め設定されている。したがって、各タイミングに入力された、分周比分母Ｍ、分周比分子Ｎ、カウンタ値３４、分周比分子Ｓ、分周比分子Ａ、タイミング選択信号３７の組合せに応じたテーブルデータ４２の値が、マスク信号３９として出力される。
【０１５９】
図１３の場合、テーブル回路４１には、タイミングＴ０〜Ｔ１１のうち、回路Ｂｉと通信回路Ｎとの間で行うデータ通信の通信タイミング除く他のタイミングＴ１, Ｔ２, Ｔ３, Ｔ５, Ｔ７, Ｔ９, Ｔ１１に対応する組合せに対してマスクタイミングを割り当てたテーブルデータ４２が予め設定されている。また、これら以外のタイミングＴ０，Ｔ４，Ｔ６，Ｔ８, Ｔ１０に対応する組合わせについては、非マスクタイミングが割り当てられている。
【０１６０】
これにより、例えばカウンタ値が「１」、「２」、「５」、「８」の場合は、テーブルデータ４２としてマスクタイミングを示す「０」、それ以外の場合は、テーブルデータ４２として非マスクタイミングを示す「１」が、テーブル回路４１からマスク信号３９として出力される。マスク回路５０は、このマスク信号３９を参照して、タイミングＴ１, Ｔ２, Ｔ３, Ｔ５, Ｔ７, Ｔ９, Ｔ１１において、クロックＳｂのパルスをマスクし、それ以外のタイミングではパルスをマスクしないで、クロックＢｉに出力する。
【０１６１】
したがってタイミングＴ０〜Ｔ１１のうち、通信タイミングであるタイミングＴ０、Ｔ４、Ｔ８では、常にクロックＳｂのクロック・パルスがマスクされずクロックＢｉとして出力され、通信タイミングではないそれ以外のタイミング、ここではタイミングＴ１, Ｔ２, Ｔ３, Ｔ５, Ｔ７, Ｔ９, Ｔ１１にあるクロック・パルスがマスクされてクロックＢｉとして出力されない。
【０１６２】
図１３では、クロックＳｂの分周比が９／１２、クロックＢｉの分周比が５／１２、クロックＮの周波数がクロックＳの１／４であり、クロックＮのすべての立ち上がりのタイミングで通信を行う場合の生成例を示したが、その他の場合であっても同様である。通信タイミング情報３６、分周比設定３５、入力クロック分周比情報６１、およびクロックＡｉとクロックＮの相対的な位相関係を示すカウンタ値３４の組合せごとに、テーブルデータ３２の値を適切に設定することで、通信タイミングにあるクロック・パルスは常にマスクをせずに、それ以外の通信のタイミングにないクロック・パルスをマスクすることによる任意の有理数分周を実現することができる。
【０１６３】
また、図７では、マスク制御回路３０に入力される、分周比分母Ｍ、分周比分子Ｎ、分周比分子Ｓ、分周比分子Ａ、などの値は一定であったが、テーブル回路４１がそれらの値に対応するテーブルデータ４２を保持する範囲内であれば、適宜動作中に変更することもできる。
【０１６４】
以上、図１２および図１３を参照して、本発明の第２の実施形態にかかるクロック分周回路１１の動作について説明した。クロック分周回路１１のテーブル回路４１は、分周比分母Ｍ、分周比分子Ｎ、カウンタ値３４、分周比分子Ｓ、分周比分子Ａ、タイミング選択信号３７の組合せごとに、テーブルデータ４２を保持し、その値がマスク信号３９として出力するのに対して、本発明の第２の実施形態にかかるクロック分周回路１０のテーブル回路３１は、分周比分母Ｍ、分周比分子Ｎ、カウンタ値３４、分周比分子Ｓ、タイミング選択信号３７の組合せごとに、テーブルデータ３２を保持し、その値がマスク信号３９として出力する点のみが異なる。したがって、本発明の第２の実施形態にかかるクロック分周回路１０の動作についても同様である。
【０１６５】
このように、本実施形態では、マスク制御回路において、入力クロック信号のクロックパルスをカウンタでカウントするとともに、出力クロック信号と、出力クロック信号で動作する回路の通信相手の回路を駆動するクロック信号との位相関係が一巡した時点でカウント値をリセットすることにより、入力クロック信号に対する通信タイミングの相対的な位相を示すカウント値を生成し、このカウント値に基づいてマスクタイミングを割り当てたマスク信号を生成するようにしたので、カウンタという極めて簡単な回路構成で、入力クロック信号に対する通信タイミングの相対的な位相を導出でき、通信タイミング以外のタイミングからマスクタイミングを正確に割り当てることが可能となる。
【０１６６】
また、本実施形態では、マスク制御回路において、少なくとも通信タイミング情報、分周比設定、入力クロック分周比情報、およびカウント値の組合せごとにマスクの要否を示すテーブルデータを予めテーブル回路で保持し、入力されたこれら組合せに応じてテーブル回路から出力されたテーブルデータをマスク信号として出力するようにしたので、テーブル回路という極めて簡単な回路構成で、通信タイミング以外のタイミングから、入力クロック信号に対する通信タイミングの相対的な位相に応じた所望のマスクタイミングを正確に割り当てることが可能となる。
【０１６７】
また、本実施形態では、マスク制御回路において、少なくとも通信タイミング情報、分周比設定、入力クロック分周比情報、他クロック分周比情報、およびカウント値の組合せごとにマスクの要否を示すテーブルデータを予めテーブル回路で保持し、入力されたこれら組合せに応じてテーブル回路から出力されたテーブルデータをマスク信号として出力するようにしたので、テーブル回路という極めて簡単な回路構成で、回路Ａｉおよび回路Ｂｉの通信タイミングに対して最優先で非マスクタイミングを割り当てるとともに、回路Ａｉの非動作タイミングに対して優先して非マスクタイミングを割り当てることが可能となる。
【０１６８】
また、本実施形態では、マスク制御回路において、少なくとも通信タイミング情報、分周比設定、入力クロック分周比情報、およびカウント値の組合せごとにマスクの要否を示すテーブルデータを予めテーブル回路で保持し、入力されたこれら組合せに応じてテーブル回路から出力されたテーブルデータをマスク信号として出力するようにしたので、入力クロック信号が分周されたクロック信号であっても、通信タイミング以外のタイミングから、入力クロック信号に対する通信タイミングの相対的な位相に応じた所望のマスクタイミングを正確に割り当てることが可能となる。
【０１６９】
また、本実施形態では、マスク制御回路３０が入力する分周比設定３５は、分周比の分母の値を示す分周比分母Ｍと、分周比の分子の値を示す分周比分子Ｎから構成されるとしたが、分周比を設定できるものであれば、別の形式であってもよい。同様に、マスク制御回路３０が入力する通信タイミング情報は、通信タイミングを選択するタイミング選択信号３７と、出力クロック信号と通信相手のクロック信号との位相関係を示す位相信号３８から構成されるとしたが、通信タイミングを指定できるものであれば、別の形式であってもよい。また、分周比の設定や、通信タイミングの指定に不要の信号は適宜省略してもよい。例えば、通信タイミングがある特定のタイミングのみである場合には、テーブルデータをタイミング選択信号３７の値ごとに備える必要がないので、タイミング選択信号３７を省略することができる。
【０１７０】
また、本実施形態によるクロック分周回路は、ディジタル論理回路のみで構成され、クロックＩＮをマスクするか否かのいずれかを選択して、有理数分周を実現するので、消費電力やレイアウト面積が小さいという特徴がある。また、アナログ回路や専用設計を必要とする回路を使用しないので、設計・検証コストが小さいという特徴がある。
【０１７１】
この出願は、２００８年１０月２９日に出願された日本出願特願２００８−２７８４９８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１７２】
本発明は、複数の回路ブロックに異なる周波数のクロック信号を分配する半導体回路、及びこれを用いた電子機器の分野に広く適用することができる。
【符号の説明】
【０１７３】
１０、１０ａ、１０ｂ  クロック分周回路
１１、１１ａ、１１ｂ  クロック分周回路
２０  クロックツリー回路
２１  クロックツリー回路
２１ａ、２１ｂ  部分クロックツリー回路
２２  クロックバッファ
３０  マスク制御回路
３１  テーブル回路
３２  テーブルデータ
３３  カウンタ
３４  カウンタ値
３５  分周比設定
３６  通信タイミング情報
３７  タイミング選択信号
３８  位相信号
３９  マスク信号
４０  マスク制御回路
４１  テーブル回路
４２  テーブルデータ
５０  マスク回路
５２  ラッチ回路
５３  ゲート回路
６１  入力クロック分周比情報
１００  クロック分周回路
【図１】
0005488470.tif 000002
【図２】
0005488470.tif 000003
【図３】
0005488470.tif 000004
【図４】
0005488470.tif 000005
【図５】
0005488470.tif 000006
【図６】
0005488470.tif 000007
【図７】
0005488470.tif 000008
【図８】
0005488470.tif 000009
【図９】
0005488470.tif 000010
【図１０】
0005488470.tif 000011
【図１１】
0005488470.tif 000012
【図１２】
0005488470.tif 000013
【図１３】
0005488470.tif 000014
【図１４】
0005488470.tif 000015
【図１５】
0005488470.tif 000016
【図１６】
0005488470.tif 000017