JP3778292B2 - クロック切り替え回路 - Google Patents

クロック切り替え回路 Download PDF

Info

Publication number
JP3778292B2
JP3778292B2 JP2004204412A JP2004204412A JP3778292B2 JP 3778292 B2 JP3778292 B2 JP 3778292B2 JP 2004204412 A JP2004204412 A JP 2004204412A JP 2004204412 A JP2004204412 A JP 2004204412A JP 3778292 B2 JP3778292 B2 JP 3778292B2
Authority
JP
Japan
Prior art keywords
clock
signal
switching
circuit
selector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004204412A
Other languages
English (en)
Other versions
JP2006033032A (ja
Inventor
利彦 森垣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004204412A priority Critical patent/JP3778292B2/ja
Priority to US11/178,199 priority patent/US7334152B2/en
Publication of JP2006033032A publication Critical patent/JP2006033032A/ja
Application granted granted Critical
Publication of JP3778292B2 publication Critical patent/JP3778292B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0079Receiver details
    • H04L7/0083Receiver details taking measures against momentary loss of synchronisation, e.g. inhibiting the synchronisation, using idle words or using redundant clocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electronic Switches (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

本発明は、クロック切り替え回路に関する。
例えば複数のクロックを受け、切り替え信号に基づいて複数のクロックのうちの1つを出力するセレクタでは、一方のクロックから他方のクロックに切り替える際にハザードと称されるパルス幅の狭いクロックパルスが生じる場合がある。このハザードは、例えば一方のクロックのレベルがハイレベルであって、他方のクロックのレベルがローレベルである時に、切り替え信号がアクティブに設定されクロック切り替えが行われた場合に生じる可能性がある。これは、セレクタ内での切り替え信号の遅延に起因する。このハザードは他の回路の誤動作等を引き起こす可能性があるため、ハザードを生じさせないために一方のクロック及び他方のクロックの双方がハイレベルまたはローレベルである期間でクロック切り替えを行う必要があり、従来のクロック切り替え回路は短い時間でクロック切り替えを行うことができなかった。
また、他の手法によってハザードの発生を防止するクロック切り替え回路が考案されている(特許文献1)。特許文献1に記載されているクロック切り替え回路は、クロック切り替え時にまず一方のクロック出力を停止し、所定の時間が経過した後に他方のクロックを出力するような構成である。
特許文献1を含む従来のクロック切り替え回路は、ハザードの発生を防止することができるが、クロック切り替えに要する時間が長くなってしまうという課題を有する。
特開平8−107406号公報
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、ハザードを生じることなく早いタイミングでのクロック切り替えが可能なクロック切り替え回路を提供することにある。
本発明は、第1のクロックと、前記第1のクロックとは周波数が異なる第2のクロックと、前記第1のクロックと前記第2のクロックを切り替えるためのクロック切り替え実行信号とを受け、前記第2のクロックが第1のレベルである期間にクロック切り替え実行信号がアクティブになった場合に、前記第1のクロックの立ち上がりエッジまたは立ち下がりエッジを含む前後の所与の期間、前記第2のクロックのレベルを第2のレベルに固定してクロック切り替え用合成クロックとして出力する合成クロック生成回路と、前記クロック切り替え用合成クロックと、前記クロック切り替え実行信号とを受け、クロックの切り替え指示信号を出力する切り替え指示信号生成回路と、前記切り替え指示信号がアクティブになった場合に、第1のクロック選択信号のレベルを変化させるクロック選択信号生成回路と、前記クロック選択信号生成回路からの前記第1のクロック選択信号のレベルに応じて、前記第1のクロックまたは前記クロック切り替え用合成クロックのいずれかを選択して出力する第1のセレクタを含むクロック切り替え回路に関する。
本発明によれば、クロック切り替えを行う際、前記第1のクロックの立ち上がりエッジまたは立ち下がりエッジを含む前後の所与の期間、前記第2のクロックのレベルを第2のレベルに固定することができるので、ハザードを生じさせることなく短い期間でクロック切り替えを完了することができる。
また、本発明では、前記第1のクロックの立ち上がりエッジまたは立ち下がりエッジを含む前後の所与の期間は、前記第1のクロックの立ち上がりエッジまたは立ち下がりエッジの前の1クロック期間と、前記第1のクロックの立ち上がりエッジまたは立ち下がりエッジの後ろの1クロック期間で構成されてもよい。
本発明によれば、第1のクロックの少なくとも2クロックの期間でハザードを生じさせることなくクロック切り替えを完了することができる。
また、本発明では、前記合成クロック生成回路は、前記切り替え実行信号と前記第2のクロックが入力される第1のOR回路と、前記第1のOR回路の出力を前記第1のクロックに基づいて保持し、保持された信号を出力することで、前記クロック切り替え用合成クロックを前記切り替え指示信号生成回路及び前記第1のセレクタに出力する合成クロック用フリップフロップと、を含み、前記第1のレベルはローレベルであり、前記第2のレベルはハイレベルであり、前記第1のOR回路は、前記第2のクロックがローレベルである期間であっても、前記クロック切り替え実行信号がアクティブに設定された場合はハイレベルの信号を前記合成クロック用フリップフロップに出力するようにしてもよい。
本発明によれば、切り替え実行信号がアクティブに設定されると、合成クロック生成回路は、合成クロック生成回路の出力を前記所定の期間、ハイレベルに固定することができるので、第2のクロックがローレベルである期間であってもクロック切り替えを行うことができる。即ち、第2のクロックがローレベルである期間であっても、第2のクロックのレベルがハイレベルになるまで待機する必要なしに、短い期間でクロック切り替えを完了することができる。
また、本発明では、前記切り替え指示信号生成回路は、前記切り替え実行信号と前記合成クロック生成回路の出力が入力される第1のAND回路を含み、前記第1のAND回路は、前記切り替え実行信号がアクティブであり、且つ、前記合成クロック生成回路の前記合成クロックがハイレベルである場合に、前記切り替え指示信号をアクティブに設定するようにしてもよい。
本発明によれば、クロック切り替え用合成クロックのレベルがハイレベルである期間にクロック切り替え指示信号をアクティブに設定することができるので、クロック切り替え
の際にハザードの発生を防止できる。
また、本発明では、前記合成クロック生成回路は、前記切り替え実行信号と前記第2のクロックが入力される第2のAND回路と、前記第2のAND回路の出力を前記第1のクロックに基づいて保持し、保持された信号を出力することで、前記クロック切り替え用合成クロックを前記切り替え指示信号生成回路及び前記第1のセレクタに出力する合成クロック用フリップフロップと、を含み、前記第1のレベルはハイレベルであり、前記第2のレベルはローレベルであり、前記第2のAND回路は、前記第2のクロックがハイレベルである期間であっても、前記クロック切り替え実行信号がアクティブに設定された場合はローレベルの信号を前記合成クロック用フリップフロップに出力するようにしてもよい。
本発明によれば、切り替え実行信号がアクティブに設定されると、合成クロック生成回路は、合成クロック生成回路の出力を前記所定の期間、ローレベルに固定することができるので、第2のクロックがハイレベルである期間であってもクロック切り替えを行うことができる。即ち、第2のクロックがハイレベルである期間であっても、第2のクロックのレベルがローレベルになるまで待機する必要なしに、短い期間でクロック切り替えを完了することができる。
また、本発明では、前記切り替え指示信号生成回路は、前記切り替え実行信号と前記合成クロック生成回路の出力が入力される第2のOR回路を含み、前記第2のOR回路は、前記切り替え実行信号がアクティブであり、且つ、前記合成クロック生成回路の前記合成クロックがローレベルである場合に、前記切り替え指示信号をアクティブに設定するようにしてもよい。
本発明によれば、クロック切り替え用合成クロックのレベルがローレベルである期間にクロック切り替え指示信号をアクティブに設定することができるので、クロック切り替え
の際にハザードの発生を防止できる。
また、本発明では、前記クロック選択信号生成回路は、選択信号用セレクタと、前記選択信号用セレクタの出力信号を前記第1のクロックに基づいて保持し、保持された信号を前記選択信号用セレクタ及び前記第1のセレクタに前記第1のクロック選択信号として出力する選択信号用フリップフロップとを含み、前記選択信号用セレクタは、前記選択信号用フリップフロップからの前記第1のクロック選択信号と、クロック切り替え時に前記第1のセレクタに選択されるクロックを決定するための第2のクロック選択信号とを受け、前記切り替え指示信号生成回路からの前記切り替え指示信号に基づいて、前記第1のクロック選択信号または前記第2のクロック選択信号のいずれかを前記選択信号用フリップフロップに出力するようにしてもよい。
本発明によれば、第1のクロック及びクロック切り替え用合成クロックのレベルが双方ともローレベルまたはハイレベルである期間にクロック切り替えを行うことができるので、ハザードの発生を確実に防止でき、短い期間でクロック切り替えを完了することができる。
また、本発明では、前記選択信号用セレクタは、前記切り替え指示信号生成回路の前記切り替え指示信号がアクティブに設定されると、前記第2のクロック選択信号を前記選択信号用フリップフロップに出力するようにしてもよい。
また、本発明では、複数のクロックを受け、前記複数のクロックのうちの任意のクロックを選択して、前記第2のクロックとして前記合成クロック生成回路に出力する第2のセレクタをさらに含むようにしてもよい。
以下、本発明の一実施形態について、図面を参照して説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。
1.第1実施形態に係るクロック切り替え回路
図1は、第1実施形態に係るクロック切り替え回路1000を示すブロック図である。クロック切り替え回路1000は、第1のクロック選択信号CSS1を出力するクロック選択信号生成回路100と、クロック切り替え実行信号CES及び合成クロックCMPに基づいて切り替え指示信号CDSを出力する切り替え指示信号生成回路200とを含む。また、クロック切り替え回路1000は、第1のクロック(基準クロックとも言う)CLK1、第2のクロックCLK2及びクロック切り替え実行信号CESに基づいて合成クロックCMP(広義にはクロック切り替え用合成クロック)を出力する合成クロック生成回路300を含む。
また、クロック切り替え回路1000は、出力クロックCLK3を出力する第1のセレクタ400と、第3のクロック選択信号CSS3に基づいて第2のクロックCLK2を出力する第2のセレクタ500とを含む。また、クロック切り替え回路1000は、第1のクロックCLK1に基づいて複数の分周クロックを出力する分周回路600を含む。
クロック切り替え回路1000は上記の構成に限定されず、クロック切り替え回路1000は、例えば第2のセレクタ500や分周回路600を含まない構成でもよい。
クロック選択信号生成回路100は、切り替え指示信号生成回路200から出力される切り替え指示信号CDS、第1のクロックCLK1(広義には第1のクロック)及び第2のクロック選択信号CSS2に基づいて、第1のセレクタ400に第1のクロック選択信号CSS1を出力する。なお、第2のクロック選択信号CSS2は、クロック切り替え時に第1のセレクタ400から出力クロックCLK3として出力されるクロックを、合成クロックCMPまたは第1のクロックCLK1のいずれかに決定するための信号である。例えば、第2のクロック選択信号CSS2がハイレベルに設定されている場合には、クロック選択信号生成回路100は、第1のセレクタ400が合成クロックCMPを出力クロックCLK3として出力するように、第1のクロック選択信号CSS1のレベルを例えばハイレベルに設定する。即ち、図1のクロック切り替え回路1000では、第2のクロック選択信号CSS2がハイレベルに設定されると、第1のクロック選択信号CSS1がハイレベルに設定され、結果として合成クロックCMPが第1のセレクタ400から出力される。但し、上記の構成は一例であって、クロック切り替え回路1000は、第2のクロック選択信号CSS2がハイレベルに設定された場合に第1のセレクタ400から第1のクロックCLK1が出力されるような構成でもよい。また、クロック切り替え回路1000は、第1のクロック選択信号CSS1がハイレベルに設定された場合、第1のセレクタ400から第1のクロックCLK1が出力されるような構成でもよい。
合成クロック生成回路300は、第2のクロックCLK2を受け、クロック切り替え実行信号CESがアクティブに設定されると、例えば第1のクロックCLK1の立ち上がりエッジに応じて合成クロックCMPを例えばハイレベルに設定する。合成クロック生成回路300は、クロック切り替え実行信号CESがアクティブに設定されている期間に基づいて、合成クロックCMPのレベルの例えばハイレベルである期間を設定する。
クロック切り替え実行信号CESがノンアクティブに設定されている場合には、合成クロック生成回路300は、第2のクロックCLK2に基づいて合成クロックCMPを出力する。この場合、合成クロック生成回路300は、例えば第2のクロックCLK2を遅延させて合成クロックCMPとして出力するが、例えば第2のクロックCLK2をそのまま合成クロックCMPとして出力してもよい。
第2のセレクタ500は、分周回路600から出力される複数のクロックを受け、第3のクロック選択信号CSS3に基づいて複数のクロックのいずれかを選択して、第2のクロックCLK2として合成クロック生成回路300に出力する。
分周回路600は、第1のクロックCLK1を分周することで、複数のクロックを生成し第2のセレクタ500に出力する。例えば、分周回路600は、3つの分周クロックCLK5〜CLK7を生成し、第2のセレクタ500に出力するがこれに限定されない。例えば分周回路600は、1つの分周クロック、2つの分周クロック、4つの分周クロック等、n(nは自然数)個の分周クロックを生成し出力するようにしてもよい。なお、クロックCLK4は、常時一定レベル、例えばハイレベルに設定される。これは、第2のセレクタ500は例えば4つの入力が設けられているのに対して、分周回路600は3つの分周クロックCLK5〜CLK7を第2のセレクタ500に出力するためである。以下の図において同符号のものは同様の意味を表す。
図2は、クロック切り替え回路1000の一部を示す回路図である。クロック選択信号生成回路100は、選択信号用セレクタ110と、選択信号用フリップフロップ120を含むがこれに限定されない。例えば、クロック選択信号生成回路100は選択信号用セレクタ110を含まない構成でもよい。
切り替え指示信号生成回路200は、第1のAND回路210を含む。合成クロック生成回路300は、第1のOR回路310と、合成クロック用フリップフロップ320を含むが、これに限定されない。例えば、合成クロック生成回路300は、第1のOR回路310を含まない構成でもよい。
例えば合成クロックCMPが第1のセレクタ400から出力クロックCLK3として出力されている状態から、第1のセレクタ400の出力クロックCLK3を第1のクロックCLK1に切り替えたい場合を説明する。この場合、クロック切り替えを行う際にクロック切り替え実行信号CESがアクティブに設定され、第2のクロック選択信号CSS2は例えばローレベルに設定される。
例えば第1のOR回路310の入力ノードND1及び第1のAND回路210の入力ノードND3にはアクティブな信号、例えばハイレベルの信号が入力される。これにより、第1のOR回路310はハイレベルの信号を合成クロック用フリップフロップ320に出力する。
合成クロック用フリップフロップ320は、例えば第1のクロックCLK1の立ち上がりエッジに応じて第1のOR回路310から入力されたハイレベルの信号を保持し、例えば第1のクロックCLK1の次の立ち上がりエッジが合成クロック用フリップフロップ320に入力されるまで、ハイレベルの信号を例えば第1のAND回路210の入力ノードND4及び第1のセレクタ400に出力する。
この場合、第1のAND回路210の入力ノードND3及びND4にはハイレベルの信号が入力されるので、第1のAND回路210は例えばハイレベルの信号を選択信号用セレクタ110に出力する。選択信号用セレクタ110は、第1のAND回路210の出力信号のレベルに応じて、選択信号用セレクタ110の入力ノードND5、ND6のそれぞれに入力される信号のいずれかを選択して選択信号用フリップフロップ120に出力する。例えば、選択信号用セレクタ110は、第1のAND回路210からハイレベルの信号を受けると、入力ノードND6に入力される第2のクロック選択信号CSS2を選択し選択信号用フリップフロップ120に出力する。
このとき第1のクロック選択信号CSS2は、ローレベルに設定されているので、例えば選択信号用フリップフロップ120は第1のクロックCLK1の立ち上がりエッジに応じて選択信号用セレクタ110の出力信号であるローレベルの信号を保持し、次の第1のクロックCLK1の例えば立ち上がりエッジが入力されるまで、ローレベルの信号を選択信号用セレクタ110の入力ノードND5及び第1のセレクタ400に出力する。
第1のセレクタ400は、クロック選択信号生成回路100の選択信号用フリップフロップ120からローレベルの信号(広義には第1のクロック選択信号CSS1)を受け、合成クロックCMPから第1のクロックCLK1に切り替えて、第1のクロックCLK1を出力クロックCLK3として出力する。
上述のように出力クロックCLK3が設定されるクロック切り替え回路1000では、クロック切り替えを行う場合には、クロック切り替え実行信号CESがアクティブ(例えばハイレベルの信号)に設定される。さらに、クロック切り替え回路1000の出力クロックCLK3を第1のクロックCLK1に設定したい場合は、第2のクロック選択信号CSS2は例えばローレベルの信号に設定される。また、クロック切り替え回路1000の出力クロックCLK3を合成クロックCMP(広義には第2のクロック)に設定したい場合は、第2のクロック選択信号CSS2は例えばハイレベルの信号に設定される。
図3は、第1のセレクタ400の構成を示す回路図である。第1のセレクタ400は、OR回路OR1、OR2、AND回路AND1を含む。OR回路OR1の入力ノードND7には、合成クロックCMPが入力され、入力ノードND8には、第1のクロック選択信号CSS1の反転信号が入力される。また、OR回路OR2の入力ノードND9には、第1のクロック選択信号CSS1が入力され、入力ノードND10には、第1のクロックCLK1が入力される。AND回路AND1は、OR回路OR1、OR2の出力を受けて、出力クロックCLK3を出力する。
例えば、第1のクロック選択信号CSS1がハイレベルに設定された場合、OR回路OR1の入力ノードND8には、反転された信号であるローレベルの信号が入力され、OR回路OR2の入力ノードND9には、ハイレベルの信号が入力される。このとき、OR回路OR1の出力信号のレベルは、合成クロックCMPのレベルに応じて変化し、OR回路OR2の出力信号のレベルは、ノードND9にハイレベルの信号が入力されている間は、常にハイレベルとなる。これにより、AND回路AND1の出力レベルは合成クロックCMPの信号レベルに応じて変化する。即ち、出力クロックCLK3は、合成クロックCMPに基づいたクロック信号となる。
反対に、第1のクロック選択信号CSS1がローレベルに設定された場合、OR回路OR1の入力ノードND8には、反転された信号であるハイレベルの信号が入力され、OR回路OR2の入力ノードND9には、ローレベルの信号が入力される。このとき、OR回路OR1の出力信号のレベルは、ノードND8にハイレベルの信号が入力されている間は、常にハイレベルとなり、OR回路OR2の出力信号のレベルは、第1のクロックCLK1のレベルに応じて変化する。これにより、AND回路AND1の出力レベルは第1のクロックCLK1の信号レベルに応じて変化する。即ち、出力クロックCLK3は、第1のクロックCLK1に基づいたクロック信号となる。
上述のように、第1のセレクタ400は、第1のクロック選択信号CSS1に基づいて合成クロックCMP及び第1のクロックCLK1を切り替えて、出力クロックCLK3として出力する。
次に図2と図4を参照しながらクロック切り替え回路1000の動作を説明する。図4は、第2のクロックCLK2から第1のクロック(基準クロック)CLK1に切り替える際のクロック切り替え実行信号CESや切り替え指示信号CDS等を示すタイミングチャートである。なお、図4では第2のクロックCLK2として例えば1/8分周クロックが入力されているが、これに限定されない。第2のクロックCLK2は、第1のクロックCLK1に基づいて分周された分周クロックであればよく、例えば1/2分周クロックでもよいし、1/16分周クロックでもよい。また、図4の符号t1〜t8は、時間を示す。
例えば図1の第2のセレクタ500から出力された第2のクロックCLK2が、図2の第1のOR回路310の入力ノードND2に入力される。ノードND2に入力されている信号が図4のB1で示されるように立ち上がると、図2の第1のOR回路310の出力信号A1は図4のB2に示されるように立ち上がる。そして、出力信号A1を受ける合成クロック用フリップフロップ320は、B3に示される第1のクロックCLK1の立ち上がりエッジに応じて、B4に示されるハイレベルの信号を第1のAND回路210及び第1のセレクタ400に出力する。なお、時間t1における第1のOR回路310の出力信号A1はローレベルの信号であるため、時間t1からt2の期間では、合成クロック用フリップフロップ320の出力信号はローレベルである。
その後、ノードND2に入力されている信号がB5に示されるように立ち下がると、図2の第1のOR回路310の出力信号A1は図4のB6に示されるように立ち下がる。そして、出力信号A1を受ける合成クロック用フリップフロップ320は、第1のAND回路210及び第1のセレクタ400に出力する信号を、B7に示される第1のクロックCLK1の立ち上がりエッジに応じて、B8に示されるように立ち下げる。なお、時間t2、t3、t4、t5における第1のOR回路310の出力信号A1はハイレベルの信号であるため、時間t2からt6の期間では、合成クロック用フリップフロップ320の出力信号はハイレベルである。
時間t1からt8までの期間では、第1のクロック選択信号CSS1はハイレベルに設定されているため、この期間での第1のセレクタ400から出力される出力クロックCLK3は、合成クロック用フリップフロップ320の出力、即ち合成クロックCMPである。ここで、時間t1からt7までの期間において、第2のクロックCLK2のパルス幅C1、合成クロックCMPのパルス幅C2及び出力クロックCLK3のパルス幅C3を比較すると、すべて同じことが図4からわかる。つまり、このときの合成クロックCMPは、第2のクロックCLK2が合成クロック生成回路300によって遅延されて出力されたクロックであり、この合成クロックCMPが第1のセレクタ400から出力クロックCLK3として出力される。
ここで、例えば、B9に示されるようにクロック切り替え実行信号CESが立ち上がり、アクティブに設定されると、第1のOR回路310の入力ノードND1及び第1のAND回路210の入力ノードND3にはハイレベルの信号が入力される。これによって、B10に示されるように第1のOR回路310の出力信号A1は立ち上がり、ハイレベルの信号に設定される。第1のOR回路310の出力信号A1を受ける合成クロック用フリップフロップ320は、第1のクロックCLK1のB11に示される立ち上がりエッジに応じて、B12に示されるハイレベルの信号を第1のAND回路210の入力ノードND4及び第1のセレクタ400に出力する。
切り替え実行信号CESがアクティブに設定されることで、時間t7からt8において第1のAND回路210の入力ノードND3、ND4にハイレベルの信号が入力され、切り替え指示信号CDSはB13のようにアクティブ(ハイレベル)に設定される。選択信号用セレクタ110はアクティブな切り替え指示信号CDSを受け、選択信号用セレクタ110のノードND6に入力される第2のクロック選択信号CSS2を選択信号用セレクタ110の出力信号A2として選択信号用フリップフロップ120に出力する。第2のクロックCLK2から第1のクロックCLK1に切り替える際には第2のクロック選択信号CSS2は例えばローレベルに設定される。即ち、選択信号用セレクタ110は、アクティブな切り替え指示信号CDSを受け、ローレベルに設定されている第2のクロック選択信号CSS2に基づいて、図4のB14に示されるように出力信号A2を立ち下げる。
ローレベルに設定された出力信号A2を受ける選択信号用フリップフロップ120は、第1のクロックCLK1のB15に示される立ち上がりエッジに応じて、B16に示されるように第1のクロック選択信号CSS1を立ち下げ、ローレベルに設定された第1のクロック選択信号CSS1を選択信号用セレクタ110の入力ノードND5及び第1のセレクタ400に出力する。なお、B17にしめされるようにクロック切り替え実行信号CESが立ち下げられることで、切り替え指示信号CDSもB18に示されるように立ち下げられる。これにより、クロック切り替え実行信号CESがローレベルに設定されている間は、選択信号用セレクタ110は入力ノードND5に入力される第1のクロック選択信号CSS1を選択信号用フリップフロップ120に出力するため、再度クロック切り替え実行信号CESがアクティブに設定されるまでは、第1のクロック選択信号CSS1はローレベルに維持される。
第1のセレクタ400は、ローレベルに設定された第1のクロック選択信号CSS1を受け、出力クロックCLK3をB19に示されるように第1のクロックCLK1に切り替える。図4によると、時間t8以降、出力クロックCLK3は第1のクロックCLK1に切り替えられていることがわかる。切り替えを行う際のクロック切り替え実行信号CESは、B9に示されるようにアクティブに設定されている。つまり、B9に示されるように立ち上げられてから、B19に示されるようにクロック切り替えが行われるまでに要した期間はC4に示される期間であり、第1のクロックCLK1のおよそ2クロックである。
さらに、図5を用いて、第2のクロックCLK2から第1のクロックCLK1に切り替える際の動作を説明する。図5は、図4とほぼ同様のタイミングチャートであるが、クロック切り替え実行信号CESをアクティブに設定するタイミングが図4とは異なる場合のタイミングチャートである。図4のタイミングチャートと同様に、B20に示される第2のクロックCLK2が図2の第1のOR回路310のノードND2に入力されるので、B21で示されるハイレベルの出力信号A1が合成クロック用フリップフロップ320に出力される。時間t2での第1のクロックCLK1の例えば立ち上がりエッジに応じて、合成クロック用フリップフロップ320からB22に示されるハイレベルの信号が合成クロックCMPとして出力される。
例えば切り替え実行信号CESがB23で示されるように立ち上げられ、B24で示されるように立ち下げられると、C5で示される期間において図2の第1のAND回路210の入力ノードND3、ND4のレベルが双方ともハイレベルに設定されるので、切り替え指示信号CDSはB25で示されるように立ち上がり、B26で示されるように立ち下がる。
この切り替え指示信号CDSを受ける選択信号用セレクタ110は、例えばローレベルに設定された第2のクロック選択信号CSS2に基づいてローレベルの信号を選択信号用フリップフロップ120に出力するので、選択信号用セレクタ110の出力信号A2は、B27に示されるように立ち下げられ、ローレベルの信号に設定される。時間t5での第1のクロックCLK1の例えば立ち上がりエッジに応じて、選択信号用フリップフロップ120はローレベルの出力信号A2に基づいてローレベルの信号を第1のクロック選択信号CSS1として第1のセレクタ400に出力する。これにより、第1のクロック選択信号CSS1はB28に示されるように立ち下げられ、ローレベルの信号に設定される。
ローレベルの第1のクロック選択信号CSS1を受け、第1のセレクタ400はB29に示されるように出力クロックCLK3を第2のクロックCLK2から第1のクロックCLK1に切り替えて出力する。ここで、クロック切り替え実行信号CESは、B23でアクティブに設定されている。つまり、B23に示されるように立ち上げられてから、B29に示されるようにクロック切り替えが行われるまでに要した期間はC5に示される期間、第1のクロックCLK1のおよそ1クロックである。
つまり、第2のクロックCLK2がハイレベルである期間にクロック切り替え実行信号CESがアクティブに設定されると、第1のクロックCLK1のおよそ1クロックの期間でクロック切り替えが完了する。また、第2のクロックCLK2がローレベルである期間にクロック切り替え実行信号CESがアクティブに設定されても、第1のクロックCLK1のおよそ2クロックの期間でクロック切り替えが完了する。なお、いずれの場合も第1のクロック選択信号CSS1のレベルが変更される時は、第1のクロックCLK1及び合成クロックCMPがハイレベルであるので、クロック切り替え回路1000は第1のセレクタ400からパルス幅の短いハザードが出力されることを防止できる。
図6は、図1の第2のセレクタ500を示す回路図である。第2のセレクタ500はセレクタSL1〜SL3で構成され、各セレクタSL1〜SL3は例えば2つのOR回路及び1つのAND回路を含む。セレクタSL1、SL2の各出力はセレクタSL3に出力される。第1実施形態では、クロックCLK4のレベルはハイレベルに固定される。図1の第3のクロック選択信号CSS3は、例えばクロック選択信号CSS31、CSS32で構成される。
例えば、クロック選択信号CSS31及びCSS32がハイレベルに設定されると、セレクタSL1ではOR回路OR3、OR4の出力はハイレベルとなりAND回路AND2の出力はハイレベルとなるので、セレクタSL1の出力はハイレベルとなる。このとき、セレクタSL2では、OR回路OR5の出力はクロックCLK6に基づく出力となり、OR回路OR6はハイレベルとなるので、AND回路AND3の出力はクロックCLK6となる。これにより、セレクタSL3のOR回路OR7にはハイレベルの信号が入力され、OR回路OR8にはクロックCLK6が入力されるので、セレクタSL3の出力はクロックCLK6となる。
このように、クロック選択信号CSS31、CSS32のレベルの設定の組み合わせにより、第2のセレクタ500の出力クロックCLK2が切り替えられる。
第1実施形態では、第2のセレクタ500は、一例として3つの分周クロックCLK5〜CLK7を切り替えるが、これに限定されない。より複数の場合のクロックを切り替える場合は、セレクタSL1、SL2の各入力に例えばセレクタSL1と同様のセレクタを設ければよい。
また、各セレクタSL1〜SL3は、図8で示されるような例えば2つのAND回路及び1つのOR回路で構成されたセレクタでもよい。
2.第2実施形態に係るクロック切り替え回路
第2実施形態に係るクロック切り替え回路1001は、図1の第1実施形態のクロック選択信号生成回路100、切り替え指示信号生成回路200、合成クロック生成回路300及び第1のセレクタ400の構成が異なる。その他の構成は第1実施形態と同様である。クロック切り替え回路1001は、クロック選択信号生成回路101、切り替え指示信号生成回路201、合成クロック生成回路301及び第1のセレクタ401を含むがこれに限定されない。クロック切り替え回路1001は、例えばクロック選択信号生成回路101を省略する構成でもよい。
図7は、クロック切り替え回路1001の一部を示す回路図である。クロック選択信号生成回路101は、選択信号用セレクタ111と、選択信号用フリップフロップ121を含むがこれに限定されない。例えば、クロック選択信号生成回路101は選択信号用セレクタ111を含まない構成でもよい。
切り替え指示信号生成回路201は、第2のOR回路211を含む。合成クロック生成回路301は、第2のAND回路311と、合成クロック用フリップフロップ321を含むが、これに限定されない。例えば、合成クロック生成回路301は、第2のAND回路311を含まない構成でもよい。
例えば合成クロックCMPが第1のセレクタ401から出力クロックCLK3として出力されている状態から、第1のセレクタ401の出力クロックCLK3を第1のクロックCLK1に切り替えたい場合を説明する。この場合、クロック切り替えを行う際にクロック切り替え実行信号CESがアクティブに設定され、第2のクロック選択信号CSS2は例えばハイレベルに設定される。
例えば第2のAND回路311の入力ノードND11及び第2のOR回路211の入力ノードND13にはアクティブな信号、例えばローレベルの信号が入力される。これにより、第2のAND回路311はローレベルの信号を合成クロック用フリップフロップ321に出力する。
合成クロック用フリップフロップ321は、例えば第1のクロックCLK1の立ち下がりエッジに応じて第2のAND回路311から入力されたローレベルの信号を保持し、例えば第1のクロックCLK1の次の立ち下がりエッジが合成クロック用フリップフロップ321に入力されるまで、ローレベルの信号を例えば第2のOR回路211の入力ノードND14及び第1のセレクタ401に出力する。
この場合、第2のOR回路211の入力ノードND13及びND14にはローレベルの信号が入力されるので、第2のOR回路211は例えばローレベルの信号を選択信号用セレクタ111に出力する。選択信号用セレクタ111は、第2のOR回路211の出力信号のレベルに応じて、選択信号用セレクタ111の入力ノードND15、ND16のそれぞれに入力される信号のいずれかを選択して選択信号用フリップフロップ121に出力する。例えば、選択信号用セレクタ111は、第2のOR回路211からローレベルの信号を受けると、入力ノードND16に入力される第2のクロック選択信号CSS2を選択し選択信号用フリップフロップ121に出力する。
このとき第1のクロック選択信号CSS2は、ハイレベルに設定されているので、例えば選択信号用フリップフロップ121は第1のクロックCLK1の立ち下がりエッジに応じて選択信号用セレクタ111の出力信号であるハイレベルの信号を保持し、次の第1のクロックCLK1の例えば立ち下がりエッジが入力されるまで、ハイレベルの信号を選択信号用セレクタ111の入力ノードND15及び第1のセレクタ401に出力する。
第1のセレクタ401は、クロック選択信号生成回路101の選択信号用フリップフロップ121からハイレベルの信号(広義には第1のクロック選択信号CSS1)を受け、合成クロックCMPから第1のクロックCLK1に切り替えて、第1のクロックCLK1を出力クロックCLK3として出力する。
上述のように出力クロックCLK3が設定されるクロック切り替え回路1001では、クロック切り替えを行う場合には、クロック切り替え実行信号CESがアクティブ(例えばローレベルの信号)に設定される。さらに、クロック切り替え回路1001の出力クロックCLK3を第1のクロックCLK1に設定したい場合は、第2のクロック選択信号CSS2は例えばハイレベルの信号に設定される。また、クロック切り替え回路1001の出力クロックCLK3を合成クロックCMP(広義には第2のクロック)に設定したい場合は、第2のクロック選択信号CSS2は例えばローレベルの信号に設定される。
図8は、第1のセレクタ401の構成を示す回路図である。第1のセレクタ401は、OR回路OR9、AND回路AND5、AND6を含む。AND回路AND5の入力ノードND17には、合成クロックCMPが入力され、入力ノードND18には、第1のクロック選択信号CSS1の反転信号が入力される。また、AND回路AND6の入力ノードND19には、第1のクロック選択信号CSS1が入力され、入力ノードND20には、第1のクロックCLK1が入力される。OR回路OR9は、AND回路AND5、AND6の出力を受けて、出力クロックCLK3を出力する。
例えば、第1のクロック選択信号CSS1がローレベルに設定された場合、AND回路AND5の入力ノードND18には、反転された信号であるハイレベルの信号が入力され、AND回路AND6の入力ノードND19には、ローレベルの信号が入力される。このとき、AND回路AND5の出力信号のレベルは、合成クロックCMPのレベルに応じて変化し、AND回路AND6の出力信号のレベルは、ノードND19にローレベルの信号が入力されている間は、常にローレベルとなる。これにより、OR回路OR9の出力レベルは合成クロックCMPの信号レベルに応じて変化する。即ち、出力クロックCLK3は、合成クロックCMPに基づいたクロック信号となる。
反対に、第1のクロック選択信号CSS1がハイレベルに設定された場合、AND回路AND5の入力ノードND18には、反転された信号であるローレベルの信号が入力され、AND回路AND6の入力ノードND19には、ハイレベルの信号が入力される。このとき、AND回路AND5の出力信号のレベルは、ノードND18にローレベルの信号が入力されている間は、常にローレベルとなり、AND回路AND6の出力信号のレベルは、第1のクロックCLK1のレベルに応じて変化する。これにより、OR回路OR9の出力レベルは第1のクロックCLK1の信号レベルに応じて変化する。即ち、出力クロックCLK3は、第1のクロックCLK1に基づいたクロック信号となる。
上述のように、第1のセレクタ401は、第1のクロック選択信号CSS1に基づいて合成クロックCMP及び第1のクロックCLK1を切り替えて、出力クロックCLK3として出力する。
次に図7と図9を参照しながらクロック切り替え回路1001の動作を説明する。図9は、第2のクロックCLK2から第1のクロック(基準クロック)CLK1に切り替える際のクロック切り替え実行信号CESや切り替え指示信号CDS等を示すタイミングチャートである。なお、図9では第2のクロックCLK2として例えば1/8分周クロックが入力されているが、これに限定されない。第2のクロックCLK2は、第1のクロックCLK1に基づいて分周された分周クロックであればよく、例えば1/2分周クロックでもよいし、1/16分周クロックでもよい。
例えば図1の第2のセレクタ500から出力された第2のクロックCLK2が、図7の第2のAND回路311の入力ノードND12に入力される。ノードND12に入力されている信号が図9のD1で示されるように立ち上がると、図7の第2のAND回路311の出力信号A3は図9のD2に示されるように立ち上がる。そして、出力信号A3を受ける合成クロック用フリップフロップ321は、D3に示される第1のクロックCLK1の立ち下がりエッジに応じて、D4に示されるローレベルの信号を第2のOR回路211及び第1のセレクタ401に出力する。なお、時間t1における第2のAND回路311の出力信号A3はハイレベルの信号であるため、時間t1からt2の期間では、合成クロック用フリップフロップ321の出力信号はハイレベルである。
その後、ノードND12に入力されている信号がD5に示されるように立ち上がると、図7の第2のAND回路311のノードND11にはハイレベルに設定されたクロック切り替え実行信号CESが入力されているので出力信号A3は図9のD6に示されるように立ち上がる。そして、出力信号A3を受ける合成クロック用フリップフロップ321は、第2のOR回路211及び第1のセレクタ401に出力する信号を、D7に示される第1のクロックCLK1の立ち下がりエッジに応じて、D8に示されるように立ち上げる。なお、時間t2、t3、t4、t5における第2のAND回路311の出力信号A3はローレベルの信号であるため、時間t2からt6の期間では、合成クロック用フリップフロップ321の出力信号はローレベルである。
時間t1からt8までの期間では、第1のクロック選択信号CSS1はローレベルに設定されているため、この期間での第1のセレクタ401から出力される出力クロックCLK3は、合成クロック用フリップフロップ321の出力、即ち合成クロックCMPである。ここで、時間t1からt7までの期間において、第2のクロックCLK2のパルス幅C11、合成クロックCMPのパルス幅C12及び出力クロックCLK3のパルス幅C13を比較すると、すべて同じことが図9からわかる。つまり、このときの合成クロックCMPは、第2のクロックCLK2が合成クロック生成回路301によって遅延されて出力されたクロックであり、この合成クロックCMPが第1のセレクタ401から出力クロックCLK3として出力される。
ここで、例えば、D9に示されるようにクロック切り替え実行信号CESが立ち下がり、アクティブに設定されると、第2のAND回路311の入力ノードND11及び第2のOR回路211の入力ノードND13にはローレベルの信号が入力される。これによって、D10に示されるように第2のAND回路311の出力信号A3は立ち下がり、ローレベルの信号に設定される。第2のAND回路311の出力信号A3を受ける合成クロック用フリップフロップ321は、第1のクロックCLK1のD11に示される立ち下がりエッジに応じて、D12に示されるローレベルの信号を第2のOR回路211の入力ノードND14及び第1のセレクタ401に出力する。
切り替え実行信号CESがアクティブに設定されることで、時間t7からt8において第2のOR回路211の入力ノードND13、ND4にローレベルの信号が入力され、切り替え指示信号CDSはD13のようにアクティブ(ローレベル)に設定される。選択信号用セレクタ111はアクティブな切り替え指示信号CDSを受け、選択信号用セレクタ111のノードND16に入力される第2のクロック選択信号CSS2を選択信号用セレクタ111の出力信号A4として選択信号用フリップフロップ121に出力する。第2のクロックCLK2から第1のクロックCLK1に切り替える際には第2のクロック選択信号CSS2は例えばハイレベルに設定される。即ち、選択信号用セレクタ111は、アクティブな切り替え指示信号CDSを受け、ハイレベルに設定されている第2のクロック選択信号CSS2に基づいて、図9のD14に示されるように出力信号A4を立ち上げる。
ハイレベルに設定された出力信号A4を受ける選択信号用フリップフロップ121は、第1のクロックCLK1のD15に示される立ち下がりエッジに応じて、D16に示されるように第1のクロック選択信号CSS1を立ち上げ、ハイレベルに設定された第1のクロック選択信号CSS1を選択信号用セレクタ111の入力ノードND15及び第1のセレクタ401に出力する。なお、D17にしめされるようにクロック切り替え実行信号CESが立ち上げられることで、切り替え指示信号CDSもD18に示されるように立ち上げられる。これにより、クロック切り替え実行信号CESがハイレベルに設定されている間は、選択信号用セレクタ111は入力ノードND15に入力される第1のクロック選択信号CSS1を選択信号用フリップフロップ121に出力するため、再度クロック切り替え実行信号CESがアクティブに設定されるまでは、第1のクロック選択信号CSS1はハイレベルに維持される。
第1のセレクタ401は、ハイレベルに設定された第1のクロック選択信号CSS1を受け、出力クロックCLK3をD19に示されるように第1のクロックCLK1に切り替える。図9によると、時間t8以降、出力クロックCLK3は第1のクロックCLK1に切り替えられていることがわかる。切り替えを行う際のクロック切り替え実行信号CESは、D9に示されるようにアクティブに設定されている。つまり、D9に示されるように立ち下げられてから、D19に示されるようにクロック切り替えが行われるまでに要した期間はC14に示される期間であり、第1のクロックCLK1のおよそ2クロックである。
さらに、図10を用いて、第2のクロックCLK2から第1のクロックCLK1に切り替える際の動作を説明する。図10は、図9とほぼ同様のタイミングチャートであるが、クロック切り替え実行信号CESをアクティブに設定するタイミングが図9とは異なる場合のタイミングチャートである。図9のタイミングチャートと同様に、D20に示される第2のクロックCLK2が図7の第2のAND回路311のノードND12に入力されるので、D21で示されるローレベルの出力信号A3が合成クロック用フリップフロップ321に出力される。時間t2での第1のクロックCLK1の例えば立ち下がりエッジに応じて、合成クロック用フリップフロップ321からD22に示されるローレベルの信号が合成クロックCMPとして出力される。
例えば切り替え実行信号CESがD23で示されるように立ち下げられ、D24で示されるように立ち上げられると、C15で示される期間において図7の第2のOR回路211の入力ノードND13、ND4のレベルが双方ともローレベルに設定されるので、切り替え指示信号CDSはD25で示されるように立ち下がり、D26で示されるように立ち上がる。
この切り替え指示信号CDSを受ける選択信号用セレクタ111は、例えばハイレベルに設定された第2のクロック選択信号CSS2に基づいて、ハイレベルの信号を選択信号用フリップフロップ121に出力するので、選択信号用セレクタ111の出力信号A4は、D27に示されるように立ち上げられ、ハイレベルの信号に設定される。時間t5での第1のクロックCLK1の例えば立ち下がりエッジに応じて、選択信号用フリップフロップ121はハイレベルの出力信号A4に基づいてハイレベルの信号を第1のクロック選択信号CSS1として第1のセレクタ401に出力する。これにより、第1のクロック選択信号CSS1はD28に示されるように立ち上げられ、ハイレベルの信号に設定される。
ハイレベルの第1のクロック選択信号CSS1を受け、第1のセレクタ401はD29に示されるように出力クロックCLK3を第2のクロックCLK2から第1のクロックCLK1に切り替えて出力する。ここで、クロック切り替え実行信号CESは、D23でアクティブに設定されている。つまり、D23に示されるように立ち上げられてから、D29に示されるようにクロック切り替えが行われるまでに要した期間はC15に示される期間、第1のクロックCLK1のおよそ1クロックである。
つまり、第2のクロックCLK2がローレベルである期間にクロック切り替え実行信号CESがアクティブに設定されると、第1のクロックCLK1のおよそ1クロックの期間でクロック切り替えが完了する。また、第2のクロックCLK2がハイレベルである期間にクロック切り替え実行信号CESがアクティブに設定されても、第1のクロックCLK1のおよそ2クロックの期間でクロック切り替えが完了する。なお、いずれの場合も第1のクロック選択信号CSS1のレベルが変更される時は、第1のクロックCLK1及び合成クロックCMPがローレベルであるので、クロック切り替え回路1001は第1のセレクタ401からパルス幅の短いハザードが出力されることを防止できる。
3.第1実施形態及び第2実施形態と、比較例との対比
図11は、第1実施形態及び第2実施形態のクロック切り替え回路1000、1001に対する比較例であるクロック切り替え回路2000を示す回路図である。クロック切り替え回路2000は、基準クロックCLK11に基づいて複数の分周クロックを出力する分周回路2100、セレクタ2200、フリップフロップ2300及びセレクタ2400を含むが、これに限定されない。クロック切り替え回路2000は、例えばフリップフロップ2300またはセレクタ2400を省略する構成でもよい。分周回路2100は、基準クロックCLK11に基づいて、例えば1/2分周クロックCLK12、1/4分周クロックCLK13、1/8分周クロックCLK14をセレクタ2200に出力する。
図12は、図11のクロック切り替え回路2000において、クロック切り替えを行うタイミングを示すためのタイミングチャートである。クロック切り替え回路2000のセレクタ2200が、例えば図8で示されているようなセレクタを含む構成である場合、クロック切り替えは、各クロックCLK11〜CLK14がすべてローレベルである期間内(例えばE1、E2で示されるタイミング)に行われる必要がある。この場合、その他の期間でクロック切り替えを行ってしまうと、例えばセレクタ内のインバータ等によって信号遅延が生じ、出力クロックCLK15にはパルス幅の狭いハザードが含まれてしまう。
また、クロック切り替え回路2000のセレクタ2200が、例えば図3で示されているようなセレクタを含む構成である場合、クロック切り替えは、各クロックCLK11〜CLK14がすべてハイレベルである期間期間内(例えばE3、E4で示されるタイミング)に行われる必要がある。この場合、その他の期間でクロック切り替えを行ってしまうと、例えばセレクタ内のインバータ等によって信号遅延が生じ、出力クロックCLK15にはパルス幅の狭いハザードが含まれてしまう。
図12から明らかなように、例えばセレクタ2200が図8のセレクタを含む場合、E1のタイミングでクロック切り替えを行えなかった場合は、E2のタイミングまでクロック切り替えを行えない。同様に、セレクタ2200が図3のセレクタを含む場合のクロック切り替えが可能なタイミングは、E3のタイミングの次はE4のタイミングである。いずれの場合も、クロック切り替え可能なタイミングは、基準クロックCLK11の8クロック分の間隔があり、クロック切り替えを素早く行うことができない。また、セレクタ2200に入力されるクロックの数が、図12では4つであるが、この入力されるクロックの数が増加すると、前述のクロック切り替えタイミングの間隔はさらに長くなってしまう。また、分周クロックの周期がより長い場合も、前述のクロック切り替えタイミングの間隔をさらに長くしてしまう。
一方、第1実施形態及び第2実施形態のクロック切り替え回路1000、1001は、いずれもクロック切り替え実行信号がアクティブに設定されてから、第1のクロックCLK1の1クロックまたは2クロックで示される期間でクロック切り替えを完了できる。これは、比較例のクロック切り替え回路2000に比べて、短い期間でクロック切り替えを完了することができることを意味する。例えば、第2のクロックCLK2が第1のクロックCLK1が分周された1/8分周クロックである場合であっても、クロック切り替え回路1000、1001は、第1のクロックCLK1のおよそ1クロックまたは2クロックでクロック切り替えを完了することができる。さらに、クロック切り替え回路1000、1001では、クロック切り替えされるクロックの数によらず、第1のクロックCLK1の1クロックまたは2クロックで示される期間でクロック切り替えを完了できる。また、クロック切り替え回路1000、1001では、入力される分周クロックの周期の長さにもよらず、第1のクロックCLK1の1クロックまたは2クロックで示される期間でクロック切り替えを完了できる。
上述のように、第1実施形態及び第2実施形態のクロック切り替え回路1000、1001は、複数のクロックに対して、ハザードの発生を防止しながら短い期間でクロック切り替えを完了することができる。
なお、本発明は、上記実施形態で説明されたものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(第1のクロックCLK1、第2のクロックCLK2等)として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語(基準クロックCLK1、分周クロック等)に置き換えることができる。
第1実施形態または第2実施形態に係るクロック切り替え回路を示すブロック図。 第1実施形態に係るクロック切り替え回路の一部を示す回路図。 第1実施形態に係る第1のセレクタを示す回路図。 第1実施形態に係るクロック切り替え回路の動作を示すタイミングチャート。 第1実施形態に係るクロック切り替え回路の他の動作を示すタイミングチャート。 第1実施形態または第2実施形態に係るクロック切り替え回路の第2のセレクタを示す回路図。 第2実施形態に係るクロック切り替え回路の一部を示すブロック図。 第2実施形態に係る第1のセレクタを示す回路図。 第2実施形態に係るクロック切り替え回路の動作を示すタイミングチャート。 第2実施形態に係るクロック切り替え回路の他の動作を示すタイミングチャート。 第1実施形態及び第2実施形態に係る比較例のクロック切り替え回路を示すブロック図。 比較例の動作を示すタイミングチャート。
符号の説明
100、101 クロック選択信号生成回路、110、111 選択信号用セレクタ、
120、121 選択信号用フリップフロップ、
200、201 切り替え指示信号生成回路、210 第1のAND回路、
211 第2のOR回路、300、301 合成クロック生成回路、
310 第1のOR回路、311 第2のAND回路、
320、321 合成クロック用フリップフロップ、400 第1のセレクタ、
401 第1のセレクタ、500 第2のセレクタ、
1000、1001 クロック切り替え回路、CDS 切り替え指示信号、
CES クロック切り替え実行信号、CLK1 第1のクロック、
CLK2 第2のクロック、CMP クロック切り替え用合成クロック、
CSS1 第1のクロック選択信号、CSS2 第2のクロック選択信号

Claims (9)

  1. 第1のクロックと、前記第1のクロックとは周波数が異なる第2のクロックと、前記第1のクロックと前記第2のクロックを切り替えるためのクロック切り替え実行信号とを受け、前記第2のクロックが第1のレベルである期間にクロック切り替え実行信号がアクティブになった場合に、前記第1のクロックの立ち上がりエッジまたは立ち下がりエッジを含む前後の所与の期間、前記第2のクロックのレベルを第2のレベルに固定してクロック切り替え用合成クロックとして出力する合成クロック生成回路と、
    前記クロック切り替え用合成クロックと、前記クロック切り替え実行信号とを受け、クロックの切り替え指示信号を出力する切り替え指示信号生成回路と、
    前記切り替え指示信号がアクティブになった場合に、第1のクロック選択信号のレベルを変化させるクロック選択信号生成回路と、
    前記クロック選択信号生成回路からの前記第1のクロック選択信号のレベルに応じて、前記第1のクロックまたは前記クロック切り替え用合成クロックのいずれかを選択して出力する第1のセレクタを含むことを特徴とするクロック切り替え回路。
  2. 請求項1において、
    前記第1のクロックの立ち上がりエッジまたは立ち下がりエッジを含む前後の所与の期間は、前記第1のクロックの立ち上がりエッジまたは立ち下がりエッジの前の1クロック期間と、前記第1のクロックの立ち上がりエッジまたは立ち下がりエッジの後ろの1クロック期間で構成されることを特徴とするクロック切り替え回路。
  3. 請求項1または2において、
    前記合成クロック生成回路は、
    前記切り替え実行信号と前記第2のクロックが入力される第1のOR回路と、
    前記第1のOR回路の出力を前記第1のクロックに基づいて保持し、保持された信号を出力することで、前記クロック切り替え用合成クロックを前記切り替え指示信号生成回路及び前記第1のセレクタに出力する合成クロック用フリップフロップと、
    を含み、
    前記第1のレベルはローレベルであり、前記第2のレベルはハイレベルであり、
    前記第1のOR回路は、前記第2のクロックがローレベルである期間であっても、前記クロック切り替え実行信号がアクティブに設定された場合はハイレベルの信号を前記合成クロック用フリップフロップに出力することを特徴とするクロック切り替え回路。
  4. 請求項1乃至3のいずれかにおいて、
    前記切り替え指示信号生成回路は、前記切り替え実行信号と前記合成クロック生成回路の出力が入力される第1のAND回路を含み、
    前記第1のAND回路は、前記切り替え実行信号がアクティブであり、且つ、前記合成クロック生成回路の前記合成クロックがハイレベルである場合に、前記切り替え指示信号をアクティブに設定することを特徴とするクロック切り替え回路。
  5. 請求項1または2において、
    前記合成クロック生成回路は、
    前記切り替え実行信号と前記第2のクロックが入力される第2のAND回路と、
    前記第2のAND回路の出力を前記第1のクロックに基づいて保持し、保持された信号を出力することで、前記クロック切り替え用合成クロックを前記切り替え指示信号生成回路及び前記第1のセレクタに出力する合成クロック用フリップフロップと、
    を含み、
    前記第1のレベルはハイレベルであり、前記第2のレベルはローレベルであり、
    前記第2のAND回路は、前記第2のクロックがハイレベルである期間であっても、前記クロック切り替え実行信号がアクティブに設定された場合はローレベルの信号を前記合成クロック用フリップフロップに出力することを特徴とするクロック切り替え回路。
  6. 請求項1または2または5のいずれかにおいて、
    前記切り替え指示信号生成回路は、前記切り替え実行信号と前記合成クロック生成回路の出力が入力される第2のOR回路を含み、
    前記第2のOR回路は、前記切り替え実行信号がアクティブであり、且つ、前記合成クロック生成回路の前記合成クロックがローレベルである場合に、前記切り替え指示信号をアクティブに設定することを特徴とするクロック切り替え回路。
  7. 請求項1乃至6のいずれかにおいて、
    前記クロック選択信号生成回路は、
    選択信号用セレクタと、
    前記選択信号用セレクタの出力信号を前記第1のクロックに基づいて保持し、保持された信号を前記選択信号用セレクタ及び前記第1のセレクタに前記第1のクロック選択信号として出力する選択信号用フリップフロップとを含み、
    前記選択信号用セレクタは、前記選択信号用フリップフロップからの前記第1のクロック選択信号と、クロック切り替え時に前記第1のセレクタに選択されるクロックを決定するための第2のクロック選択信号とを受け、前記切り替え指示信号生成回路からの前記切り替え指示信号に基づいて、前記第1のクロック選択信号または前記第2のクロック選択信号のいずれかを前記選択信号用フリップフロップに出力することを特徴とするクロック切り替え回路。
  8. 請求項7において、
    前記選択信号用セレクタは、前記切り替え指示信号生成回路の前記切り替え指示信号がアクティブに設定されると、前記第2のクロック選択信号を前記選択信号用フリップフロップに出力することを特徴とするクロック切り替え回路。
  9. 請求項1乃至8のいずれかにおいて、
    複数のクロックを受け、前記複数のクロックのうちの任意のクロックを選択して、前記第2のクロックとして前記合成クロック生成回路に出力する第2のセレクタをさらに含むことを特徴とするクロック切り替え回路。
JP2004204412A 2004-07-12 2004-07-12 クロック切り替え回路 Expired - Fee Related JP3778292B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004204412A JP3778292B2 (ja) 2004-07-12 2004-07-12 クロック切り替え回路
US11/178,199 US7334152B2 (en) 2004-07-12 2005-07-08 Clock switching circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004204412A JP3778292B2 (ja) 2004-07-12 2004-07-12 クロック切り替え回路

Publications (2)

Publication Number Publication Date
JP2006033032A JP2006033032A (ja) 2006-02-02
JP3778292B2 true JP3778292B2 (ja) 2006-05-24

Family

ID=35540659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004204412A Expired - Fee Related JP3778292B2 (ja) 2004-07-12 2004-07-12 クロック切り替え回路

Country Status (2)

Country Link
US (1) US7334152B2 (ja)
JP (1) JP3778292B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100405252C (zh) * 2005-11-11 2008-07-23 鸿富锦精密工业(深圳)有限公司 时钟信号转换电路
US7400178B2 (en) * 2006-03-31 2008-07-15 Integrated Device Technology, Inc. Data output clock selection circuit for quad-data rate interface
JP4967483B2 (ja) * 2006-07-06 2012-07-04 富士通セミコンダクター株式会社 クロック切り替え回路
US7629828B1 (en) * 2007-04-27 2009-12-08 Zilog, Inc. Glitch-free clock multiplexer that provides an output clock signal based on edge detection
US8077822B2 (en) * 2008-04-29 2011-12-13 Qualcomm Incorporated System and method of controlling power consumption in a digital phase locked loop (DPLL)
EP2139113A1 (en) * 2008-06-23 2009-12-30 Dialog Semiconductor GmbH Glitch-free clock suspend and resume circuit
US20090315597A1 (en) * 2008-06-24 2009-12-24 Subba Reddy Kallam Clock Selection for a Communications Processor having a Sleep Mode
JP4656221B2 (ja) 2008-09-30 2011-03-23 株式会社デンソー 通信装置及びクロック同期式通信システム
JP2010225057A (ja) * 2009-03-25 2010-10-07 Seiko Epson Corp クロック切替回路、集積回路装置及び電子機器
US9201742B2 (en) * 2011-04-26 2015-12-01 Brian J. Bulkowski Method and system of self-managing nodes of a distributed database cluster with a consensus algorithm
US8829944B1 (en) * 2013-09-30 2014-09-09 Lattice Semiconductor Corporation Dynamic power supply switching for clocking signals
JP5880603B2 (ja) * 2014-03-19 2016-03-09 日本電気株式会社 クロック発生装置、サーバシステムおよびクロック制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08107406A (ja) 1994-10-06 1996-04-23 Fujitsu Ltd クロック信号切替回路
JPH10154021A (ja) * 1996-09-30 1998-06-09 Toshiba Corp クロック切換装置およびクロック切換方法
US6453425B1 (en) * 1999-11-23 2002-09-17 Lsi Logic Corporation Method and apparatus for switching clocks presented to synchronous SRAMs
KR100689724B1 (ko) * 2000-01-28 2007-03-09 후지쯔 가부시끼가이샤 핫 플러그에 대응한 클록 전환 회로
JP2002182777A (ja) * 2000-12-15 2002-06-26 Mitsubishi Electric Corp クロック切り換え回路
US6600345B1 (en) * 2001-11-15 2003-07-29 Analog Devices, Inc. Glitch free clock select switch
JP3593104B2 (ja) * 2002-01-11 2004-11-24 沖電気工業株式会社 クロック切替回路
US20030185312A1 (en) * 2002-03-28 2003-10-02 Adc Telecommunications Israel Ltd. Clock recovery from a composite clock signal
JP2004054350A (ja) * 2002-07-16 2004-02-19 Sony Corp クロック切り替え回路
JP3542351B2 (ja) * 2002-11-18 2004-07-14 沖電気工業株式会社 クロック切り替え回路
CN1300972C (zh) * 2003-07-14 2007-02-14 松下电器产业株式会社 时钟信号切换装置、时钟信号切换方法、数据总线切换装置及数据总线切换方法
JP2005191877A (ja) * 2003-12-25 2005-07-14 Fujitsu Ltd クロック切り替え回路

Also Published As

Publication number Publication date
US7334152B2 (en) 2008-02-19
US20060006909A1 (en) 2006-01-12
JP2006033032A (ja) 2006-02-02

Similar Documents

Publication Publication Date Title
JP3778292B2 (ja) クロック切り替え回路
JP6375317B2 (ja) 高速周波数分周の方法
US7543258B2 (en) Clock design apparatus and clock design method
US5789953A (en) Clock signal generator providing non-integer frequency multiplication
JP3604323B2 (ja) クロック切替回路
JP2005323356A (ja) ディジタル位相選択を有する周波数シンセサイザ
US9319040B2 (en) Distributing multiplexing logic to remove multiplexor latency on the output path for variable clock cycle, delayed signals
JP6127409B2 (ja) クロック・ネットワーク・メタ合成のためのシステムおよび方法
JP2005191877A (ja) クロック切り替え回路
JP2007086960A (ja) クロック切り替え回路
JP6118827B2 (ja) 高分解能パルス幅変調器
TWI514109B (zh) 一種用於固定頻率時脈來源之時脈頻率調變的調變時脈裝置及計算裝置
US10659064B1 (en) Phase lock loop circuits and methods including multiplexed selection of feedback loop outputs of multiple phase interpolators
JP2006011704A (ja) クロック切り替え回路
KR100894427B1 (ko) 클록 회로를 위한 방법 및 장치
CN114072747A (zh) 无毛刺时钟切换电路
JP2011160097A (ja) 半導体装置
JP2010277608A (ja) クロック制御回路
JP2008198003A (ja) アレイ型プロセッサ
JP2003188719A (ja) 分周回路
TW202303332A (zh) 修改輸出時脈之相速的電路及方法
JP4518377B2 (ja) Dll回路
US12047083B2 (en) Circuits and methods for set and reset signals
JP2019075058A (ja) 非同期fifo回路
US20230344432A1 (en) Asymmetrical clock separation and stage delay optimization in single flux quantum logic

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051221

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20051221

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051228

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20060106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060221

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090310

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100310

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100310

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120310

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120310

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130310

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140310

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees