(57)【特許請求の範囲】
【請求項１】
可変遅延回路に対して所望のディレー量を得るために必要な段数を設定するためのディレー段数設定回路であって、
入力したクロックに基づいて所定の周期とされる第一、第二、第三のパルスデータを生成する分周手段と、
前記第三のパルスデータが供給されるとともに、所望のクロック数分遅延させるために入力される初期のディレー段数に対してアップダウン制御信号に基づいてカウントアップまたはカウントダウンを行うアップダウンカウンタと、
前記第一のパルスデータが供給されるとともに、前記アップダウンカウンタのカウント出力に基づいてディレー段数が設定されるディレー手段と、
前記第二のパルスデータが供給されるとともに、前記ディレー手段によって遅延された遅延量を検出し、検出結果を前記アップダウン制御信号として前記アップダウンカウンタに供給する遅延量検出手段と、
前記第三のパルスデータが供給されるとともに、前記アップダウンカウンタの現在のカウント値と過去のカウント値を比較して遅延量がロックされているか否かを検出し、なおかつ２個のカウント値のうちいずれか一方の値を選択することにより前記所望のクロック数分遅延させるための基準ディレー段数として出力するディレーロック検出手段と、
を備えていることを特徴とするディレー段数設定回路。但し、前記分周手段において生成される各パルスデータの周期としては、第一のパルスデータ＜第二のパルスデータ＜第三のパルスデータとなるようにする。
【請求項２】
前記遅延量検出手段は、
前記第一のパルスデータを前記ディレー手段で遅延された遅延パルスデータの立ち上がりのタイミングでラッチして出力する第一のラッチ手段と、
前記第一のパルスデータと前記第一のラッチ手段からのラッチデータの排他的論理和とされるデータの出力を行うようにされているゲート手段と、
前記遅延パルスデータを反転させる反転手段と、
前記ゲート手段から出力されるデータを前記反転手段で反転した遅延パルスデータの立下りのタイミングでラッチして出力する第二のラッチ手段と、
を備え、前記第二のラッチ手段からの出力データが、前記遅延パルスデータの立ち上がりよりも早いか否かに応じて、所要のアップダウン制御信号を出力するようにしたことを特徴とする請求項１に記載のディレー段数設定回路。
【請求項３】
前記ディレーロック検出手段は、
２段のラッチ手段によって構成され、前記第三のパルスデータに基づいて前記アップダウンカウンタのディレー段数データをシフトレジストすることができるようにされているシフトレジスタと、
現在のディレー段数と前記シフトレジスタによる２クロック前のディレー段数を比較を行う第一の比較手段と、
現在のディレー段数と前記シフトレジスタによる１クロック前のディレー段数を比較を行う第二の比較手段と、
前記第二の比較手段の比較結果として、現在のディレー段数と前記２クロック前のディレー段数が一致した場合のデータを前記第三のクロックでラッチするラッチ手段と、
前記第一の比較手段の比較結果として、現在のディレー段数と前記２クロック前のディレー段数が一致し、かつ、前記第二の比較手段の比較結果として、現在のディレー段数が前記１クロック前のディレー段数よりも大きい場合に、前記１クロック前のディレー段数を出力し、これ以外の場合に、現在のディレー段数を出力することができるようにされている選択手段と、
前記選択手段で選択されたディレー段数を前記第三のパルスデータでラッチするようにされているラッチ手段と、を備えていることを特徴とする請求項１に記載のディレー段数設定回路。
【請求項４】
入力したクロックに基づいて所定の周期とされる第一、第二、第三のパルスデータを生成する分周手段と、
前記第三のパルスデータが供給されるとともに、アップダウン制御信号に基づいてカウントアップまたはカウントダウンを行うアップダウンカウンタと、
前記第一のパルスデータが供給されるとともに、前記アップダウンカウンタのカウント出力に基づいてディレー段数が設定されるディレー手段と、
前記第二のパルスデータが供給されるとともに、前記ディレー手段によって遅延された遅延量を検出し、検出結果を前記アップダウン制御信号として前記アップダウンカウンタに供給する遅延量検出手段と、
前記第三のパルスデータが供給されるとともに、前記アップダウンカウンタの現在のカウント出力と過去のカウント出力を比較して遅延量がロックされているか否かを検出し、なおかつ２個のカウント値のうちで小さいほうの値を基準ディレー段数として出力するディレーロック検出手段と、
を備えた基準ディレー段数出力手段と、
前記クロックが供給されるとともに、前記基準ディレー段数出力手段からの基準ディレー段数と所要のディレー比率を乗算するディレー段数設定手段と、
前記ディレー段数設定手段によって設定されたディレー段数により、入力したデータをディレーさせるディレー手段と、
を備えて構成されていることを特徴とする可変遅延回路。但し、前記分周手段において生成される各パルスデータの周期としては、第一のパルスデータ＜第二のパルスデータ＜第三のパルスデータとなるようにする。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば温度、電源電圧などの影響を受けずに所望する遅延量が得られる可変遅延回路に関するものである。
【０００２】
【従来の技術】
入力信号を遅延させる目的で用いるディレーラインとしては、例えばＬＣ（Ｌ・・・インダクタ、Ｃ・・・コンデンサ）または分布定数回路などによって形成されるオールパスフィルタが知られている。遅延量が一定にされているディレーラインは比較的廉価で構成することができるが、遅延量を可変にしたいわゆるプログラマブルディレーラインは非常に高価なものになる。このプログラマブルディレーラインをデジタルデータの遅延に用いようとした場合、大規模な集積回路（Integrated Circuit・・・以下、単にＩＣという）を構成する場合に要する価格になることもある。
【０００３】
デジタルデータを遅延させる構成として、例えば図７に示されているようにインバータを２段直列に接続することによってディレーラインを形成し、これを所望するディレー量になるような段数だけ直列に接続することが知られている。
図７に示す例では、インバータの直列接続による例えば６３個のディレー素子Ｄ１乃至ディレー素子Ｄ６３が直列に接続され、各ディレー素子の出力が６４―１のマルチプレクサ７０に供給される。マルチプレクサ７０では例えば６ビットのデータ（ＤＳＤ[５：０]）に応じて、いずれかのディレー素子の出力がＤＯＵＴから出力される。このようにディレーラインを構成する場合、廉価とされる例えばＣＭＯＳ（Complementary Metal Oxide Semiconductor）プロセスを用いてＩＣ内部で容易に実現することが可能である。
【０００４】
【発明が解決しようとする課題】
ところで、ＬＣや分布定数回路によって構成されたディレーラインは特性のばらつきや温度変動が非常に小さいのに対して、ＩＣの内部に構成されるゲートの遅延量は温度やプロセス（回路構成などによる信号の経路など）のばらつき、および電源電圧の変動によって大きく変化してしまう。例えば、ＣＭＯＳのＩＣ内部のゲートでは、上記した条件が全てゲートの速度を速くする方向に振られた場合と、全て遅くする方向に振られた場合とを比較すると、例えば３倍程度のディレー量の変化が生じてくる。
このため、例えば温度補償するとともにばらつきや電源電圧依存を低減するような工夫をしたディレー素子またはディレーラインをＩＣに内蔵したり、または実際の使用環境におけるディレー量をオシロスコープなどで観測しながら必要なディレー素子の段数を決定するなどの方法が用いられていた。
しかし、温度補償や電源電圧の依存を低減する場合、通常のゲートとは異なる特殊なプロセスまたは回路が必要になり低価格化が困難になる。また、ディレー量の観測を行う方法では、例えばディレー量などの調整工程の自動化の妨げになるとともに、周囲温度などの使用環境に対応して人為的な再調整が必要になり、この場合も価格的なメリットが減少することになってしまう。
【０００５】
そこで、例えば特願平７―２４４９６３号公報に、ディレーラインにおいて入力したクロックを２分周した１Ｔの繰り返しのパルスのデューティーを５０％よりもやや大きくした繰り返しパルスをテスト信号としてディレーラインに入力し、ディレー段数の値をひとつずつ増やしていく過程で、テスト信号とディレーしたテスト信号の論理和が常にハイレベルになるようなデータの値を調べることで、１Ｔ分のディレーに必要な段数を調べる方法が開示されている。
このようにして、１Ｔ分のディレーに必要なディレー段数がわかれば、所望するディレー量を得るために必要なディレー段数を算出することが可能になり、ＩＣ内部で容易に実現することができるというメリットを生かして廉価なディレーラインを構成することができるようになる。
【０００６】
しかしこの場合、１Ｔ分のディレーに必要な段数を設定するための方法が複雑なので、各種測定用のプログラムを外部に備えることが必要になり、すなわちＩＣ内部に内蔵するための回路化が困難であるという問題があった。
【０００７】
【課題を解決するための手段】
可変遅延回路に対して所望のディレー量を得るために必要な段数を設定するためのディレー段数設定回路であって、入力したクロックに基づいて所定の周期とされる第一、第二、第三のパルスデータを生成する分周手段と、前記第三のパルスデータが供給されるとともに、所望のクロック数分遅延させるために入力される初期のディレー段数に対してアップダウン制御信号に基づいてカウントアップまたはカウントダウンを行うアップダウンカウンタと、前記第一のパルスデータが供給されるとともに、前記アップダウンカウンタのカウント出力に基づいてディレー段数が設定されるディレー手段と、前記第二のパルスデータが供給されるとともに、前記ディレー手段によって遅延された遅延量を検出し、検出結果を前記アップダウン制御信号として前記アップダウンカウンタに供給する遅延量検出手段と、前記第三のパルスデータが供給されるとともに、前記アップダウンカウンタの現在のカウント値と過去のカウント値を比較して遅延量がロックされているか否かを検出し、なおかつ２個のカウント値のうちいずれか一方の値を選択することにより前記所望のクロック数分遅延させるための基準ディレー段数として出力するディレーロック検出手段と、を備えていることを特徴とするディレー段数設定回路。但し、前記分周手段において生成される各パルスデータの周期としては、第一のパルスデータ＜第二のパルスデータ＜第三のパルスデータとなるようにする。
【０００８】
また、入力したクロックに基づいて所定の周期とされる第一、第二、第三のパルスデータを生成する分周手段と、前記第三のパルスデータが供給されるとともに、アップダウン制御信号に基づいてカウントアップまたはカウントダウンを行うアップダウンカウンタと、前記第一のパルスデータが供給されるとともに、前記アップダウンカウンタのカウント出力に基づいてディレー段数が設定されるディレー手段と、前記第二のパルスデータが供給されるとともに、前記ディレー手段によって遅延された遅延量を検出し、検出結果を前記アップダウン制御信号として前記アップダウンカウンタに供給する遅延量検出手段と、前記第三のパルスデータが供給されるとともに、前記アップダウンカウンタの現在のカウント出力と過去のカウント出力を比較して遅延量がロックされているか否かを検出し、なおかつ２個のカウント値のうちで小さいほうの値を基準ディレー段数として出力するディレーロック検出手段を備えた基準ディレー段数出力手段と、前記クロックが供給されるとともに、前記基準ディレー段数出力手段からの基準ディレー段数と所要のディレー比率を乗算するディレー段数設定手段と、前記ディレー段数設定手段によって設定されたディレー段数により、入力したデータをディレーさせるディレー手段を備えて構成されていることを特徴とする可変遅延回路。
但し、前記分周手段において生成される各パルスデータの周期としては、第一のパルスデータ＜第二のパルスデータ＜第三のパルスデータとなるようにする。
【０００９】
本発明によれば、例えばプロセス、電源電圧、温度などによってディレー量が変化するようなディレー素子の組み合わせによって可変遅延回路を構成した場合でも、常に所望するディレー量を得ることができるようになる。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態を説明する。
図１は本発明の実施の形態のディレー段数設定回路の構成例を説明する図である。
この図に示されているように例えば３ビットカウンタ１０、アップダウンカウンタ２０、ディレーライン３０、ディレー量検出部４０、ディレーロック検出部５０などによって構成される。
３ビットカウンタ１０は入力したクロックＣＬＫに基づいて、このクロックＣＬＫを２分周した第一のパルスデータとされる１ＴのデータパルスＴＰ、同じく４分周した第二のパルスデータとされる２ＴのデータパルスＴＰ２、同じく８分周した第三のパルスデータとされる４ＴのデータパルスＴＰ４を生成する。
アップダウンカウンタ２０はディレー量検出部４０からのアップダウン制御信号ＵＤに基づいて、ディレー段数のカウントアップ／カウントダウンを行い、カウント値ＤＵＰＤを出力するようにされている。例えばアップダウン制御信号ＵＤがハイレベルである場合にカウントアップ、ローレベルである場合にカウントダウンを行う。以下、カウント値ＤＵＰＤをディレー段数ＤＵＰＤともいう。
ディレーライン３０は図７に示したディレーラインに対応しており、アップダウンカウンタ２０のカウント値をディレー段数設定データとしてパルスＴＰを遅延させて出力する。なお、ディレー素子の段数は図７に示したように例えば６４個に限定することなく、任意の数に設定することができる。
【００１１】
ディレー量検出部４０は、ディレーライン３０によってデータパルスＴＰが遅延されたデータパルスＤＴＰに基づいて、３ビットカウンタ１０からのデータパルスＴＰ２をラッチすることによってアップダウン制御信号ＵＤを生成する。なお、ディレー量検出部４０の詳細については後で図２にしたがって詳しく説明する。
ディレーロック検出部５０は３ビットカウンタ１０からのデータパルスＴＰ４のタイミングで、アップダウンカウンタ２０のカウント値ＤＵＰＤ（ディレー段数）に基づいて、現在のディレー段数と１クロック前、または２クロック前のディレー段数の比較を行って、ディレー段数がロックされているか否かの判別を行うようにされている。このディレーロック検出部５０からは、ディレー段数がロックされていることを示すディレーロック信号ＬＯＣＫまたは基準ディレー段数ＤＲＥＦが出力される。なお、ディレーロック検出部５０の詳細については後で図３にしたがって詳しく説明する。
【００１２】
図２に従いディレー量検出部４０の構成例を説明する。
ディレー量検出部４０は、入力段とされるＤ−フリップ・フロップ（以下、Ｄ―ＦＦという）４１と排他的論理和ゲート（以下、ＥＯＲゲートという）４２、インバータ４３、さらに出力段とされるＤ−ＦＦ４４などによって構成される。Ｄ−ＦＦ４１は図１に示したディレーライン３０からのデータパルスＤＴＰに基づいてデータパルスＴＰ２をラッチして、データパルスＱＡとしてＥＯＲゲート４２に供給する。ＥＯＲゲート４２はデータパルスＱＡおよびデータパルスＴＰ２の２個のデータの排他的論理和としてデータパルスＵＰを出力する。
Ｄ−ＦＦ４４はＥＯＲゲート４２からのデータパルスＵＰを、インバータ４３で反転したデータパルスＤＴＰでラッチして、アップダウン制御信号ＵＤ、すなわちディレー段数の増または減を選択する制御信号として図１に示したアップダウンカウンタ２０に供給する。
【００１３】
このディレー量検出部４０は、３ビットカウンタ１０からのデータパルスＴＰ２をＤ−ＦＦ４１の「ＤＡＴＡ」に、またデータパルスＤＴＰを「ＣＫ」に入力すると、データパルスＴＰ２の立ち上がりがデータパルスＤＴＰの立ち上がりよりも早い場合にアップダウン制御信号ＵＤがハイレベル、または遅い場合にアップダウン制御信号ＵＤがローレベルとされる。
【００１４】
次に、図３に従いディレーロック検出部５０の構成例を説明する。
図示されているように、ディレーロック検出部５０は、２段のＤ−ＦＦ５２ａ、５２ｂからなるシフトレジスタ５２、第一の比較部５３、第二の比較部５４、Ｄ−ＦＦ５５、ＡＮＤゲート５５、セレクタ５７、Ｄ−ＦＦ５８などによって構成されている。
【００１５】
アップダウンカウンタ２０のカウント値ＤＵＰＤ（ディレー段数）はシフトレジスタ５２に供給される。これにより、現在のディレー段数ＤＵＰＤに対してＤ−ＦＦ５２ａの出力として１クロック前のディレー段数ＤＲ１、Ｄ−ＦＦ５２Ｂの出力として２クロック前のディレー段数ＤＲ２を得ることができるようにされている。なお、シフトレジスタ５２に供給されるクロックはデータパルスＴＰ４とされる。
比較部５３ではディレー段数ＤＵＰＤとディレー段数ＤＲ１の比較を行い、例えばＤＵＰＤ＞ＤＲ１である場合にデータ出力を行う。また比較部５４ではディレー段数ＤＵＰＤとディレー段数ＤＲ２の比較を行い、例えばＤＵＰＤ＝ＤＲ２である場合にデータ出力を行う。すなわち、ＡＮＤゲート５５からはＤＵＰＤ＞ＤＲ１とＤＵＰＤ＝ＤＲ２の場合の論理積が出力される。
Ｄ−ＦＦ５６はＤＵＰＤ＝ＤＲ２の場合のディレー段数をデータパルスＴＰ４でラッチしてディレーロック信号ＬＯＣＫとしてハイレベルのデータを出力する。
【００１６】
セレクタ５７は１クロック前のディレー段数ＤＲ１と現在のディレー段数ＤＵＰＤを入力して、ＡＮＤゲート５５からの論理積に基づいて、入力したディレー段数ＤＵＰＤとディレー段数ＤＲ１を選択的に出力する。例えば、比較部５３の比較結果として、ディレー段数ＤＵＰＤとディレー段数ＤＲ２が一致し、かつ、比較部５４の比較結果として、ディレー段数ＤＵＰＤがディレー段数ＤＲ１よりも大きい場合にディレー段数ＤＲ１を出力し、これ以外の場合に、ディレー段数ＤＵＰＤを出力することができるようにされている。
【００１７】
セレクタ５７で選択されたディレー段数（ＤＵＰＤまたはＤＲ１）はＤ−ＦＦ５８に供給され、データパルスＴＰ４によってラッチされて基準ディレー段数ＤＲＥＦとして常に出力するようにされている。
このように、ディレーロック検出部５０は２クロック前のディレー段数ＤＲ２と現在のディレー段数ＤＵＰＤを比較して一致していればディレーロック信号ＬＯＣＫを出力し、１クロック前のディレー段数ＤＲ１と現在のディレー段数ＤＵＰＤを比較して小さいほうを基準ディレー段数ＤＲＥＦとして出力するようにされている。
【００１８】
以下、図４、図５にしたがい図１に示したディレー段数設定回路１における各信号のタイミングを説明する。なお、図４、図５は一連のタイミングを示しているが、便宜上図４において０ｎｓｅｃから１４００ｎｓｅｃまでのタイミングを示し、図５において１４００ｎｓｅｃ以降のタイミングを示している。また、図４、図５はプロセスの遅延時間や電源電圧が変動したことを想定して例えばクロック周波数を変化させて、クロック周波数の変化に追従して１Ｔ分のディレーに必要なディレー段数を出力するようにした一例を示している。これらの図に示されている「ｊ」はクロックの繰返し周期に対応しており、ｊ＝１０に対してｊ＝９は例えば１０％だけ繰返し周期が短い、すなわちクロック周波数が速い状態を示している。さらに、これらの図で（ａ）は３ビットカウンタ１０、（ｂ）はアップダウンカウンタ２０、（ｃ）はディレーライン３０、（ｄ）はディレーロック検出部５０、（ｅ）はディレー量検出部４０における各信号のタイミングを示している。
【００１９】
図４に示されているように、０ｎｓｅｃから１２０ｎｓｅｃの期間において、リセット信号ＣＬＲがローレベルになった時点で、３ビットカウンタ１０（ａ）がリセットされ、さらにアップダウンカウンタ２０（ｂ）においてロード信号ＬＯＡＤがローレベルになった時点で初期のディレー段数ＤＩＮＴとして「０ｘ２０」がロードされる。つまりディレーライン３０（ｃ）においてディレー段数ＤＳＤとして「０ｘ２０」が設定される。これにより、ディレーライン３０に入力したデータパルスＴＰは「０ｘ２０」のディレー段数によって遅延されてデータパルスＤＴＰとして出力される。
【００２０】
そして１２０ｎｓｅｃから５００ｎｓｅｃの期間において、「０ｘ２０」のディレー段数によるディレー量は１Ｔ分のディレーに対して不足しているので、ディレー量検出部４０に入力されるデータパルスＴＰ２の反転タイミングよりデータパルスＤＴＰの立ち上がりが早くなっている。したがって、データパルスＴＰ２をデータパルスＤＴＰの立ち上がりでラッチしたデータパルスＱＡとデータパルスＴＰ２の排他的論理和とされるデータパルスＵＰは、データパルスＤＴＰの立ち上がりからデータパルスＴＰ２の反転までのわずかな間だけローレベルになる、ほとんどがハイレベルとなるパルスとされる。したがって、アップダウンカウンタ２０（ｂ）ではデータパルスＴＰ４の立ち上がりのタイミングで、アップダウン制御信号ＵＤがハイレベルとなり、ディレー段数ＤＵＰＤはカウントアップされて「０ｘ２１」となる。
以降５００ｎｓｅｃまで、同様にしてディレー段数ＤＵＰＤはカウントアップされ「０ｘ２２」となる。
【００２１】
さらに５００ｎｓｅｃから１４００ｎｓｅｃの期間において、ディレー段数ＤＵＰＤが「０ｘ２３」になると、ディレー量が１Ｔ分よりも大きくなるのでディレー量検出部４０に入力されるデータパルスＴＰ２の反転タイミングはデータパルスＤＴＰの立ち上がりよりも早くなる。したがって、データパルスＱＡとデータパルスＴＰ２の排他的論理和とされるデータパルスＵＰは、データパルスＴＰ２の反転タイミングからデータパルスＤＴＰの立ち上がりまでのわずかなハイレベルになる、ほとんどがローレベルとなるパルスとされる。アップダウンカウンタ２０ではデータパルスＴＰ４の立ち上がりでアップダウン制御信号ＵＤがローレベルなので、ディレー段数ＤＵＰＤはカウントダウンされて「０ｘ２２」とされる。
【００２２】
以降、データパルスＴＰ４の立ち上がりで、アップダウン制御信号ＵＤはハイレベル、ローレベルを交互に繰り返すことになり、したがってディレー段数ＤＵＰＤは「０ｘ２３」「０ｘ２２」の値を交互に採ることになる。
そこで、ディレーロック検出部５０においてディレー段数ＤＵＰＤがロックされたか否かを検出する。ディレーロック検出部５０では、データパルスＴＰ４の立ち上がり毎に２クロック前のディレー段数ＤＲ２と現在のディレー段数ＤＲ１を比較して一致していれば、１Ｔ分のディレー量となる所望するディレー段数が、ディレー段数ＤＲ１とディレー段数ＤＵＰＤの間にあることになるので、ディレー段数がロックしたとみなしディレーロック信号ＬＯＣＫをハイレベルにして出力する。そしてディレー段数ＤＲ１とディレー段数ＤＵＰＤを比較して小さいほうの「０ｘ２２」を１Ｔ分ディレーさせるための基準ディレー段数ＤＲＥＦとして出力する。
【００２３】
図５に示されているように、１４００ｎｓｅｃで、クロックＣＬＫがｊ＝１０からｊ＝９になると、先述したようにパルスの繰返し周期が例えば１０％短くなり、周波数が速い状態となると、ディレー段数「０ｘ２２」によるディレー量は１Ｔ分のディレーに対して大きすぎる。したがって、アップダウン制御信号ＵＤはローレベルになり、アップダウンカウンタ２０ではデータパルスＴＰ４の立ち上がりでディレー段数ＤＵＰＤはカウントダウンされる。ディレー段数ＤＵＰＤが「０ｘ１Ｅ」までカウントダウンされると、１Ｔ分のディレー量よりも小さくなるので、それ以降は「０ｘ１Ｅ」と「０ｘ１Ｆ」を交互に繰り返して、小さいほうの「０ｘ１Ｅ」を１Ｔ分ディレーさせるための基準ディレー段数ＤＲＥＦとして出力する。
【００２４】
このように、入力するクロックＣＬＫの周期が変化しても、その変化量に対応して所望するディレー量を得ることができる基準ディレー段数を得ることができるようになる。
【００２５】
なお、図３に示したディレーロック検出部５０では、ディレー段数ＤＲ１とディレー段数ＤＵＰＤの小さいほうを基準ディレー段数ＤＲＥＦとして出力するように説明したが、大きいほうを出力するようにしても良い。また、図１に示したディレー段数設定回路１の構成においてディレー量検出部４０を省略して、データパルスＴＰ４の立ち上がり（８クロック）毎に振動するディレー段数ＤＵＰＤをそのまま出力するようにしても、上記した場合とほぼ同様の効果を得ることができる。さらに、データパルスＴＰ２、ＴＰ４をそれぞれ２Ｔパルス、４Ｔパルスとしてとして説明しているが、ＴＰ４＞ＴＰ２＞ＴＰという関係が成立していればデータパルスＴＰ２、ＴＰ４に任意の周期のデータパルスを適用することができる。
【００２６】
また、図１のアップダウンカウンタ２０に示したように、例えばハイレベルのときだけカウントアップ／ダウン動作を可能にするイネーブルデータＤＬＥＮを入力可能にして、必要なときだけ基準ディレー段数ＤＲＥＦを追従するようにすることも可能である。
【００２７】
また、このようなディレー段数設定回路１が必要とされる他の回路と一緒にして容易に１チップ化が可能になる。
【００２８】
図６は、図１に示したディレー段数設定回路１を入力段に構成した可変遅延回路の構成例を説明するものである。
この図に示す例では、ディレー段数設定回路１と、１Ｔパルス幅に対してディレーの比率ＤＲＡＴＥ[３：０]とディレー段数設定回路１からの基準ディレー段数ＤＲＥＦの掛け算を行いディレー設定段数を出力するディレー段数設定部６０、このディレー段数設定部６０で設定されたディレー段数によって入力したデータＤＩＮを遅延してデータＤＯＵＴとして出力するディレーライン７０によって構成されている。
なお、ディレーライン７０は図１に示したディレーライン３０と同様の構成とされる。
ここで、ディレー段数設定部６０は例えば３ビットのＤＲＡＴＥ[３：０]と例えば６ビットのＤＲＥＦ[５：０]を掛け合わせて、９ビットのＭＰＸ[９：０]を計算するようにされ、以下のようにＭＰＸの上位６ビットをＤＳＤとして出力する。
ＭＰＸ[９：０]＝ＤＲＡＴＥ[３：０]×ＤＲＥＦ[５：０]
ＤＳＤ[５：０]＝ＭＰＸ[９：４]
したがって、例えばディレー比率ＤＲＡＴＥ＝３’ｈ１であった場合、クロック周期１／１６のディレー量になり、例えばディレー比率ＤＲＡＴＥ＝３’ｈｆであった場合、クロック周期の１５／１６のディレー量になる。但し、これはディレー比率ＤＲＡＴＥのビット数やディレー段数設定部６０における掛け算手段の演算精度を限定するものではない。
【００２９】
【発明の効果】
以上、説明したように本発明は、例えばプロセス、電源電圧、温度などによってディレー量が変化するようなディレー素子の組み合わせによって可変遅延回路を構成した場合でも、実際の使用条件において常に所望するディレー量を得ることができるようになる。したがって、外部における他の回路構成やプログラムなどを必要とせずに、可変遅延回路を構成することができる。
また、本発明はＣＭＯＳなどのプロセスで実現することができるので、従来のＬＣや分布定数回路を用いた可変遅延回路と比較しても極めて廉価で構成することができるようになる。
【図面の簡単な説明】
【図１】本発明の実施の形態のディレー段数設定回路の構成を説明するブロック図である。
【図２】図１のディレー段数設定回路を構成するディレー量検出部の構成例を説明する図である。
【図３】図１のディレー段数設定回路を構成するディレーロック検出部の構成例を説明する図である。
【図４】ディレー段数設定回路における各信号のタイミングを示す図である。
【図５】ディレー段数設定回路における各信号のタイミングを示す図である。
【図６】本発明の可変遅延回路の構成を説明する図である。
【図７】ディレーラインの構成を説明する図である。
【符号の説明】
１ ディレー段数設定回路、１０ ３ビットカウンタ、２０ アップダウンカウンタ、３０，７０ ディレーライン、４０ ディレー量検出部、５０ ディレーロック検出部、４１，４４ Ｄ−ＦＦ、４２ ＥＯＲゲート、４３ インバータ、５２ シフトレジスタ、５２ａ，５２ｂ Ｄ−ＦＦ、５３，５４ 比較器、５５ ＡＮＤゲート、５６，５８ Ｄ−ＦＦ、５７ セレクタ、６０ ディレー段数設定部、
【図１】
0003864583.tif 000002
【図２】
0003864583.tif 000003
【図３】
0003864583.tif 000004
【図４】
0003864583.tif 000005
【図５】
0003864583.tif 000006
【図６】
0003864583.tif 000007
【図７】
0003864583.tif 000008