(57)【要約】【課題】入力クロック信号の立ち下がりの際に、出力クロック信号の立ち上げを可能とし、入力クロック信号を任意の有理数で表わされる分周比にて分周した出力クロック信号を得ること。【解決手段】本発明は、演算器１１、演算器１２ａ、比較器１０８とを少なくとも備える。分子設定値１１２を分母設定値１１１で除した値である分周比で入力クロック信号１０９を分周する。演算器１１は、入力クロック信号１０９に同期して入力信号の値を記録する。そして、生成した演算器出力値１２０を入力クロック信号１０９に応じて出力する。演算器１２ａは、演算器出力値１２０を出力する。比較器１０８は、演算器出力値１２０が分子設定値１１２と比較してハイ信号またはロウ信号を出力クロック信号１２１として出力する。演算器出力値１２０は帰還して演算器１１に入力される。【選択図】図１
2010258761.tif 000002
【特許請求の範囲】
【請求項１】
入力クロック信号に同期して入力信号の値を記録し、前記入力信号、第１の設定値及び第２の設定値に基づいて生成された第１の値を前記入力クロック信号に応じて出力する第１の演算器と、
前記第１の値、第３の設定値及び第４の設定値に基づいて生成された第２の値を出力する第２の演算器と、
前記第２の値と第５の設定値とを比較してハイ信号またはロウ信号を出力クロック信号として出力する比較器とを少なくとも備え、
前記第２の値は前記第１の演算器に帰還して前記入力信号の値となり、
前記入力クロック信号を、前記第５の設定値を前記第１の設定値で除した値である分周比で分周した前記出力クロック信号を出力するクロック分周回路。
【請求項２】
前記比較器は、前記第２の値が前記第５の設定値以上である場合には出力クロック信号としてハイ信号を出力し、前記第２の値が前記第５の設定値より小さい場合には前記出力クロック信号としてロウ信号を出力することを特徴とする、
請求項１に記載のクロック分周回路。
【請求項３】
前記第１の演算器は、
前記入力クロック信号がハイ信号である場合には前記入力信号の値から前記第１の設定値を減じた値を前記第１の値として出力し、前記入力クロック信号がロウ信号である場合には前記入力信号の値から前記第２の設定値を減じた値を前記第１の値として出力することを特徴とする、
請求項１または２に記載のクロック分周回路。
【請求項４】
前記第１の演算器は、
前記入力クロック信号に同期して前記入力信号の値を記録し、前記入力信号の値を第３の値として出力するレジスタと、
前記入力クロック信号がロウ信号である場合には前記第１の設定値を第４の値として出力し、前記入力クロック信号がハイ信号である場合には前記第２の設定値を前記第４の値として出力する第１のセレクタと、
前記第３の値から前記第４の値を減じた値を前記第１の値として出力する減算器とを備える、
請求項３に記載のクロック分周回路。
【請求項５】
前記レジスタはリセット信号により初期化され、値「０」を前記第１の値として出力することを特徴とする、
請求項４に記載のクロック分周回路。
【請求項６】
前記第２の演算器は、
前記第１の値が前記第４の設定値未満である場合には前記第１の値に前記第３の設定値を加えた値を前記第２の値として出力し、前記第１の値が前記第４の設定値以上である場合には前記第１の値を前記第２の値として出力することを特徴とする、
請求項１乃至５のいずれか一項に記載のクロック分周回路。
【請求項７】
前記第２の演算器は、
前記第１の値に前記第３の設定値を加えた値を第５の値として出力する第１の加算器と、
前記第１の値が前記第４の設定値未満である場合には前記第５の値を前記第２の値として出力し、前記第１の値が前記第４の設定値以上である場合には前記第１の値を前記第２の値として出力する第２のセレクタとを備える、
請求項６に記載のクロック分周回路。
【請求項８】
前記第２の演算器は、
前記第１の値が前記第４の設定値未満である場合には前記第３の設定値を第６の値として出力し、前記第１の値が前記第４の設定値以上である場合には値「０」を前記第６の値として出力する第３のセレクタと、
前記第１の値に前記第６の値を加えた値を前記第２の値として出力する第２の加算器とを備える、
請求項６に記載のクロック分周回路。
【請求項９】
前記第２の設定値は前記第１の設定値の２倍であることを特徴とする、
請求項１乃至８のいずれか一項に記載のクロック分周回路。
【請求項１０】
前記第３の設定値は前記第５の設定値の２倍であることを特徴とする、
請求項１乃至９のいずれか一項に記載のクロック分周回路。
【請求項１１】
前記第４の設定値は０であることを特徴とする、
請求項１乃至１０のいずれか一項に記載のクロック分周回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック分周回路に関し、特に入力クロック信号を任意の有理数で表わされる分周比で分周した出力クロック信号を生成するクロック分周回路に関する。
【背景技術】
【０００２】
エミュレータにおいて、エミュレートする対象の回路が複数のクロックを使用している場合には、複数の分周回路を利用してエミュレートを行なう。入力クロック信号を、任意の有理数で表わされる分周比で分周した出力クロック信号を生成するクロック分周回路は、分周比の異なる出力クロック信号との立ち上がりタイミングは同じではないため、実際の動作とエミュレータでの動作が異なってしまい、実機にて問題になる場合がある。そのため、クロック分周回路の分周精度の向上が望まれている。
【０００３】
図５は、特許文献１に開示されているクロック分周回路３００の構成を示す図である。このクロック分周回路３００は、入力クロック信号３０２をＮ／Ｄ分周する。ここで、Ｎ／Ｄは分周比であり、Ｎはその分子設定値、Ｄは分母設定値である。ただし、Ｎ及びＤは、それぞれ任意の自然数であり、Ｎ≦ＤかつＤ！＝０なる条件を満たすものとする。
【０００４】
まず、クロック分周回路３００の構成について説明する。クロック分周回路３００は、図５に示すように、セレクタ３０７と、加算器３０８と、減算器３１６と、レジスタ３０９と、ラッチ３１３と、論理積回路３１４とから構成されている。
【０００５】
セレクタ３０７は、分母設定値Ｄに対応する入力信号３０１と、値「０」に対応する入力信号３０４と、最上位ビット出力信号３１１とが入力される。ここで、最上位ビット出力信号３１１は、レジスタ３０９から出力されるレジスタ出力信号３１０の最上位ビットに対応する出力信号である。セレクタ３０７は、最上位ビット出力信号３１１の値が「１」の場合には、分母設定値Ｄに対応する入力信号３０１をセレクタ出力３０５として出力する。一方、最上位ビット出力信号３１１の値が「０」の場合には、入力信号３０４をセレクタ出力３０５として出力する。
【０００６】
加算器３０８は、分子設定値Ｎに対応する入力信号３２０とレジスタ出力信号３１０とが入力され、加算結果に対応する加算器出力信号３１５を出力する。
【０００７】
減算器３１６は、加算器出力信号３１５とセレクタ出力３０５とが入力され、加算器出力信号３１５に対応する値からセレクタ出力３０５に対応する値を減算して得られた値に対応する減算器出力信号３０６を出力する。
【０００８】
レジスタ３０９は、減算器出力信号３０６、所定の初期値「２Ｒ−１」（ここで、変数Ｒは、後述する式（１）によって求められる値を表している）に対応する入力信号３１７、リセット信号３１８及び入力クロック信号３０２が入力され、レジスタ出力信号３１０を出力する。また、レジスタ出力信号３１０の最上位ビットは、最上位ビット出力信号３１１として出力される。
【０００９】
すなわち、レジスタ３０９には、リセット信号３１８により初期値「２Ｒ−１」が設定される。また、入力クロック信号３０２に同期して減算器出力信号３０６が入力され、その減算器出力信号３０６に対応する値が記憶される。
【００１０】
ラッチ３１３は、Ｄ端子に最上位ビット出力信号３１１が入力され、Ｇ端子に入力クロック信号３０２が入力される。そして、入力クロック信号３０２の値が「０」である間、最上位ビット出力信号３１１をラッチ出力信号３１２として出力する。
【００１１】
一方、入力クロック信号３０２の値が「１」である間、入力クロック信号３０２の値が「０」から「１」に遷移した際に入力されていた最上位ビット出力信号３１１を保持し、ラッチ出力信号３１２として出力する。
【００１２】
論理積回路３１４には、ラッチ出力信号３１２と、入力クロック信号３０２とが入力され、ラッチ出力信号３１２と入力クロック信号３０２の論理積（ＡＮＤ）をとり、その結果に対応する出力クロック信号３０３を生成し、出力する。
【００１３】
ここで、各部のビット幅を、式（１）より算出される変数Ｒの値に基づいて設定する。
Ｒ＝ｃｅｉｌ（ｌｏｇ（ｄ）／ｌｏｇ（２）） ・・・  （１）
なお、変数ｄは表現可能な最小のビット幅である。また、ｃｅｉｌは引き数より小さくない最小の整数値を返す関数であり、ｌｏｇは自然対数を返す関数である。
【００１４】
従って、式（１）より、加算器３０８は、（Ｒ＋１）ビット幅で構成され、減算器３１６は（Ｒ＋１）ビット幅で構成され、セレクタ３０７はＲビット幅で構成され、レジスタ３０９は（Ｒ＋１）ビット幅で構成される。
【００１５】
また、分子設定値Ｎに対応する入力信号３２０は、Ｒビット幅で構成されている。分母設定値Ｄに対応する入力信号３０１は、Ｒビット幅で構成されている。
【００１６】
加算器出力信号３１５は、（Ｒ＋１）ビット幅で構成されている。減算器出力信号３０６は、（Ｒ＋１）ビット幅で構成されている。セレクタ出力３０５は、Ｒビット幅で構成されている。また、レジスタ出力信号３１０は、（Ｒ＋１）ビット幅で構成されている。最上位ビット出力信号３１１は１ビット幅で構成されている。
【００１７】
次に、クロック分周回路３００の動作について具体的に説明する。図６は、図５に示すクロック分周回路３００において、Ｎ＝３、Ｄ＝５とし、Ｎ／Ｄ＝３／５分周を行なった場合の動作を示すタイミング図である。なお、この場合には式（１）より、Ｒ＝３（＝ｃｅｉｌ（ｌｏｇ（５）／ｌｏｇ（２）））となる。以下では、入力クロック信号３０２の立ち上がりから１周期を１サイクルとし、各サイクルをｔ１、ｔ２、ｔ３、・・・、と記載する。
【００１８】
まず、リセット信号３１８がハイになり、レジスタ３０９には、入力信号３１７によって初期値「７」（＝２Ｒ−１、Ｒ＝３）が設定される。
【００１９】
サイクルｔ１においては、レジスタ３０９は、上述の初期値「７」（２進数表記で「０１１１」）に対応するレジスタ出力信号３１０を出力する。このとき、最上位ビット出力信号３１１の値は「０」となる。
【００２０】
ラッチ３１３は、入力クロック信号３０２が「１」に遷移した際の最上位ビット出力信号３１１の値「０」を取り込んで保持する。そして、入力クロック信号３０２の値が「１」の間、保持した値「０」に対応するラッチ出力信号３１２を出力する。
【００２１】
加算器３０８は、レジスタ出力信号３１０の値「７」と、分子設定値Ｎに対応する入力信号３２０の値「３」を加算し、加算結果である値「１０」（２進数表記で「１０１０」）に対応する加算器出力信号３１５を出力する。
【００２２】
セレクタ３０７は、最上位ビット出力信号３１１の値が「０」であるため、入力信号３０４の値「０」を選択して、セレクタ出力３０５として出力する。
【００２３】
減算器３１６は、加算器出力信号３１５の値「１０」からセレクタ出力３０５の値「０」を減算し、減算結果である値「１０」に対応する減算器出力信号３０６を出力する。
【００２４】
次のサイクルｔ２においては、レジスタ３０９は、減算器出力信号３０６の値「１０」を記憶するとともに、値「１０」に対応するレジスタ出力信号３１０を出力する。このとき、最上位ビット出力信号３１１の値は「１」となる。
【００２５】
ラッチ３１３は、入力クロック信号３０２が「１」に遷移した際の最上位ビット出力信号３１１の値「０」を取り込んで保持する。そして、入力クロック信号３０２の値が「１」の間、保持した値「０」をラッチ出力信号３１２として出力する。
【００２６】
また、入力クロック信号３０２の値が「０」の間、最上位ビット出力信号３１１の値は「１」であるので、ラッチ出力信号３１２の値は「１」となる。
【００２７】
加算器３０８は、レジスタ出力信号３１０の値「１０」と分子設定値Ｎに対応する入力信号３２０の値「３」を加算し、加算結果である値「１３」に対応する加算器出力信号３１５を出力する。
【００２８】
セレクタ３０７は、最上位ビット出力信号３１１の値が「１」であるため、分母設定値Ｄに対応する入力信号３０１の値「５」を選択して、セレクタ出力３０５として出力する。
【００２９】
減算器３１６は、加算器出力信号３１５の値「１３」からセレクタ出力３０５の値「５」を減算し、減算結果である値「８」（二進数表記で「１０００」）に対応する減算器出力信号３０６を出力する。
【００３０】
次のサイクルｔ３においては、レジスタ３０９は、減算器３１６からの減算器出力信号３０６の値「８」を記憶するとともに、値「８」に対応するレジスタ出力信号３１０を出力する。このとき、最上位ビット出力信号３１１の値は「１」となる。
【００３１】
ラッチ３１３は、入力クロック信号３０２が「１」に遷移した際の最上位ビット出力信号３１１の値「１」を取り込んで保持する。そして、入力クロック信号３０２の値が「１」の間、保持した値「１」に対応するラッチ出力信号３１２を出力する。
【００３２】
また、入力クロック信号３０２の値が「０」の間、最上位ビット出力信号３１１の値は「１」であるので、ラッチ出力信号３１２の値は「１」となる。
【００３３】
加算器３０８は、レジスタ出力信号３１０の値「８」と分子設定値Ｎに対応する入力信号３２０の値「３」を加算し、加算結果である値「１１」に対応する加算器出力信号３１５を出力する。
【００３４】
セレクタ３０７は、最上位ビット出力信号３１１の値が「１」であるため、分母設定値Ｄに対応する入力信号３０１の値「５」を選択して、セレクタ出力３０５として出力する。
【００３５】
減算器３１６は、加算器出力信号３１５の値「１１」からセレクタ出力３０５の値「５」を減算し、減算結果である値「６」（二進数表記で「０１１０」）に対応する減算器出力信号３０６を出力する。
【００３６】
次のサイクルｔ４においては、レジスタ３０９は、減算器出力信号３０６の値「６」を記憶するとともに、値「６」に対応するレジスタ出力信号３１０を出力する。このとき、最上位ビット出力信号３１１の値は「０」となる。
【００３７】
ラッチ３１３は、入力クロック信号３０２が「１」に遷移した際の最上位ビット出力信号３１１の値「１」を取り込んで保持する。そして、入力クロック信号３０２の値が「１」の間、保持した値「１」に対応するラッチ出力信号３１２を出力する。
【００３８】
また、入力クロック信号３０２の値が「０」の間、最上位ビット出力信号３１１の値は「０」であるので、ラッチ出力信号３１２の値は「０」となる。
【００３９】
加算器３０８は、レジスタ出力信号３１０の値「６」と分子設定値Ｎに対応する入力信号３２０の値「３」を加算し、加算結果である値「９」に対応する加算器出力信号３１５を出力する。
【００４０】
セレクタ３０７は、最上位ビット出力信号３１１の値が「０」であるため、分母設定値Ｄを示す入力信号３０４の値「０」を選択して、セレクタ出力３０５として出力する。
【００４１】
減算器３１６は、加算器出力信号３１５の値「９」からセレクタ出力３０５の値「０」を減算し、減算結果である値「９」（二進数表記で「１００１」）に対応する減算器出力信号３０６を出力する。
【００４２】
次のサイクルｔ５においては、レジスタ３０９は、減算器出力信号３０６の値「９」を記憶するとともに、値「９」に対応するレジスタ出力信号３１０を出力する。このとき、最上位ビット出力信号３１１の値は「１」となる。
【００４３】
ラッチ３１３は、入力クロック信号３０２が「１」に遷移した際の最上位ビット出力信号３１１の値「０」を取り込んで保持する。そして、入力クロック信号３０２の値が「１」の間、保持した値「０」に対応するラッチ出力信号３１２を出力する。
【００４４】
また、入力クロック信号３０２の値が「０」の間、最上位ビット出力信号３１１の値は「１」であるので、ラッチ出力信号３１２の値は「１」となる。
【００４５】
加算器３０８は、レジスタ出力信号３１０の値「９」と、分子設定値Ｎに対応する入力信号３２０の値「３」を加算し、加算結果である値「１２」に対応する加算器出力信号３１５を出力する。
【００４６】
セレクタ３０７は、最上位ビット出力信号３１１の値が「１」であるため、分母設定値Ｄに対応する入力信号３０１の値「５」を選択して、セレクタ出力３０５として出力する。
【００４７】
減算器３１６は、加算器出力信号３１５の値「１２」からセレクタ出力３０５の値「５」を減算し、減算結果である値「７」（二進数表記で「０１１１」）に対応する減算器出力信号３０６を出力する。
【００４８】
次のサイクルｔ６において、レジスタ３０９は、減算器３１６からの減算器出力信号３０６の値「７」を記憶するとともに、値「７」に対応するレジスタ出力信号３１０を出力する。このとき、最上位ビット出力信号３１１の値は「０」となる。
【００４９】
ラッチ３１３は、入力クロック信号３０２が「１」に遷移した際の最上位ビット出力信号３１１の値「１」を取り込んで保持する。そして、入力クロック信号３０２の値が「１」の間、保持した値「１」に対応するラッチ出力信号３１２を出力する。
【００５０】
また、入力クロック信号３０２の値が「０」の間、最上位ビット出力信号３１１の値は「０」であるので、ラッチ出力信号３１２の値は「０」となる。
【００５１】
加算器３０８は、レジスタ出力信号３１０の値「７」と分子設定値Ｎに対応する入力信号３２０の値「３」を加算し、加算結果である値「１０」に対応する加算器出力信号３１５を出力する。
【００５２】
セレクタ３０７は、最上位ビット出力信号３１１の値が「０」であるため、入力信号３０４の値「０」を選択して、セレクタ出力３０５として出力する。
【００５３】
減算器３１６は、加算器出力信号３１５の値「１０」からセレクタ出力３０５の値「０」を減算し、減算結果である値「１０」（「１０１０」（二進数表記））に対応する減算器出力信号３０６を出力する。
【００５４】
次のサイクルｔ７において、レジスタ３０９は、減算器３１６からの減算器出力信号３０６の値「１０」を記憶するとともに、値「１０」に対応するレジスタ出力信号３１０を出力する。このとき、最上位ビット出力信号３１１の値は「１」となる。
【００５５】
その後、サイクルｔ１乃至ｔ５で説明した一連の動作が繰り返し実行される。これにより、レジスタ出力信号３１０の値は、図６に示したように、出力パターン｛７、１０、８、６、９｝が繰り返されることとなる。
【００５６】
また、最上位ビット出力信号３１１の値は、図６に示すように出力パターン｛０、１、１、０、１｝が繰り返されることとなる。
【先行技術文献】
【特許文献】
【００５７】
【特許文献１】特開２００６−１４８８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【００５８】
ところが、上述のクロック分周回路３００では、入力クロック信号を任意の有理数で表わされる分周比で分周した出力クロック信号を生成するにあたり、所望の出力クロック信号が出力できない場合がある。以下でその理由を説明する。
【００５９】
クロック分周回路３００においては、図５に示すように、出力クロック信号３０３は、ラッチ出力信号３１２及び入力クロック信号３０２を入力とする、論理積回路３１４の出力となっている。
【００６０】
よって、論理積回路３１４は、ラッチ出力信号３１２がハイの場合には、入力クロック信号３０２と同じ状態の信号を出力クロック信号３０３として出力する。そのため、出力クロック信号３０３と入力クロック信号３０２の立ち上がりタイミングは同じになる。
【００６１】
従って、入力クロック信号３０２が立ち下がるタイミングにて、出力クロック信号３０３を立ち上げることが原理的にできない。従って、実際には実現できない分周比が存在する。
【課題を解決するための手段】
【００６２】
本発明の一態様であるクロック分周回路は、入力クロック信号に同期して入力信号の値を記録し、前記入力信号、第１の設定値及び第２の設定値に基づいて生成された第１の値を前記入力クロック信号に応じて出力する第１の演算器と、前記第１の値、第３の設定値及び第４の設定値に基づいて生成された第２の値を出力する第２の演算器と、前記第２の値と第５の設定値とを比較してハイ信号またはロウ信号を出力クロック信号として出力する比較器とを少なくとも備え、前記第２の値は前記第１の演算器に帰還して前記入力信号の値となり、前記入力クロック信号を、前記第５の設定値を前記第１の設定値で除した値である分周比で分周した前記出力クロック信号を出力するものである。
【００６３】
本発明によれば、入力クロック信号の立ち下がりの際に、出力クロック信号を立ち上げることができる。これにより、入力クロック信号を任意の分周比にて分周した出力クロック信号を得ることができる。
【発明の効果】
【００６４】
本発明によれば、入力クロック信号の立ち下がりの際に、出力クロック信号を立ち上げることができる。これにより、入力クロック信号を任意の有理数で表わされる分周比にて分周した出力クロック信号を得ることができる。
【図面の簡単な説明】
【００６５】
【図１】実施の形態１にかかるクロック分周回路のブロック図である。
【図２】実施の形態１にかかるクロック分周回路の動作を表すタイミング図である。
【図３】実施の形態２にかかるクロック分周回路のブロック図である。
【図４】実施の形態２にかかるクロック分周回路の動作を表すタイミング図である。
【図５】特許文献１に開示されたクロック分周回路のブロック図である。
【図６】特許文献１に開示されたクロック分周回路の動作を表すタイミング図である。
【発明を実施するための形態】
【００６６】
以下、図面を参照して本発明の実施の形態について説明する。
実施の形態１
まず、実施の形態１にかかるクロック分周回路１００について説明する。このクロック分周回路１００は、分子設定値をＡ、分母設定値をＢとする、分周比Ａ／Ｂにて入力クロック信号を分周した出力クロック信号を得ることができる。すなわち、入力クロック信号の周波数をＦＩ、出力クロック信号の周波数をＦＯとすると、式（２）の関係が成立する。
ＦＯ＝ＦＩ×Ｂ／Ａ ・・・・・（２）
なお、分子設定値Ａ及び分母設定値Ｂは任意の自然数であり、Ｂ≦ＡかつＡ＞０なる条件を満たすものとする。
【００６７】
クロック分周回路１００について説明する。図１は、クロック分周回路１００の構成を示すブロック図である。クロック分周回路１００は、図１に示すように、演算器１１、演算器１２ａ、比較器１０８により構成される。
【００６８】
演算器１１は、レジスタ１０１、セレクタ１０３及び減算器１０４により構成される。
【００６９】
レジスタ１０１は、Ｒ端子にリセット信号１１０が入力される。クロック端子には、入力クロック信号１０９が入力される。Ｄ端子には、演算器出力値１２０が入力される。そして、Ｑ端子から減算器１０４へレジスタ出力値１１３を出力する。
【００７０】
セレクタ１０３は分母設定値１１１及び分母設定値の２倍の値１１４が入力される。Ｓ端子には入力クロック信号１０９が入力される。そして、減算器１０４へセレクタ出力値１１５を出力する。
【００７１】
減算器１０４は、レジスタ出力値１１３及びセレクタ出力値１１５が入力され、演算器１２ａへ演算器出力値１１６を出力する。
【００７２】
演算器１２ａは、加算器１０６及びセレクタ１０７により構成される。
【００７３】
加算器１０６は、演算器出力値１１６及び分子設定値の２倍の値１１７が入力され、セレクタ１０７へ加算器出力値１１８を出力する。
【００７４】
セレクタ１０７は、演算器出力値１１６及び加算器出力値１１８が入力され、レジスタ１０１のＤ端子及び比較器１０８へ演算器出力値１２０を出力する。
【００７５】
比較器１０８は、演算器出力値１２０及び分子設定値１１２が入力され、出力クロック信号１２１を出力する。
【００７６】
次に、クロック分周回路１００の動作について説明する。このクロック分周回路１００の動作原理は、以下の第１〜４の処理を繰り返すことで、入力クロック信号１０９を分周比Ａ／Ｂで分周した出力クロック信号１２１を得ることができる。ここで、（分母設定値１１１）＝Ｂであり、（分子設定値１１２）＝Ａである。よって、（分母設定値の２倍の値１１４）＝２Ｂ、（分子設定値の２倍の値１１７）＝２Ａとなる。
【００７７】
第１の処理は演算器１１において行われる。レジスタ１０１は、リセット信号１１０がハイの場合には、入力クロック信号１０９が立ち下がる際に、レジスタ１０１に入力されている演算器出力値１２０の値を記録して、レジスタ出力値１１３として出力する。一方、リセット信号１１０がロウの場合には、レジスタ１０１は値「０」を記録して、レジスタ出力値１１３として出力する。
【００７８】
セレクタ１０３は、入力クロック信号１０９がロウである場合には、分母設定値１１１をセレクタ出力値１１５として減算器１０４へ出力する。一方、入力クロック信号１０９がハイである場合には、セレクタ１０３は、分母設定値の２倍の値１１４をセレクタ出力値１１５として減算器１０４へ出力する。
【００７９】
減算器１０４は、レジスタ出力値１１３からセレクタ出力値１１５を減じた値を、演算器出力値１１６として演算器１２ａに出力する。
【００８０】
従って、入力クロック信号１０９がロウの場合には、演算器出力値１１６は式（３）で表わされる。
（演算器出力値１１６）＝（レジスタ出力値１１３）−（分母設定値１１１）
＝（レジスタ出力値１１３）−Ｂ    ・・・  （３）
【００８１】
一方、入力クロック信号１０９がハイの場合には、演算器出力値１１６は式（４）で表わされる。
（演算器出力値１１６）＝（レジスタ出力値１１３）−（分母設定値の２倍の値１１４）
＝（レジスタ出力値１１３）−２Ｂ    ・・・  （４）
【００８２】
第２の処理は、演算器１２ａにおいて行われる。加算器１０６は、演算器出力値１１６に分子設定値の２倍の値１１７を加えた値を、加算器出力値１１８としてセレクタ１０７へ出力する。
【００８３】
セレクタ１０７は、演算器出力値１１６が０未満である場合には、加算器出力値１１８を演算器出力値１２０として出力する。従って、この場合の演算器出力値１２０は、式（５）で表わされる。
（演算器出力値１２０）＝（演算器出力値１１６）＋（分子設定値の２倍の値１１７）
＝（演算器出力値１１６）＋２Ａ    ・・・  （５）
【００８４】
一方、演算器出力値１１６が０以上である場合には、セレクタ１０７は、演算器出力値１１６を演算器出力値１２０として出力する。
【００８５】
第３の処理は、比較器１０８において行われる。比較器１０８では、演算器出力値１２０と分子設定値１１２とが比較され、（演算器出力値１２０）≧Ａの場合には出力クロック信号１２１はハイとなる。一方、（演算器出力値１２０）＜Ａの場合には出力クロック信号１２１はロウとなる。
【００８６】
第４の処理では、レジスタ１０１は、入力クロック信号１０９の立ち下りの際に演算器出力値１２０を記録する。そして、その記録した値をレジスタ出力値１１３として出力する。
【００８７】
さらに、クロック分周回路１００の動作について、具体的に説明する。図２は、クロック分周回路１００において、入力クロック信号を７／２分周した出力クロック信号を生成する場合のタイミング図である。クロック分周回路１００の動作条件については、レジスタ出力値１１３、セレクタ出力値１１５、演算器出力値１１６、加算器出力値１１８、演算器出力値１２０、分母設定値１１１、分母設定値の２倍の値１１４、分子設定値１１２及び分子設定値の２倍の値１１７のビット幅は５ビットである。
【００８８】
ここで、分周比は７／２であるので、Ａ＝７、Ｂ＝２である。よって、分母設定値１１１の値は「２」、分子設定値１１２の値は「７」、分母設定値の２倍の値１１４は「４」、分子設定値の２倍の値１１７は「１４」となる。
【００８９】
また、入力クロック信号１０９の半周期を１サイクルとして、図２に示すサイクルＴ１が開始する前に、リセット信号１１０をロウからハイに遷移させ、レジスタ１０１には初期値「０」を設定する。また、サイクルＴ１以降におけるリセット信号１１０はハイとする。
【００９０】
図２に示す各サイクルにおける演算器出力値１２０については、入力クロック信号１０９の状態と演算器出力値１１６の状態との組み合わせにより、以下に示す分類１〜４に場合分けして、それぞれの分類ごとに、数式を用いて表わすことができる。
【００９１】
分類１は、入力クロック信号１０９がハイ、かつ演算器出力値１１６が０未満である場合であり、図２に示すサイクルＴ１、Ｔ７及びＴ１５が該当する。ここでは、サイクルＴ１を例として動作を説明する。
【００９２】
演算器１１では第１の処理が行われる。ここで、レジスタ１０１の初期値は「０」であるので、レジスタ出力値は「０」となる。よって、式（４）により、演算器出力値１１６は「−４」となる。
【００９３】
演算器１２ａでは第２の処理が行われる。演算器出力値１１６は「−４」であるので、式（５）により、演算器出力値１２０は「１０」となる。
【００９４】
すなわち、分類１における演算器出力値１２０は、レジスタ出力値１１３から分母設定値の２倍の値１１４である「４」を減じ、さらに分子設定値の２倍の値１１７である「１４」を加算した値となるので、式（６）で表わされる。
（演算器出力値１２０）＝（レジスタ出力値１１３）＋１０  ・・・（６）
【００９５】
分類２は、入力クロック信号１０９がロウ、かつ演算器出力値１１６が０以上となる場合であり、図２に示すサイクルＴ２、Ｔ４、Ｔ６、Ｔ８、Ｔ１０、Ｔ１２及びＴ１６が該当する。ここでは、サイクルＴ２を例として動作を説明する。
【００９６】
演算器１１では第１の処理が行われる。ここで、レジスタ１０１に記録されている値は「１０」であるので、レジスタ出力値１１３は「１０」となる。よって、式（３）により、演算器出力値１１６は「８」となる。
【００９７】
演算器１２ａでは第２の処理が行われる。演算器出力値１１６は「８」であるので、演算器出力値１２０も「８」となる。
【００９８】
すなわち、分類２における演算器出力値１２０は、レジスタ出力値１１３から分母設定値１１１である「２」を減じた値となるので、式（７）で表わされる。
（演算器出力値１２０）＝（レジスタ出力値１１３）−２  ・・・（７）
【００９９】
分類３は、入力クロック信号１０９がハイ、かつ演算器出力値１１６が０以上となる場合であり、図２に示すサイクルＴ３、Ｔ５、Ｔ９、Ｔ１１及びＴ１３が該当する。ここでは、サイクルＴ３を例として動作を説明する。
【０１００】
演算器１１では第１の処理が行われる。ここで、レジスタ１０１に記録されている値は「１０」であるので、レジスタ出力値１１３は「１０」となる。よって、式（４）により、演算器出力値１１６は「６」となる。
【０１０１】
演算器１２ａでは第２の処理が行われる。演算器出力値１１６の値は「６」であるので、演算器出力値１２０も「６」となる。
【０１０２】
すなわち、分類３における演算器出力値１２０は、レジスタ出力値１１３から分母設定値の２倍の値１１４である「４」を減じた値となるので、式（８）で表わされる。
（演算器出力値１２０）＝（レジスタ出力値１１３）−４  ・・・（８）
【０１０３】
分類４は、入力クロック信号１０９がロウ、かつ演算器出力値１１６が０未満となる場合であり、図２に示すサイクルＴ１４が該当する。以下、サイクルＴ１４を例として動作を説明する。
【０１０４】
演算器１１では第１の処理が行われる。ここで、レジスタ１０１に記録されている値は「０」であるので、レジスタ出力値１１３は「０」となる。よって、式（３）により、演算器出力値１１６は「−２」となる。
【０１０５】
演算器１２ａでは第２の処理が行われる。演算器出力値１１６は「−２」であるので、式（５）により、演算器出力値１２０は「１２」となる。
【０１０６】
すなわち、分類４における演算器出力値１２０は、レジスタ出力値１１３から分母設定値１１１である「２」を減じ、さらに分子設定値の２倍の値１１７である「１４」を加えた値となるので、式（９）で表わされる。
（演算器出力値１２０）＝（レジスタ出力値１１３）＋１２  ・・・（９）
【０１０７】
次に各サイクルにおける動作について説明する。まずサイクルＴ１では、分類１の説明で例示したように、演算器出力値１２０は「１０」となる。第３の処理が比較器１０８で行われ、（演算器出力値１２０である「１０」）＞（分子設定値１１２である「７」）となるので、出力クロック信号１２１はハイとなる。
【０１０８】
次のサイクルＴ２では、分類２の動作を行う。分類２の説明で例示したように、演算器出力値１２０の値は「８」となる。第３の処理が比較器１０８で行われ、（演算器出力値１２０である「８」）＞（分子設定値１１２である「７」）となるので、出力クロック信号１２１はハイとなる。
【０１０９】
次のサイクルＴ３では、分類３の動作を行う。分類３の説明で例示したように、演算器出力値１２０の値は「６」となる。第３の処理が比較器１０８で行われ、（演算器出力値１２０である「６」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１１０】
次のサイクルＴ４では、分類２の動作を行う。レジスタ１０１には「６」が記録されているので、式（７）より、演算器出力値１２０の値は「４」となる。第３の処理が比較器１０８で行われ、（演算器出力値１２０である「４」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１１１】
次のサイクルＴ５では、分類３の動作を行う。レジスタ１０１には「６」が記録されているので、式（８）より、演算器出力値１２０の値は「２」となる。第３の処理が比較器１０８で行われ、（演算器出力値１２０である「２」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１１２】
次のサイクルＴ６では、分類２の動作を行う。レジスタ１０１には「２」が記録されているので、式（７）より、演算器出力値１２０の値は「０」となる。第３の処理が比較器１０８で行われ、（演算器出力値１２０である「０」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１１３】
次のサイクルＴ７では、分類１の動作を行う。レジスタ１０１には「２」が記録されているので、式（６）より、演算器出力値１２０の値は「１２」となる。第３の処理が比較器１０８で行われ、（演算器出力値１２０である「１２」）＞（分子設定値１１２である「７」）となるので、出力クロック信号１２１はハイとなる。
【０１１４】
次のサイクルＴ８では、分類２の動作を行う。レジスタ１０１には「１２」が記録されているので、式（７）より、演算器出力値１２０の値は「１０」となる。第３の処理が比較器１０８で行われ、（演算器出力値１２０である「１０」）＞（分子設定値１１２である「７」）となるので、出力クロック信号１２１はハイとなる。
【０１１５】
次のサイクルＴ９では、分類３の動作を行う。レジスタ１０１には「１２」が記録されているので、式（８）より、演算器出力値１２０の値は「８」となる。第３の処理が比較器１０８で行われ、（演算器出力値１２０である「８」）＞（分子設定値１１２である「７」）となるので、出力クロック信号１２１はハイとなる。
【０１１６】
次のサイクルＴ１０では、分類２の動作を行う。レジスタ１０１には「８」が記録されているので、式（７）より、演算器出力値１２０の値は「６」となる。第３の処理が比較器１０８で行われ、（演算器出力値１２０である「６」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１１７】
次のサイクルＴ１１では、分類３の動作を行う。レジスタ１０１には「８」が記録されているので、式（８）より、演算器出力値１２０の値は「４」となる。第３の処理が比較器１０８で行われ、（演算器出力値１２０である「４」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１１８】
次のサイクルＴ１２では、分類２の動作を行う。レジスタ１０１には「４」が記録されているので、式（７）より、演算器出力値１２０の値は「２」となる。第３の処理が比較器１０８で行われ、（演算器出力値１２０である「２」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１１９】
次のサイクルＴ１３では、分類３の動作を行う。レジスタ１０１には「４」が記録されているので、式（８）より、演算器出力値１２０の値は「０」となる。第３の処理が比較器１０８で行われ、（演算器出力値１２０である「０」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１２０】
次のサイクルＴ１４では、分類４の動作を行う。分類４の説明で例示したように、演算器出力値１２０の値は「１２」となる。第３の処理が比較器１０８で行われ、（演算器出力値１２０である「１２」）＞（分子設定値１１２である「７」）となるので、出力クロック信号１２１はハイとなる。
【０１２１】
次のサイクルＴ１５は、サイクルＴ１と同じ状態となるので、以降のサイクルでは、サイクルＴ１〜Ｔ１４の動作が繰り返される。従って、入力クロック信号の７周期中に出力クロック信号は、７／２分周された一周期分のクロックを出力する。
【０１２２】
従って、本構成のクロック分周回路１００によれば、入力クロック信号の立ち下がりの際に、出力クロック信号を立ち上げることができる。これにより、入力クロック信号を任意の有理数で表わされる分周比にて分周した出力クロック信号を得ることができる。
【０１２３】
実施の形態２
実施の形態２にかかるクロック分周回路２００の構成について説明する。図３は、クロック分周回路２００の構成を示すブロック図である。クロック分周回路２００は、図３に示すように、図１における演算器１２ａに代えて、演算器１２ｂを設けている。
【０１２４】
演算器１２ｂは、セレクタ１２３及び加算器１２５により構成される。
【０１２５】
セレクタ１２３は、分子設定値の２倍の値１１７及び「０」値１２２が入力される。Ｓ端子には、演算器出力値１１６が入力される。そして、加算器１２５にセレクタ出力値１２４を出力する。
【０１２６】
加算器１２５は、演算器出力値１１６及びセレクタ出力値１２４が入力され、レジスタ１０１のＤ端子及び比較器１０８へ演算器出力値１２０を出力する。その他の構成は、図１と同様であるので、説明を省略する。
【０１２７】
次に、クロック分周回路２００の動作について説明する。このクロック分周回路２００の動作原理は、以下の第５〜８の処理を繰り返すことで、入力クロック信号を分周比Ａ／Ｂにて分周した出力クロック信号１２１を得ることができる。
【０１２８】
第５の処理は、実施の形態１における第１の処理と同様であるので説明を省略する。
【０１２９】
第６の処理は、演算器１２ｂにおいて行われる。セレクタ１２３は、演算器出力値１１６が０以上である場合には、「０」値１２２をセレクタ出力値１２４として出力する。
【０１３０】
一方、演算器出力値１１６が０未満である場合には、セレクタ１２３は、分子設定値の２倍の値１１７をセレクタ出力値１２４として出力する。
【０１３１】
加算器１２５は、演算器出力値１１６とセレクタ出力値１２４とを加算した値を、演算器出力値１２０として出力する。
【０１３２】
すなわち、演算器１２ｂは、演算器出力値１１６が０以上である場合には、演算器出力値１１６を演算器出力値１２０として出力する。
【０１３３】
一方、演算器出力値１１６が０未満である場合には、上述の式（５）で表わされる演算器出力値１２０を出力する。
【０１３４】
従って、第６の処理と、実施の形態１にかかる第２の処理とは、結果として同様の処理を行う。
【０１３５】
第７の処理は、実施の形態１における第３の処理と同様であるので説明を省略する。
【０１３６】
第８の処理は、実施の形態１における第４の処理と同様であるので説明を省略する。
【０１３７】
すなわち、クロック分周回路２００は、実施の形態１にかかるクロック分周回路１００と同様の動作を行う。
【０１３８】
さらに、クロック分周回路２００の動作について、具体的に説明する。図４は、クロック分周回路２００において、入力クロック信号を７／２分周した出力クロック信号を生成する場合のタイミング図である。クロック分周回路２００動作条件については、セレクタ出力値１２４、０値１２２のビット幅は５ビットである。その他の条件については、実施の形態１と同様であるので説明を省略する。
【０１３９】
各サイクルでの演算器出力値１２０については、入力クロック信号１０９の状態と演算器出力値１１６の状態との組み合わせにより、分類５〜８として場合分けして、それぞれの分類ごとに、数式を用いて表わすことができる。
【０１４０】
分類５は、実施の形態１における分類１と同じく、入力クロック信号１０９がハイ、演算器出力値１１６が０未満となる場合であり、図４に示すサイクルＴ１、Ｔ７及びＴ１５が該当する。ここでは、サイクルＴ１を例として、実施の形態１と過程が異なる動作について説明する。
【０１４１】
セレクタ１２３は、演算器出力値１１６が「−４」であるので、分子設定値の２倍の値１１７である「１４」を、セレクタ出力値１２４として加算器１２５へ出力する。
【０１４２】
加算器１２５は、演算器出力値１１６である「−４」にセレクタ出力値１２４である「１４」を加えた値「１０」を、演算器出力値１２０として、比較器１０８及びレジスタ１０１のＤ端子へ出力する。
【０１４３】
すなわち、分類５における演算器出力値１２０は、レジスタ出力値１１３から分母設定値の２倍の値１１４である「４」を減じ、さらに分子設定値の２倍の値１１７である「１４」を加算した値となるので、上述の式（６）で表わされる。つまり、分類１と分類５とは、同様の演算器出力値１２０を出力する。
【０１４４】
分類６は、実施の形態１における分類２と同じく、入力クロック信号１０９がロウ、演算器出力値１１６が０以上となる場合であり、図４に示すサイクルＴ２、Ｔ４、Ｔ６、Ｔ８、Ｔ１０、Ｔ１２及びＴ１６が該当する。ここでは、サイクルＴ２を例として、実施の形態１と過程が異なる動作について説明する。
【０１４５】
セレクタ１２３は、演算器出力値１１６が「８」であるので、０値１２２である「０」を、セレクタ出力値１２４として加算器１２５へ出力する。
【０１４６】
加算器１２５は、演算器出力値１１６である「８」にセレクタ出力値１２４である「０」を加えた値「８」を、演算器出力値１２０として比較器１０８及びレジスタ１０１のＤ端子へ出力する。
【０１４７】
すなわち、分類６における演算器出力値１２０は、レジスタ出力値１１３から分母設定値１１１である「２」を減じた値となるので、上述の式（７）で表わされる。つまり、分類２と分類６とは、同様の演算器出力値１２０を出力する。
【０１４８】
分類７は、実施の形態１における分類３と同じく、入力クロック信号１０９がハイ、演算器出力値１１６が０以上となる場合であり、図４に示すサイクルＴ３、Ｔ５、Ｔ９、Ｔ１１及びＴ１３が該当する。ここでは、サイクルＴ３を例として、実施の形態１と過程が異なる動作について説明する。
【０１４９】
セレクタ１２３は、演算器出力値１１６が「６」であるので、０値１２２である「０」をセレクタ出力値１２４として加算器１２５へ出力する。
【０１５０】
加算器１２５は、演算器出力値１１６の値「６」にセレクタ出力値１２４の値「０」を加えた値「６」を、演算器出力値１２０として比較器１０８及びレジスタ１０１のＤ端子へ出力する。
【０１５１】
すなわち、分類７における演算器出力値１２０は、レジスタ出力値１１３から分母設定値の２倍の値１１４である「４」を減じた値となるので、上述の式（８）で表わされる。つまり、分類３と分類７とは、同様の演算器出力値１２０を出力する。
【０１５２】
分類８は、実施の形態１における分類４と同じく、入力クロック信号１０９がロウ、演算器出力値１１６が０未満となる場合であり、図４に示すサイクルＴ１４が該当する。ここでは、サイクルＴ１４を例として、実施の形態１と過程が異なる動作について説明する。
【０１５３】
セレクタ１２３は、演算器出力値１１６が「−２」であるので、分子設定値の２倍の値１１７である「１４」を、セレクタ出力値１２４として加算器１２５へ出力する。
【０１５４】
加算器１２５は、演算器出力値１１６の値「−２」にセレクタ出力値１２４の値「１４」を加えた値「１２」を、演算器出力値１２０として比較器１０８及びレジスタ１０１のＤ端子へ出力する。
【０１５５】
すなわち、分類８における演算器出力値１２０は、レジスタ出力値１１３から分母設定値１１１である「２」を減じ、さらに分子設定値の２倍の値１１７である「１４」を加えた値となるので、上述の式（９）で表わされる。つまり、分類４と分類８とは、同様の演算器出力値１２０を出力する。
【０１５６】
次に各サイクルにおける動作について説明する。まずサイクルＴ１では、分類５の動作を行う。レジスタ１０１には「０」が記録されているので、式（６）より、演算器出力値１２０の値は「１０」となる。比較器１０８は、演算器出力値１２０と分子設定値１１２を比較し、（演算器出力値１２０である「１０」）＞（分子設定値１１２である「７」）となるので、出力クロック信号１２１はハイとなる。
【０１５７】
次のサイクルＴ２では、分類６の動作を行う。レジスタ１０１には「１０」が記録されているので、式（７）より、演算器出力値１２０の値は「８」となる。比較器１０８は、演算器出力値１２０と分子設定値１１２を比較し、（演算器出力値１２０である「８」）＞（分子設定値１１２である「７」）となるので、出力クロック信号１２１はハイとなる。
【０１５８】
次のサイクルＴ３では、分類７の動作を行う。レジスタ１０１には「１０」が記録されているので、式（８）より、演算器出力値１２０の値は「６」となる。比較器１０８は、演算器出力値１２０と分子設定値１１２を比較し、（演算器出力値１２０である「６」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１５９】
次のサイクルＴ４では、分類６の動作を行う。レジスタ１０１には「６」が記録されているので、式（７）より、演算器出力値１２０の値は「４」となる。比較器１０８は、演算器出力値１２０と分子設定値１１２を比較し、（演算器出力値１２０である「４」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１６０】
次のサイクルＴ５では、分類７の動作を行う。レジスタ１０１には「６」が記録されているので、式（８）より、演算器出力値１２０の値は「２」となる。比較器１０８は、演算器出力値１２０と分子設定値１１２を比較し、（演算器出力値１２０である「２」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１６１】
次のサイクルＴ６では、分類６の動作を行う。レジスタ１０１には「２」が記録されているので、式（７）より、演算器出力値１２０の値は「０」となる。比較器１０８は、演算器出力値１２０と分子設定値１１２を比較し、（演算器出力値１２０である「０」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１６２】
次のサイクルＴ７では、分類５の動作を行う。レジスタ１０１には「２」が記録されているので、式（６）より、演算器出力値１２０の値は「１２」となる。比較器１０８は、演算器出力値１２０と分子設定値１１２を比較し、（演算器出力値１２０である「１２」）＞（分子設定値１１２である「７」）となるので、出力クロック信号１２１はハイとなる。
【０１６３】
次のサイクルＴ８では、分類６の動作を行う。レジスタ１０１には「１２」が記録されているので、式（７）より、演算器出力値１２０の値は「１０」となる。比較器１０８は、演算器出力値１２０と分子設定値１１２を比較し、（演算器出力値１２０である「１０」）＞（分子設定値１１２である「７」）となるので、出力クロック信号１２１はハイとなる。
【０１６４】
次のサイクルＴ９では、分類７の動作を行う。レジスタ１０１には「１２」が記録されているので、式（８）より、演算器出力値１２０の値は「８」となる。比較器１０８は、演算器出力値１２０と分子設定値１１２を比較し、（演算器出力値１２０である「８」）＞（分子設定値１１２である「７」）となるので、出力クロック信号１２１はハイとなる。
【０１６５】
次のサイクルＴ１０では、分類６の動作を行う。レジスタ１０１には「８」が記録されているので、式（７）より、演算器出力値１２０の値は「６」となる。比較器１０８は、演算器出力値１２０と分子設定値１１２を比較し、（演算器出力値１２０である「６」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１６６】
次のサイクルＴ１１では、分類７の動作を行う。レジスタ１０１には「８」が記録されているので、式（８）より、演算器出力値１２０の値は「４」となる。比較器１０８は、演算器出力値１２０と分子設定値１１２を比較し、（演算器出力値１２０である「４」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１６７】
次のサイクルＴ１２では、分類６の動作を行う。レジスタ１０１には「４」が記録されているので、式（７）より、演算器出力値１２０の値は「２」となる。比較器１０８は、演算器出力値１２０と分子設定値１１２を比較し、（演算器出力値１２０である「２」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１６８】
次のサイクルＴ１３では、分類７の動作を行う。レジスタ１０１には「４」が記録されているので、式（８）より、演算器出力値１２０の値は「０」となる。比較器１０８は、演算器出力値１２０と分子設定値１１２を比較し、（演算器出力値１２０である「０」）＜（分子設定値１１２である「７」）となるので、出力クロック信号１２１はロウとなる。
【０１６９】
次のサイクルＴ１４では、分類８の動作を行う。レジスタ１０１には「０」が記録されているので、式（９）より、演算器出力値１２０の値は「１２」となる。比較器１０８は、演算器出力値１２０と分子設定値１１２を比較し、（演算器出力値１２０である「１２」）＞（分子設定値１１２である「７」）となるので、出力クロック信号１２１はハイとなる。
【０１７０】
次のサイクルＴ１５は、サイクルＴ１と同じ状態となるので、以降のサイクルでは、サイクルＴ１〜Ｔ１４が繰り返される。従って、入力クロック信号の７周期中に出力クロック信号は、７／２分周された一周期分のクロックを出力する。
【０１７１】
よって、クロック分周回路２００における演算器出力値１２０は、実施の形態１にかかるクロック分周回路１００と同様の値となる。
【０１７２】
従って、本構成のクロック分周回路２００によれば、入力クロック信号の立ち下がりの際に、出力クロック信号を立ち上げることができる。これにより、入力クロック信号を任意の有理数で表わされる分周比にて分周した出力クロック信号を得ることができる。
【０１７３】
さらに、本構成のクロック分周回路２００によれば、分子設定値の２倍の値１１７または「０」値１２２のいずれか一方をセレクタ１２３で選択して、加算器１２５に出力する。よって、セレクタ１２３の入力の一方を「０」にできるので、セレクタ１２３を論理積回路で構成することができ、実施の形態１にかかるクロック分周回路１００よりも、回路素子数を少なくすることができる。
【０１７４】
その他の実施の形態
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、分周比については７／２に限られず、Ａ＝１１、Ｂ＝６とした１１／６など、有理数で表わされる他の値をとることができる。
【０１７５】
また、クロック分周回路についても上述の構成に限られない。たとえば、同様の演算処理ができるのであれば、演算器１１に代えて他の構成からなる演算器を用いてもよい。また、演算器１２ａ及び演算器１２ｂについても同様である。
【符号の説明】
【０１７６】
１１  演算器    １２ａ、１２ｂ  演算器
１００  クロック分周回路
１０１  レジスタ    １０３  セレクタ    １０４  減算器
１０６  加算器    １０７  セレクタ    １０８  比較器
１０９  入力クロック信号    １１０  リセット信号
１１１  分母設定値    １１２  分子設定値    １１３  レジスタ出力値
１１４  分母設定値の２倍の値    １１５  セレクタ出力値
１１６  演算器出力値    １１７  分子設定値の２倍の値
１１８  加算器出力値    １２０  演算器出力値
１２１  出力クロック信号    １２２  「０」値
１２３  セレクタ    １２４  セレクタ出力値
１２５  加算器
２００  クロック分周回路
３００  クロック分周回路
３０１  入力信号    ３０２  入力クロック信号    ３０３  出力クロック信号
３０４  入力信号    ３０５  セレクタ出力    ３０６  減算器出力信号
３０７  セレクタ    ３０８  加算器    ３０９  レジスタ
３１０  レジスタ出力信号    ３１１  最上位ビット出力信号
３１２  ラッチ出力信号    ３１３  ラッチ    ３１４  論理積回路
３１５  加算器出力信号    ３１６  減算器    
３１７  入力信号    ３１８  リセット信号    ３２０  入力信号
【図１】
2010258761.tif 000003
【図２】
2010258761.tif 000004
【図３】
2010258761.tif 000005
【図４】
2010258761.tif 000006
【図５】
2010258761.tif 000007
【図６】
2010258761.tif 000008