(57)【特許請求の範囲】
【請求項１】
発振制御信号を入力し、該発振制御信号により発振を開始する多相出力のリングオシレータと、
外部から与えられる第１のディジタルデータに従って前記リングオシレータの出力をデコードするデコーダと、
前記デコーダの出力をカウントし、カウント結果が外部から与えられる第２のディジタルデータにより決まる回数に達したとき遅延信号を出力するカウンタとを備えることを特徴とする遅延装置。
【請求項２】
多相出力のリングオシレータと、
外部から与えられるディジタルデータの下位データに従って前記リングオシレータの出力の１つを選択するセレクタからなるデコーダと、
前記セレクタの出力をカウントし、カウント結果が外部から与えられるディジタルデータの上位データにより決まる回数に達したとき遅延信号を出力するカウンタとを備えることを特徴とする遅延装置。
【請求項３】
請求項２記載の遅延装置において、
前記デコーダが、前記リングオシレータの１周期以内分遅延した信号を出力し、
前記カウンタが、前記デコーダの出力を計数して、前記リングオシレータの１周期以内の遅延及び１周期の整数倍の遅延を有する遅延信号を出力することを特徴とする遅延装置。
【請求項４】
請求項２記載の遅延装置において、
前記リングオシレータは、直列に接続された複数のインバータからなり、該リングオシレータの１段をインバータ１段により構成したことを特徴とする遅延装置。
【請求項５】
入力信号に対して遅延した信号を出力する遅延装置であって、
多相出力のリングオシレータと、
前記リングオシレータの出力をデコードするデコーダと、
前記デコーダの出力をカウントし、カウント結果が予め設定された回数に達したとき遅延信号を出力するカウンタとを備え、
前記リングオシレータは、直列に接続された複数のインバータからなり、該リングオシレータの１段をインバータ１段により構成し、
前記デコーダは、外部から与えられるディジタルデータの下位データに対応する前記リングオシレータの出力を選択するセレクタと、該セレクタの出力を反転または非反転で出力する排他論理和回路とからなることを特徴とする遅延装置。
【請求項６】
請求項５記載の遅延装置において、
前記排他論理和回路は、信号を反転させて出力するか、それとも非反転で出力するかを決める反転制御信号が奇数個のインバータを介して一方の入力端子に入力し、該反転制御信号が直列に接続された偶数個のインバータを介して他方の入力端子に入力し、該２つの入力端子に入力する信号のどちらを出力するかを決める制御信号として前記入力信号が制御端子に与えられる２入力セレクタからなることを特徴とする遅延装置。
【請求項７】
請求項６記載の遅延装置において、
前記２入力セレクタは、２個のトランスファーゲートからなり、前記反転制御信号が１個のインバータを介して第１のトランスファーゲートの入力端子に入力し、前記反転制御信号が直列に接続された２個のインバータを介して第２のトランスファーゲートの入力端子に入力し、前記入力信号をインバータを介して前記第１のトランスファーゲートの制御端子に入力し、該入力信号を前記第２のトランスファーゲートの制御端子に入力したことを特徴とする遅延装置。
【発明の詳細な説明】
【０００１】
本発明は、リングオシレータを用いた遅延装置に関する。
【０００２】
【従来の技術】
ＬＳＩ等の動作周波数の向上に伴い、ＬＳＩ内部のクロック信号と外部クロック信号の位相差を動的に調整する遅延回路が用いられている。内部クロック信号と外部クロック信号のタイミングをより正確に一致させるためには、遅延回路の分解能を高める必要がある。
【０００３】
図１７は、従来の遅延回路の構成を示す図である。この遅延回路は、縱続接続された複数のバッファ１１と、それら複数のバッファ１１の出力信号の１つを選択して出力するセレクタ１２とからなる。このセレクタ１２には、入力信号に対する遅延時間を設定する設定遅延ディジタル値が入力されており、その設定遅延ディジタル値に対応する信号を出力する。これにより、セレクタ１２からは、設定された遅延ディジタル値分遅延した信号が出力される。
【０００４】
また、上述した遅延回路では、入力信号の反転信号または非反転信号を出力するために、図１８に示すような排他論理和回路が用いられる。
この排他論理和回路は、入力信号がトランスファゲート２３、２４の一方の制御端子にそのまま入力され、他方の制御端子にインバータ２１を介して入力している。また、反転制御信号がトランスファゲート２３に入力され、反転制御信号をインバータ２２で反転させた信号がトランスファゲート２４に入力している。
【０００５】
【発明が解決しようとする課題】
上述した従来の遅延回路では、最大遅延量を保ったまま遅延量をより細かく設定できるように分解能を小さくするためには、バッファ１段の遅延量を小さくして、縱続接続するバッファの段数を増やす必要があり、バッファ回路の回路規模が増大する。さらに、バッファの段数が増加すると、バッファの出力を選択するするセレクタの回路規模も増大し、遅延回路全体の回路規模が大きくなってしまうという問題点があった。また、最大遅延量を増やすためにはバッファの段数を増やす必要があり、同様に遅延回路の回路規模が増大してしまうという問題点があった。
【０００６】
さらに、上述した排他論理和回路では、入力信号を反転して出力する場合と、非反転で出力する場合とで、反転制御信号を出力する側からみた負荷が異なることになるので、反転と非反転の場合で遅延時間が異なってしまうという問題点があった。
【０００７】
本発明の課題は、回路規模を増大させることなく、入力信号に対して大きな遅延を施すことができ、かつ高い分解能を実現できる遅延装置を提供することである。
【０００８】
【課題を解決するための手段】
本発明の遅延装置は、発振制御信号を入力し、該発振制御信号により発振を開始する多相出力のリングオシレータと、外部から与えられる第１のディジタルデータに従って前記リングオシレータの出力をデコードするデコーダと、前記デコーダの出力をカウントし、カウント結果が外部から与えられる第２のディジタルデータにより決まる回数に達したとき遅延信号を出力するカウンタとを備える。
【０００９】
この発明の遅延装置は、例えば、図１に示すようにＭｒ相の出力を有するリングオシレータ３１と、そのＭｒ相の出力をデコードするデコーダ３２と、デコーダ３２の出力をカウントするカウンタ３３とからなる。
【００１０】
本発明の他の遅延装置は、多相出力のリングオシレータと、外部から与えられるディジタルデータの下位データに従って前記リングオシレータの出力の１つを選択するセレクタからなるデコーダと、前記セレクタの出力をカウントし、カウント結果が外部から与えられるディジタルデータの上位データにより決まる回数に達したとき遅延信号を出力するカウンタとを備える。
【００１２】
上記の発明の遅延装置の排他論理和回路は、入力信号に対して遅延した遅延信号を出力する遅延装置に使用され、信号を反転させて出力するか、それとも非反転で出力するかを決める反転制御信号が奇数個のインバータを介して一方の入力端子に入力し、反転制御信号が直列に接続された偶数個のインバータを介して他方の入力端子に入力し、２つの入力端子に入力する信号のどちらを出力するかを決める制御信号として入力信号が制御端子に与えられる２入力セレクタからなる。
【００１３】
【作用】
本発明の遅延装置は、デコーダにおいてリングオシレータの１段分の遅延の整数倍の遅延を生成し、カウンタにおいてリングオシレータの発振周期の整数倍の遅延を生成することで、任意の遅延量を遅延装置の回路規模を増やさずに生成できるようにしたものである。
【００１４】
例えば、図１のリングオシレータ３１の位相出力が第０位相から第７位相（Ｍr ＝８）まであり、リングオシレータの各段では論理反転せず、最終段から初段の間で論理反転しているものとする。また、設定すべき遅延のディジタル値Ｄの下位データＤL （０≦ＤL ≦２Ｍr −１）がデコーダ３２へ、上位データＤH がカウンタ３３に与えられているものとする。
【００１５】
この場合、リングオシレータ３１の出力は、図２に示すように発振制御信号ａの立ち上がりからｔro（バッファ１段分の遅延を含む）遅延して第０位相出力がハイレベルに変化し、さらにｔd1（バッファ１段分の遅延）遅延して第１位相出力がハイレベルに変化する。以下、ｔd1づつ遅延して第２位相出力、第３位相出力・・・第７位相出力がハイレベルに変化する。
【００１６】
デコーダ３２は、設定された下位データＤL に従ってリングオシレータ３１の出力の１つを選択して出力する。カウンタ３３は、デコーダ３２の出力を計数し、計数結果が設定された回数ｎc （上位データＤH により決まる値）と一致したとき信号を出力する。
【００１７】
ここで、第１の信号（発振制御信号）の立ち上がりからカウンタ３３の出力信号の立ち上がりまでの全遅延時間ｔtotal は、
0003708168.tif 000002
となる。なお、ｔr0は発振制御信号の遷移（立ち上がりまたは立ち下がり）から第０位相出力の遷移までの遅延であり、ｔdecodeはデコーダ３２内部での遅延であり、ｔcounter はカウンタ３３の入力のｎc 回目の遷移か出力の遷移までの遅延である。ｎc は遅延を設定するディジタル値の上位データＤH により決まる値であるから、（１）式は、遅延装置による全遅延ｔtotal がデコーダ３２に設定される下位データＤL と、カウンタ３３に設定される上位データＤH によって制御できることが分かる。さらに、
ｔro＋ｔdecode＋ｔcounter ＝２ｋＭr ｔd1                （２）
となるようにデコーダ３２またはカウンタ３３の遅延ｔdecode、ｔcounter を調整し、
ｎc ＝ＤH −ｋ  （ｋ：自然数）              （３）
とすれば、（１）式は、
0003708168.tif 000003
となり、２ｋＭr ≦Ｄ＜２Ｍc Ｍr （Ｍc はカウンタ３３の最大値）の範囲の遅延設定ディジタル値Ｄについて、Ｄに比例した遅延ｔtotal が得られる。この場合、遅延装置の分解能はリングオシレータ１段分の遅延のｔd1であり、最大遅延量はリングオシレータ３１の１周期の何回分を計数できるかにより決まるので（２Ｍc Ｍr −１）ｔd1となる。
【００１８】
このように、デコーダ３２及びカウンタ３３を用い、リングオシレータ３１の１段の遅延の整数倍及びリングオシレータ３１の１周期の（２Ｍr ｔd1）の整数倍遅延した信号を生成することで、遅延装置の回路規模をそれほど増大させずに遅延量を増やすことができる。例えば最大遅延量を２倍にするためには従来の技術では回路規模を２倍以上にする必要があるのに対し、本発明では、最大遅延量を２倍にするためには、リングオシレータ３１の位相数Ｍr を２倍にするか、カウンタ３３の最大値Ｍc を２倍にすれば良く、このときの回路規模の増大はわずかである。例えば、カウンタ３３の最大値を２倍にするには、フリップフロップ１個と論理ゲートを数個追加するだけでよい。
【００１９】
本発明は、特にＬＳＩ等に搭載する遅延回路またはクロック等の位相合わせ回路に最適である。また、回路規模をあまり増大させずに大きな遅延量が得られるので、リングオシレータ１段当たりの遅延を小さくして遅延回路の分解能を高めることもできる。
【００２２】
上記の発明の排他論理和回路を有する遅延装置によれば、２入力セレクタの一方の入力にインバータを偶数段接続することで、入力信号を反転して出力する場合と、入力信号を非反転で出力する場合の遅延時間を等しくできる。
【００２３】
【実施例】
以下、本発明の実施例を図面を参照しながら説明する。図１は、本発明の第１実施例の遅延回路３０の回路ブロック図である。この実施例は、リングオシレータ３１の各位相出力が同相の場合の実施例である。
【００２４】
リングオシレータ３１は、図示していないがインバータ２個からなるバッファを１段として、バッファが複数段直列に接続された多相出力の発振器であり、最終段のバッファの出力が反転されて初段のバッファに帰還されている。このリングオシレータ３１は、所望の遅延を生成するための基準となる入力信号（発振制御信号ａ）がハイレベルに変化すると発振を開始する。
【００２５】
デコーダ３２は、外部から与えられる、設定すべき遅延量を示す８ビットのディジタル値Ｄ 7:0  の内の下位４ビットのデータＤL 3:0 に応じてリングオシレータ３１の出力の１つを選択する。カウンタ３３は、デコーダ３２の出力信号を計数し、計数結果が設定された回数ｎc （ディジタル値Ｄ 7:0  の上位４ビットのデータＤH  7:4  により決まる回数）と等しくなったとき遅延信号を出力する。なお、遅延量を設定するためにデコーダ３２及びカウンタ３３に与えるデータは、上述した８ビットのディジタル値の上位データ、下位データという形に限らず、２種類のディジタル値（第１のディジタルデータ及び第２のディジタルデータ）として与えても良い。
【００２６】
図２は、第１実施例のリングオシレータ３１の出力タイミングを示す図である。この実施例は、各位相出力が同相であるので、発振制御信号ａが「１」となると、同図(1) に示すようにｔr0（リングオシレータ３１の１段分の遅延ｔd1を含む遅延時間) 時間遅延して第０位相出力が「１」となり、同図(2) に示すようにそれからｔd1時間遅延して、第１位相出力が「１」となる。以下、同様に、前段の位相の出力の遷移からｔd1時間遅延して次段の出力が遷移する。
【００２７】
次に、図３は、デコーダ３２に設定される下位データＤL と、そのときデコーダ３２が選択するリングオシレータ３１の位相及び出力論理との関係を示す図であり、図４は、デコーダ３２の出力タイミング図である。
【００２８】
例えば、下位データＤL として「０」が設定された場合には、デコーダ３２は、図３に示すようにリングオシレータ３１の第０位相出力を選択し、その選択した信号を非反転で出力する。この結果、デコーダ３２からは、図４(1) に示すように発振制御信号ａの立ち上がりから、リングオシレータ３１の１段分の遅延時間ｔd1を含むｔro時間遅延し、さらにデコーダ３２内部の遅延であるｔdecode時間遅延した信号が出力される。
【００２９】
また、下位データＤL として「１」が設定された場合には、デコーダ３２は、図３に示すようにリングオシレータ３１の第１位相出力を選択し、その選択した信号を非反転で出力する。この結果、デコーダ３２からは、図４(2) に示すように第０位相を選択したときのデコーダ３２の出力信号に対して、さらにリングオシレータ３１の１段分の遅延であるｔd1遅延した信号が出力される。
【００３０】
以下同様に、任意の下位データＤL をデコーダ３２に設定することで、その下位データＤL により定まるリングオシレータ３１の段数分遅延させた信号を出力することができる。
【００３１】
カウンタ３３は、上述したデコーダ３２の出力を計数し、計数結果が上位データＤH により決まる設定回数ｎc と一致すると遅延信号を出力する。
すなわち、デコーダ３２でリングオシレータ３１の１周分の遅延２Ｍr ｔd1（Ｍr はリングオレータ３１の相数：本実施例ではＭr ＝８）の範囲で、設定された下位データＤL 分の遅延が生成される。そして、カウンタ３３で、そのデコーダ３２の出力の立ち上がり遷移の回数を計数し、計数結果が設定された上位データＤH により決まる回数ｎc と一致したとき遅延信号を出力することで、設定されたディジタル値Ｄ（ＤH ，ＤL ）分遅延した信号を出力することができる。
【００３２】
次に、リングオシレータ３１の各段で論理反転させた本発明の第２実施例を説明する。
図５は、第２実施例の遅延回路３０の回路ブロック図である。この第２実施例は、リングオシーレタ３１の１段をインバータで構成することにより遅延回路の分解能を高めたものである。この結果、リングオシレータ３１の各相の出力が異なる位相となるので、デコーダ３２において、リングオシレータ３１の出力を反転または非反転で出力するようにしている。
【００３３】
制御回路３４は、設定すべき遅延時間の基準となる入力信号（遅延開始信号ｂ）がローレベル（０）のとき、発振制御信号ａをローレベルにし、発振開始信号ｂの立ち上がりを検出して発振制御信号ａハイレベル（１）にし、さらにカウンタ３３から出力される遅延信号の立ち上がりを検出して発振制御信号ａをローレベルにする。また、制御回路３４は、発振制御信号ａをデコーダ３２及びカウンタ３３へ出力して、デコーダ３２における下位データＤL のラッチ及びカウンタ３３における上位データＤH の読み込みを制御する。
【００３４】
デコーダ３２には、遅延量を設定する８ビットの遅延設定ディジタル値の下位４ビットのデータＤL 0 〜ＤL 3 （ＤL 3:0 ）が与えられており、その下位データＤL に従ってリングオシレータ３１の出力信号をデコードして、下位データＤL 0 〜ＤL 3 応じた遅延量を持った信号を出力する。すなわち、デコーダ３２に４ビットの任意のデータを与えることで、リングオシレータ３１の１周分の遅延の範囲内で所望の遅延量を持った信号を出力させることができる。
【００３５】
カウンタ３３には、上記の８ビットのディジタル値の上位４ビットのデータＤH 4 〜ＤH 7 が与えられており、デコーダ３２の出力を計数し、計数結果がその４ビットの上位データＤH により決まる回数ｎc となったとき遅延信号を出力する。すなわち、カウンタ３３に４ビットの任意のデータを与えることで、リングオシレータ３１の１周分の遅延の整数倍分の遅延量を持った信号を出力させることができる。
【００３６】
ここで、図５の遅延回路３０の動作を、図６のタイミング図を参照して説明する。所望の遅延を生成するための基準となる遅延開始信号ｂが「１」となると（図６(1) ）、その立ち上がりからｔcontrol （遅延開始信号ｂが立ち上ってから発振制御信号ａが立ち上がるまでの制御回路３４内部の遅延）遅延して、制御回路３４から発振制御信号ａが出力される（同図(2) ）。発振制御信号ａが「１」に変化すると、その信号の立ち上がりからｔro時間遅延してリングオシレータ３１の第０位相出力が「１」となる（同図(3) ）。
【００３７】
そして、下位データＤL で指定された遅延時間ＤL ｔd1（ｔd1：リングオシレータ３１のインバータ１段分の遅延）に相当するリングオシレータ３１の位相出力が「１」または「０」に変化してから（同図(4) ）、ｔdecode遅延した後、デコーダ３２の出力が「１」となる（同図(5) ）。なお、ｔdecodeは、下位データＤL に対応するリングオシレータ３１の位相出力が変化してから、デコーダ３２の出力が実際に立ち上がるまでの遅延時間である。
【００３８】
デコーダ３２の出力信号の立ち上がりはカウンタ３３で計数され、計数結果が上位データＤH で決まる回数ｎc と一致すると( ２（ＤH −１）Ｍr Ｔd1時間経過すると) 、さらにｔcounter 遅延した後、カウンタ３３の出力信号が「１」となる（同図(6））。なお、ｔcounter は、デコーダ３２の出力信号の立ち上がりが、カウンタ３３の設定回数ｎc に達してから実際にカウンタ３２の出力が立ち上がるまでのカウンタ３３の内部の遅延時間である。
【００３９】
遅延信号の立ち上がりが制御回路３４で検出されると、発振制御信号ａが「０」となり、リングオシレータ３１の発振動作が中止される。
ここで、遅延開始信号が「１」となってからカウンタ３２から遅延信号が出力されるまでの遅延時間をｔtotal とすると、
0003708168.tif 000004
と表せる。ｔcontrol ＋ｔdecode＋ｔcounter ＝２Ｍr ｔd1−ｔroとなるように、制御回路３４、デコーダ３２及びカウンタ３３の遅延を調整することにより、遅延回路における全遅延ｔtotal を、
0003708168.tif 000005
とすることができる。すなわち、リングオシレータ３１の１段分の遅延がｔd1、リングオシレータ３１の１周期が２Ｍr ｔd1であるときに、設定したい遅延量に対応するディジタルデータＤの下位データＤL をデコーダ３１に、上位データＤH をカウンタ３３に設定することで、下位データＤL に対応するリングオシレータ３１の段数分の遅延と、上位データＤH に対応するリングオシレータ３１の１周期の整数倍分の遅延とを生成させることできる。
【００４０】
この実施例では、カウンタ３３及びデコーダ３２に所望のディジタルデータＤの上位データＤH 及び下位データＤL を設定することで、ディジタルデータＤに比例した遅延量ｔtotal を得ることができるので、大きな遅延時間を得る場合でも、その遅延時間分のバッファ、あるいはインバータを設ける必要がなく、遅延回路の構成を簡素にできる。
【００４１】
次に、上述したリングオシレータ３１、デコーダ３２及び制御回路３４の一例を説明する。
図７は、第２実施例のリングオシレータ３１の一例を示す図である。同図において、リングオシレータ３１は、第０位相から第７位相までの各インバータで遅延された信号を出力することができ、発振制御信号ａが「１」のときに発振動作を行い、発振制御信号ａが「０」のとき偶数位相出力が「０」、奇数位相出力が「１」となる。
【００４２】
発振制御信号ａが入力するトランスファーゲート４１の出力には、直列に８個のインバータＩＮＶ０〜ＩＮＶ７が接続されており、各インバータＩＮＶ０〜ＩＮＶ７の出力には、第０位相から第７位相の信号を出力する８個のインバータＩＮＶ０−１〜ＩＮＶ７−１が接続されている。なお、８段目のインバータＩＮＶ７の出力には、他のインバータと負荷を同じにするためにインバータＩＮＶ８が接続されている。
【００４３】
さらに、６段目のインバータＩＮＶ５の出力には、インバータＩＮＶ９が接続され、そのインバータＩＮＶ９の出力はトランスファーゲト４１の入力へ接続されている。これにより、インバータＩＮＶ５の出力を反転した信号がトランスファゲート４１の入力に帰還されている。
【００４４】
また、そのトランスファゲート４１の出力には、トランジスタ４２が接続されており、発振制御信号がローレベルのときには、そのローレベルの信号がインバータＩＮＶ１０で反転されトランジスタ４２のゲートに供給され、トランジスタ４２がオンする。これにより、インバータＩＮＶ０の入力信号としてローレベルの信号が供給される。
【００４５】
ここで、図７のリングオシレータ３１の動作を図８のタイミング図を参照して説明する。
遅延開始信号ｂが「１」に変化し、発振制御信号ａが「１」となると、０段目のインバータＩＮＶ０の出力が「１」から「０」に変化し、さらにそのインバータＩＮＶ０の出力がインバータＩＮＶ０−１で反転され、第０位相出力として「１」が出力される（図８(1) ）。なお、この第０位相出力は、発振制御信号ａに対してｔro遅延した信号となる。
【００４６】
０段目のインバータＩＮＶ０の出力が「１」から「０」に変化すると、次段のインバータＩＮＶ１の出力が「０」から「１」に変化し、さらにそのインバータＩＮＶ１の出力がインバータＩＮＶ１−１で反転され、第１位相出力として「０」が出力される（同図(2) ）。この第１位相出力は、第０位相出力に対してｔd1遅延した信号となる。
【００４７】
以下、同様に第２位相出力は、第１位相出力に対してｔd1遅延し、反転した位相の信号となり（同図(3) ）、第３位相出力は第２位相出力に対してｔd1遅延し、反転した位相の信号となり（同図(4) ）、・・・・第７位相出力は、第６位相出力に対してｔd1遅延し、反転した位相の信号となる。
【００４８】
次に、図９は、デコーダ３２の回路ブロック図である。同図においてラッチ回路５１は、設定すべき遅延量のディジタル値の下位４ビットのデータＤL 0 〜ＤL 3 を、発振制御信号ａの立ち上がりに同期してラッチする回路であり、ラッチした０ビット目のデータＤL 0 と３ビット目のデータＤL 3 を排他論理和回路５３へ出力すると共に、０ビット目から２ビット目までのデータＤL 0 〜ＤL 2 をセレクタ５２の制御端子へ出力する。
【００４９】
排他論理和回路５３は、ラッチ回路５１から出力される下位データの０ビット目のデータＤL 0 と３ビット目のデータＤL 3 との排他論理和を取り、その結果を反転制御信号ｃとして排他論理和回路５４へ出力する。
【００５０】
セレクタ５２で選択された信号は、排他論理和回路５４の一方の入力端子へ出力される。この排他論理和回路５４の他方の入力端子には、排他論理和回路５３から出力される反転制御信号ｃが入力しており、排他論理和回路５４は、その判定制御信号ｃに従って、セレクタ５２の出力信号を反転、あるいは非反転で出力する。
【００５１】
本実施例では、インバータを直列に複数接続してリングオシレータ３１を構成しているので、各位相の出力は前段の位相に対して反転したものとなっている。そこで、デコーダ３２において、リングオシーレタ３１の各位相の出力を反転または非反転で出力することで、各段の出力位相を合わせている。
【００５２】
図９の排他論理和回路５４として、図１８に示した従来の排他論理和回路を使用した場合には、入力信号を非反転で出力する場合と反転させて出力する場合とで、反転制御信号ｃを出力する回路から見た負荷が異り、遅延時間が異なってしまう。
【００５３】
そこで、本実施例では、入力信号を反転、非反転のいずれで出力する場合でも遅延時間を等しくするために、図１０に示すように、従来反転制御信号ｃがそのまま入力されていたトランスファゲート２３の入力側に２個のインバータ６１、６２を直列に接続することで、反転制御信号ｃを出力する回路から見た負荷が等しくなるようにした。
【００５４】
これにより、入力信号を反転、あるいは非反転で出力する場合の負荷が外部回路に依存しなくなるので、排他論理和回路５４の遅延時間を確定させることができる。この場合、トランスファゲート２３にインバータが２個直列に接続されることになるので、反転、非反転の両方の遅延時間が等しくなる。
【００５５】
次に、図１１を参照して、第２の実施例のデコーダ３２に設定される下位データＤL と、デコーダ３２が選択する位相及び出力論理の関係を説明する。
先ず、遅延量を設定するディジタルデータの下位データＤL として「０」が指定された場合について説明する。この場合、下位データ「０」によりセレクタ５２で第０位相出力が選択される。このとき、排他論理和回路５３に入力する信号ＤL 0 、ＤL 3 は、両方とも「０」であるので、出力信号である反転制御信号ｃは「０」となる。また、このとき第０位相出力は「１」であるので、出力論理は非反転となり（図１１(1) ）、セレクタ５から出力される第０位相出力である「１」がそのまま排他論理和回路５４から出力される。
【００５６】
本実施例では、発振制御信号ａが「１」となってから、ｔr0時間（インバータ１段分の遅延時間ｔd1を含む遅延時間) 経過したときリングオシレータ３１の第０位相出力として「１」が出力されるので、下位データＤL として「０」が指定された場合には、インバータ１段分の遅延を含むｔr0時間遅延した第０位相出力がそのまま（非反転で）出力される。
【００５７】
次に、遅延時間を設定するための遅延設定ディジタル値の下位データＤL として「１」が指定された場合について説明する。この場合、セレクタ５２で第１位相出力が選択される。このとき排他論理和回路５３に入力する信号は、ＤL 0 ＝１、ＤL 3 ＝０であるので、排他論理和回路５３の出力（反転制御信号ｂ）は「１」となる。また、このとき第１位相出力は「０」であるので、出力論理は反転となり（同図(2) ）、セレクタ５２から出力される第１位相出力が反転されて排他論理和回路５４から出力される。
【００５８】
本実施例では、第０位相出力の立ち上がりからインバータ１段分の遅延時間ｔd1が経過したときに、リングオシレータ３１の第１位相出力として「０」が出力される。従って、下位データとして「１」が指定された場合には、発振制御信号ａに対してｔr0＋ｔd1遅延した第１位相出力が反転されて出力される。
【００５９】
また、遅延設定ディジタル値の下位データとして「２」が指定された場合には、セレクタ５２でリングオシレータ３１の第２位相出力が選択され、このとき、排他論理和回路５３に入力する信号ＤL 0 、ＤL 3 は、両方とも「０」であるので、出力信号である反転制御信号ｃは「０」となる。このとき、第２位相出力は「１」であるので、出力論理は非反転となり（同図(3) ）、セレクタ５２から出力される第２位相出力の「１」が非反転で排他論理和回路５４から出力されるれる。
【００６０】
さらに、下位データとして「３」が指定された場合には、反転制御信号ｃは「１」、第３位相出力は「０」であるので、出力論理は反転となり（同図(4））、セレクタ５２から出力される第３位相出力の「０」が反転されて排他論理和回路５４から出力される。
【００６１】
以下同様に、リングオシレータ３１の各位相出力が反転され、あるいは非反転で出力され、デコーダ３２から各段で位相のそろった信号が出力される。
また、図１２は、制御回路３４の一例を示す図である。同図において、遅延開始信号ｂが「１」となると、トランジスタ６１がオンし、このとき遅延信号は「０」となっているので、その信号がインバータ６２で反転されてトランジスタ６３、６４のゲートに与えられ、トランジスタ６３がオン、トランジスタ６４がオフとなり、インバータ６５の入力が「０」となって発振制御信号ａが「１」となる。
【００６２】
発振制御信号ａが「１」となってから一定の遅延時間が経過し遅延回路３０から遅延信号が出力されると、インバータ６２の出力が「０」となり、トランジスタ６４がオンしてインバータ６５の入力が「１」となって発振制御信号ａが「０」となる。
【００６３】
このようにして、発振制御信号が「０」から「１」へ、あるいは「１」から「０」へ切り換えられる、リングオシレータ３１の発振動作が制御される。
この実施例は、リングオシレータ３１の１段をインバータで構成したので、１段あたりの遅延時間を短くでき、遅延回路の分解能を向上させることができる。なお、高い分解能を必要としない場合には、第１実施例のようにインバータを２個直列に接続したバッファを用いて各位相出力が同相となるようにしてもよい。
【００６４】
次に、本発明を２種類の信号の遅延時間を測定する遅延時間測定回路に適用した第３実施例について説明する。この第３実施例では、遅延時間の測定対象の一方の信号を測定開始信号ａとし、他方の信号を測定終了信号ｄとしている。
【００６５】
図１３において、リングオシレータ３１は、前述した第２実施例と同一であり、リングオシレータ３１の各位相出力として前段の位相を反転した信号が出力される。
調整用遅延回路７１は、リングオシレータ３１内部の遅延により、リングオシレータ３１の出力が測定終了信号ｄに対して遅延することから、その遅延分を補正するために測定終了信号ｄを一定時間ｔajust 分遅延させた信号を制御回路３４及び後述ラッチ回路７２、７３へ出力する回路である。
【００６６】
ラッチ回路７２は、ロード端子に与えられる調整用遅延回路７１の出力信号（ロード信号）がローレベルのときには、入力されたデータを外部にそのまま出力し、ロード信号がハイレベルとなったとき、入力されたデータをラッチする。
【００６７】
ラッチ回路７３のロード端子には、調整用遅延回路７１の出力信号をインバータ７４で反転させた信号が与えられており、その反転した信号がハイレベルとなったとき、ラッチ回路７２の出力データをラッチする。
【００６８】
エンコーダ７５は、ラッチ回路７３の出力データ、すなわちリングオシレータ３１の各位相出力をエンコードし、各位相出力に応じた値を遅延測定ディジタル値Ｄ 7:0  の下位４ビットのデータＤL 3:0 として出力する。
【００６９】
カウンタ７６は、ラッチ回路７２にラッチされたリングオシレータ３１の第７位相出力（最上位出力）の立ち下がりに同期して計数動作を行い、計数結果を遅延測定ディジタル値Ｄ 7:0  の上位４ビットのデータＤH 3:0 として出力する。
【００７０】
すなわち、カウンタ７６により、測定開始信号ｂの立ち上がりから、調整用遅延回路７１の出力の立ち上がりまでの遅延時間が、リングカウンタ３１の１周期の何倍であるかが計数され、エンコーダ７５により、リングカウンタ３１の何段分の遅延であるかが測定される。そして、このカウンタ７６の出力を上位４ビットのデータＤH 3:0 とし、エンコーダ７５の出力を下位４ビットのデータＤL 3:0 として求めることで、２種類の信号の間の遅延を、ディジタルの遅延時間として測定することができる。しかも、遅延時間を測定するための回路としてリングオシレータ３１を使用しているので、測定しようとする遅延時間分の段数のインバータを設ける必要がないので、回路構成を簡素にできる。この場合、測定可能な最小時間はインバータ１個分の遅延時間となる。
【００７１】
次に、図１４は、第３実施例のエンコーダ７５の入力データと出力データとの関係を示す図である。リングオシレータ３１の各位相出力が、第０位相が「Ｌ」（「０」）、第１位相出力が「Ｈ」（「１」）で、第２位相出力以降が交互に「Ｌ」、「Ｈ」となっているときには、エンコーダ７５から下位４ビットのデータとして「０」が出力される（図１４(1) ）。
【００７２】
そして、第０位相出力のみが「Ｌ」から「Ｈ」に変化すると、下位４ビットのデータとして「１」が出力される（同図(2) ）。さらに、インバータ１段分の遅延時間ｔd1が経過して、第１位相出力が「Ｈ」から「Ｌ」に変化すると、下位４ビットのデータとして「２」が出力される（同図(3) ）。以下、同様に、インバータ１段分の遅延時間ｔd1が経過する毎に、次の位相出力が反転し、それに応じた４ビットのデータが出力される。
【００７３】
ここで、図１３の遅延測定装置の動作を、図１５のタイミング図を参照して説明する。測定開始信号がハイレベルとなると、制御回路３４内部の遅延時間ｔcontrol を経過した後、発振制御信号ａがハイレベルとなる。発振制御信号ａがハイレベルとなると、リングオシレータ３１内部の遅延時間ｔr0経過した後、第０位相出力がハイレベルとなる。
【００７４】
遅延時間の測定が開始され、第７位相出力がローレベルとなる毎にカウンタ７６の計数値がカウントアップまたはカウントダウンされる。そして、測定終了信号をｔadjust分遅延させた信号がハイレベルとなるまでの時間が、測定開始信号に対する測定終了信号の遅延時間として測定される。
【００７５】
なお、測定する遅延ｔmeasure と、エンコーダ７５及びカウンタ７６から出力される遅延測定ディジタル値Ｄが比例するために、調整用遅延回路７１での遅延ｔadjustが、「ｔadjust＝ｔcontol＋ｔr0−ｔd1」の関係となるように調整用遅延回路７１の遅延を調整すればよい。なお、調整用遅延回路７１を使用しない場合には、カウンタ７６への入力位相及び図１４のエンコーダ７５の論理表を、それに合わせて変更すればよい。
【００７６】
また、図１３の遅延測定装置のラッチ回路７２、７３の一方を省略して、図１６に示すように１段のラッチ回路７７で構成することもできる。さらには、エンコーダ７５の中にラッチ回路を取り込んでもよい。
【００７７】
本発明は、ＬＳＩ内部の遅延回路、あるいは遅延測定回路に限らず、それ以外の回路にも適用できる。
【００７８】
【発明の効果】
本発明によれば、従来より少ない回路規模で大きな遅延量を持った遅延装置を実現できる。また、回路規模を大きくせずに、高い分解能の遅延装置を実現できる。
【図面の簡単な説明】
【図１】第１実施例の遅延回路の回路ブロック図である。
【図２】第１実施例のリングオシレータ３１の出力タイミング図である。
【図３】第１実施例の下位データとデコーダ３２が選択する位相及び出力論理との関係を示す図である。
【図４】第１実施例のデコーダ３２の出力タイミング図である。
【図５】第２実施例の遅延回路の回路ブロック図である。
【図６】第２実施例の遅延回路のタイミング図である。
【図７】第２実施例のリングオシレータ３１の一例を示す図である。
【図８】第２実施例のリングオシレータ３１の出力タイミング図である。
【図９】第２実施例のデコーダ３２の回路ブロック図である。
【図１０】排他論理和回路５４の構成図である。
【図１１】第２実施例の下位データとデコーダ３２が選択する位相及び出力論理との関係を示す図である。
【図１２】制御回路３４の構成図である。
【図１３】第３実施例の遅延測定回路の構成図である。
【図１４】第３実施例のエンコーダ７５の論理を示す図である。
【図１５】第３実施例の遅延測定回路のタイミング図である。
【図１６】第４実施例の遅延測定装置の構成図である。
【図１７】従来の遅延回路の構成図である。
【図１８】従来の排他論理和回路の構成図である。
【符号の説明】
３１    リングオシレータ
３２    デコーダ
３３、７６    カウンタ
７５    エンコーダ
【図１】
0003708168.tif 000006
【図２】
0003708168.tif 000007
【図３】
0003708168.tif 000008
【図４】
0003708168.tif 000009
【図５】
0003708168.tif 000010
【図６】
0003708168.tif 000011
【図７】
0003708168.tif 000012
【図８】
0003708168.tif 000013
【図９】
0003708168.tif 000014
【図１０】
0003708168.tif 000015
【図１１】
0003708168.tif 000016
【図１２】
0003708168.tif 000017
【図１３】
0003708168.tif 000018
【図１４】
0003708168.tif 000019
【図１５】
0003708168.tif 000020
【図１６】
0003708168.tif 000021
【図１７】
0003708168.tif 000022
【図１８】
0003708168.tif 000023