(57)【特許請求の範囲】
【請求項１】
（Ｎ＋１）ビット（Ｎは自然数）のサーモメータコードを符号化するプライオリティエンコーダであって、
制御端子に入力される信号に応じて第１、第２入力端子のいずれかの信号を選択出力する、Ｍ行（Ｎ＋１）列（Ｍは自然数）のマトリクス状に配置された複数のセレクタを備え、
ｉ行ｊ列目（１≦ｉ≦Ｍ、２≦ｊ≦Ｎ＋１）のセレクタは、前記第１入力端子にｉ行（ｊ−１）列目のセレクタの出力信号が入力され、前記第２入力端子に１または０の所定値が入力され、前記制御端子に前記サーモメータコードの上位ｊビット目が入力されることを特徴とするプライオリティエンコーダ。
【請求項２】
Ｍ行Ｎ列のマトリクス状に配置され、１または０の所定値を格納する複数のメモリ素子をさらに備え、
ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ）の前記セレクタの前記第２入力端子には、ｉ行ｊ列目の前記メモリ素子に格納された所定値が入力されることを特徴とする請求項１に記載のプライオリティエンコーダ。
【請求項３】
ｉ行１列目（１≦ｉ≦Ｍ）のセレクタの前記第１入力端子には、１が入力されることを特徴とする請求項１に記載のプライオリティエンコーダ。
【請求項４】
ｉ行（Ｎ＋１）列目（１≦ｉ≦Ｍ）のセレクタの前記第２入力端子には、０が入力されることを特徴とする請求項１に記載のプライオリティエンコーダ。
【請求項５】
ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ）のセレクタの前記第２入力端子には、除余演算子ｍｏｄおよび小数点以下を切り捨てるｉｎｔ関数を用いて、
Ｐｉ，ｊ＝ｉｎｔ（（ｊ−１）ｍｏｄ（２ｉ））／２ｉ−１
で与えられる所定値Ｐｉ，ｊが入力されることを特徴とする請求項１から４のいずれかに記載のプライオリティエンコーダ。
【請求項６】
行ごとに設けられたＭ個のラッチ回路をさらに備え、ｉ行目（１≦ｉ≦Ｍ）のラッチ回路は、ｉ行（Ｎ＋１）列目のセレクタの出力信号をラッチすることを特徴とする請求項１から５のいずれかに記載のプライオリティエンコーダ。
【請求項７】
前記サーモメータコードは、上位ビットから順に値が確定することを特徴とする請求項１から６のいずれかに記載のプライオリティエンコーダ。
【請求項８】
Ｍ行（Ｎ＋１）列のマトリクス状に配置された複数のＤラッチをさらに備え、
ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ＋１）のＤラッチは、入力端子にｉ行ｊ列目のセレクタの出力信号が入力され、ゲート端子に前記サーモメータコードの上位ｊビット目の値が確定するタイミングでハイレベルとなるパルス信号が入力され、その出力信号をｉ行（ｊ＋１）列目のセレクタの前記第１入力端子に供給することを特徴とする請求項７に記載のプライオリティエンコーダ。
【請求項９】
ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ＋１）のセレクタと前記ｉ行ｊ列目のＤラッチのペアが、
一端が前記セレクタの第１入力端子が接続される第１トランスファゲートと、
一端に前記セレクタの第２入力端子が接続され、他端が前記第１トランスファゲートの他端と接続された第２トランスファゲートと、
を含んで構成され、
前記パルス信号がハイレベルの期間、前記サーモメータコードの上位ｊビット目の値に応じて、ｉ行ｊ列目の前記第１、第２トランスファゲートのいずれか一方をオンすることを特徴とする請求項８に記載のプライオリティエンコーダ。
【請求項１０】
前記ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ＋１）のセレクタと前記ｉ行ｊ列目のＤラッチのペアは、
前記第１、第２トランスファゲートの共通接続される端子の電位を受けるバッファをさらに含んで構成されることを特徴とする請求項９に記載のプライオリティエンコーダ。
【請求項１１】
前記ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ＋１）のセレクタと前記ｉ行ｊ列目のＤラッチのペアは、
前記第１、第２トランスファゲートの共通接続される端子と固定電圧端子の間に設けられたキャパシタをさらに含んで構成されることを特徴とする請求項９または１０に記載のプライオリティエンコーダ。
【請求項１２】
スタート信号とストップ信号の遷移タイミングの時間差をデジタル値に変換する時間デジタル変換器であって、
前記スタート信号と前記ストップ信号の時間差に応じた位置でビットが変化するサーモメータコードを生成するバーニア遅延回路と、
前記バーニア遅延回路から出力される前記サーモメータコードを符号化する請求項１から５のいずれかに記載のプライオリティエンコーダと、
を備え、
前記バーニア遅延回路は、
多段接続されたＮ個の第１遅延素子を含み、スタート信号に１段ごとに第１所定量の遅延を与え、異なる遅延が付与された（Ｎ＋１）個の遅延スタート信号を出力する第１多段遅延回路と、
多段接続されたＮ個の第２遅延素子を含み、ストップ信号に１段ごとに第２所定量の遅延を与え、異なる遅延が付与された（Ｎ＋１）個の遅延ストップ信号を出力する第２多段遅延回路と、
（Ｎ＋１）個のサーモメータラッチと、
を含み、
ｊ番目（０≦ｊ≦Ｎ）のサーモメータラッチは、ｊ段目から出力される遅延ストップ信号を、ｊ段目から出力される遅延スタート信号でラッチし、サーモメータコードの上位（ｊ＋１）ビット目として出力することを特徴とする時間デジタル変換器。
【請求項１３】
前記プライオリティエンコーダは、Ｍ行（Ｎ＋１）列のマトリクス状に配置された複数のＤラッチをさらに備え、
ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ＋１）のＤラッチは、入力端子にｉ行ｊ列目のセレクタの出力信号が入力され、ゲート端子にｋ段目（ｋ＝ｊ−１）から出力される遅延スタート信号が入力され、その出力信号をｉ行（ｊ＋１）列目のセレクタの前記第１入力端子に供給することを特徴とする請求項１２に記載の時間デジタル変換器。
【請求項１４】
前記バーニア遅延回路は、
（Ｎ＋１）個の遅延スタート信号を出力する経路に設けられた（Ｎ＋１）個の第１バッファと、
（Ｎ＋１）個の遅延ストップ信号を出力する経路に設けられた（Ｎ＋１）個の第２バッファと、
を含むことを特徴とする請求項１２に記載の時間デジタル変換器。
【請求項１５】
前記第１多段遅延回路に含まれるＮ個の第１遅延素子および前記第２多段遅延回路に含まれるＮ個の第２遅延素子はインバータであり、
奇数段目の第１遅延素子の出力を受ける第１バッファと、奇数番目の第２遅延素子の出力を受ける第２バッファは、インバータであることを特徴とする請求項１４に記載の時間デジタル変換器。
【請求項１６】
前記プライオリティエンコーダは、行ごとに設けられたＭ個のラッチ回路をさらに備え、ｉ行目（１≦ｉ≦Ｍ）のラッチ回路は、その入力端子にｉ行（Ｎ＋１）列目のセレクタの出力信号が入力され、そのクロック端子に前記第１多段遅延回路のＮ段目から出力される遅延スタート信号が入力されることを特徴とする請求項１２に記載の時間デジタル変換器。
【請求項１７】
前記第１多段遅延回路のＮ段目から出力される遅延スタート信号を遅延させて、前記Ｍ個のラッチ回路のクロック端子に供給するセットアップ調整用遅延回路をさらに備えることを特徴とする請求項１６に記載の時間デジタル変換器。
【請求項１８】
請求項１２から１７のいずれかに記載の時間デジタル変換器を備えることを特徴とする試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーモメータコードを符号化するプライオリティエンコーダに関する。
【背景技術】
【０００２】
第１の信号（以下、スタート信号という）と第２の信号（ストップ信号）の遷移タイミングの時間差をデジタル値に変換する時間デジタル変換器（Time to Digital Converter、以下ＴＤＣという）が知られている。高時間分解能を有するＴＤＣとして、バーニア遅延回路を利用した方式が提案されている。
【０００３】
図１は、バーニア遅延回路２００を用いたＴＤＣ３００の構成を示す図である。ＴＤＣ３００は、バーニア遅延回路２００と、プライオリティエンコーダ１００を備える。バーニア遅延回路２００は、スタート信号Ｓｓｔａｒｔとストップ信号Ｓｓｔｏｐを受け、時間差に応じた位置でビットが変化するサーモメータコードＴＣを生成する。バーニア遅延回路２００は、第１多段遅延回路２１０と、第２多段遅延回路２２０と、サーモメータラッチＴＬ０〜ＴＬＮを備える。
【０００４】
第１多段遅延回路２１０は、多段接続されたＮ個の第１遅延素子Ｄ１を含み、スタート信号Ｓｓｔａｒｔに、１段ごとに第１所定量ｔ１の遅延を与え、異なる遅延が付与された（Ｎ＋１）個の遅延スタート信号ＳＡ０〜ＳＡＮを出力する。同様に第２多段遅延回路２２０は、多段接続されたＮ個の第２遅延素子Ｄ２を含み、ストップ信号Ｓｓｔｏｐに１段ごとに第２所定量ｔ２の遅延を与え、異なる遅延が付与された（Ｎ＋１）個の遅延ストップ信号ＳＢ０〜ＳＢＮを出力する。
【０００５】
第１所定量ｔ１の遅延は、第２所定量ｔ２よりも長く設定される。第１多段遅延回路２１０、第２多段遅延回路２２０内の遅延素子を１段通過するごとに、スタート信号Ｓｓｔａｒｔとストップ信号Ｓｓｔｏｐの時間差は、Δｔ＝（ｔ１−ｔ２）だけ小さくなる。スタート信号Ｓｓｔａｒｔとストップ信号Ｓｓｔｏｐの初期の時間差がτである場合、（τ／Δｔ）段の遅延素子を経由した段階で、２つの信号のエッジのタイミングは逆転する。
【０００６】
ｊ段目（０≦ｊ≦Ｎ）のサーモメータラッチＴＬｊは、ｊ段目から出力される遅延ストップ信号ＳＢｊを、ｊ段目から出力される遅延スタート信号ＳＡｊでラッチする。本明細書においては、便宜的に１段目よりひとつ前を０段目という。つまり、０段目のサーモメータラッチＴＬ０は、遅延される前のスタート信号と、遅延される前のストップ信号を受ける。
【０００７】
その結果、ストップ信号Ｓｓｔｏｐがスタート信号Ｓｓｔａｒｔに追いつくまでは、サーモメータラッチＴＬの出力は０となり、追いついたところから先は１となる。かくして、（Ｎ＋１）個のサーモメータラッチＴＬ０〜ＴＬＮによりラッチされたデータが、サーモメータコードＴＣ［０：Ｎ］として出力される。サーモメータコードの名称は、あるビットを境として値が１から０（または０から１）に切り替わることが、温度計に似ていることにちなんでいる。
【０００８】
なお、スタート信号Ｓｓｔａｒｔにストップ信号Ｓｓｔｏｐが追いつかなかった場合、サーモメータコードＴＣは全ビットが０となり、スタート信号Ｓｓｔａｒｔよりもストップ信号Ｓｓｔｏｐが先に入力された場合、全ビットが１となる。
【０００９】
バーニア遅延回路２００から出力されるサーモメータコードＴＣは、単なるビット列にすぎないため、計算機に取り込むために所定のコード（たとえばバイナリコード）に変換する必要がある。プライオリティエンコーダ１００は、サーモメータコードＴＣを、たとえばバイナリコードに符号化する。
【特許文献１】特開２００５−２２３９１２号公報
【特許文献２】特開２００２−１３９５５３号公報
【特許文献３】特開平１０−２４７８４２号公報
【非特許文献１】ＭＣ１４５３２Ｂ製品仕様書、８−ビットプライオリティエンコーダ、［online］、インターネット＜URL：http://www.onsemi.com/pub/Collateral/MC14532B-D.PDF＞
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来では、入力であるサーモメータコードの各ビットと、出力であるバイナリコードの各ビットの対応関係を示す論理値表にもとづいて論理ゲートを組み合せて、プライオリティエンコーダを構成するのが一般的であった。サーモメータコードＴＣのビット数が数十ビットであれば、従来の手法により、プライオリティエンコーダを現実的な回路面積で構成することができた。
【００１１】
ところが、サーモメータコードのビット数が数百〜数千ビットに増加すると、必要な論理ゲートの個数が指数関数的に増大するため、従来のプライオリティエンコーダを適用することが困難となる。
【００１２】
本発明はこうした課題に鑑みてなされたものであり、その包括的な目的は、従来と異なる方式のプライオリティエンコーダの提供にある。
【課題を解決するための手段】
【００１３】
本発明のある態様は、（Ｎ＋１）ビット（Ｎは自然数）のサーモメータコードを符号化するプライオリティエンコーダに関する。このプライオリティエンコーダは、Ｍ行（Ｎ＋１）列（Ｍは自然数）のマトリクス状に配置された複数のセレクタを備える。各セレクタは、制御端子に入力される信号に応じて第１、第２入力端子のいずれかの信号を選択出力する。ｉ行ｊ列目（１≦ｉ≦Ｍ、２≦ｊ≦Ｎ＋１）のセレクタは、第１入力端子にｉ行（ｊ−１）列目のセレクタの出力信号が入力され、第２入力端子に１または０の所定値が入力され、制御端子にサーモメータコードの上位ｊビット目が入力される。
【００１４】
この態様によると、第２入力信号として１または０を適切に設定することにより、サーモメータコードを所望の符号化形式で符号化できる。また、従来の設計手法にもとづいたプライオリティエンコーダに比べて回路面積を削減できる。
【００１５】
ある態様のプライオリティエンコーダは、Ｍ行Ｎ列のマトリクス状に配置された複数のメモリ素子をさらに備えてもよい。各メモリ素子は、１または０の所定値を格納する。ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ）のセレクタの第２入力端子には、ｉ行ｊ列目のメモリ素子に格納された所定値が入力される。
「メモリ素子」は、１（ハイレベル）まはた０（ローレベル）の２値の電位を保持可能なデバイスをすべて包含する。
【００１６】
ｉ行１列目（１≦ｉ≦Ｍ）のセレクタの第１入力端子には、１が入力されてもよい。
この場合、スタート信号よりもストップ信号が先に入力された場合、全ビットを１に設定できる。
【００１７】
ｉ行（Ｎ＋１）列目（１≦ｉ≦Ｍ）のセレクタの第２入力端子には、０が入力されてもよい。
この場合、スタート信号にストップ信号が追いつかなかった場合、全ビットを０に設定できる。
【００１８】
ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ）のセレクタの第２入力端子には、除余演算子ｍｏｄおよび小数点以下を切り捨てるｉｎｔ関数を用いて、
Ｐｉ，ｊ＝ｉｎｔ（（ｊ−１）ｍｏｄ（２ｉ））／２ｉ−１
で与えられる所定値Ｐｉ，ｊが入力されてもよい。
この場合、プライオリティエンコーダは、サーモメータコードをバイナリコードに変換することができる。
【００１９】
ある態様のプライオリティエンコーダは、行ごとに設けられたＭ個のラッチ回路をさらに備えてもよい。ｉ行目（１≦ｉ≦Ｍ）のラッチ回路は、ｉ行（Ｎ＋１）列目のセレクタの出力信号をラッチしてもよい。
【００２０】
サーモメータコードは、上位ビットから順に値が確定するデータであってもよい。
ｊ列目のセレクタは、ｊ−１列目のセレクタの出力信号を受けて動作する。したがって上位ビットから順に値が確定するサーモメータコードの符号化に好適に利用できる。
【００２１】
ある態様のプライオリティエンコーダは、Ｍ行（Ｎ＋１）列のマトリクス状に配置された複数のＤラッチをさらに備えてもよい。ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ＋１）のＤラッチは、入力端子にｉ行ｊ列目のセレクタの出力信号が入力され、ゲート端子にサーモメータコードの上位ｊビット目の値が確定するタイミングでハイレベルとなるパルス信号が入力され、その出力信号をｉ行（ｊ＋１）列目のセレクタの第１入力端子に供給してもよい。
Ｄラッチを設けることにより、サーモメータコードの値が途中で変化した場合でも、確実に符号化を行うことができる。
【００２２】
ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ＋１）のセレクタとｉ行ｊ列目のＤラッチのペアが、第１トランスファゲートと、第２トランスファゲートを含んで構成されてもよい。第１トランスファゲートは、一端がセレクタの第１入力端子と接続される。第２トランスファゲートは、一端がセレクタの第２入力端子と接続され、他端が第１トランスファゲートの他端と接続される。パルス信号がハイレベルの期間、サーモメータコードの上位ｊビット目の値に応じて、ｉ行ｊ列目の第１、第２トランスファゲートのいずれか一方がオンされてもよい。
【００２３】
ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ＋１）のセレクタと前記ｉ行ｊ列目のＤラッチのペアは、第１、第２トランスファゲートの共通接続される端子の電位を受けるバッファをさらに含んで構成されてもよい。
また、ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ＋１）のセレクタとｉ行ｊ列目のＤラッチのペアは、第１、第２トランスファゲートの共通接続される端子と固定電圧端子の間に設けられたキャパシタをさらに含んで構成されてもよい。
【００２４】
本発明の別の態様は、スタート信号とストップ信号の遷移タイミングの時間差をデジタル値に変換する時間デジタル変換器に関する。この時間デジタル変換器は、スタート信号とストップ信号の時間差に応じた位置でビットが変化するサーモメータコードを生成するバーニア遅延回路と、バーニア遅延回路から出力されるサーモメータコードを符号化する上述のいずれかのプライオリティエンコーダと、を備える。バーニア遅延回路は、第１多段遅延回路と、第２多段遅延回路と、Ｎ＋１個のサーモメータラッチを備える。
第１多段遅延回路は、多段接続されたＮ個の第１遅延素子を含み、スタート信号に１段ごとに第１所定量の遅延を与え、異なる遅延が付与された（Ｎ＋１）個の遅延スタート信号を出力する。第２多段遅延回路は、多段接続されたＮ個の第２遅延素子を含み、ストップ信号に１段ごとに第２所定量の遅延を与え、異なる遅延が付与された（Ｎ＋１）個の遅延ストップ信号を出力する。ｊ番目（０≦ｊ≦Ｎ）のサーモメータラッチは、ｊ段目から出力される遅延ストップ信号を、ｊ段目から出力される遅延スタート信号でラッチし、サーモメータコードの上位（ｊ＋１）ビット目として出力する。
【００２５】
プライオリティエンコーダは、Ｍ行（Ｎ＋１）列のマトリクス状に配置された複数のＤラッチをさらに備えてもよい。ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ＋１）のＤラッチは、入力端子にｉ行ｊ列目のセレクタの出力信号が入力され、ゲート端子にｋ段目（ｋ＝ｊ−１）から出力される遅延スタート信号が入力され、その出力信号をｉ行（ｊ＋１）列目のセレクタの第１入力端子に供給してもよい。
【００２６】
バーニア遅延回路は、（Ｎ＋１）個の遅延スタート信号を出力する経路に設けられた（Ｎ＋１）個の第１バッファと、（Ｎ＋１）個の遅延ストップ信号を出力する経路に設けられた（Ｎ＋１）個の第２バッファと、を含んでもよい。
【００２７】
第１多段遅延回路に含まれるＮ個の第１遅延素子および第２多段遅延回路に含まれるＮ個の第２遅延素子はインバータであってもよい。奇数段目の第１遅延素子の出力を受ける第１バッファと、奇数番目の第２遅延素子の出力を受ける第２バッファは、インバータであってもよい。
【００２８】
プライオリティエンコーダは、行ごとに設けられたＭ個のラッチ回路をさらに備え、ｉ行目（１≦ｉ≦Ｍ）のラッチ回路は、その入力端子にｉ行（Ｎ＋１）列目のセレクタの出力信号が入力され、そのクロック端子に第１多段遅延回路のＮ段目から出力される遅延スタート信号が入力されてもよい。
【００２９】
時間デジタル変換器は、第１多段遅延回路のＮ段目から出力される遅延スタート信号を遅延させて、Ｍ個のラッチ回路のクロック端子に供給するセットアップ調整用遅延回路をさらに備えてもよい。
【００３０】
本発明のさらに別の態様は、試験装置に関する。試験装置は、上述のいずれかの時間デジタル変換器を備える。
【００３１】
なお、以上の構成要素の任意の組合せや本発明の構成要素や表現を、方法、装置などの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００３２】
本発明によれば、従来と異なる方式のプライオリティエンコーダが提供できる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【００３４】
本明細書において、「部材Ａが部材Ｂに接続」された状態とは、部材Ａと部材Ｂが物理的に直接的に接続される場合や、部材Ａと部材Ｂが、電気的な接続状態に影響を及ぼさない他の部材を介して間接的に接続される場合も含む。同様に、「部材Ｃが、部材Ａと部材Ｂの間に設けられた状態」とは、部材Ａと部材Ｃ、あるいは部材Ｂと部材Ｃが直接的に接続される場合のほか、電気的な接続状態に影響を及ぼさない他の部材を介して間接的に接続される場合も含む。
【００３５】
（第１の実施の形態）
図２は、第１の実施の形態に係るプライオリティエンコーダ１００ａを備えたＴＤＣ３００ａの構成を示す図である。ＴＤＣ３００ａは、自動試験装置（ＡＴＥ：Automatic Test Equipment）、タイムインターバルアナライザ、ジッタ測定器などの試験装置に搭載される。ＴＤＣ３００ａは、バーニア遅延回路２００と、プライオリティエンコーダ１００ａを備える。バーニア遅延回路２００は、スタート信号Ｓｓｔａｒｔとストップ信号Ｓｓｔｏｐを受け、時間差に応じた位置でビットが変化する（Ｎ＋１）ビットのサーモメータコードＴＣ［０：Ｎ］を生成する。バーニア遅延回路２００の構成は、図１のそれと同様であるから詳細な説明を省略する。サーモメータコードＴＣ［０］が最上位ビットＭＳＢであり、ＴＣ［Ｎ］が上位Ｎ＋１ビット目、すなわち最下位ビットＬＳＢを表す。
【００３６】
プライオリティエンコーダ１００ａは、（Ｎ＋１）ビット（Ｎは自然数）のサーモメータコードＴＣ［０：Ｎ］を符号化する。
【００３７】
プライオリティエンコーダ１００ａは、基本となる構成要素として、複数のセレクタＳＥＬを備える。
【００３８】
複数のセレクタＳＥＬは、Ｍ行（Ｎ＋１）列のマトリクス状に配置される。Ｍは、任意の自然数であり、符号化された出力データのビット数に応じて設計すればよい。
【００３９】
各セレクタＳＥＬは、制御端子、第１入力端子（１）、第２入力端子（０）を備え、制御端子に入力される制御信号Ｓｃの値に応じて、第１、第２入力端子のいずれかの信号を選択する。具体的には、制御信号Ｓｃがハイレベル（１）のとき、第１入力端子（１）の信号を選択し、制御信号Ｓｃがローレベル（０）のとき、第２入力端子（０）の信号を選択する。セレクタＳＥＬは、ＡＮＤゲートやＯＲゲートを組み合わせた回路で構成してもよいし、トランスファゲートを用いた回路、あるいはトランスファゲートとＯＲゲートを組み合わせた回路であってもよく、構成は限定されない。
【００４０】
ｉ行ｊ列目（１≦ｉ≦Ｍ、２≦ｊ≦Ｎ＋１）のセレクタＳＥＬｉ，ｊは、その第１入力端子（１）にｉ行（ｊ−１）列目のセレクタＳＥＬｉ,ｊ−１の出力信号が入力される。セレクタＳＥＬｉ，ｊの第２入力端子（０）には、１または０の所定値が入力される。この所定値は、符号化形式に応じてセレクタごとに設定する。ＳＥＬｉ，ｊの制御端子には、制御信号ＳｃとしてサーモメータコードＴＣの上位ｊビット目が入力される。
【００４１】
ｉ行１列目（１≦ｉ≦Ｍ）のセレクタＳＥＬｉ，１の第１入力端子（１）には、１が入力される。また、ｉ行（Ｎ＋１）列目（１≦ｉ≦Ｍ）のセレクタＳＥＬｉ，Ｎ＋１の第２入力（０）端子には、０が入力される。
【００４２】
たとえば、プライオリティエンコーダ１００ａが（Ｎ＋１）ビットのサーモメータコードＴＣを、ｉｎｔ（ｌｏｇ２（Ｎ＋１）＋１）ビットのバイナリコードＢＣに変換する場合、ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ）のセレクタＳＥＬｉ，ｊの第２入力端子（０）には、
Ｐｉ，ｊ＝ｉｎｔ（（ｊ−１）ｍｏｄ（２ｉ））／２ｉ−１    …（１）
で与えられる所定値Ｐｉ，ｊが入力される。ｍｏｄは除余演算子を、関数ｉｎｔ（ｘ）は、引数ｘの小数点以下を切り捨てた整数、つまり引数ｘ以下の最大の整数を表す。
【００４３】
図３は、複数のセレクタに入力される所定値を示すテーブルである。図３のテーブルは、Ｍ＝４、Ｎ＝１６の場合に、式（１）にもとづいて計算した結果を示す。
【００４４】
なお、所定値Ｐｉ，ｊは、符号化形式に応じて適宜設定すればよく、式（１）に限定されるものではない。サーモメータコードＴＣの上位ｊビット目で値が変化するときに出力すべきコードを、ｊ列目のセレクタＳＥＬの第２入力端子（０）に与えればよい。
【００４５】
図２に戻る。プライオリティエンコーダ１００ａは、Ｍ行Ｎ列のマトリクス状に配置された複数のメモリ素子ＭＥＭをさらに備える。各メモリ素子ＭＥＭには、１または０の所定値Ｐｉ，ｊを格納する。ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ）のセレクタＳＥＬｉ，ｊの第２入力端子（０）には、ｉ行ｊ列目のメモリ素子ＭＥＭｉ，ｊに格納された所定値Ｐｉ，ｊが入力される。
【００４６】
なお、メモリ素子は、ハイ、ローの２種類の電位を記憶して出力する素子であればよく、フリップフロップ、ラッチ、レジスタ、キャパシタなどで構成できる。メモリ素子ＭＥＭの値Ｐｉ，ｊは、外部から任意に書き換え可能であることが好ましい。メモリ素子に替えて、プルアップ配線（抵抗）、プルダウン配線（抵抗）を利用してもよい。
【００４７】
プライオリティエンコーダ１００ａは、行ごとに設けられたＭ個のリザルトラッチＲＬをさらに備える。ｉ行目（１≦ｉ≦Ｍ）のリザルトラッチＲＬｉは、ｉ行（Ｎ＋１）列目のセレクタＳＥＬｉ，Ｎ＋１の出力信号をラッチする。ラッチのタイミングは、（Ｎ＋１）列目のセレクタＳＥＬｉ，Ｎ＋１の出力信号の値が確定した後に設定する。
【００４８】
（Ｎ＋１）列目のセレクタＳＥＬｉ，Ｎ＋１の制御端子には、サーモメータコードＴＣの最下位ビット（ＬＳＢ）が入力される。サーモメータコードＴＣは、上位ビットから順に値が確定していき、最下位ビットＴＣ［Ｎ］は、サーモメータラッチＴＬＮに対するクロック信号のタイミングで確定する。
【００４９】
サーモメータラッチＴＬＮに対するクロック信号は、第１多段遅延回路２１０のＮ段目から出力される遅延スタート信号ＳＡＮである。そこで、第１多段遅延回路２１０のＮ段目から出力される遅延スタート信号ＳＡＮを遅延させて、Ｍ個のリザルトラッチＲＬのクロック端子に供給する。遅延スタート信号ＳＡＮを遅延させるために、セットアップ調整用遅延回路１０が設けられる。なお、リザルトラッチＲＬＮに対する遅延スタート信号ＳＡＮと、セレクタＳＥＬｉ，Ｎ＋１に対する制御信号Ｓｃのタイミングによっては、セットアップ調整用遅延回路１０は不要である。
またセットアップ調整用遅延回路は、図４に示すようにインバータを用いて構成してもよい。
【００５０】
以上が実施の形態に係るプライオリティエンコーダ１００ａの構成である。次に、プライオリティエンコーダ１００aの動作を説明する。
【００５１】
たとえば、符号化の対象となるサーモメータコードＴＣが、上位ｋビット目で値が０から１に切り替わるとする。つまり、ＴＣ［０：ｋ−１］＝０、ＴＣ［ｋ：Ｎ］＝１の場合を想定する。
【００５２】
この場合、１列目からｋ列目のセレクタＳＥＬｉ，１〜ＳＥＬｉ，ｋは、第２入力端子（０）の値を選択する。ｋ＋１列目から（Ｎ＋１）列目のセレクタＳＥＬｉ，ｋ＋１〜ＳＥＬｉ，Ｎ＋１は、第１入力端子（１）に入力されたそれぞれの前段のセレクタＳＥＬの出力を選択する。その結果、ｋ列目のセレクタＳＥＬｉ，ｋの第２入力端子の所定値Ｐｉ，ｋが、最終段まで伝搬し、リザルトラッチＲＬによってラッチされる。
【００５３】
プライオリティエンコーダ１００ａの動作に着目すると、サーモメータコードの上位ビットから下位ビットに向かってデータが伝搬する。したがって実施の形態に係るプライオリティエンコーダは、伝搬型のプライオリティエンコーダと称することができる。
【００５４】
たとえば、図３の所定値を用いた場合、ｋ＝３とすれば、符号化されたバイナリコードＢＣとして、［００１０］、すなわち（ｋ−１）を２進数で表したコードを得ることができる。
【００５５】
サーモメータコードＴＣの０と１の境界は、スタート信号Ｓｓｔａｒｔとストップ信号Ｓｓｔｏｐの時間差に応じて定まる。したがって、バイナリコードＢＣは、２つの時間差をデジタル値にて表したデータとなる。
【００５６】
一般的な論理演算回路は、演算対象の入力データ（サーモメータコード）の全ビットが確定してから演算を開始する。これに対して、実施の形態に係るプライオリティエンコーダ１００ａでは、先に確定していく上位ビットから順に演算（選択動作）を実行するため、符号化に要する時間を短縮することができる。
【００５７】
また、実施の形態に係るプライオリティエンコーダ１００ａは、Ｍ行Ｎ列分の回路素子で構成できるため、論理ゲートを組み合わせる従来の設計手法にもとづいたプライオリティエンコーダに比べて回路面積を削減できる。
【００５８】
また、初段のｉ行１列目（１≦ｉ≦Ｍ）のセレクタＳＥＬの第１入力端子（１）に、１を入力しているため、スタート信号Ｓｓｔａｒｔよりストップ信号Ｓｓｔｏｐが先に入力された場合、オール１を出力することができる。最終段のｉ行（Ｎ＋１）列目（１≦ｉ≦Ｍ）のセレクタＳＥＬの第２入力端子（０）に、０を入力しているため、ストップ信号Ｓｓｔｏｐがスタート信号Ｓｓｔａｒｔに追いつかなかった場合に、オール０を出力することができる。
【００５９】
（第２の実施の形態）
図４は、第２の実施の形態に係るプライオリティエンコーダ１００ｂを備えたＴＤＣ３００ｂの構成を示す図である。図４のプライオリティエンコーダ１００ｂには、符号化の対象となるサーモメータコードＴＣに加えて、バーニア遅延回路２００の第１多段遅延回路２１０により生成される遅延スタート信号ＳＡ０〜ＳＡＮが入力される。
【００６０】
プライオリティエンコーダ１００ｂは、図２のプライオリティエンコーダ１００ａに加えて、Ｍ行（Ｎ＋１）列のマトリクス状に配置された複数のＤラッチＤＬを更に備える。
【００６１】
ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ＋１）のＤラッチＤＬｉ，ｊの入力端子には、ｉ行ｊ列目のセレクタＳＥＬｉ，ｊの出力信号が入力される。ＤラッチＤＬｉ，ｊのゲート端子には、ｋ段目（ｋ＝ｊ−１）から出力される遅延スタート信号ＳＡｋが入力される。ｋ段目の遅延スタート信号ＳＡｋは、サーモメータコードＴＣの上位ｊビット目ＴＣ［ｊ−１］の値が確定するタイミングでハイレベルとなるパルス信号である。ＤラッチＤＬｉ，ｊは、その出力信号を、ｉ行（ｊ＋１）列目のセレクタＳＥＬｉ，ｊ＋１の第１入力端子（１）に供給する。
【００６２】
図４のプライオリティエンコーダ１００ｂの動作を説明する。ＤラッチＤＬｉ，ｊは、ゲート端子のレベルがハイのとき、つまり遅延スタート信号ＳＡ（ｊ−１）がハイレベルの期間だけ、前段のセレクタＳＥＬｉ，ｊ−１からのデータを通過させ、遅延スタート信号ＳＡ（ｊ−１）がローレベルに遷移すると、立ち下がりエッジ（ネガティブエッジ）のタイミングにおける値をラッチする。
【００６３】
つまり、遅延スタート信号ＳＡの立ち上がりエッジ（ポジティブエッジ）によってコードが選択され、また遅延スタート信号ＳＡの立ち下がりエッジにおいてその値が順次保持されていく。
【００６４】
このような構成とすることにより、あるスタート信号Ｓｓｔａｒｔ、ストップ信号Ｓｓｔｏｐのペアがバーニア遅延回路２００内を伝搬中に、次のスタート信号Ｓｓｔａｒｔ、ストップ信号Ｓｓｔｏｐのペアが入力されても、それぞれのペアに対して得られたサーモメータコードＴＣをとりこぼすことなく符号化することができる。
【００６５】
図５は、図４のプライオリティエンコーダの変形例の一部を示す回路図である。図５はプライオリティエンコーダ１００ｃのｊ列目のみを示している。ｉ行ｊ列目（１≦ｉ≦Ｍ、１≦ｊ≦Ｎ＋１）のセレクタＳＥＬｉ，ｊとＤラッチＤＬｉ，ｊのペアは、２つのトランスファゲートＴＧ１、ＴＧ２およびキャパシタＣ、バッファＢＵＦを用いて構成されている。
【００６６】
第１入力端子Ｐ１は、図４のセレクタＳＥＬの第１入力端子に相当し、第２入力端子Ｐ２は、セレクタＳＥＬの第２入力端子に相当する。第１トランスファゲートＴＧ１は、一端が第１入力端子Ｐ１に接続される。第２トランスファゲートＴＧ２は、一端がセレクタＳＥＬの第２入力端子Ｐ２が接続され、他端が第１トランスファゲートＴＧ１の他端と共通に接続される。
【００６７】
第１トランスファゲートＴＧ１は、サーモメータコードＴＣの上位ｊビット目の値ＴＣ［ｊ−１］がハイレベルであり、かつ、（ｊ−１）段目の遅延スタート信号ＳＡ（ｊ−１）（サーモメータコードＴＣのｊビット目の値の確定タイミングを示すパルス信号）がハイレベルのときオンとなる。それ以外のとき、第１トランスファゲートＴＧ１はオフとなる。
【００６８】
第２トランスファゲートＴＧ２は、サーモメータコードＴＣの上位ｊビット目の値ＴＣ［ｊ−１］がローレベルであり、かつ、（ｊ−１）段目の遅延スタート信号ＳＡ（ｊ−１）がハイレベルのときオンとなる。それ以外のとき、第２トランスファゲートＴＧ２はオフとなる。
【００６９】
バッファＢＵＦは、第１トランスファゲートＴＧ１、第２トランスファゲートＴＧ２の共通接続される端子の電位を受け、次段の回路へと出力する。キャパシタＣは、第１トランスファゲートＴＧ１、第２トランスファゲートＴＧ２の共通接続される端子と固定電圧端子（接地端子）の間に設けられる。
【００７０】
キャパシタＣを設けることにより、トランスファゲートＴＧ１、ＴＧ２の共通接続点Ｎ１の電位を確実に保持することが可能となる。また、バッファＢＵＦを設けることにより、共通接続点Ｎ１から次段を見たインピーダンスを高くすることができ、電位を確実に保持できる。ただし、ＭＯＳＦＥＴのゲート容量が十分大きい場合はキャパシタＣを設けなくてもよい。またＭＯＳＦＥＴのゲートインピーダンスが十分高い場合には、バッファＢＵＦを設けなくてもよい。
【００７１】
制御回路１２は、列ごとに設けられる。制御回路１２は、ＡＮＤゲート１４、１６、インバータ１８を含む。
ＡＮＤゲート１４は、サーモメータコードＴＣ[ｊ−１]と遅延スタート信号ＳＡ（ｊ−１）の論理積を、同じ列の第１トランスファゲートＴＧ１の制御端子Ｓに供給する。
インバータ１８は、サーモメータコードＴＣ［ｊ−１］を反転する。ＡＮＤゲート１６は、サーモメータコードＴＣ[ｊ−１]の反転信号と遅延スタート信号ＳＡ（ｊ−１）の論理積を、同じ列の第２トランスファゲートＴＧ２の制御端子Ｓに供給する。
【００７２】
図５のプライオリティエンコーダ１００ｃによれば、簡易な構成で図４のプライオリティエンコーダ１００ｂと同様の機能を実現できる。
【００７３】
図６は、図５のプライオリティエンコーダの変形例を示す回路図である。図６のプライオリティエンコーダ１００ｄは、第１トランスファゲートＴＧ１を構成するＰチャンネルＭＯＳＦＥＴの制御信号＊Ｓ（＊は論理反転を示す）を生成するためのインバータ２０を、同一の列に配置される複数の第１トランスファゲートＴＧ１に対して共通に設けている。
同様に、第２トランスファゲートＴＧ２を構成するＰチャンネルＭＯＳＦＥＴの制御信号＊Ｓ（＊は論理反転を示す）を生成するためのインバータ２２を、同一の列に配置される複数の第２トランスファゲートＴＧ２に対して共通に設けている。
この構成によれば、図５のプライオリティエンコーダ１００ｃに比べてより回路面積を削減できる。
【００７４】
上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、こうした変形例について説明する。
【００７５】
図７は、バーニア遅延回路の変形例を示す回路図である。図７のバーニア遅延回路２００ａは、図２等に示したバーニア遅延回路２００に加えて、（Ｎ＋１）個の第１バッファＢＵＦ１と、（Ｎ＋１）個の第２バッファＢＵＦ２を備える。
第１バッファＢＵＦ１は、（Ｎ＋１）個の遅延スタート信号ＳＡ０〜ＳＡＮを出力する経路に設けられる。また、第２バッファＢＵＦ２は、（Ｎ＋１）個の遅延ストップ信号ＳＢ０〜ＳＢＮを出力する経路に設けられる。
【００７６】
第１バッファＢＵＦ１、第２バッファＢＵＦ２を設けることにより、スタート信号Ｓｓｔａｒｔおよびストップ信号Ｓｓｔｏｐが経由する配線に対する、サーモメータラッチＴＬの影響を抑えることができ、安定した遅延を与えることができる。
【００７７】
また、図７のバーニア遅延回路２００ａを図４乃至図６のプライオリティエンコーダ１００に用いる場合には、第１遅延素子Ｄ１のファンアウト数が増加する。この場合には、第１バッファＢＵＦ１を設けることにより、安定した遅延を与えることができる。
【００７８】
図８は、図７のバーニア遅延回路の変形例を示す回路図である。図８のバーニア遅延回路２００ｂにおいて、第１多段遅延回路２１０に含まれるＮ個の第１遅延素子Ｄ１および第２多段遅延回路２２０に含まれるＮ個の第２遅延素子Ｄ２はインバータである。
【００７９】
奇数段目の第１遅延素子Ｄ１の出力を受ける第１バッファＢＵＦ１と、奇数番目の第２遅延素子Ｄ２の出力を受ける第２バッファＢＵＦ２は、インバータで構成される。これらの回路は差動回路で構成されてもよい。
【００８０】
実施の形態では、プライオリティエンコーダ１００をＴＤＣ３００に用いる場合を説明したが、その他のアプリケーションに用いてもよい。たとえば、プライオリティエンコーダ１００は、フラッシュ型のＡ／Ｄコンバータから出力されるサーモメータコードをエンコードする用途に利用してもよい。ただし、プライオリティエンコーダ１００はこれらに限定されず、任意のアプリケーションに使用することができる。
【００８１】
実施の形態では、サーモメータコードＴＣをバイナリコードＢＣに変換する場合を説明したが、プライオリティエンコーダ１００はその他の任意の形式の符号化を行うことができる。つまり、サーモメータコードＴＣの上位ｊビット目で値が変化するときに出力すべきコードを、ｊ列目のセレクタＳＥＬの第２入力端子（０）に与えることにより、任意の符号化を行うことができる。
【００８２】
実施の形態にもとづき、本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を離脱しない範囲において、多くの変形例や配置の変更が可能である。
【図面の簡単な説明】
【００８３】
【図１】バーニア遅延回路を用いたＴＤＣの構成を示す図である。
【図２】第１の実施の形態に係るプライオリティエンコーダを備えたＴＤＣの構成を示す図である。
【図３】複数のセレクタに入力される所定値を示す図である。
【図４】第２の実施の形態に係るプライオリティエンコーダを備えたＴＤＣの構成を示す図である。
【図５】図４のプライオリティエンコーダの変形例の一部を示す回路図である。
【図６】図５のプライオリティエンコーダの変形例を示す回路図である。
【図７】バーニア遅延回路の変形例を示す回路図である。
【図８】図７のバーニア遅延回路の変形例を示す回路図である。
【符号の説明】
【００８４】
１００…プライオリティエンコーダ、２００…バーニア遅延回路、２１０…第１多段遅延回路、２２０…第２多段遅延回路、Ｄ１…第１遅延素子、Ｄ２…第２遅延素子、３００…ＴＤＣ、ＳＥＬ…セレクタ、ＭＥＭ…メモリ素子、１０…セットアップ調整用遅延回路、ＴＬ…サーモメータラッチ、ＲＬ…リザルトラッチ、ＤＬ…Ｄラッチ、ＴＣ…サーモメータコード、ＢＣ…バイナリコード。
【図１】
0004842989.tif 000002
【図２】
0004842989.tif 000003
【図３】
0004842989.tif 000004
【図４】
0004842989.tif 000005
【図５】
0004842989.tif 000006
【図６】
0004842989.tif 000007
【図７】
0004842989.tif 000008
【図８】
0004842989.tif 000009