(57)【要約】【課題】周波数が異なるクロック信号を用いる回路間でのカウント値の転送時間を短縮する。【解決手段】送信側のクロック信号ＣＬＫＡで動作するグレイコードカウンタ１１のカウント信号ＣＮＴ〜ＣＮＴ３の内で、変化したビット位置を検出してビット位置信号ＢＩＴ０〜ＢＩＴ３を出力すると共にそのビット位置の変化後のカウント信号をビット値信号ＢＩＴとして出力するデコーダ１２を設け、このビット値信号ＢＩＴを受信側のクロック信号ＣＬＫＢで２クロック分遅延させて、その他の変化していないビット位置のカウント信号と共にカウント値ＣＮとして転送する。これにより、受信側のバッファを必要とせず、カウント値の転送時間を短縮することができる。【選択図】図１
2009017153.tif 000002
【特許請求の範囲】
【請求項１】
送信側のクロック信号のタイミングで動作するグレイコードカウンタのカウント信号の内で、変化したビット位置と該ビット位置の変化後のカウント信号の値を検出し、
前記検出した変化後のカウント信号の値を受信側のクロック信号のタイミングで２クロック分だけ遅延させ、
前記遅延させたカウント信号を、前記グレイコードカウンタのカウント信号の変化していないビット位置のカウント信号と共に受信側回路に転送する、
ことを特徴とするカウント値の転送方法。
【請求項２】
第１のクロック信号のタイミングでカウントした第１のカウント値を、該第１のクロック信号とは非同期の第２のクロック信号のタイミングで動作する受信側回路へ第２のカウント値として転送するカウント値の転送回路であって、
前記第１のクロック信号のタイミングでカウントした値をｎ（但し、ｎは２以上の整数）ビットのグレイコードの第１のカウント信号として出力するグレイコードカウンタと、
前記ｎビットの第１のカウント信号が与えられ、該第１のカウント信号の内で変化したビット位置に対応するビット位置信号を第１の論理値に設定し、変化していないビット位置に対応するビット位置信号を第２の論理値に設定すると共に、該変化した第１のカウント信号の変化後の論理値を第１のビット値信号として出力するデコーダと、
前記第２のクロック信号のタイミングで前記第１のビット値信号を保持してシフトし、タイミングが調整された第２のビット値信号として出力する２段以上のシフトレジスタと、
前記ｎビットの第１のカウント信号のビット毎に設けられ、対応するビットのビット位置信号が第１の論理値のときには前記第２のビット値信号を選択し、該ビット位置信号が第２の論理値のときには前記第１のカウント信号の対応するビット位置のカウント信号を選択して前記第２のカウント値として出力するｎ組のセレクタとを、
備えたことを特徴とするカウント値の転送回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周波数が異なるクロック信号を用いる回路間でカウント値を転送する転送方法と転送回路に関するものである。
【背景技術】
【０００２】
例えば、送信側と受信側のクロック周波数が非対称のＦＩＦＯ（先入れ先出し）バッファにおける制御回路のポインタ値の非同期転送回路のように、周波数の異なるクロック信号を用いる回路間で多ビットのカウンタの値を転送する場合、送信側のクロック信号でカウントしたカウント値を受信側のクロック信号で直接取り込むと、各クロック信号のタイミング関係によっては、そのカウント値を正しく受け渡すことができないことがある。このため、受け渡しのタイミングを調整するためのバッファ等を設けることが一般的である。
【０００３】
図２は、このような場合に使用する従来のカウント値の転送回路の構成図である。
この転送回路は、送信側のバイナリカウンタ１のカウント値ＣＮＴＡを、受信側のバッファ２にカウント値ＣＮＴＢとして保持させるように構成したものである。
【０００４】
即ち、この転送回路は、イネーブル信号ＥＮが論理値“１”のときに、送信側のクロック信号ＣＬＫＡの立ち上がりのタイミングで１ずつカウントアップするｎビットのバイナリカウンタ１を有している。バイナリカウンタ１のカウント値ＣＮＴＡは、受信側のセレクタ３の入力端子１に与えられている。
【０００５】
セレクタ３は、制御信号ＥＮＢが論理値“０”のときに入力端子０を選択し、この制御信号ＥＮＢが“１”のときには入力端子１を選択して、選択した入力端子の信号を出力端子から出力するものである。セレクタ３の出力端子は、バッファ２のデータ端子Ｄに接続されている。バッファ２は、データ端子Ｄに与えられる信号を受信側のクロック信号ＣＬＫＢの立ち上がりのタイミングで保持し、出力端子Ｑからカウント値ＣＮＴＢとして出力するものである。このカウント値ＣＮＴＢは、セレクタ３の入力端子０に与えられると共に、図示しない受信側の回路に出力されるようになっている。
【０００６】
一方、セレクタ３に対する制御信号ＥＮＢは、論理和ゲート（以下、「ＯＲ」という）４、フリップフロップ（以下、「ＦＦ」という）５〜７、及びインバータ８によるタイミング回路で、イネーブル信号ＥＮとクロック信号ＣＬＫＡ，ＣＬＫＢに基づいて生成されるように構成されている。
【０００７】
即ち、イネーブル信号ＥＮは、ＯＲ４を介してＦＦ５のデータ端子Ｄに与えられている。ＦＦ５はクロック信号ＣＬＫＡの立ち上がりのタイミングでデータ端子Ｄの信号を保持して出力端子Ｑから出力するもので、この出力端子Ｑから出力される制御信号ＥＮＡは、ＯＲ４の第２の入力側に与えられると共に、ＦＦ６のデータ端子Ｄに与えられている。
【０００８】
ＦＦ６は、ＦＦ７と共に２段のシフトレジスタを構成しており、クロック信号ＣＬＫＢがシフトクロックとして与えられている。そして、ＦＦ７の出力端子Ｑから制御信号ＥＮＢが出力され、セレクタ３に与えられると共に、インバータ８を介してＦＦ５のリセット端子Ｒに与えられるようになっている。
【０００９】
図３は、図２の動作を示す信号波形図である。
このカウント値の転送回路では、イネーブル信号ＥＮを受信側で確実に取り込むため、送信側のクロック信号ＣＬＫＡに同期するＦＦ５で、このイネーブル信号ＥＮを一旦保持し、保持した制御信号ＥＮＡを受信側のクロック信号ＣＬＫＢに同期するＦＦ６，７によって保持し直し、制御信号ＥＮＢを出力する。この制御信号ＥＮＢは、送信側のカウント値ＣＮＴＡの受信側への転送タイミング信号となる。
【００１０】
送信側のＦＦ５で保持した制御信号ＥＮＡは、受信側に制御信号ＥＮＢが出力されたときに、リセットされる。なお、ＦＦ６，７による２段のシフトレジスタを介して制御信号ＥＮＢを出力することにより、図３に示すように、クロック信号ＣＬＫＡ，ＣＬＫＢのクロックエッジが接近している場合でも、３クロック後には、破線で示したような制御信号ＥＮＡの不確定な状態を避けて受信側でカウント値ＣＮＴＢを受け取ることができる。
【００１１】
【特許文献１】特開平１０−２４２９４９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、前記転送回路では、送信側のクロック信号ＣＬＫＡと受信側のクロック信号ＣＬＫＢのクロックエッジが接近している場合の、制御信号ＥＮＡの不確定な状態を避けるため、２段のシフトレジスタを介して制御信号ＥＮＢを受け取るようにしている。このため、最大でクロック信号ＣＬＫＢの３クロック分の転送時間が掛かることになり、カウント値の転送時間が長くなるという課題があった。
【００１３】
本発明は、周波数が異なるクロック信号を用いる回路間でのカウント値の転送時間を短縮することを目的としている。
【課題を解決するための手段】
【００１４】
本発明では、第１のクロック信号のタイミングでカウントした第１のカウント値を、該第１のクロック信号とは非同期の第２のクロック信号のタイミングで動作する受信側回路へ第２のカウント値として転送する転送回路を、次のように構成している。
【００１５】
即ち、この転送回路は、第１のクロック信号のタイミングでカウントした値をｎ（但し、ｎは２以上の整数）ビットのグレイコードの第１のカウント信号として出力するグレイコードカウンタと、前記ｎビットの第１のカウント信号が与えられ、該第１のカウント信号の内で変化したビット位置に対応するビット位置信号を第１の論理値に設定し、変化していないビット位置に対応するビット位置信号を第２の論理値に設定すると共に、該変化した第１のカウント信号の変化後の論理値を第１のビット値信号として出力するデコーダと、前記第２のクロック信号のタイミングで前記第１のビット値信号を保持してシフトし、タイミングが調整された第２のビット値信号として出力する２段以上のシフトレジスタと、前記ｎビットの第１のカウント信号のビット毎に設けられ、対応するビットのビット位置信号が第１の論理値のときには前記第２のビット値信号を選択し、該ビット位置信号が第２の論理値のときには前記第１のカウント信号の対応するビット位置のカウント信号を選択して前記第２のカウント値として出力するｎ組のセレクタとを備えたことを特徴としている。
【発明の効果】
【００１６】
本発明では、送信側のクロック信号で動作するグレイコードカウンタのカウント信号の内で、変化したビット位置を検出すると共にそのビット位置の変化後のカウント信号の値を出力するデコーダを設け、この変化後のカウント信号を受信側のクロック信号で２クロック分遅延させて、その他の変化していないビット位置のカウント信号と共に転送するようにしている。これにより、受信側のバッファを必要とせず、転送時間を短縮することができるという効果がある。
【発明を実施するための最良の形態】
【００１７】
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
【実施例１】
【００１８】
図１は、本発明の実施例を示すカウント値の転送回路の構成図である。
この転送回路は、例えば、送信側と受信側のクロック周波数が非対称のＦＩＦＯバッファにおける制御回路のポインタ値の転送に使用されるもので、送信側のクロック信号ＣＬＫＡでカウントしたグレイコードカウンタ１１のカウント値ＣＮＴ（カウント信号ＣＮＴ０〜ＣＮＴ３）を、このクロック信号ＣＬＫＡとは非同期のクロック信号ＣＬＫＢで動作する受信側の回路に転送するためのものである。
【００１９】
グレイコードカウンタ１１は、イネーブル信号ＥＮが“１”のときに、送信側のクロック信号ＣＬＫＡの立ち上がりのタイミングでカウント値ＣＮＴを１ずつカウントアップする４ビットのカウンタで、そのカウント値ＣＮＴに応じたグレイコードを４ビットのカウント信号ＣＮＴ０〜ＣＮＴ３として出力するものである。ここで、グレイコードとは、具体例については後述するが、隣接する２進数の対応するビット同士を比較したときに、１ビットだけが異なるように順序付けされた符号である。グレイコードカウンタ１１のカウント信号ＣＮＴ０〜ＣＮＴ３は、デコーダ１２に与えられている。
【００２０】
デコーダ１２は、具体例については後述するが、グレイコードカウンタ１１から出力されるカウント信号ＣＮＴ０〜ＣＮＴ３に基づいて、カウント値ＣＮＴが１だけ増加したことによって変化したビット位置と、そのビット位置の変化後の値（即ち、“１”または“０”）を出力するものである。変化したビット位置は、ビット位置信号ＢＩＴ０〜ＢＩＴ３の論理値を“１”にすることによって示される。なお、ビット位置信号ＢＩＴ０〜ＢＩＴ３の内、変化しないビット位置に対応するものの論理値は“０”である。また、変化したビット位置の変化後の値はビット値信号ＢＩＴとして出力される。
【００２１】
ビット値信号ＢＩＴは、ＦＦ１３のデータ端子Ｄに与えられている。ＦＦ１３は、ＦＦ１４と共に２段のシフトレジスタを構成しており、受信側のクロック信号ＣＬＫＢが共通のシフトクロックとして与えられている。そして、ＦＦ１４の出力端子Ｑから出力されるビット値信号ＢＩＴＢが、セレクタ１５０〜１５３の入力端子１に共通に与えられるようになっている。
【００２２】
セレクタ１５０〜１５３は、それぞれグレイコードカウンタ１１から出力されるカウント信号ＣＮＴ０〜ＣＮＴ３、またはＦＦ１４から出力されるビット値信号ＢＩＴＢのいずれか一方を、ビット位置信号ＢＩＴ０〜ＢＩＴ３の値に応じて選択して出力するものである。
【００２３】
即ち、グレイコードカウンタ１１から出力されるカウント信号ＣＮＴ０〜ＣＮＴ３は、それぞれセレクタ１５０〜１５３の入力端子０に与えられており、それぞれのセレクタ１５０〜１５３に対応して与えられるビット位置信号ＢＩＴ０〜ＢＩＴ３が“０”のときにグレイコードカウンタ１１のカウント信号ＣＮＴ０〜ＣＮＴ３が選択され、“１”のときにはビット値信号ＢＩＴＢが選択されるようになっている。
【００２４】
各セレクタ１５０〜１５３で選択された信号は、カウント値ＣＮ（ＣＮ０〜ＣＮ３）として、図示しない受信側の回路に与えられるようになっている。
【００２５】
図４は、図１のグレイコードカウンタ１１から出力されるグレイコードとデコーダ１２から出力される信号を示す図である。
【００２６】
例えば、グレイコードカウンタ１１のカウント値ＣＮＴが０のとき、グレイコードは“００００”であり、このカウント値ＣＮＴが１になると、グレイコードは“０００１”となる。即ち、このとき、グレイコードの最下位のビット（カウント信号ＣＮＴ０）が“０”から“１”に変化する。これにより、デコーダ１２の出力は、最下位ビットに対応するビット位置信号ＢＩＴ０が“１”となり、変化後の値に対応するビット値信号ＢＩＴが“１”となる。
【００２７】
次に、カウント値ＣＮＴが２になると、グレイコードは“００１１”となる。即ち、これにより、グレイコードの下から２番目のビット（カウント信号ＣＮＴ１）が“０”から“１”に変化する。これに対応し、デコーダ１２の出力は、下から２番目のビットに対応するビット位置信号ＢＩＴ１が“１”となり、変化後の値に対応するビット値信号ＢＩＴが“１”となる。
【００２８】
更に、カウント値ＣＮＴが３になると、グレイコードは“００１０”となる。これにより、グレイコードの最下位ビット（カウント信号ＣＮＴ０）が“１”から“０”に変化する。これに対応し、デコーダ１２の出力は、最下位ビットに対応するビット位置信号ＢＩＴ０が“１”となり、変化後の値に対応するビット値信号ＢＩＴが“０”となる。
【００２９】
以下同様に、グレイコードカウンタ１１のカウント値ＣＮＴが１増加する毎に、４ビットのグレイコードの内の１ビットだけが変化する。これに応じて、デコーダ１２からは、ビット位置信号ＢＩＴ０〜ＢＩＴ３の内で、変化した１ビットに対応する信号のみが“１”になり、残りの信号は“０”となる。また、ビット値信号ＢＩＴには、その変化した１ビットの変化後の値が出力される。
【００３０】
このようなデコーダ１２は、例えば、グレイコードに対応するアドレスに、デコーダ出力（ビット位置信号ＢＩＴ０〜ＢＩＴ３及びビット値信号ＢＩＴ）に相当するデータを書き込んだ不揮発性の読み出し専用メモリ（ＲＯＭ）を用いて構成することができる。或いは、図５に図１中のデコーダ１２の構成例として示すように、比較器（ＣＭＰ）、論理ゲート及びセレクタを組み合わせた論理回路で構成することも可能である。
【００３１】
図６は、図１の動作を示す信号波形図である。以下、この図６を参照しつつ、図１の動作を説明する。
【００３２】
図６の時刻ｔ１において、送信側のイネーブル信号ＥＮが“１”の状態でクロック信号ＣＬＫＡが立ち上がると、グレイコードカウンタ１１のカウント値ＣＮＴは、Ａから１増加してＡ＋１に変化する。グレイコードカウンタ１１から出力される値Ａ＋１のカウント値ＣＮＴに対応するカウント信号ＣＮＴ０〜ＣＮＴ３は、デコーダ１２に与えられると共に、対応するセレクタ１５ａ〜１５ｄの入力端子０に与えられる。
【００３３】
一方、デコーダ１２では、グレイコードカウンタ１１から与えられたカウント信号ＣＮＴ０〜ＣＮＴ３がデコードされ、値Ａ＋１のカウント値ＣＮＴに対応するビット位置信号ＢＩＴ０〜ＢＩＴ３とビット値信号ＢＩＴが出力される。ビット値信号ＢＩＴは、ＦＦ１３に与えられ、ビット位置信号ＢＩＴ０〜ＢＩＴ３は、対応するセレクタ１５０〜１５３に対する選択信号として与えられる。
【００３４】
これにより、変化したビット位置ｉ（但し、ｉは０〜３の内のいずれか１つ）に対応するビット位置信号ＢＩＴｉ（論理値“１”）が与えられたセレクタ１５ｉでは入力端子１が選択され、ＦＦ１４から出力されるビット値信号ＢＩＴＢが選択されてカウント信号ＣＮｉとして出力される。
【００３５】
これに対し、変化していないビット位置ｊ（但し、ｊ≠ｉ）に対応するビット位置信号ＢＩＴｊ（論理値“０”）が与えられたセレクタ１５ｊでは入力端子０が選択され、グレイコードカウンタ１１のカウント信号ＣＮＴｊがそのまま、カウント信号ＣＮｊとして出力される。
【００３６】
時刻ｔ２において、受信側のクロック信号ＣＬＫＢが立ち上がると、デコーダ１２から出力されるビット値信号ＢＩＴはＦＦ１３に保持され、このＦＦ１３からビット値信号ＢＩＴＡが出力される。但し、この時点でのビット値信号ＢＩＴＡは、クロック信号ＣＬＫＡ，ＣＬＫＢのクロックエッジが接近している場合、破線で示すように不確定な状態になるおそれがある。
【００３７】
時刻ｔ３において、受信側のクロック信号ＣＬＫＢが再び立ち上がると、デコーダ１２から出力されるビット値信号ＢＩＴはＦＦ１３に保持され、このＦＦ１３からビット値信号ＢＩＴＡが出力される。この時点では、デコーダ１２から出力されるビット値信号ＢＩＴは、確定した値となっており、ＦＦ１３から出力されるビット値信号ＢＩＴＡは確定する。一方、ＦＦ１４には、ＦＦ１３に保持されていたビット値信号ＢＩＴＡがシフトされて保持されるので、この時点でのビット値信号ＢＩＴＢは、破線で示すように不確定な状態になるおそれがある。
【００３８】
時刻ｔ４において、受信側のクロック信号ＣＬＫＢが再び立ち上がると、デコーダ１２から出力されるビット値信号ＢＩＴはＦＦ１３に保持され、このＦＦ１３からビット値信号ＢＩＴＡが出力される。一方、ＦＦ１４には、ＦＦ１３に保持されていた確定したビット値信号ＢＩＴＡがシフトされて保持されるので、このＦＦ１４から出力されるビット値信号ＢＩＴＢは、確定した値となる。これにより、セレクタ１５ｉで選択されて出力されていたカウント信号ＣＮｉの値が確定し、セレクタ１５０〜１５３から確定したカウント値ＣＮが出力される。
【００３９】
以上のように、本実施例のカウント値の転送回路は、カウント値としてグレイコードを用い、カウント動作によって変化した１ビットのビット値信号ＢＩＴを、ＦＦ１３，１４による２段のシフトレジスタを介して受信側へ転送するように構成している。従って、最大でも受信側のクロック信号ＣＬＫＢの２クロック分の時間後には、転送したカウント値を確定することが可能になる。
【００４０】
これにより、図６中に参考として記載したように、図２の転送回路におけるカウント値ＣＮＴＢの確定時間である３クロックに比べて、１クロック分の転送時間が短縮できるという利点がある。
【００４１】
なお、本発明は、上記実施例に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
（ａ）  転送するカウント値のビット幅は４ビットに限定されず、任意のビット幅のカウント値に対して同様に適用することができる。
（ｂ）  シフトレジスタを構成するＦＦの段数は、２段以上有れば良い。受信側のクロック信号ＣＬＫＢの周波数が、送信側のクロック信号ＣＬＫＡの周波数に比べて非常に高い場合は、シフトレジスタを構成するＦＦの段数を増やすことにより、より確実にカウント値を転送することができる。
（ｃ）  この転送回路は、ＦＩＦＯバッファにおける制御回路のポインタ値の転送に適用するものとして説明したが、その用途はＦＩＦＯバッファにおける制御回路に限定するものではない。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施例を示すカウント値の転送回路の構成図である。
【図２】従来のカウント値の転送回路の構成図である。
【図３】図２の動作を示す信号波形図である。
【図４】図１のグレイコードカウンタ１１から出力されるグレイコードとデコーダ１２から出力される信号を示す図である。
【図５】図１中のデコーダ１２の構成例を示す図である。
【図６】図１の動作を示す信号波形図である。
【符号の説明】
【００４３】
１１    グレイコードカウンタ
１２    デコーダ
１３，１４    ＦＦ
１５０〜１５３    セレクタ
【図１】
2009017153.tif 000003
【図２】
2009017153.tif 000004
【図３】
2009017153.tif 000005
【図４】
2009017153.tif 000006
【図５】
2009017153.tif 000007
【図６】
2009017153.tif 000008