(57)【要約】【課題】クロックを分周するにあたり、分周カウンタを用いてクロックを分周し、シリアル通信などの伝送クロックを生成する方法では、元となるクロックの整数分周の周波数クロックしか生成することが出来ないため、伝送クロックの周波数が通信規格を満たすことが出来ないことがある。また、従来技術の分周カウンタのカウント数を変更して平均周波数を所定の伝送レートに近づける方法では、分周器とカウントダウンカウンタの設定値を制御する専用回路が必要となり、回路規模が増加するという課題がある。【解決手段】  高速クロックであるクロックソース信号Ｓ３０１を分周する伝送クロック生成部１００に供給するクロックを、プログラム可能な周期毎にマスクすることで、クロックカウンタ１０１のカウントを遅らせることで、伝送クロックの周期を伸ばすタイミングを設定し、その平均周波数を所定の伝送レートに近づける。【選択図】図５
2010087820.tif 000002
【特許請求の範囲】
【請求項１】
入力クロックパルスを所定のタイミングでマスクしたゲーティッドクロックを出力するクロック制御手段と、
前記クロック制御手段から供給されたゲーティッドクロックの、マスク間隔よりも長い間隔となる、一定カウント数毎に１つのパルス信号を出力する分周クロック出力手段とを備える
ことを特徴とする半導体集積回路。
【請求項２】
前記半導体集積回路は、前記入力クロックパルスをＡ＋Ｃ／Ｂ（Ａ、Ｂ、Ｃは自然数であり、Ｂ＞Ｃを満たす）分周するものであって、
前記クロック制御手段は、前記Ｂ及び前記Ｃに基づいて前記所定のタイミングを決定するものであり、
前記一定カウント数は、前記Ａである
ことを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記クロック制御手段は、
前記Ｃと、前記Ｃから前記Ｂを減算した値とのいずれか一方の値を選択して出力するセレクタと、
加算結果を保持し、前記パルス信号の立ち上がりタイミング毎に保持している加算結果を出力する加算結果保持バッファと、
前記セレクタから出力された値と、前記加算結果保持バッファから出力された値とを加算し、得られた加算値を前記加算結果保持バッファに上書きする加算回路と、
前記加算結果保持バッファから保持している値が出力される毎に、前記加算結果保持バッファから出力された値が基準値Ｘより大きいか否かを判定する判定部と、
前記判定部が前記加算結果保持バッファから出力された値がＸより大きいと判定されたタイミングで前記入力クロックパルスを当該入力クロックパルスの１クロック分だけマスクしたゲーティッドクロックを出力するゲーティッドクロック出力部とを備え、
前記セレクタは、前記判定部がＸより大きいと判定した場合に前記Ｃから前記Ｂを減算した値を選択して出力し、前記判定部がＸより大きくないと判定した場合に前記Ｃを選択して出力し、
前記所定のタイミングとは、前記パルス信号の立ち上がりタイミングであって、前記加算結果保持バッファに保持されている値がＸより大きいタイミングであり、
前記加算結果保持バッファの初期値Ｙと前記Ｘとは、Ｘ−（Ｂ−Ｃ）＜Ｙ≦Ｘ＋Ｃを満たし、
前記分周クロック出力手段は、
供給されたゲーティッドクロックをカウントするゲーティッドクロックカウンタと、
ゲーティッドクロックの分周数を設定するためのものであって、前記Ａが設定される分周数設定レジスタと、
前記パルス信号を出力するものであって、前記ゲーティッドクロックカウンタのカウンタ値と、前記分周数設定レジスタに設定されている分周数の１／２となる値とが一致すると、今までの出力信号を反転させた信号を出力する分周クロック出力部とを備える
ことを特徴とする請求項２記載の半導体集積回路。
【請求項４】
前記クロック制御手段は、更に、
自然数である第１値が設定される第１設定レジスタと、
自然数である第２値が設定される第２設定レジスタと、
前記第１値から、前記第２値を減算する減算回路とを備え、
前記セレクタは、前記第１値と前記減算回路の演算結果のうちいずれか一方の値を選択して出力し、
前記第１値は、前記Ｃであり、前記第２値は、前記Ｂである
ことを特徴とする請求項３記載の半導体集積回路。
【請求項５】
前記ゲーティッドクロック出力部は、更に、
前記パルス信号の立ち下がりを検出したタイミングにおいても前記入力クロックパルスを１クロック分だけマスクする
ことを特徴とする請求項４記載の半導体集積回路。
【請求項６】
前記Ｃは、１であり、
前記クロック制御手段は、
前記分周クロック出力手段から出力された分周クロックをカウントする分周クロックカウンタと、
前記分周クロックカウンタの値からクロックソースをゲーティングするタイミングを決定するための設定値を設定するためのものであって、前記Ｂが設定される第１設定レジスタと、
前記分周クロックカウンタのカウンタ値と、前記第１設定レジスタに設定されている設定値とが一致すると、前記クロックソースのクロックをマスクしてゲーティッドクロックを出力するゲーティッドクロック出力部とを備え、
前記分周クロック出力手段は、
供給されたゲーティッドクロックをカウントするゲーティッドクロックカウンタと、
ゲーティッドクロックの分周数を設定するためのものであって、前記Ａが設定される分周数設定レジスタと、
前記パルス信号を出力するものであって、前記ゲーティッドクロックカウンタのカウンタ値と、前記分周数設定レジスタに設定されている分周数の１／２となる値とが一致すると、今までの出力信号を反転させた信号を出力する分周クロック出力部とを備え、
前記所定のタイミングとは、前記分周クロックカウンタのカウンタ値と、前記第１設定レジスタに設定されている設定値とが一致したタイミングである
ことを特徴とする請求項２記載の半導体集積回路。
【請求項７】
前記ゲーティッドクロックカウンタは、前記ゲーティッドクロックカウンタのカウンタ値と、前記分周数設定レジスタに設定されている設定値とが一致すると、カウンタ値をリセットし、
前記分周クロックカウンタは、前記分周クロックカウンタのカウンタ値と、前記第１設定レジスタに設定されている設定値とが一致すると、カウンタ値をリセットする
ことを特徴とする請求項６記載の半導体集積回路。
【請求項８】
前記クロック制御手段は、
前記分周クロックカウンタの値からクロックソースをゲーティングするタイミングを決定するための設定値を設定するためのものであって、前記Ｃが設定される第１設定レジスタと、
前記分周クロックカウンタをリセットするタイミングを決定するための設定値を設定するためのものであって、前記Ｂが設定される第２設定レジスタと、
前記分周クロック出力手段から出力された分周クロックをカウントし、前記第２設定レジスタに設定されている設定値とカウント値が一致するとカウント値をリセットする分周クロックカウンタと、
前記分周クロックカウンタのカウンタ値が前記第１設定レジスタに設定されている設定値未満である場合に、前記クロックソースのクロックをマスクしたゲーティッドクロックを出力するゲーティッドクロック出力部とを備え、
前記分周クロック出力手段は、
供給されたゲーティッドクロックをカウントするゲーティッドクロックカウンタと、
ゲーティッドクロックの分周数を設定するためのものであって、前記Ａが設定される分周数設定レジスタと、
前記パルス信号を出力するものであって、前記ゲーティッドクロックカウンタのカウンタ値と、前記分周数設定レジスタに設定されている分周数の１／２となる値とが一致すると、今までの出力信号を反転させた信号を出力する分周クロック出力部とを備え、
前記所定のタイミングとは、前記分周クロックカウンタのカウンタ値が、前記第１設定レジスタに設定されている設定値未満であるタイミングである
ことを特徴とする請求項２記載の半導体集積回路。
【請求項９】
前記ゲーティッドクロックカウンタは、前記ゲーティッドクロックカウンタのカウンタ値と、前記分周数設定レジスタに設定されている設定値とが一致すると、カウンタ値をリセットする
ことを特徴とする請求項８記載の半導体集積回路。
【請求項１０】
供給された入力クロックパルスを分周し通信回路の伝送クロックを生成する通信システムであって、
通信回路と、
請求項３〜９の何れか一項に記載の半導体集積回路と、
前記入力クロックパルスを前記半導体集積回路に供給するクロック発振器とを備え、
前記半導体集積回路は、前記入力クロックパルスの供給を受けて、当該入力クロックパルスを、前記通信回路が必要とするクロックの周期に近づけるように分周して、分周されて生成されるパルス信号を前記通信回路に供給し、
前記通信回路は、前記半導体集積回路から供給された前記パルス信号に基づく、通信を実行する
ことを特徴とする通信システム。
【請求項１１】
前記通信回路は、必要とするクロックの周期を前記半導体集積回路に伝達し、
前記半導体集積回路は、通知されたクロックの周期に基づいて、前記Ａ、前記Ｂ、前記Ｃを決定して前記パルス信号を出力する
ことを特徴とする請求項１０記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路に関し、特にクロックパルスの分周に関する。
【背景技術】
【０００２】
従来、各回路が必要とするクロックパルスは各回路に応じて供給される必要がある。しかし、各回路のためのクロックパルスを発生させるクロックパルスを発生させるクロック発振子を備えることは、回路規模の増大を招くことになる。よって、各回路に供給するクロックパルスを、一つのクロック発振子から発生される高速のクロックパルスを分周して、それぞれの回路が必要なクロックパルスを生成することが考えられる。クロックパルスを分周するとは、クロックパルスを分周カウンタでカウントし、カウント値が予め定められた設定値になると１つのパルス信号を出力し、カウント値を０に戻すことを繰り返すことである。設定値を例えば６に設定すると、供給された高速クロックパルスを６分周したクロックパルス、つまりクロックパルスの３クロック分がＨｉｇｈ（以下「Ｈｉ」と記載する）、３クロック分がＬｏｗとなるクロックパルスを生成できる。
【０００３】
しかしながら、上記の手法だと、高速クロックパルスの整数分週のクロックパルスしか生成できず、分数分周ができないことになる。
そこで、特許文献１に記載の技術は、クロックパルスをカウントする分周カウンタに設定する分周数をＮとＮ＋１とで切り替えて、所望の周期に近いパルス信号を生成することを開示している。
【特許文献１】特表２００４−５１９９５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、分周カウンタや比較回路の回路規模を抑えるために、高速クロックをプリスケーラを用いて分周し、分周カウンタのクロックソースとする方法が用いられるが、特許文献１に記載の技術のように、２つの生成されたクロックの平均周波数を所定の周期に近づける方法では、プリスケーラの出力クロックの周期で生成されるクロックの周期が変化するため、所望の周期に近づけたはずのクロックであっても、理想とするクロックとの位相差が大きくなり、回路が正常に動作しないことがある。
【０００５】
例えば、回路が通信回路であって、６．５分周されたクロックが必要であり、プリスケーラで高速クロックを２分周し、分周カウンタのクロックソースとした場合であって、特許文献１に記載されるような手法をとったとき、８分周クロック１つと６分周クロック３つで６．５分周クロックを生成する（（８＋６＋６＋６）／４＝６．５）ことになるが、この場合、８分周クロックと理想とする６．５分周クロックの位相差は、大元の高速クロックの１．５周期分に相当するため、回路が正常に動作しないことがある。
【０００６】
そこで、本発明は上記課題を解決するためになされたものであり、高速クロックを分周する半導体集積回路であって、理想とするクロックとの位相差ができるだけ小さくできる半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明は、入力クロックパルスを所定のタイミングでマスクしたゲーティッドクロックを出力するクロック制御手段と、前記クロック制御手段から供給されたゲーティッドクロックの、マスク間隔よりも長い間隔となる、一定カウント数毎に１つのパルス信号を出力する分周クロック出力手段とを備えることを特徴としている。
【発明の効果】
【０００８】
上述のような構成によって、分周クロック出力手段には、従来だと入力クロックパルスがそのまま入力されるところを、入力クロックパルスをマスキングしたゲーティッドクロックが供給されることにより、分周クロック出力手段がカウントするクロックを実質的に遅らせることができる。これにより、所定のタイミングでマスキングすることにより、分周されるクロック数を変化させることができ、よって、その平均周波数は理想クロックに近いパルス信号を出力することができる。
【０００９】
また、前記半導体集積回路は、前記入力クロックパルスをＡ＋Ｃ／Ｂ（Ａ、Ｂ、Ｃは自然数であり、Ｂ＞Ｃを満たす）分周するものであって、前記クロック制御手段は、前記Ｂ及び前記Ｃに基づいて前記所定のタイミングを決定するものであり、前記一定カウント数は、前記Ａであることとしてよい。
また、前記クロック制御手段は、前記Ｃと、前記Ｃから前記Ｂを減算した値とのいずれか一方の値を選択して出力するセレクタと、加算結果を保持し、前記パルス信号の立ち上がりタイミング毎に保持している加算結果を出力する加算結果保持バッファと、前記セレクタから出力された値と、前記加算結果保持バッファから出力された値とを加算し、得られた加算値を前記加算結果保持バッファに上書きする加算回路と、前記加算結果保持バッファから保持している値が出力される毎に、前記加算結果保持バッファから出力された値が基準値Ｘより大きいか否かを判定する判定部と、前記判定部が前記加算結果保持バッファから出力された値がＸより大きいと判定されたタイミングで前記入力クロックパルスを当該入力クロックパルスの１クロック分だけマスクしたゲーティッドクロックを出力するゲーティッドクロック出力部とを備え、前記セレクタは、前記判定部がＸより大きいと判定した場合に前記Ｃから前記Ｂを減算した値を選択して出力し、前記判定部がＸより大きくないと判定した場合に前記Ｃを選択して出力し、前記所定のタイミングとは、前記パルス信号の立ち上がりタイミングであって、前記加算結果保持バッファに保持されている値がＸより大きいタイミングであり、前記加算結果保持バッファの初期値Ｙと前記Ｘとは、Ｘ−（Ｂ−Ｃ）＜Ｙ≦Ｘ＋Ｃを満たし、前記分周クロック出力手段は、供給されたゲーティッドクロックをカウントするゲーティッドクロックカウンタと、ゲーティッドクロックの分周数を設定するためのものであって、前記Ａが設定される分周数設定レジスタと、前記パルス信号を出力するものであって、前記ゲーティッドクロックカウンタのカウンタ値と、前記分周数設定レジスタに設定されている分周数の１／２となる値とが一致すると、今までの出力信号を反転させた信号を出力する分周クロック出力部とを備えることとしてよい。
【００１０】
これにより、Ａ＋Ｃ／Ｂ分周を実現したい場合に、入力クロックパルスをマスキングするタイミングが所定の周期中で、均等に配されるようになり、よって、その平均周波数が所望の周波数に近いパルス信号を出力することができる。
また、前記クロック制御手段は、更に、自然数である第１値が設定される第１設定レジスタと、自然数である第２値が設定される第２設定レジスタと、前記第１値から、前記第２値を減算する減算回路とを備え、前記セレクタは、前記第１値と前記減算回路の演算結果のうちいずれか一方の値を選択して出力し、前記第１値は、前記Ｃであり、前記第２値は、前記Ｂであることとしてよい。
【００１１】
これにより、単に第１設定レジスタにＣを、第２設定レジスタにＢを、そして分周数設定レジスタにＡを設定するだけで、所望のＡ＋Ｃ／Ｂ分周が実現できるので、所望の分周の設定が容易となる。
また、前記ゲーティッドクロック出力部は、更に、前記パルス信号の立ち下がりを検出したタイミングにおいても前記入力クロックパルスを１クロック分だけマスクすることとしてよい。
【００１２】
これにより、分周数設定レジスタに設定するＡを奇数としたい場合の分周にも対応できる。
また、供給された入力クロックパルスを分周し通信回路の伝送クロックを生成する通信システムであって、通信回路と、請求項３〜９の何れか一項に記載の半導体集積回路と、前記入力クロックパルスを前記半導体集積回路に供給するクロック発振器とを備え、前記半導体集積回路は、前記入力クロックパルスの供給を受けて、当該入力クロックパルスを、前記通信回路が必要とするクロックの周期に近づけるように分周して、分周されて生成されるパルス信号を前記通信回路に供給し、前記通信回路は、前記半導体集積回路から供給された前記パルス信号に基づく、通信を実行することとしてよい。
【００１３】
これにより、通信回路が必要とする周波数に近いパルス信号を生成して、通信を実行することができる。
また、前記通信回路は、必要とするクロックの周期を前記半導体集積回路に伝達し、前記半導体集積回路は、通知されたクロックの周期に基づいて、前記Ａ、前記Ｂ、前記Ｃを決定して前記パルス信号を出力することとしてよい。
【００１４】
これにより、通信回路が指定する周波数に基づいて、半導体集積回路は分周数を決定して、通信回路の所望の周波数のパルス信号を生成することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施形態である半導体集積回路及び、半導体集積回路が用いられる通信装置について図面を用いて説明する。
＜実施の形態１＞
＜構成＞
図１は、実施の形態１に係る半導体集積回路の機能構成を示した機能ブロック図である。半導体集積回路は例えば、通信機器などに搭載され、必要とされる周波数の伝送クロックを生成するものである。
【００１６】
図１に示すように、半導体集積回路は、伝送クロック生成部１００と、クロック制御部２００とを含んで構成される。
伝送クロック制御部１００は、クロックカウンタ１０１と、比較部１０２と、分周数設定レジスタ１０３と、伝送クロック生成部１０４とを含んで構成される。
クロックカウンタ１０１は、クロック制御部２００から供給されるゲーティッドクロックＳ１０２を受けて、当該ゲーティッドクロックＳ１０２のパルスをカウントし、カウント値Ｓ１０３を比較部１０２に出力する機能を有する。また、比較部１０２からのリセット信号Ｓ１０５を受けてカウント値を０にリセットする機能も有する。
【００１７】
比較部１０２は、カウント値Ｓ１０３と、分周数設定レジスタ１０３から通知された値とを比較し、両値が一致した場合にだけ、一致したことを示す一致信号Ｓ１０４を伝送クロック生成部１０４に出力し、また、クロックカウンタ１０１にカウント値を０にリセットさせるためのリセット信号Ｓ１０５を出力する機能を有する。
分周数設定レジスタ１０３は、クロック制御部２００から供給されるゲーティッドクロックＳ１０２のパルス数を何分周するのかの値を保持する機能を有する。当該分周設定レジスタ１０３に設定される値は２の倍数となる自然数である。また、分周数設定レジスタ１０３は、設定された値の半分の値を比較部１０２に通知する機能も有する。分周設定レジスタ１０３に保持される値はオペレータ等により任意の値に設定される。また、設定される値は、出力する伝送クロックのＨｉ、Ｌｏｗの各期間が等しくなるようにするためには、２の倍数である必要がある。
【００１８】
伝送クロック生成部１０４は、比較部１０４から一致信号Ｓ１０４を受けたタイミングにおいて、今まで出力していた信号を反転させた伝送クロックＳ１０６を出力する機能を有する。ここで信号を反転させるとは、伝送クロックは、ＨｉとＬｏｗの２値で構成されるデジタル信号であり、ＨｉからＬｏｗ、あるいはＬｏｗからＨｉに出力値を変化させることである。
【００１９】
クロック制御部２００は、伝送クロックカウンタ２０１と、比較部２０２と、伝送レート調整頻度設定レジスタ２０３と、ゲーティング信号生成部２０４と、クロックゲーティング部２０５とを含んで構成される。
伝送クロックカウンタ２０１は、伝送クロックＳ１０６のパルス数をカウントし、カウント値Ｓ１０７を比較部２０２に出力する機能を有し、比較部２０２からのリセット信号Ｓ１０９を受けて、カウント値を０にリセットする機能を有する。
【００２０】
比較部２０２は、カウント値Ｓ１０７と、伝送レート調整頻度設定レジスタ２０３から通知された値とを比較し、両値が一致した場合にだけ、一致したことを示す一致信号Ｓ１０８をゲーティング信号生成部２０４に出力し、また、クロックカウンタ１０１にカウント値を０にリセットさせるためのリセット信号Ｓ１０９を出力する機能を有する。
伝送レート調整頻度設定レジスタ２０３は、オペレータ等により設定された任意の整数値を保持するレジスタであり、保持している値を比較部２０２に通知する機能を有する。
【００２１】
ゲーティング信号生成部２０４は、比較部２０２から一致信号Ｓ１０８を受けつけると、クロックソースＳ１０１の１クロック分の長さのマスク信号Ｓ１１０をクロックゲーティング部２０５に出力する機能を有する。
クロックゲーティング部２０５は、クロック発振子（図示せず）からのクロックソースＳ１０１の供給を受け、ゲーティング信号生成部２０４からのマスク信号Ｓ１１０に基づき、マスク信号Ｓ１１０がＨｉになっているタイミングでは、クロックソースＳ１０１の立ち下がりに合わせてＬｏｗにせず、立ち下げていないゲーティッドクロックＳ１０２を生成して出力する機能を有する。具体的には、ＯＲ回路によって実現され、クロックソース信号Ｓ１０１とマスク信号Ｓ１１０の論理和を出力する。
【００２２】
以上が、半導体集積回路の各部の説明である。
これにより、本実施例における半導体集積回路は、例えば、分周数設定レジスタ１０３にＡを設定し、伝送レート調整頻度設定レジスタ２０３にＢを設定すると、Ａ＋１／Ｂ分周が実現できる。
では、生成される伝送クロックについて、図２を用いて、一具体例を説明する。
【００２３】
図２は、約６．３３分周、つまり、分周数設定レジスタ１０３に「６」を、伝送レート調整頻度設定レジスタ２０３に「３」を設定した場合の各信号の波形を示した信号波形図であり、横方向に時間軸をとっている。つまり、Ａ＋１／Ｂ分周を実現したい場合には、分周設定レジスタ１０３にＡを、伝送レート調整頻度設定レジスタ２０３にＢを設定する。６．３３≒６＋１／３なので、前述したように、分周数設定レジスタ１０３に「６」を、伝送レート調整頻度設定レジスタ２０３に「３」を設定している。
【００２４】
図２は、上から順に、クロックソース信号Ｓ１０１、ゲーティッドクロック信号Ｓ１０２、マスク信号Ｓ１１０、クロックカウンタ値Ｓ１０３、クリア信号Ｓ１０５、伝送クロック信号Ｓ１０６、伝送クロックカウンタ値Ｓ１０７、クリア信号Ｓ１０９の波形を示している。図２のクロックソース信号Ｓ１０１と、伝送クロック信号Ｓ１０６を見れば分かるように、時刻Ｔ０からＴ３までの間にクロックソース信号Ｓ１０１で１９個のパルス信号があり、伝送クロック信号Ｓ１０６の場合３個のパルス信号がある。クロックソース信号Ｓ１０１の１９個のパルス信号から、伝送クロック信号Ｓ１０６の３個のパルス信号が生成されているので、１９／３分周、つまり６＋１／３分周が実現できていることになる。なお、時刻Ｔ０からＴ３に示す信号の変化が繰り返されることにより、６．３３分周の伝送クロック信号Ｓ１０６が生成される。
【００２５】
分周数設定レジスタ１０３に「６」が設定されるということは、比較部１０２は、クロックカウンタ１０１から出力されるクロックカウンタ値Ｓ１０３が「２」から「０」になるタイミング（６の半分で３となるが、０から数えるため「２」のときに「０」にリセットされる）で、伝送クロック信号Ｓ１０６の出力が反転している。
クロックカウンタ１０１のクロックカウント値Ｓ１０３は、「２」になったタイミングで、クリア信号Ｓ１０５をクロックカウンタ１０１が受けて「０」にリセットされている。なお、伝送クロック信号Ｓ１０６の波形と、比較部１０２の出力信号Ｓ１０４は、伝送クロック信号Ｓ１０６の立ち上がり、立ち下がりのタイミングを決定できる信号であればよく、伝送クロック信号Ｓ１０６と同一の波形であってもよいし、伝送クロック信号Ｓ１０６が、立ち上がる、あるいは立ち下がるタイミングで立ち上がりがあるパルス信号であってもよい。
【００２６】
伝送クロックカウンタ値Ｓ１０７は、伝送クロック信号Ｓ１０６の立ち上がりを検出するたびに、そのカウント値を１ずつ加算していき、その値が２になると比較部２０２からクリア信号Ｓ１０９が図２に示されるタイミングで出力されるので、クリア信号Ｓ１０９と、次の伝送クロック信号Ｓ１０６の立ち上がりを受けて（図中時刻Ｔ３において）、伝送クロックカウンタＳ１０７は、カウント値を「０」にリセットする。
【００２７】
ゲーティング信号生成部２０４は、比較部２０２からの出力信号Ｓ１０８を受けて、マスク信号Ｓ１１０を生成し、マスク信号Ｓ１１０をクロックゲーティング部２０５に出力する。図２におけるマスク信号Ｓ１１０がそれである。図２から分かるように、伝送クロックカウンタ値Ｓ１０７のカウント値が「２」であって、伝送クロック信号Ｓ１０６の立ち上がりタイミング（図２中時刻Ｔ２）から、１クロック分のマスク信号Ｓ１１０が出力されている。なお、比較部２０２の出力信号Ｓ１０８は、マスク信号Ｓ１１０の立ち上がり、立ち下がりのタイミングを決定できる信号であればよく、マスク信号Ｓ１１０の波形と同一の波形であってもよいし、マスク信号Ｓ１１０が、立ち上がるタイミングで立ち上がりがあるパルス信号であってもよい。
【００２８】
そして、クロックゲーティング部２０５は、マスク信号Ｓ１１０とクロックソース信号Ｓ１０１を受けて、両信号の論理和をとって、ゲーティッドクロック信号Ｓ１０２を出力する。図２の時刻Ｔ２を見れば分かるように、本来立ち下がるはずのクソックソース信号Ｓ１０１がマスク信号Ｓ１１０の影響により、立ち下がっていない。つまり、これによりクロックカウンタ１０１のカウントが通常よりも遅くなる（クロックソース信号Ｓ１０１の１クロック分）ことになり、クロックカウンタ１０１は、６クロック分しかカウントしていないにもかかわらず、クロックソース信号Ｓ１０１の実質７クロック分をカウントすることになる。
【００２９】
時刻Ｔ０からＴ３までの信号が繰り返されることにより、クロックソース信号Ｓ１０１を６．３３分周した伝送クロック信号Ｓ１０６が送出され、例えば通信回路に供給される。
以上が実施の形態１に係る半導体集積回路の説明である。
＜実施の形態２＞
上記実施の形態１により、Ａ＋１／Ｂ分周が実現できたが、上記実施の形態１では、Ａ＋Ｃ／Ｂ分周が実現できない。そこで本実施の形態２においては、Ａ＋Ｃ／Ｂ分周を実現できる構成を説明する。なお、Ａ、Ｂ、Ｃはそれぞれ自然数であり、Ｂ＞Ｃとする。
＜構成＞
本実施の形態２における半導体集積回路の機能構成を図３に示す機能ブロック図を用いて説明する。
【００３０】
図３に示すように、半導体集積回路は、伝送クロック生成部１００とクロック制御部３００とを含んで構成される。
伝送クロック生成部１００は、実施の形態１に示した構成と同じ構成を備え、各機能ブロックは実施の形態１と同様の機能を果たすため、ここでは説明を割愛する。
クロック制御部３００は、図３に示すように、伝送クロックカウンタ３０１と、第２比較部３０２と、伝送レート調整頻度設定レジスタ３０３と、ゲーティング信号生成部３０４と、クロックゲーティング部３０５と、第１比較部３０６と、伝送レート調整頻度設定レジスタ３０７とを含んで構成される。
【００３１】
伝送クロックカウンタ３０１は、伝送クロックＳ２０６のパルス数をカウントし、カウント値Ｓ２０７を第２比較部３０２に出力する機能を有し、第１比較部３０６からのリセット信号Ｓ２０９を受けて、カウント値を０にリセットする機能を有する。
第２比較部３０２は、カウント値Ｓ２０７と、伝送レート調整頻度設定レジスタ３０３から通知された値とを比較し、両値が一致した場合にだけ、一致したことを示す一致信号Ｓ２０８をゲーティング信号生成部３０４に出力する機能を有する。
【００３２】
伝送レート調整頻度設定レジスタ３０３は、オペレータ等により設定された任意の整数値を保持するレジスタであり、保持している値を第２比較部３０２に通知する機能を有する。
ゲーティング信号生成部３０４は、第２比較部３０２から一致信号Ｓ２０８を受けつけると、クロックソースＳ２０１の１クロック分の長さのマスク信号Ｓ２１０をクロックゲーティング部３０５に出力する機能を有する。
【００３３】
クロックゲーティング部３０５は、クロック発振子（図示せず）からのクロックソースＳ２０１の供給を受け、ゲーティング信号生成部３０４からのマスク信号Ｓ２１０に基づき、マスク信号Ｓ２１０がＨｉになっているタイミングでは、クロックソースＳ２０１の立下りを立ち下げていないゲーティッドクロックＳ２０２を生成して出力する機能を有する。具体的には、ＯＲ回路によって実現され、クロックソース信号Ｓ２０１とマスク信号Ｓ２１０の論理和を出力する。
【００３４】
第１比較部３０６は、カウント値Ｓ２０７と、伝送レート調整周期設定レジスタ３０７から通知された値とを比較し、両値が一致した場合にだけ、一致したことを示すリセット信号Ｓ２０９を伝送クロックカウンタ３０１に出力する機能を有する。
伝送レート調整周期設定レジスタ３０７は、オペレータ等により設定された任意の整数値を保持するレジスタであり、保持している値を第１比較部３０６に通知する機能を有する。
【００３５】
以上がクロック制御部３００の各部の機能の説明である。
では、本実施の形態２において、半導体集積回路により生成される信号波形について、図４に示す具体例で説明する。
図４は、約６．６６分周、つまり、分周数設定レジスタ１０３に「６」を、伝送レート調整頻度設定レジスタ３０３に「２（０を含むので実際は「１」）」を、伝送レート調整頻度設定レジスタ３０７に「３（０を含むので実際は「２」）」を設定した場合の各信号の波形を示した信号波形図であり、横方向に時間軸をとっている。つまり、Ａ＋Ｃ／Ｂ分周を実現したい場合には、分周設定レジスタ１０３に「Ａ」を、伝送レート調整頻度設定レジスタ３０３に「Ｂ」を、伝送レート調整周期設定レジスタ３０７に「Ｃ」を設定する。６．６６≒６＋２／３なので、前述したように、分周数設定レジスタ１０３に「６」を、伝送レート調整頻度設定レジスタ３０３に「３」を、伝送レート調整周期設定レジスタ３０７に「２」を設定している。
【００３６】
図４は、上から順に、クロックソース信号Ｓ２０１、ゲーティッドクロック信号Ｓ２０２、マスク信号Ｓ２１０、クロックカウンタ値Ｓ２０３、クリア信号Ｓ２０５、伝送クロック信号Ｓ２０６、伝送クロックカウンタ値Ｓ２０７、クリア信号Ｓ２０９の波形を示している。図４のクロックソース信号Ｓ２０１と、伝送クロック信号Ｓ２０６を見れば分かるように、時刻Ｔ０からＴ３までの間にクロックソース信号Ｓ２０１で２０個のパルス信号があり、伝送クロック信号Ｓ２０６の場合３個のパルス信号がある。クロックソース信号Ｓ２０１の２０個のパルス信号から、伝送クロック信号Ｓ２０６の３個のパルス信号が生成されているので、２０／３分周、つまり６＋２／３分周が実現できていることになる。なお、時刻Ｔ０からＴ３に示す信号の変化が繰り返されることにより、６．６６分周の伝送クロック信号Ｓ２０６が生成される。
【００３７】
分周数設定レジスタ１０３に「６」が設定されるということは、比較部１０２は、クロックカウンタ１０１から出力されるクロックカウンタ値Ｓ２０３が「２」から「０」になるタイミング（６の半分で３となるが、０から数えるため「２」のときに「０」にリセットされる）で、伝送クロック信号Ｓ２０６の出力が反転している。
クロックカウンタ１０１のクロックカウント値Ｓ２０３は、「２」になったタイミングで、クリア信号Ｓ２０５をクロックカウンタ１０１が受けて「０」にリセットされている。なお、伝送クロック信号Ｓ２０６の波形と、比較部１０２の出力信号Ｓ２０４は、伝送クロック信号Ｓ２０６の立ち上がり、立ち下がりのタイミングを決定できる信号であればよく、伝送クロック信号Ｓ２０６と同一の波形であってもよいし、伝送クロック信号Ｓ２０６が、立ち上がる、あるいは立ち下がるタイミングで立ち上がりがあるパルス信号であってもよい。
【００３８】
伝送クロックカウンタ値Ｓ２０７は、伝送クロック信号Ｓ２０６の立ち上がりを検出するたびに、そのカウント値を１ずつ加算していき、その値が「２」になると比較部２０２からクリア信号Ｓ２０９が図２に示されるタイミングで出力されるので、クリア信号Ｓ２０９と、次の伝送クロック信号Ｓ２０６の立ち上がりを受けて（図中時刻Ｔ３において）、伝送クロックカウンタ３０１は、カウント値を「０」にリセットする。
【００３９】
ゲーティング信号生成部３０４は、第２比較部３０２からの出力信号Ｓ２０８を受けて、マスク信号Ｓ２１０を生成し、マスク信号Ｓ２１０をクロックゲーティング部３０５に出力する。図４におけるマスク信号Ｓ２１０がそれである。図４から分かるように、伝送クロックカウンタ値Ｓ２０７のカウント値が「２」未満であって、伝送クロック信号Ｓ２０６の立ち上がりタイミング（図４中時刻Ｔ１、Ｔ２）から、１クロック分のマスク信号Ｓ２１０が出力されている。なお、第２比較部３０２の出力信号Ｓ２０８は、マスク信号Ｓ２１０の立ち上がり、立ち下がりのタイミングを決定できる信号であればよく、マスク信号Ｓ２１０の波形と同一の波形であってもよいし、マスク信号Ｓ２１０が、立ち上がるタイミングで立ち上がりがあるパルス信号であってもよい。
【００４０】
そして、クロックゲーティング部３０５は、マスク信号Ｓ２１０とクロックソース信号Ｓ２０１を受けて、両信号の論理和をとって、ゲーティッドクロック信号Ｓ２０２を出力する。図４の時刻Ｔ１とＴ２を見れば分かるように、本来立ち下がるはずのクソックソース信号Ｓ２０１がマスク信号Ｓ２１０の影響により、立ち下がっていない。つまり、これによりクロックカウンタ１０１のカウントが通常よりも遅くなる（クロックソース信号Ｓ２０１の１クロック分）ことになり、クロックカウンタ１０１は、６クロック分しかカウントしていないにもかかわらず、クロックソース信号Ｓ２０１の実質７クロック分をカウントすることになる。
【００４１】
時刻Ｔ０からＴ３までの信号が繰り返されることにより、クロックソース信号Ｓ２０１を６．６６分周した伝送クロック信号Ｓ２０６が送出され、例えば通信回路に供給される。
以上が実施の形態２に係る半導体集積回路の説明である。
＜実施の形態３＞
上記実施の形態１、２に示した手法では、理想とするクロックと、生成する伝送クロックとの差分が大きくなることがあるので、より、理想クロックに近づけるための構成を説明する。
＜構成＞
本実施の形態３における半導体集積回路の機能構成を図５に示す機能ブロック図を用いて説明する。
【００４２】
図５に示すように、半導体集積回路は、伝送クロック生成部１００とクロック制御部５００とを含んで構成される。
伝送クロック生成部１００は、実施の形態１に示した構成と同じ構成を備え、各機能ブロックは実施の形態１と同様の機能を果たすため、ここでは説明を割愛する。
クロック制御部５００は、分子設定レジスタ５０１と、分母設定レジスタ５０２と、減算部５０３と、セレクタ５０４と、加算部５０５と、加算結果保持バッファ５０６と、判定部５０７と、ゲーティング信号生成部５０８と、クロックゲーティング部５０９とを含んで構成される。
【００４３】
分子設定レジスタ５０１は、Ａ＋Ｃ／Ｂ（Ａ、Ｂ、Ｃは自然数であり、Ｂ＞Ｃ）分周を実行する場合の、Ｃの値が設定されるレジスタであり、分子設定レジスタ５０１は、保持している値を減算部５０３とセレクタ５０４とに出力する機能を有する。
分母設定レジスタ５０２は、Ａ＋Ｃ／Ｂ（Ａ、Ｂ、Ｃは自然数であり、Ｂ＞Ｃ）分周を実行する場合の、Ｂの値が設定されるレジスタであり、分子設定レジスタ５０１は、保持している値を減算部５０３に出力する機能を有する。
【００４４】
なお、Ａの値は伝送クロック生成部１００の分周数設定レジスタ１０３に設定される。
減算部５０３は、分子設定レジスタ５０１から出力された値から、分母設定レジスタ５０２から出力された値を減算し、減算結果をセレクタ５０４に出力する機能を有する。
セレクタ５０４は、分子設定レジスタ５０１から出力された値と、減算部５０３から出力された値とのうち、判定部５０７からの指示に従って、何れか一方を加算部５０５に出力する機能を有する。具体的には、セレクタ５０４は、判定部５０７からの信号が「Ｈｉ」である場合に減算部５０３から出力された値を加算部５０５に出力し、「Ｌｏｗ」である場合に、分子設定レジスタ５０１から出力された値を加算部５０５に出力する。
【００４５】
加算部５０５は、セレクタ５０４から出力された値と、加算結果保持バッファ５０６から出力された値とを加算し、加算結果を加算結果保持バッファ５０６に上書きする機能を有する。
加算結果保持バッファ５０６は、加算部５０５により書き込まれた値を保持し、伝送クロック信号Ｓ３０６の立ち上がりを検出したタイミングで、保持している値を判定部５０７と、加算部５０５とに出力する機能を有する。
【００４６】
判定部５０７は、加算結果保持バッファ５０６から加算結果保持バッファ５０６が保持している値の通知を受けると、当該値が０より大きいか、即ち１以上であるか否かを判定する。そして判定部５０７は、当該値が０より大きい場合に、「Ｈｉ」を、大きくない場合に、「Ｌｏｗ」を示す比較判定信号Ｓ３０９を、セレクタ５０４とゲーティング信号生成部５０８とに出力する機能を有する。
【００４７】
ゲーティング信号生成部５０８は、判定部５０７からの比較判定信号Ｓ３０９と、伝送クロック信号Ｓ３０６の供給を受けて、両信号が同時にＨｉになっているタイミングで、クロックソースＳ３０１の１クロック分の長さのマスク信号Ｓ３１０をクロックゲーティング部５０９に出力する機能を有する。
クロックゲーティング部５０９は、ゲーティング信号生成部５０８からのマスク信号Ｓ３１０とクロックソース信号Ｓ３０１の供給を受けてゲーティッドクロック信号Ｓ３０２を出力する機能を有する。具体的には、クロックソース信号Ｓ３０１とマスク信号Ｓ３１０の論理和を取ることにより、マスク信号Ｓ３１０がＨｉになっているタイミングでは、クロックソース信号Ｓ３０１を立ち下げていないゲーティッドクロック信号Ｓ３０２を出力する。
【００４８】
以上がクロック制御部５００の各部の説明である。
では、本実施の形態２において、半導体集積回路により生成される信号波形について、図６に示す具体例で説明する。
図６は、約６．４３分周、つまり、分周数設定レジスタ１０３に「６」を、分子設定レジスタ５０１に「３」を、分母設定レジスタ５０２に「７」を設定した場合の各信号の波形を示した信号波形図であり、横方向に時間軸をとっている。つまり、Ａ＋Ｃ／Ｂ分周を実現したい場合には、分周設定レジスタ１０３に「Ａ」を、を、分子設定レジスタ５０１に「Ｃ」を、分母設定レジスタ５０２に「Ｂ」を設定する。６．４３≒６＋３／７なので、前述したように、分周数設定レジスタ１０３に「６」を、分子設定レジスタ５０１に「３」を、分母設定レジスタ５０２に「７」を設定している。
【００４９】
図６は、上から順に、クロックソース信号Ｓ３０１、ゲーティッドクロック信号Ｓ３０２、マスク信号Ｓ３１０、加算演算結果Ｓ３０８、比較判定信号Ｓ３０９、選択加算値Ｓ３０７、伝送クロック信号Ｓ３０６、理想クロック、従来技術の伝送クロックの波形を示している。
図６のクロックソース信号Ｓ３０１と、伝送クロック信号Ｓ３０６を見れば分かるように、時刻Ｔ０からＴ７までの間にクロックソース信号Ｓ３０１で４５個のパルス信号があり、伝送クロック信号Ｓ３０６の場合７個のパルス信号がある。クロックソース信号Ｓ３０１の４５個のパルス信号から、伝送クロック信号Ｓ３０６の７個のパルス信号が生成されているので、４５／７分周、つまり６＋３／７分周が実現できていることになる。なお、時刻Ｔ０からＴ７に示す信号の変化が繰り返されることにより、６．４３分周の伝送クロック信号Ｓ３０６が生成される。
【００５０】
なお、図６には、クロックカウンタ値Ｓ３０３を示していないが、クロックカウンタ値Ｓ３０３は、ゲーティッドクロックＳ３０２の６クロック分で１つのパルス信号が生成されるよう、２になるたびに、０にリセットされる。
図６において時刻Ｔ０では、加算結果保持バッファ５０６には、「０」が保持されている。時刻Ｔ０での伝送クロックＳ３０６の立ち上がりを受けて、加算結果保持バッファ５０６は、保持していた値「０」を判定部５０７と、加算部５０５に出力する。
【００５１】
判定部５０７は、加算結果保持バッファ５０６から出力された値「０」は「０」より大きくないと判定し、セレクタ５０４に「Ｌｏｗ」を出力し、また、同時にゲーティング信号生成部５０８にクロックソース信号Ｓ３０１を１クロック分だけマスクさせるマスク信号を出力する。
セレクタ５０４は、判定部５０７からの「Ｌｏｗ」を受けて、分子設定レジスタ５０１からの出力である「３」を出力する。
【００５２】
加算部５０５は、セレクタ５０４からの出力値「３」と加算結果保持バッファ５０６からの出力値「０」とを加算し、加算結果「３」を加算結果保持バッファ５０６に上書きする。
時刻Ｔ１での伝送クロックＳ３０６の立ち上がりと、マスク信号Ｓ３１０が「Ｈｉ」になったことを受けて、クロックソース信号Ｓ３０１は、クロックゲーティング部５０９によりマスクされ、ゲーティッドクロック信号Ｓ３０２が出力される。
【００５３】
時刻Ｔ１で伝送クロックＳ３０６の立ち上がりを受けて、加算結果保持バッファ５０６は、保持していた値「３」を判定部５０７と、加算部５０５に出力する。
判定部５０７は、加算結果保持バッファ５０６から出力された値「３」は「０」より大きいと判定し、セレクタ５０４に「Ｈｉ」を出力する。
セレクタ５０４は、判定部５０７からの「Ｈｉ」を受けて、減算部５０３からの出力である「−４」を出力する。
【００５４】
加算部５０５は、セレクタ５０４からの出力値「−４」と加算結果保持バッファ５０６からの出力値「３」とを加算し、加算結果「−１」を加算結果保持バッファ５０６に上書きする。
時刻Ｔ２では、伝送クロックＳ３０６の立ち上がりを受けても、比較判定信号Ｓ３０９が「Ｌｏｗ」になっているため、クロックソース信号Ｓ３０１のマスキングは実行されない。
【００５５】
以下、伝送クロックＳ３０６の立ち上がりを受けるたびに、判定部５０７での判定、加算部５０３での加算、クロックゲーティング部５１０でのマスク信号がＨｉになっているか否かによるマスキングの実行が行われる。時刻Ｔ０からＴ１において加算演算結果Ｓ３０８が０であったのが、時刻Ｔ７において再び０になっていることにより、時刻Ｔ０〜Ｔ７を一つの周期として、この周期が繰り返される。
【００５６】
時刻Ｔ０からＴ７までの信号が繰り返されることにより、クロックソース信号Ｓ３０１を６．４３分周した伝送クロック信号Ｓ３０６が送出され、例えば通信回路に供給される。
図６を見ればわかるように、時刻Ｔ０〜Ｔ７の間で、マスク信号Ｓ３１０がＨｉになるタイミングがおおよそ均等に配されていることがわかる。そして、このことにより、生成される伝送クロックＳ２０６と理想クロックとの最大ずれ（ずれ量Ｔｃ１）は、従来技術の伝送クロックの理想クロックとの最大ずれ（ずれ量Ｔｃ２）よりも大幅に短縮できていることがわかる。
【００５７】
以上が実施の形態３に係る半導体集積回路の説明である。
＜実施の形態４＞
上記実施の形態３に示した手法では、Ａ＋Ｃ／Ｂ分周を実現できているが、実はＡが２の倍数である場合しか実現できていない。これは、伝送クロックのＨｉとＬｏｗの期間をなるべく均等にするために、ＨｉとＬｏｗにおけるカウント値を同値に設定しているためである。そこで、本実施の形態４においては、Ａとして奇数を設定したい場合を説明する。
＜構成＞
本実施の形態４における半導体集積回路の機能構成を図７に示す機能ブロック図を用いて説明する。
【００５８】
図７に示すように、半導体集積回路は、伝送クロック生成部１００とクロック制御部７００とを含んで構成される。
伝送クロック生成部１００は、実施の形態１に示した構成と同じ構成を備え、各機能ブロックは実施の形態１と同様の機能を果たすため、ここでは説明を割愛する。
クロック制御部７００は、分子設定レジスタ７０１と、分母設定レジスタ７０２と、減算部７０３と、セレクタ７０４と、加算部７０５と、加算結果保持バッファ７０６と、判定部７０７と、ゲーティング信号生成部７０８と、ゲーティング信号生成部７０９と、クロックゲーティング部７１０とを含んで構成される。
【００５９】
分子設定レジスタ７０１は、Ａ＋Ｃ／Ｂ（Ａ、Ｂ、Ｃは自然数であり、Ｂ＞Ｃ）分周を実行する場合の、Ｃの値が設定されるレジスタであり、分子設定レジスタ７０１は、保持している値を減算部７０３とセレクタ７０４とに出力する機能を有する。
分母設定レジスタ７０２は、Ａ＋Ｃ／Ｂ（Ａ、Ｂ、Ｃは自然数であり、Ｂ＞Ｃ）分周を実行する場合の、Ｂの値が設定されるレジスタであり、分子設定レジスタ７０１は、保持している値を減算部７０３に出力する機能を有する。
【００６０】
なお、Ａの値は伝送クロック生成部１００の分周数設定レジスタ１０３に設定される。
減算部７０３は、分子設定レジスタ７０１から出力された値から、分母設定レジスタ７０２から出力された値を減算し、減算結果をセレクタ７０４に出力する機能を有する。
セレクタ７０４は、分子設定レジスタ７０１から出力された値と、減算部７０３から出力された値とのうち、判定部７０７からの指示に従って、何れか一方を加算部７０５に出力する機能を有する。具体的には、セレクタ７０４は、判定部７０７からの信号が「Ｈｉ」である場合に減算部７０３から出力された値を加算部７０５に出力し、「Ｌｏｗ」である場合に、分子設定レジスタ７０１から出力された値を加算部７０５に出力する。
【００６１】
加算部７０５は、セレクタ７０４から出力された値と、加算結果保持バッファ７０６から出力された値とを加算し、加算結果を加算結果保持バッファ７０６に上書きする機能を有する。
加算結果保持バッファ７０６は、加算部７０５により書き込まれた値を保持し、伝送クロック信号Ｓ４０６の立ち上がりを検出したタイミングで、保持している値を判定部７０７と、加算部７０５とに出力する機能を有する。
【００６２】
判定部７０７は、加算結果保持バッファ７０６から加算結果保持バッファ７０６が保持している値の通知を受けると、当該値が０より大きいか、即ち１以上であるか否かを判定する。そして判定部７０７は、当該値が０より大きい場合に、「Ｈｉ」を、大きくない場合に、「Ｌｏｗ」を示す比較判定信号Ｓ４０９を、セレクタ７０４とゲーティング信号生成部７０８とに出力する機能を有する。
【００６３】
ゲーティング信号生成部７０８は、判定部７０７からの比較判定信号Ｓ４０９と、伝送クロック信号Ｓ４０６の供給を受けて、両信号が同時にＨｉになったタイミングから、クロックソースＳ４０１の１クロック分の長さのマスク信号Ｓ４１０をクロックゲーティング部７１０に出力する機能を有する。
ゲーティング信号生成部７０９は、伝送クロック信号Ｓ４０６の供給を受けて、当該伝送クロック信号Ｓ４０６のネガエッジ、つまり立ち下がりを検出し、伝送クロック信号Ｓ４０６の立ち下がりを検出したタイミングから、クロックソース信号Ｓ４０１の１クロック分だけＨｉとなるマスク信号Ｓ４１１をクロックゲーティング部７１０に出力する機能を有する。
【００６４】
クロックゲーティング部７１０は、ゲーティング信号生成部７０８からのマスク信号Ｓ４１０とクロックソース信号Ｓ４０１の供給を受けてゲーティッドクロック信号Ｓ４０２を出力する機能を有する。具体的には、クロックソース信号Ｓ４０１とマスク信号Ｓ４１０とマスク信号Ｓ４１１との論理和を取ることにより、マスク信号Ｓ４１０とマスク信号Ｓ４１１とがＨｉになっているタイミングでは、クロックソース信号Ｓ４０１を立ち下げていないゲーティッドクロック信号Ｓ４０２を出力する。
【００６５】
以上がクロック制御部７００の各部の説明である。実質的にクロック制御部７００において、実施の形態３において示した場合と異なってくるのは、クロックゲーティング部７０９が追加されていることと、それにより、クロックゲーティング部７１０により生成されるゲーティッドクロックが異なるだけである。
では、本実施の形態４において、半導体集積回路により生成される信号波形について、図８に示す具体例で説明する。
【００６６】
図８は、約７．４３分周、つまり、分周数設定レジスタ１０３に「７」を、分子設定レジスタ７０１に「３」を、分母設定レジスタ７０２に「７」を設定した場合の各信号の波形を示した信号波形図であり、横方向に時間軸をとっている。つまり、Ａ＋Ｃ／Ｂ分周を実現したい場合には、分周設定レジスタ１０３に「Ａ」を、を、分子設定レジスタ７０１に「Ｃ」を、分母設定レジスタ７０２に「Ｂ」を設定する。７．４３≒７＋３／７なので、前述したように、分周数設定レジスタ１０３に「７」を、分子設定レジスタ５０１に「３」を、分母設定レジスタ５０２に「７」を設定している。
【００６７】
図８は、上から順に、クロックソース信号Ｓ４０１、ゲーティッドクロック信号Ｓ４０２、マスク信号Ｓ４１０、マスク信号Ｓ４１１、加算演算結果Ｓ４０８、比較判定信号Ｓ４０９、選択加算値Ｓ４０７、伝送クロック信号Ｓ４０６、理想クロック、従来技術の伝送クロックの波形を示している。
実施の形態４において、実施の形態３と異なってくるのは、ゲーティング信号生成部７０９と、クロックゲーティング部７１０の動作になってくるので、ここでは、ゲーティング信号生成部７０９から出力されるマスク信号Ｓ４１１と、クロックゲーティング部７１０から出力されるゲーティッドクロック信号Ｓ４０２とを説明する。
【００６８】
図８に示すように、ゲーティング信号生成部７０９は、伝送クロックＳ４０６の立ち下がりを検出すると、マスク信号Ｓ４１１をクロックソース信号Ｓ４０１の１クロック分だけＨｉに設定する。
すると、クロックゲーティング部７１０は、クロックソース信号Ｓ４０１を、マスク信号Ｓ４１０がＨｉになっているタイミングだけでなく、マスク信号Ｓ４１１がＨｉになっているタイミングにおいてもマスクしたゲーティッドクロック信号Ｓ４０２を出力する。
【００６９】
すると、ゲーティッドクロック信号Ｓ４０２は、クロックソース信号Ｓ４０１をＴ０〜Ｔ７の間に都合１０回マスクしたものとなる。図８を見れば分かるように、Ｔ０〜Ｔ７の間にクロックソース信号Ｓ４０１で５２個のパルスがあり、当該クロックソース信号から、Ｔ０〜Ｔ７の間に伝送クロックＳ３０６で７個のパルスが生成されており、５２／７分周、即ち、７．４３分周が実現できている。また、図８を見れば分かるように、そのマスキングされるタイミングなるべくＴ０〜Ｔ７の間で均一になるように配されている。そのため、伝送クロックＳ４０６と理想クロックとでのずれ量が最も大きいＴｄ１であっても、従来技術により生成される伝送クロックと理想クロックとのずれ量が最も大きいＴｄ２より小さいものとなることは図８から一目瞭然である。なお、Ｔ０〜Ｔ７に示す信号波形が繰り返されることになる。
＜実施の形態５＞
本実施の形態５においては、実施の形態１〜４に示すような半導体集積回路が使用される使用形態を説明する。
【００７０】
図９は、半導体集積回路が搭載される通信装置の機能構成を示した機能ブロック図である。
図９に示すように通信装置は、半導体集積回路９００と、無線通信素子９１０と、無線回路９２０と、クロック供給回路９４０とを含んで構成される。
半導体集積回路９００は、伝送レート調整回路９０１と、通信回路９０２と、ＣＰＵ９０３とを含んで構成される。
【００７１】
伝送レート調整回路９０１は、上記実施の形態１〜４に示した半導体集積回路のことであり、クロック供給回路９４０からのクロックソース信号の供給を受けて、所望の周波数の伝送クロックを生成し、通信回路９０２に出力する機能を有する。
通信回路９０２は、伝送レート調整回路９０１から出力された伝送クロックで動作し、外部の機器（図示せず）と通信を実行する機能を有する。
【００７２】
ＣＰＵ９０３は、クロック供給回路９４０からのクロックソース信号を受けて動作し、無線回路９２０から受信データ信号Ｓ９２１が入力され、無線回路９２０に送信データ信号Ｓ９２２を出力する機能を有する。
無線通信素子９１０は、アンテナ９１１と、アンテナスイッチ９１２と、ＥＥＰＲＯＭ９１３と、フィルタ９１４とを含んで構成される。
【００７３】
アンテナ９１１は、信号を送受信する機能を有し、受信した信号をアンテナスイッチ９１２に伝達する機能と、アンテナスイッチ９１２から供給された信号を送信する機能とを有する。
アンテナスイッチ９１２は、送信と受信とを切り替えるためのスイッチであり、アンテナ９１１で信号を受信する場合に受信回路９２１に接続される側にスイッチを入れ、アンテナ９１１で信号を送信する場合に送信回路９２２に接続される側にスイッチを入れる。
【００７４】
フィルタ９１４は、受信回路９２１に入力される受信信号、送信回路９２２から出力される送信信号の所望の周波数以外の周波数成分をカットする機能を有するフィルタである。
無線回路９２０は、受信回路９２１と送信回路９２２とを含んで構成される。
受信回路９２１は、クロック信号Ｓ９３１を用いて、無線受信した信号を復調し、受信データ信号Ｓ９２１をＣＰＵ３０３に出力する機能を有する。
【００７５】
送信回路９２２は、クロック信号Ｓ９３１を用いて、ＣＰＵ３０３から受け取った送信データ信号Ｓ９２２を、送信用の無線信号に変調して、無線通信素子９１０に出力する機能を有する。
最後にクロック供給回路９４０について説明する。クロック供給回路９４０は、半導体集積回路９００の伝送レート調整回路９０１と、ＣＰＵ９０３と、無線回路９２０の受信回路９２１と送信回路９２２とに、クロック信号Ｓ９３１を出力する機能を有する。
【００７６】
以上が、通信装置の各部の説明である。
＜動作＞
上記通信装置の一動作例をここで説明する。
まず、ＥＥＰＲＯＭ９１３から無線回路９２０のデータ設定を行ない、必要な無線通信設定が行なわれる。
【００７７】
その後、受信回路９２１が動作し所望の周波数帯の無線受信信号が存在するかのキャリア検出を行い、所望の周波数帯の無線受信信号が存在すれば、次に無線受信信号が自分宛であるか確認するため、アドレス判定を行う。設定しているアドレスと一致すれば、無線受信信号を受信処理し、受信データ信号Ｓ９２１をＣＰＵ９０３に送信する。
ＣＰＵ９０３は、受信データ信号Ｓ９２１を受け、必要な送信データ信号Ｓ９２２を送信回路９２２に対して出力する。送信回路９２２にて送信処理された無線送信信号は、アンテナスイッチ９１２が送信側に切り替わるとアンテナ９１１から無線電波が送信される。
【００７８】
この一連の無線通信動作中に同じクロック信号Ｓ９３１を分周して伝送クロックを生成し、シリアル通信を行う場合に、前記実施の形態１、２、３、４のいずれかで説明した半導体集積回路が伝送レート調整回路として搭載され、所定の伝送レートのクロックを生成し、通信回路９０２に出力することで、シリアル通信を行う。
以上の処理により、前記実施の形態１、２、３、４で記載の伝送レート調整方法を無線通信装置に組み込むことにより、分周回路だけでは設定不可能な伝送レートのクロックを、周期の長い伝送クロック信号と、通常の伝送クロック信号とを平均することで生成することができ、従来よりも所定の伝送レートの理想クロックと伝送クロックの位相差を小さくすることができる。
＜補足＞
上記実施形態において、本発明の実施の手法について説明してきたが、本発明の実施形態がこれに限られないことは勿論である。以下、上記実施形態以外に本発明の思想として含まれる各種の変形例について説明する。
（１）上記実施の形態３、４において、加算結果保持バッファ５０６の初期値を０とし、判定部の比較対象とする値を０としていたが、両値は、０である必要はなく、比較対象とする値をＸとした場合に、加算結果保持バッファ５０６に設定される初期値Ｙが、分子設定レジスタ５０１に設定される値がＣ、分母設定レジスタ５０２に設定される値がＢとして、Ｘ−（Ｂ−Ｃ）＜Ｙ≦Ｘ＋Ｃを満たすＸ、Ｙであればよい。
（２）上記実施の形態５において、半導体集積回路を搭載する装置として通信装置を例に説明したが、半導体集積回路を搭載する装置は通信装置に限定される必要はなく、複数の異なる周波数のクロックを必要とする装置であればよい。
（３）上記実施の形態５において、伝送レート調整回路９０１に設定される分周数は、オペレータによって設定されてもよいし、あるいは、通信回路９０２が、必要とする周波数のクロックを伝送レート調整回路９０１に通知し、その必要とする周波数と、クロック供給回路９４０から供給されるクロック信号Ｓ９３１の周波数から分周数を決定して、分周数を各レジスタに設定する構成にしてもよい。
（４）上記実施の形態における半導体集積回路、通信装置の各機能部は、１または複数のＬＳＩ（Large Scale Integrated circuit）によって実現されてもよく、複数の機能部が１のＬＳＩにより実現されてもよい。
【００７９】
また、集積回路化の手法はＬＳＩに限定されるものではなく、専用回路または汎用プロセスで実現されてもよい。あるいは、ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）に代表される、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサにより実現されてもよい。
さらには、半導体技術の進歩または派生する別技術によってＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適用等がありえる。
【産業上の利用可能性】
【００８０】
本発明に係る半導体集積回路は、各種様々な周波数の信号が必要とされる通信装置として活用することができる。
【図面の簡単な説明】
【００８１】
【図１】実施の形態１に係る半導体集積回路の機能構成を示した機能ブロック図である。
【図２】実施の形態１における半導体集積回路の各信号の時間変化を示した信号波形図である。
【図３】実施の形態２に係る半導体集積回路の機能構成を示した機能ブロック図である。
【図４】実施の形態２における半導体集積回路の各信号の時間変化を示した信号波形図である。
【図５】実施の形態３に係る半導体集積回路の機能構成を示した機能ブロック図である。
【図６】実施の形態３における半導体集積回路の各信号の時間変化を示した信号波形図である。
【図７】実施の形態４に係る半導体集積回路の機能構成を示した機能ブロック図である。
【図８】実施の形態４における半導体集積回路の各信号の時間変化を示した信号波形図である。
【図９】実施の形態５に示す半導体集積回路を使用した通信装置の機能構成を示した機能ブロック図である。
【符号の説明】
【００８２】
１００  伝送クロック生成部
１０１  クロックカウンタ
１０２  比較部
１０３  分周数設定レジスタ
１０４  伝送クロック生成部
２００、３００、５００、７００  クロック制御部
２０１、３０１、５０１、７０１  伝送クロックカウンタ
２０２  比較部
２０３、３０３  伝送レート調整頻度設定レジスタ
２０４、３０４、５０８  ゲーティング信号生成部
２０５、３０５、５０９、７１０  クロックゲーティング部
３０１  第１比較部
３０２  第２比較部
３０７  伝送レート調整周期設定レジスタ
５０１、７０１  分子設定レジスタ
５０２、７０２  分母設定レジスタ
５０３、７０３  減算部
５０４、７０４  セレクタ
５０５、７０５  加算部
５０６、７０６  加算結果保持バッファ
５０７、７０７  判定部
７０８  第１ゲーティング信号生成部
７０９  第２ゲーティング信号生成部
９００  半導体集積回路
９０１  伝送レート調整回路
９０２  通信回路
９０３  ＣＰＵ
９１０  無線通信素子
９１１  アンテナ
９１２  アンテナスイッチ
９１３  ＥＥＰＲＯＭ
９１４  フィルタ
９２０  無線回路
９２１  受信回路
９２２  送信回路
９４０  クロック供給回路
【図１】
2010087820.tif 000003
【図２】
2010087820.tif 000004
【図３】
2010087820.tif 000005
【図４】
2010087820.tif 000006
【図５】
2010087820.tif 000007
【図６】
2010087820.tif 000008
【図７】
2010087820.tif 000009
【図８】
2010087820.tif 000010
【図９】
2010087820.tif 000011