クロック生成回路、クロック生成方法および半導体集積回路
【課題】占有面積や定常位相誤差の増大、並びに、クロックが安定するまでに長時間を要することなく、スペクトラム拡散クロックを生成してEMI対策を図る。
【解決手段】基準信号CK1を受け取って、立ち上がりエッジの傾き、または、立ち下がりエッジの傾き、または、立ち上がりエッジおよび立ち下がりエッジの傾きを、周期的に変化させた第1信号CK2を生成する第1回路4と、前記第1信号を受け取って、周期的に周波数が変化するクロックを生成する第2回路5と、を有する。
【解決手段】基準信号CK1を受け取って、立ち上がりエッジの傾き、または、立ち下がりエッジの傾き、または、立ち上がりエッジおよび立ち下がりエッジの傾きを、周期的に変化させた第1信号CK2を生成する第1回路4と、前記第1信号を受け取って、周期的に周波数が変化するクロックを生成する第2回路5と、を有する。
【発明の詳細な説明】
【技術分野】
【0001】
この出願で言及する実施例は、クロック生成回路、クロック生成方法および半導体集積回路に関する。
【背景技術】
【0002】
近年、電子機器の高速化および高密度化に伴って、電磁波干渉(EMI:Electro Magnetic Interference)が問題になっている。そこで、EMI対策としてスペクトラム拡散クロック技術を適用したクロック生成回路(クロック・ジェネレータ)が提案されている。
【0003】
このスペクトラム拡散クロック技術は、電子機器内のクロック生成回路が単一の周波数のクロックを発生すると、その周波数およびその高調波での輻射が大きくなるため、クロックに対して任意の周波数成分をのせて変動させ、ピークを抑えるものである。
【0004】
半導体集積回路の分野では、PLL(Phase Locked Loop)を用いたスペクトラム拡散クロック生成が一般的であり、これは、スペクトラム拡散クロック・ジェネレータと分周(または、逓倍)を行うPLL回路のカスケード接続により実現される。
【0005】
すなわち、スペクトラム拡散クロック・ジェネレータ(SSCG:Spread Spectrum Clock Generator)は、通常、PLLに対して位相制御機能を追加したものとなっている。ところで、従来、SSCG(クロック生成回路)としては、様々なものが提案されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−004451号公報
【特許文献2】特開2006−166049号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
前述したように、従来、クロック生成回路としては、様々なものが提案されているが、例えば、フェーズインターポレータ(Phase Interpolator:位相補正回路)を用いて、PLLの位相補正(位相変調)を行ってスペクトラム拡散クロックを生成している。
【0008】
しかしながら、従来のクロック生成回路は、占有面積や定常位相誤差が大きく、クロックが安定するまでに時間がかかるといった問題がある。
【課題を解決するための手段】
【0009】
一実施形態によれば、基準信号を受け取って、立ち上がりエッジの傾き、および/または、立ち下がりエッジの傾きを、周期的に変化させた第1信号を生成する第1回路と、第2回路と、を有することを特徴とするクロック生成回路が提供される。
【0010】
すなわち、前記第1の回路は、基準信号を受け取って、立ち上がりエッジの傾き、または、立ち下がりエッジの傾き、または、立ち上がりエッジおよび立ち下がりエッジの傾きを、周期的に変化させた第1信号を生成する。前記第2回路は、前記第1信号を受け取って、周期的に周波数が変化するクロックを生成する。
【発明の効果】
【0011】
開示のクロック生成回路、クロック生成方法および半導体集積回路は、占有面積や定常位相誤差の増大、並びに、クロックが安定するまでに長時間を要することなく、スペクトラム拡散クロックを生成してEMI対策を行うことができるという効果を奏する。
【図面の簡単な説明】
【0012】
【図1】クロック生成回路の一例を示すブロック図である。
【図2】図1のクロック生成回路の動作を説明するための図である。
【図3】本実施例のクロック生成回路を示すブロック図である。
【図4】図3に示すクロック生成回路における制御コードとTr/Tfの関係を示す図である。
【図5】図4に示す制御コードと立ち上がりエッジの関係を説明するための図(その1)である。
【図6】図4に示す制御コードと立ち上がりエッジの関係を説明するための図(その2)である。
【図7】本実施例のクロック生成回路の適用例を説明するための図である。
【図8】本実施例のクロック生成回路の変形例を示すブロック図である。
【図9】本実施例のクロック生成回路による効果を説明するための図(その1)である。
【図10】本実施例のクロック生成回路による効果を説明するための図(その2)である。
【図11】本実施例のクロック生成回路による効果を説明するための図(その3)である。
【図12】第1実施例のクロック生成回路の要部を示すブロック図である。
【図13】図12に示すクロック生成回路の動作を説明するための図(その1)である。
【図14】図12に示すクロック生成回路の動作を説明するための図(その2)である。
【図15】第2実施例のクロック生成回路の要部を示すブロック図である。
【図16】図15に示すクロック生成回路の動作を説明するための図である。
【図17】第3実施例のクロック生成回路を示すブロック図である。
【図18】図17に示すクロック生成回路の動作を説明するための図である。
【図19】図17に示すクロック生成回路におけるカウンタおよびエンコーダの動作を説明するための図である。
【図20】図17に示すクロック生成回路におけるエンコーダの動作を説明するための図である。
【図21】図17に示すクロック生成回路の仕様の一例を示す図である。
【図22】図17に示すクロック生成回路の具体的な動作の一例を説明するための図(その1)である。
【図23】図17に示すクロック生成回路の具体的な動作の一例を説明するための図(その2)である。
【図24】図17に示すクロック生成回路の具体的な動作の一例を説明するための図(その3)である。
【図25】図17に示すクロック生成回路の具体的な動作の他の例を説明するための図(その1)である。
【図26】図17に示すクロック生成回路の具体的な動作の他の例を説明するための図(その2)である。
【図27】図17に示すクロック生成回路を適用した半導体集積回路の一例を示すブロック図である。
【発明を実施するための形態】
【0013】
まず、クロック生成回路の実施例を詳述する前に、クロック生成回路およびその問題点を図1および図2を参照して説明する。
【0014】
図1は、クロック生成回路の一例を示すブロック図であり、図2は、図1のクロック生成回路の動作を説明するための図である。図1において、参照符号101はスペクトラム拡散クロック・ジェネレータ(SSCG:クロック生成回路)、102はPLL回路を示す。
【0015】
SSCG101は、位相比較器(PFD)111、チャージポンプ(CP)112、ローパスフィルタ(LPF)113、電圧制御発振器(VCO)114、位相制御回路115および分周器116を有する。
【0016】
PFD111は、入力する基準クロックCKrと、VCO114からの出力クロックCK10を分周器116で1/N分周した信号とを比較する。PFD111の出力は、CP112およびLPF113を介してVCO114に入力され、出力クロックCK10を出力する。
【0017】
出力クロックCK10は、VCO114を制御する位相制御回路115に入力され、例えば、クロックエッジを三角波や正弦波で位相変調する。具体的に、図2に示されるように、VCO114からの出力クロックCK10は、例えば、クロックの立ち上がりエッジおよび立ち下がりエッジ(クロックエッジ)が三角波で位相変調される。
【0018】
SSCG101の出力クロックCK10は、PLL回路102に入力され、このPLL回路102で、例えば、2逓倍されてスペクトラム拡散クロックCK20として、半導体集積回路における様々な内部回路に入力される。ここで、PLL回路102は、2逓倍するものに限定されず、そのままの周波数を出力するもの、或いは、様々に逓倍または分周して出力してもよい。
【0019】
このように、図1に示すクロック生成回路は、PLLに対して位相制御回路115による位相制御機能を追加したSSCG101と、逓倍(または、分周)を行うPLL回路102のカスケード接続により所望のクロックを生成する。これにより、クロックの周波数成分のピークを抑えて、その周波数およびその高調波での輻射を低減し、EMI対策を行っている。
【0020】
しかしながら、上述した図1に示すクロック生成回路は、例えば、SSCG101でも、PLLと同様にLPF113を構成する容量等が使用されるため、占有面積が大きくなってしまう。また、SSCG101およびPLL回路102におけるフィードバック処理のため定常位相誤差が大きくなり、クロックが安定するまでに時間がかかるといった問題がある。
【0021】
以下、クロック生成回路、クロック生成方法および半導体集積回路の実施例を、添付図面を参照して詳述する。図3は、本実施例のクロック生成回路を示すブロック図である。
【0022】
図3において、参照符号1はPLL回路、2は16ビットカウンタ、3は16:4エンコーダ、4は信号の立ち上がり,および/または,立ち下がりの傾きを調整するバッファ(Tr/Tf調整バッファ)、並びに、5はTr/Tfに依存する遅延時間調整バッファを示す。
【0023】
参照符号61〜64は、例えば、半導体集積回路(チップ)に設けられた各内部回路でクロックを受け取るフリップフロップを示す。すなわち、クロック(CK3)は、フリップフロップ(内部回路)61〜64を介して、半導体集積回路内の様々な回路へ入力される。
【0024】
ここで、Tr/Tf調整バッファ4は、後で詳述するように、制御コードにより、信号の立ち上がり(Tr)の傾き(駆動電流),信号の立ち下がり(Tf)の傾き,或いは、信号の立ち上がりおよび立ち下がりの両方の傾きを調整する。
【0025】
図3に示されるように、本実施例のクロック生成回路において、基準クロックCKrが入力されたPLL回路1の出力CK1は、16ビットカウンタ2に入力されると共に、Tr/Tf調整バッファ4に入力される。カウンタ2の出力は、16:4エンコーダ(制御コード生成回路)3に入力されて4ビットの制御コードSEL[3:0]に変換され、その制御コードSEL[3:0]は、Tr/Tf調整バッファ4に入力される。
【0026】
Tr/Tf調整バッファ4は、プリインバータ41、並びに、並列に接続されたインバータ42および430〜433を有する。インバータ42および430〜433は、それぞれpチャネル型MOSトランジスタ(pMOSトランジスタ)およびnMOSトランジスタによるCMOSインバータとして構成されている。
【0027】
インバータ430〜433には、それぞれ制御コードSEL[0]〜SEL[3]により制御されるスイッチSWp0〜SWp3,SWn0〜SWn3が設けられている。具体的に、例えば、インバータ430のpMOSトランジスタのソースと高電位電源線Vddとの間にはスイッチSWp0が設けられ、インバータ430のnMOSトランジスタのソースと低電位電源線Vssとの間にはスイッチSWn0が設けられている。
【0028】
なお、インバータ42のpMOSトランジスタのソースは、そのまま高電位電源線Vddに接続され、インバータ42のnMOSトランジスタのソースは、そのまま低電位電源線Vssに接続されている。
【0029】
ここで、インバータ42および430〜433は、例えば、全てのpおよびnMOSトランジスタのサイズ(ゲート幅)を同様に形成することで、同じ駆動能力(電流供給能力)を持たせてもよいが、駆動能力に差を持たせてもよい。
【0030】
具体的に、インバータ42および430〜433の駆動能力を、インバータ42<インバータ433<インバータ432<インバータ431<インバータ430(例えば、駆動能力の比率が1:2:4:8:16)となるように設定することができる。
【0031】
以上により、Tr/Tf調整バッファ4は、4ビットの制御コードSEL[0]〜SEL[3]によりインバータ430〜433の接続を制御することで、1つのインバータ42だけによる駆動から5つのインバータ42および430〜433による駆動を制御する。
【0032】
図3では、4ビットの制御コードSEL[0]〜SEL[3]は、インバータ430〜433の各スイッチSWp0,SWn0〜SWp3,SWn3を制御するようになっている。すなわち、具体的に、SEL[3:0]={0000}のとき、SWp0〜SWp3は全てオフし、信号CK2(IN1)の立ち上がりは、インバータ42だけで駆動されるため、信号CK2の傾きは緩やか(立ち上がりの遅延は160psec)になる。
【0033】
また、具体的に、SEL[3:0]={1111}のとき、SWp0〜SWp3は全てオンし、信号CK2の立ち上がりは、インバータ42および430〜433の全てにより駆動されるため、信号CK2の立ち上がりの傾きは急峻(立ち上がりの遅延は10psec)になる。
【0034】
ここで、制御コードによる制御は、後で詳述する図12〜図14と同様に、例えば、スイッチSWp0〜SWp3を制御してインバータ430〜433におけるpMOSトランジスタによる信号の立ち上がりの傾きを制御するがそれに限定されるものではない。
【0035】
すなわち、制御コードによる制御は、後で図15および図16を参照して詳述するように、例えば、スイッチSWn0〜SWn3を制御してインバータ430〜433におけるnMOSトランジスタによる信号の立ち下がりの傾きを制御してもよい。
【0036】
さらに、制御コードによる制御は、後で図17〜図21を参照して詳述するように、例えば、スイッチSWp0〜SWp5およびSWn0〜SWn5を制御してインバータ430〜433におけるpおよびnMOSトランジスタの両方を制御してもよい。この場合、各インバータにおけるpおよびnMOSトランジスタは、立ち上がりと立ち下がりで異なる傾き(遅延)の特性を有するため、クロック周波数の変動が可能になる。
【0037】
なお、生成されるスペクトラム拡散クロックは、後で図22〜図24を参照して詳述するように、例えば、基準クロックに対して周波数が高くなる方向および低くなる方向の両方に周波数(位相)を変動させるセンタースプレッド制御により生成することができる。
【0038】
また、生成されるスペクトラム拡散クロックは、後で図25および図26を参照して詳述するように、例えば、基準クロックに対して周波数が低くなる方向のみ周波数を変動させるダウンスプレッド制御により生成することもできる。
【0039】
さらに、後で図27を参照して詳述するように、これらスペクトラム拡散クロックを生成するスペクトラム拡散クロック・ジェネレータ(SSCG)は、半導体集積回路における複数のクロックドメインに対してそれぞれ設けることもできる。
【0040】
なお、Tr/Tf調整バッファ4においてスイッチング制御されるインバータの数、並びに、制御コード(SEL[3:0])を生成するための16ビットカウンタ2および16:4エンコーダ3等は、図3のものに限定されず、適宜変更することができるのはいうまでもない。
【0041】
図4は、図3に示すクロック生成回路における制御コードとTr/Tfの関係を示す図である。図3において、各制御コードSEL[0]〜SEL[3]において、『0』は対応するスイッチSWp0〜SWp3(SWn0〜SWn3)をオフすることを示し、また、『1』はオンすることを示す。
【0042】
図4に示されるように、Tr/Tf調整バッファ4によるTr/Tfの遅延(傾き)は、制御コードSEL[0]〜SEL[3]により10psec〜160psecの遅延を10psecの間隔で制御することができる。
【0043】
図5および図6は、図4に示す制御コードと立ち上がりエッジの関係を説明するための図である。
【0044】
図5に示されるように、制御コードSEL[3:0]を{1111}→{1100}→{1000}→{0011}→{0000}→{0011}→{1000}→{1100}→{1111}と制御することにより、Tr/Tfの遅延を10→40→80→130→160→130→80→40→10psecと変化させることができる。
【0045】
また、図6に示されるように、制御コードSEL[3:0]を、{0000}および{1111}と制御することにより、Tr/Tfの遅延を、160psecおよび10psecと変化させることができる。
【0046】
ここで、図5および図6では、立ち上がりエッジ(Tr)の傾き(遅延)の変化を示しているが、立ち下がりエッジ(Tf)の傾きの変化を利用することもでき、それは、例えば、図15および図16を参照して後に詳述する。
【0047】
なお、図3は、Tr/Tf調整バッファ4で、制御コードSEL[3:0]を{0000}および{1111}と制御してTr/Tfの遅延を160psecおよび10psecと変化させ、遅延時間調整バッファ5によりTr/Tf依存の遅延時間が異なるクロックCK3を出力する様子を示している。
【0048】
図7は、本実施例のクロック生成回路の適用例を説明するための図であり、図7(a)〜図7(c)は、それぞれ遅延時間調整バッファ5から出力されるクロックCK3の遅延(Tr/Tf依存の遅延)の様子を示す。
【0049】
図7(a)は、偶数周期ではTr/Tf調整バッファ4に入力する信号CK1と同じ第1周波数のクロックが生成され、奇数周期では第1周波数とは異なる第2周波数のクロックが生成される様子を示す。
【0050】
これは、例えば、図6を参照して説明したTr/Tf調整バッファ4により、制御コードSEL[3:0]を{0000}および{1111}と制御して得られる160psecおよび10psecの信号CK2を利用して実現することができる。
【0051】
図7(b)は、偶数周期では第1周波数のクロックが生成され、奇数周期では第1周波数とは異なる第2および第3周波数のクロックが生成される様子を示す。
【0052】
ここで、図7(a)と図7(b)の違いは、図7(a)における奇数周期では、常に第2周波数のクロックだけが生成されるのに対して、図7(b)における奇数周期では、異なる周波数(第2および第3周波数)のクロックが順番に生成されるようになっている。
【0053】
なお、図7(b)において、奇数周期で生成されるクロックの周波数は2種類とされているが、これは、2種類に限定されないのはいうまでもない。
【0054】
図7(c)は、図1および図2を参照して説明したのと同様に、時間の経過に従って各クロックの周波数を順に変化させる様子を示す。これは、例えば、図5を参照して説明したTr/Tf調整バッファ4の制御により得られる遅延が順次変化する信号CK2を利用して実現することができる。
【0055】
なお、図7(a)および図7(b)において、偶数周期および奇数周期は逆にしてもよい。すなわち、第1周波数のクロックを奇数周期で生成し、偶数周期で第1周波数と異なる周波数のクロックを生成してもよい。さらに、例えば、第1周波数のクロックを生成するのは、偶数または奇数の1周期毎でなくてもよく、例えば、2周期毎や4周期毎のように適宜変更することができる。
【0056】
また、図7(c)において、周期的に変化する異なる周波数のクロックは、異なる周波数の12個のクロックで1周期を構成するものに限定されず、様々に変化させることができる。
【0057】
図8は、本実施例のクロック生成回路の変形例を示すブロック図である。図8と、前述した図3との比較から明らかなように、本変形例のクロック生成回路では、Tr/Tf調整バッファ4に入力する4ビットの制御コードSEL[3:0]を、外部から直接与えられる。
【0058】
すなわち、本変形例は、図3に示す本実施例のクロック生成回路において、4ビットの制御コードSEL[3:0]を生成するための16ビットカウンタ2および16:4エンコーダ3を不要とし、外部から直接4ビットの制御コードSEL[3:0]を入力している。
【0059】
図9〜図11は、本実施例のクロック生成回路による効果を説明するための図であり、図9はFFT(Fast Fourier Transform:高速フーリエ変換)入力波形を示し、図10はFFT結果を示し、図11は周波数分布を示す。
【0060】
図9(a),図10(a)および図11(a)は、奇数周期で周波数を周期的に変動した場合(図7(b)に対応)を示し、図9(b),図10(b)および図11(b)は、偶数周期と奇数周期で異なる周波数に固定した場合(図7(a)に対応)を示す。
【0061】
すなわち、図9(a),図10(a)および図11(a)は、奇数周期におけるTr/Tf調整を、制御コードを変化させて行う。ここで、Tr/Tf調整を行うための制御コードは、周期性を有している。また、図9(b),図10(b)および図11(b)は、奇数周期におけるTr/Tf調整を、固定の制御コードで行う。
【0062】
なお、図9(c),図10(c)および図11(c)は、スペクトラム拡散クロック(SSC:Spread Spectrum Clock)技術を適用しない場合(基本波形:例えば、100MHz)を示す。
【0063】
図9(a),図10(a)および図11(a)と、図9(c),図10(c)および図11(c)との比較から明らかなように、奇数周期で周波数(周期)を周期的に変動した場合、FFT結果および周波数分布は、ピークが抑制されて幅が広がっている。
【0064】
具体的に、図11(a)では、例えば、100MHz,123MHz,133MHzおよび177MHzのクロック成分が出現し、図11(c)よりも、100MHzのピーク(出現率)が大幅に低減されているのが分かる。
【0065】
図9(b),図10(b)および図11(b)と、図9(c),図10(c)および図11(c)との比較から明らかなように、偶数周期と奇数周期で異なる周波数に固定した場合、FFT結果および周波数分布は、ピークが抑制されて幅が広がっている。
【0066】
具体的に、図11(b)では、例えば、100MHzおよび123MHzのクロック成分が出現し、図11(c)よりも、100MHzのピークが抑制されているのが分かる。
【0067】
このように、奇数周期で周波数を周期的に変動したとき、並びに、偶数周期と奇数周期で異なる周波数に固定したときは、SSC技術を適用しない基本波形の場合よりも、大幅に振幅のピークを抑制することができる。
【0068】
本実施例のクロック生成回路によれば、占有面積や定常位相誤差の増大、並びに、クロックが安定するまでに長時間を要することなく、スペクトラム拡散クロックを生成してEMI対策を行うことが可能になる。
【0069】
図12は、第1実施例のクロック生成回路の要部を示すブロック図である。図12に示されるように、Tr/Tf調整バッファ4は、論理を調整するためのインバータ40、プリインバータ41、固定のインバータ42、並びに、スイッチSWp0,SWp1およびpMOSトランジスタ430p,431pを有する。
【0070】
なお、遅延時間調整バッファ5は、例えば、前述した図3と同様のものである。ここで、Tr/Tf調整バッファ4による遅延(NET0からNET1の遅延)を遅延1(Delay 1)とし、遅延時間調整バッファ5による遅延(NET1からNET2の遅延)を遅延2(Delay 2)とする。
【0071】
図12に示されるように、トランジスタ430pのソースは、スイッチSWp0を介して高電位電源線Vddに接続され、トランジスタ431pのソースは、スイッチSWp1を介して高電位電源線Vddに接続される。
【0072】
Tr/Tf調整バッファ4に入力された制御コードSEL[1:0]は、インバータ40で反転増幅され、信号Net-SEL[0]はスイッチSWp0を制御し、信号Net-SEL[1]はスイッチSWp1を制御する。
【0073】
Tr/Tf調整バッファ4の端子INに入力するクロックCK1(NET0)は、プリインバータ41で反転され、さらに、インバータ42およびpMOSトランジスタ320p,431pにより反転されると共に、立ち上がりエッジの傾き(駆動電流)が制御される。
【0074】
すなわち、Tr/Tf調整バッファ4の端子OUTから出力されるクロックCK2(NET1)は、制御コードSEL[1:0]に従って立ち上がりエッジの傾き(Tr依存遅延)が制御された信号として出力される。
【0075】
具体的に、例えば、信号Net-SEL[0]およびNet-SEL[1]が高レベル『1』のとき、スイッチSWp0およびSWp1がオンしてトランジスタ430pおよび431pがトランジスタ42pと並列に接続され、これにより信号NET1の立ち上がりエッジが急峻になる。
【0076】
そして、信号Net-SEL[0],Net-SEL[1]のレベルによりスイッチSWp0,SWp1のスイッチングを制御して、トランジスタ42pと並列接続されるトランジスタ430pおよび431pによる駆動電流を制御して信号NET1の立ち上がりエッジを調整する。
【0077】
ここで、pMOSトランジスタ430pのサイズ(ゲート幅)は、例えば、pMOSトランジスタ431pのサイズの2倍程度とされている。
【0078】
図13および図14は、図12に示すクロック生成回路の動作を説明するための図である。図13は、Tr/Tf調整バッファ4の出力信号NET1(CK2)が1周期毎に一定の傾き(遅延:Delay)となる場合を示し、図14は、Tr/Tf調整バッファ4の出力信号NET1が1周期毎に変化する遅延となる場合を示す。
【0079】
なお、図13および図14において、1周期(Cycle time)は、信号(例えば、NET1)の任意の立ち上がりタイミングから次の立ち上がりタイミングまでの周期とする。
【0080】
すなわち、図13は、奇数周期のTr/Tf調整バッファ4の出力信号NET1(CK2)が1周期毎に一定の遅延となる場合を示し、図14は、Tr/Tf調整バッファ4の出力信号NET1が1周期毎に変化する遅延となる場合を示す。
【0081】
具体的に、図13の場合、例えば、奇数周期C1,C3,…において、信号NET-SEL[0]を高レベル『1』で信号NET-SEL[1]を低レベル『0』とし、pMOSトランジスタ42pおよび430pによる駆動電流を利用して立ち上がりエッジの傾きを規定する。
【0082】
なお、偶数周期C2,C4,…においては、信号NET-SEL[0]およびNET-SEL[1]を高レベル『1』とし、pMOSトランジスタ42p,430pおよび431pによる駆動電流を利用して立ち上がりエッジの傾きを規定する。
【0083】
すなわち、信号NET1の立ち上がりの正の傾きは、奇数周期ではpMOSトランジスタ431pによる駆動電流が利用できないため少し緩やかになり、偶数周期ではpMOSトランジスタ42p,430pおよび431pの全ての駆動により急峻になる。
【0084】
その結果、遅延時間調整バッファ5の出力信号NET2(クロックCK3)は、例えば、奇数周期で8.75nsecとなり、偶数周期で11.25nsecとなって、これら異なる周波数のクロックが奇数周期と偶数周期で変化することになる。
【0085】
一方、図14の場合、例えば、第1の奇数周期C1において、信号NET-SEL[0]を高レベル『1』で信号NET-SEL[1]を低レベル『0』とし、第2の奇数周期C3において、信号NET-SEL[0]を低レベル『0』で信号NET-SEL[1]を高レベル『1』とする。さらに、第3の奇数周期C5において、信号NET-SEL[0]およびNET-SEL[1]を低レベル『0』とする。
【0086】
これにより、信号NET1の立ち上がりの正の傾きは、第1の奇数周期C1ではトランジスタ42pおよび430pによる駆動で少し緩やかになり、第2の奇数周期C1ではトランジスタ42pおよび431pによる駆動でさらに緩やかになる。
【0087】
すなわち、トランジスタ430pのゲート幅は、例えば、トランジスタ431pのゲート幅の2倍程度とされているため、トランジスタ42pおよび431pの方がトランジスタ42pおよび430pよりも駆動電流が小さいため、傾きが緩やかになる。
【0088】
そして、第3の奇数周期C1ではトランジスタ42pだけにより駆動されるため、さらに傾きが緩やかになる。なお、偶数周期C2,C4,…においては、図13の場合と同様に、信号NET-SEL[0]およびNET-SEL[1]を高レベル『1』とし、pMOSトランジスタ42p,430pおよび431pによる駆動電流を利用して立ち上がりエッジの傾きを規定する。
【0089】
その結果、遅延時間調整バッファ5の出力信号NET2(クロックCK3)は、例えば、周期の順に、8.75nsec,12.5nsec,7.5nsec,13.75nsec,…と変化することになる。
【0090】
以上において、図12では、インバータ42のpMOSトランジスタ42pと並列に接続されるpMOSトランジスタの数は、説明を簡略化するために2個(430p,431p)としているがその数は適宜変更することができる。
【0091】
また、pMOSトランジスタ42p,430p,431pのゲート幅は、所定の比率(例えば、4:2:1)として形成してもよいが、例えば、全て同じサイズとして形成することもできる。
【0092】
さらに、nMOSトランジスタ42nのサイズに関しては、例えば、pMOSトランジスタ42p,430p,431pを合計したサイズとして形成してもよいが、それに限定されるものではない。
【0093】
また、図12では、入力される制御コードSEL[1:0]をインバータ40で反転し、その反転した信号Net-SEL[0],Net-SEL[1]によりスイッチSWp0,SWp1を制御しているが、この信号の論理も図示のものに限定されるものではない。
【0094】
図15は、第2実施例のクロック生成回路の要部を示すブロック図であり、図16は、図15に示すクロック生成回路の動作を説明するための図である。図15と前述した図12との比較から明らかなように、本第2実施例のクロック生成回路において、Tr/Tf調整バッファ4は、複数のpMOSトランジスタ430p,431pの代わりに複数のnMOSトランジス430n,430nを有する。
【0095】
なお、遅延時間調整バッファ5は、例えば、前述した図12(図3)と同様のものである。ここで、Tr/Tf調整バッファ4による遅延(NET0からNET1の遅延)をDelay 1とし、遅延時間調整バッファ5による遅延(NET1からNET2の遅延)をDelay 2とする。
【0096】
図15に示されるように、トランジスタ430nのソースは、スイッチSWn0を介して低電位電源線Vssに接続され、トランジスタ431nのソースは、スイッチSWn1を介して低電位電源線Vssに接続される。
【0097】
Tr/Tf調整バッファ4に入力された制御コードSEL[1:0]は、バッファ40’で増幅され、信号Net-SEL[0]はスイッチSWn0を制御し、信号Net-SEL[1]はスイッチSWn1を制御する。
【0098】
Tr/Tf調整バッファ4の端子INに入力するクロックCK1(NET0)は、プリインバータ41で反転され、さらに、インバータ42およびnMOSトランジスタ320n,431nにより反転されると共に、立ち下がりエッジの傾き(駆動電流)が制御される。
【0099】
すなわち、Tr/Tf調整バッファ4の端子OUTから出力されるクロックCK2(NET1)は、制御コードSEL[1:0]に従って立ち下がりエッジの傾き(Tf依存遅延)が制御された信号として出力される。
【0100】
具体的に、図16の場合、例えば、奇数周期C1,C3,…において、信号NET-SEL[0]を高レベル『1』で信号NET-SEL[1]を低レベル『0』とし、nMOSトランジスタ42nおよび430nによる駆動電流を利用して立ち下がりエッジの傾きを規定する。
【0101】
なお、偶数周期C2,C4,…においては、信号NET-SEL[0]およびNET-SEL[1]を高レベル『1』とし、nMOSトランジスタ42n,430nおよび431nによる駆動電流を利用して立ち下がりエッジの傾きを規定する。
【0102】
すなわち、信号NET1の立ち下がりの負の傾きは、奇数周期ではnMOSトランジスタ42nおよび430nによる駆動で少し緩やかになり、偶数周期ではnMOSトランジスタ42n,430nおよび431nによる駆動で急峻になる。
【0103】
その結果、遅延時間調整バッファ5の出力信号NET2(クロックCK3)は、例えば、奇数周期で8.75nsecとなり、偶数周期で11.25nsecとなって、これら異なる周波数のクロックが奇数周期と偶数周期で変化することになる。
【0104】
なお、前述した図14と同様に、本第2実施例のクロック生成回路においても、信号NET1の立ち下がりの負の傾きを、各奇数周期で順に変化させ、信号NET2の周波数を周期的に変化させることもできる。
【0105】
なお、本第2実施例のクロック生成回路においても、インバータ42のnMOSトランジスタ42nと並列に接続されるnMOSトランジスタの数は、2個(430n,431n)に限定されず、適宜変更することができる。
【0106】
また、nMOSトランジスタ42n,430n,431nのゲート幅は、所定の比率として形成してもよいが、例えば、全て同じサイズとして形成することもできる。さらに、pMOSトランジスタ42pのサイズに関しては、例えば、nMOSトランジスタ42n,430n,431nを合計したサイズとして形成してもよいが、それに限定されるものではない。
【0107】
図17は、第3実施例のクロック生成回路を示すブロック図であり、図18は、図17に示すクロック生成回路の動作を説明するための図である。図17と前述した図3との比較から明らかなように、本第3実施例のクロック生成回路において、カウンタ2は、11ビットカウンタとされ、エンコーダ(制御コード生成回路)3は、11:7エンコーダとされている。
【0108】
Tr/Tf調整バッファ4は、プリインバータ41、並列に接続されたインバータ42および430〜435、並びに、差動の制御コードを生成するためのインバータ44を有する。インバータ42および430〜435は、それぞれpMOSトランジスタおよびnMOSトランジスタによるCMOSインバータとして構成されている。
【0109】
インバータ44は、6ビットの制御コードSEL[5:0]を受け取って、差動の制御コードSEL[0]〜SEL[5]および/SEL[0]〜/SEL[5]を生成し、それぞれスイッチ430p〜435pおよび430n〜435nのスイッチングを制御する。
【0110】
本第3実施例のクロック生成回路では、インバータ430〜435におけるpまたはnMOSトランジスタの一方を制御して信号CK2の立ち上がりまたは立ち下がりの傾き(遅延)を制御するのではなく、両方のトランジスタの接続を制御する。
【0111】
すなわち、信号CK2を生成(駆動)するのに使用するインバータ430〜435を制御する。なお、インバータ430〜435は、pMOSトランジスタ430p〜435pおよびnMOSトランジスタ430n〜435nのサイズがそれぞれ同様とされ、全て同じ駆動能力を有するようになっている。
【0112】
図18において、○印で示す領域は、例えば、Tr/Tf調整バッファ4に入力するクロックCK1(基本周波数:100MHz)に対応した1周期(10nsec)を示し、△印で示す領域は、遅延時間調整バッファ5の出力クロックCK3のデフォルト周期を示す。
【0113】
なお、デフォルト周期は、Tr/Tf調整バッファ4におけるインバータ42および430〜435が全てオンしたときの周期である。また、図18において、□印で示す領域は、例えば、5個のインバータをオフしたときの遅延時間調整バッファ5の出力クロックCK3の周期を示す。
【0114】
図18に示されるように、本第3実施例のクロック生成回路は、制御コードSEL[5:0]によりインバータ430〜435の接続を制御し、位相保持を行うために1周期毎に前の周期の制御コードに対してコードを上乗せする(図18における△印の領域)。また、クロックCK3の周波数を変動させるために位相をずらす際は、制御コードをさらに1コード上乗せする(図18におけるCC個所を参照)。
【0115】
図19は、図17に示すクロック生成回路におけるカウンタおよびエンコーダの動作を説明するための図であり、図20は、図17に示すクロック生成回路におけるエンコーダの動作を説明するための図である。
【0116】
図19に示されるように、11ビットカウンタ2は、PLL回路1の出力(クロックCK1)をカウントし、カウント値COUNT[10:0]を出力する。
【0117】
具体的に、11ビットカウンタ2は、例えば、基本周波数(クロックCK1)=100MHz(1周期=10nsec)×211で、変調周波数(SSC周波数)=50KHz(1周期=20μsec)を数える。すなわち、20μsec/10nsec=2000≒2048=211となり、基本周波数とスペクトラム拡散クロック(SSC)の周波数の比で決まる。
【0118】
なお、11ビットのカウント値COUNT[10:0]における最上位ビットCOUNT[10]は、アップ/ダウン(Up/Down)モードを示し、下位の10ビットCOUNT[9:0]がアップまたはダウンのカウント数を示す。
【0119】
すなわち、図19に示されるように、最上位ビットCOUNT[10]が『0』のときは、カウントアップモードで、カウント値COUNT[9:0]は{0000000000}から順にカウントアップされる。そして、カウント値[9:0]は{1111111111}で最大となり、その後、最上位ビットCOUNT[10]が『1』となってカウントダウンモードに変化し、それ以降、{0000000000}までカウントダウンされる。
【0120】
11ビットカウンタ2の出力は、10:7エンコーダ3に入力され、例えば、カウント値を10(フェーズエラーゲイン:Phase Error Gain)毎に纏めた7ビットの制御コードSEL[6:0]に変換される。
具体的に、図19に示されるように、例えば、COUNT[10:0]が{00000000000}〜{00000001001}のとき、SEL[6:0]は{0000000}となり、COUNT[10:0]が{00000001010}〜{00000010011}のとき、SEL[6:0]は{0000001}となる。エンコーダ3の出力(制御コードSEL[6:0])のビット数は、アップまたはダウンモードにおけるカウント数×フェーズエラーゲインで決まる。
【0121】
図17の例では、アップまたはダウンモードのカウント数は1024で、フェーズエラーゲインが10なので、1024÷10=102.4=27で7ビットのエンコーダ(10:7エンコーダ)となる。
【0122】
なお、図20に示されるように、10:7エンコーダ3から出力される制御コードSEL[6:0]において、冗長なビット(SEL[6:0]={1100111}〜{1110011})は不使用(Unused)として扱う。そして、エンコーダ3から出力される制御コードSEL[6:0]のうち、6ビットの制御コードSEL[5:0]により、Tr/Tf調整バッファ4におけるインバータ430〜435の接続を制御する。
【0123】
図21は、図17に示すクロック生成回路の仕様の一例を示す図であり、上述した例を纏めて示すものである。すなわち、図21に示されるように、図17に示すクロック生成回路の仕様の一例は、次の通りである。
【0124】
(I)基本周波数(CK1)は100.00E+06Hz(100MHz)で、周期は10.00E-09sec(10nsec)。
(II)SSC周波数(変調周波数)は50.00E+03Hz(50KHz)で、周期は20.00E-06sec(20μsec)。
【0125】
(III)SSC変調度は1%で、フェーズエラー(Phase Error:PE)は100.00E-12sec(100psec)。
(IV-1)カウンタビット幅(Counter Bit Width:CBW)は11ビット[10:0]=211。なお、最上位ビット[10]は、アップ/ダウンの符号を示し、ビット[9:0]は、カウント値を示す。
【0126】
(IV-2)フェーズエラーゲイン(Phase Error Gain:PEG)は10.0。
(V)SSC分解能は、1ステップがPE/CBE/2*PEGで、1ステップの位相ずれは、976.562500000E-15sec(0.9765625psec)。
【0127】
ここで、SSC分解能は、例えば、図1を参照して説明したPLLベースのクロック生成回路がアナログ(線形)動作であるのに対して、本実施例のクロック生成回路がデジタル(離散)動作になるために規定する値である。なお、図21に示すクロック生成回路の仕様は、単なる例であり、様々に変更することができるのはいうまでもない。
【0128】
図22〜図24は、図17に示すクロック生成回路の具体的な動作の一例を説明するための図である。図22および図23において、ステップ51,52,…,101,102,101,…は、前述した図19のステップ1〜205に対応する。
【0129】
また、時間(time)secは、入力クロックCK1の立ち上がりエッジの傾き(遅延)を示す時間であり、時間[変調後]secは、変調後(生成されるスペクトラム拡散クロック)の立ち上がりエッジの遅延を示す時間である。なお、フェーズエラー(Phase Error)secは、時間(time)secから時間[変調後]secを差し引いた値になる。
【0130】
図24は、図22および図23による制御動作を、横軸に変調周期を取り、縦軸にフェーズエラーを取って描いたものである。図22〜図24に示されるように、フェーズエラーは、変調周期が000E+00sec,10.23E-06secおよび20.47E-06secで000E+00sec(零)となり、5.12E-06secで頂点(極大)となり、15.35E-06secで底(極小)となる。
【0131】
このように、生成されるスペクトラム拡散クロック(CK3)の周期(周波数)は、基準クロック(CK1)に対して周波数が高くなる方向および低くなる方向の両方に変動させるセンタースプレッド制御により生成することができる。
【0132】
図25および図26は、図17に示すクロック生成回路の具体的な動作の他の例を説明するための図である。ここで、図25は、前述した図22および図23に対応し、図26は、前述した図24に対応する。
【0133】
図25および図26に示されるように、フェーズエラーは、変調周期が000E+00secおよび10.47E-06secで000E+00sec(零)となり、10.23E-06secで頂点(極大)となる。
【0134】
このように、生成されるスペクトラム拡散クロック(CK3)の周期(周波数)は、基準クロック(CK1)に対して周波数が低くなる方向のみ周波数を変動させるダウンスプレッド制御により生成することができる。
【0135】
なお、図24および図26に示されるように、上述した例では、スペクトラム拡散クロックの周波数が三角波に従って変化する場合を説明したが、三角波に限定されないのはもちろんである。
【0136】
図27は、図17に示すクロック生成回路を適用した半導体集積回路の一例を示すブロック図である。図27において、参照符号500は半導体集積回路(チップ)、BLOCK−A〜−Dはクロックドメイン、PLL−A,−BはPLL回路、MP−C,−Dは逓倍器、そして、SEL−A〜−Dはセレクタを示す。
【0137】
ここで、PLL−Aは、100MHzのクロック(基準周波数FcA)を生成し、PLL−Bは、133MHzのクロック(FcB)を生成する。逓倍器MP−CおよびMP−Dは、それぞれ入力クロックを4逓倍して出力する。
【0138】
セレクタSEL−A〜−Dは、それぞれ制御信号のレベル『0』または『1』に従って、基準周波数のクロック、または、SSCGにより処理されたスペクトラム拡散クロックを選択して各クロックドメインBLOCK−A〜−Dに出力する。
【0139】
すなわち、各クロックドメインBLOCK−A〜−Dにおいて、セレクタSEL−A〜−Dにより選択されたクロックは、例えば、それぞれバッファを介してフリップフロップ(内部回路)へ入力される。
【0140】
なお、各SSCGにおけるカウンタ2およびエンコーダ3のビット数は、適宜、最適な数に設定することができる。また、各クロックドメインBLOCK−A〜−DにおけるSSCG変調度設定は同一とし、Fs=50KHz,3%とする。以下、具体的な場合を例示して、動作を説明する。
【0141】
まず、EMI違反(電磁波干渉による問題)が無い場合、全てのクロックドメインBLOCK−A〜−DにおけるSSCGはオフして、各セレクタSEL−A〜−DはSSC変調無しのクロックを選択して出力する。すなわち、次のようになる。
【0142】
すなわち、SEL−A〜−Dは、SEL−A=『0』,SEL−B=『0』,SEL−C=『0』,SEL−D=『0』を選択する。これにより、BLOCK−A〜Dの周波数は、以下のようになる。
BLOCK−A:Fca=100MHz
BLOCK−B:Fcb=133MHz
BLOCK−C:Fcc=400MHz
BLOCK−D:Fcd=533MHz
【0143】
次に、EMI違反が100MHz系クロック(PLL−A)で発生した場合、100MHz系クロックを使用するBLOCK−AおよびBLOCK−CのSSCGをオンして、BLOCK−BおよびBLOCK−DのSSCGをオフする。
【0144】
そして、セレクタSEL−AおよびSEL−CはSSC変調有りのクロックを選択し、SEL−BおよびSEL−DはSSC変調無しのクロックを選択して出力する。
【0145】
すなわち、SEL−A〜−Dは、SEL−A=『1』,SEL−B=『0』,SEL−C=『1』,SEL−D=『0』を選択する。これにより、BLOCK−A〜Dの周波数は、以下のようになる。
BLOCK−A:Fca=100MHz,Fs=50KHz,3%
BLOCK−B:Fcb=133MHz
BLOCK−C:Fcc=400MHz,Fs=50KHz,3%
BLOCK−D:Fcd=533MHz
【0146】
一方、EMI違反が133MHz系クロック(PLL−B)で発生した場合、133MHz系クロックを使用するBLOCK−BおよびBLOCK−DのSSCGをオンして、BLOCK−AおよびBLOCK−CのSSCGをオフする。そして、セレクタSEL−AおよびSEL−CはSSC変調無しのクロックを選択し、SEL−BおよびSEL−DはSSC変調有りのクロックを選択して出力する。
【0147】
すなわち、SEL−A〜−Dは、SEL−A=『0』,SEL−B=『1』,SEL−C=『0』,SEL−D=『1』を選択する。これにより、BLOCK−A〜Dの周波数は、以下のようになる。
BLOCK−A:Fca=100MHz
BLOCK−B:Fcb=133MHz,Fs=50KHz,3%
BLOCK−C:Fcc=400MHz
BLOCK−D:Fcd=533MHz,Fs=50KHz,3%
【0148】
さらに、EMI違反がBLOCK−Aで発生した場合、BLOCK−AのSSCGだけをオンして、BLOCK−B〜−DのSSCGをオフする。そして、セレクタSEL−AはSSC変調有りのクロックを選択し、SEL−B〜−DはSSC変調無しのクロックを選択して出力する。これにより、BLOCK−A〜Dの周波数は、以下のようになる。
BLOCK−A:Fca=100MHz,Fs=50KHz,3%
BLOCK−B:Fcb=133MHz
BLOCK−C:Fcc=400MHz
BLOCK−D:Fcd=533MHz
【0149】
また、EMI違反が全てのBLOCK−A〜−Dで発生した場合、BLOCK−A〜−Dの全てのSSCGをオンする。そして、セレクタSEL−A〜−Dは、全てSSC変調有りのクロックを選択して出力する。これにより、BLOCK−A〜Dの周波数は、以下のようになる。
BLOCK−A:Fca=100MHz,Fs=50KHz,3%
BLOCK−B:Fcb=133MHz,Fs=50KHz,3%
BLOCK−C:Fcc=400MHz,Fs=50KHz,3%
BLOCK−D:Fcd=533MHz,Fs=50KHz,3%
【0150】
以上の説明では、全てのクロックドメインBLOCK−A〜−DにおけるSSCG変調度が、Fs=50KHz,3%と全て同じに設定された場合を説明したが、次に、BLOCK−A〜−DにおけるSSCG変調度の設定が全て異なる場合を説明する。
【0151】
具体的に、BLOCK−A〜−DにおけるSSCG変調度を、順に、Fs=20KHz,5%、Fs=30KHz,4%、Fs=40KHz,3%、Fs=50KHz,2%と設定した場合を説明する。
【0152】
このとき、EMI違反が全てのBLOCK−A〜−Dで発生すると、BLOCK−A〜−Dの全てのSSCGをオンし、セレクタSEL−A〜−Dは、全てSSC変調有りのクロックを選択して出力する。これにより、BLOCK−A〜Dの周波数は、以下のようになる。
BLOCK−A:Fca=100MHz,Fs=20KHz,5%
BLOCK−B:Fcb=133MHz,Fs=30KHz,4%
BLOCK−C:Fcc=400MHz,Fs=40KHz,3%
BLOCK−D:Fcd=533MHz,Fs=50KHz,2%
【0153】
このように、半導体集積回路500において、複数のクロックドメインBLOCK−A〜−DのSSCGは、EMI違反の状態等により個別にSSC(スペクトラム拡散クロック)の生成を制御することができる。なお、クロックドメインの数やPLL回路の数、および、各クロックドメインで使用する周波数等は、様々に変更することができるのはいうまでもない。
【0154】
以上の実施例を含む実施形態に関し、さらに、以下の付記を開示する。
(付記1)
基準信号を受け取って、立ち上がりエッジの傾き、または、立ち下がりエッジの傾き、または、立ち上がりエッジおよび立ち下がりエッジの傾きを、周期的に変化させた第1信号を生成する第1回路と、
前記第1信号を受け取って、周期的に周波数が変化するクロックを生成する第2回路と、
を有することを特徴とするクロック生成回路。
【0155】
(付記2)
前記基準信号を生成するPLL回路を有する、
ことを特徴とする付記1に記載のクロック生成回路。
【0156】
(付記3)
前記第1回路は、
低レベルから高レベルへ変化する立ち上がりエッジの駆動電流を周期的に変化させて前記第1信号を生成する、
ことを特徴とする付記1または付記2に記載のクロック生成回路。
【0157】
(付記4)
前記第1回路は、
第1pチャネル型MOSトランジスタおよび第1nチャネル型MOSトランジスタを有するインバータと、
前記第1pチャネル型MOSトランジスタと並列に設けられ、スイッチで接続が制御される少なくとも1つの第2pチャネル型MOSトランジスタと、を有し、
少なくとも1つの前記第2pチャネル型MOSトランジスタのスイッチを周期的に制御する、
ことを特徴とする付記3に記載のクロック生成回路。
【0158】
(付記5)
少なくとも1つの前記第2pチャネル型MOSトランジスタのスイッチを、
偶数または奇数の一方の周期において、第1のスイッチング状態となるように制御し、
偶数または奇数の他方の周期において、前記第1のスイッチング状態とは異なる第2のスイッチング状態となるように制御する、
ことを特徴とする付記4に記載のクロック生成回路。
【0159】
(付記6)
前記第1回路は、前記第2pチャネル型MOSトランジスタを、少なくとも2つ有し、
前記第2のスイッチング状態を、前記偶数または奇数の他方の周期において、周期的に変化させる、
ことを特徴とする付記5に記載のクロック生成回路。
【0160】
(付記7)
前記第1回路は、
高レベルから低レベルへ変化する立ち下がりエッジの駆動電流を周期的に変化させて前記第1信号を生成する、
ことを特徴とする付記1または付記2に記載のクロック生成回路。
【0161】
(付記8)
前記第1回路は、
第1pチャネル型MOSトランジスタおよび第1nチャネル型MOSトランジスタを有するインバータと、
前記第1nチャネル型MOSトランジスタと並列に設けられ、スイッチで接続が制御される少なくとも1つの第2nチャネル型MOSトランジスタと、を有し、
少なくとも1つの前記第2nチャネル型MOSトランジスタのスイッチを周期的に制御する、
ことを特徴とする付記7に記載のクロック生成回路。
【0162】
(付記9)
少なくとも1つの前記第2nチャネル型MOSトランジスタのスイッチを、
偶数または奇数の一方の周期において、第3のスイッチング状態となるように制御し、
偶数または奇数の他方の周期において、前記第3のスイッチング状態とは異なる第4のスイッチング状態となるように制御する、
ことを特徴とする付記8に記載のクロック生成回路。
【0163】
(付記10)
前記第1回路は、前記第2nチャネル型MOSトランジスタを、少なくとも2つ有し、
前記第4のスイッチング状態を、前記偶数または奇数の他方の周期において、周期的に変化させる、
ことを特徴とする付記9に記載のクロック生成回路。
【0164】
(付記11)
前記第1回路は、
低レベルから高レベルへ変化する立ち上がりエッジの駆動電流、および、高レベルから低レベルへ変化する立ち下がりエッジの駆動電流を周期的に変化させて前記第1信号を生成する、
ことを特徴とする付記1または付記2に記載のクロック生成回路。
【0165】
(付記12)
前記第1回路は、
pチャネル型MOSトランジスタおよびnチャネル型MOSトランジスタを有する第1インバータと、
前記第1インバータと並列に設けられ、スイッチで接続が制御される少なくとも1つの第2インバータと、を有し、
少なくとも1つの前記第2インバータのスイッチを周期的に制御する、
ことを特徴とする付記11に記載のクロック生成回路。
【0166】
(付記13)
少なくとも1つの前記第2インバータのスイッチを、
偶数または奇数の一方の周期において、第5のスイッチング状態となるように制御し、
偶数または奇数の他方の周期において、前記第5のスイッチング状態とは異なる第6のスイッチング状態となるように制御する、
ことを特徴とする付記12に記載のクロック生成回路。
【0167】
(付記14)
前記第1回路は、前記第2インバータを少なくとも2つ有し、
前記第4のスイッチング状態を、前記偶数または奇数の他方の周期において、周期的に変化させる、
ことを特徴とする付記13に記載のクロック生成回路。
【0168】
(付記15)
前記基準信号をカウントするカウンタと、
前記カウンタの出力に従って、前記第1信号の立ち上がりエッジまたは立ち下がりエッジの傾きを制御する制御コードを生成する制御コード生成回路と、
を有することを特徴とする付記1〜付記14のいずれか1項に記載のクロック生成回路。
【0169】
(付記16)
前記制御コードは、
付記4〜6のいずれか1項に記載の少なくとも1つの前記第2pチャネル型MOSトランジスタのスイッチを制御するか、
付記8〜10のいずれか1項に記載の少なくとも1つの前記第2nチャネル型MOSトランジスタのスイッチを制御するか、或いは、
付記12に〜14のいずれか1項に記載の少なくとも1つの前記第2インバータのスイッチを制御する、
ことを特徴とするクロック生成回路。
【0170】
(付記17)
付記1〜付記16のいずれか1項に記載のクロック生成回路を有するスペクトラム拡散クロック・ジェネレータと、
前記スペクトラム拡散クロック・ジェネレータにより生成されたクロックが入力される内部回路と、
を有することを特徴とする半導体集積回路。
【0171】
(付記18)
前記スペクトラム拡散クロック・ジェネレータは、複数設けられ、
それぞれの前記スペクトラム拡散クロック・ジェネレータは、個別に制御される、
ことを特徴とする付記17に記載の半導体集積回路。
【0172】
(付記19)
基準信号を受け取って、立ち上がりエッジの傾き、または、立ち下がりエッジの傾き、または、立ち上がりエッジおよび立ち下がりエッジの傾きを、周期的に変化させた第1信号を生成し、
前記第1信号を受け取って、周期的に周波数が変化するクロックを生成する、
ことを特徴とするクロック生成方法。
【0173】
(付記20)
前記第1信号を、
低レベルから高レベルへ変化する立ち上がりエッジの駆動電流を周期的に変化させ、または、
高レベルから低レベルへ変化する立ち下がりエッジの駆動電流を周期的に変化させ、または、
低レベルから高レベルへ変化する立ち上がりエッジの駆動電流、および、高レベルから低レベルへ変化する立ち下がりエッジの駆動電流を周期的に変化させて生成する、
ことを特徴とする付記19に記載のクロック生成方法。
【符号の説明】
【0174】
1 PLL回路
2 カウンタ
3 エンコーダ(制御コード生成回路)
4 Tr/Tf調整バッファ
5 遅延時間調整バッファ
61〜64 フリップフロップ(内部回路)
101 スペクトラム拡散クロック・ジェネレータ(SSCG:クロック生成回路)
102 PLL回路
111 位相比較器(PFD)
112 チャージポンプ(CP)
113 ローパスフィルタ(LPF)
114 電圧制御発振器(VCO)
115 位相制御回路
116 分周器
500 半導体集積回路(チップ)
【技術分野】
【0001】
この出願で言及する実施例は、クロック生成回路、クロック生成方法および半導体集積回路に関する。
【背景技術】
【0002】
近年、電子機器の高速化および高密度化に伴って、電磁波干渉(EMI:Electro Magnetic Interference)が問題になっている。そこで、EMI対策としてスペクトラム拡散クロック技術を適用したクロック生成回路(クロック・ジェネレータ)が提案されている。
【0003】
このスペクトラム拡散クロック技術は、電子機器内のクロック生成回路が単一の周波数のクロックを発生すると、その周波数およびその高調波での輻射が大きくなるため、クロックに対して任意の周波数成分をのせて変動させ、ピークを抑えるものである。
【0004】
半導体集積回路の分野では、PLL(Phase Locked Loop)を用いたスペクトラム拡散クロック生成が一般的であり、これは、スペクトラム拡散クロック・ジェネレータと分周(または、逓倍)を行うPLL回路のカスケード接続により実現される。
【0005】
すなわち、スペクトラム拡散クロック・ジェネレータ(SSCG:Spread Spectrum Clock Generator)は、通常、PLLに対して位相制御機能を追加したものとなっている。ところで、従来、SSCG(クロック生成回路)としては、様々なものが提案されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−004451号公報
【特許文献2】特開2006−166049号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
前述したように、従来、クロック生成回路としては、様々なものが提案されているが、例えば、フェーズインターポレータ(Phase Interpolator:位相補正回路)を用いて、PLLの位相補正(位相変調)を行ってスペクトラム拡散クロックを生成している。
【0008】
しかしながら、従来のクロック生成回路は、占有面積や定常位相誤差が大きく、クロックが安定するまでに時間がかかるといった問題がある。
【課題を解決するための手段】
【0009】
一実施形態によれば、基準信号を受け取って、立ち上がりエッジの傾き、および/または、立ち下がりエッジの傾きを、周期的に変化させた第1信号を生成する第1回路と、第2回路と、を有することを特徴とするクロック生成回路が提供される。
【0010】
すなわち、前記第1の回路は、基準信号を受け取って、立ち上がりエッジの傾き、または、立ち下がりエッジの傾き、または、立ち上がりエッジおよび立ち下がりエッジの傾きを、周期的に変化させた第1信号を生成する。前記第2回路は、前記第1信号を受け取って、周期的に周波数が変化するクロックを生成する。
【発明の効果】
【0011】
開示のクロック生成回路、クロック生成方法および半導体集積回路は、占有面積や定常位相誤差の増大、並びに、クロックが安定するまでに長時間を要することなく、スペクトラム拡散クロックを生成してEMI対策を行うことができるという効果を奏する。
【図面の簡単な説明】
【0012】
【図1】クロック生成回路の一例を示すブロック図である。
【図2】図1のクロック生成回路の動作を説明するための図である。
【図3】本実施例のクロック生成回路を示すブロック図である。
【図4】図3に示すクロック生成回路における制御コードとTr/Tfの関係を示す図である。
【図5】図4に示す制御コードと立ち上がりエッジの関係を説明するための図(その1)である。
【図6】図4に示す制御コードと立ち上がりエッジの関係を説明するための図(その2)である。
【図7】本実施例のクロック生成回路の適用例を説明するための図である。
【図8】本実施例のクロック生成回路の変形例を示すブロック図である。
【図9】本実施例のクロック生成回路による効果を説明するための図(その1)である。
【図10】本実施例のクロック生成回路による効果を説明するための図(その2)である。
【図11】本実施例のクロック生成回路による効果を説明するための図(その3)である。
【図12】第1実施例のクロック生成回路の要部を示すブロック図である。
【図13】図12に示すクロック生成回路の動作を説明するための図(その1)である。
【図14】図12に示すクロック生成回路の動作を説明するための図(その2)である。
【図15】第2実施例のクロック生成回路の要部を示すブロック図である。
【図16】図15に示すクロック生成回路の動作を説明するための図である。
【図17】第3実施例のクロック生成回路を示すブロック図である。
【図18】図17に示すクロック生成回路の動作を説明するための図である。
【図19】図17に示すクロック生成回路におけるカウンタおよびエンコーダの動作を説明するための図である。
【図20】図17に示すクロック生成回路におけるエンコーダの動作を説明するための図である。
【図21】図17に示すクロック生成回路の仕様の一例を示す図である。
【図22】図17に示すクロック生成回路の具体的な動作の一例を説明するための図(その1)である。
【図23】図17に示すクロック生成回路の具体的な動作の一例を説明するための図(その2)である。
【図24】図17に示すクロック生成回路の具体的な動作の一例を説明するための図(その3)である。
【図25】図17に示すクロック生成回路の具体的な動作の他の例を説明するための図(その1)である。
【図26】図17に示すクロック生成回路の具体的な動作の他の例を説明するための図(その2)である。
【図27】図17に示すクロック生成回路を適用した半導体集積回路の一例を示すブロック図である。
【発明を実施するための形態】
【0013】
まず、クロック生成回路の実施例を詳述する前に、クロック生成回路およびその問題点を図1および図2を参照して説明する。
【0014】
図1は、クロック生成回路の一例を示すブロック図であり、図2は、図1のクロック生成回路の動作を説明するための図である。図1において、参照符号101はスペクトラム拡散クロック・ジェネレータ(SSCG:クロック生成回路)、102はPLL回路を示す。
【0015】
SSCG101は、位相比較器(PFD)111、チャージポンプ(CP)112、ローパスフィルタ(LPF)113、電圧制御発振器(VCO)114、位相制御回路115および分周器116を有する。
【0016】
PFD111は、入力する基準クロックCKrと、VCO114からの出力クロックCK10を分周器116で1/N分周した信号とを比較する。PFD111の出力は、CP112およびLPF113を介してVCO114に入力され、出力クロックCK10を出力する。
【0017】
出力クロックCK10は、VCO114を制御する位相制御回路115に入力され、例えば、クロックエッジを三角波や正弦波で位相変調する。具体的に、図2に示されるように、VCO114からの出力クロックCK10は、例えば、クロックの立ち上がりエッジおよび立ち下がりエッジ(クロックエッジ)が三角波で位相変調される。
【0018】
SSCG101の出力クロックCK10は、PLL回路102に入力され、このPLL回路102で、例えば、2逓倍されてスペクトラム拡散クロックCK20として、半導体集積回路における様々な内部回路に入力される。ここで、PLL回路102は、2逓倍するものに限定されず、そのままの周波数を出力するもの、或いは、様々に逓倍または分周して出力してもよい。
【0019】
このように、図1に示すクロック生成回路は、PLLに対して位相制御回路115による位相制御機能を追加したSSCG101と、逓倍(または、分周)を行うPLL回路102のカスケード接続により所望のクロックを生成する。これにより、クロックの周波数成分のピークを抑えて、その周波数およびその高調波での輻射を低減し、EMI対策を行っている。
【0020】
しかしながら、上述した図1に示すクロック生成回路は、例えば、SSCG101でも、PLLと同様にLPF113を構成する容量等が使用されるため、占有面積が大きくなってしまう。また、SSCG101およびPLL回路102におけるフィードバック処理のため定常位相誤差が大きくなり、クロックが安定するまでに時間がかかるといった問題がある。
【0021】
以下、クロック生成回路、クロック生成方法および半導体集積回路の実施例を、添付図面を参照して詳述する。図3は、本実施例のクロック生成回路を示すブロック図である。
【0022】
図3において、参照符号1はPLL回路、2は16ビットカウンタ、3は16:4エンコーダ、4は信号の立ち上がり,および/または,立ち下がりの傾きを調整するバッファ(Tr/Tf調整バッファ)、並びに、5はTr/Tfに依存する遅延時間調整バッファを示す。
【0023】
参照符号61〜64は、例えば、半導体集積回路(チップ)に設けられた各内部回路でクロックを受け取るフリップフロップを示す。すなわち、クロック(CK3)は、フリップフロップ(内部回路)61〜64を介して、半導体集積回路内の様々な回路へ入力される。
【0024】
ここで、Tr/Tf調整バッファ4は、後で詳述するように、制御コードにより、信号の立ち上がり(Tr)の傾き(駆動電流),信号の立ち下がり(Tf)の傾き,或いは、信号の立ち上がりおよび立ち下がりの両方の傾きを調整する。
【0025】
図3に示されるように、本実施例のクロック生成回路において、基準クロックCKrが入力されたPLL回路1の出力CK1は、16ビットカウンタ2に入力されると共に、Tr/Tf調整バッファ4に入力される。カウンタ2の出力は、16:4エンコーダ(制御コード生成回路)3に入力されて4ビットの制御コードSEL[3:0]に変換され、その制御コードSEL[3:0]は、Tr/Tf調整バッファ4に入力される。
【0026】
Tr/Tf調整バッファ4は、プリインバータ41、並びに、並列に接続されたインバータ42および430〜433を有する。インバータ42および430〜433は、それぞれpチャネル型MOSトランジスタ(pMOSトランジスタ)およびnMOSトランジスタによるCMOSインバータとして構成されている。
【0027】
インバータ430〜433には、それぞれ制御コードSEL[0]〜SEL[3]により制御されるスイッチSWp0〜SWp3,SWn0〜SWn3が設けられている。具体的に、例えば、インバータ430のpMOSトランジスタのソースと高電位電源線Vddとの間にはスイッチSWp0が設けられ、インバータ430のnMOSトランジスタのソースと低電位電源線Vssとの間にはスイッチSWn0が設けられている。
【0028】
なお、インバータ42のpMOSトランジスタのソースは、そのまま高電位電源線Vddに接続され、インバータ42のnMOSトランジスタのソースは、そのまま低電位電源線Vssに接続されている。
【0029】
ここで、インバータ42および430〜433は、例えば、全てのpおよびnMOSトランジスタのサイズ(ゲート幅)を同様に形成することで、同じ駆動能力(電流供給能力)を持たせてもよいが、駆動能力に差を持たせてもよい。
【0030】
具体的に、インバータ42および430〜433の駆動能力を、インバータ42<インバータ433<インバータ432<インバータ431<インバータ430(例えば、駆動能力の比率が1:2:4:8:16)となるように設定することができる。
【0031】
以上により、Tr/Tf調整バッファ4は、4ビットの制御コードSEL[0]〜SEL[3]によりインバータ430〜433の接続を制御することで、1つのインバータ42だけによる駆動から5つのインバータ42および430〜433による駆動を制御する。
【0032】
図3では、4ビットの制御コードSEL[0]〜SEL[3]は、インバータ430〜433の各スイッチSWp0,SWn0〜SWp3,SWn3を制御するようになっている。すなわち、具体的に、SEL[3:0]={0000}のとき、SWp0〜SWp3は全てオフし、信号CK2(IN1)の立ち上がりは、インバータ42だけで駆動されるため、信号CK2の傾きは緩やか(立ち上がりの遅延は160psec)になる。
【0033】
また、具体的に、SEL[3:0]={1111}のとき、SWp0〜SWp3は全てオンし、信号CK2の立ち上がりは、インバータ42および430〜433の全てにより駆動されるため、信号CK2の立ち上がりの傾きは急峻(立ち上がりの遅延は10psec)になる。
【0034】
ここで、制御コードによる制御は、後で詳述する図12〜図14と同様に、例えば、スイッチSWp0〜SWp3を制御してインバータ430〜433におけるpMOSトランジスタによる信号の立ち上がりの傾きを制御するがそれに限定されるものではない。
【0035】
すなわち、制御コードによる制御は、後で図15および図16を参照して詳述するように、例えば、スイッチSWn0〜SWn3を制御してインバータ430〜433におけるnMOSトランジスタによる信号の立ち下がりの傾きを制御してもよい。
【0036】
さらに、制御コードによる制御は、後で図17〜図21を参照して詳述するように、例えば、スイッチSWp0〜SWp5およびSWn0〜SWn5を制御してインバータ430〜433におけるpおよびnMOSトランジスタの両方を制御してもよい。この場合、各インバータにおけるpおよびnMOSトランジスタは、立ち上がりと立ち下がりで異なる傾き(遅延)の特性を有するため、クロック周波数の変動が可能になる。
【0037】
なお、生成されるスペクトラム拡散クロックは、後で図22〜図24を参照して詳述するように、例えば、基準クロックに対して周波数が高くなる方向および低くなる方向の両方に周波数(位相)を変動させるセンタースプレッド制御により生成することができる。
【0038】
また、生成されるスペクトラム拡散クロックは、後で図25および図26を参照して詳述するように、例えば、基準クロックに対して周波数が低くなる方向のみ周波数を変動させるダウンスプレッド制御により生成することもできる。
【0039】
さらに、後で図27を参照して詳述するように、これらスペクトラム拡散クロックを生成するスペクトラム拡散クロック・ジェネレータ(SSCG)は、半導体集積回路における複数のクロックドメインに対してそれぞれ設けることもできる。
【0040】
なお、Tr/Tf調整バッファ4においてスイッチング制御されるインバータの数、並びに、制御コード(SEL[3:0])を生成するための16ビットカウンタ2および16:4エンコーダ3等は、図3のものに限定されず、適宜変更することができるのはいうまでもない。
【0041】
図4は、図3に示すクロック生成回路における制御コードとTr/Tfの関係を示す図である。図3において、各制御コードSEL[0]〜SEL[3]において、『0』は対応するスイッチSWp0〜SWp3(SWn0〜SWn3)をオフすることを示し、また、『1』はオンすることを示す。
【0042】
図4に示されるように、Tr/Tf調整バッファ4によるTr/Tfの遅延(傾き)は、制御コードSEL[0]〜SEL[3]により10psec〜160psecの遅延を10psecの間隔で制御することができる。
【0043】
図5および図6は、図4に示す制御コードと立ち上がりエッジの関係を説明するための図である。
【0044】
図5に示されるように、制御コードSEL[3:0]を{1111}→{1100}→{1000}→{0011}→{0000}→{0011}→{1000}→{1100}→{1111}と制御することにより、Tr/Tfの遅延を10→40→80→130→160→130→80→40→10psecと変化させることができる。
【0045】
また、図6に示されるように、制御コードSEL[3:0]を、{0000}および{1111}と制御することにより、Tr/Tfの遅延を、160psecおよび10psecと変化させることができる。
【0046】
ここで、図5および図6では、立ち上がりエッジ(Tr)の傾き(遅延)の変化を示しているが、立ち下がりエッジ(Tf)の傾きの変化を利用することもでき、それは、例えば、図15および図16を参照して後に詳述する。
【0047】
なお、図3は、Tr/Tf調整バッファ4で、制御コードSEL[3:0]を{0000}および{1111}と制御してTr/Tfの遅延を160psecおよび10psecと変化させ、遅延時間調整バッファ5によりTr/Tf依存の遅延時間が異なるクロックCK3を出力する様子を示している。
【0048】
図7は、本実施例のクロック生成回路の適用例を説明するための図であり、図7(a)〜図7(c)は、それぞれ遅延時間調整バッファ5から出力されるクロックCK3の遅延(Tr/Tf依存の遅延)の様子を示す。
【0049】
図7(a)は、偶数周期ではTr/Tf調整バッファ4に入力する信号CK1と同じ第1周波数のクロックが生成され、奇数周期では第1周波数とは異なる第2周波数のクロックが生成される様子を示す。
【0050】
これは、例えば、図6を参照して説明したTr/Tf調整バッファ4により、制御コードSEL[3:0]を{0000}および{1111}と制御して得られる160psecおよび10psecの信号CK2を利用して実現することができる。
【0051】
図7(b)は、偶数周期では第1周波数のクロックが生成され、奇数周期では第1周波数とは異なる第2および第3周波数のクロックが生成される様子を示す。
【0052】
ここで、図7(a)と図7(b)の違いは、図7(a)における奇数周期では、常に第2周波数のクロックだけが生成されるのに対して、図7(b)における奇数周期では、異なる周波数(第2および第3周波数)のクロックが順番に生成されるようになっている。
【0053】
なお、図7(b)において、奇数周期で生成されるクロックの周波数は2種類とされているが、これは、2種類に限定されないのはいうまでもない。
【0054】
図7(c)は、図1および図2を参照して説明したのと同様に、時間の経過に従って各クロックの周波数を順に変化させる様子を示す。これは、例えば、図5を参照して説明したTr/Tf調整バッファ4の制御により得られる遅延が順次変化する信号CK2を利用して実現することができる。
【0055】
なお、図7(a)および図7(b)において、偶数周期および奇数周期は逆にしてもよい。すなわち、第1周波数のクロックを奇数周期で生成し、偶数周期で第1周波数と異なる周波数のクロックを生成してもよい。さらに、例えば、第1周波数のクロックを生成するのは、偶数または奇数の1周期毎でなくてもよく、例えば、2周期毎や4周期毎のように適宜変更することができる。
【0056】
また、図7(c)において、周期的に変化する異なる周波数のクロックは、異なる周波数の12個のクロックで1周期を構成するものに限定されず、様々に変化させることができる。
【0057】
図8は、本実施例のクロック生成回路の変形例を示すブロック図である。図8と、前述した図3との比較から明らかなように、本変形例のクロック生成回路では、Tr/Tf調整バッファ4に入力する4ビットの制御コードSEL[3:0]を、外部から直接与えられる。
【0058】
すなわち、本変形例は、図3に示す本実施例のクロック生成回路において、4ビットの制御コードSEL[3:0]を生成するための16ビットカウンタ2および16:4エンコーダ3を不要とし、外部から直接4ビットの制御コードSEL[3:0]を入力している。
【0059】
図9〜図11は、本実施例のクロック生成回路による効果を説明するための図であり、図9はFFT(Fast Fourier Transform:高速フーリエ変換)入力波形を示し、図10はFFT結果を示し、図11は周波数分布を示す。
【0060】
図9(a),図10(a)および図11(a)は、奇数周期で周波数を周期的に変動した場合(図7(b)に対応)を示し、図9(b),図10(b)および図11(b)は、偶数周期と奇数周期で異なる周波数に固定した場合(図7(a)に対応)を示す。
【0061】
すなわち、図9(a),図10(a)および図11(a)は、奇数周期におけるTr/Tf調整を、制御コードを変化させて行う。ここで、Tr/Tf調整を行うための制御コードは、周期性を有している。また、図9(b),図10(b)および図11(b)は、奇数周期におけるTr/Tf調整を、固定の制御コードで行う。
【0062】
なお、図9(c),図10(c)および図11(c)は、スペクトラム拡散クロック(SSC:Spread Spectrum Clock)技術を適用しない場合(基本波形:例えば、100MHz)を示す。
【0063】
図9(a),図10(a)および図11(a)と、図9(c),図10(c)および図11(c)との比較から明らかなように、奇数周期で周波数(周期)を周期的に変動した場合、FFT結果および周波数分布は、ピークが抑制されて幅が広がっている。
【0064】
具体的に、図11(a)では、例えば、100MHz,123MHz,133MHzおよび177MHzのクロック成分が出現し、図11(c)よりも、100MHzのピーク(出現率)が大幅に低減されているのが分かる。
【0065】
図9(b),図10(b)および図11(b)と、図9(c),図10(c)および図11(c)との比較から明らかなように、偶数周期と奇数周期で異なる周波数に固定した場合、FFT結果および周波数分布は、ピークが抑制されて幅が広がっている。
【0066】
具体的に、図11(b)では、例えば、100MHzおよび123MHzのクロック成分が出現し、図11(c)よりも、100MHzのピークが抑制されているのが分かる。
【0067】
このように、奇数周期で周波数を周期的に変動したとき、並びに、偶数周期と奇数周期で異なる周波数に固定したときは、SSC技術を適用しない基本波形の場合よりも、大幅に振幅のピークを抑制することができる。
【0068】
本実施例のクロック生成回路によれば、占有面積や定常位相誤差の増大、並びに、クロックが安定するまでに長時間を要することなく、スペクトラム拡散クロックを生成してEMI対策を行うことが可能になる。
【0069】
図12は、第1実施例のクロック生成回路の要部を示すブロック図である。図12に示されるように、Tr/Tf調整バッファ4は、論理を調整するためのインバータ40、プリインバータ41、固定のインバータ42、並びに、スイッチSWp0,SWp1およびpMOSトランジスタ430p,431pを有する。
【0070】
なお、遅延時間調整バッファ5は、例えば、前述した図3と同様のものである。ここで、Tr/Tf調整バッファ4による遅延(NET0からNET1の遅延)を遅延1(Delay 1)とし、遅延時間調整バッファ5による遅延(NET1からNET2の遅延)を遅延2(Delay 2)とする。
【0071】
図12に示されるように、トランジスタ430pのソースは、スイッチSWp0を介して高電位電源線Vddに接続され、トランジスタ431pのソースは、スイッチSWp1を介して高電位電源線Vddに接続される。
【0072】
Tr/Tf調整バッファ4に入力された制御コードSEL[1:0]は、インバータ40で反転増幅され、信号Net-SEL[0]はスイッチSWp0を制御し、信号Net-SEL[1]はスイッチSWp1を制御する。
【0073】
Tr/Tf調整バッファ4の端子INに入力するクロックCK1(NET0)は、プリインバータ41で反転され、さらに、インバータ42およびpMOSトランジスタ320p,431pにより反転されると共に、立ち上がりエッジの傾き(駆動電流)が制御される。
【0074】
すなわち、Tr/Tf調整バッファ4の端子OUTから出力されるクロックCK2(NET1)は、制御コードSEL[1:0]に従って立ち上がりエッジの傾き(Tr依存遅延)が制御された信号として出力される。
【0075】
具体的に、例えば、信号Net-SEL[0]およびNet-SEL[1]が高レベル『1』のとき、スイッチSWp0およびSWp1がオンしてトランジスタ430pおよび431pがトランジスタ42pと並列に接続され、これにより信号NET1の立ち上がりエッジが急峻になる。
【0076】
そして、信号Net-SEL[0],Net-SEL[1]のレベルによりスイッチSWp0,SWp1のスイッチングを制御して、トランジスタ42pと並列接続されるトランジスタ430pおよび431pによる駆動電流を制御して信号NET1の立ち上がりエッジを調整する。
【0077】
ここで、pMOSトランジスタ430pのサイズ(ゲート幅)は、例えば、pMOSトランジスタ431pのサイズの2倍程度とされている。
【0078】
図13および図14は、図12に示すクロック生成回路の動作を説明するための図である。図13は、Tr/Tf調整バッファ4の出力信号NET1(CK2)が1周期毎に一定の傾き(遅延:Delay)となる場合を示し、図14は、Tr/Tf調整バッファ4の出力信号NET1が1周期毎に変化する遅延となる場合を示す。
【0079】
なお、図13および図14において、1周期(Cycle time)は、信号(例えば、NET1)の任意の立ち上がりタイミングから次の立ち上がりタイミングまでの周期とする。
【0080】
すなわち、図13は、奇数周期のTr/Tf調整バッファ4の出力信号NET1(CK2)が1周期毎に一定の遅延となる場合を示し、図14は、Tr/Tf調整バッファ4の出力信号NET1が1周期毎に変化する遅延となる場合を示す。
【0081】
具体的に、図13の場合、例えば、奇数周期C1,C3,…において、信号NET-SEL[0]を高レベル『1』で信号NET-SEL[1]を低レベル『0』とし、pMOSトランジスタ42pおよび430pによる駆動電流を利用して立ち上がりエッジの傾きを規定する。
【0082】
なお、偶数周期C2,C4,…においては、信号NET-SEL[0]およびNET-SEL[1]を高レベル『1』とし、pMOSトランジスタ42p,430pおよび431pによる駆動電流を利用して立ち上がりエッジの傾きを規定する。
【0083】
すなわち、信号NET1の立ち上がりの正の傾きは、奇数周期ではpMOSトランジスタ431pによる駆動電流が利用できないため少し緩やかになり、偶数周期ではpMOSトランジスタ42p,430pおよび431pの全ての駆動により急峻になる。
【0084】
その結果、遅延時間調整バッファ5の出力信号NET2(クロックCK3)は、例えば、奇数周期で8.75nsecとなり、偶数周期で11.25nsecとなって、これら異なる周波数のクロックが奇数周期と偶数周期で変化することになる。
【0085】
一方、図14の場合、例えば、第1の奇数周期C1において、信号NET-SEL[0]を高レベル『1』で信号NET-SEL[1]を低レベル『0』とし、第2の奇数周期C3において、信号NET-SEL[0]を低レベル『0』で信号NET-SEL[1]を高レベル『1』とする。さらに、第3の奇数周期C5において、信号NET-SEL[0]およびNET-SEL[1]を低レベル『0』とする。
【0086】
これにより、信号NET1の立ち上がりの正の傾きは、第1の奇数周期C1ではトランジスタ42pおよび430pによる駆動で少し緩やかになり、第2の奇数周期C1ではトランジスタ42pおよび431pによる駆動でさらに緩やかになる。
【0087】
すなわち、トランジスタ430pのゲート幅は、例えば、トランジスタ431pのゲート幅の2倍程度とされているため、トランジスタ42pおよび431pの方がトランジスタ42pおよび430pよりも駆動電流が小さいため、傾きが緩やかになる。
【0088】
そして、第3の奇数周期C1ではトランジスタ42pだけにより駆動されるため、さらに傾きが緩やかになる。なお、偶数周期C2,C4,…においては、図13の場合と同様に、信号NET-SEL[0]およびNET-SEL[1]を高レベル『1』とし、pMOSトランジスタ42p,430pおよび431pによる駆動電流を利用して立ち上がりエッジの傾きを規定する。
【0089】
その結果、遅延時間調整バッファ5の出力信号NET2(クロックCK3)は、例えば、周期の順に、8.75nsec,12.5nsec,7.5nsec,13.75nsec,…と変化することになる。
【0090】
以上において、図12では、インバータ42のpMOSトランジスタ42pと並列に接続されるpMOSトランジスタの数は、説明を簡略化するために2個(430p,431p)としているがその数は適宜変更することができる。
【0091】
また、pMOSトランジスタ42p,430p,431pのゲート幅は、所定の比率(例えば、4:2:1)として形成してもよいが、例えば、全て同じサイズとして形成することもできる。
【0092】
さらに、nMOSトランジスタ42nのサイズに関しては、例えば、pMOSトランジスタ42p,430p,431pを合計したサイズとして形成してもよいが、それに限定されるものではない。
【0093】
また、図12では、入力される制御コードSEL[1:0]をインバータ40で反転し、その反転した信号Net-SEL[0],Net-SEL[1]によりスイッチSWp0,SWp1を制御しているが、この信号の論理も図示のものに限定されるものではない。
【0094】
図15は、第2実施例のクロック生成回路の要部を示すブロック図であり、図16は、図15に示すクロック生成回路の動作を説明するための図である。図15と前述した図12との比較から明らかなように、本第2実施例のクロック生成回路において、Tr/Tf調整バッファ4は、複数のpMOSトランジスタ430p,431pの代わりに複数のnMOSトランジス430n,430nを有する。
【0095】
なお、遅延時間調整バッファ5は、例えば、前述した図12(図3)と同様のものである。ここで、Tr/Tf調整バッファ4による遅延(NET0からNET1の遅延)をDelay 1とし、遅延時間調整バッファ5による遅延(NET1からNET2の遅延)をDelay 2とする。
【0096】
図15に示されるように、トランジスタ430nのソースは、スイッチSWn0を介して低電位電源線Vssに接続され、トランジスタ431nのソースは、スイッチSWn1を介して低電位電源線Vssに接続される。
【0097】
Tr/Tf調整バッファ4に入力された制御コードSEL[1:0]は、バッファ40’で増幅され、信号Net-SEL[0]はスイッチSWn0を制御し、信号Net-SEL[1]はスイッチSWn1を制御する。
【0098】
Tr/Tf調整バッファ4の端子INに入力するクロックCK1(NET0)は、プリインバータ41で反転され、さらに、インバータ42およびnMOSトランジスタ320n,431nにより反転されると共に、立ち下がりエッジの傾き(駆動電流)が制御される。
【0099】
すなわち、Tr/Tf調整バッファ4の端子OUTから出力されるクロックCK2(NET1)は、制御コードSEL[1:0]に従って立ち下がりエッジの傾き(Tf依存遅延)が制御された信号として出力される。
【0100】
具体的に、図16の場合、例えば、奇数周期C1,C3,…において、信号NET-SEL[0]を高レベル『1』で信号NET-SEL[1]を低レベル『0』とし、nMOSトランジスタ42nおよび430nによる駆動電流を利用して立ち下がりエッジの傾きを規定する。
【0101】
なお、偶数周期C2,C4,…においては、信号NET-SEL[0]およびNET-SEL[1]を高レベル『1』とし、nMOSトランジスタ42n,430nおよび431nによる駆動電流を利用して立ち下がりエッジの傾きを規定する。
【0102】
すなわち、信号NET1の立ち下がりの負の傾きは、奇数周期ではnMOSトランジスタ42nおよび430nによる駆動で少し緩やかになり、偶数周期ではnMOSトランジスタ42n,430nおよび431nによる駆動で急峻になる。
【0103】
その結果、遅延時間調整バッファ5の出力信号NET2(クロックCK3)は、例えば、奇数周期で8.75nsecとなり、偶数周期で11.25nsecとなって、これら異なる周波数のクロックが奇数周期と偶数周期で変化することになる。
【0104】
なお、前述した図14と同様に、本第2実施例のクロック生成回路においても、信号NET1の立ち下がりの負の傾きを、各奇数周期で順に変化させ、信号NET2の周波数を周期的に変化させることもできる。
【0105】
なお、本第2実施例のクロック生成回路においても、インバータ42のnMOSトランジスタ42nと並列に接続されるnMOSトランジスタの数は、2個(430n,431n)に限定されず、適宜変更することができる。
【0106】
また、nMOSトランジスタ42n,430n,431nのゲート幅は、所定の比率として形成してもよいが、例えば、全て同じサイズとして形成することもできる。さらに、pMOSトランジスタ42pのサイズに関しては、例えば、nMOSトランジスタ42n,430n,431nを合計したサイズとして形成してもよいが、それに限定されるものではない。
【0107】
図17は、第3実施例のクロック生成回路を示すブロック図であり、図18は、図17に示すクロック生成回路の動作を説明するための図である。図17と前述した図3との比較から明らかなように、本第3実施例のクロック生成回路において、カウンタ2は、11ビットカウンタとされ、エンコーダ(制御コード生成回路)3は、11:7エンコーダとされている。
【0108】
Tr/Tf調整バッファ4は、プリインバータ41、並列に接続されたインバータ42および430〜435、並びに、差動の制御コードを生成するためのインバータ44を有する。インバータ42および430〜435は、それぞれpMOSトランジスタおよびnMOSトランジスタによるCMOSインバータとして構成されている。
【0109】
インバータ44は、6ビットの制御コードSEL[5:0]を受け取って、差動の制御コードSEL[0]〜SEL[5]および/SEL[0]〜/SEL[5]を生成し、それぞれスイッチ430p〜435pおよび430n〜435nのスイッチングを制御する。
【0110】
本第3実施例のクロック生成回路では、インバータ430〜435におけるpまたはnMOSトランジスタの一方を制御して信号CK2の立ち上がりまたは立ち下がりの傾き(遅延)を制御するのではなく、両方のトランジスタの接続を制御する。
【0111】
すなわち、信号CK2を生成(駆動)するのに使用するインバータ430〜435を制御する。なお、インバータ430〜435は、pMOSトランジスタ430p〜435pおよびnMOSトランジスタ430n〜435nのサイズがそれぞれ同様とされ、全て同じ駆動能力を有するようになっている。
【0112】
図18において、○印で示す領域は、例えば、Tr/Tf調整バッファ4に入力するクロックCK1(基本周波数:100MHz)に対応した1周期(10nsec)を示し、△印で示す領域は、遅延時間調整バッファ5の出力クロックCK3のデフォルト周期を示す。
【0113】
なお、デフォルト周期は、Tr/Tf調整バッファ4におけるインバータ42および430〜435が全てオンしたときの周期である。また、図18において、□印で示す領域は、例えば、5個のインバータをオフしたときの遅延時間調整バッファ5の出力クロックCK3の周期を示す。
【0114】
図18に示されるように、本第3実施例のクロック生成回路は、制御コードSEL[5:0]によりインバータ430〜435の接続を制御し、位相保持を行うために1周期毎に前の周期の制御コードに対してコードを上乗せする(図18における△印の領域)。また、クロックCK3の周波数を変動させるために位相をずらす際は、制御コードをさらに1コード上乗せする(図18におけるCC個所を参照)。
【0115】
図19は、図17に示すクロック生成回路におけるカウンタおよびエンコーダの動作を説明するための図であり、図20は、図17に示すクロック生成回路におけるエンコーダの動作を説明するための図である。
【0116】
図19に示されるように、11ビットカウンタ2は、PLL回路1の出力(クロックCK1)をカウントし、カウント値COUNT[10:0]を出力する。
【0117】
具体的に、11ビットカウンタ2は、例えば、基本周波数(クロックCK1)=100MHz(1周期=10nsec)×211で、変調周波数(SSC周波数)=50KHz(1周期=20μsec)を数える。すなわち、20μsec/10nsec=2000≒2048=211となり、基本周波数とスペクトラム拡散クロック(SSC)の周波数の比で決まる。
【0118】
なお、11ビットのカウント値COUNT[10:0]における最上位ビットCOUNT[10]は、アップ/ダウン(Up/Down)モードを示し、下位の10ビットCOUNT[9:0]がアップまたはダウンのカウント数を示す。
【0119】
すなわち、図19に示されるように、最上位ビットCOUNT[10]が『0』のときは、カウントアップモードで、カウント値COUNT[9:0]は{0000000000}から順にカウントアップされる。そして、カウント値[9:0]は{1111111111}で最大となり、その後、最上位ビットCOUNT[10]が『1』となってカウントダウンモードに変化し、それ以降、{0000000000}までカウントダウンされる。
【0120】
11ビットカウンタ2の出力は、10:7エンコーダ3に入力され、例えば、カウント値を10(フェーズエラーゲイン:Phase Error Gain)毎に纏めた7ビットの制御コードSEL[6:0]に変換される。
具体的に、図19に示されるように、例えば、COUNT[10:0]が{00000000000}〜{00000001001}のとき、SEL[6:0]は{0000000}となり、COUNT[10:0]が{00000001010}〜{00000010011}のとき、SEL[6:0]は{0000001}となる。エンコーダ3の出力(制御コードSEL[6:0])のビット数は、アップまたはダウンモードにおけるカウント数×フェーズエラーゲインで決まる。
【0121】
図17の例では、アップまたはダウンモードのカウント数は1024で、フェーズエラーゲインが10なので、1024÷10=102.4=27で7ビットのエンコーダ(10:7エンコーダ)となる。
【0122】
なお、図20に示されるように、10:7エンコーダ3から出力される制御コードSEL[6:0]において、冗長なビット(SEL[6:0]={1100111}〜{1110011})は不使用(Unused)として扱う。そして、エンコーダ3から出力される制御コードSEL[6:0]のうち、6ビットの制御コードSEL[5:0]により、Tr/Tf調整バッファ4におけるインバータ430〜435の接続を制御する。
【0123】
図21は、図17に示すクロック生成回路の仕様の一例を示す図であり、上述した例を纏めて示すものである。すなわち、図21に示されるように、図17に示すクロック生成回路の仕様の一例は、次の通りである。
【0124】
(I)基本周波数(CK1)は100.00E+06Hz(100MHz)で、周期は10.00E-09sec(10nsec)。
(II)SSC周波数(変調周波数)は50.00E+03Hz(50KHz)で、周期は20.00E-06sec(20μsec)。
【0125】
(III)SSC変調度は1%で、フェーズエラー(Phase Error:PE)は100.00E-12sec(100psec)。
(IV-1)カウンタビット幅(Counter Bit Width:CBW)は11ビット[10:0]=211。なお、最上位ビット[10]は、アップ/ダウンの符号を示し、ビット[9:0]は、カウント値を示す。
【0126】
(IV-2)フェーズエラーゲイン(Phase Error Gain:PEG)は10.0。
(V)SSC分解能は、1ステップがPE/CBE/2*PEGで、1ステップの位相ずれは、976.562500000E-15sec(0.9765625psec)。
【0127】
ここで、SSC分解能は、例えば、図1を参照して説明したPLLベースのクロック生成回路がアナログ(線形)動作であるのに対して、本実施例のクロック生成回路がデジタル(離散)動作になるために規定する値である。なお、図21に示すクロック生成回路の仕様は、単なる例であり、様々に変更することができるのはいうまでもない。
【0128】
図22〜図24は、図17に示すクロック生成回路の具体的な動作の一例を説明するための図である。図22および図23において、ステップ51,52,…,101,102,101,…は、前述した図19のステップ1〜205に対応する。
【0129】
また、時間(time)secは、入力クロックCK1の立ち上がりエッジの傾き(遅延)を示す時間であり、時間[変調後]secは、変調後(生成されるスペクトラム拡散クロック)の立ち上がりエッジの遅延を示す時間である。なお、フェーズエラー(Phase Error)secは、時間(time)secから時間[変調後]secを差し引いた値になる。
【0130】
図24は、図22および図23による制御動作を、横軸に変調周期を取り、縦軸にフェーズエラーを取って描いたものである。図22〜図24に示されるように、フェーズエラーは、変調周期が000E+00sec,10.23E-06secおよび20.47E-06secで000E+00sec(零)となり、5.12E-06secで頂点(極大)となり、15.35E-06secで底(極小)となる。
【0131】
このように、生成されるスペクトラム拡散クロック(CK3)の周期(周波数)は、基準クロック(CK1)に対して周波数が高くなる方向および低くなる方向の両方に変動させるセンタースプレッド制御により生成することができる。
【0132】
図25および図26は、図17に示すクロック生成回路の具体的な動作の他の例を説明するための図である。ここで、図25は、前述した図22および図23に対応し、図26は、前述した図24に対応する。
【0133】
図25および図26に示されるように、フェーズエラーは、変調周期が000E+00secおよび10.47E-06secで000E+00sec(零)となり、10.23E-06secで頂点(極大)となる。
【0134】
このように、生成されるスペクトラム拡散クロック(CK3)の周期(周波数)は、基準クロック(CK1)に対して周波数が低くなる方向のみ周波数を変動させるダウンスプレッド制御により生成することができる。
【0135】
なお、図24および図26に示されるように、上述した例では、スペクトラム拡散クロックの周波数が三角波に従って変化する場合を説明したが、三角波に限定されないのはもちろんである。
【0136】
図27は、図17に示すクロック生成回路を適用した半導体集積回路の一例を示すブロック図である。図27において、参照符号500は半導体集積回路(チップ)、BLOCK−A〜−Dはクロックドメイン、PLL−A,−BはPLL回路、MP−C,−Dは逓倍器、そして、SEL−A〜−Dはセレクタを示す。
【0137】
ここで、PLL−Aは、100MHzのクロック(基準周波数FcA)を生成し、PLL−Bは、133MHzのクロック(FcB)を生成する。逓倍器MP−CおよびMP−Dは、それぞれ入力クロックを4逓倍して出力する。
【0138】
セレクタSEL−A〜−Dは、それぞれ制御信号のレベル『0』または『1』に従って、基準周波数のクロック、または、SSCGにより処理されたスペクトラム拡散クロックを選択して各クロックドメインBLOCK−A〜−Dに出力する。
【0139】
すなわち、各クロックドメインBLOCK−A〜−Dにおいて、セレクタSEL−A〜−Dにより選択されたクロックは、例えば、それぞれバッファを介してフリップフロップ(内部回路)へ入力される。
【0140】
なお、各SSCGにおけるカウンタ2およびエンコーダ3のビット数は、適宜、最適な数に設定することができる。また、各クロックドメインBLOCK−A〜−DにおけるSSCG変調度設定は同一とし、Fs=50KHz,3%とする。以下、具体的な場合を例示して、動作を説明する。
【0141】
まず、EMI違反(電磁波干渉による問題)が無い場合、全てのクロックドメインBLOCK−A〜−DにおけるSSCGはオフして、各セレクタSEL−A〜−DはSSC変調無しのクロックを選択して出力する。すなわち、次のようになる。
【0142】
すなわち、SEL−A〜−Dは、SEL−A=『0』,SEL−B=『0』,SEL−C=『0』,SEL−D=『0』を選択する。これにより、BLOCK−A〜Dの周波数は、以下のようになる。
BLOCK−A:Fca=100MHz
BLOCK−B:Fcb=133MHz
BLOCK−C:Fcc=400MHz
BLOCK−D:Fcd=533MHz
【0143】
次に、EMI違反が100MHz系クロック(PLL−A)で発生した場合、100MHz系クロックを使用するBLOCK−AおよびBLOCK−CのSSCGをオンして、BLOCK−BおよびBLOCK−DのSSCGをオフする。
【0144】
そして、セレクタSEL−AおよびSEL−CはSSC変調有りのクロックを選択し、SEL−BおよびSEL−DはSSC変調無しのクロックを選択して出力する。
【0145】
すなわち、SEL−A〜−Dは、SEL−A=『1』,SEL−B=『0』,SEL−C=『1』,SEL−D=『0』を選択する。これにより、BLOCK−A〜Dの周波数は、以下のようになる。
BLOCK−A:Fca=100MHz,Fs=50KHz,3%
BLOCK−B:Fcb=133MHz
BLOCK−C:Fcc=400MHz,Fs=50KHz,3%
BLOCK−D:Fcd=533MHz
【0146】
一方、EMI違反が133MHz系クロック(PLL−B)で発生した場合、133MHz系クロックを使用するBLOCK−BおよびBLOCK−DのSSCGをオンして、BLOCK−AおよびBLOCK−CのSSCGをオフする。そして、セレクタSEL−AおよびSEL−CはSSC変調無しのクロックを選択し、SEL−BおよびSEL−DはSSC変調有りのクロックを選択して出力する。
【0147】
すなわち、SEL−A〜−Dは、SEL−A=『0』,SEL−B=『1』,SEL−C=『0』,SEL−D=『1』を選択する。これにより、BLOCK−A〜Dの周波数は、以下のようになる。
BLOCK−A:Fca=100MHz
BLOCK−B:Fcb=133MHz,Fs=50KHz,3%
BLOCK−C:Fcc=400MHz
BLOCK−D:Fcd=533MHz,Fs=50KHz,3%
【0148】
さらに、EMI違反がBLOCK−Aで発生した場合、BLOCK−AのSSCGだけをオンして、BLOCK−B〜−DのSSCGをオフする。そして、セレクタSEL−AはSSC変調有りのクロックを選択し、SEL−B〜−DはSSC変調無しのクロックを選択して出力する。これにより、BLOCK−A〜Dの周波数は、以下のようになる。
BLOCK−A:Fca=100MHz,Fs=50KHz,3%
BLOCK−B:Fcb=133MHz
BLOCK−C:Fcc=400MHz
BLOCK−D:Fcd=533MHz
【0149】
また、EMI違反が全てのBLOCK−A〜−Dで発生した場合、BLOCK−A〜−Dの全てのSSCGをオンする。そして、セレクタSEL−A〜−Dは、全てSSC変調有りのクロックを選択して出力する。これにより、BLOCK−A〜Dの周波数は、以下のようになる。
BLOCK−A:Fca=100MHz,Fs=50KHz,3%
BLOCK−B:Fcb=133MHz,Fs=50KHz,3%
BLOCK−C:Fcc=400MHz,Fs=50KHz,3%
BLOCK−D:Fcd=533MHz,Fs=50KHz,3%
【0150】
以上の説明では、全てのクロックドメインBLOCK−A〜−DにおけるSSCG変調度が、Fs=50KHz,3%と全て同じに設定された場合を説明したが、次に、BLOCK−A〜−DにおけるSSCG変調度の設定が全て異なる場合を説明する。
【0151】
具体的に、BLOCK−A〜−DにおけるSSCG変調度を、順に、Fs=20KHz,5%、Fs=30KHz,4%、Fs=40KHz,3%、Fs=50KHz,2%と設定した場合を説明する。
【0152】
このとき、EMI違反が全てのBLOCK−A〜−Dで発生すると、BLOCK−A〜−Dの全てのSSCGをオンし、セレクタSEL−A〜−Dは、全てSSC変調有りのクロックを選択して出力する。これにより、BLOCK−A〜Dの周波数は、以下のようになる。
BLOCK−A:Fca=100MHz,Fs=20KHz,5%
BLOCK−B:Fcb=133MHz,Fs=30KHz,4%
BLOCK−C:Fcc=400MHz,Fs=40KHz,3%
BLOCK−D:Fcd=533MHz,Fs=50KHz,2%
【0153】
このように、半導体集積回路500において、複数のクロックドメインBLOCK−A〜−DのSSCGは、EMI違反の状態等により個別にSSC(スペクトラム拡散クロック)の生成を制御することができる。なお、クロックドメインの数やPLL回路の数、および、各クロックドメインで使用する周波数等は、様々に変更することができるのはいうまでもない。
【0154】
以上の実施例を含む実施形態に関し、さらに、以下の付記を開示する。
(付記1)
基準信号を受け取って、立ち上がりエッジの傾き、または、立ち下がりエッジの傾き、または、立ち上がりエッジおよび立ち下がりエッジの傾きを、周期的に変化させた第1信号を生成する第1回路と、
前記第1信号を受け取って、周期的に周波数が変化するクロックを生成する第2回路と、
を有することを特徴とするクロック生成回路。
【0155】
(付記2)
前記基準信号を生成するPLL回路を有する、
ことを特徴とする付記1に記載のクロック生成回路。
【0156】
(付記3)
前記第1回路は、
低レベルから高レベルへ変化する立ち上がりエッジの駆動電流を周期的に変化させて前記第1信号を生成する、
ことを特徴とする付記1または付記2に記載のクロック生成回路。
【0157】
(付記4)
前記第1回路は、
第1pチャネル型MOSトランジスタおよび第1nチャネル型MOSトランジスタを有するインバータと、
前記第1pチャネル型MOSトランジスタと並列に設けられ、スイッチで接続が制御される少なくとも1つの第2pチャネル型MOSトランジスタと、を有し、
少なくとも1つの前記第2pチャネル型MOSトランジスタのスイッチを周期的に制御する、
ことを特徴とする付記3に記載のクロック生成回路。
【0158】
(付記5)
少なくとも1つの前記第2pチャネル型MOSトランジスタのスイッチを、
偶数または奇数の一方の周期において、第1のスイッチング状態となるように制御し、
偶数または奇数の他方の周期において、前記第1のスイッチング状態とは異なる第2のスイッチング状態となるように制御する、
ことを特徴とする付記4に記載のクロック生成回路。
【0159】
(付記6)
前記第1回路は、前記第2pチャネル型MOSトランジスタを、少なくとも2つ有し、
前記第2のスイッチング状態を、前記偶数または奇数の他方の周期において、周期的に変化させる、
ことを特徴とする付記5に記載のクロック生成回路。
【0160】
(付記7)
前記第1回路は、
高レベルから低レベルへ変化する立ち下がりエッジの駆動電流を周期的に変化させて前記第1信号を生成する、
ことを特徴とする付記1または付記2に記載のクロック生成回路。
【0161】
(付記8)
前記第1回路は、
第1pチャネル型MOSトランジスタおよび第1nチャネル型MOSトランジスタを有するインバータと、
前記第1nチャネル型MOSトランジスタと並列に設けられ、スイッチで接続が制御される少なくとも1つの第2nチャネル型MOSトランジスタと、を有し、
少なくとも1つの前記第2nチャネル型MOSトランジスタのスイッチを周期的に制御する、
ことを特徴とする付記7に記載のクロック生成回路。
【0162】
(付記9)
少なくとも1つの前記第2nチャネル型MOSトランジスタのスイッチを、
偶数または奇数の一方の周期において、第3のスイッチング状態となるように制御し、
偶数または奇数の他方の周期において、前記第3のスイッチング状態とは異なる第4のスイッチング状態となるように制御する、
ことを特徴とする付記8に記載のクロック生成回路。
【0163】
(付記10)
前記第1回路は、前記第2nチャネル型MOSトランジスタを、少なくとも2つ有し、
前記第4のスイッチング状態を、前記偶数または奇数の他方の周期において、周期的に変化させる、
ことを特徴とする付記9に記載のクロック生成回路。
【0164】
(付記11)
前記第1回路は、
低レベルから高レベルへ変化する立ち上がりエッジの駆動電流、および、高レベルから低レベルへ変化する立ち下がりエッジの駆動電流を周期的に変化させて前記第1信号を生成する、
ことを特徴とする付記1または付記2に記載のクロック生成回路。
【0165】
(付記12)
前記第1回路は、
pチャネル型MOSトランジスタおよびnチャネル型MOSトランジスタを有する第1インバータと、
前記第1インバータと並列に設けられ、スイッチで接続が制御される少なくとも1つの第2インバータと、を有し、
少なくとも1つの前記第2インバータのスイッチを周期的に制御する、
ことを特徴とする付記11に記載のクロック生成回路。
【0166】
(付記13)
少なくとも1つの前記第2インバータのスイッチを、
偶数または奇数の一方の周期において、第5のスイッチング状態となるように制御し、
偶数または奇数の他方の周期において、前記第5のスイッチング状態とは異なる第6のスイッチング状態となるように制御する、
ことを特徴とする付記12に記載のクロック生成回路。
【0167】
(付記14)
前記第1回路は、前記第2インバータを少なくとも2つ有し、
前記第4のスイッチング状態を、前記偶数または奇数の他方の周期において、周期的に変化させる、
ことを特徴とする付記13に記載のクロック生成回路。
【0168】
(付記15)
前記基準信号をカウントするカウンタと、
前記カウンタの出力に従って、前記第1信号の立ち上がりエッジまたは立ち下がりエッジの傾きを制御する制御コードを生成する制御コード生成回路と、
を有することを特徴とする付記1〜付記14のいずれか1項に記載のクロック生成回路。
【0169】
(付記16)
前記制御コードは、
付記4〜6のいずれか1項に記載の少なくとも1つの前記第2pチャネル型MOSトランジスタのスイッチを制御するか、
付記8〜10のいずれか1項に記載の少なくとも1つの前記第2nチャネル型MOSトランジスタのスイッチを制御するか、或いは、
付記12に〜14のいずれか1項に記載の少なくとも1つの前記第2インバータのスイッチを制御する、
ことを特徴とするクロック生成回路。
【0170】
(付記17)
付記1〜付記16のいずれか1項に記載のクロック生成回路を有するスペクトラム拡散クロック・ジェネレータと、
前記スペクトラム拡散クロック・ジェネレータにより生成されたクロックが入力される内部回路と、
を有することを特徴とする半導体集積回路。
【0171】
(付記18)
前記スペクトラム拡散クロック・ジェネレータは、複数設けられ、
それぞれの前記スペクトラム拡散クロック・ジェネレータは、個別に制御される、
ことを特徴とする付記17に記載の半導体集積回路。
【0172】
(付記19)
基準信号を受け取って、立ち上がりエッジの傾き、または、立ち下がりエッジの傾き、または、立ち上がりエッジおよび立ち下がりエッジの傾きを、周期的に変化させた第1信号を生成し、
前記第1信号を受け取って、周期的に周波数が変化するクロックを生成する、
ことを特徴とするクロック生成方法。
【0173】
(付記20)
前記第1信号を、
低レベルから高レベルへ変化する立ち上がりエッジの駆動電流を周期的に変化させ、または、
高レベルから低レベルへ変化する立ち下がりエッジの駆動電流を周期的に変化させ、または、
低レベルから高レベルへ変化する立ち上がりエッジの駆動電流、および、高レベルから低レベルへ変化する立ち下がりエッジの駆動電流を周期的に変化させて生成する、
ことを特徴とする付記19に記載のクロック生成方法。
【符号の説明】
【0174】
1 PLL回路
2 カウンタ
3 エンコーダ(制御コード生成回路)
4 Tr/Tf調整バッファ
5 遅延時間調整バッファ
61〜64 フリップフロップ(内部回路)
101 スペクトラム拡散クロック・ジェネレータ(SSCG:クロック生成回路)
102 PLL回路
111 位相比較器(PFD)
112 チャージポンプ(CP)
113 ローパスフィルタ(LPF)
114 電圧制御発振器(VCO)
115 位相制御回路
116 分周器
500 半導体集積回路(チップ)
【特許請求の範囲】
【請求項1】
基準信号を受け取って、立ち上がりエッジの傾き、または、立ち下がりエッジの傾き、または、立ち上がりエッジおよび立ち下がりエッジの傾きを、周期的に変化させた第1信号を生成する第1回路と、
前記第1信号を受け取って、周期的に周波数が変化するクロックを生成する第2回路と、
を有することを特徴とするクロック生成回路。
【請求項2】
前記第1回路は、
低レベルから高レベルへ変化する立ち上がりエッジの駆動電流を周期的に変化させて前記第1信号を生成する、
ことを特徴とする請求項1に記載のクロック生成回路。
【請求項3】
請求項1または2に記載のクロック生成回路を有するスペクトラム拡散クロック・ジェネレータと、
前記スペクトラム拡散クロック・ジェネレータにより生成されたクロックが入力される内部回路と、
を有することを特徴とする半導体集積回路。
【請求項4】
基準信号を受け取って、立ち上がりエッジの傾き、または、立ち下がりエッジの傾き、または、立ち上がりエッジおよび立ち下がりエッジの傾きを、周期的に変化させた第1信号を生成し、
前記第1信号を受け取って、周期的に周波数が変化するクロックを生成する、
ことを特徴とするクロック生成方法。
【請求項5】
前記第1信号を、
低レベルから高レベルへ変化する立ち上がりエッジの駆動電流を周期的に変化させ、または、
高レベルから低レベルへ変化する立ち下がりエッジの駆動電流を周期的に変化させ、または、
低レベルから高レベルへ変化する立ち上がりエッジの駆動電流、および、高レベルから低レベルへ変化する立ち下がりエッジの駆動電流を周期的に変化させて生成する、
ことを特徴とする請求項4に記載のクロック生成方法。
【請求項1】
基準信号を受け取って、立ち上がりエッジの傾き、または、立ち下がりエッジの傾き、または、立ち上がりエッジおよび立ち下がりエッジの傾きを、周期的に変化させた第1信号を生成する第1回路と、
前記第1信号を受け取って、周期的に周波数が変化するクロックを生成する第2回路と、
を有することを特徴とするクロック生成回路。
【請求項2】
前記第1回路は、
低レベルから高レベルへ変化する立ち上がりエッジの駆動電流を周期的に変化させて前記第1信号を生成する、
ことを特徴とする請求項1に記載のクロック生成回路。
【請求項3】
請求項1または2に記載のクロック生成回路を有するスペクトラム拡散クロック・ジェネレータと、
前記スペクトラム拡散クロック・ジェネレータにより生成されたクロックが入力される内部回路と、
を有することを特徴とする半導体集積回路。
【請求項4】
基準信号を受け取って、立ち上がりエッジの傾き、または、立ち下がりエッジの傾き、または、立ち上がりエッジおよび立ち下がりエッジの傾きを、周期的に変化させた第1信号を生成し、
前記第1信号を受け取って、周期的に周波数が変化するクロックを生成する、
ことを特徴とするクロック生成方法。
【請求項5】
前記第1信号を、
低レベルから高レベルへ変化する立ち上がりエッジの駆動電流を周期的に変化させ、または、
高レベルから低レベルへ変化する立ち下がりエッジの駆動電流を周期的に変化させ、または、
低レベルから高レベルへ変化する立ち上がりエッジの駆動電流、および、高レベルから低レベルへ変化する立ち下がりエッジの駆動電流を周期的に変化させて生成する、
ことを特徴とする請求項4に記載のクロック生成方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図20】
【図21】
【図24】
【図26】
【図27】
【図19】
【図22】
【図23】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図20】
【図21】
【図24】
【図26】
【図27】
【図19】
【図22】
【図23】
【図25】
【公開番号】特開2013−12917(P2013−12917A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−144416(P2011−144416)
【出願日】平成23年6月29日(2011.6.29)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願日】平成23年6月29日(2011.6.29)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】
[ Back to top ]