説明

半導体集積回路およびその動作方法

【課題】クロック選択回路の最終選択出力でのメタステーブルの障害の発生確率を低減する。
【解決手段】半導体集積回路に内蔵のクロック選択回路は、デコーダDEC、制御ユニットCnt、マルチプレクサMpxを有する。DECに選択信号SELが供給され、Cntに第1と第2のクロック信号CKIN0、1とデコーダDECの第1と第2の選択出力信号が供給され、MpxにCntの第1と第2の選択制御信号Q´0、1が供給される。Cntの第1と第2のゲートAND0、1の一方の入力にDECの第1と第2の選択出力信号が供給される。第1ゲートAND0の出力と第2ゲートAND1の他方の入力の間に直列接続の第1と第2のD型フリップフロップD−FF0、2と、第2ゲートAND1の出力と第1ゲートAND0の他方の入力の間に直列接続の第3と第4のD型フリップフロップD−FF1、3を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路およびその動作方法に関し、特にクロック選択回路のメタステーブルの障害の発生確率を低減するのに有益な技術に関する。
【背景技術】
【0002】
下記特許文献1には、複数の選択信号と複数の入力信号とが供給され、選択切り換え時のグリッチを防止したマルチプレクサが記載されている。グリッチの発生を防止するために、複数の選択信号のうちの1つの選択信号が選択レベルとされる際に、他の選択信号が非選択レベルとなるまで選択レベルの1つの選択信号がマルチプレクサに供給されることが防止される。
【0003】
また、下記非特許文献1には、非同期信号とクロックとが供給されることによって、出力から同期信号を生成するシンクロナイザ(Synchronizer)が記載されている。シンクロナイザが単一のD型フリップフロップ(FF)で構成されたシングルステージの場合には、非同期入力信号がクロック遷移に余りにも近接して状態を変化すると、フリップフロップのセットアップ時間とホールド時間との違反が発生して、メタステーブルが発生する。すると伝播遅延が増大して、出力がハイレベルまたはローレベルに回復するための時間も伝播遅延の増大によって増大する。シンクロナイザの出力にメタステーブルが発生するまでの時間は、不良間隔平均時間(MTBF:mean time between failure)と呼ばれる。
【0004】
更に、下記非特許文献1には、ツーステージシンクロナイザを使用することによって、シングルステージシンクロナイザと比較して、メタステーブルの不良間隔平均時間を数桁、増大することが記載されている。ツーステージシンクロナイザでは、2個のFFがカスケード接続され、1段目のFFのデータ入力端子Dには非同期入力信号が供給され、1段目のFFのデータ出力信号Qは2段目のFFのデータ入力端子Dに供給され、1段目のFFのトリガ入力と2段目のFFのトリガ入力とにクロック信号が共通に供給され、2段目のFFのデータ出力信号Qから同期出力信号が生成される。クロック信号の1個目のクロックパルスの立ち上がりエッジに応答して1段目のFFのデータ出力信号Qにメタステーブル出力が生成される可能性があるが、クロック信号の2個目のクロックパルスの立ち上がりエッジに応答して2段目のFFのデータ出力信号Qにはハイレベルまたはローレベルの安定した同期出力信号が生成されることが可能となる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−174344号 公報
【非特許文献】
【0006】
【非特許文献1】Tom Jackson, “FIFO Memories: Solution to Reduce FIFO Metastability”, First−In, First−Out Technology, SCAA011A March 1996,pp.1〜6,TEXAS INSTRUMENTS http://focus.ti.com/lit/an/scaa011a/scaa011a.pdf[平成21年3月3日検索]
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明者等は、本発明に先立って非同期の複数のクロック源を使用するマイクロコントローラやシステムLSIの研究・開発に従事した。
【0008】
マイクロコントローラやシステムLSI等の分野では、非同期の複数のクロック源を使用する場合が多くなってきている。非同期の複数のクロック源の1つとしては、例えば、チップ外部の水晶振動子によって生成した基準周波数信号からフェーズロックドループ(PLL)の電圧制御発振器により生成される逓倍クロックがある。他のクロック源としては、システムコスト低減のために外部水晶振動子を使用しないユーザに用意されたフリーランのオンチップ発振器の発振クロックや、チップ外部から供給されるクロック信号入力がある。またシステムの信頼性確保の観点から、システムの暴走やデッドロックを検出するためのウォッチドッグタイマは、システムクロックと独立したクロック源で動作することが求められている。
【0009】
これらの非同期の複数のクロック源は、分周や逓倍の関係にはないので、位相関係は未知である。これら複数のクロック源のうちの1つを選択して、チップ内部のCPUや周辺IPにクロック等の内部コアにシステムクロックとして分配することになる。この切り換え時にグリッチが生成されないこと、非同期信号の同期化で問題となりうるフリップフロップやラッチのメタステーブルの障害確率を低減して実用的な信頼性を確保すること、および高速に切り換えることが必要となる。
【0010】
特に32kHzと言う低速で低電力動作の状態から、何らかのイベントを検出して100MHzと言う高速の動作に切り換える場合には、大きな切り換えレイテンシはリアルタイム性が必要な用途において致命的な性能劣化となる。従って、グリッチの発生防止、メタステーブルの障害確率の低減、切り換えレイテンシの低減を同時に達成することが必要となる。
【0011】
図1は、本発明に先立って本発明者等によって検討されたクロック選択回路としてのマルチプレクサの構成を示す図である。
【0012】
図1に示すクロック選択回路としてのマルチプレクサは、第1と第2のCMOSアナログスイッチ101、102、インバータ103、バッファ増幅器104を含んでいる。第1のCMOSアナログスイッチ101の信号入力端子に第1のクロック入力信号CKIN0が供給され、第1のCMOSアナログスイッチ101の制御入力端子には選択信号SELとインバータ103の出力信号とが供給され、第1のCMOSアナログスイッチ101の出力信号はバッファ増幅器104の入力端子に供給される。第2のCMOSアナログスイッチ102の信号入力端子に第2のクロック入力信号CKIN1が供給され、第2のCMOSアナログスイッチ102の制御入力端子にインバータ103の出力信号と選択信号SELとが供給され、第2のCMOSアナログスイッチ102の出力信号はバッファ増幅器104の入力端子に供給される。
【0013】
第1のCMOSアナログスイッチ101はソース・ドレイン電流経路が並列接続のPチャンネルMOSトランジスタQp1とNチャンネルMOSトランジスタQn1とを含み、トランジスタQp1のゲート電極に選択信号SELが供給され、トランジスタQn1のゲート電極にインバータ103の出力信号が供給される。第2のCMOSアナログスイッチ102もソース・ドレイン電流経路が並列接続のPチャンネルMOSトランジスタQp2とNチャンネルMOSトランジスタQn2とを含み、トランジスタQp2のゲート電極にインバータ103の出力信号が供給され、トランジスタQn2のゲート電極に選択信号SELが供給される。
【0014】
選択信号SELがローレベル“0”の間に第1のCMOSアナログスイッチ101はオン状態に制御され、第2のCMOSアナログスイッチ102はオフ状態に制御されるので、第1のクロック入力信号CKIN0が選択されバッファ増幅器104の出力クロック信号CKOUTとして出力される。逆に、選択信号SELがハイレベル“1”の間に第1のCMOSアナログスイッチ101はオフ状態に制御され、第2のCMOSアナログスイッチ102はオン状態に制御されるので、第2のクロック入力信号CKIN1が選択されバッファ増幅器104の出力クロック信号CKOUTとして出力される。
【0015】
図2は、図1に示したクロック選択回路としてのマルチプレクサの各部の波形を示す図である。
【0016】
図2に示すように、第1のクロック入力信号CKIN0は比較的低いクロック周波数を持つ一方、第2のクロック入力信号CKIN1は比較的高いクロック周波数を持つものである。上述のように選択信号SELがローレベル“0”の間には比較的低いクロック周波数を持つ第1のクロック入力信号CKIN0が選択されて出力クロック信号CKOUTとして出力され、選択信号SELがハイレベル“1”の間には比較的高いクロック周波数を持つ第2のクロック入力信号CKIN1が選択されて出力クロック信号CKOUTとして出力される。
【0017】
しかし、図2に示すように、クロック選択の切り換えのタイミング201、202、203、204にて、パルス幅の小さなパルスが出力クロック信号CKOUTとして生成されて、グリッチが発生することが理解される。前半の2個のタイミング201、202での第1と第2のクロック入力信号CKIN0、CKIN1のレベルは相互に相違しているが、パルス幅の小さなグリッチが発生している。後半の2個のタイミング203、204での第1と第2のクロック入力信号CKIN0、CKIN1のレベルは相互に同一となっているが、やはりパルス幅の小さなグリッチが発生している。その結果、出力クロック信号CKOUTに発生する出力クロックのパルス幅を第1と第2のクロック入力信号CKIN0、CKIN1のいずれかのパルス幅と等しくすると言う保証が不可能となるものである。すなわち、出力クロック信号CKOUTに発生するグリッチのパルス幅やエッジ間隔が、第1と第2のクロック入力信号CKIN0、CKIN1の最高周波数クロックの周期より短くなってしまう。
【0018】
従って、出力クロック信号CKOUTのパルス幅やエッジ間隔が保証できないことにより、出力クロック信号CKOUTをマイクロコントローラやシステムLSIの種々の内部コアにシステムクロックとして分配するに際して、種々の問題を発生するものである。例えば、内部コアのフリップフロップのセットアップの違反等によってメタステーブル等の誤動作を引き起こす。また、出力クロック信号CKOUTのパルス幅が極端に細くなりパルス消滅が発生すると、内部コアの動作サイクルの遅延が発生する可能性がある。
【0019】
複数の選択信号と複数の入力信号とが供給されて選択切り換えが行われるマルチプレクサにてグリッチを防止するために、上記特許文献1に記載された方法を採用することができる。上記特許文献1に記載の方法によれば、グリッチの発生を防止するために、複数の選択信号の1つの選択信号が選択レベルとされる際に、他の選択信号が非選択レベルとなるまで選択レベルの1つの選択信号がマルチプレクサに供給されることが防止される。
【0020】
図3は、上記特許文献1の記載に基づいて本発明に先立って本発明者等によって検討されたクロック選択回路の構成を示す図である。
【0021】
図3に示すクロック選択回路は、デコーダDECとしてのインバータINV0、制御ユニットCntの第1と第2のAND回路AND0、AND1および第1と第2のD型フリップフロップD−FF0、D−FF1、マルチプレクサMpxによって構成されている。第1と第2のD型フリップフロップD−FF0、D−FF1は、遅延(Delay)型のフリップフロップである。これらのD型フリップフロップで、クロック信号CKIN0、CKIN1が供給される三角形記号はエッジトリガ端子を意味しており、三角形記号の丸印はクロック信号の立ち下がりエッジに応答して入力データが出力データに伝達されることを意味している。
【0022】
選択信号SELはインバータINV0の入力端子と第2のAND回路AND1の一方の入力端子とに供給され、インバータINV0の出力信号は第1のAND回路AND0の一方の入力端子に供給される。第1のAND回路AND0の出力信号D0は第1のD型フリップフロップD−FF0のデータ入力端子に供給される一方、第2のAND回路AND1の出力信号D1は第2のD型フリップフロップD−FF1のデータ入力端子に供給される。第1のD型フリップフロップD−FF0の出力データQ0は第2のAND回路AND1の他方の入力端子としての反転入力端子に供給される一方、第2のD型フリップフロップD−FF1の出力データQ1は第1のAND回路AND0の他方の入力端子としての反転入力端子に供給される。
【0023】
マルチプレクサMpxは、第3と第4のAND回路AND2、AND3と、OR回路OR0によって構成されている。第3のAND回路AND2の一方の入力端子に第1のD型フリップフロップD−FF0の出力データQ0が供給される一方、第4のAND回路AND3の一方の入力端子に第2のD型フリップフロップD−FF1の出力データQ1が供給される。また第1のD型フリップフロップD−FF0の立ち下がりエッジトリガ端子と第3のAND回路AND2の他方の入力端子に第1のクロック信号CKIN0が供給される一方、第2のD型フリップフロップD−FF1の立ち下がりエッジトリガ端子と第4のAND回路AND3の他方の入力端子に第2のクロック信号CKIN1が供給される。また、第3のAND回路AND2の第1のクロック出力信号CKG0と第4のAND回路AND3の第2のクロック出力信号CKG1はOR回路OR0の一方の入力端子と他方の入力端子にそれぞれ供給され、OR回路OR0の出力端子からはクロック出力信号CKOUTが生成される。
【0024】
図3の下に示すように、第1と第2のD型フリップフロップD−FF0、D−FF1は、マスター・スレーブ・ラッチによって構成される。マスター・スレーブ・ラッチのマスター・ラッチ(Master-Latch)とスレーブ・ラッチ(Slave-Latch)とは、それぞれスイッチSWとクロスカップル接続された第1と第2のインバータInv1、Inv2とによって構成される。尚、第2のインバータInv2は、非反転クロック信号CKIN0、CKIN1と反転クロック信号とによって駆動されるクロックドインバータによって構成される。例えば、第2のD型フリップフロップD−FF1では、第2のクロック信号CKIN1のハイレベル“1”の間に、マスター・ラッチ(Master-Latch)では第2のAND回路AND1の出力信号D1がオン状態のスイッチSWを介して第1のインバータInv1の入力端子に伝達される。この間に、スレーブ・ラッチ(Slave-Latch)では、スイッチSWはオフ状態とされ、クロスカップル接続の第1と第2のインバータInv1、Inv2によってホールドされた出力データQ1が出力される。また、第2のD型フリップフロップD−FF1では、第2のクロック信号CKIN1のローレベル“0”の間に、マスター・ラッチ(Master-Latch)では、スイッチSWはオフ状態とされ、クロスカップル接続の第1と第2のインバータInv1、Inv2によって第2のAND回路AND1の出力信号D1がホールドされる。この間に、マスター・ラッチ(Master-Latch)の第1のインバータInv1の出力信号は、スレーブ・ラッチ(Slave-Latch)に伝達されて、オン状態のスイッチSWを介して第1のインバータInv1の入力端子に伝達される。また更に、第1のD型フリップフロップD−FF0も、第1のクロック信号CKIN0に応答して第2のD型フリップフロップD−FF1と同様に動作する。その結果、第1と第2のD型フリップフロップD−FF0、D−FF1は、第1と第2のクロック信号CKIN0、CKIN1の立ち下がりエッジに応答して第1と第2の入力信号D0、D1のレベルを第1と第2の出力データQ0、Q1として出力する。
【0025】
図4は、図3に示すクロック選択回路にて第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる様子を示す図である。
【0026】
図4では、まずタイミングT0において、選択信号SELがローレベル“0”(第1のクロック信号CKIN0の選択)からハイレベル“1”(第2のクロック信号CKIN1の選択)に変化する。タイミングT0から若干遅延したタイミングT1にて、第1のAND回路AND0の出力信号D0がハイレベル“1”からローレベル“0”に変化する。次のタイミングT2にて、第1のクロック信号CKIN0が、ローレベル“0”からハイレベル“1”に立ち上がる。しかし、マスター・スレーブラッチで構成された第1のD型フリップフロップD−FF0は、第1のクロック信号CKIN0の立ち上がりエッジに応答してローレベル“0”の第1の入力信号D0を第1の出力データQ0として出力せずに、ハイレベル“1”の第1の出力データQ0を保持する。更に次のタイミングT3にて、第1のクロック信号CKIN0が、ハイレベル“1”からローレベル“0”に立ち下がる。従って、マスター・スレーブラッチで構成された第1のD型フリップフロップD−FF0は、第1のクロック信号CKIN0の立ち下がりエッジに若干遅延したタイミングT4にてローレベル“0”の第1の入力信号D0を第1の出力データQ0として出力する。その結果、タイミングT0からタイミングT4までの期間で、第1のD型フリップフロップD−FF0の第1の出力データQ0がハイレベル“1”に保持されている。従って、この期間では、第1のクロック信号CKIN0がマルチプレクサMpxの第3のAND回路AND2によって第1のクロック出力信号CKG0として選択され、OR回路OR0のクロック出力信号CKOUTが生成される。
【0027】
タイミングT4での第1のD型フリップフロップD−FF0の第1の出力データQ0がハイレベル“1” からローレベル“0”への立ち下がりに若干遅延したタイミングT5で、第2のAND回路AND1の出力信号D1がローレベル“0”からハイレベル“1”に変化する。次のタイミングT6にて、第2のクロック信号CKIN1が、ハイレベル“1”からローレベル“0”に立ち下がる。従って、マスター・スレーブラッチで構成された第2のD型フリップフロップD−FF1は、第2のクロック信号CKIN1の立ち下がりエッジに若干遅延したタイミングT7でハイレベル“1”の第2の入力信号D1を第2の出力データQ1として出力する。その結果、タイミングT7からの期間では、第2のD型フリップフロップD−FF1の第2の出力データQ1がハイレベル“1”に保持されている。従って、この期間では、第2のクロック信号CKIN01マルチプレクサMpxの第4のAND回路AND3によって第2のクロック出力信号CKG1として選択され、OR回路OR0のクロック出力信号CKOUTが生成される。
【0028】
図4に示した図3のクロック選択回路での第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わりでは、第1の入力信号D0と第1のクロック信号CKIN0のタイミング関係でも、第2の入力信号D1と第2のクロック信号CKIN1のタイミング関係でも、セットアップやホールドの違反が発生していない。従って、タイミングT0で選択信号SELがローレベル“0”からハイレベル“1”に変化してから切り換え後の第2のクロック信号CKIN1を選択するハイレベル“1の第2の出力データQ1が出力されるタイミングT7までの切り換えレイテンシを、比較的短時間とすることが可能である。
【0029】
また図3に示したクロック選択回路では、第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換える際に第1のクロック信号CKIN0の選択の第1の出力データQ0がハイレベル“1” からローレベル“0”へ非選択モードに遷移しない限り、第2のクロック信号CKIN1の選択の第2の出力データQ1をローレベル“0” からハイレベル“1” へ選択モードに遷移することが不可能とされている。従って、図3に示したクロック選択回路によれば、非選択とされるクロック信号のハイレベル“1” からローレベル“0”への非選択モードの遷移の後に選択とされる他のクロック信号への切り換えが行われるので、グリッチの発生を防止することが可能となる。
【0030】
図5は、図3に示すクロック選択回路で第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際にフリップフロップのセットアップ時間とホールド時間との違反が発生して、メタステーブルが発生する様子を示す図である。
【0031】
セットアップ時間の違反は、クロック遷移に先行する非同期入力信号の状態変化がクロック遷移に余りにも近接している場合に、発生する。またホールド時間の違反は、クロック遷移に後続する非同期入力信号の状態変化が余りにもクロック遷移に近接している場合に、発生する。
【0032】
図5のタイミング2101では、第1のクロック信号CKIN0の立ち下がりエッジの遷移に非同期入力信号である第1のAND回路AND0の出力信号D0の立ち下がりの状態変化が余りにも近接しているので、第1のD型フリップフロップD−FF0のセットアップ時間とホールド時間との違反が発生するものである。従って、図5の次のタイミング2102では、第1のD型フリップフロップD−FF0のメタステーブルの障害が発生する。すなわち、第1のD型フリップフロップD−FF0の第1の出力データQ0は比較的長い時間の間にハイレベル“1”とローレベル“0”との間の中間レベルを維持するので、ハイレベル“1”またはローレベル“0”に回復するのにも比較的長い時間を必要としている。このメタステーブルの比較的長い時間は、第2のクロック信号CKIN1の1周期と仮定している。中間レベルの第1のD型フリップフロップD−FF0の第1の出力データQ0は第2のAND回路AND1の反転入力端子に供給されるので、第2のAND回路AND1の出力信号D1も比較的長い時間にて中間レベルとなる。一方、第2のD型フリップフロップD−FF1は、第2のクロック信号CKIN1の立ち下がりエッジに応答して第2の入力信号D1のレベルを第2の出力データQ1として出力するものである。その結果、中間レベルの第2の入力信号D1が第2のD型フリップフロップD−FF1の第2の出力データQ1として比較的長い時間に出力されるものとなる。
【0033】
従って、マルチプレクサMpxの第4のAND回路AND3の第2のクロック出力信号CKG1にも中間レベルが生成され、図5のタイミング2103では、OR回路OR0のクロック出力信号CKOUTに中間レベルが生成される一方、パルス幅の短いグリッチが発生されるものとなる。
【0034】
このように、図3に示したクロック選択回路を使用して第1のクロック信号CKIN0と第2のクロック信号CKIN1との選択の切り換えを行う場合は、ある確率でメタステーブルの障害が発生するものである。メタステーブルの障害の発生確率は、セットアップ時間とホールド時間との違反が発生する確率に依存する。この違反が発生する確率は、セットアップ時間とホールド時間との違反が発生する時間幅と非同期入力信号およびクロック信号の周波数とに依存する。
【0035】
一般的には、通常の単一のフリップフロップで非同期信号をサンプリングするシングルステージシンクロナイザの場合では、例えば、製品寿命10年で市場不良率0.1%、すなわち同時に動作する製品1,000個の1個が10年に1回障害を起こすと言う現実的な信頼性を保証することはできない。このように非常に高い動作信頼性で、グリッチを防止して、メタステーブルの障害の確率が低減され、かつ高速なクロック切り換えを可能とするクロック選択回路をマイクロコントローラ、システムLSI等の半導体集積回路に搭載することが要求されている。
【0036】
本発明は、以上のような本発明に先立った本発明者等の検討の結果、なされたものである。
【0037】
従って、本発明の目的とするところは、クロック選択回路の最終選択出力端子でのメタステーブルの障害の発生確率を低減することにある。
【0038】
また本発明の他の目的とするところは、クロック選択回路の最終選択出力端子でのグリッチを防止することにある。
【0039】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0040】
本願において開示される発明のうちの代表的なものについて簡単に説明すれば下記のとおりである。
【0041】
すなわち、本発明の代表的な実施の形態は、デコーダ(DEC)と、制御ユニット(Cnt)と、マルチプレクサ(Mpx)とを有するクロック選択回路を内蔵する半導体集積回路である。
【0042】
デコーダ(DEC)に選択信号(SEL)が供給され、制御ユニット(Cnt)に第1と第2のクロック信号(CKIN0、CKIN1)とデコーダ(DEC)からの第1と第2の選択出力信号が供給され、マルチプレクサ(Mpx)に第1と第2のクロック信号と前記制御ユニット(Cnt)からの第1と第2の選択制御信号(Q´0、Q´´0、Q´1、Q´´1)とが供給される。
【0043】
前記制御ユニット(Cnt)は、第1と第2のゲート回路(AND0、AND1)を含み、第1と第2のゲート回路の一方の入力端子に前記デコーダからの前記第1と前記第2の選択出力信号が供給される。
【0044】
前記制御ユニット(Cnt)は、前記第1のゲート回路(AND0)の出力端子と前記第2のゲート回路(AND1)の他方の入力端子との間に直列接続された第1と第2のD型フリップフロップ(D−FF0、D−FF2)と、前記第2のゲート回路(AND1)の出力端子と前記第1のゲート回路(AND0)の他方の入力端子との間に直列接続された第3と第4のD型フリップフロップ(D−FF1、D−FF3)とを含むことを特徴とする(図6参照)。
【発明の効果】
【0045】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0046】
すなわち、本発明によれば、クロック選択回路の最終選択出力端子でのメタステーブルの障害の発生確率を低減することができる。
【図面の簡単な説明】
【0047】
【図1】図1は、本発明に先立って本発明者等によって検討されたクロック選択回路としてのマルチプレクサの構成を示す図である。
【図2】図2は、図1に示したクロック選択回路としてのマルチプレクサの各部の波形を示す図である。
【図3】図3は、特許文献1の記載に基づいて本発明に先立って本発明者等によって検討されたクロック選択回路の構成を示す図である。
【図4】図4は、図3に示すクロック選択回路にて第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる様子を示す図である。
【図5】図5は、図3に示すクロック選択回路で第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際にフリップフロップのセットアップ時間とホールド時間との違反が発生して、メタステーブルが発生する様子を示す図である。
【図6】図6は、本発明の実施の形態1の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【図7】図7は、図6に示す本発明の実施の形態1によるクロック選択回路で第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際の各部の波形を説明する図である。
【図8】図8は、本発明の実施の形態2の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【図9】図9は、図8に示す本発明の実施の形態2によるクロック選択回路で第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際の各部の波形を説明する図である。
【図10】図10は、本発明の実施の形態3の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【図11】図11は、図10に示す本発明の実施の形態3によるクロック選択回路で第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際の各部の波形を説明する図である。
【図12】図12は、本発明の実施の形態4の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【図13】図13は、図12に示す本発明の実施の形態4によるクロック選択回路で第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際の各部の波形を説明する図である。
【図14】図14は、図12のクロック選択回路のマルチプレクサMpxの第4のAND回路AND3の構成を示す図である。
【図15】図15は、本発明の実施の形態5の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【図16】図16は、本発明の実施の形態6の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【図17】図17は、図16に示す本発明の実施の形態6によるクロック選択回路で第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際の各部の波形を説明する図である。
【図18】図18は、本発明の実施の形態7の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【図19】図19は、図18に示す本発明の実施の形態7によるクロック選択回路で第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際の各部の波形を説明する図である。
【図20】図20は、本発明の実施の形態8の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【図21】図21は、本発明の実施の形態9の半導体集積回路の構成を示す図である。
【発明を実施するための形態】
【0048】
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【0049】
〔1〕本発明の代表的な実施の形態は、選択信号(SEL)が供給されるデコーダ(DEC)と、第1クロック信号(CKIN0)および第2クロック信号(CKIN1)と前記デコーダからの第1選択出力信号および第2選択出力信号が少なくとも供給される制御ユニット(Cnt)と、前記第1クロック信号および前記第2クロック信号と前記制御ユニットからの第1選択制御信号(Q´0、Q´´0)および第2選択制御信号(Q´1、Q´´1)とが少なくとも供給されるマルチプレクサ(Mpx)とを有するクロック選択回路を内蔵する半導体集積回路である。
【0050】
前記制御ユニット(Cnt)は、前記デコーダからの前記第1選択出力信号が一方の入力端子に供給される第1のゲート回路(AND0)と、前記デコーダからの前記第2選択出力信号が一方の入力端子に供給される第2のゲート回路(AND1)とを含む。
【0051】
前記制御ユニット(Cnt)は、前記第1のゲート回路(AND0)の出力端子と前記第2のゲート回路(AND1)の他方の入力端子との間に直列接続された第1と第2のD型フリップフロップ(D−FF0、D−FF2)と、前記第2のゲート回路(AND1)の出力端子と前記第1のゲート回路(AND0)の他方の入力端子との間に直列接続された第3と第4のD型フリップフロップ(D−FF1、D−FF3)とを含むことを特徴とするものである(図6、図8、図10、図12、図15、図16、図18、図20参照)。
【0052】
前記実施の形態によれば、前記クロック選択回路に含まれた前記制御ユニット(Cnt)の第1と第2のD型フリップフロップ(D−FF0、D−FF2)および第3と第4のD型フリップフロップ(D−FF1、D−FF3)は上記非特許文献1に記載のツーステージシンクロナイザをそれぞれ構成するものである。従って、前記クロック選択回路の前記マルチプレクサ(Mpx)の最終出力端子からのクロック出力信号(CKOUT)でのメタステーブルの障害の発生確率を低減することができる(図7、図9、図11、図13、図17、図19参照)。
【0053】
好適な実施の形態では、前記直列接続の前記第1と前記第2のD型フリップフロップ(D−FF0、D−FF2)を介して前記第2のゲート回路(AND1)の前記他方の入力端子に前記第1のゲート回路(AND0)の前記出力端子の非選択レベルの信号が供給されることによって、前記第2クロック信号(CKIN1)が前記制御ユニット(Cnt)の前記第2のゲート回路(AND1)と前記マルチプレクサ(Mpx)とを介してクロック出力信号(CKOUT)として出力可能とされるものである。
【0054】
前記直列接続の前記第3と前記第4のD型フリップフロップ(D−FF1、D−FF3)を介して前記第1のゲート回路(AND0)の前記他方の入力端子に前記第2のゲート回路(AND1)の前記出力端子の非選択レベルの信号が供給されることによって、前記第1クロック信号(CKIN0)が前記制御ユニット(Cnt)の前記第1のゲート回路(AND0)と前記マルチプレクサ(Mpx)とを介して前記クロック出力信号(CKOUT)として出力可能とされるものである。
【0055】
前記好適な実施の形態によれば、第1クロック信号(CKIN0)と第2クロック信号(CKIN1)との排他選択が可能となり、グリッチの発生を防止することが可能となる。
【0056】
他の好適な実施の形態では、前記直列接続の前記第1と前記第2のD型フリップフロップの後段側の前記第2のD型フリップフロップ(D−FF2)の出力データが、前記第1選択制御信号(Q´0、Q´´0)として前記マルチプレクサ(Mpx)に伝達されるとともに前記第2のゲート回路(AND1)の前記他方の入力端子に伝達される。
【0057】
前記直列接続の前記第3と前記第4のD型フリップフロップの後段側の前記第4のD型フリップフロップ(D−FF3)の出力データが、前記第2選択制御信号(Q´1、Q´´1)として前記マルチプレクサ(Mpx)に伝達されるとともに前記第1のゲート回路(AND0)の前記他方の入力端子に伝達される(図6、図8、図10参照)。
【0058】
より好適な実施の形態は、前記制御ユニット(Cnt)は、第1と第2のラッチ(FF0、FF1)を更に具備する。
【0059】
前記第1のラッチ(FF0)のデータ入力端子と前記第2のD型フリップフロップ(D−FF2)のデータ入力端子とには前記直列接続の前記第1と前記第2のD型フリップフロップの前段側の前記第1のD型フリップフロップ(D−FF0)の出力データが並列に供給され、前記第1のラッチ(FF0)の出力データが前記第1選択制御信号(Q´0)として前記マルチプレクサ(Mpx)に伝達される。
【0060】
前記第2のラッチ(FF1)のデータ入力端子と前記第4のD型フリップフロップ(D−FF3)のデータ入力端子とには前記直列接続の前記第3と前記第4のD型フリップフロップの前段側の前記第3のD型フリップフロップ(D−FF1)の出力データが並列に供給され、前記第2のラッチ(FF1)の出力データが前記第2選択制御信号(Q´1)として前記マルチプレクサ(Mpx)に伝達される(図12、図15、図16、図18、図20参照)。
【0061】
他のより好適な実施の形態は、前記第1のラッチ(FF0)のゲート制御端子(G)と前記直列接続の前記第1と前記第2のD型フリップフロップの両エッジトリガ端子とは、前記第1クロック信号(CKIN0)に応答する。
【0062】
前記第2のラッチ(FF1)のゲート制御端子(G)と前記直列接続の前記第3と前記第4のD型フリップフロップの両エッジトリガ端子とは、前記第2クロック信号(CKIN1)に応答する(図12、図15、図16、図18、図20参照)。
【0063】
更に好適な実施の形態は、前記制御ユニット(Cnt)は、第1と第2の遅延回路(DELAY0、DELAY1)を更に具備する。
【0064】
前記第1の遅延回路(DELAY0)の入力端子は前記前段側の前記第1のD型フリップフロップ(D−FF0)の前記エッジトリガ端子に接続され、前記第1の遅延回路の出力端子は前記後段側の前記第2のD型フリップフロップ(D−FF2)の前記エッジトリガ端子に接続されている。
【0065】
前記第2の遅延回路(DELAY1)の入力端子は前記前段側の前記第3のD型フリップフロップ(D−FF1)の前記エッジトリガ端子に接続され、前記第2の遅延回路の出力端子は前記後段側の前記第4のD型フリップフロップ(D−FF3)の前記エッジトリガ端子に接続されている(図16、図18、図20参照)。
【0066】
他の更に好適な実施の形態では、前記第1のラッチ(FF0)の前記ゲート制御端子(G)は、前記第1の遅延回路(DELAY0)の前記入力端子と前記出力端子とのいずれかの端子に接続されている。
【0067】
前記第2のラッチ(FF1)の前記ゲート制御端子(G)は、前記第2の遅延回路(DELAY1)の前記入力端子と前記出力端子とのいずれかの端子に接続されている(図16、図18、図20参照)。
【0068】
具体的な一つの実施の形態では、前記マルチプレクサ(Mpx)は、第3と第4と第5のゲート回路(AND2、AND3、OR0)を具備する。
【0069】
前記第3のゲート回路(AND2)の一方の入力端子と他方の入力端子とは、前記制御ユニットからの前記第1選択制御信号(Q´0、Q´´0)と前記第1クロック信号(CKIN0)とにそれぞれ応答する。
【0070】
前記第4のゲート回路(AND3)の一方の入力端子と他方の入力端子とは、前記制御ユニットからの前記第2選択制御信号(Q´1、Q´´1)と前記第2クロック信号(CKIN1)とにそれぞれ応答する。
【0071】
前記第5のゲート回路(OR0)に前記第3のゲート回路(AND2)から生成される第1のクロック出力信号(CKG0)と前記第4のゲート回路(AND3)から生成される第2のクロック出力信号(CKG1)とが供給されることによって、前記第5のゲート回路(OR0)は前記マルチプレクサ(Mpx)の最終出力としてのクロック出力信号(CKOUT)を生成するものである(図6、図8、図10、図12、図15、図16、図18、図20参照)。
【0072】
最も具体的な実施の形態による半導体集積回路は、前記第1クロック信号を生成する第1クロック信号源(1)と、前記第2クロック信号を生成する第2クロック信号源(2)とを更に具備する。
【0073】
前記第1クロック信号源(1)から生成される前記第1クロック信号と前記第2クロック信号源(2)から生成される前記第2クロック信号とのいずれかが、前記選択信号(SEL)に応答して、前記クロック選択回路によって前記マルチプレクサ(Mpx)の前記最終出力として生成されるものである。
【0074】
〔2〕本発明の別の観点の代表的な実施の形態は、選択信号(SEL)が供給されるデコーダ(DEC)と、第1クロック信号(CKIN0)および第2クロック信号(CKIN1)と前記デコーダからの第1選択出力信号および第2選択出力信号が少なくとも供給される制御ユニット(Cnt)と、前記第1クロック信号および前記第2クロック信号と前記制御ユニットからの第1選択制御信号(Q´0、Q´´0)および第2選択制御信号(Q´1、Q´´1)とが少なくとも供給されるマルチプレクサ(Mpx)とを有するクロック選択回路を内蔵する半導体集積回路の動作方法である。
【0075】
前記制御ユニット(Cnt)は、前記デコーダからの前記第1選択出力信号が一方の入力端子に供給される第1のゲート回路(AND0)と、前記デコーダからの前記第2選択出力信号が一方の入力端子に供給される第2のゲート回路(AND1)とを含む。
【0076】
前記制御ユニット(Cnt)は、前記第1のゲート回路(AND0)の出力端子と前記第2のゲート回路(AND1)の他方の入力端子との間に直列接続された第1と第2のD型フリップフロップ(D−FF0、D−FF2)と、前記第2のゲート回路(AND1)の出力端子と前記第1のゲート回路(AND0)の他方の入力端子との間に直列接続された第3と第4のD型フリップフロップ(D−FF1、D−FF3)とを含むものである。
【0077】
前記選択信号(SEL)を第1の状態(ローレベル“0”)に設定することによって、前記第1クロック信号(CKIN0)が前記マルチプレクサ(Mpx)の出力からクロック出力信号(CKOUT)として出力可能とされる。
【0078】
前記選択信号(SEL)を前記第1の状態(ローレベル“0”)と異なる第2の状態(ハイレベル“1”)に設定することによって、前記第2クロック信号(CKIN0)が前記マルチプレクサ(Mpx)の前記出力から前記クロック出力信号(CKOUT)として出力可能とされることを特徴とする(図6、図8、図10、図12、図15、図16、図18、図20参照)。
【0079】
前記実施の形態によれば、前記クロック選択回路に含まれた前記制御ユニット(Cnt)の第1と第2のD型フリップフロップ(D−FF0、D−FF2)および第3と第4のD型フリップフロップ(D−FF1、D−FF3)は上記非特許文献1に記載のツーステージシンクロナイザをそれぞれ構成するものである。従って、前記クロック選択回路の前記マルチプレクサ(Mpx)の最終出力端子からのクロック出力信号(CKOUT)でのメタステーブルの障害の発生確率を低減することができる(図7、図9、図11、図13、図17、図19参照)。
【0080】
2.実施の形態の詳細
次に、実施の形態について更に詳述する。尚、発明を実施するための最良の形態を説明するための全図において、前記の図と同一の機能を有する部品には同一の符号を付して、その繰り返しの説明は省略する。
【0081】
[実施の形態1]
《クロックセレクタ回路の構成》
図6は、本発明の実施の形態1の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【0082】
図6に示すクロック選択回路は、デコーダDECとしてのインバータINV0、制御ユニットCntの第1と第2のAND回路AND0、AND1と第1と第2のD型フリップフロップD−FF0、D−FF1と第3と第4のD型フリップフロップD−FF2、D−FF3、マルチプレクサMpxにより構成されている。
【0083】
図6に示すクロック選択回路は、図3に示すクロック選択回路と比較すると、第3と第4のD型フリップフロップD−FF2、D−FF3が追加されている。従って、図6に示したクロック選択回路では、第1のD型フリップフロップD−FF0と第3のD型フリップフロップD−FF2とがツーステージシンクロナイザを構成する一方、第2のD型フリップフロップD−FF1と第4のD型フリップフロップD−FF3とがツーステージシンクロナイザを構成している。
【0084】
選択信号SELはインバータINV0の入力端子と第2のAND回路AND1の一方の入力端子とに供給され、インバータINV0の出力信号は第1のAND回路AND0の一方の入力端子に供給される。第1のAND回路AND0の出力信号D0は第1のD型フリップフロップD−FF0のデータ入力端子に供給される一方、第2のAND回路AND1の出力信号D1は第2のD型フリップフロップD−FF1のデータ入力端子に供給される。第1のD型フリップフロップD−FF0の出力データQ0は第3のD型フリップフロップD−FF2のデータ入力端子に供給され、第2のD型フリップフロップD−FF1の出力データQ1は第4のD型フリップフロップD−FF3のデータ入力端子に供給される。第3のD型フリップフロップD−FF2の出力データQ´0は第2のAND回路AND1の他方の入力端子としての反転入力端子に供給される一方、第4のD型フリップフロップD−FF3の出力データQ´1は第1のAND回路AND0の他方の入力端子としての反転入力端子に供給される。
【0085】
マルチプレクサMpxは、第3と第4のAND回路AND2、AND3と、OR回路OR0によって構成されている。第3のAND回路AND2の一方の入力端子に第3のD型フリップフロップD−FF2の出力データQ´0が供給される一方、第4のAND回路AND3の一方の入力端子に第4のD型フリップフロップD−FF3の出力データQ´1が供給される。第1のD型フリップフロップD−FF0の立ち上がりエッジトリガ端子と第3のD型フリップフロップD−FF2の立ち上がりエッジトリガ端子と第3のAND回路AND2の他方の入力端子に第1のクロック信号CKIN0が供給される一方、第2のD型フリップフロップD−FF1の立ち上がりエッジトリガ端子と第4のD型フリップフロップD−FF3の立ち上がりエッジトリガ端子と第4のAND回路AND3の他方の入力端子に第2のクロック信号CKIN1が供給される。また、第3のAND回路AND2の第1のクロック出力信号CKG0と第4のAND回路AND3の第2のクロック出力信号CKG1はOR回路OR0の一方の入力端子と他方の入力端子にそれぞれ供給され、OR回路OR0の出力端子からはクロック出力信号CKOUTが生成される。
【0086】
図6の下に示すように、第1と第2のD型フリップフロップD−FF0、D−FF1、第3と第4のD型フリップフロップD−FF2、D−FF3は、マスター・スレーブ・ラッチによって構成される。マスター・スレーブ・ラッチのマスター・ラッチ(Master-Latch)とスレーブ・ラッチ(Slave-Latch)とは、それぞれスイッチSWとクロスカップル接続された第1と第2のインバータInv1、Inv2とによって構成される。尚、第2のインバータInv2は、非反転クロック信号CKIN0、CKIN1と反転クロック信号とによって駆動されるクロックドインバータによって構成される。例えば、第2のD型フリップフロップD−FF1では、第2のクロック信号CKIN1のローレベル“0”の間に、マスター・ラッチ(Master-Latch)では第2のAND回路AND1の出力信号D1がオン状態のスイッチSWを介して第1のインバータInv1の入力端子に伝達される。この間に、スレーブ・ラッチ(Slave-Latch)では、スイッチSWはオフ状態とされ、クロスカップル接続の第1と第2のインバータInv1、Inv2によってホールドされた出力データQ1が出力される。また、第2のD型フリップフロップD−FF1では、第2のクロック信号CKIN1のハイレベル“1”の間に、マスター・ラッチ(Master-Latch)では、スイッチSWはオフ状態とされ、クロスカップル接続の第1と第2のインバータInv1、Inv2によって第2のAND回路AND1の出力信号D1がホールドされる。この間に、マスター・ラッチ(Master-Latch)の第1のインバータInv1の出力信号は、スレーブ・ラッチ(Slave-Latch)に伝達されて、オン状態のスイッチSWを介して第1のインバータInv1の入力端子に伝達される。また更に、第1のD型フリップフロップD−FF0も、第1のクロック信号CKIN0に応答して第2のD型フリップフロップD−FF1と同様に動作する。その結果、第1と第2のD型フリップフロップD−FF0、D−FF1、第3と第4のD型フリップフロップD−FF2、D−FF3は、第1と第2のクロック信号CKIN0、CKIN1の立ち上がりエッジに応答して入力信号のレベルを出力データとして出力する。
【0087】
また図6に示すクロック選択回路では、選択信号SELがローレベル“0”の間には第1のクロック信号CKIN0が選択されマルチプレクサMpxのクロック出力信号CKOUTから出力され、選択信号SELがハイレベル“1”の間には第2のクロック信号CKIN1が選択されてマルチプレクサMpxのクロック出力信号CKOUTから出力される。
【0088】
《メタステーブルの解消》
図6に示すクロック選択回路で、非同期信号としての第1と第2のAND回路AND0、AND1の出力信号D0、D1は1段目の第1と第2のD型フリップフロップD−FF0、D−FF1にラッチされ、第1と第2のD型フリップフロップD−FF0、D−FF1は出力データQ0、Q1を出力する。1段目の第1と第2のD型フリップフロップD−FF0、D−FF1の出力データQ0、Q1は、更に2段目の第3と第4のD型フリップフロップD−FF2、D−FF3に第1と第2のクロック信号CKIN0、CKIN1の1周期後にラッチされる。従って、もし1段目の第1と第2のD型フリップフロップD−FF0、D−FF1においてセットアップ時間とホールド時間の違反が発生して、メタステーブル状態に陥ったと想定する。そうしても、メタステーブルがクロック1周期以内に解決してハイレベルまたはローレベルにレベルが確定すれば2段目の第3と第4のD型フリップフロップD−FF2、D−FF3は安定したデータをラッチすることができる。このようにして、図6に示すクロック選択回路では、複数の信号選択経路のそれぞれにツーステージシンクロナイザを使用することによって、クロック1周期以内に解決するメタステーブルを無害化できるので、クロック選択回路の選択出力でメタステーブルの障害の発生確率を低減でき、実用的に十分な動作信頼性を確保することができる。
【0089】
《クロック選択回路の各部の波形》
図7は、図6に示す本発明の実施の形態1によるクロック選択回路で第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際の各部の波形を説明する図である。
【0090】
また、図6に示すクロック選択回路では、上述したように第1と第2のD型フリップフロップD−FF0、D−FF1、第3と第4のD型フリップフロップD−FF2、D−FF3は、第1と第2のクロック信号CKIN0、CKIN1の立ち上がりエッジに応答して入力信号のレベルを出力データとして出力する。
【0091】
図7のタイミング401でも、第1のクロック信号CKIN0の立ち上がりエッジの遷移に非同期入力信号である第1のAND回路AND0の出力信号D0の立ち下がりの状態変化が余りにも近接しているので、第1のD型フリップフロップD−FF0のセットアップ時間とホールド時間との違反が発生するものである。従って、次のタイミング403で、第1のD型フリップフロップD−FF0のメタステーブルの障害が発生する。すなわち、第1のD型フリップフロップD−FF0の第1の出力データQ0は比較的長い時間の間にハイレベル“1”とローレベル“0”との間の中間レベルを維持するので、ハイレベル“1”またはローレベル“0”に回復するのにも比較的長い時間を必要としている。このメタステーブルの比較的長い時間は、第2のクロック信号CKIN1の略1周期に対応している。しかし、タイミング403でのメタステーブルの障害の終了の後には、第1のD型フリップフロップD−FF0の第1の出力データQ0はローレベル“0”またはハイレベル“1” に回復する。レベル回復後の第1の出力データQ0は第1のクロック信号CKIN0の立ち上がりエッジのタイミングにて第3のD型フリップフロップD−FF2にラッチされ、第3のD型フリップフロップD−FF2の出力データQ´0もこのタイミングにてローレベル“0”またはハイレベル“1” に確定する。
【0092】
この第3のD型フリップフロップD−FF2の出力データQ´0は第2のAND回路AND1の反転入力端子に供給されるので、第2のAND回路AND1の出力信号D1も第1のクロック信号CKIN0の立ち上がりエッジのタイミングにてローレベル“0”またはハイレベル“1” に確定する。第2のD型フリップフロップD−FF1は、第2のクロック信号CKIN1の立ち下がりエッジにて第2のAND回路AND1の出力信号D1のレベルを第2の出力データQ1として出力する。この時のタイミング402でも、第2のクロック信号CKIN1の立ち上がりエッジの遷移に非同期入力信号としての第2のAND回路AND1の出力信号D1の状態の変化が余りにも近接しているので、第2のD型フリップフロップD−FF1のセットアップ時間とホールド時間との違反が発生するものである。従って、次のタイミング404で、第2のD型フリップフロップD−FF1のメタステーブルの障害が発生する。すなわち、第2のD型フリップフロップD−FF1の第2の出力データQ1は比較的長い時間の間にハイレベル“1”とローレベル“0”との間の中間レベルを維持するので、ハイレベル“1”またはローレベル“0”に回復するのにも比較的長い時間を必要としている。このメタステーブルの比較的長い時間は、第2のクロック信号CKIN1の略1周期に対応している。しかし、タイミング404のメタステーブルの障害の終了後に、第2のD型フリップフロップD−FF1の第2の出力データQ1はハイレベル“1””またはローレベル“0に回復する。レベル回復後の第2の出力データQ1は第2のクロック信号CKIN1の立ち上がりエッジのタイミングにて第4のD型フリップフロップD−FF3にラッチされ、第4のD型フリップフロップD−FF3の出力データQ´1もこのタイミングにてハイレベル“1”またはローレベル“0”に確定する。
【0093】
このように、タイミング401、402でセットアップ時間とホールド時間との違反が発生して、タイミング403、404でメタステーブルの障害が発生するが、第1と第2のクロック信号CKIN0、CKIN1の1周期の間にメタステーブルが解決される。このように図6に示すクロック選択回路を使用することによって、クロック選択回路の最終選択出力端子としての出力クロック信号CKOUTでのメタステーブルの障害の発生確率を低減することができる。更に、マイクロコントローラ、システムLSI等の半導体集積回路に搭載されるクロック選択回路の動作信頼性を、向上することができる。
【0094】
しかし、図6に示すクロック選択回路は、第1と第2のD型フリップフロップD−FF0、D−FF1、第3と第4のD型フリップフロップD−FF2、D−FF3のツーステージシンクロナイザと、第3と第4のAND回路AND2、AND3と、OR回路OR0を含むマルチプレクサMpxとによって、比較的単純に構成されている。このように比較的単純な構成である図6に示すクロック選択回路では、ツーステージシンクロナイザの信号遅延によって種々の問題が発生する。第1の問題は、第3のD型フリップフロップD−FF2の出力データQ´0の立ち下がりの遅延により、マルチプレクサMpxの第3のAND回路AND2の第1のクロック出力信号CKG0とOR回路OR0のクロック出力信号CKOUTとにそれぞれ小さなパルス幅のグリッチ405が発生することである。第2の問題は、第4のD型フリップフロップD−FF2の出力データQ´1の立ち下がりの遅延TCQによって、マルチプレクサMpxの第4のAND回路AND3の第2のクロック出力信号CKG1とOR回路OR0のクロック出力信号CKOUTとの最初のパルスの立ち上がり部分406の波形が消失することである。
【0095】
[実施の形態2]
《他のクロックセレクタ回路の構成》
図8は、本発明の実施の形態2の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【0096】
図8に示すクロック選択回路は、図6に示すクロック選択回路のツーステージシンクロナイザの信号遅延によって発生した種々の問題を解消するものである。
【0097】
図8に示す本発明の実施の形態2によるクロック選択回路が図6に示すクロック選択回路と相違するのは、図6のクロック選択回路の制御ユニットCntに第1と第2のラッチFF0、FF1が追加されていることである。第1のラッチFF0のデータ入力端子と反転ゲート制御端子Gには第3のD型フリップフロップD−FF2の出力データQ´0と第1のクロック信号CKIN0がそれぞれ供給され、第1のラッチFF0の出力データQ´´0はマルチプレクサMpxの第3のAND回路AND2の一方の入力端子に供給される。第2のラッチFF1のデータ入力端子と反転ゲート制御端子Gに第4のD型フリップフロップD−FF3の出力データQ´1と第2のクロック信号CKIN1がそれぞれ供給され、第2のラッチFF1の出力データQ´´1はマルチプレクサMpxの第4のAND回路AND3の一方の入力端子に供給される。
【0098】
尚、図8に示すクロック選択回路に追加された第1と第2のラッチFF0、FF1は、例えば図6の下に示されたマスター・ラッチ(Master-Latch)のスイッチSWとクロスカップル接続された第1と第2のインバータInv1、Inv2と出力インバータとによって構成される。従って、図8に示すクロック選択回路に追加された第1と第2のラッチFF0、FF1は、反転ゲート制御端子Gにローレベルの第1と第2のクロック信号CKIN0、CKIN1が供給されている間に、データ入力端子の入力レベルをデータ出力に伝達する。それに対して、第1と第2のラッチFF0、FF1は、反転ゲート制御端子Gにハイレベルの第1と第2のクロック信号CKIN0、CKIN1が供給されている間に、データ入力端子の入力レベルがデータ出力に伝達されるのを禁止して、その時点でのデータ出力のレベルを保持する。それ以外の図8のクロック選択回路の構成は、図6のクロック選択回路の構成と同一である。
【0099】
《他のクロック選択回路の各部の波形》
図9は、図8に示す本発明の実施の形態2によるクロック選択回路で第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際の各部の波形を説明する図である。
【0100】
図9のタイミング401でも、第1のクロック信号CKIN0の立ち上がりエッジの遷移に非同期入力信号である第1のAND回路AND0の出力信号D0の立ち下がりの状態変化が余りにも近接しているので、第1のD型フリップフロップD−FF0のセットアップ時間とホールド時間との違反が発生する。従って、次のタイミング403でも、第1のD型フリップフロップD−FF0のメタステーブルの障害が発生する。しかし、タイミング403でのメタステーブルの障害の終了後に、第1のD型フリップフロップD−FF0の第1の出力データQ0はローレベル“0”またはハイレベル“1” に回復して、第3のD型フリップフロップD−FF2の出力データQ´0もこのタイミングにてローレベル“0”またはハイレベル“1” に確定する。すると、第1のラッチFF0は、ローレベルの第1のクロック信号CKIN0が供給されている間に、第3のD型フリップフロップD−FF2の出力データQ´0のレベルをそのデータ出力Q´´0に伝達する。従って、図9に示した図8のクロック選択回路による動作では、図7に示した図6のクロック選択回路による動作で発生していた小さなパルス幅のグリッチ405の発生を防止することができる。
【0101】
図9のタイミング402でも、第2のクロック信号CKIN1の立ち上がりエッジの遷移に非同期入力信号としての第2のAND回路AND1の出力信号D1の状態の変化が余りにも近接しているので、第2のD型フリップフロップD−FF1のセットアップ時間とホールド時間との違反が発生するものである。従って、次のタイミング404では、第2のD型フリップフロップD−FF1のメタステーブルの障害が発生する。しかし、タイミング404のメタステーブルの障害の終了後に、第2のD型フリップフロップD−FF1の第2の出力データQ1はハイレベル“1””またはローレベル“0に回復して、第4のD型フリップフロップD−FF3の出力データQ´1もこのタイミングでハイレベル“1”またはローレベル“0”に確定する。すると、第2のラッチFF1はローレベルの第2のクロック信号CKIN1が供給されている間に第4のD型フリップフロップD−FF3の出力データQ´1のレベルをそのデータ出力Q´´1に伝達する。従って、図9に示した図8のクロック選択回路による動作では、図7に示した図6のクロック選択回路による動作で発生していた第2のクロック出力信号CKG1とクロック出力信号CKOUTの最初のパルスの立ち上がり部分406の波形の消失を防止することができる。
【0102】
また図9に示す図8のクロック選択回路の動作より、第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際には、選択信号SELのレベル遷移の後、第1のクロック信号CKIN0の2回の立ち上がり遷移と第2のクロック信号CKIN1の3回の立ち上がり遷移とでクロック選択の切り換えを完了することができる。従って、図8に示したクロック選択回路によれば、クロック信号の選択の切り換えレイテンシを低減することができる。
【0103】
[実施の形態3]
《更に他のクロックセレクタ回路の構成》
図10は、本発明の実施の形態3の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【0104】
図10に示す本発明の実施の形態3によるクロック選択回路が図6に示すクロック選択回路と相違するのは、下記の点である。
【0105】
図6に示すクロック選択回路の制御ユニットCntでは、第1と第2のD型フリップフロップD−FF0、D−FF1、第3と第4のD型フリップフロップD−FF2、D−FF3はそれぞれ立ち上がりエッジトリガ端子を持っていた。従って、これらのD型フリップフロップは、第1と第2のクロック信号CKIN0、CKIN1の立ち上がりエッジに応答して入力信号のレベルを出力データとして出力するものであった。
【0106】
それに対して図10に示すクロック選択回路の制御ユニットCntでは、第1と第2のD型フリップフロップD−FF0、D−FF1、第3と第4のD型フリップフロップD−FF2、D−FF3は、図3の第1と第2のD型フリップフロップD−FF0、D−FF1と同様に、それぞれ立ち下がりエッジトリガ端子を持っている。従って、これらのD型フリップフロップは、第1と第2のクロック信号CKIN0、CKIN1の立ち下がりエッジに応答して入力信号のレベルを出力データとして出力するものである。
【0107】
《更に他のクロック選択回路の各部の波形》
図11は、図10に示す本発明の実施の形態3によるクロック選択回路で第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際の各部の波形を説明する図である。
【0108】
図11のタイミング401でも、第1のクロック信号CKIN0の立ち下がりエッジの遷移に非同期入力信号である第1のAND回路AND0の出力信号D0の立ち下がりの状態変化が余りにも近接しているので、第1のD型フリップフロップD−FF0のセットアップ時間とホールド時間との違反が発生する。従って、次のタイミング403でも、第1のD型フリップフロップD−FF0のメタステーブルの障害が発生する。しかし、タイミング403のメタステーブルの障害の終了後に、第1のD型フリップフロップD−FF0の第1の出力データQ0はローレベル“0”またはハイレベル“1” に回復して、第3のD型フリップフロップD−FF2の出力データQ´0もこのタイミングにてローレベル“0”またはハイレベル“1” に確定する。従って、図11に示した図10のクロック選択回路による動作でも、図7に示す図6のクロック選択回路による動作で発生していた小さなパルス幅のグリッチ405の発生を防止することができる。
【0109】
図11のタイミング402でも、第2のクロック信号CKIN1の立ち下がりエッジの遷移に非同期入力信号としての第2のAND回路AND1の出力信号D1の状態の変化が余りにも近接しているので、第2のD型フリップフロップD−FF1のセットアップ時間とホールド時間の違反が発生するものである。従って、次のタイミング404では、第2のD型フリップフロップD−FF1のメタステーブルの障害が発生する。しかし、タイミング404のメタステーブルの障害の終了後に、第2のD型フリップフロップD−FF1の第2の出力データQ1はハイレベル“1””またはローレベル“0に回復して、第4のD型フリップフロップD−FF3の出力データQ´1もこのタイミングでハイレベル“1”またはローレベル“0”に確定する。従って、図11に示した図10のクロック選択回路による動作では、図7に示した図6のクロック選択回路による動作で発生していた第2のクロック出力信号CKG1とクロック出力信号CKOUTの最初のパルスの立ち上がり部分406の波形の消失を防止することができる。
【0110】
また図11に示した図10のクロック選択回路の動作よって、第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際には、選択信号SELのレベル遷移の後に、第1のクロック信号CKIN0の2回の立ち下がり遷移と第2のクロック信号CKIN1の2回の立ち下がり遷移と第2のクロック信号CKIN1の次の立ち上がり遷移でクロック選択の切り換えを完了することができる。従って、図10に示したクロック選択回路によれば、クロック信号の選択の切り換えレイテンシを低減することができる。
【0111】
[実施の形態4]
《別のクロックセレクタ回路の構成》
図12は、本発明の実施の形態4の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【0112】
図12に示す本発明の実施の形態4によるクロック選択回路が図8に示すクロック選択回路と相違するのは、下記の点である。
【0113】
図8に示すクロック選択回路の制御ユニットCntに追加された第1と第2のラッチFF0、FF1の入力は、第3と第4のD型フリップフロップD−FF2、D−FF3の出力に、カスケード接続されていた。それに対して図12に示すクロック選択回路の制御ユニットCntに追加された第1と第2のラッチFF0、FF1の入力は、第3と第4のD型フリップフロップD−FF2、D−FF3の入力に並列接続されている。その結果、選択信号SELが供給されるインバータINV0の入力端子からマルチプレクサMPxの第3と第4のAND回路AND2、AND3の一方の入力端子までの接続段数は、図8に示すクロック選択回路と比較すると、図12に示すクロック選択回路では第3と第4のD型フリップフロップD−FF2、D−FF3の分、少なくなっている。
【0114】
また、クロック信号の排他選択のため第1と第2のAND回路AND0、AND1の出力D0、D1から他方の入力端子としての反転入力端子へのフィードバックループには、第1と第2のD型フリップフロップD−FF0、D−FF1と第3と第4のD型フリップフロップD−FF2、D−FF3のカスケード接続が配置されている。
【0115】
《別のクロック選択回路の各部の波形》
図13は、図12に示す本発明の実施の形態4によるクロック選択回路で第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際の各部の波形を説明する図である。
図13のタイミング401でも、第1のクロック信号CKIN0の立ち上がりエッジの遷移に非同期入力信号である第1のAND回路AND0の出力信号D0の立ち下がりの状態変化が余りにも近接しているので、第1のD型フリップフロップD−FF0のセットアップ時間とホールド時間との違反が発生している。従って、次のタイミング403で、第1のD型フリップフロップD−FF0のメタステーブルの障害が発生する。しかし、タイミング403のメタステーブルの障害の終了の後に、第1のD型フリップフロップD−FF0の第1の出力データQ0はローレベル“0”またはハイレベル“1” に回復する。このタイミングで、第1のラッチFF0の反転ゲート制御端子Gにはローレベルの第1のクロック信号CKIN0が供給されているので、第1のラッチFF0は入力のローレベル“0”またはハイレベル“1” に回復したデータQ0を出力に伝達するので、出力Q´0もローレベル“0”またはハイレベル“1” に確定する。また第3のD型フリップフロップD−FF2は、第1のクロック信号CKIN0の立ち上がりエッジのタイミングで第1のD型フリップフロップD−FF0の第1の出力データQ0をラッチするので、第3のD型フリップフロップD−FF2の出力データQ´´0もこのタイミングでローレベル“0”またはハイレベル“1” に確定する。
従って、第3のD型フリップフロップD−FF2の出力データQ´´0のローレベル“0”またはハイレベル“1” のレベル確定に応答して、第2のAND回路AND1の出力信号D1はハイレベル“1”またはローレベル“0” に確定する。しかし、タイミング402にて第2のクロック信号CKIN1の立ち上がりエッジの遷移に非同期入力信号である第2のAND回路AND1の出力信号D1の立ち下がりの状態変化が余りにも近接しているので、第2のD型フリップフロップD−FF1のセットアップ時間とホールド時間との違反が発生している。従って、次のタイミング404で、第2のD型フリップフロップD−FF1のメタステーブルの障害が発生して、その第2の出力データQ1はハイレベル“1”とローレベル“0”との間の中間レベルとなっている。このタイミングで、第2のラッチFF1の反転ゲート制御端子Gにはローレベルの第2のクロック信号CKIN1が供給されているので、第2のラッチFF1は入力の中間レベルのデータQ1を出力に伝達するので、出力Q´1も中間レベルのメタステーブル状態1001となる。しかし、このタイミング1002の間で、ローレベルの第2のクロック信号CKIN1がマルチプレクサMpxの第4のAND回路AND3の他方の入力端子に供給されているので、第4のAND回路AND3の第2のクロック出力信号CKG1はローレベルに確定する。
【0116】
また図13に示した図12のクロック選択回路の動作よって、第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際には、選択信号SELのレベル遷移の後に、第1のクロック信号CKIN0の1回の立ち上がり遷移と第2のクロック信号CKIN1の2回の立ち上がり遷移とでクロック選択の切り換えを完了することができる。従って、図12に示したクロック選択回路によれば、クロック信号の選択の切り換えレイテンシを著しく低減することができる。
【0117】
《AND回路の構成》
図14は、図12のクロック選択回路のマルチプレクサMpxの第4のAND回路AND3の構成を示す図である。
【0118】
図14に示す第4のAND回路AND3は、ソース・ドレイン電流経路が並列接続された2個のPチャンネルMOSトランジスタQp1、Qp2とソース・ドレイン電流経路が直列接続された2個のNチャンネルMOSトランジスタQn1、Qn2を含むNAND回路と、1個のPチャンネルMOSトランジスタQp3と1個のNチャンネルMOSトランジスタQn3を含むインバータとから構成されている。
【0119】
図14に示す第4のAND回路AND3では、ハイレベル“1”とローレベル“0”との間の中間レベルとなっている第2のラッチFF1の出力データQ1が、PチャンネルMOSトランジスタQp2のゲートとNチャンネルMOSトランジスタQn1のゲートに供給される。従って、PチャンネルMOSトランジスタQp2とNチャンネルMOSトランジスタQn1とが中間的な導通度となって、NAND回路の出力電位も中間レベルのメタステーブル状態となる可能性がある。その結果、1個のPチャンネルMOSトランジスタQp3と1個のNチャンネルMOSトランジスタQn3を含むインバータの入力電位も出力電位も、中間レベルのメタステーブル状態となる可能性がある。
【0120】
しかし、このタイミングでは、マルチプレクサMpxの第4のAND回路AND3の他方の入力端子としてのPチャンネルMOSトランジスタQp1のゲートとNチャンネルMOSトランジスタQn2のゲートに、ローレベルの第2のクロック信号CKIN1が供給されるものである。従って、PチャンネルMOSトランジスタQp1はオン状態となり、NチャンネルMOSトランジスタQn2はオフ状態となるので、NAND回路の出力電位はハイレベルの電源電圧Vddに確定される。その結果、インバータの出力端子の第2のクロック信号CKIN1のレベルはローレベルの接地電位Vssに確定される。このようにして、NAND回路の出力電位とインバータの入力電位および出力電位のメタステーブル状態が、ローレベルに設定された第2のクロック信号CKIN1によってマスクされることが可能となるものである。
【0121】
[実施の形態5]
《更に別のクロックセレクタ回路の構成》
図15は、本発明の実施の形態5の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【0122】
図15に示す本発明の実施の形態5は、第1と第2のクロック信号CKIN0、CKIN1が供給される図12に示す本発明の実施の形態4によるクロック選択回路を第1、第2、第3、第4、第5、第6のクロック信号CKIN0、CKIN1、CKIN2、CKIN3、CKIN4、CKIN5が供給されるものに拡張したものである。6個のクロック信号CKIN0〜CKIN5から1個のクロック信号を選択するため、3ビットのクロック選択信号SEL0、SEL1、SEL2がデコータDECの内部の6個のANDゲートG0、G1、G2、G3、G4、G5に供給されることによって、デコータDECから6個のクロック選択出力信号d0、d1、d2、d3、d4、d5が生成される。デコータDECで生成される6個のクロック選択出力信号d0、d1、d2、d3、d4、d5は、制御ユニットCntの6個のAND回路AND0、AND1、AND2、AND3、AND4、AND5に供給される。
【0123】
図15に示すクロック選択回路の制御ユニットCntでも、6個のラッチFF0、FF1、FF2、FF3、FF4、FF5の入力は、6個のD型フリップフロップD−FF6、D−FF7、D−FF8、D−FF9、D−FF10、D−FF11の入力に並列接続されている。その結果、選択信号SEL0、SEL1、SEL2が供給されるデコータDECの入力端子からマルチプレクサMPxの6個のAND回路AND6、AND7、AND8、AND9、AND10、AND11の一方の入力端子までの接続段数は、図12に示すクロック選択回路と同様に少なくなっている。
【0124】
また、クロック信号の排他選択のために、6個のAND回路AND0、AND1、AND2、AND3、AND4、AND5の出力D0、D1、D2、D3、D4、D15から他方の入力端子へのフィードバックループには、前段の6個のD型フリップフロップD−FF0〜D−FF5と後段の6個のD−FF6〜D−FF11のカスケード接続が配置されている。
【0125】
マルチプレクサMpxは、6個のAND6、AND7、AND8、AND9、AND10、AND11と、OR回路OR0によって構成されている。また、6個のAND6、AND7、AND8、AND9、AND10、AND11の一方の入力端子には6個のラッチFF0、FF1、FF2、FF3、FF4、FF5の出力データQ´0、Q´1、Q´2、Q´3、Q´4、Q´5が供給される一方、他方の入力端子には第1、第2、第3、第4、第5、第6のクロック信号CKIN0、CKIN1、CKIN2、CKIN3、CKIN4、CKIN5が供給される。6個のAND6、AND7、AND8、AND9、AND10、AND11のクロック出力信号CKG0、CKG1、CKG2、CKG3、CKG4、CKG05はOR回路OR0の多数の入力端子にそれぞれ供給され、OR回路OR0の出力端子からはクロック出力信号CKOUTが生成される。
【0126】
図15に示すクロック選択回路ではクロック信号CKIN0〜CKIN5の入力個数が6個と大幅に増大したにもかかわらず、図12に示すクロック選択回路と同様に、クロック信号の選択の切り換えレイテンシを著しく低減することができる。
【0127】
[実施の形態6]
《異なるクロックセレクタ回路の構成》
図16は、本発明の実施の形態6の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【0128】
図16に示す本発明の実施の形態6は、上述した種々の実施の形態よりも更にクロック信号の選択の切り換えレイテンシを低減するものである。
【0129】
図16に示す本発明の実施の形態6によるクロック選択回路が図12に示すクロック選択回路と相違するのは、図12のクロック選択回路の制御ユニットCntに対して第1と第2の遅延回路DELAY0、DELAY1が追加されていることである。
【0130】
図16に示すクロック選択回路では、第1の遅延回路DELAY0の入力端子に第1のクロック信号CKIN0が供給され、第1の遅延回路DELAY0の出力からの第1の遅延クロック信号CKIDN0は第1のラッチFF0の反転ゲート制御端子Gと第3のD型フリップフロップD−FF2の立ち上がりエッジトリガ端子とマルチプレクサMpxの第3のAND回路AND2の他方の入力端子とに供給される。また更に、第2の遅延回路DELAY1の入力端子に第2のクロック信号CKIN1が供給され、第2の遅延回路DELAY1の出力からの第2の遅延クロック信号CKIDN1は第2のラッチFF1の反転ゲート制御端子Gと第4のD型フリップフロップD−FF3の立ち上がりエッジトリガ端子とマルチプレクサMpxの第4のAND回路AND3の他方の入力端子とに供給される。
【0131】
《異なるクロック選択回路の各部の波形》
図17は、図16に示す本発明の実施の形態6によるクロック選択回路で第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際の各部の波形を説明する図である。
【0132】
図17に示すように、第1と第2の遅延回路DELAY0、DELAY1は、第1と第2のクロック信号CKIN0、CKIN1を所定の遅延時間Delayの分だけ遅延することによって第1と第2の遅延クロック信号CKIDN0、CKIDN1を生成する。尚、この所定の遅延時間Delayは、低い方の周波数の第1のクロック信号CKIN0のパルス幅の半分以下に設定されることにより、メタステーブル後の第1と第2のD型フリップフロップD−FF0、D−FF1の第1と第2の出力データQ0、Q1のレベル回復のタイミングに対応している。
【0133】
図17に示す波形図でも、タイミング401、402でセットアップ時間とホールド時間との違反が発生して、タイミング403、404でメタステーブルの障害が発生する。しかし、これらの障害の終了の後にローレベル“0”またはハイレベル“1”に回復する第1と第2のD型フリップフロップD−FF0、D−FF1の第1と第2の出力データQ0、Q1を、第1と第2の遅延クロック信号CKIDN0、CKIDN1の立ち上がりエッジのタイミングで第3と第4のD型フリップフロップD−FF2、D−FF3は早期にラッチすることができる。その結果、選択信号SELがローレベル“0”からハイレベル“1”に遷移した後に、第3と第4のD型フリップフロップD−FF2、D−FF3の出力データQ´´0、Q´´1は比較的早期にローレベル“0”またはハイレベル“1”に回復するものとなる。このようにして、図16に示したクロック選択回路を使用することによって、クロック信号の選択の切り換えレイテンシを大幅に低減することができる。
【0134】
[実施の形態7]
《更に異なるクロックセレクタ回路の構成》
図18は、本発明の実施の形態7の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【0135】
図16に示す本発明の実施の形態6によるクロック選択回路によれば、上述したようにクロック信号の選択の切り換えレイテンシを大幅に低減することができる。
【0136】
しかし、図17に示す波形図から理解されるように、クロック選択による最終的なクロック出力信号CKOUTの位相は、入力側の第1と第2のクロック信号CKIN0、CKIN1の位相よりも第1と第2の遅延回路DELAY0、DELAY1での所定の遅延時間Delayの分だけ遅延することになる。一方、マイクロコントローラやシステムLSI等の半導体集積回路の製品仕様から、クロック選択によるクロック出力信号の位相が入力側のクロック信号の位相よりも大きく遅延することが許されない場合がある。
【0137】
図18に示す本発明の実施の形態7の半導体集積回路に搭載されたクロック選択回路は、この問題を解決するものである。すなわち、図18に示したクロック選択回路の制御ユニットCntでは、第1と第2の遅延回路DELAY0、DELAY1は、第1と第2のD型フリップフロップD−FF0、D−FF1の立ち上がりエッジトリガ端子と第3と第4のD型フリップフロップD−FF2、D−FF3の立ち上がりエッジトリガ端子との間に接続されている。従って、図18に示すクロック選択回路では、第1と第2の遅延回路DELAY0、DELAY1は、マルチプレクサMpxの第3と第4のAND回路AND2、AND3の一方の入力端子の信号伝達経路に配置されないものとなる。
【0138】
《更に異なるクロック選択回路の各部の波形》
図19は、図18に示す本発明の実施の形態7によるクロック選択回路で第1のクロック信号CKIN0の選択状態から第2のクロック信号CKIN1の選択状態に切り換わる際の各部の波形を説明する図である。
【0139】
図19の波形図から図18のクロック選択回路では図16のクロック選択回路と比較してクロック信号の選択の切り換えレイテンシが若干増加するが、クロック選択による最終的なクロック出力信号CKOUTの位相は入力側の第1と第2のクロック信号CKIN0、CKIN1の位相と略等しいことが理解される。
【0140】
[実施の形態8]
《具体的なクロックセレクタ回路の構成》
図20は、本発明の実施の形態8の半導体集積回路に搭載されたクロック選択回路の構成を示す図である。
【0141】
図20に示す本発明の実施の形態8によるクロック選択回路は、図15の本発明の実施の形態5と図18の本発明の実施の形態7との組み合わせの構成とされている。
【0142】
図20に示す本発明の実施の形態8によるクロック選択回路では、第1のクロック信号CKIN0、第2のクロック信号CKIN1、第3のクロック信号CKIN2、第4のクロック信号CKIN3、第5のクロック信号CKIN4、第6のクロック信号CKIN5の順序でクロック周波数が増加している。
【0143】
図20のクロック選択回路では、第1の遅延回路DELAY0は最低速の第1のクロック信号CKIN0に応答するD型フリップフロップD−FF0の立ち上がりエッジトリガ端子とD型フリップフロップD−FF6の立ち上がりエッジトリガ端子との間に接続され、第2の遅延回路DELAY1は2番目に低速の第2のクロック信号CKIN1に応答するD型フリップフロップD−FF1の立ち上がりエッジトリガ端子とD型フリップフロップD−FF7の立ち上がりエッジトリガ端子との間に接続されている。
【0144】
従って、図20のクロック選択回路では、最低速の第1のクロック信号CKIN0と2番目に低速の第2のクロック信号CKIN1のための第1と第2の遅延回路DELAY0、DELAY1の遅延時間は、メタステーブルの後のD型フリップフロップD−FF0、D−FF1の第1と第2の出力データQ0、Q1のレベル回復のタイミングに対応している。更に、図20のクロック選択回路では、第3から第6のクロック信号CKIN2〜CKIN5のために図12に示した本発明の実施の形態4によるクロック選択回路と同様に著しく低減された切り換えレイテンシでのクロック信号の選択が可能となるものである。
【0145】
[実施の形態9]
《半導体集積回路の構成》
図21は、本発明の実施の形態9の半導体集積回路の構成を示す図である。
【0146】
図21に示した本発明の実施の形態9による半導体集積回路は、マイクロコントローラあるいはシステムLSIの半導体チップ10を具備する。半導体チップ10には、フェーズロックドループ(PLL)1、高周波発振器(HOCO)2、低周波発振器(LOCO)3、リアルタイムクロック発振器(RTC)4、分周器(Div)5、クロック選択回路(CLK_SEL)6、クロック発生器(CPG)7、クロックバッファ(CPB)8、制御レジスタ(Reg)9が含まれている。
【0147】
フェーズロックドループ1の電圧制御発振器は半導体チップ10の外部の水晶発振子XTALにより生成した基準周波数信号からクロック信号を生成して、クロック選択回路6の第1の入力端子に供給する。また、高周波発振器2から生成される高周波クロック信号と低周波発振器3から生成される低周波クロック信号とリアルタイムクロック発振器4から周波数32kHzのリアルタイムクロック信号と水晶発振子XTALにより生成した基準周波数信号を分周器5で分周して生成した周波数32kHzの他のリアルタイムクロック信号と半導体チップ10の外部で生成される外部クロック信号EXTCKが、クロック選択回路6の第2の入力端子と第3の入力端子と第4の入力端子と第5の入力端子と第6の入力端子とにそれぞれ供給される。
【0148】
制御レジスタ9の出力の3ビットの選択信号SEL<2:0>によってクロック選択回路6の第1の入力端子から第6の入力端子までのクロック入力信号から1つのクロック入力信号が選択されて、クロック選択回路6の出力端子に伝達される。クロック選択回路6の出力端子に伝達された選択クロック信号はクロック発生器7の第1と第2と第3の分周器70、71、72の入力端子に共通に供給され、第1の分周器70の出力端子からCPU(中央処理ユニット)等に使用されるシステムクロック信号SYSCKが生成され、第2の分周器71の出力端子から外部バスに供給されるバスクロック信号BUSCKが生成され、第3の分周器72の出力端子からは周辺IPの動作クロックに使用される周辺クロック信号PERICKが生成される。周辺クロック信号PERICKは、クロックバッファ8の内部の複数のバッファ増幅器80〜85によって増幅された後に複数の周辺IPに分配されるものである。
【0149】
制御レジスタ9の出力の3ビットの選択信号SEL<2:0>に応答して第1の入力端子から第6の入力端子までのクロック入力信号から1つのクロック入力信号を選択するクロック選択回路(CLK_SEL)6に、上述した本発明の実施の形態1から実施の形態8までのいずれかのクロック選択回路が採用されるものである。
【0150】
以上本発明者によってなされた発明を種々の実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0151】
例えば、本発明の半導体集積回路は、マイクロコントローラあるいはシステムLSIに限定されるものではなく、複数のクロック入力信号から1つのクロック入力信号を選択するクロック選択回路を具備する汎用半導体集積回路としても広く採用することが可能である。
【0152】
また本発明によれば、複数のクロック信号を選択する際に、多種のクロックの仕様に対応することが可能で、グリッチ防止とメタステーブル障害確率低減とに対応することができる。その結果、より現実的な動作信頼性を確保することが可能となる。
【符号の説明】
【0153】
DEC…デコーダ
Cnt…制御ユニット
Mpx…マルチプレクサ
SEL…選択信号
INV0…インバータ
AND0、AND1…AND回路
D−FF0、1、2、3…D型フリップフロップ
AND2、AND3…AND回路
OR0…OR回路
CKIN0、1…クロック信号
CKG0、1…クロック出力信号
CKOUT…クロック出力信号
FF0、1…ラッチ

