(57)【要約】【課題】プログラマブルロジックデバイス上に、遅延ユニット毎の遅延時間のばらつきの少ないパルス遅延回路を構成する。【解決手段】ＦＰＧＡには、１列に配置された複数のロジックセルからなるセル列が多数設けられており、同一のセル列に属する二つのロジックセル間の伝送（以下「同セル列内伝送」という）と、異なるセル列に属する二つのロジックセル間の伝送（以下「異セル列間伝送」という）とでは、遅延が異なったものとなる。ストレートディレイラインを構成する遅延ユニットＲ１〜ＲｎをＦＰＧＡに実装する際にマニュアルで配置する。具体的には、遅延ユニットＲ１〜Ｒｎを隣接するｎ個のセル列ＣＣ１〜ＣＣｎに一つずつ割り当て、しかも、遅延ユニットＲ１〜Ｒｎが、その接続順に並ぶように、セル列ＣＣｉ（ｉ＝１，２，…，ｎ）に遅延ユニットＲｉを割り当る。【選択図】図２
2010226211.tif 000002
【特許請求の範囲】
【請求項１】
１列に配置された複数のロジックセルからなるセル列を複数有し、異なる前記セル列に属する前記ロジックセル間の伝送と同一の前記セル列に属する前記ロジックセル間の伝送とで伝送遅延が異なるプログラマブルロジックデバイス上に、パルス信号を遅延させて伝送する遅延ユニットを複数個接続してなるパルス遅延回路を構成するパルス遅延回路の構成方法であって、
前記パルス遅延回路は、前記遅延ユニットを直列接続してなるストレートディレイラインからなり、
前記パルス遅延回路を構成する各遅延ユニットを、それぞれ一つの前記ロジックセルで実現すると共に、
前記セル列を構成するロジックセルの配列方向とは直交する方向に配列された前記セル列のそれぞれに、前記遅延ユニットを、該遅延ユニットの接続順に従って一つずつ割り当てることを特徴とするパルス遅延回路の構成方法。
【請求項２】
前記セル列内で同一位置にあるロジックセルを、前記遅延ユニットに割り当てることを特徴とする請求項１に記載のパルス遅延回路の構成方法。
【請求項３】
前記遅延ユニットの出力をラッチするラッチ回路を、該遅延ユニットと同一のセル列に属するロジックセルに割り当てることを特徴とする請求項１又は請求項２に記載のパルス遅延回路の構成方法。
【請求項４】
１列に配置された複数のロジックセルからなるセル列を複数有し、異なる前記セル列に属する前記ロジックセル間の伝送と同一の前記セル列に属する前記ロジックセル間の伝送とで伝送遅延が異なるプログラマブルロジックデバイス上に、パルス信号を遅延させて伝送する遅延ユニットを複数個接続してなるパルス遅延回路を構成するパルス遅延回路の構成方法であって、
前記パルス遅延回路を構成する各遅延ユニットを、それぞれ一つの前記ロジックセルで実現すると共に、
前記遅延ユニットの全てを、単一の前記セル列に割り当てることを特徴とするパルス遅延回路の構成方法。
【請求項５】
前記パルス遅延回路は、前記遅延ユニットを直列接続してなるストレートディレイラインからなり、
前記遅延ユニットを、該遅延ユニットの接続順に、前記セル列を構成するロジックセルの配列方向に沿って且つ一方向に向けて配置することを特徴とする請求項４に記載のパルス遅延回路の構成方法。
【請求項６】
前記パルス遅延回路は、前記遅延ユニットをリング状に接続してなるリングディレイラインからなり、
前記遅延ユニットを、該遅延ユニットの接続順に、前記セル列を構成するロジックセルの配列方向に沿って且つ途中で折り返して配置することを特徴とする請求項４に記載のパルス遅延回路の構成方法。
【請求項７】
前記パルス遅延回路は、２ｍ＋１個の前記遅延ユニットで構成され、
連続するｍ＋１個の前記遅延ユニットを、一方向に向けて一つおきの前記ロジックセルに割り当て、残りの連続するｍ個の前記遅延ユニットを、逆方向に向けて、前記ｍ＋１個の遅延ユニットの間に一つずつ割り当てることを特徴とする請求項６に記載のパルス遅延回路の構成方法。
【請求項８】
前記パルス遅延回路は、２ｍ＋１個の前記遅延ユニットで構成され、
連続するｍ＋２個の前記遅延ユニットを、一方向に向けて一つおきの前記ロジックセルに割り当て、残りの連続するｍ−１個の前記遅延ユニットを、逆方向に向けて、前記ｍ＋２個の遅延ユニットのうち、両端に位置する２個を除くｍ個の遅延ユニットの間に一つずつ順番に割り当てることを特徴とする請求項６に記載のパルス遅延回路の構成方法。
【請求項９】
前記遅延ユニットの出力をラッチするラッチ回路を、前記遅延ユニットを割り当てたセル列に対して隣接するセル列のロジックセルに、該遅延ユニットと同様の配置で割り当てることを特徴とする請求項４乃至請求項８のいずれかに記載のパルス遅延回路の構成方法。
【請求項１０】
１列に配置された複数のロジックセルからなるセル列を複数有し、異なる前記セル列に属する前記ロジックセル間の伝送と同一の前記セル列に属する前記ロジックセル間の伝送とで伝送遅延が異なるプログラマブルロジックデバイス上に、パルス信号を遅延させて伝送する遅延ユニットを複数個接続してなるパルス遅延回路を構成するパルス遅延回路の構成方法であって、
前記パルス遅延回路を構成する各遅延ユニットを、それぞれ一つの前記ロジックセルで実現すると共に、
前記遅延ユニットを、複数の前記セル列に割り当て、且つ伝送順が連続する一部の遅延ユニットを同一セル列に割り当て、
同一セル列に割り当てた前記遅延ユニットを、該遅延ユニット間の伝送遅延が異なる前記セル列間での伝送遅延と同等になるように、前記セル列内で離れて位置するロジックセルに割り当てることを特徴とするパルス遅延回路の構成方法。
【請求項１１】
１列に配置された複数のロジックセルからなるセル列を複数有し、異なる前記セル列に属する前記ロジックセル間の伝送と同一の前記セル列に属する前記ロジックセル間の伝送とで伝送遅延が異なるプログラマブルロジックデバイス上に、パルス信号を遅延させて伝送する遅延ユニットを複数個接続してなるパルス遅延回路を構成するパルス遅延回路の構成方法であって、
前記パルス遅延回路を構成する各遅延ユニットを、それぞれ一つの前記ロジックセルで実現すると共に、
前記遅延ユニットを、複数の前記セル列に割り当て、且つ伝送順が連続する一部の遅延ユニットを同一セル列に割り当て、
同一セル列に割り当てた前記遅延ユニットのうち、次段の遅延ユニットが同一のセル列内にあるものを、次段の遅延ユニットが異なるセル列にあるものより、遅延の大きな論理素子を用いて構成することを特徴とするパルス遅延回路の構成方法。
【請求項１２】
前記遅延ユニットを、駆動電圧に応じて遅延量が変化するように構成し、
前記プログラマブルロジックデバイスが提供する複数の電源系統の一つを、前記パルス遅延回路の駆動電圧として割り当てることを特徴とする請求項１乃至請求項１１のいずれかに記載のパルス遅延回路の構成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックデバイス上に、パルス信号を遅延させて伝送する複数の遅延ユニットからなるパルス遅延回路を構成するパルス遅延回路の構成方法に関する。
【背景技術】
【０００２】
従来より、パルス信号を遅延させて伝送する複数の遅延ユニットからなるパルス遅延回路を利用した装置として、時間計測回路、Ａ／Ｄ変換回路、デジタル制御発振回路等が知られている（例えば、特許文献１，２参照）。
【０００３】
このようなパルス遅延回路を利用した装置を集積回路（ＩＣ）化する場合、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）等のプログラマブルロジックデバイスを用いてプログラミングによって実現することが考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−２５９９０７号公報
【特許文献２】特開平７−１８３８００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、プログラミングした回路を、プログラマブルロジックデバイスのロジックセルにレイアウトする際には、通常、自動配置が行われる。
しかし、自動配置した場合、パルス遅延回路を構成する遅延ユニットの配置が整列するとは限らず、適当に配置されてしまうため、各遅延ユニット間の伝送遅延のばらつきが大きくなり、その結果、Ａ／Ｄ変換回路や時間計測回路の変換値や計測値、デジタル制御発振回路が制御する周波数や位相の精度が劣化してしまうという問題があった。
【０００６】
本発明は、上記問題点を解決するために、プログラマブルロジックデバイス上に、遅延ユニット毎の遅延時間のばらつきの少ないパルス遅延回路を構成することを可能とするパルス遅延回路の構成方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた請求項１に記載の発明は、プログラマブルロジックデバイス上に、複数の遅延ユニットを直列接続してなるストレートディレイラインからなるパルス遅延回路を構成する方法であって、パルス遅延回路を構成する各遅延ユニットを、それぞれ一つのロジックセルで実現すると共に、セル列を構成するロジックセルの配列方向とは直交する方向に配列されたセル列のそれぞれに、遅延ユニットを、該遅延ユニットの接続順に従って一つずつ割り当てることを特徴とする。
【０００８】
即ち、プログラマブルロジックデバイスは、１列に配置された複数のロジックセルからなるセル列を複数有し、異なるセル列に属するロジックセル間の伝送と同一のセル列に属するロジックセル間の伝送とで伝送遅延が異なっている。そこで、本発明のように遅延ユニットの配置を行うことによって、遅延ユニット間の伝送は、いずれも、異なるセル列間の伝送に統一されるため、各遅延ユニットでの遅延を均一なものとすることができる。
【０００９】
なお、本発明においては、請求項２に記載のように、セル列内で同一位置にあるロジックセルを、遅延ユニットに割り当てることが望ましい。
これにより、遅延ユニット（ロジックセル）間の伝送が同一経路で行われることになるため、各遅延ユニットでの遅延をより均一なものとすることができる。
【００１０】
なお、遅延ユニットの出力をラッチするラッチ回路を備えている場合は、請求項３に記載のように、そのラッチ回路を、ラッチする出力の送出元である遅延ユニットと同一のセル列に属するロジックセルに割り当てることが望ましい。
【００１１】
これにより、遅延ユニットの出力をラッチするタイミングも均一なものとすることができる。
次に、請求項４に記載の発明は、プログラマブルロジックデバイス上に、遅延ユニットを複数個接続してなるパルス遅延回路を構成する方法であって、パルス遅延回路を構成する各遅延ユニットを、それぞれ一つのロジックセルで実現すると共に、遅延ユニットの全てを、単一のセル列に割り当てることを特徴とする。
【００１２】
この場合、遅延ユニット間の伝送は、いずれも、同一のセル列内での伝送に統一されるため、各遅延ユニットでの遅延を均一なものとすることができる。
しかも、通常、同一のセル列内での伝送は、異なるセル列間での伝送より高速であるため、パルス遅延回路をより高速に動作させること、即ち、パルス遅延回路を用いて行う計測や制御の分解能を向上させることができる。
【００１３】
なお、パルス遅延回路がストレートディレイラインからなる場合は、請求項５に記載のように、遅延ユニットを、該遅延ユニットの接続順に、セル列を構成するロジックセルの配列方向に沿って且つ一方向に向けて配置することが望ましい。
【００１４】
特に、間隔を開けずに連続したロジックセルを用いて構成した場合は、遅延ユニット（ロジックセル）間の遅延を最小とすることができる。
一方、パルス遅延回路がリングディレイラインからなる場合は、請求項６に記載のように、遅延ユニットを、該遅延ユニットの接続順に、セル列を構成するロジックセルの配列方向に沿って且つ途中で折り返して配置することが望ましい。
【００１５】
これによって、どの遅延ユニット間の伝送経路長もほぼ等しくすることができ、各遅延ユニットでの遅延をより均一なものとすることができる。
また、パルス遅延回路が２ｍ＋１個の遅延ユニットで構成されたリングディレイラインからなる場合、例えば、請求項７に記載のように、連続するｍ＋１個の遅延ユニットを、一方向に向けて一つおきのロジックセルに割り当て、残りの連続するｍ個の遅延ユニットを、逆方向に向けて、ｍ＋１個の遅延ユニットの間に一つずつ割り当ててもよい。
【００１６】
また、例えば、請求項８に記載のように、連続するｍ＋２個の遅延ユニットを、一方向に向けて一つおきのロジックセルに割り当て、残りの連続するｍ−１個の遅延ユニットを、逆方向に向けて、ｍ＋２個の遅延ユニットのうち、両端に位置する２個を除くｍ個の遅延ユニットの間に一つずつ順番に割り当ててもよい。
【００１７】
即ち、これらの場合、互いに接続される遅延ユニットは、基本的には一つのロジックセルを挟んだ二つのロジックセル間での信号伝送となる。但し、前者（請求項７）の場合は、ｍ＋１個目とｍ＋２個目との間、及び２ｍ＋１個目と１個目との間のみ、隣接したロジックセル間での信号伝送となり、後者の場合は、ｍ＋２個目とｍ＋３個目との間、及び２ｍ＋１個目と１個目との間のみ、二つのロジックセルを挟んだ二つのロジックセル間での信号伝送となる。
【００１８】
そして、通常、隣接ロジックセル間での信号伝送で生じる遅延（遅延１）と、一つのロジックセルを挟んだ場合の信号伝送で生じる遅延（遅延２）と、二つのロジックセルを挟んだ場合の信号伝送で生じる遅延（遅延３）とを比較すると、通常、（遅延２）−（遅延１）＞（遅延３）−（遅延２）となるため、後者（請求項８）の方が、遅延ユニットでの遅延をより均一なものとすることができる。
【００１９】
なお、遅延ユニットの出力をラッチするラッチ回路を備えている場合は、請求項９に記載のように、ラッチする出力の送出元である遅延ユニットを割り当てたセル列に対して隣接するセル列のロジックセルに、送出元の遅延ユニットと同様の配置で割り当てることが望ましい。
【００２０】
これにより、遅延ユニットの出力をラッチするタイミングも均一なものとすることができる。
次に、請求項１０に記載の発明は、プログラマブルロジックデバイス上に、遅延ユニットを複数個接続してなるパルス遅延回路を構成する方法であって、パルス遅延回路を構成する各遅延ユニットを、それぞれ一つのロジックセルで実現すると共に、遅延ユニットを、複数の前記セル列に割り当て且つ伝送順が連続する一部の遅延ユニットを同一セル列に割り当て、同一セル列に割り当てた遅延ユニットを、該遅延ユニット間の伝送遅延が異なるセル列間での伝送遅延と同等になるように、セル列内で離れて位置するロジックセルに割り当てることを特徴とする。
【００２１】
このように遅延ユニットを配置することにより、遅延ユニット間の伝送として、異なるセル列間の伝送と同一セル列内での伝送とが混在する場合でも、各遅延ユニットでの遅延を均一なものとすることができる。
【００２２】
次に、請求項１１に記載の発明は、プログラマブルロジックデバイス上に、遅延ユニットを複数個接続してなるパルス遅延回路を構成する方法であって、パルス遅延回路を構成する各遅延ユニットを、それぞれ一つのロジックセルで実現すると共に、遅延ユニットを、複数の前記セル列に割り当て且つ伝送順が連続する一部の遅延ユニットを同一セル列に割り当て、同一セル列に割り当てられた遅延ユニットのうち、次段の遅延ユニットが同一のセル列内にあるものを、次段の遅延ユニットが異なるセル列にあるものより、遅延の大きな論理素子を用いて構成することを特徴とする。
【００２３】
このように遅延ユニットを構成することにより、請求項１０の場合と同様に、遅延ユニット間の伝送として、異なるセル列間の伝送と同一セル列内での伝送とが混在する場合でも、各遅延ユニットでの遅延を均一なものとすることができる。
【００２４】
ところで、パルス遅延回路は、該パルス遅延回路を構成する各遅延ユニットの出力から、指定された時間の間にパルス信号が通過した遅延ユニットの段数を数値化する数値化回路と組み合わせることによって時間計測回路を実現することができ、更に、遅延ユニットを、駆動電圧に応じて遅延量が変化するように構成することによって、Ａ／Ｄ変換装置回路を実現することができる。
【００２５】
そして、Ａ／Ｄ変換回路の場合、数値化回路の駆動電圧は、パルス遅延回路の駆動電圧とは異なっていることが望ましい。なお、プログラマブルロジックデバイスは、消費電力を制御する等のために、複数の電源系統が用意されている場合がある。
【００２６】
そこで、請求項１２に記載のように、遅延ユニットを、駆動電圧に応じて遅延量が変化するように構成し、プログラマブルロジックデバイスが提供する複数の電源系統の一つを、パルス遅延回路の駆動電圧として割り当ててもよい。
【００２７】
この場合、パルス遅延回路を組み込んだＡ／Ｄ変換回路を構成した場合に、Ａ／Ｄ変換回路での変換精度を向上させることができる。
【図面の簡単な説明】
【００２８】
【図１】第１及び第２実施形態に係る時間計測回路の全体構成図。
【図２】ＦＰＧＡに実装された遅延ユニット及びラッチ回路の配置を示す説明図。
【図３】ＦＰＧＡに実装された遅延ユニット及びラッチ回路の配置を示す説明図。
【図４】第３及び第４実施形態に係る時間計測回路の全体構成図。
【図５】ＦＰＧＡに実装された遅延ユニット及びラッチ回路の配置を示す説明図。
【図６】ＦＰＧＡに実装された遅延ユニット及びラッチ回路の配置を示す説明図。
【図７】ＦＰＧＡに実装された遅延ユニット及びラッチ回路の配置を示す説明図。
【図８】ＦＰＧＡに実装された遅延ユニット及びラッチ回路の配置を示す説明図。
【図９】第５実施形態に係るデジタル制御発振回路の全体構成図、及びＦＰＧＡに実装された遅延ユニット及び選択回路の配置を示す説明図。
【図１０】第６実施形態に係るクロック生成回路、及びその変形例の周期測定回路の全体構成図。
【発明を実施するための形態】
【００２９】
以下に本発明の実施形態を図面と共に説明する。
［第１実施形態］
＜回路構成＞
図１は、本実施形態に係る時間計測回路１の全体構成図である。
【００３０】
図１に示すように、時間計測回路１は、駆動電圧Ｖｉｎに応じた遅延時間で信号を遅延させる遅延ユニットＲを、ｎ（ｎは正整数）段直列接続してなるストレートディレイライン（ＳＤＬ）として構成され、起動用パルスＰＡの入力タイミングで起動され、各遅延ユニットＲ１〜Ｒｎにてパルス信号を順次遅延させながら伝送するパルス遅延回路１０と、計測用パルスＰＢの入力タイミングで、各遅延ユニットＲ１〜Ｒｎの出力ｄ１〜ｄｎをラッチするラッチ回路（図示せず）を内蔵し、そのラッチした結果に基づき、起動用パルスＰＡが入力されてから計測用パルスＰＢが入力されるまでの間にパルス信号ＰＡが通過した遅延ユニットＲの段数を表すデジタルデータＤＴを生成して出力する符号化回路１２とから構成されている。
【００３１】
そして、この時間計測回路１は、プログラマブルロジックデバイスの一種であるフィールドプログラマブルゲートアレイ（ＦＰＧＡ）に実装されている。
＜ＦＰＧＡの概要＞
ここで、ＦＰＧＡの概要について説明する。
【００３２】
ＦＰＧＡは、外部とつながるピンへの入出力を行うＩ／Ｏ、論理回路を実現するためのテーブルであるルックアップテーブルやフリップフロップで構成されたロジックセル、ロジックセル間やロジックセルとＩ／Ｏとの間を接続する内部配線（スイッチマトリクス）等からなる周知のものである。
【００３３】
但し、ＦＰＧＡには、１列に配置された複数のロジックセルからなるセル列が多数設けられており、例えば１３０nmプロセスルールＦＰＧＡであれば、同一のセル列に属する二つのロジックセル間の伝送（以下「同セル列内伝送」という）での遅延は２５０ps〜４００ps程度、異なるセル列に属する二つのロジックセル間の伝送（以下「異セル列間伝送」という）での遅延は６５０ps程度（即ち、同セル列内伝送と比較して約１.６〜２.６程度）となる。また、同セル列内伝送であっても、隣接するロジックセル間では遅延が小さく（２５０pｓ程度）、位置が離れるほど遅延が大きくなる。
【００３４】
また、ＦＰＧＡは、ロジックセルに対する電源供給を、複数の電源系統が用意されており、予め設定されたロジックセルの単位（個々のロジックセル，セル列，複数のセル列からなるセルグループ等）毎に、どの電源系統から電源供給を受けるか選択できるように構成されているものとする。以下では、この電源系統を選択できるロジックセルの単位を電源供給単位という。
【００３５】
更に、ＦＰＧＡのプログラミングにおいて、時間計測回路１を構成する回路素子の配置（即ち、ＦＰＧＡのどのロジックセルに回路素子を割り当てるか）は、通常は自動設定されるが、その一部、又は全部をマニュアルで配置できるように構成されている。
【００３６】
＜ＦＰＧＡへの実装＞
本実施形態では、時間計測回路１をＦＰＧＡに実装する際に、遅延ユニットＲ１〜Ｒｎ、及び遅延ユニットの出力ｄ１〜ｄｎをそれぞれラッチするラッチ回路Ｌ１〜Ｌｎについては、マニュアルで配置を設定する。
【００３７】
ここで、図２は、ＦＰＧＡにおけるロジックセルの構造の一部を模式的に示すと共に、遅延ユニットＲ１〜Ｒｎ及びラッチ回路Ｌ１〜Ｌｎの配置をマニュアルで設定した結果を示す説明図である。
【００３８】
図２に示すように、遅延ユニットＲ１〜Ｒｎは、隣接するｎ個のセル列ＣＣ１〜ＣＣｎに一つずつ割り当てられ、遅延ユニットＲ１〜Ｒｎが、その接続順に並ぶように、セル列ＣＣｉ（ｉ＝１，２，…，ｎ）には、遅延ユニットＲｉが割り当てられる。但し、各セル列ＣＣｉ内で、遅延ユニットＲｉが割り当てられるロジックセルの位置は、いずれも同じ位置であり、図ではセル列ＣＣｉの先頭（図中上端）に設定されている。
【００３９】
また、各ラッチ回路Ｌｉは、ラッチする出力の送出元となる遅延ユニットＲｉと同じセル列ＣＣｉに割り当てられ、これらラッチ回路Ｌｉが割り当てられるセル列ＣＣｉでのロジックセルの位置も、いずれも同じ位置（図では、セル列ＣＣｉの先頭から３番目のロジックセル）となるように設定されている。
【００４０】
なお、遅延ユニットＲ１〜Ｒｎが割り当てられたロジックセルでは、いずれも、論理素子ＮＯＴによって遅延ユニットＲｉが実現される。
更に、遅延ユニットＲ１〜Ｒｎが割り当てられたロジックセルを含む最小の電源供給単位には、その他の電源供給単位とは異なる電源系統が割り当てられる。
【００４１】
＜動作＞
このように構成された時間計測回路１は、駆動電圧Ｖｉｎを一定に保持（即ち、遅延ユニットＲ１〜Ｒｎが割り当てられたロジックセルを含む電源供給単位とその他の電源供給単位とを区別することなく電源供給）して、計測用パルスＰＢを任意のタイミングで入力するようにして使用すれば、デジタルデータＤＴとして、起動用パルスＰＡ及び計測用パルスＰＢで規定される時間間隔を表す時間計測データが得られる。
【００４２】
また、時間計測回路１は、駆動電圧Ｖｉｎとして測定対象の電圧信号を入力（即ち、遅延ユニットＲ１〜Ｒｎが割り当てられたロジックセルを含む電源供給単位に用いる電源系統を介して電圧信号を供給）し、起動用パルスＰＡ及び計測用パルスＰＢの入力タイミングを固定して使用すれば、デジタルデータＤＴとして、駆動電圧Ｖｉｎの電圧レベルを表すＡ／Ｄ変換データが得られる。つまり、この場合、時間計測回路１をＡ／Ｄ変換回路として用いることができる。
【００４３】
＜効果＞
以上説明したように時間計測回路１によれば、遅延ユニットＲ間の伝送は、異セル列間伝送に統一されるため、各遅延ユニットＲ１〜Ｒｎでの遅延Ｔｄ１〜Ｔｄｎを均一なものとすることができる。その結果、時間計測回路１をＦＰＧＡによって実現しているにも関わらず、分解能が均一な時間計測結果を得ることができるものを確実に構成することができる。
【００４４】
なお、本実施形態では、遅延ユニットＲ１〜Ｒｎが割り当てられたロジックセルを含む電源供給単位とその他の電源供給単位とで異なる電源系統を割り当てたが、時間計測回路１を、Ａ／Ｄ変換回路として用いることがない場合は、全ての電源供給単位に単一の電源系統を割り当ててもよい。
【００４５】
［第２実施形態］
次に第２実施形態について説明する。
本実施形態では、ＦＰＧＡ上における遅延ユニットＲ１〜Ｒｎ及びラッチ回路Ｌ１〜Ｌｎの配置が、第１実施形態とは異なるだけであるため、この相違する点を中心に説明する。
【００４６】
＜ＦＰＧＡへの実装＞
図３は、ＦＰＧＡにおけるロジックセルの構造の一部を模式的に示すと共に、遅延ユニットＲ１〜Ｒｎ及びラッチ回路Ｌ１〜Ｌｎの配置をマニュアルで設定した結果を示す説明図である。
【００４７】
図３に示すように、遅延ユニットＲ１〜Ｒｎは、同一のセル列ＣＣｉに属するｎ個のロジックセルに、一つずつ且つその接続順に（図では上端から下端に向けて）並ぶように割り当てられている。
【００４８】
また、各ラッチ回路Ｌｉは、遅延ユニットＲ１〜Ｒｎが割り当てられたセル列ＣＣｉに対して隣接するセル列ＣＣi+1 において、そのセル列に属するｎ個のロジックセルに、一つずつ且つラッチする出力の送出元となる遅延ユニットＲ１〜Ｒｎの接続順に並ぶように割り当てられている。つまり、遅延ユニットＲｉが割り当てられるロジックセルと、その出力をラッチするラッチ回路Ｌｉが割り当てられるロジックセルとは、行方向（図中左右方向）に隣接して配置されるように設定されている。
【００４９】
＜効果＞
このように構成された時間計測回路１によれば、遅延ユニットＲ間の伝送は、同セル列内伝送に統一されるため、各遅延ユニットＲ１〜Ｒｎでの遅延Ｔｄ１〜Ｔｄｎを均一なものとすることができる。その結果、時間計測回路１をＦＰＧＡによって実現しているにも関わらず、分解能が均一な時間計測結果を得ることができるものを確実に構成することができる。
【００５０】
しかも、本実施形態では、同一セル列ＣＣｉの隣接したロジックセル間で信号が伝送されるように、遅延ユニットＲ１〜Ｒｎが配置されているため、遅延ユニットＲ１〜Ｒｎの遅延をＦＰＧＡ上で実現可能な最小限のものとすることができ、ＦＰＧＡの持つ能力の限界まで、時間計測の分解能を向上させることができる。
【００５１】
［第３実施形態］
次に第３実施形態について説明する。
図４は、本実施形態に係る時間計測回路２の全体構成図である。
【００５２】
図４に示すように、時間計測回路２は、上述した時間計測回路１と同様に、パルス遅延回路２０と、符号化回路２２とで構成されている。
但し、パルス遅延回路２０は、駆動電圧Ｖｉｎに応じた遅延時間で信号を遅延させる遅延ユニットＲを、ｎ（ｎは正整数）段リング状に接続してなるリングディレイライン（ＲＤＬ）として構成されている。なお、初段の遅延ユニットＲ１は、最終段の遅延ユニットＲｎの出力と起動用パルスＰＡの入力が可能なように、論理素子ＮＡＮＤで実現され、その他の遅延ユニットＲ２〜Ｒｎは、論理素子ＮＯＴで実現される。
【００５３】
また、符号化回路２２は、各遅延ユニットＲ１〜Ｒｎの出力ｄ１〜ｄｎをラッチするラッチ回路（図示せず）の他、遅延ユニットＲｎの出力ｄｎに基づいてパルス信号ＰＡの周回数をカウントするカウンタ、カウンタの出力をラッチするラッチ回路を少なくとも備えており、遅延ユニットＲ１〜Ｒｎ及びカウンタの出力をラッチした結果に基づき、ラッチされるまでにパルス信号ＰＡが通過した遅延ユニットＲの段数を表すデジタルデータＤＴを生成するように構成されている。
【００５４】
このように構成された時間計測回路２は、時間計測回路１の場合と同様に、デジタルデータＤＴとして、起動用パルスＰＡ及び計測用パルスＰＢで規定される時間間隔、又は連続する二つの計測用パルスで規定される時間間隔を表す時間計測データが得られるように動作させることもできるし、駆動電圧Ｖｉｎの電圧レベルを表すＡ／Ｄ変換データが得られるように動作させることもできる。
【００５５】
また、ＲＤＬからなるパルス遅延回路２０では、ＳＤＬからなるパルス遅延回路１０よりも、遅延ユニットＲの数を大幅に削減することが可能である。
＜ＦＰＧＡへの実装＞
図５は、ＦＰＧＡにおけるロジックセルの構造の一部を模式的に示すと共に、遅延ユニットＲ１〜Ｒｎ及びラッチ回路Ｌ１〜Ｌｎの配置をマニュアルで設定した結果を示す説明図である。但し、ここでは、ｎ＝７として説明する。
【００５６】
図５に示すように、遅延ユニットＲ１〜Ｒ７は、隣接する４つのセル列ＣＣ１〜ＣＣ４に割り当てられている。但し、先頭の４個の遅延ユニットＲ１〜Ｒ４は、セル列ＣＣ１〜ＣＣ４の先頭に位置するロジックセルに、その接続順に並ぶように割り当てられ、残りの３個の遅延ユニットＲ５〜Ｒ７は、セル列ＣＣ２〜ＣＣ４の先頭から７番目に位置するロジックセルに、遅延ユニットＲ５〜７とセル列ＣＣ２〜ＣＣ４とが逆順になるように割り当てられている。つまり、セル列ＣＣ１には遅延ユニットＲ１が、セル列ＣＣ２には遅延ユニットＲ２，Ｒ７が、セル列ＣＣ３には遅延ユニットＲ３，Ｒ６が、セル列ＣＣ４には、遅延ユニットＲ４，Ｒ５が割り当てられている。
【００５７】
このため、遅延ユニットＲ４，Ｒ５間のみ同セル列内伝送となり、他の遅延ユニット間は異セル列間伝送となる。
そこで、同セル列内伝送に関わる遅延ユニットＲ４，Ｒ５（これに合わせてＲ３，Ｒ６及びＲ２，Ｒ７も同様）の配置は、その間の遅延Ｔｄ４が異セル列間伝送による遅延Ｔｄ１〜Ｔｄ３，Ｔｄ５〜Ｔｄ７と同程度となるように離して設定される。この設定は、ＦＰＧＡ開発ツールを使用してマニュアル配線を行う際に表示される回路素子間の遅延時間のシミュレーション値を参考にして行う。
【００５８】
一方、各ラッチ回路Ｌｉは、ラッチする出力の送出元となる遅延ユニットＲｉと同じセル列ＣＣｉに割り当てられ、いずれのラッチ回路Ｌｉも、遅延ユニットＲｉとの相対的な位置関係がいずれも同じとなるように設定される。
【００５９】
＜効果＞
このように構成された時間計測回路２によれば、遅延ユニットＲ間の伝送に、同セル列内伝送と異セル列間伝送とが混在することになるが、セル列ＣＣ内での遅延ユニットＲの配置を調整することで同セル列内伝送での遅延を異セル列間伝送での遅延に合わせているため、各遅延ユニットＲ１〜Ｒ７での遅延を均一なものとすることができる。その結果、時間計測回路１をＦＰＧＡによって実現しているにも関わらず、分解能が均一な時間計測結果を得ることができるものを確実に構成することができる。
【００６０】
また、時間計測回路２によれば、パルス遅延回路２０がＲＤＬにより構成されているため、ＳＤＬにより構成されている場合と比較して、遅延ユニットＲの数を大幅に削減することができ、その結果、マニュアル配線の作業量も大幅に削減することができる。
【００６１】
＜変形例＞
図６は、同セル列内伝送と異セル間伝送とが混在する他の配置例を示す説明図である。
図６に示すように、遅延ユニットＲ１〜Ｒ７は、隣接する２つのセル列ＣＣｉ，ＣＣi+1 に割り当てられている。但し、先頭の４個の遅延ユニットＲ１〜Ｒ４は、一方のセル列ＣＣｉに属するロジックセルに等間隔で並ぶように割り当てられ、残りの３個の遅延ユニットＲ５〜Ｒ７は、他方のセル列ＣＣi+1 に属するロジックセルに等間隔で並ぶように割り当てられている。
【００６２】
具体的には、遅延ユニットＲ１〜Ｒ４は、セル列ＣＣｉの先頭から１，３，５，７番目のロジックセルに割り当てられ、遅延ユニットＲ５〜Ｒ７は、セル列ＣＣi+1 の先頭から６，４，２番目のロジックセルに割り当てられている。
【００６３】
つまり、遅延ユニットＲ４，Ｒ５間、及びＲ７，Ｒ１間が異セル列間伝送となり、その他は同セル列間伝送となり、また、異セル列間伝送となる遅延ユニットＲ４，Ｒ５が割り当てられるロジックセル間の距離と、遅延ユニットＲ７，Ｒ１が割り当てられるロジックセル間の距離とが等しくなるようにされている。
【００６４】
そして、異セル列間伝送の送信元となる遅延ユニットＲ４，Ｒ７を、最も遅延の小さい論理素子であるＮＯＴによって実現し、同セル列間伝送の送信元となる遅延ユニットＲ１〜Ｒ３，Ｒ５，Ｒ６を、ＮＯＴより遅延の大きい論理素子であるＮＡＮＤやＸＮＯＲ等によって実現することによって、同セル列間伝送の遅延Ｔｄ１〜Ｔｄ３，Ｔｄ５，Ｔｄ６が、異セル列間伝送の遅延Ｔｄ４，Ｔｄ７に近づくように設定されている。
【００６５】
なお、このような論理素子の選択による遅延調整に代えて（又は加えて）、図５の場合と同様に、同セル列ＣＣ内での遅延ユニットＲの配置により遅延調整を行ってもよい。
また、セル列ＣＣｉに割り当てられた遅延ユニットＲ１〜Ｒ４の出力ｄ１〜ｄ４をラッチするラッチ回路Ｌ１〜Ｌ４は、セル列ＣＣｉに隣接するセル列ＣＣi-1 に、遅延ユニットＲ１〜Ｒ４と同様の配置となるように割り当てられ、セル列ＣＣi+1 に割り当てられた遅延ユニットＲ５〜Ｒ７の出力ｄ５〜ｄ７をラッチするラッチ回路Ｌ５〜Ｌ７は、セル列ＣＣi+1 に隣接するセル列ＣＣi+2 に、遅延ユニットＲ５〜Ｒ７と同様の配置となるように割り当てられている。
【００６６】
このように構成された変形例によれば、上述した時間計測回路２と同様の効果を得ることができる。
［第４実施形態］
次に第４実施形態について説明する。
【００６７】
本実施形態では、ＦＰＧＡ上における遅延ユニットＲ１〜Ｒｎ及びラッチ回路Ｌ１〜Ｌｎの配置が、第３実施形態とは異なるだけであるため、この相違する点を中心に説明する。
【００６８】
但し、本実施形態ではｎ＝９として説明する。
＜ＦＰＧＡへの実装＞
図７は、ＦＰＧＡにおけるロジックセルの構造の一部を模式的に示すと共に、遅延ユニットＲ１〜Ｒ９及びラッチ回路Ｌ１〜Ｌ９の配置をマニュアルで設定した結果を示す説明図である。
【００６９】
図７に示すように、遅延ユニットＲ１〜Ｒ９は、同一のセル列ＣＣｉに属する９個のロジックセルに、一つずつ割り当てられている。但し、遅延ユニットＲ１〜Ｒ５については、セル列ＣＣｉの先頭のロジックセルから一つおきに順番に割り当てられ、残りの遅延ユニットＲ６〜Ｒ９は、遅延ユニットＲ１〜Ｒ５の間のロジックセルに、セル列ＣＣｉの末尾側から先頭側に向けて順番に割り当てられている。
【００７０】
即ち、連続する９個のロジックセルに、９個の遅延ユニットがＲ１，Ｒ９，Ｒ２，Ｒ８，Ｒ３，Ｒ７，Ｒ４，Ｒ６，Ｒ５の順に割り当てられている。従って、遅延ユニットＲ５，Ｒ６間及びＲ９，Ｒ１間が、同一セル列内の隣接ロジックセル間での伝送（以下「隣接セル間伝送」という）となり、その他は、非隣接セル間伝送（但し、ここではロジックセル一つ分だけ間隔が空いたもの）となる。
【００７１】
そこで、非隣接セル間伝送の送信元となる遅延ユニットＲ１〜Ｒ４，Ｒ６〜Ｒ８を、最も遅延の小さい論理素子であるＮＯＴによって実現し、隣接セル間伝送の送信元となる遅延ユニットＲ５，Ｒ９を、ＮＯＴより遅延の大きい論理素子であるＮＡＮＤやＸＮＯＲ等によって実現することによって、隣接セル間伝送の遅延Ｔｄ５，Ｔｄ９が、非隣接セル間伝送の遅延Ｔｄ１〜Ｔｄ４，Ｔｄ６〜Ｔｄ８に近づくように設定されている。
【００７２】
また、各ラッチ回路Ｌ１〜Ｌ９は、遅延ユニットＲ１〜Ｒ９が割り当てられたセル列ＣＣｉに対して隣接するセル列ＣＣi+1 において、そのセル列に属する９個のロジックセルに、一つずつ且つラッチする出力の送出元となる遅延ユニットＲ１〜Ｒ９の配列順に並ぶように割り当てられている。つまり、遅延ユニットＲｉが割り当てられるロジックセルと、その出力をラッチするラッチ回路Ｌｉが割り当てられるロジックセルとは、行方向（図中左右方向）に隣接して配置されるように設定されている。
【００７３】
＜効果＞
このように構成された時間計測回路２によれば、遅延ユニットＲ間の伝送は、同セル列内伝送に統一され、しかも、遅延ユニットＲを実現する論理素子を適宜選択することによって、隣接セル間伝送での遅延が非隣接セル間伝送での遅延に近づくようにされているため、各遅延ユニットＲ１〜Ｒ９での遅延Ｔｄ１〜Ｔｄ９を均一なものとすることができる。その結果、時間計測回路１をＦＰＧＡによって実現しているにも関わらず、分解能が均一な時間計測結果を得ることができるものを確実に構成することができる。
【００７４】
＜変形例＞
図８は、単一のセル列ＣＣで、ＲＤＬを実現する他の配置例を示す説明図である。
但し、ここではｎ＝７として説明する。
【００７５】
図８に示すように、遅延ユニットＲ１〜Ｒ７は、同一のセル列ＣＣｉに属する７個のロジックセルに、一つずつ割り当てられている。但し、遅延ユニットＲ１〜Ｒ５については、セル列ＣＣｉの先頭のロジックセルから一つおきに順番に割り当てられ、残りの遅延ユニットＲ６，Ｒ７は、遅延ユニットＲ２〜Ｒ４の間に位置するロジックセルに、セル列ＣＣｉの末尾側から先頭側に向けて順番に割り当てられている。
【００７６】
即ち、連続する９個のロジックセルに、７個の遅延ユニットＲが、Ｒ１，空き，Ｒ２，Ｒ７，Ｒ３，Ｒ６，Ｒ４，空き，Ｒ５の順に割り当てられており、全ての遅延ユニットＲ１〜Ｒ７間の伝送が、非隣接セル間伝送となるようにされている。但し、遅延ユニットＲ５，Ｒ６間及びＲ７，Ｒ１間では、ロジックセル二つ分の間隔があり、他の遅延ユニットＲ間は、ロジックセル一つ分の間隔がある。
【００７７】
この場合、遅延ユニットＲ間の間隔がロジックセル一つ分か二つ分かで遅延が多少異なるが、その遅延差は、隣接セル間伝送とロジックセル一つ分の場合との遅延差と比較して十分に小さい。従って、各遅延ユニットＲ１〜Ｒ７は、同じ論理素子により実現してもよいが、遅延ユニットＲ１〜Ｒ４，Ｒ６を実現する論理素子として、遅延ユニットＲ５，Ｒ７を実現する論理素子より遅延の大きなものを用いることによって、両者間の遅延量を調整してもよい。
【００７８】
［第５実施形態］
次に、第５実施形態について説明する。
＜回路構成＞
図９（ａ）は、本実施形態に係るデジタル制御発振回路３の全体構成図である。
【００７９】
図９（ａ）に示すように、デジタル制御発振回路３は、ｎ個（ここではｎ＝７）の遅延ユニットＲ１〜Ｒｎをリング状に接続したリングディレイラインからなり、起動用パルスＰＡが入力されるとパルス信号を周回させるリングオシレータ３０と、制御データＣＤに従って、遅延ユニットＲ１個分の遅延時間を分解能として出力信号Ｐｏｕｔの発振周期を制御する発振制御回路３２とで構成されている。
【００８０】
なお、このようなデジタル制御発振回路３は、公知（例えば特開平７−１０６９２３号公報）のものであるため、その詳細についての説明は省略する。
但し、発振制御回路３２には、出力信号Ｐｏｕｔの位相調整のために、リングオシレータ３０を構成する遅延ユニットからの各出力ｄ１〜ｄｎのいずれかを選択するパルスセレクタが少なくとも設けられている。
【００８１】
＜ＦＰＧＡへの実装＞
図９（ｂ）は、ＦＰＧＡにおけるロジックセルの構造の一部を模式的に示すと共に、遅延ユニットＲ１〜Ｒ７及びパルスセレクタを構成する二者択一の選択回路Ｓ１〜Ｓ７の配置をマニュアルで設定した結果を示す説明図である。
【００８２】
図９（ｂ）に示すように、遅延ユニットＲ１〜Ｒ７は、セル列ＣＣ１〜ＣＣ４に、第３実施形態の場合（図５参照）と同様に配置されている。
一方セレクタは、セル列ＣＣ２に、遅延ユニットＲ１，Ｒ２の出力ｄ１，ｄ２のいずれかを選択して出力する選択回路Ｓ１、遅延ユニットＲ７の出力ｄ７を常に出力するように構成された選択回路Ｓ４が割り当てられ、セル列ＣＣ４には、遅延ユニットＲ３，Ｒ４の出力ｄ３，ｄ４のいずれかを選択して出力する選択回路Ｓ２、遅延ユニットＲ５，Ｒ６の出力ｄ５，ｄ６のいずれかを選択して出力する選択回路Ｓ３が割り当てられ、セル列ＣＣ３には、選択回路Ｓ１，Ｓ２の出力ｄ［１，２］，ｄ［３，４］のいずれかを選択して出力する選択回路Ｓ５、選択回路Ｓ３，Ｓ４の出力ｄ［５，６］，ｄ［７，Ｘ］のいずれかを選択して出力する選択回路Ｓ６が割り当てられ、セル列ＣＣ１には、選択回路Ｓ５，Ｓ６の出力ｄ［１：４］，ｄ［５：７］のいずれかを選択して出力する選択回路Ｓ７が割り当てられている。
【００８３】
＜効果＞
このように構成されたデジタル制御発振回路３によれば、各遅延ユニットＲ１〜Ｒ７での遅延を均一なものとすることができるだけでなく、セレクタ（選択回路Ｓ１〜Ｓ７）によって選択された出力を、いずれの出力ｄ１〜ｄ７が選択された場合でも、均一な遅延で出力することができる。
【００８４】
［第６実施形態］
次に第６実施形態について説明する。
＜回路構成＞
図１０（ａ）は、本実施形態に係るクロック生成回路４の全体構成図である。
【００８５】
図１０（ａ）に示すように、クロック生成回路４は、ｎ個の遅延ユニットＲ１〜Ｒｎをリング状に接続したリングディレイラインからなり、起動用パルスＰＡが入力されるとパルス信号を周回させるリングオシレータ４０と、リングオシレータ４０を構成する各遅延ユニットＲ１〜Ｒｎの出力ｄ１〜ｄｎに基づき、基準信号ＰＢの周期を表すデジタルデータＤＴを生成する符号化回路４２と、符号化回路４２にて得られたデジタルデータＤＴに、設定値を乗（又は除）してクロック信号の出力周期を表す制御データＣＤを生成する演算回路４４と、演算回路４４から出力される制御データＣＤ、及びリングオシレータ４０からの出力ｄ１〜ｄｎに基づき、基準信号ＰＢを分周又は逓倍したクロック信号Ｐｏｕｔを出力する発振制御回路４６とを備えている。即ち、第３実施形態の時間計測回路２と、第５実施形態のデジタル制御発振回路３とを、リングオシレータ４０を共通にして組み合わせた構成を有している。
【００８６】
なお、このようなクロック生成回路４は、公知（例えば、特開平７−１８３８００号公報）のものであるため、その詳細についての説明は省略する。
＜ＦＰＧＡへの実装＞
このように構成されたクロック生成回路４は、ＦＰＧＡに実装する際には、リングオシレータ４０を構成する遅延ユニットＲ１〜Ｒｎを、第４実施形態で示したように（図７，図８参照）、単一のセル列ＣＣｉに割り当てる。
【００８７】
そして、そのセル列ＣＣｉを挟んだ一方の側に符号化回路４２を、他方の側に発振制御回路４６を実装する。
＜効果＞
このように構成されたクロック生成回路４では、リングオシレータ４０から符号化回路４２及び発振制御回路４６への出力ｄ１〜ｄｎの伝送遅延を均一且つ最小とすることができ、生成するクロック信号Ｐｏｕｔの制御精度を最大限に向上させることができる。
【００８８】
＜変形例＞
図１０（ｂ）は、上述したクロック生成回路４において、発振制御回路４６の代わりに、リングオシレータ４０の出力ｄ１〜ｄｎに基づいて被測定信号ＰＸの周期を表すデジタルデータＤ２生成する符号化回路４８を設け、演算回路４４の代わりに、符号化回路４８のデジタルデータＤ２を符号化回路４２のデジタルデータＤ１で除することで、被測定信号ＰＸの周期が基準信号ＰＢの周期の何倍であるかを表す値ＤＯを出力する除算回路４５を設けることで構成した周期測定回路５である。
【００８９】
この場合も、ＦＰＧＡへの実装を同様に行うことによって、リングオシレータ４０から符号化回路４２，４８への出力ｄ１〜ｄｎの伝送遅延を均一且つ最小とすることができ、周期の測定精度を最大限に向上させることができる。
【００９０】
［他の実施形態］
以上本発明のいくつかの実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において様々な態様にて実施可能である。
【００９１】
例えば、上記実施形態いでは、ＦＰＧＡに適用する場合について説明したが、異セル列間伝送と同セル列内伝送とで伝送遅延が異なるものであれば、どのようなプログラマブルロジックデバイスに適用してもよい。
【符号の説明】
【００９２】
１，２…時間計測回路  ３…デジタル制御発振回路  ４…クロック生成回路  ５…周期測定回路  １０，２０…パルス遅延回路  １２，２２，４２，４８…符号化回路  ３０，４０…リングオシレータ  ３２，４６…発振制御回路  ４４…演算回路  ４５…除算回路  ４８…符号化回路
【図１】
2010226211.tif 000003
【図４】
2010226211.tif 000004
【図１０】
2010226211.tif 000005
【図２】
2010226211.tif 000006
【図３】
2010226211.tif 000007
【図５】
2010226211.tif 000008
【図６】
2010226211.tif 000009
【図７】
2010226211.tif 000010
【図８】
2010226211.tif 000011
【図９】
2010226211.tif 000012