(57)【要約】【課題】専用ＩＣを用いずに、高周波帯において、語調の長い、プログラム可能な同期カウンタを、高いタイミング精度を保証しつつ実現する高速プログラマブル同期カウンタを提供する。【解決手段】全カウント値の下位ビットをカウントする、第一および第二の２つのレジスタを備えた高速カウンタと、該高速カウンタとは別個に設けられた、前記全カウント値の上位ビットをカウントする低速カウンタを備え、終了するとキャリー信号を出力し、上記低速カウンタは、セットされたカウント値を、前記キャリー信号に同期してカウントし、終了するとキャリー信号を出力する。低速カウンタのキャリーは高速カウンタの第一と第二のレジスタの切り替えに用いられ、最終的なカウント終了のタイミング精度は低速カウンタの精度によらず、高速カウンタのレジスタ切り替え後のカウント終了タイミングの精度により保証される。【選択図】  図１
2008160353.tif 000002
【特許請求の範囲】
【請求項１】
全カウント値の下位ビットをカウントする高速カウンタと、該高速カウンタとは別個に設けられた、前記全カウント値の上位ビットをカウントする低速カウンタを備えた高速プログラマブル同期カウンタ回路であって、
予め２つのカウント値をセットし、それぞれのカウント値について入力クロックに同期してカウントする、カウントするカウント値の切り替えが可能な高速カウンタと、
該高速カウンタが前記下位ビットに相当するカウント値のカウントを終了する間に１カウントが可能な低速カウンタとを備え、
上記高速カウンタは、択一的に選択できる第一のレジスタおよび第二のレジスタを具備し、選択した第一または第二のレジスタにセットされたカウント値を入力クロックに同期してカウントし、カウントが終了するとキャリー信号を出力するプログラマブルカウンタであって、
上記低速カウンタは、セットされたカウント値を、前記キャリー信号に同期してカウントするプログラマブルカウンタであることを特徴とする高速プログラマブル同期カウンタ回路。
【請求項２】
請求項１記載の高速プログラマブル同期カウンタ回路において、前記低速カウンタの追従特性では前記高速カウンタのキャリー信号を捕捉できない場合において、前記高速カウンタが出力するキャリー信号をトグルして前記低速カウンタに出力するトグルフリップフロップ回路を備えている高速プログラマブル同期カウンタ回路。
【請求項３】
請求項１または２記載の高速プログラマブル同期カウンタ回路において、前記低速カウンタがカウント値のカウントが終了したときに出力するキャリー信号を受けて、前記高速カウンタにレジスタを切り替えさせる切り替え信号を出力する制御回路を備えている高速プログラマブル同期カウンタ回路。
【請求項４】
請求項３記載の高速プログラマブル同期カウンタ回路において、前記高速カウンタは、前記制御回路からレジスタ切り替え信号が出力されたときは、その後に前記第一のレジスタにセットされたカウント値のカウントが終了したときに前記第二のレジスタに切り替えて第二のレジスタにセットされたカウント値のカウントを開始し、第二のレジスタのカウントが終了したときにキャリー信号を出力し、前記制御回路は、前記キャリー信号が出力されたときにエンドカウント信号を出力する高速プログラマブル同期カウンタ回路。
【請求項５】
請求項３または４記載の高速プログラマブル同期カウンタ回路において、全体のカウント値がｎビットのＮ、前記高速カウンタでカウント可能なビット数がｋ（ｋ＜ｎ）、前記低速カウンタでカウント可能なビット数が n - kであって、全カウント値Ｎの上位 n - kビットをN1、下位 k - 1 ビットをN3、中間の１ビットをN2として全カウント値Ｎが下記式１で表され、
Ｎ= N1 × ２n-k ＋ N2 × ２k-1 ＋ N3   ・・・式１
前記低速カウンタでカウントする上位ビットをM1および前記高速カウンタでカウントする下位ビットをM2として、M1、M2が下記式２、３により設定されたときに、
N2 = １  のときは、  M1 = ２ × N1
M2 = ２k-1 ＋ N3  ・・・式２
N2 = ０  のときは、  M1 = ２ × N1 − 1
M2 = ２k-1 ＋ N3  ・・・式３
前記高速カウンタは、前記第一のレジスタには２k-1 をセットし、前記第二のレジスタにはM2をセットし、
前記低速カウンタは、中間のビットN2が１の場合は式２のM1 - 1をセットし、をセットし、中間のビットN2が０の場合は式３のM1 - 1をセットする高速プログラマブル同期カウンタ回路。
【請求項６】
請求項５記載の高速プログラマブル同期カウンタ回路において、前記高速カウンタは、前記制御回路からレジスタ切り替え信号が出力されたときは、前記第一のレジスタがゼロになったときにキャリー信号を出力するとともに前記第一のレジスタから第二のレジスタに切り替えて下位ビットM2をカウントし、前記制御回路は、前記高速カウンタから、第二のレジスタからキャリー信号が出力されたときに、全カウント値のカウントが終了したことを識別するエンドカウント信号を出力する高速プログラマブル同期カウンタ回路。
【請求項７】
請求項３または４記載の高速プログラマブル同期カウンタ回路にカウントさせるカウント方法であって、
全体のカウント値をｎビットのＮ、前記高速カウンタでカウント可能なビット数をｋ（ｋ＜ｎ）、前記低速カウンタでカウント可能なビット数を n - k、全カウント値Ｎの上位 n - kビットをN1、下位 k - 1 ビットをN3、中間の１ビットをN2として全カウント値Ｎを下記式１で表し、
Ｎ= N1 × ２n-k ＋ N2 × ２k-1 ＋ N3   ・・・式１
前記低速カウンタでカウントする上位ビットをM1および前記高速カウンタでカウントする下位ビットをM2として、M1、M2を下記式２、式３により設定し、
N2 = １  のときは、  M1 = ２ × N1
M2 = ２k-1 ＋ N3  ・・・式２
N2 = ０  のときは、  M1 = ２ × N1 − 1
M2 = ２k-1 ＋ N3  ・・・式３
前記高速カウンタには、前記第一のレジスタに２k-1 をセットさせ、前記第二のレジスタにはM2をセットさせ、
前記低速カウンタには、中間のビットN2が１の場合は式２のM1 - 1をセットさせ、中間のビットN2が０の場合は式３のM1 - 1をセットさせて、前記高速カウンタおよび低速カウンタにより前記全カウント値Ｎをカウントさせることを特徴とする高速プログラマブル同期カウンタ回路のカウント方法。
【請求項８】
請求項７記載の高速プログラマブル同期カウンタ回路のカウント方法において、前記高速カウンタは、初期に選択された前記第一のレジスタがゼロになったときにキャリー信号を出力するとともに、前記制御回路からレジスタ切り替え信号が出力されたときは、前記第一のレジスタから第二のレジスタに切り替えて下位ビットM2をカウントし、この第二のレジスタがゼロになったときにキャリー信号を出力し、前記制御回路は、前記高速カウンタから、第二のレジスタからキャリー信号が出力されたときに全カウント値のカウントが終了したことを識別するエンドカウント信号を出力する高速プログラマブル同期カウンタ回路のカウント方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高周波数帯に適した高速プログラマブル同期カウンタ回路およびカウント方法に関する。
【背景技術】
【０００２】
従来、高周波数帯域で語調の長いカウンタを構成することは、継続接続されたフリップフロップの数が多くなり、全遅延時間が１クロックより長くなるため、複数のカウンタを組み合わせて構成するのは困難であった。ただし、１チップ内に全ての回路を構成することが可能な専用ＩＣでは、全遅延時間が１クロックよりも長くなる場合は、カウントすべき数Ｎを  Ｎ=Ａｐ＋Ｂと分離し、ｐとＢを高速カウンタでカウントし、Ａを低速カウンタで計数処理することができる（特許文献１、２）。しかも専用ＩＣ内であればＡ、ｐのカウント終了後直ちにＢのカウントに移行できるので、カウント処理に不都合は生じない。また、低速カウンタと高速カウンタを別モジュールにする場合であっても、カウント値が固定であれば、Ａ、ｐおよびＢを適当な組み合わせの値に選ぶなどして対処することができる。
【特許文献１】特開昭６３-４７１７号公報
【特許文献２】特開平０１-１９８１１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、専用ＩＣを製造するためには、高額な初期費用が必要である。そのため、少量の高速カウンタを専用ＩＣで製造することはコスト面で困難であった。一方、専用ＩＣを用いない場合は、すなわち短い語長の低速カウンタと高速カウンタを別モジュールにする場合であって、かつプログラム可能な同期カウンタが必要な場合は、両者を繋ぐ配線による遅延等が大きく、Ａ、ｐのカウント終了から直ちにＢのカウントに移行することが難しい。そのため、カウンタ全体の精度を高速カウンタのタイミング精度と同程度として保証することが困難であった。
【０００４】
本発明は、専用ＩＣを用いずに、高周波帯において、語調の長い、プログラム可能な同期カウンタを、高いタイミング精度を保証しつつ実現する高速プログラマブル同期カウンタ回路およびカウント方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
かかる課題を解決する本発明は、全カウント値の下位ビットをカウントする高速カウンタと、該高速カウンタとは別個に設けられた、前記全カウント値の上位ビットをカウントする低速カウンタを備えた高速プログラマブル同期カウンタ回路であって、予め２つのカウント値をセットし、それぞれのカウント値について入力クロックに同期してカウントする、カウントするカウント値の切り替えが可能な高速カウンタと、該高速カウンタが前記下位ビットに相当するカウント値のカウントを終了する間に１カウントが可能な低速カウンタとを備え、上記高速カウンタは、第一のレジスタおよび第二のレジスタを具備し、選択された第一または第二のレジスタにセットされたカウント値を入力クロックに同期してカウントし、カウントが終了するとキャリー信号を出力するプログラマブルカウンタであって、上記低速カウンタは、予めセットされたカウント値を、前記キャリー信号に同期してカウントするプログラマブルカウンタで構成する。
【０００６】
好ましい実施形態では、前記低速カウンタの追従特性では前記高速カウンタのキャリー信号を捕捉できない場合において、前記高速カウンタが出力するキャリー信号をトグルして前記低速カウンタに出力するトグルフリップフロップ回路を備える。キャリー信号の出力が、確実に低速カウンタに伝達される。
【０００７】
より実際的には、前記低速カウンタがカウント値のカウントが終了したときに出力するキャリー信号を受けて、前記高速カウンタにレジスタを切り替えさせる切り替え信号を出力する制御回路を備える。
前記高速カウンタは、前記制御回路からレジスタ切り替え信号が出力されたときは、その後に前記第一のレジスタにセットされたカウント値のカウントが終了したときに前記第二のレジスタに切り替えて第二のレジスタにセットされたカウント値のカウントを開始し、第二のレジスタのカウンタ終了したときにキャリー信号を出力し、前記制御回路は、前記キャリー信号が出力されたときにエンドカウント信号を出力する。
【０００８】
好ましい実施形態では、全体のカウント値がｎビットのＮ、前記高速カウンタでカウント可能なビット数がｋ（ｋ＜ｎ）、前記低速カウンタでカウント可能なビット数が n -  k であって、全カウント値Ｎの上位 n - k ビットをN1、下位 k - 1 ビットをN3、中間の１ビットをN2として全カウント値Ｎが下記式１で表され、
Ｎ= N1 × ２n-k ＋ N2 × ２k-1 ＋ N3   ・・・式１
前記低速カウンタでカウントする上位ビットをM1および前記高速カウンタでカウントする下位ビットをM2として、M1、M2が下記式２、３により設定されたときに、
N2 = １  のときは、  M1 = ２ × N1
M2 = ２k-1 ＋ N3  ・・・式２
N2 = ０  のときは、  M1 = ２ × N1 − 1
M2 = ２k-1 ＋ N3  ・・・式３
前記高速カウンタは、前記第一のレジスタには２k-1 をセットし、前記第二のレジスタにはM2をセットし、
前記低速カウンタは、中間のビットN2が１の場合は式２の M1 - 1 をセットし、をセットし、中間のビットN2が０の場合は式３の M1 - 1 をセットする。
【０００９】
さらに本実施形態では、前記高速カウンタは、前記制御回路からレジスタ切り替え信号が出力されたときは、前記第一のレジスタがゼロになったときにキャリー信号を出力するとともに前記第一のレジスタから第二のレジスタに切り替えて下位ビットM2をカウントし、前記制御回路は、前記高速カウンタから、第二のレジスタからキャリー信号が出力されたときに、全カウント値のカウントが終了したことを識別するエンドカウント信号を出力する。
【００１０】
方法の表現による本発明は、前記高速プログラマブル同期カウンタ回路にカウントさせるカウント方法であって、全体のカウント値をｎビットのＮ、前記高速カウンタでカウント可能なビット数をｋ（ｋ＜ｎ）、前記低速カウンタでカウント可能なビット数を n -  k、全カウント値Ｎの上位 n - k ビットをN1、下位 k - 1 ビットをN3、中間の１ビットをN2として全カウント値Ｎを下記式１で表し、
Ｎ= N1 × ２n-k ＋ N2 × ２k-1 ＋ N3   ・・・式１
前記低速カウンタでカウントする上位ビットをM1および前記高速カウンタでカウントする下位ビットをM2として、M1、M2を下記式２、式３により設定し、
N2 = １  のときは、  M1 = ２ × N1
M2 = ２k-1 ＋ N3  ・・・式２
N2 = ０  のときは、  M1 = ２ × N1 − 1
M2 = ２k-1 ＋ N3  ・・・式３
前記高速カウンタには、前記第一のレジスタに２k-1 をセットさせ、前記第二のレジスタにはM2をセットさせ、
前記低速カウンタには、中間のビットN2が１の場合は式２の M1 - 1 をセットさせ、中間のビットN2が０の場合は式３の M1 - 1 をセットさせて、前記高速カウンタおよび低速カウンタにより前記全カウント値Ｎをカウントさせることに特徴を有する。
【００１１】
さらに本方法の発明において、前記高速カウンタは、前記制御回路からレジスタ切り替え信号が出力されたときは、初期に選択された前記第一のレジスタがゼロになったときにキャリー信号を出力するとともに、前記制御回路からレジスタ切り替え信号が出力されたときは、前記第一のレジスタから第二のレジスタに切り替えて下位ビットM2をカウントし、この第二のレジスタがゼロになったときにキャリー信号を出力し、前記制御回路は、前記高速カウンタから、第二のレジスタからキャリー信号が出力されたときに全カウント値のカウントが終了したことを識別するエンドカウント信号を出力する。
【発明の効果】
【００１２】
本発明によれば、入力クロックをカウントする高速クロックにより、カウント値の下位ビットをカウントし、高速クロックのキャリーオーバー信号によりカウント値の上位ビットを低速クロックでカウントするので、別体として設けた高速カウンタおよび低速カウンタにより、語調の長いカウント値を高速で高精度にカウントすることができる。つまり、最終的なカウント終了のタイミング精度は低速カウンタの精度によらず、高速カウンタのレジスタ切り替え後のカウント終了タイミングの精度により保証される。
【発明を実施するための最良の形態】
【００１３】
本発明の最良の実施形態について、添付図面を参照して説明する。図１は、本発明を適用した高速プログラマブル同期カウンタ回路の実施形態をブロックで示す図である。
【００１４】
高速クロック、例えば５００MHz以上のクロックを入力として、Ａ、Ｂの２個のカウント値を、第一のレジスタとしてのＡレジスタ１１ａ、第二のレジスタとしてのＢレジスタ１１ｂで保持し、Ａレジスタ１１ａ、Ｂレジスタ１１ｂをＳＥL端子により選択可能な高速カウンタ１１、高速カウンタ１１からのキャリー信号をクロック入力とするトグルフリップフロップ１３と、トグルフリップフロップ１３の出力を入力し、その立ち上がり、立下りをともに検出して、予めレジスタ１５ａにセットされたカウント値からダウンカウントする低速カウンタ１５と、レジスタ１５ａがゼロになったときに低速カウンタ１５から出力されるキャリーフラグを受けてカウント終了を高速カウンタ１１のSEL端子に入力し、このキャリーフラグが入力された高速カウンタ１１はＡレジスタ１１ａ、Ｂレジスタ１１ｂを切り替え、Ｂレジスタのカウントが終了すると全体のカウントが終了したものとして外部に知らせる機能を備える制御回路１７から構成される。
【００１５】
高速カウンタ１１は、この実施形態ではプログラマブル同期ダウンカウンタを使用しているが、アップカウンタを使用することもできる。低速カウンタ１５は、高速カウンタ１１が最大値カウント可能な最大値（最大ビット数）の１／２をカウントする間に１カウントを終了できる速さがあればよく、この実施形態ではプログラマブルダウンカウンタを使用しているが、アップカウンタでもよく、同期、非同期のいずれでもよい。
【００１６】
低速カウンタ１５と高速カウンタ１１は、それぞれ上位ビット、下位ビットのカウントを受け持つ。この実施形態において、高速カウンタ１１と低速カウンタ１５の間にトグルフリップフロップ１３を入れたのは、高速カウンタ１１のキャリーフラグのON/OFF変化に低速カウンタ１５が追従できない場合に備えたものである。低速カウンタ１５が追従できれば、トグルフリップフロップ１３を入れる必要はなく、低速カウンタ１５はキャリー信号の立ち上がり、立下りのいずれかのエッジを検出できればよい。
【００１７】
また、この制御回路１７は、エンドカウント信号（カウント終了信号）を生成するＲＳフリップフロップ回路１９以外は、非同期回路でも、同期回路でもよい。通常は、ＦＰＧＡ（Field Programmable Gate Array）などを用いて同期回路で構成するのが一般的である。
【００１８】
次に、この高速プログラマブル同期カウンタ回路の動作について説明する。全体のカウント値をｎビットのＮ、高速カウンタ１１でカウント可能なビット数をｋ（ｋ＜ｎ）、低速カウンタ１５でカウント可能なビット数を n - k とし、全カウント値Ｎの上位 n - k ビットをN1、下位 k - 1 ビットをN3、中間の１ビットをN2とすると、全カウント値Ｎは  N1 N2 N3  の並びで二進数表示され、下記式１のように表される。
Ｎ= N1 × ２n-k ＋ N2 × ２k-1 ＋ N3   ・・・式１
ここで、低速カウンタ１５でカウントすべき値をM1（上位ビット）、高速カウンタ１１でカウントすべき値をM2（下位ビット）とすると、
N2 = １  なら、M1 = ２ × N1
M2 = N2 × ２k-1 ＋ N3
= ２k-1 ＋ N3  ・・・式２
N2 = ０  なら、M1 = ２ × N1 − 1
M2 = ２k-1 ＋ N3  ・・・式３
のように場合分けし、変形できる。高速カウンタ１１でカウントすべき値M2は、必ず２k-1  以上の数になる。ここで、 N1に２を乗算しているのは、高速カウンタ１１を２k ではなく、２k-1  カウントで桁上がりさせるためである。これにより式１は、式２、式３のM1（上位ビット）、M2（下位ビット）を用いて次の式４、式５のように変形できる。
N2 = １  なら、  Ｎ = N1 × ２k ＋ ２k-1 ＋ N3 
= ２ × N1 × ２k-1 ＋ (２k-1 ＋ N3)
= M1 × ２k-1 ＋ M2  ・・・式４
N2 = ０  なら、  Ｎ = N1 × ２k + N3
= (２ × N1 − 1) × ２k-1 ＋ (２k-1 ＋ N3)
= M1 × ２k-1 ＋ M2  ・・・式５
【００１９】
以上の式２、式３または式４、式５に基づいて全体カウント値Ｎを、２k-1のカウントを高速カウンタ１１のＡレジスタ１１ａで繰り返し行って、高速カウンタ１１から出力されるキャリーフラグにより上位ビット M1 - 1 を低速カウンタ１５でカウントし、低速カウンタ１５による上位ビット M1 - 1 のカウントが終了し、低速カウンタ１５からキャリーフラグが出力された後に、下位ビットM2のカウントを高速カウンタ１１のＢレジスタ１１ｂで行うように設定する。この設定により、Ｎ = M1 × ２k-1 + M2  のカウントが終了する。
【００２０】
この高速プログラマブル同期カウンタ回路のカウント動作の詳細を、さらに図２に示したシーケンスを参照して詳述する。ここでは、中間の N2 が０であるとする。したがって、式３および式５が適用される。
【００２１】
先ず、低速カウンタ１５は上位ビット M1 - 1、つまり２ x N1 - ２をレジスタ１５ａにセットし、高速カウンタ１１は２つのＡ、Ｂレジスタ１１ａ、１１ｂの一方のＡレジスタ１１ａに２k-1を、他方のＢレジスタ１１ｂに下位ビットM2、つまり２k-1 + N3をセットして、入力クロックによりカウントを開始する。
【００２２】
高速カウンタ１１において最初にカウンタとしてSEL端子（SEL信号）により選択されているのはＡレジスタ１１ａであるから、高速カウンタ１１は、入力クロックが入る毎にＡレジスタ１１ａのカウント値をカウントダウンする。そうして高速カウンタ１１は、２k-1ビット分カウントダウンしてＡレジスタ１１ａのカウント値が０になると、キャリーフラグ（信号）を出力する。このキャリーフラグはトグルフリップフロップ１３でラッチされて、低速カウンタ１５に入力される。
【００２３】
低速カウンタ１５は、キャリーフラグが入力されると、レジスタ１５ａのカウント値を  M1 - 1 からダウンカウントする。
【００２４】
高速カウンタ１１は、キャリーフラグを出力すると同時に、Ａレジスタ１１ａにカウント値２k-1をセットしてダウンカウントを繰り返し、低速カウンタ１５は、キャリーフラグを入力する毎にカウント値 M1 - １ からダウンカウントする処理を繰り返すリングカウント処理を実行する。
【００２５】
そうして低速カウンタ１５は、レジスタ１５ａがゼロになると、つまりカウント値 M1 - １ 分カウントすると、キャリーフラグ（信号）を出力する（図２の＃１参照）。低速カウンタ１５が出力したキャリーフラグを受けた制御回路１７は、高速カウンタ１１のカウントレジスタをＢレジスタ１１ｂに切り替えるようにSEL信号を変化させる。しかし、高速カウンタ１１は、SEL信号の変化を受けた時点ではすでにＡレジスタ１１ａのカウントダウン処理を進めているので、Ａ、Ｂレジスタ１１ａ、１１ｂを切り替えることができない。そこで実際に切り替えられるのは、高速カウンタ１１が２k-1分の入力クロックを入力したとき（Ａレジスタ１１ａのカウント値が０になったとき）になる(図２の＃２参照)。これにより、低速カウンタ１５のカウント値 M1 - 1 の  -1と、この２k-1カウントが相殺されて、カウント値M1がカウントされたことと等価になる。Ｂレジスタ１１ａ、１１ｂには下位ビットM2、つまり ２k-1 + N3 がセットされる。
【００２６】
低速カウンタ１５がキャリーフラグを出力した後（図２の♯１の後）の２k-1分のカウントが終わると（図２の♯２）、次の高速カウンタ１１のカウント値は、Ｂレジスタ１１ｂでカウントする下位ビットM2となる。そうして高速カウンタ１１は、入力クロックを検知する毎にＢレジスタ１１ｂをダウンカウントする。そうして、Ｂレジスタ１１ｂがゼロ、つまり下位ビットM2のカウントが終了すると、高速カウンタ１１はキャリーフラグを出力する。このキャリーフラグを入力した制御回路１７は、ＲＳフリップフロップ回路１９からエンドカウントフラグ（信号）を出力する（図２の＃３参照）。このエンドカウントフラグの出力により、カウント値（M1 M2）のカウントが終了する。
【００２７】
以上は、カウント値Ｎを１回だけカウントする処理であった。カウント値Ｎを動的に変化させる場合または繰り返す場合は、次回カウント値のセットを、低速カウンタ１５に対しては、カウント値 M1 - 1 がゼロになった後、２k-1 + M2 がゼロになったときに行う。ここで、次のカウント開始までに２k クロック以上空いているので、その空き期間に、低速カウンタ１５は次回のカウント値のセットを確実に実行することができる。さらに高速カウンタ１１のＢレジスタ１１ｂに対するカウント値M2のセットは、次のカウントが始まってからＡレジスタ１１ａのリングカウントが続くので、その間に余裕を持って行える。
【００２８】
以上の実施形態の説明では、高速カウンタ１１および低速カウンタ１５のカウント可能な最大ビット数を異なるビット数としたが、高速、低速カウンタ１１、１５のカウント可能最大ビット数はいずれが大きくてもよく、同一の値でもよい。いずれの場合も、高速カウンタ１１のビット数をｋとすると、全体のカウント値、高速、低速カウンタ１１、１５でカウントする値は式１乃至３と同様に表される。低速カウンタ１５は、動作速度が２k-1クロックよりも速ければ十分である。
また、本実施形態ではダウンカウンタを用いたが、本発明はアップカウンタを用いることもできる。
【００２９】
本発明の実施形態では、株式会社オンセミコンダクターのカウンタ（製品番号NB7N017M、以下「オンセミカウンタ」という）を上記高速カウンタ１１として使用できる。オンセミカウンタは２つのカウント値を格納し、それらをSEL信号で切り替えてカウントダウンできる８ビットプログラマブル同期ダウンカウンタである。このオンセミカウンタを高速カウンタ１１として使用し、１７ビットカウントが可能な低速カウンタを低速カウンタ１５として使用すると、３．５GHz２４ビット同期カウンタを実現できる。オンセミカウンタを使用した場合、式１-２において、 ｋ = ８  ビットとなるので、出力されるキャリーフラグの周波数は高々３．５GHz/２7 = ２７．６MHzであり、トグルフリップフロップ１３を経た後の周波数はさらにその半分である。よってオンセミカウンタと組み合わせる低速カウンタ１５は、２４ - ８ + １ = １７ビットのカウント処理を１/１４MHz = ７１ nSで実行できれば十分であるから、一般的なＦＰＧＡ（Field Programmable Gate Array）等により、ステート変化を検出するプログラマブル同期カウンタで構成できる。また、図１に示したカウンタ回路中、ＲＳフリップフロップ１９と簡単な制御回路部分をＥＣＬ（Emitter Coupled Logic）等の高速ロジックで構成することが可能であるから、オンセミカウンタのジッタ精度を生かしつつ、図２のシーケンスを実行できるカウンタ回路が実現できる。
【図面の簡単な説明】
【００３０】
【図１】本発明の高速プログラマブル同期カウンタ回路の好ましい実施形態をブロックで示す図である。
【図２】同高速プログラマブル同期カウンタ回路のカウント動作のシーケンシャルを示す説明図である。
【符号の説明】
【００３１】
１１  高速カウンタ
１１ａ  Ａレジスタ（第一のレジスタ）
１１ｂ  Ｂレジスタ（第二のレジスタ）
１３  トグルフリップフロップ
１５  低速カウンタ
１７  制御回路
１９  ＲＳフリップフロップ回路
【図１】
2008160353.tif 000003
【図２】
2008160353.tif 000004