【特許請求の範囲】
【請求項1】
選択信号が供給されるデコーダと、第1クロック信号および第2クロック信号と前記デコーダからの第1選択出力信号および第2選択出力信号が少なくとも供給される制御ユニットと、前記第1クロック信号および前記第2クロック信号と前記制御ユニットからの第1選択制御信号および第2選択制御信号とが少なくとも供給されるマルチプレクサとを有するクロック選択回路を内蔵する半導体集積回路であって、
前記制御ユニットは、前記デコーダからの前記第1選択出力信号が一方の入力端子に供給される第1のゲート回路と、前記デコーダからの前記第2選択出力信号が一方の入力端子に供給される第2のゲート回路とを含み、
前記制御ユニットは、前記第1のゲート回路の出力端子と前記第2のゲート回路の他方の入力端子との間に直列接続された第1と第2のD型フリップフロップと、前記第2のゲート回路の出力端子と前記第1のゲート回路の他方の入力端子との間に直列接続された第3と第4のD型フリップフロップとを含むことを特徴とする半導体集積回路。
【請求項2】
前記直列接続の前記第1と前記第2のD型フリップフロップを介して前記第2のゲート回路の前記他方の入力端子に前記第1のゲート回路の前記出力端子の非選択レベルの信号が供給されることによって、前記第2クロック信号が前記制御ユニットの前記第2のゲート回路と前記マルチプレクサとを介してクロック出力信号として出力可能とされるものであり、
前記直列接続の前記第3と前記第4のD型フリップフロップを介して前記第1のゲート回路の前記他方の入力端子に前記第2のゲート回路の前記出力端子の非選択レベルの信号が供給されることによって、前記第1クロック信号が前記制御ユニットの前記第1のゲート回路と前記マルチプレクサとを介して前記クロック出力信号として出力可能とされるものである請求項1に記載の半導体集積回路。
【請求項3】
前記直列接続の前記第1と前記第2のD型フリップフロップの後段側の前記第2のD型フリップフロップの出力データが、前記第1選択制御信号として前記マルチプレクサに伝達されるとともに前記第2のゲート回路の前記他方の入力端子に伝達され、
前記直列接続の前記第3と前記第4のD型フリップフロップの後段側の前記第4のD型フリップフロップの出力データが、前記第2選択制御信号として前記マルチプレクサに伝達されるとともに前記第1のゲート回路の前記他方の入力端子に伝達される請求項2に記載の半導体集積回路。
【請求項4】
前記制御ユニットは、第1と第2のラッチを更に具備して、
前記第1のラッチのデータ入力端子と前記第2のD型フリップフロップのデータ入力端子とには前記直列接続の前記第1と前記第2のD型フリップフロップの前段側の前記第1のD型フリップフロップの出力データが並列に供給され、前記第1のラッチの出力データが前記第1選択制御信号として前記マルチプレクサに伝達され、
前記第2のラッチのデータ入力端子と前記第4のD型フリップフロップのデータ入力端子とには前記直列接続の前記第3と前記第4のD型フリップフロップの前段側の前記第3のD型フリップフロップの出力データが並列に供給され、前記第2のラッチの出力データが前記第2選択制御信号として前記マルチプレクサに伝達される請求項2に記載の半導体集積回路。
【請求項5】
前記第1のラッチのゲート制御端子と前記直列接続の前記第1と前記第2のD型フリップフロップの両エッジトリガ端子とは、前記第1クロック信号に応答して、
前記第2のラッチのゲート制御端子と前記直列接続の前記第3と前記第4のD型フリップフロップの両エッジトリガ端子とは、前記第2クロック信号に応答する請求項4に記載の半導体集積回路。
【請求項6】
前記制御ユニットは、第1と第2の遅延回路を更に具備して、
前記第1の遅延回路の入力端子は前記前段側の前記第1のD型フリップフロップの前記エッジトリガ端子に接続され、前記第1の遅延回路の出力端子は前記後段側の前記第2のD型フリップフロップの前記エッジトリガ端子に接続されており、
前記第2の遅延回路の入力端子は前記前段側の前記第3のD型フリップフロップの前記エッジトリガ端子に接続され、前記第2の遅延回路の出力端子は前記後段側の前記第4のD型フリップフロップの前記エッジトリガ端子に接続されている請求項5に記載の半導体集積回路。
【請求項7】
前記第1のラッチの前記ゲート制御端子は、前記第1の遅延回路の前記入力端子と前記出力端子とのいずれかの端子に接続されており、
前記第2のラッチの前記ゲート制御端子は、前記第2の遅延回路の前記入力端子と前記出力端子とのいずれかの端子に接続されている請求項6に記載の半導体集積回路。
【請求項8】
前記マルチプレクサは、第3と第4と第5のゲート回路を具備して、
前記第3のゲート回路の一方の入力端子と他方の入力端子とは、前記制御ユニットからの前記第1選択制御信号と前記第1クロック信号とにそれぞれ応答して、
前記第4のゲート回路の一方の入力端子と他方の入力端子とは、前記制御ユニットからの前記第2選択制御信号と前記第2クロック信号とにそれぞれ応答して、
前記第5のゲート回路に前記第3のゲート回路から生成される第1のクロック出力信号と前記第4のゲート回路から生成される第2のクロック出力信号とが供給されることによって、前記第5のゲート回路は前記マルチプレクサの最終出力としてのクロック出力信号を生成する請求項7に記載の半導体集積回路。
【請求項9】
前記第1クロック信号を生成する第1クロック信号源と、前記第2クロック信号を生成する第2クロック信号源とを更に具備する。
前記第1クロック信号源から生成される前記第1クロック信号と前記第2クロック信号源から生成される前記第2クロック信号とのいずれかが、前記選択信号に応答して、前記クロック選択回路によって前記マルチプレクサの前記最終出力として生成されるものである請求項8に記載の半導体集積回路。
【請求項10】
選択信号が供給されるデコーダと、第1クロック信号および第2クロック信号と前記デコーダからの第1選択出力信号および第2選択出力信号が少なくとも供給される制御ユニットと、前記第1クロック信号および前記第2クロック信号と前記制御ユニットからの第1選択制御信号および第2選択制御信号とが少なくとも供給されるマルチプレクサとを有するクロック選択回路を内蔵する半導体集積回路の動作方法であって、
前記制御ユニットは、前記デコーダからの前記第1選択出力信号が一方の入力端子に供給される第1のゲート回路と、前記デコーダからの前記第2選択出力信号が一方の入力端子に供給される第2のゲート回路とを含み、
前記制御ユニットは、前記第1のゲート回路の出力端子と前記第2のゲート回路の他方の入力端子との間に直列接続された第1と第2のD型フリップフロップと、前記第2のゲート回路の出力端子と前記第1のゲート回路の他方の入力端子との間に直列接続された第3と第4のD型フリップフロップとを含み、
前記選択信号を第1の状態に設定することによって、前記第1クロック信号が前記マルチプレクサの出力からクロック出力信号として出力可能とされ、
前記選択信号を前記第1の状態と異なる第2の状態に設定することによって、前記第2クロック信号が前記マルチプレクサの前記出力から前記クロック出力信号として出力可能とされることを特徴とする半導体集積回路の動作方法。
【請求項11】
前記直列接続の前記第1と前記第2のD型フリップフロップを介して前記第2のゲート回路の前記他方の入力端子に前記第1のゲート回路の前記出力端子の非選択レベルの信号が供給されることによって、前記第2クロック信号が前記制御ユニットの前記第2のゲート回路と前記マルチプレクサとを介してクロック出力信号として出力可能とされるものであり、
前記直列接続の前記第3と前記第4のD型フリップフロップを介して前記第1のゲート回路の前記他方の入力端子に前記第2のゲート回路の前記出力端子の非選択レベルの信号が供給されることによって、前記第1クロック信号が前記制御ユニットの前記第1のゲート回路と前記マルチプレクサとを介して前記クロック出力信号として出力可能とされるものである請求項10に記載の半導体集積回路の動作方法。
【請求項12】
前記直列接続の前記第1と前記第2のD型フリップフロップの後段側の前記第2のD型フリップフロップの出力データが、前記第1選択制御信号として前記マルチプレクサに伝達されるとともに前記第2のゲート回路の前記他方の入力端子に伝達され、
前記直列接続の前記第3と前記第4のD型フリップフロップの後段側の前記第4のD型フリップフロップの出力データが、前記第2選択制御信号として前記マルチプレクサに伝達されるとともに前記第1のゲート回路の前記他方の入力端子に伝達される請求項11に記載の半導体集積回路の動作方法。
【請求項13】
前記制御ユニットは、第1と第2のラッチを更に具備して、
前記第1のラッチのデータ入力端子と前記第2のD型フリップフロップのデータ入力端子とには前記直列接続の前記第1と前記第2のD型フリップフロップの前段側の前記第1のD型フリップフロップの出力データが並列に供給され、前記第1のラッチの出力データが前記第1選択制御信号として前記マルチプレクサに伝達され、
前記第2のラッチのデータ入力端子と前記第4のD型フリップフロップのデータ入力端子とには前記直列接続の前記第3と前記第4のD型フリップフロップの前段側の前記第3のD型フリップフロップの出力データが並列に供給され、前記第2のラッチの出力データが前記第2選択制御信号として前記マルチプレクサに伝達される請求項11に記載の半導体集積回路の動作方法。
【請求項14】
前記第1のラッチのゲート制御端子と前記直列接続の前記第1と前記第2のD型フリップフロップの両エッジトリガ端子とは、前記第1クロック信号に応答して、
前記第2のラッチのゲート制御端子と前記直列接続の前記第3と前記第4のD型フリップフロップの両エッジトリガ端子とは、前記第2クロック信号に応答する請求項13に記載の半導体集積回路の動作方法。
【請求項15】
前記制御ユニットは、第1と第2の遅延回路を更に具備して、
前記第1の遅延回路の入力端子は前記前段側の前記第1のD型フリップフロップの前記エッジトリガ端子に接続され、前記第1の遅延回路の出力端子は前記後段側の前記第2のD型フリップフロップの前記エッジトリガ端子に接続されており、
前記第2の遅延回路の入力端子は前記前段側の前記第3のD型フリップフロップの前記エッジトリガ端子に接続され、前記第2の遅延回路の出力端子は前記後段側の前記第4のD型フリップフロップの前記エッジトリガ端子に接続されている請求項14に記載の半導体集積回路の動作方法。
【請求項16】
前記第1のラッチの前記ゲート制御端子は、前記第1の遅延回路の前記入力端子と前記出力端子とのいずれかの端子に接続されており、
前記第2のラッチの前記ゲート制御端子は、前記第2の遅延回路の前記入力端子と前記出力端子とのいずれかの端子に接続されている請求項15に記載の半導体集積回路の動作方法。
【請求項17】
前記マルチプレクサは、第3と第4と第5のゲート回路を具備して、
前記第3のゲート回路の一方の入力端子と他方の入力端子とは、前記制御ユニットからの前記第1選択制御信号と前記第1クロック信号とにそれぞれ応答して、
前記第4のゲート回路の一方の入力端子と他方の入力端子とは、前記制御ユニットからの前記第2選択制御信号と前記第2クロック信号とにそれぞれ応答して、
前記第5のゲート回路に前記第3のゲート回路から生成される第1のクロック出力信号と前記第4のゲート回路から生成される第2のクロック出力信号とが供給されることによって、前記第5のゲート回路は前記マルチプレクサの最終出力としてのクロック出力信号を生成する請求項16に記載の半導体集積回路の動作方法。
【請求項18】
前記第1クロック信号を生成する第1クロック信号源と、前記第2クロック信号を生成する第2クロック信号源とを更に具備して、
前記第1クロック信号源から生成される前記第1クロック信号と前記第2クロック信号源から生成される前記第2クロック信号とのいずれかが、前記選択信号に応答して、前記クロック選択回路によって前記マルチプレクサの前記最終出力として生成されるものである請求項17に記載の半導体集積回路の動作方法。

【図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

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2010−252012(P2010−252012A)
【公開日】平成22年11月4日(2010.11.4)
【国際特許分類】
【出願番号】特願2009−98744(P2009−98744)
【出願日】平成21年4月15日(2009.4.15)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】