(57)【特許請求の範囲】
【請求項１】
任意のクロックに同期して動作する複数のブロックを備え、複数の前記ブロック間で双方向のデータ通信を行う半導体集積回路において、
基本クロックに同期して動作する第１のブロックと、
前記基本クロックのＮ逓倍のクロックに同期して動作する第２のブロックと、
前記基本クロックの４逓倍のクロックに同期して動作する乗せ換え回路と、
前記基本クロックに対して９０°の位相差を有するクロックを生成するためのフリップフロップと、を備え、
前記第１のブロックと前記第２のブロックとの間で前記乗せ換え回路を介して双方向のデータ通信を行うときに、
前記フリップフロップにおいて前記基本クロックを当該基本クロックの４逓倍のクロックでラッチすることにより得られる前記基本クロックに対して９０°の位相差を有するクロックを用いて、前記第２のブロックを動作させることを特徴とする半導体集積回路。
【請求項２】
前記フリップフロップにおいて得られる前記基本クロックに対して９０°の位相差を有する前記クロックをＮ逓倍して出力する位相同期回路を備え、
前記第２のブロックを前記位相同期回路より出力されるクロックに同期して動作させることを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記第２のブロックが、前記基本クロックの２逓倍のクロックに同期して動作するように構成され、
前記位相同期回路が、前記フリップフロップにおいて得られる前記基本クロックに対して９０°の位相差を有する前記クロックを２逓倍して出力することを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記基本クロックの２逓倍のクロックに同期して動作する第１の乗せ換え回路を備えるとともに、前記基本クロックの４逓倍のクロックに同期して動作する前記乗せ換え回路が第２の乗せ換え回路を構成し、
前記第１のブロックと前記第２のブロックとの間で、前記第１の乗せ換え回路及び前記第２の乗せ換え回路を介して双方向のデータ通信を行うことを特徴とする請求項１から請求項３の何れかに記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基本クロックとこの基本クロックのＮ逓倍のクロックで動作する複数の機能ブロック間で双方向のデータ通信を行う半導体集積回路に関する。
【背景技術】
【０００２】
従来より、複数のブロックを有するとともに複数のブロックのそれぞれに入力されるクロックに同期して各ブロックを動作させる半導体集積回路が知られている。そして、各ブロックが同位相で同期するクロックで動作するように半導体集積回路を設計すると、この半導体集積回路の動作時において、各ブロックが同時にスイッチング動作を行うことで各ブロックに同時に大きな瞬時電流が流れるため、瞬間的なエネルギー集中の問題が生じる。
【０００３】
この問題を解決するため、複数のクロックのそれぞれに位相差を持たせるとともに互いに位相差を持ったクロックで複数のブロックのそれぞれを動作させることにより、各ブロックが同時にスイッチング動作を行うことを回避するようにした半導体集積回路が提案されている（特許文献１参照）。
【０００４】
この半導体集積回路では、複数のブロックである２つの低消費コア（以下、「低消費コアＡ」と「低消費コアＢ」と呼ぶ）を動作させるためのクロック信号がタイミング制御回路に入力されると、タイミング制御回路において、クロック信号が必要な周波数に分周されるとともに、位相差を持った２種類のタイミング信号ＣＫ１，ＣＫ２が生成される。そして、タイミング信号ＣＫ１が低消費コアＡに、タイミング信号ＣＫ２が低消費コアＢに、それぞれ入力される。
【０００５】
これにより、低消費コアＡと低消費コアＢのそれぞれが、タイミング信号ＣＫ１とタイミング信号ＣＫ２に与えられる位相差に応じてスイッチング動作を行うため、各低消費コアがスイッチング動作を行うタイミングにずれが生じる。よって、低消費コアＡと低消費コアＢのそれぞれに別々のタイミングで大きな瞬時電流が流れ、各低消費コアに同時に大きな瞬時電流が流れることを回避できる。
【特許文献１】特開２００１−１５６２５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ここで、図５に示すように、クロック源１０１で生成される基本クロックに同期して動作する機能ブロックＡ１０２と、クロック源１０１で生成される基本クロックを２逓倍して出力する位相同期回路１０４（Phase Locked Loop（「ＰＬＬ１０４」と呼ぶ））より出力される２逓倍クロックに同期して動作する機能ブロックＢ１０３と、を有し、機能ブロックＡ１０２と機能ブロックＢ１０３の間で双方向のデータ通信を行う半導体集積回路１００を考える。
【０００７】
このように構成された半導体集積回路１００では、回路構成を容易にするため、基本クロックと２逓倍クロックとが同位相で同期するように回路設計が行われる。そして、基本クロックと２逓倍クロックとを同位相で同期させることにより、各機能ブロック間でのデータ転送時にメタステーブルを生じることが防止される。しかしながら、このような同期回路を用いて半導体集積回路１００を設計すると、機能ブロックＡ１０２と機能ブロックＢ１０３とが同時にスイッチング動作を行うこととなり、瞬間的なエネルギー集中の問題が生じる。
【０００８】
この問題を防止するための対策として、基本クロックと２逓倍クロックとを非同期とする方法が挙げられるが、非同期クロックで動作する複数の機能ブロック間のデータ転送においては、フリップフロップのセットアップ時間やホールド時間を調整することが難しく、メタステーブルを生じるおそれがある。これに対し、ラッチ回路などを用いることが推奨されており、メタステーブルの発生を防止すべく数多くのフリップフロップを用いて回路設計を行う必要があるため、回路設計が困難となる。
【０００９】
また、上記特許文献１の半導体集積回路は、複数のブロックである低消費コアＡと低消費コアＢとを、同じ周期で、且つ、互いに位相差を持ったタイミング信号で動作させるものであり、図５に示すような複数のブロック間で双方向のデータ通信を行う半導体集積回路１００とは回路構成が異なる。そして、図５に示す半導体集積回路において、基本クロックで動作する機能ブロックＡ１０２と２逓倍クロックで動作する機能ブロックＢ１０３の間で双方向のデータ通信を行うとき、基本クロックと２逓倍クロックとに互いに位相差を持たせると、機能ブロック間で直接にデータを転送することが困難となる。
【００１０】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、互いに周波数の異なるクロックで動作する複数のブロック間でデータ通信を行う半導体集積回路において、複数のブロックが同時にスイッチング動作を行うことによる瞬間的なエネルギー集中の発生を防止することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明の半導体集積回路は、任意のクロックに同期して動作する複数のブロックを備え、複数の前記ブロック間で双方向のデータ通信を行う半導体集積回路において、基本クロックに同期して動作する第１のブロックと、前記基本クロックのＮ逓倍のクロックに同期して動作する第２のブロックと、前記基本クロックの４逓倍のクロックに同期して動作する乗せ換え回路と、前記基本クロックに対して９０°の位相差を有するクロックを生成するためのフリップフロップと、を備え、前記第１のブロックと前記第２のブロックとの間で前記乗せ換え回路を介して双方向のデータ通信を行うときに、前記フリップフロップにおいて前記基本クロックを当該基本クロックの４逓倍のクロックでラッチすることにより得られる前記基本クロックに対して９０°の位相差を有するクロックを用いて、前記第２のブロックを動作させることを特徴とする。
【００１２】
これにより、第１のブロックから第２のブロックにデータを転送するとき、第１のブロックに入力される基本クロックが立ち上がると、第１のブロックにデータが入力される。そして、第１のブロックにデータが入力されると、次に第１のブロックに入力される基本クロックが立ち上がるタイミングに達するまで、入力されたデータが第１のブロックに記憶される。そして、基本クロックの立ち上がりに同期して第１のブロックにデータが入力された後、乗せ換え回路に入力される４逓倍のクロックが立ち上がると、これに同期して第１のブロックに記憶されたデータが、第１のブロックから乗せ換え回路に転送される。そして、４逓倍のクロックの立ち上がりに同期して乗せ換え回路にデータが入力された後、第２のブロックに入力されるＮ逓倍のクロックが立ち上がると、これに同期して乗せ換え回路に記憶されたデータが、乗せ換え回路から第２のブロックに転送される。
【００１３】
また、第２のブロックから第１のブロックにデータを転送するとき、Ｎ逓倍のクロックの立ち上がりに同期して第２のブロックにデータが入力された後、乗せ換え回路に入力される４逓倍のクロックが立ち上がると、これに同期して第２のブロックに記憶されたデータが、第２のブロックから乗せ換え回路に転送される。そして、４逓倍のクロックの立ち上がりに同期して乗せ換え回路にデータが入力された後、第１のブロックに入力される基本クロックが立ち上がると、これに同期して乗せ換え回路に記憶されたデータが、乗せ換え回路から第１のブロックに転送される。
【００１４】
このように構成された半導体集積回路において、前記フリップフロップにおいて得られる前記基本クロックに対して９０°の位相差を有する前記クロックをＮ逓倍して出力する位相同期回路を備え、前記第２のブロックを前記位相同期回路より出力されるクロックに同期して動作させる。
【００１５】
ここで、フリップフロップにおいて、基本クロックを当該基本クロックの４逓倍のクロックでラッチすると、基本クロックと同じ周波数で、且つ、基本クロックに対して９０°の位相差を有するクロックが得られる。そして、第２のブロックが基本クロックのＮ逓倍のクロックに同期して動作するとき、フリップフロップより出力されるクロックを位相同期回路でＮ逓倍したクロックが第２のブロックに入力される。
【００１６】
このとき、前記第２のブロックが、前記基本クロックの２逓倍のクロックに同期して動作するように構成され、前記位相同期回路が、前記フリップフロップにおいて得られる前記基本クロックに対して９０°の位相差を有する前記クロックを２逓倍して出力する。
【００１７】
また、上述のそれぞれの半導体集積回路において、前記基本クロックの２逓倍のクロックに同期して動作する第１の乗せ換え回路を備えるとともに、前記基本クロックの４逓倍のクロックに同期して動作する前記乗せ換え回路が第２の乗せ換え回路を構成し、前記第１のブロックと前記第２のブロックとの間で、前記第１の乗せ換え回路及び前記第２の乗せ換え回路を介して双方向のデータ通信を行うものとしても構わない。
【００１８】
これにより、第１のブロックに記憶されたデータが、２逓倍のクロックの立ち上がりに同期して第１の乗せ換え回路に転送され、４逓倍のクロックの立ち上がりに同期して第１の乗せ換え回路から第２の乗せ換え回路に転送された後に、Ｎ逓倍のクロックの立ち上がりに同期して第２の乗せ換え回路から第２のブロックに転送される。或いは、第２のブロックに記憶されたデータが、４逓倍のクロックの立ち上がりに同期して第２の乗せ換え回路に転送され、２逓倍のクロックの立ち上がりに同期して第２の乗せ換え回路から第１の乗せ換え回路に転送された後に、基本クロックの立ち上がりに同期して第１の乗せ換え回路から第１のブロックに転送される。
【発明の効果】
【００１９】
本発明によれば、複数のブロック間で双方向のデータ通信が行われるとき、基本クロックと基本クロックに対して９０°位相の異なるクロックとを用いることにより、第１のブロックと第２のブロックとがクロックの立ち上がりに同期して同時にスイッチング動作を行うことを回避できる。従って、複数のブロックを有するとともに複数のブロック間で双方向のデータ通信を行う半導体集積回路において、各ブロックに同時に大きな瞬時電流が流れることにより生じる瞬間的なエネルギー集中を防止できる。
【００２０】
また、本発明によれば、基本クロックに同期して動作する第１のブロックと基本クロックのＮ逓倍のクロックに同期して動作する第２のブロックの間で双方向のデータ通信が行われるとき、乗せ換え回路を用いてデータの乗せ換えを行うことにより、第１のブロックと第２のブロックの間におけるデータの転送を容易に行うことができる。そして、周波数の異なるクロックに同期して動作する複数のブロック間でデータの転送を行うとき、非同期クロックで動作する回路を用いる必要がないため、半導体集積回路の回路構成を簡素化することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態を図面に基づいて詳細に説明する。
【００２２】
《発明の実施形態》
図１に示すように、本実施形態の半導体集積回路は、例えば、特定用途向け集積回路１０（Application Specific Integrated Circuit（以下、「ＡＳＩＣ１０」と呼ぶ））であり、このＡＳＩＣ１０は、基本クロックに同期して動作する機能ブロックＡ１１と基本クロックの２倍の周波数のクロック（即ち、２逓倍クロック）に同期して動作する機能ブロックＢ１２の間で双方向のデータ通信を行うために用いられる。
【００２３】
具体的に、このＡＳＩＣ１０は、基本クロックを生成するクロック源１３と、配線２０を介してクロック源１３に接続されるとともに当該クロック源１３で生成される基本クロックである基本クロックＡに同期して動作する機能ブロックＡ１１と、後述する基本クロックＢを２逓倍して得られる２逓倍クロックＢに同期して動作する機能ブロックＢ１２と、を備えている。そして、機能ブロックＡ１１と機能ブロックＢ１２の間で双方向のデータ通信を行うことによって、機能ブロックＡ１１から機能ブロックＢ１２にデータが転送されるとともに、機能ブロックＢ１２から機能ブロックＡ１１にデータが転送される。
【００２４】
また、このＡＳＩＣ１０には、機能ブロックＡ１１から出力されるデータを乗せ換えて機能ブロックＢ１２に転送するための、または、機能ブロックＢ１２から出力されるデータを乗せ換えて機能ブロックＡ１１に転送するための、乗せ換え回路Ａ１４及び乗せ換え回路Ｂ１５が設置されている。
【００２５】
そして、この乗せ換え回路Ａ１４は、基本クロックＡを２逓倍して得られる２逓倍クロックＡに同期して動作するものであり、入力される基本クロックＡを２逓倍して出力する位相同期回路（Phase Locked Loop（以下、「ＰＬＬ」と称する））として第１のＰＬＬ１６の入力側が配線２０を介してクロック源１３に接続されるとともに、第１のＰＬＬ１６の出力側が配線２０を介してこの乗せ換え回路Ａ１４に接続されている。
【００２６】
また、この乗せ換え回路Ｂ１５は、基本クロックＡを４逓倍して得られる４逓倍クロックに同期して動作するものであり、入力される基本クロックＡを４逓倍して出力する第２のＰＬＬ１７の入力側が配線２０を介してクロック源１３に接続されるとともに、第２のＰＬＬ１７の出力側が配線２０を介してこの乗せ換え回路Ｂ１５に接続されている。
【００２７】
更に、このＡＳＩＣ１０には、基本クロックＡに対して９０°の位相差を有する基本クロックＢを生成するためのフリップフロップ１８（以下、「ＦＦ１８」と呼ぶ）が設置されており、このＦＦ１８が配線２０を介してクロック源１３と第２のＰＬＬ１７とに接続されている。そして、このＦＦ１８において、基本クロックＡを第２のＰＬＬ１７より出力される４逓倍クロックＡでラッチすることにより、基本クロックＡに対して９０°の位相差を有する基本クロックＢが生成される。
【００２８】
また、ＦＦ１８の出力側には、ＦＦ１８より出力される基本クロックＢを２逓倍して出力する第３のＰＬＬ１９の入力側が配線２０を介して接続されるとともに、第３のＰＬＬ１９の出力側が配線２０を介して機能ブロックＢ１２に接続されている。そして、機能ブロックＢ１２は、第３のＰＬＬ１９より出力される２逓倍クロックＢに同期して動作する。
【００２９】
尚、図１に示す半導体集積回路１０において、機能ブロックＡ１１を動作させる基本クロックＡと乗せ換え回路Ａ１４を動作させる２逓倍クロックＡの立ち上がりが同期するように、レイアウト時に配線２０の長さを調整しておく。また、乗せ換え回路Ｂ１５を動作させる４逓倍クロックと機能ブロックＢ１２を動作させる２逓倍クロックＢの立ち上がりが同期するように、レイアウト時に配線２０の長さを調整しておく。このとき、遅延回路などを用いてクロックが立ち上がるタイミングを調整するようにしてもよい。
【００３０】
このように構成されたＡＳＩＣ１０において、図２のタイミングチャートに示すように、基本クロックＡを２逓倍すると２逓倍クロックＡが得られる。この２逓倍クロックＡは、基本クロックＡに同期し、基本クロックＡと同位相となる。また、基本クロックＡを４逓倍すると４逓倍クロックが得られる。この４逓倍クロックは、基本クロックＡ及び２逓倍クロックＡに同期し、基本クロックＡ及び２逓倍クロックＡと同位相となる。
【００３１】
また、図２のタイミングチャートに示すように、基本クロックＡを４逓倍クロックでラッチすると基本クロックＢが得られる。この基本クロックＢは、基本クロックＡと周波数が同じで、基本クロックＡ、２逓倍クロックＡ、及び４逓倍クロックに同期し、基本クロックＡ、２逓倍クロックＡ、及び４逓倍クロックに対して９０°の位相差を有する。
【００３２】
更に、図２のタイミングチャートに示すように、基本クロックＢを２逓倍すると２逓倍クロックＢが得られる。この２逓倍クロックＢは、２逓倍クロックＡと周波数が同じで、基本クロックＡ、２逓倍クロックＡ、４逓倍クロック、及び基本クロックＢに同期し、基本クロックＢと同位相となる。即ち、この２逓倍クロックＢは、基本クロックＡ、２逓倍クロックＡ、及び４逓倍クロックに対して９０°の位相差を有する。
【００３３】
このように構成されたＡＳＩＣ１０の動作について、図３及び図４に示すタイミングチャートを参照しながら説明する。まず、機能ブロックＡ１１から機能ブロックＢ１２にデータを転送するときの流れについて図３を参照しながら説明し、次に、機能ブロックＢ１２から機能ブロックＡ１１にデータを転送するときの流れについて図４を参照しながら説明する。尚、上述したＡＳＩＣ１０の動作と重複する部分については、その詳細な説明を省略する。
【００３４】
まず、機能ブロックＡ１１から機能ブロックＢ１２にデータを転送するとき、図１に示すように、クロック源１３で生成されるとともに機能ブロックＡ１１に入力される基本クロックＡが立ち上がると、これに同期して機能ブロックＡ１１にデータが入力される。そして、機能ブロックＡ１１にデータが入力されると、次に機能ブロックＡ１１に入力される基本クロックＡが立ち上がるタイミングに達するまで、入力されたデータが機能ブロックＡ１１に記憶される。
【００３５】
また、図１に示すように、クロック源１３で生成された基本クロックＡが第１のＰＬＬ１６に入力され、第１のＰＬＬ１６において基本クロックＡが２逓倍クロックＡに変換された後、第１のＰＬＬ１６から出力された２逓倍クロックＡが乗せ換え回路Ａ１４に入力される。そして、基本クロックＡの立ち上がりに同期して機能ブロックＡ１１にデータが入力された後、乗せ換え回路Ａ１４に入力される２逓倍クロックＡが立ち上がると、これに同期して、機能ブロックＡ１１に記憶されたデータが機能ブロックＡ１１から乗せ換え回路Ａ１４に転送される。
【００３６】
乗せ換え回路Ａ１４に転送されたデータは、基本クロックＡの立ち上がりに同期して機能ブロックＡ１１にデータが入力されるタイミングに達する時間と２逓倍クロックＡの立ち上がりに同期して乗せ換え回路Ａ１４にデータが入力されるタイミングに達する時間との差の分だけ、機能ブロックＡ１１にデータが記憶される期間よりも遅延してこの乗せ換え回路Ａ１４に記憶される。
【００３７】
また、図１に示すように、クロック源１３で生成された基本クロックＡが第２のＰＬＬ１７に入力され、第２のＰＬＬ１７において基本クロックＡが４逓倍クロックに変換された後、第２のＰＬＬ１７から出力された４逓倍クロックが乗せ換え回路Ｂ１５に入力される。そして、２逓倍クロックＡの立ち上がりに同期して乗せ換え回路Ａ１４にデータが入力された後、乗せ換え回路Ｂ１５に入力される４逓倍クロックが立ち上がると、これに同期して、乗せ換え回路Ａ１４に記憶されたデータが乗せ換え回路Ａ１４から乗せ換え回路Ｂ１５に転送される。
【００３８】
乗せ換え回路Ｂ１５に転送されたデータは、２逓倍クロックＡの立ち上がりに同期して乗せ換え回路Ａ１４にデータが入力されるタイミングに達する時間と４逓倍クロックの立ち上がりに同期して乗せ換え回路Ｂ１５にデータが入力されるタイミングに達する時間との差の分だけ、乗せ換え回路Ａ１４にデータが記憶される期間よりも遅延してこの乗せ換え回路Ｂ１５に記憶される。
【００３９】
更に、図１に示すように、クロック源１３で生成された基本クロックＡと第２のＰＬＬ１７で生成された４逓倍クロックとがＦＦ１８に入力され、このＦＦ１８において基本クロックＢが生成される。続いて、ＦＦ１８で生成された基本クロックＢが第３のＰＬＬ１９に入力され、第３のＰＬＬ１９で基本クロックＢが２逓倍クロックＢに変換された後、第３のＰＬＬ１９から出力された２逓倍クロックＢが機能ブロックＢ１２に入力される。
【００４０】
そして、４逓倍クロックの立ち上がりに同期して乗せ換え回路Ｂ１５にデータが入力された後、機能ブロックＢ１２に入力される２逓倍クロックＢが立ち上がると、これに同期して、乗せ換え回路Ｂ１５に記憶されたデータが乗せ換え回路Ｂ１５から機能ブロックＢ１２に転送される。
【００４１】
機能ブロックＢ１２に転送されたデータは、４逓倍クロックの立ち上がりに同期して乗せ換え回路Ｂ１５にデータが入力されるタイミングに達する時間と２逓倍クロックＢの立ち上がりに同期して機能ブロックＢ１２にデータが入力されるタイミングに達する時間との差の分だけ、乗せ換え回路Ｂ１５にデータが記憶される期間よりも遅延してこの機能ブロックＢ１２に記憶される。
【００４２】
次に、機能ブロックＢ１２から機能ブロックＡ１１にデータを転送するとき、図４に示すように、機能ブロックＡ１１から機能ブロックＢ１２にデータを転送するときの順序と逆の順序で、データの転送が行われる。
【００４３】
即ち、図１に示すように、クロック源１３で生成された基本クロックＡが第２のＰＬＬ１７に入力され、第２のＰＬＬ１７において基本クロックＡが４逓倍クロックに変換された後、第２のＰＬＬ１７から出力された４逓倍クロックが乗せ換え回路Ｂ１５に入力される。そして、２逓倍クロックＢの立ち上がりに同期して機能ブロックＢ１２にデータが入力された後、乗せ換え回路Ｂ１５に入力される４逓倍クロックが立ち上がると、これに同期して、機能ブロックＢ１２に記憶されたデータが機能ブロックＢ１２から乗せ換え回路Ｂ１５に転送される。
【００４４】
乗せ換え回路Ｂ１５に転送されたデータは、２逓倍クロックＢの立ち上がりに同期して機能ブロックＢ１２にデータが入力されるタイミングに達する時間と４逓倍クロックの立ち上がりに同期して乗せ換え回路Ｂ１５にデータが入力されるタイミングに達する時間との差の分だけ、機能ブロックＢ１２にデータが記憶される期間よりも遅延してこの乗せ換え回路Ｂ１５に記憶される。
【００４５】
また、図１に示すように、クロック源１３で生成された基本クロックＡが第１のＰＬＬ１６に入力され、第１のＰＬＬ１６において基本クロックＡが２逓倍クロックＡに変換された後、第１のＰＬＬ１６から出力された２逓倍クロックＡが乗せ換え回路Ａ１４に入力される。そして、４逓倍クロックの立ち上がりに同期して乗せ換え回路Ｂ１５にデータが入力された後、乗せ換え回路Ａ１４に入力される２逓倍クロックＡが立ち上がると、これに同期して、乗せ換え回路Ｂ１５に記憶されたデータが乗せ換え回路Ｂ１５から乗せ換え回路Ａ１４に転送される。
【００４６】
乗せ換え回路Ａ１４に転送されたデータは、４逓倍クロックの立ち上がりに同期して乗せ換え回路Ｂ１５にデータが入力されるタイミングに達する時間と２逓倍クロックＡの立ち上がりに同期して乗せ換え回路Ａ１４にデータが入力されるタイミングに達する時間との差の分だけ、乗せ換え回路Ｂ１５にデータが記憶される期間よりも遅延してこの乗せ換え回路Ａ１４に記憶される。
【００４７】
更に、図１に示すように、クロック源１３で生成された基本クロックＡが機能ブロックＡ１１に入力される。そして、２逓倍クロックＡの立ち上がりに同期して乗せ換え回路Ａ１４にデータが入力された後、機能ブロックＡ１１に入力される基本クロックＡが立ち上がると、これに同期して、乗せ換え回路Ａ１４に記憶されたデータが乗せ換え回路Ａ１４から機能ブロックＡ１１に転送される。
【００４８】
機能ブロックＡ１１に移動したデータは、２逓倍クロックＡの立ち上がりに同期して乗せ換え回路Ａ１４にデータが入力されるタイミングに達する時間と基本クロックＡの立ち上がりに同期して機能ブロックＡ１１にデータが入力されるタイミングに達する時間との差の分だけ、乗せ換え回路Ａ１４にデータが記憶される期間よりも遅延してこの機能ブロックＡ１１に記憶される。
【００４９】
このように、本実施形態によれば、機能ブロックＡ１１と機能ブロックＢ１２の間で双方向のデータ通信が行われるとき、基本クロックＡと基本クロックＡに対して９０°位相の異なる２逓倍クロックＢとを用いることにより、機能ブロックＡ１１と機能ブロックＢ１２とがクロックの立ち上がりに同期して同時にスイッチング動作を行うことを回避できる。従って、複数のブロックを有するとともに複数のブロック間で双方向のデータ通信を行う半導体集積回路において、各ブロックに同時に大きな瞬時電流が流れることにより生じる瞬間的なエネルギー集中を防止できる。
【００５０】
また、本実施形態によれば、基本クロックＡに同期して動作する機能ブロックＡ１１と基本クロックＡに対し２逓倍のクロックに同期して動作する機能ブロックＢ１２の間で双方向のデータ通信が行われるとき、乗せ換え回路Ａ１４及び乗せ換え回路Ｂ１５を用いてデータの乗せ換えを行うことにより、機能ブロックＡ１１と機能ブロックＢ１２の間におけるデータの転送を容易に行うことができる。そして、周波数の異なるクロックに同期して動作する複数のブロック間でデータの転送を行うとき、非同期クロックで動作する回路を用いる必要がないため、半導体集積回路の回路構成を簡素化することができる。
【００５１】
尚、図１に示す上記ＡＳＩＣ１０において、第１のＰＬＬ１６と乗せ換え回路Ａ１４とを省略し、機能ブロックＡ１１と機能ブロックＢ１２の間で乗せ換え回路Ｂ１５を介してデータの転送を行うことも可能である。
【００５２】
また、図１に示す上記ＡＳＩＣ１０において、機能ブロックＢ１２を基本クロックＡの２倍の周波数となる２逓倍クロックＢで動作させるのに代えて基本クロックＡのＮ逓倍のクロックで動作させるとき、第３のＰＬＬ１６において、ＦＦ１８より出力された基本クロックＢがＮ逓倍される。そして、第３のＰＬＬ１６より出力された基本クロックＢのＮ逓倍のクロックが機能ブロックＢ１２に入力される。このとき、第１のＰＬＬ１６と乗せ換え回路Ａ１４とを省略し、機能ブロックＡ１１と機能ブロックＢ１２の間で乗せ換え回路Ｂ１５を介してデータの転送を行うことも可能である。
【産業上の利用可能性】
【００５３】
以上説明したように、本発明は、基本クロックとこの基本クロックのＮ逓倍のクロックで動作する複数の機能ブロック間で双方向のデータ通信を行う半導体集積回路について有用である。
【図面の簡単な説明】
【００５４】
【図１】実施形態に係るＡＳＩＣの回路構成を示すブロック図である。
【図２】複数のクロック間の依存関係を示すタイミングチャートである。
【図３】機能ブロックＡから機能ブロックＢに転送されるデータの流れを示すタイミングチャートである。
【図４】機能ブロックＢから機能ブロックＡに転送されるデータの流れを示すタイミングチャートである。
【図５】従来に係る半導体集積回路の回路構成を示すブロック図である。
【符号の説明】
【００５５】
１０  ＡＳＩＣ
１１  機能ブロックＡ
１２  機能ブロックＢ
１３  クロック源
１４  乗せ換え回路Ａ
１５  乗せ換え回路Ｂ
１６  第１のＰＬＬ
１７  第２のＰＬＬ
１８  ＦＦ（フリップフロップ）
１９  第３のＰＬＬ
２０  配線
【図１】
0004646710.tif 000002
【図２】
0004646710.tif 000003
【図３】
0004646710.tif 000004
【図４】
0004646710.tif 000005
【図５】
0004646710.tif 000006