(57)【特許請求の範囲】
【請求項１】
各々がＷ（Ｗは３以上の整数）ビットのビット長を有するＲ（Ｒは２以上の整数）個の参照データを保存する参照データ保存回路と、
Ｗビットのビット長を有し、かつ、検索対象である検索データを前記Ｒ個の参照データの各々とビット毎に比較し、各々が前記検索データと前記参照データとの間の距離を表し、かつ、Ｗビットのビット値からなるＲ個の距離信号を前記検索データと前記Ｒ個の参照データとの比較結果として出力する比較回路と、
前記Ｒ個の距離信号に対応して設けられ、各々がｋ（ｋは、Ｗ／Ｎまたは（Ｗ／Ｎ）＋１を満たす整数、Ｎは、３以上の整数）個の遅延回路をリング状に接続した発振回路を含むＲ個の変換回路と、
前記Ｒ個の距離信号および前記Ｒ個の変換回路に対応して設けられ、各々がｋ個の経路選択回路を含むＲ個の選択回路と、
前記Ｒ個の変換回路から出力されたＲ個の出力信号のうち、最も早く変化する出力信号を検出し、その検出した出力信号を前記検索データに最も類似した参照データを示す信号として出力する検出回路とを備え、
前記Ｒ個の選択回路の各々は、対応するＷビットの距離信号によって表される距離が小さいほど前記ｋ個の遅延回路における遅延時間が短くなり、かつ、前記対応するＷビットの距離信号によって表される距離が大きいほど前記ｋ個の遅延回路における遅延時間が長くなるように前記ｋ個の遅延回路の各々におけるＮ＋１個の遅延経路から１つの遅延経路を選択するためのｋ個の選択信号を前記対応するＷビットの距離信号に基づいて生成し、その生成したｋ個の選択信号を前記対応する変換回路へ出力し、
前記Ｒ個の変換回路の各々は、前記対応する選択回路から前記ｋ個の選択信号を受けると、その受けたｋ個の選択信号によって選択されたｋ個の遅延経路を介して発振し、その発振した発振信号を出力信号として前記検出回路へ出力し、
前記ｋ個の遅延回路の各々は、
入力ノードと、
出力ノードと、
前記入力ノードと前記出力ノードとの間に接続された第１のゲートからなる第１の遅延経路と、
各々が、前記入力ノード側に配置された第２のゲートと、前記出力ノードに接続された第３のゲートと、前記第２のゲートと前記第３のゲートとの間に接続された遅延器とからなるＮ個の遅延経路とを含み、
前記Ｎ個の遅延経路のうち、前記第１の遅延経路に隣接する第２の遅延経路の前記第２のゲートは、前記入力ノードに接続され、
前記Ｎ個の遅延経路のうち、前記第２の遅延経路以外のＮ−１個の遅延経路に含まれるＮ−１個の前記第２のゲートは、それぞれ、前記第１の遅延経路側で隣接する遅延経路に含まれる前記遅延器の出力側に接続され、
前記第１のゲート、前記Ｎ個の第２のゲートおよび前記Ｎ個の第３のゲートは、前記Ｎビットの距離信号によって表される距離がｄ（ｄ＝０，１，２，・・・，Ｎ）であるとき前記入力ノードからｄ個の前記遅延器を介して前記出力ノードへ信号が出力されるように前記選択信号によって開閉され、
前記ｋ個の経路選択回路の各々は、
直列に接続されたＮ−１個の第１の選択信号生成回路と、
前記Ｎ−１個の第１の選択信号生成回路のうち、入力側からＮ−１番目の第１の選択信号生成回路から出力されたＮ個の出力信号に基づいて、前記第１の遅延経路から最も離れた位置に配置された第Ｎ＋１番目の遅延経路に含まれる前記第３のゲートと前記第１のゲートとを除いたＮ−１個の前記第３のゲートを開閉するＮ−１個の第１の選択信号と、前記Ｎ個の第２のゲートを開閉するＮ個の第２の選択信号とを生成する第２の選択信号生成回路とを含み、
前記Ｎ−１個の第１の選択信号生成回路は、
前記Ｗビットの距離信号のうちの第１および第２番目のビット値に基づいて２個の選択信号を生成する第１の信号生成回路と、
各々が、ｍ（ｍは２≦ｍ≦Ｎ−１を満たす整数）個の選択信号と、前記Ｗビットの距離信号のうちの第ｎ（ｎは３≦ｎ≦Ｎを満たす整数）番目のビット値とに基づいてｍ＋１個の選択信号を生成するＮ−２個の第２の信号生成回路とを含み、
前記Ｎ−２個の第２の信号生成回路の各々は、前記第１の信号生成回路、または前記第１の信号生成回路側の第２の信号生成回路から前記ｍ個の選択信号を受け、
前記第２の選択信号生成回路は、前記Ｎ−１個の第１の選択信号を前記Ｎ−１個の第３のゲートへ出力し、前記Ｎ個の第２の選択信号を前記Ｎ個の第２のゲートへ出力し、前記第２の遅延経路に含まれる前記第２のゲートへ出力する前記第２の選択信号の反転信号を前記第１のゲートへ出力し、前記第Ｎ＋１番目の遅延経路に含まれる前記第２のゲートへ出力する前記第２の選択信号と同じ選択信号を前記第Ｎ＋１番目の遅延経路に含まれる前記第３のゲートへ出力する、連想メモリ。
【請求項２】
前記Ｒ個の変換回路から出力されたＲ個の出力信号を分周し、その分周したＲ個の出力信号を前記検出回路へ出力する分周器をさらに備える、請求項１に記載の連想メモリ。
【請求項３】
前記ｋ個の経路選択回路は、前記ｋ個の遅延回路に対応して設けられ、
前記ｋ個の経路選択回路の各々は、前記ｋ個の経路選択回路が含まれる選択回路へ出力されるＷビットの距離信号のうち、Ｎビットの距離信号を受け、その受けたＮビットの距離信号によって表される距離が小さいほど遅延時間が短くなり、かつ、前記受けたＮビットの距離信号によって表される距離が大きいほど遅延時間が長くなるように前記Ｎ＋１個の遅延経路から１つの遅延経路を選択するための選択信号を生成し、その生成した選択信号を前記対応する遅延回路へ出力し、
前記ｋ個の遅延回路の各々は、前記Ｎ＋１個の遅延経路を含み、前記対応する経路選択回路から前記選択信号を受けると、その受けた選択信号によって選択された前記１つの遅延経路によって信号を遅延して出力する、請求項１または請求項２に記載の連想メモリ。
【請求項４】
Ｋ（Ｋは２以上の整数）ビットのビット長を有する参照データを列方向にＷ（Ｗは２以上の整数）個配列し、かつ、行方向にＲ（Ｒは２以上の整数）個配列してＷ×Ｒ個の参照データを保存する参照データ保存回路と、
Ｋビットのビット長を有し、かつ、検索対象である検索データを前記Ｗ×Ｒ個の参照データの各々とビット毎に比較し、各々が前記検索データと前記参照データとの間の距離を表し、かつ、各々がＫビットのビット値からなるＷ×Ｒ個の距離信号を前記検索データと前記Ｗ×Ｒ個の参照データとの比較結果として出力する比較回路と、
各々が前記列方向に配列されたＷ個の参照データと前記検索データとの比較結果を示すＲ個の距離信号に対応して設けられたＲ個の変換回路と、
前記Ｒ個の距離信号および前記Ｒ個の変換回路に対応して設けられたＲ個の選択回路と、
前記Ｒ個の変換回路から出力されたＲ個の出力信号のうち、最も早く変化する出力信号を検出し、その検出した出力信号を前記検索データに最も類似した参照データを示す信号として出力する検出回路とを備え、
前記Ｒ個の選択回路の各々は、前記Ｒ個の距離信号のうち、対応する距離信号のＷ×Ｋ個のビット値に基づいて、前記参照データと前記検索データとの同位ビット同士が異なるとき第１の遅延時間を有する第１の遅延経路を選択し、前記同位ビット同士が一致するとき前記第１の遅延時間よりも短い第２の遅延時間を有する第２の遅延経路を選択するための選択信号を生成し、
前記Ｒ個の変換回路の各々は、前記対応する選択回路から受けた選択信号によって選択された前記第１の遅延経路または前記第２の遅延経路を用いて、前記参照データと前記検索データとの最上位ビット同士の距離を示す第１の距離信号から前記参照データと前記検索データとの最下位ビット同士の距離を示す第２の距離信号に向かって遅延時間が順次短くなり、かつ、周波数が順次高くなるように前記第１の距離信号から前記第２の距離信号に向かって前記距離信号を発振信号に順次変換し、その変換した発振信号を出力信号として前記検出回路へ出力する、連想メモリ。
【請求項５】
前記Ｒ個の変換回路の各々は、
各々がリング状に接続されたＷ個の遅延回路を含み、前記参照データおよび前記検索データのＫ個のビット位に対応して配置されたＫ個の発振回路と、
各々が隣接する２つの発振回路間に配置され、前記Ｋ個の発振回路を直列に接続するＫ−１個の選択器と、
前記直列に接続されたＫ個の発振回路のうちの一方端の発振回路と他方端の発振回路との間に配置され、当該変換回路を活性化するための活性化信号を前記一方端の発振回路へ出力する活性化回路と、
前記直列に接続されたＫ個の発振回路のうちの前記他方端の発振回路と前記活性化回路との間に配置されたＫ個目の選択器とを含み、
前記Ｋ−１個の選択器の各々は、前記２つの発振回路のうちの一方の発振回路の出力信号を入力信号として前記一方の発振回路へ出力するとともに、前記一方の発振回路への出力回数が所望回数に達すると、前記一方の発振回路の出力信号を前記２つの発振回路のうちの他方の発振回路へ出力し、
前記Ｋ個目の選択器は、前記他方端の発振回路の出力信号を入力信号として前記他方端の発振回路へ出力するとともに、前記他方端の発振回路への出力回数が所望回数に達すると、前記他方端の発振回路の出力信号を前記活性化回路へ出力し、
前記Ｗ個の遅延回路の各々は、前記第１および第２の遅延経路を有し、前記選択信号によって選択された前記第１または第２の遅延経路を用いて入力信号を遅延して隣接する遅延回路へ出力し、
前記Ｋ個の発振回路は、前記一方端の発振回路から前記他方端の発振回路へ向かうに従って前記第１の遅延経路における前記第１の遅延時間が順次短くなっており、
前記Ｒ個の選択回路の各々は、前記Ｗ×Ｋ個のビット値に基づいて、前記Ｗ個の参照データと前記検索データとの同位ビット同士の比較結果を示すＷビットの距離信号をＫ個生成し、その生成したＫ個のＷビットの距離信号に基づいて、各々が前記Ｗビットの距離信号によって表される距離が大きいほど遅延時間が長くなり、かつ、前記Ｗビットの距離信号によって表される距離が小さいほど遅延時間が短くなるように前記第１または第２の遅延経路を選択するためのＫ個の選択信号を生成し、各選択信号が各ビット位に対応して配置された発振回路へ出力されるように前記生成したＫ個の選択信号をそれぞれ前記Ｋ個の発振回路へ出力する、請求項４に記載の連想メモリ。
【請求項６】
前記Ｒ個の変換回路の各々は、
各々がリング状に接続されたＷ個の遅延回路を含み、前記参照データおよび前記検索データのＫ個のビット位に対応して配置されたＫ個の発振回路と、
各々が隣接する２つの発振回路間に配置され、前記Ｋ個の発振回路を直列に接続するＫ−１個の分周器と、
前記直列に接続されたＫ個の発振回路のうちの一方端の発振回路と他方端の発振回路との間に配置され、当該変換回路を活性化するための活性化信号を前記一方端の発振回路へ出力する活性化回路とを含み、
前記Ｋ−１個の分周器の各々は、前記２つの発振回路のうちの一方の発振回路の出力信号を分周して前記一方の発振回路へ出力するとともに、分周回数が所望回数に達すると、分周後の信号を前記２つの発振回路のうちの他方の発振回路へ出力し、
前記Ｗ個の遅延回路の各々は、前記第１および第２の遅延経路を有し、前記選択信号によって選択された前記第１または第２の遅延経路を用いて入力信号を遅延して隣接する遅延回路へ出力し、
前記Ｗ個の遅延回路に含まれるＷ個の前記第１の遅延経路におけるＷ個の前記第１の遅延時間は、相互に同じであり、
前記Ｋ−１個の分周器は、前記一方端の発振回路の出力信号を受ける分周器から前記他方端の発振回路へ信号を出力する分周器に向かうに従って分周回数が減少し、
前記Ｒ個の選択回路の各々は、前記Ｗ×Ｋ個のビット値に基づいて、前記Ｗ個の参照データと前記検索データとの同位ビット同士の比較結果を示すＷビットの距離信号をＫ個生成し、その生成したＫ個のＷビットの距離信号に基づいて、各々が前記Ｗビットの距離信号によって表される距離が大きいほど遅延時間が長くなり、かつ、前記Ｗビットの距離信号によって表される距離が小さいほど遅延時間が短くなるように前記第１または第２の遅延経路を選択するためのＫ個の選択信号を生成し、各選択信号が各ビット位に対応して配置された発振回路へ出力されるように前記生成したＫ個の選択信号をそれぞれ前記Ｋ個の発振回路へ出力する、請求項４に記載の連想メモリ。
【請求項７】
前記Ｒ個の変換回路の各々は、
各々が前記第１および第２の遅延経路を有し、リング状に接続されたＷ個の遅延回路を含む第１の発振回路と、
各々が前記第１および第２の遅延経路を有し、リング状に接続されたＷ個の遅延回路を含む第２の発振回路と、
前記第１の発振回路の出力信号を所望回数だけ分周し、その分周した信号を前記第２の発振回路へ出力する第１の分周器と、
前記第２の発振回路の出力信号を所望回数だけ分周し、その分周した信号を前記第１の発振回路へ出力する第２の分周器と、
前記第２の分周器と前記第１の発振回路との間に配置され、当該変換回路を活性化するための活性化信号を前記第１の発振回路へ出力する活性化回路とを含み、
前記第１の分周器は、前記参照データと前記検索データとの最上位ビットから奇数番目のビット同士の比較結果を示す第１の距離信号を変換した発振信号を前記第１の発振回路から受け、前記第１の距離信号がより下位のビット同士の比較結果を示すほど少ない回数だけ前記受けた発振信号を分周して前記第２の発振回路へ出力し、
前記第２の分周器は、前記参照データと前記検索データとの最上位ビットから偶数番目のビット同士の比較結果を示す第２の距離信号を変換した発振信号を前記第２の発振回路から受け、前記第２の距離信号がより下位のビット同士の比較結果を示すほど少ない回数だけ前記受けた発振信号を分周して前記第１の発振回路へ出力し、
前記Ｒ個の選択回路の各々は、前記Ｗ×Ｋ個のビット値に基づいて、前記Ｗ個の参照データと前記検索データとの同位ビット同士の比較結果を示すＷビットの距離信号をＫ個生成し、その生成したＫ個のＷビットの距離信号に基づいて、各々が前記Ｗビットの距離信号によって表される距離が大きいほど遅延時間が長くなり、かつ、前記Ｗビットの距離信号によって表される距離が小さいほど遅延時間が短くなるように前記第１または第２の遅延経路を選択するためのＫ個の選択信号を生成し、前記第１の距離信号に基づいて生成された選択信号が前記第１の発振回路へ出力され、前記第２の距離信号に基づいて生成された選択信号が前記第２の発振回路へ出力されるように前記Ｋ個の選択信号を交互に前記第１および第２の発振回路へ出力する、請求項４に記載の連想メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、連想メモリに関するものである。
【背景技術】
【０００２】
近年、文字認識・画像認識などに代表されるパターンマッチングを必要とするアプリケーションが大変注目されている。特に、パターンマッチングをＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）上で実現することにより、将来、人工知能およびモバイル機器等の高機能アプリケーションに適用可能になり、この技術の実現は、非常に注目を浴びている。
【０００３】
パターンマッチングでは、データベースに保存された複数の参照データの中から、完全に検索データと一致するパターンを検索する「完全一致検索処理」と、検索データと最も類似するパターンを検索する「最類似検索処理」とがある。
【０００４】
前者は、ＣＡＭ（Ｃｏｎｔｅｎｔｓ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）と呼ばれ、ネットワークルータのＩＰアドレステーブルのルーティングおよびプロセッサのキャッシュ等の実現に用いられる。人間の脳のような柔軟な検索・比較をコンピュータに処理させるには、後者の最類似検索処理を実現することが必要不可欠である。このような柔軟な比較を実現する機能を持つメモリのことを特に連想メモリ（Ａｓｓｏｃｉａｔｉｖｅ  Ｍｅｍｏｒｙ）と呼ぶ。
【０００５】
連想メモリを実現する手段として（１）ディジタル方式による実現方法（非特許文献１）、（２）アナログ方式による実現方法および（３）ディジタル・アナログ融合方式（非特許文献２）等が提案されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Y. Oike, et al., “A High-Speed and Low-Voltage Associative Co-Processor with Exact Hamming/Manhattan-Distance Estimation Using Word-Parallel and Hierarchical Search Architecture,” IEEE J. Solid-State Circuits, vol. 39, no. 8, pp. 1383-1387, 2004.
【非特許文献２】M. A. Abedin, et al., “Nearest-euclidean-distance search associative memory with fully parallel mixed digital-analog match circuitry,” Proc. of SSDM2006, pp. 282-283, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、従来のアナログ方式による連想メモリにおいては、検索データと参照データとの類似度を表す距離を電圧に変換するので、誤検索が生じるという問題がある。
【０００８】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、誤検索を抑制可能な連想メモリを提供することである。
【課題を解決するための手段】
【０００９】
この発明の実施の形態によれば、連想メモリは、参照データ保存回路と、比較回路と、Ｒ個の変換回路と、Ｒ個の選択回路と、検出回路とを備える。参照データ保存回路は、各々がＷ（Ｗは２以上の整数）ビットのビット長を有するＲ（Ｒは２以上の整数）個の参照データを保存する。比較回路は、Ｗビットのビット長を有し、かつ、検索対象である検索データをＲ個の参照データの各々とビット毎に比較し、各々が検索データと参照データとの間の距離を表し、かつ、Ｗビットのビット値からなるＲ個の距離信号を検索データとＲ個の参照データとの比較結果として出力する。Ｒ個の変換回路は、Ｒ個の距離信号に対応して設けられ、各々がｋ（ｋは、Ｗ／Ｎまたは（Ｗ／Ｎ）＋１を満たす整数、Ｎは、３以上の整数）個の遅延回路をリング状に接続した発振回路を含む。Ｒ個の選択回路は、Ｒ個の距離信号およびＲ個の変換回路に対応して設けられ、各々がｋ個の経路選択回路を含む。検出回路は、Ｒ個の変換回路から出力されたＲ個の出力信号のうち、最も早く変化する出力信号を検出し、その検出した出力信号を検索データに最も類似した参照データを示す信号として出力する。そして、Ｒ個の選択回路の各々は、対応するＷビットの距離信号によって表される距離が小さいほどｋ個の遅延回路における遅延時間が短くなり、かつ、対応するＷビットの距離信号によって表される距離が大きいほどｋ個の遅延回路における遅延時間が長くなるようにｋ個の遅延回路の各々におけるＮ＋１個の遅延経路から１つの遅延経路を選択するためのｋ個の選択信号を対応するＷビットの距離信号に基づいて生成し、その生成したｋ個の選択信号を対応する変換回路へ出力する。Ｒ個の変換回路の各々は、対応する選択回路からｋ個の選択信号を受けると、その受けたｋ個の選択信号によって選択されたｋ個の遅延経路を介して発振し、その発振した発振信号を出力信号として検出回路へ出力する。
【００１０】
また、この発明の実施の形態によれば、連想メモリは、参照データ保存回路と、比較回路と、Ｒ個の変換回路と、Ｒ個の選択回路と、検出回路とを備える。参照データ保存回路は、Ｋ（Ｋは２以上の整数）ビットのビット長を有する参照データを列方向にＷ（Ｗは２以上の整数）個配列し、かつ、行方向にＲ（Ｒは２以上の整数）個配列してＷ×Ｒ個の参照データを保存する。比較回路は、Ｋビットのビット長を有し、かつ、検索対象である検索データをＷ×Ｒ個の参照データの各々とビット毎に比較し、各々が検索データと参照データとの間の距離を表し、かつ、各々がＫビットのビット値からなるＷ×Ｒ個の距離信号を検索データとＷ×Ｒ個の参照データとの比較結果として出力する。Ｒ個の変換回路は、各々が列方向に配列されたＷ個の参照データと検索データとの比較結果を示すＲ個の距離信号に対応して設けられる。Ｒ個の選択回路は、Ｒ個の距離信号およびＲ個の変換回路に対応して設けられる。検出回路は、Ｒ個の変換回路から出力されたＲ個の出力信号のうち、最も早く変化する出力信号を検出し、その検出した出力信号を検索データに最も類似した参照データを示す信号として出力する。そして、Ｒ個の選択回路の各々は、Ｒ個の距離信号のうち、対応する距離信号のＷ×Ｋ個のビット値に基づいて、参照データと検索データとの同位ビット同士が異なるとき第１の遅延時間を有する第１の遅延経路を選択し、同位ビット同士が一致するとき第１の遅延時間よりも短い第２の遅延時間を有する第２の遅延経路を選択するための選択信号を生成する。Ｒ個の変換回路の各々は、対応する選択回路から受けた選択信号によって選択された第１の遅延経路または第２の遅延経路を用いて、参照データと検索データとの最上位ビット同士の距離を示す第１の距離信号から参照データと検索データとの最下位ビット同士の距離を示す第２の距離信号に向かって遅延時間が順次短くなり、かつ、周波数が順次高くなるように第１の距離信号から第２の距離信号に向かって距離信号を発振信号に順次変換し、その変換した発振信号を出力信号として検出回路へ出力する。
【発明の効果】
【００１１】
この発明の実施の形態による連想メモリは、参照データと検索データとの間の距離を示す距離信号を時間領域の信号である発振信号に変換し、その変換した発振信号のうち、最も早く変化した発振信号をＷｉｎｎｅｒ行（参照データと検索データとが最も類似することを示す）の発振信号として出力する。これによって、検索データに最も類似する参照データが検索される。そして、時間領域の信号は、無限に設定可能である。その結果、Ｗｉｎｎｅｒ行とＬｏｓｅｒ行（参照データと検索データとがＷｉｎｎｅｒ行よりも類似しないことを示す）との時間差を検出可能に設定できる。
【００１２】
従って、誤検索を抑制できる。
【図面の簡単な説明】
【００１３】
【図１】この発明の実施の形態１による連想メモリの構成を示す概略ブロック図である。
【図２】図１に示す距離／時間変換回路の構成を示すブロック図である。
【図３】図２に示すＮビットステージの構成を示す回路図である。
【図４】図１に示すパスエンコーダの構成を示すブロック図である。
【図５】図４に示すパスエンコーダの構成図である。
【図６】図５に示すパス選択信号生成回路の回路図である。
【図７】図５に示すパス選択信号生成回路の回路図である。
【図８】図５に示すパス選択信号生成回路の回路図である。
【図９】図４に示すパスエンコーダの一般的な概念図である。
【図１０】図１に示す分周回路の構成図である。
【図１１】図１０に示す分周器の回路図である。
【図１２】図１１に示す分周器の入力信号および出力信号のタイミングチャートである。
【図１３】図１に示す時間領域ＷＴＡ回路の構成図である。
【図１４】図１３に示すＷｉｎｎｅｒ検出回路の回路図である。
【図１５】図１４に示すＮＡＮＤ回路の回路図である。
【図１６】図１４に示すＮＯＲ回路の回路図である。
【図１７】図１３に示す時間領域ＷＴＡ回路におけるタイミングチャートである。
【図１８】図１３に示すＷｉｎｎｅｒ検出回路の他の回路図である。
【図１９】図１８に示すプリチャージ／キーパーの回路図である。
【図２０】図１３に示すフィードバック回路の回路図である。
【図２１】図１に示すメモリ部の具体例を示す図である。
【図２２】図２１に示す４ビットステージの構成を示す回路図である。
【図２３】図２１に示す４ビットパスエンコーダの構成図である。
【図２４】図２３に示すパス選択信号生成回路の回路図である。
【図２５】従来のパスエンコーダの回路図である。
【図２６】従来の４ビットステージの回路図である。
【図２７】図２６に示す４ビットステージの動作を説明するための図である。
【図２８】実施の形態２による連想メモリの構成を示す概略ブロック図である。
【図２９】図２８に示すパスエンコーダの動作を説明するための図である。
【図３０】図２８に示す距離／時間変換回路の構成を示すブロック図である。
【図３１】図２８に示す距離／時間変換回路の他の構成を示すブロック図である。
【図３２】図２８に示す距離／時間変換回路の更に他の構成を示すブロック図である。
【図３３】図３２に示すマルチプレクサの回路図である。
【図３４】図３２に示すＥＮ選択回路の回路図である。
【図３５】図３２に示す一方の段数可変分周器の回路図である。
【図３６】図３２に示す他方の段数可変分周器の回路図である。
【図３７】図３２に示すスイッチング回路のブロック図である。
【図３８】図３７に示すシフトレジスタの回路図である。
【図３９】図３７に示すセレクタの回路図である。
【図４０】信号のタイミングチャートである。
【図４１】図３２に示す距離／時間変換回路を備える連想メモリの動作を説明するための第１の概念図である。
【図４２】図３２に示す距離／時間変換回路を備える連想メモリの動作を説明するための第２の概念図である。
【図４３】図２８に示す距離／時間変換回路の更に他の構成を示すブロック図である。
【図４４】図４３に示すマルチプレクサの回路図である。
【図４５】図４３に示す段数可変分周器の回路図である。
【発明を実施するための形態】
【００１４】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００１５】
［実施の形態１］
図１は、この発明の実施の形態１による連想メモリの構成を示す概略ブロック図である。図１を参照して、この発明の実施の形態１による連想メモリ１００は、メモリアレイ部１０と、分周回路２０と、時間領域ＷＴＡ（Ｗｉｎｎｅｒ  Ｔａｋｅ  Ａｌｌ）回路３０とを備える。
【００１６】
メモリアレイ部１０は、メモリ部１と、行デコーダ２と、列デコーダ３と、読出／書込回路４と、検索データ保存回路５とを含む。
【００１７】
メモリ部１は、参照データ保存回路（Ｓｔｏｒａｇｅ  Ｃｅｌｌ：ＳＣ）ＳＣ１１〜ＳＣ１Ｗ，ＳＣ２１〜ＳＣ２Ｗ，・・・，ＳＣＲ１〜ＳＣＲＷと、ユニット比較回路（Ｕｎｉｔ  Ｃｏｍｐａｒａｔｏｒ：ＵＣ）ＵＣ１１〜ＵＣ１Ｗ，ＵＣ２１〜ＵＣ２Ｗ，・・・，ＵＣＲ１〜ＵＣＲＷと、パスエンコーダＰＥ１〜ＰＥＲと、距離／時間変換回路ＤＴ１〜ＤＴＲとを含む。なお、ＷおよびＲの各々は、２以上の整数である。
【００１８】
ユニット比較回路ＵＣ１１〜ＵＣ１Ｗは、それぞれ、参照データ保存回路ＳＣ１１〜ＳＣ１Ｗに対応して設けられる。また、ユニット比較回路ＵＣ２１〜ＵＣ２Ｗは、それぞれ、参照データ保存回路ＳＣ２１〜ＳＣ２Ｗに対応して設けられる。以下、同様にして、ユニット比較回路ＵＣＲ１〜ＵＣＲＷは、それぞれ、参照データ保存回路ＳＣＲ１〜ＳＣＲＷに対応して設けられる。
【００１９】
パスエンコーダＰＥ１は、参照データ保存回路ＳＣ１１〜ＳＣ１Ｗおよびユニット比較回路ＵＣ１１〜ＵＣ１Ｗに対応して配置される。パスエンコーダＰＥ２は、参照データ保存回路ＳＣ２１〜ＳＣ２Ｗおよびユニット比較回路ＵＣ２１〜ＵＣ２Ｗに対応して配置される。以下、同様にして、パスエンコーダＰＥＲは、参照データ保存回路ＳＣＲ１〜ＳＣＲＷおよびユニット比較回路ＵＣＲ１〜ＵＣＲＷに対応して配置される。
【００２０】
距離／時間変換回路ＤＴ１は、パスエンコーダＰＥ１に対応して設けられる。距離／時間変換回路ＤＴ２は、パスエンコーダＰＥ２に対応して設けられる。以下、同様にして、距離／時間変換回路ＤＴＲは、パスエンコーダＰＥＲに対応して設けられる。
【００２１】
参照データ保存回路ＳＣ１１〜ＳＣ１Ｗ，ＳＣ２１〜ＳＣ２Ｗ，・・・，ＳＣＲ１〜ＳＣＲＷは、行デコーダ２、列デコーダ３および読出／書込回路４によって書き込まれた参照データを保存する。この場合、参照データ保存回路ＳＣ１１〜ＳＣ１Ｗは、Ｗビットの参照データ１を保存し、参照データ保存回路ＳＣ２１〜ＳＣ２Ｗは、Ｗビットの参照データ２を保存し、以下、同様にして、参照データ保存回路ＳＣＲ１〜ＳＣＲＷは、Ｗビットの参照データＲを保存する。つまり、参照データ保存回路ＳＣ１１〜ＳＣ１Ｗ，ＳＣ２１〜ＳＣ２Ｗ，・・・，ＳＣＲ１〜ＳＣＲＷの各々は、参照データの１ビットを保存する。
【００２２】
ユニット比較回路ＵＣ１１〜ＵＣ１Ｗは、参照データ保存回路ＳＣ１１〜ＳＣ１Ｗに保存されたＷビットの参照データ１と、検索データ保存回路５に保存されたＷビットの検索データとを比較する。また、ユニット比較回路ＵＣ２１〜ＵＣ２Ｗは、参照データ保存回路ＳＣ２１〜ＳＣ２Ｗに保存されたＷビットの参照データ２と、検索データ保存回路５に保存されたＷビットの検索データとを比較する。以下、同様にして、ユニット比較回路ＵＣＲ１〜ＵＣＲＷは、参照データ保存回路ＳＣＲ１〜ＳＣＲＷに保存されたＷビットの参照データＲと、検索データ保存回路５に保存されたＷビットの検索データとを比較する。そして、ユニット比較回路ＵＣ１１〜ＵＣ１Ｗ、ユニット比較回路ＵＣ２１〜ＵＣ２Ｗ、・・・、およびユニット比較回路ＵＣＲ１〜ＵＣＲＷにおける参照データと検索データとの比較は、並列に行なわれる。
【００２３】
そして、ユニット比較回路ＵＣ１１〜ＵＣ１Ｗは、参照データ１と検索データとの比較結果をＷビットの距離信号としてパスエンコードＰＥ１へ出力し、ユニット比較回路ＵＣ２１〜ＵＣ２Ｗは、参照データ２と検索データとの比較結果をＷビットの距離信号としてパスエンコードＰＥ２へ出力し、以下、同様にして、ユニット比較回路ＵＣＲ１〜ＵＣＲＷは、参照データＲと検索データとの比較結果をＷビットの距離信号としてパスエンコードＰＥＲへ出力する。これらのＲ個の距離信号の各々は、参照データと検索データとの間の距離を表す。
【００２４】
なお、ユニット比較回路ＵＣ１１〜ＵＣ１Ｗ、ユニット比較回路ＵＣ２１〜ＵＣ２Ｗ、・・・、およびユニット比較回路ＵＣＲ１〜ＵＣＲＷにおける参照データと検索データとの比較は、ハミング距離を用いて行なわれる。
【００２５】
すなわち、ユニット比較回路ＵＣ１１〜ＵＣ１Ｗ、ユニット比較回路ＵＣ２１〜ＵＣ２Ｗ、・・・、およびユニット比較回路ＵＣＲ１〜ＵＣＲＷは、次式を用いて検索データと参照データとの比較を行なう。
【００２６】
【数１】
0005800422.tif 000002
【００２７】
式（１）において、Ｄｈは、ハミング距離であり、Ａｊは、参照データであり、Ｂｊは、検索データである。そして、各データＡｊ，Ｂｊは、１ビットからなる。
【００２８】
パスエンコーダＰＥ１は、ユニット比較回路ＵＣ１１〜ＵＣ１ＷからＷビットの距離信号を受け、その受けたＷビットの距離信号に基づいて後述する方法によって距離／時間変換回路ＤＴ１における遅延経路を選択するための選択信号を生成し、その生成した選択信号を距離／時間変換回路ＤＴ１へ出力する。パスエンコーダＰＥ２は、ユニット比較回路ＵＣ２１〜ＵＣ２ＷからＷビットの距離信号を受け、その受けたＷビットの距離信号に基づいて後述する方法によって距離／時間変換回路ＤＴ２における遅延経路を選択するための選択信号を生成し、その生成した選択信号を距離／時間変換回路ＤＴ２へ出力する。以下、同様にして、パスエンコーダＰＥＲは、ユニット比較回路ＵＣＲ１〜ＵＣＲＷからＷビットの距離信号を受け、その受けたＷビットの距離信号に基づいて後述する方法によって距離／時間変換回路ＤＴＲにおける遅延経路を選択するための選択信号を生成し、その生成した選択信号を距離／時間変換回路ＤＴＲへ出力する。
【００２９】
距離／時間変換回路ＤＴ１は、パスエンコーダＰＥ１から選択信号を受け、その受けた選択信号によって選択された遅延経路の遅延量だけ遅延させた発振信号Ｓ１を生成し、その生成した発振信号Ｓ１を分周回路２０へ出力する。距離／時間変換回路ＤＴ２は、パスエンコーダＰＥ２から選択信号を受け、その受けた選択信号によって選択された遅延経路の遅延量だけ遅延させた発振信号Ｓ２を生成し、その生成した発振信号Ｓ２を分周回路２０へ出力する。以下、同様にして、距離／時間変換回路ＤＴＲは、パスエンコーダＰＥＲから選択信号を受け、その受けた選択信号によって選択された遅延経路の遅延量だけ遅延させた発振信号ＳＲを生成し、その生成した発振信号ＳＲを分周回路２０へ出力する。
【００３０】
したがって、メモリ部１は、複数の参照データ１〜Ｒの各々と検索データとの比較を並列して行ない、その比較結果を示す複数の発振信号Ｓ１〜ＳＲを生成して分周回路２０へ出力する。
【００３１】
行デコーダ２は、メモリ部１の行方向のアドレスを指定する。列デコーダ３は、メモリ部１の列方向のアドレスを指定する。読出／書込回路４は、参照データを行デコーダ２および列デコーダ３によって指定された参照データ保存回路ＳＣ１１〜ＳＣ１Ｗ，ＳＣ２１〜ＳＣ２Ｗ，・・・，ＳＣＲ１〜ＳＣＲＷに書き込むとともに、検索データを検索データ保存回路５に書き込む。
【００３２】
検索データ保存回路５は、読出／書込回路４によって書き込まれた検索データ（Ｗビットのデータ）を保存する。
【００３３】
分周回路２０は、発振信号Ｓ１〜ＳＲをそれぞれ距離／時間変換回路ＤＴ１〜ＤＴＲから受け、その受けた発振信号Ｓ１〜ＳＲを分周し、その分周した発振信号Ｓｄ１〜ＳｄＲを時間領域ＷＴＡ回路３０へ出力する。
【００３４】
時間領域ＷＴＡ回路３０は、発振信号Ｓｄ１〜ＳｄＲを分周回路２０から受け、その受けた発振信号Ｓｄ１〜ＳｄＲのうち、最も早く変化する発振信号（発振信号Ｓｄ１〜ＳｄＲのいずれか）を検出する。そして、時間領域ＷＴＡ回路３０は、最も早く変化する発振信号に対応した行をＷｉｎｎｅｒ行（＝１）とし、最も早く変化する発振信号以外の発振信号に対応した行をＬｏｓｅｒ行（＝０）としてマッチ信号Ｍ１〜ＭＲを出力する。
【００３５】
図２は、図１に示す距離／時間変換回路ＤＴ１の構成を示すブロック図である。図２を参照して、距離／時間変換回路ＤＴ１は、ＮＡＮＤ回路４０と、Ｎビットステージ４１〜４ｋとを含む。ここで、Ｎは、３以上の整数であり、ｋは、ｋ＝Ｗ／Ｎまたは（Ｗ／Ｎ）＋１を満たす整数であり、ｉは、２≦ｉ≦ｋである。
【００３６】
ＮＡＮＤ回路４０およびＮビットステージ４１〜４ｋは、リング状に接続される。ＮＡＮＤ回路４０は、連想メモリ１００の制御回路（図示せず）からイネーブル信号ＳＥ（＝１）を受け、Ｎビットステージ４ｋから発振信号を受ける。そして、ＮＡＮＤ回路４０は、イネーブル信号ＳＥと発振信号との論理積を演算し、その演算した論理積を反転した信号をＮビットステージ４１へ出力する。
【００３７】
Ｎビットステージ４１〜４ｋは、パスエンコーダＰＥ１からそれぞれ選択信号ＳＬ１１〜ＳＬ１ｋを受ける。そして、Ｎビットステージ４１は、選択信号ＳＬ１１によって選択された遅延経路の遅延量だけ、ＮＡＮＤ回路４０からの信号を遅延し、その遅延した信号をＮビットステージ４２へ出力する。Ｎビットステージ４ｉは、選択信号ＳＬ１ｉによって選択された遅延経路の遅延量だけ入力信号を遅延し、その遅延した信号をＮビットステージ４ｉ＋１へ出力する。以下、同様にして、Ｎビットステージ４ｋは、選択信号ＳＬ１ｋによって選択された遅延経路の遅延量だけ入力信号を遅延し、その遅延した信号をＮＡＮＤ回路４０または外部（＝分周回路２０）へ出力する。
【００３８】
なお、図１に示す距離／時間変換回路ＤＴ２〜ＤＴＲの各々も、図２に示す距離／時間変換回路ＤＴ１と同じ構成からなる。
【００３９】
図３は、図２に示すＮビットステージ４１の構成を示す回路図である。図３を参照して、Ｎビットステージ４１は、トランスファゲート５１〜５Ｎ，８０〜８Ｎ，９０と、Ｎ型ＭＯＳ（Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）トランジスタ６１〜６Ｎと、遅延器７１〜７Ｎと、インバータ９１とを含む。
【００４０】
トランスファゲート５１〜５Ｎ，８０〜８Ｎ，９０の各々は、Ｎ型ＭＯＳトランジスタＡとＰ型ＭＯＳトランジスタＢとを並列に接続した構成からなる。
【００４１】
トランスファゲート５１は、入力端子であるノードＮ０と、ノードＮ１１との間に接続される。トランスファゲート５２は、ノードＮ２１とノードＮ１２との間に接続される。トランスファゲート５３は、ノードＮ２２とノードＮ１３との間に接続される。以下、同様にして、トランスファゲート５Ｎは、ノードＮ２Ｎ−１とノードＮ１Ｎとの間に接続される。このように、トランスファゲート５２〜５Ｎは、それぞれ、遅延器７１〜７Ｎ−１の出力側に接続される。
【００４２】
Ｎ型ＭＯＳトランジスタ６１〜６Ｎは、ソース端子がそれぞれノードＮ１１〜Ｎ１Ｎに接続され、ドレイン端子が接地ノードＧＮＤに接続され、ゲート端子がそれぞれトランスファゲート５１〜５ＮのＰ型ＭＯＳトランジスタＢのゲート端子に接続される。
【００４３】
遅延器７１は、ノードＮ１１とノードＮ２１との間に接続され、遅延器７２は、ノードＮ１２とノードＮ２２との間に接続され、遅延器７３は、ノードＮ１３とノードＮ２３との間に接続され、以下、同様にして、遅延器７Ｎは、ノードＮ１ＮとノードＮ２Ｎとの間に接続される。そして、遅延器７１〜７Ｎの各々は、偶数個のインバータが直列に接続された構成からなる。
【００４４】
トランスファゲート８０は、ノードＮ０とノードＮ１との間に接続される。トランスファゲート８１は、ノードＮ２１とノードＮ１との間に接続され、トランスファゲート８２は、ノードＮ２２とノードＮ１との間に接続され、トランスファゲート８３は、ノードＮ２３とノードＮ１との間に接続され、以下、同様にして、トランスファゲート８Ｎは、ノードＮ２ＮとノードＮ１との間に接続される。トランスファゲート９０は、ダミーであり、ノードＮ２Ｎと、接地ノードＧＮＤとの間に接続される。
【００４５】
インバータ９１は、その入力端子がノードＮ１に接続される。
【００４６】
トランスファゲート５１〜５Ｎは、それぞれ、信号ＥＮ１，ＥＮ１Ｑ〜信号ＥＮＮ，ＥＮＮＱをパスエンコーダＰＥ１から受ける。この場合、トランスファゲート５１〜５ＮのＮ型ＭＯＳトランジスタＡは、それぞれ、信号ＥＮ１〜ＥＮＮをゲート端子に受け、トランスファゲート５１〜５ＮのＰ型ＭＯＳトランジスタＢは、それぞれ、信号ＥＮ１Ｑ〜ＥＮＮＱをゲート端子に受ける。
【００４７】
トランスファゲート８０〜８Ｎは、それぞれ、信号Ｄｉｓｔ０，Ｄｉｓｔ０Ｑ〜信号ＤｉｓｔＮ，ＤｉｓｔＮＱをパスエンコーダＰＥ１から受ける。この場合、トランスファゲート８０〜８ＮのＮ型ＭＯＳトランジスタＡは、それぞれ、信号Ｄｉｓｔ０〜ＤｉｓｔＮをゲート端子に受け、トランスファゲート８０〜８ＮのＰ型ＭＯＳトランジスタＢは、それぞれ、信号Ｄｉｓｔ０Ｑ〜ＤｉｓｔＮＱをゲート端子に受ける。
【００４８】
なお、トランスファゲート９０のＮ型ＭＯＳトランジスタＡは、ゲート端子が接地ノードＧＮＤに接続され、トランスファゲート９０のＰ型ＭＯＳトランジスタＢは、ゲート端子が電源ノードＶＤＤに接続されているので、トランスファゲート９０は、常時、オフされている。
【００４９】
信号Ｄｉｓｔ０〜ＤｉｓｔＮ，Ｄｉｓｔ０Ｑ〜ＤｉｓｔＮＱおよび信号ＥＮ１〜ＥＮＮ，ＥＮ１Ｑ〜ＥＮＮＱは、図２に示す選択信号ＳＬ１１を構成する。そして、信号Ｄｉｓｔ０Ｑ〜ＤｉｓｔＮＱは、それぞれ、信号Ｄｉｓｔ０〜ＤｉｓｔＮの反転信号であり、信号ＥＮ１Ｑ〜ＥＮＮＱは、それぞれ、信号ＥＮ１〜ＥＮＮの反転信号である。
【００５０】
信号Ｄｉｓｔ０，Ｄｉｓｔ１Ｑ〜ＤｉｓｔＮＱおよび信号ＥＮ１Ｑ〜ＥＮＮＱの全てが“１”（＝論理ハイ、以下、同じ。）であり、信号Ｄｉｓｔ０Ｑ，Ｄｉｓｔ１〜ＤｉｓｔＮおよび信号ＥＮ１〜ＥＮＮの全てが“０”（＝論理ロー、以下、同じ。）である場合、トランスファゲート８０は、開き、トランスファゲート５１〜５Ｎ，８１〜８Ｎは、閉じ、Ｎ型ＭＯＳトランジスタ６１〜６Ｎは、オンされる。
【００５１】
その結果、信号は、ノードＮ０からトランスファゲート８０を介してインバータ９１へ入力し、インバータ９１で反転されて出力される。この場合、ノードＮ１１〜Ｎ１Ｎの電位は、接地ノードＧＮＤの電位に等しい。
【００５２】
また、信号Ｄｉｓｔ１，Ｄｉｓｔ０Ｑ，Ｄｉｓｔ２Ｑ〜ＤｉｓｔＮＱおよび信号ＥＮ１，ＥＮ２Ｑ〜ＥＮＮＱの全てが“１”であり、信号Ｄｉｓｔ１Ｑ，Ｄｉｓｔ０，Ｄｉｓｔ２〜ＤｉｓｔＮおよび信号ＥＮ１Ｑ，ＥＮ２〜ＥＮＮの全てが“０”である場合、トランスファゲート５１，８１は、開き、トランスファゲート５２〜５Ｎ，８０，８２〜８Ｎは、閉じ、Ｎ型ＭＯＳトランジスタ６１は、オフされ、Ｎ型ＭＯＳトランジスタ６２〜６Ｎは、オンされる。
【００５３】
その結果、信号は、ノードＮ０からトランスファゲート５１を介して遅延器７１へ入力され、遅延器７１で所定時間だけ遅延された後、トランスファゲート８１を介してインバータ９１へ入力され、インバータ９１で反転されて出力される。この場合、ノードＮ１１の電位は、入力された信号の電位に等しく、ノードＮ１２〜Ｎ１Ｎの電位は、接地ノードＧＮＤの電位に等しい。
【００５４】
更に、信号Ｄｉｓｔ２，Ｄｉｓｔ０Ｑ，Ｄｉｓｔ１Ｑ，Ｄｉｓｔ３Ｑ〜ＤｉｓｔＮＱおよび信号ＥＮ１，ＥＮ２，ＥＮ３Ｑ〜ＥＮＮＱの全てが“１”であり、信号Ｄｉｓｔ２Ｑ，Ｄｉｓｔ０，Ｄｉｓｔ１，Ｄｉｓｔ３〜ＤｉｓｔＮおよび信号ＥＮ１Ｑ，ＥＮ２Ｑ，ＥＮ３〜ＥＮＮの全てが“０”である場合、トランスファゲート５１，５２，８２は、開き、トランスファゲート５３〜５Ｎ，８０，８１，８３〜８Ｎは、閉じ、Ｎ型ＭＯＳトランジスタ６１，６２は、オフされ、Ｎ型ＭＯＳトランジスタ６３〜６Ｎは、オンされる。
【００５５】
その結果、信号は、ノードＮ０からトランスファゲート５１を介して遅延器７１へ入力され、遅延器７１で所定時間だけ遅延された後、トランスファゲート５２を介して遅延器７２へ入力され、遅延器７２で所定時間だけ更に遅延された後、トランスファゲート８２を介してインバータ９１へ入力され、インバータ９１で反転されて出力される。つまり、信号は、２つの遅延器７１，７２によって遅延された後、インバータ９１へ入力され、インバータ９１で反転されて出力される。この場合、ノードＮ１１，Ｎ１２の電位は、入力された信号の電位に等しく、ノードＮ１３〜Ｎ１Ｎの電位は、接地ノードＧＮＤの電位に等しい。
【００５６】
以下、同様にして、信号ＤｉｓｔＮ，Ｄｉｓｔ０Ｑ〜ＤｉｓｔＮ−１Ｑおよび信号ＥＮ１〜ＥＮＮの全てが“１”であり、信号ＤｉｓｔＮＱ，Ｄｉｓｔ０〜ＤｉｓｔＮ−１および信号ＥＮ１Ｑ〜ＥＮＮＱの全てが“０”である場合、トランスファゲート５１〜５Ｎ，８Ｎは、開き、トランスファゲート８０〜８Ｎ−１は、閉じ、Ｎ型ＭＯＳトランジスタ６１〜６Ｎは、オフされる。
【００５７】
その結果、信号は、ノードＮ０からトランスファゲート５１を通過した後、遅延器７１〜７Ｎの全てによって遅延された後、トランスファゲート８Ｎを介してインバータ９１へ入力され、インバータ９１で反転されて出力される。この場合、ノードＮ１１〜Ｎ１Ｎの電位は、入力された信号の電位に等しい。
【００５８】
上述したように、遅延器７１〜７Ｎの各々は、偶数個のインバータが直列接続された構成からなり、信号は、選択信号ＳＬ１１によっていずれの経路が選択されてもインバータ９１を必ず通過するので、Ｎビットステージ４１は、選択信号ＳＬ１１によっていずれの経路が選択されても信号を奇数回反転して出力する。そして、Ｎビットステージ４１は、選択信号ＳＬ１１によって選択された経路に応じた遅延量だけ信号を遅延して出力する。即ち、Ｎビットステージ４１は、図３において、最も下側の経路が選択された場合、最も少ない遅延量だけ信号を遅延して出力し、最も上側の経路が選択された場合、最も多い遅延量だけ信号を遅延して出力する。
【００５９】
なお、図２に示すＮビットステージ４２〜４ｋの各々も、図３に示すＮビットステージ４１と同じ構成からなる。
【００６０】
再び、図２を参照して、Ｎビットステージ４１〜４ｋは、上述したように、それぞれ、選択信号ＳＬ１１〜ＳＬ１ｋによって選択された遅延経路の遅延量だけ信号を遅延して出力する。即ち、Ｎビットステージ４１〜４ｋは、それぞれ、選択信号ＳＬ１１〜ＳＬ１ｋによって選択された遅延経路に含まれるインバータの個数（奇数個）分だけ信号を反転して出力する。そして、Ｎビットステージ４１〜４ｋおよびＮＡＮＤ回路４０は、環状に接続されている。従って、Ｎビットステージ４１〜４ｋおよびＮＡＮＤ回路４０は、発振信号を生成し、その生成した発振信号を出力する。
【００６１】
このように、距離／時間変換回路ＤＴ１は、ｋ個のＮビットステージ４１〜４ｋ（＝ｋ個の遅延回路）をリング状に接続した発振回路からなる。距離／時間変換回路ＤＴ１〜ＤＴＲの各々も、同様に、ｋ個のＮビットステージ４１〜４ｋ（＝ｋ個の遅延回路）をリング状に接続した発振回路からなる。
【００６２】
図４は、図１に示すパスエンコーダＰＥ１の構成を示すブロック図である。図４を参照して、パスエンコーダＰＥ１は、パスエンコーダＰＥ１１〜ＰＥ１ｋを含む。
【００６３】
パスエンコーダＰＥ１１は、Ｎビットの距離信号をユニット比較回路ＵＣ１１〜ＵＣ１Ｎから受ける。そして、パスエンコーダＰＥ１１は、後述する方法によって、Ｎビットの距離信号に基づいて選択信号ＳＬ１１を生成し、その生成した選択信号ＳＬ１１をＮビットステージ４１へ出力する。
【００６４】
パスエンコーダＰＥ１２は、Ｎビットの距離信号をユニット比較回路ＵＣ１Ｎ＋１〜ＵＣ１２Ｎから受ける。そして、パスエンコーダＰＥ１２は、後述する方法によって、Ｎビットの距離信号に基づいて選択信号ＳＬ１２を生成し、その生成した選択信号ＳＬ１２をＮビットステージ４２へ出力する。
【００６５】
以下、同様にして、パスエンコーダＰＥ１ｋは、Ｎビットの距離信号をユニット比較回路ＵＣ１Ｗ−Ｎ〜ＵＣ１Ｗから受ける。そして、パスエンコーダＰＥ１ｋは、後述する方法によって、Ｎビットの距離信号に基づいて選択信号ＳＬ１ｋを生成し、その生成した選択信号ＳＬ１ｋをＮビットステージ４ｋへ出力する。
【００６６】
図５は、図４に示すパスエンコーダＰＥ１１の構成図である。図５を参照して、パスエンコーダＰＥ１１は、パス選択信号生成回路１１〜１Ｎ−１と、インバータＩＶ１〜ＩＶＮ−２，ＩＶ１１〜ＩＶ１Ｎ，ＩＶ２１〜ＩＶ２Ｎと、ＮＯＲ回路ＮＲ１〜ＮＲＮ−１とを含む。
【００６７】
パス選択信号生成回路１１〜１Ｎ−１は、直列に接続される。パス選択信号生成回路１１は、Ｎビットの距離信号Ｍ１〜ＭＮのうち、２ビットの距離信号Ｍ１，Ｍ２をユニット比較回路ＵＣ１１，ＵＣ１２から受ける。そして、パス選択信号生成回路１１は、後述する方法によって、２ビットの距離信号Ｍ１，Ｍ２に基づいて２ビットの選択信号ＥＮ１Ｑ２，ＥＮ２Ｑ２を生成し、その生成した２ビットの選択信号ＥＮ１Ｑ２，ＥＮ２Ｑ２をパス選択信号生成回路１２へ出力する。
【００６８】
パス選択信号生成回路１２は、パス選択信号生成回路１１から選択信号ＥＮ１Ｑ２，ＥＮ２Ｑ２を受け、ユニット比較回路ＵＣ１３から距離信号Ｍ３を受け、インバータＩＶ１から距離信号Ｍ３の反転信号／Ｍ３を受ける。そして、パス選択信号生成回路１２は、後述する方法によって、選択信号ＥＮ１Ｑ２，ＥＮ２Ｑ２、距離信号Ｍ３および反転信号／Ｍ３に基づいて３ビットの選択信号ＥＮ１Ｑ３，ＥＮ２Ｑ３，ＥＮ３Ｑ３を生成し、その生成した選択信号ＥＮ１Ｑ３，ＥＮ２Ｑ３，ＥＮ３Ｑ３をパス選択信号生成回路１３（図示せず）へ出力する。
【００６９】
以下、同様にして、パス選択信号生成回路１Ｎ−１は、パス選択信号生成回路１Ｎ−２からＮ−１ビットの選択信号ＥＮ１ＱＮ−１，ＥＮ２ＱＮ−１，・・・，ＥＮＮ−１ＱＮ−１を受け、ユニット比較回路ＵＣ１Ｎから距離信号ＭＮを受け、インバータＩＶＮ−２から距離信号ＭＮの反転信号／ＭＮを受ける。そして、パス選択信号生成回路１Ｎ−１は、後述する方法によって、選択信号ＥＮ１ＱＮ−１，ＥＮ２ＱＮ−１，・・・，ＥＮＮ−１ＱＮ−１、距離信号ＭＮおよび反転信号／ＭＮに基づいてＮビットの選択信号ＥＮ１ＱＮ，ＥＮ２ＱＮ，・・・，ＥＮＮＱＮを生成し、その生成した選択信号ＥＮ１ＱＮ，ＥＮ２ＱＮ，・・・，ＥＮＮＱＮをそれぞれインバータＩＶ１１〜ＩＶ１Ｎへ出力する。
【００７０】
インバータＩＶ１〜ＩＶＮ−２は、それぞれ、距離信号Ｍ３〜ＭＮを反転し、その反転した反転信号／Ｍ３〜／ＭＮをそれぞれパス選択信号生成回路１２〜１Ｎ−１へ出力する。
【００７１】
インバータＩＶ１１〜ＩＶ１Ｎは、それぞれ、選択信号ＥＮ１ＱＮ，ＥＮ２ＱＮ，・・・，ＥＮＮＱＮを受け、その受けた選択信号ＥＮ１ＱＮ，ＥＮ２ＱＮ，・・・，ＥＮＮＱＮを反転する。そして、インバータＩＶ１１〜ＩＶ１Ｎは、その反転した信号ＥＮ１Ｎ〜ＥＮＮＮをＮビットステージ４１へ出力するとともに、その反転した信号ＥＮ１Ｎ〜ＥＮＮＮを、それぞれ、インバータＩＶ２１〜ＩＶ２Ｎへ出力する。また、インバータＩＶ２２〜ＩＶ１Ｎは、その反転した信号ＥＮ２Ｎ〜ＥＮＮＮを、それぞれ、ＮＯＲ回路ＮＲ１〜ＮＲＮ−１へ出力する。
【００７２】
インバータＩＶ２１〜ＩＶ２Ｎは、それぞれ、信号ＥＮ１Ｎ〜ＥＮＮＮを反転し、その反転した信号ＥＮ１ＱＮ，ＥＮ２ＱＮ，・・・，ＥＮＮＱＮをＮビットステージ４１へ出力する。また、インバータＩＶ２１〜ＩＶ２Ｎ＝１は、その反転した信号ＥＮ１ＱＮ，ＥＮ２ＱＮ，・・・，ＥＮＮＱＮ−１を、それぞれ、ＮＯＲ回路ＮＲ１〜ＮＲＮ−１へ出力する。
【００７３】
ＮＯＲ回路ＮＲ１は、信号ＥＮ１ＱＮと信号ＥＮ２Ｎとの論理和を演算し、その演算した論理和を反転した信号Ｄｉｓｔ１ＮをＮビットステージ４１へ出力する。ＮＯＲ回路ＮＲ２は、信号ＥＮ２ＱＮと信号ＥＮ３Ｎとの論理和を演算し、その演算した論理和を反転した信号Ｄｉｓｔ２ＮをＮビットステージ４１へ出力する。以下、同様にして、ＮＯＲ回路ＮＲＮ−１は、信号ＥＮＮ−１ＱＮと信号ＥＮＮＮとの論理和を演算し、その演算した論理和を反転した信号ＤｉｓｔＮ−１ＮをＮビットステージ４１へ出力する。
【００７４】
なお、図５においては、図３に示す信号Ｄｉｓｔ０および信号ＤｉｓｔＮが生成されていないが、信号Ｄｉｓｔ０は、信号ＥＮ１Ｎの反転信号に等しく、信号ＤｉｓｔＮは、信号ＥＮＮＮに等しい。従って、パスエンコーダＰＥ１１は、信号ＥＮ１ＮをＮビットステージ４１のトランスファーゲート５１へ出力するとともに、信号ＥＮ１Ｎの反転信号をトランスファーゲート８０へ出力する。また、パスエンコーダＰＥ１１は、信号ＥＮＮＮをトランスファゲート５Ｎおよびトランスファゲート８Ｎへ出力する。
【００７５】
図６は、図５に示すパス選択信号生成回路１１の回路図である。図６を参照して、パス選択信号生成回路１１は、ＮＡＮＤ回路１１１と、ＮＯＲ回路１１２とを含む。ＮＡＮＤ回路１１１は、距離信号Ｍ１と距離信号Ｍ２との論理積を演算し、その演算した論理積を反転して信号ＥＮ１Ｑ２を生成し、その生成した信号ＥＮ１Ｑ２を出力する。
【００７６】
ＮＯＲ回路１１２は、距離信号Ｍ１と距離信号Ｍ２との論理和を演算し、その演算した論理和を反転して信号ＥＮ２Ｑ２を生成し、その生成した信号ＥＮ２Ｑ２を出力する。
【００７７】
図７は、図５に示すパス選択信号生成回路１２の回路図である。図７を参照して、パス選択信号生成回路１２は、Ｐ型ＭＯＳトランジスタ１２１と、トランスファゲート１２２〜１２５と、Ｎ型ＭＯＳトランジスタ１２６とを含む。
【００７８】
トランスファゲート１２２〜１２５の各々は、Ｐ型ＭＯＳトランジスタとＮ型ＭＯＳトランジスタとが並列に接続された構成からなる。
【００７９】
Ｐ型ＭＯＳトランジスタ１２１は、ソース端子が接地ノードＧＮＤに接続され、ドレイン端子がトランスファゲート１２２の出力端子に接続され、距離信号Ｍ３の反転信号Ｍ３Ｑをゲート端子に受ける。
【００８０】
トランスファゲート１２２は、信号ＥＮ１Ｑ２を入力端子に受ける。そして、トランスファゲート１２２のＰ型ＭＯＳトランジスタは、距離信号Ｍ３をゲート端子に受け、トランスファゲート１２２のＮ型ＭＯＳトランジスタは、反転信号Ｍ３Ｑをゲート端子に受ける。
【００８１】
トランスファゲート１２３は、信号ＥＮ１Ｑ２を入力端子に受ける。そして、トランスファゲート１２３のＰ型ＭＯＳトランジスタは、反転信号Ｍ３Ｑをゲート端子に受け、トランスファゲート１２３のＮ型ＭＯＳトランジスタは、距離信号Ｍ３をゲート端子に受ける。
【００８２】
トランスファゲート１２４は、信号ＥＮ２Ｑ２を入力端子に受ける。そして、トランスファゲート１２４のＰ型ＭＯＳトランジスタは、距離信号Ｍ３をゲート端子に受け、トランスファゲート１２４のＮ型ＭＯＳトランジスタは、反転信号Ｍ３Ｑをゲート端子に受ける。
【００８３】
トランスファゲート１２５は、信号ＥＮ２Ｑ２を入力端子に受ける。そして、トランスファゲート１２５のＰ型ＭＯＳトランジスタは、反転信号Ｍ３Ｑをゲート端子に受け、トランスファゲート１２５のＮ型ＭＯＳトランジスタは、距離信号Ｍ３をゲート端子に受ける。
【００８４】
Ｎ型ＭＯＳトランジスタ１２６は、ソース端子が電源ノードＶＤＤに接続され、ドレイン端子がトランスファゲート１２５の出力端子に接続される。
【００８５】
距離信号Ｍ３が“０”であり、反転信号Ｍ３Ｑが“１”である場合、トランスファゲート１２３，１２５は、閉じられ、Ｐ型ＭＯＳトランジスタ１２１がオフされ、Ｎ型ＭＯＳトランジスタ１２６がオンされ、トランスファゲート１２２，１２４が開かれる。従って、信号ＥＮ１Ｑ３＝ＥＮ１Ｑ２、信号ＥＮ２Ｑ３＝ＥＮ２Ｑ２、信号ＥＮ３Ｑ３＝１である。
【００８６】
一方、距離信号Ｍ３が“１”であり、反転信号Ｍ３Ｑが“０”である場合、トランスファゲート１２２，１２４は、閉じられ、Ｎ型ＭＯＳトランジスタ１２６がオフされ、Ｐ型ＭＯＳトランジスタ１２１がオンされ、トランスファゲート１２３，１２５が開かれる。従って、信号ＥＮ１Ｑ３＝０、信号ＥＮ２Ｑ３＝ＥＮ１Ｑ２、信号ＥＮ３Ｑ３＝ＥＮ２Ｑ２である。
【００８７】
パス選択信号生成回路１２の出力信号ＥＮ１Ｑ３〜ＥＮ３Ｑ３と距離信号Ｍ３との関係を表１に示す。
【００８８】
【表１】
0005800422.tif 000003
【００８９】
表１から解るように、パス選択信号生成回路１２は、距離信号Ｍ３が“０”である場合、信号ＥＮ１Ｑ２，ＥＮ２Ｑ２をそのまま出力し、距離信号Ｍ３が“１”である場合、信号ＥＮ１Ｑ２，ＥＮ２Ｑ２を１ビット分シフトして出力する。
【００９０】
図８は、図５に示すパス選択信号生成回路１Ｎ−１の回路図である。図８を参照して、パス選択信号生成回路１Ｎ−１は、Ｐ型ＭＯＳトランジスタ１３１と、トランスファゲート１３２〜１３５＋２Ｎ−３と、Ｎ型ＭＯＳトランジスタ１３６＋２Ｎ−３とを含む。
【００９１】
Ｐ型ＭＯＳトランジスタ１３１は、ソース端子が接地ノードＧＮＤに接続され、ドレイン端子がトランスファゲート１３２の出力端子に接続され、距離信号ＭＮの反転信号ＭＮＱをゲート端子に受ける。
【００９２】
トランスファゲート１３２〜１３５＋２Ｎ−３の各々は、Ｐ型ＭＯＳトランジスタとＮ型ＭＯＳトランジスタとが並列に接続された構成からなる。
【００９３】
トランスファゲート１３２，１３３、トランスファゲート１３４，１３５、トランスファゲート１３６，１３７、・・・、およびトランスファゲート１３４＋２Ｎ−３，１３５＋２Ｎ−３は、それぞれ、信号ＥＮ１ＱＮ−１〜ＥＮＮ−１ＱＮ−１を入力端子に受ける。
【００９４】
トランスファゲート１３２，１３４，１３６，・・・，１３４＋２Ｎ−３において、Ｐ型ＭＯＳトランジスタは、距離信号ＭＮをゲート端子に受け、Ｎ型ＭＯＳトランジスタは、距離信号ＭＮの反転信号ＭＮＱをゲート端子に受ける。
【００９５】
トランスファゲート１３３，１３５，１３７，・・・，１３５＋２Ｎ−３において、Ｐ型ＭＯＳトランジスタは、反転信号ＭＮＱをゲート端子に受け、Ｎ型ＭＯＳトランジスタは、距離信号ＭＮをゲート端子に受ける。
【００９６】
Ｎ型ＭＯＳトランジスタ１３６＋２Ｎ−３は、ソース端子が電源ノードＶＤＤに接続され、ドレイン端子がトランスファゲート１３５＋２Ｎ−３の出力端子に接続され、反転信号ＭＮＱをゲート端子に受ける。
【００９７】
距離信号ＭＮが“０”であり、反転信号ＭＮＱが“１”である場合、トランスファゲート１３３，１３５，１３７，・・・，１３５＋２Ｎ−３は、閉じられ、Ｐ型ＭＯＳトランジスタ１３１がオフされ、Ｎ型ＭＯＳトランジスタ１３６＋２Ｎ−３がオンされ、トランスファゲート１３２，１３４，１３６，・・・，１３４＋２Ｎ−３が開かれる。従って、信号ＥＮ１ＱＮ＝ＥＮ１ＱＮ−１、信号ＥＮ２ＱＮ＝ＥＮ２ＱＮ−１、信号ＥＮ３ＱＮ＝ＥＮ３ＱＮ−１、・・・、信号ＥＮＮ−１ＱＮ＝ＥＮＮ−１ＱＮ−１、信号ＥＮＮＱＮ＝１である。
【００９８】
一方、距離信号ＭＮが“１”であり、反転信号ＭＮＱが“０”である場合、トランスファゲート１３２，１３４，１３６，・・・，１３４＋２Ｎ−３は、閉じられ、Ｎ型ＭＯＳトランジスタ１３６＋２Ｎ−３がオフされ、Ｐ型ＭＯＳトランジスタ１３１がオンされ、トランスファゲート１３３，１３５，１３７，・・・，１３５＋２Ｎ−３が開かれる。従って、信号ＥＮ１ＱＮ＝０、信号ＥＮ２ＱＮ＝ＥＮ１ＱＮ−１、信号ＥＮ３ＱＮ＝ＥＮ２ＱＮ−１、・・・、ＥＮＮＱＮ＝ＥＮＮ−１ＱＮ−１である。
【００９９】
パス選択信号生成回路１Ｎ−１の出力信号ＥＮ１ＱＮ〜ＥＮＮＱＮと距離信号ＭＮとの関係を表２に示す。
【０１００】
【表２】
0005800422.tif 000004
【０１０１】
表２から解るように、パス選択信号生成回路１Ｎ−１は、距離信号ＭＮが“０”である場合、信号ＥＮ１ＱＮ−１〜ＥＮＮ−１ＱＮ−１をそのまま出力し、距離信号ＭＮが“１”である場合、信号ＥＮ１ＱＮ−１〜ＥＮＮ−１ＱＮ−１を１ビット分シフトして出力する。
【０１０２】
図９は、図４に示すパスエンコーダＰＥ１１の一般的な概念図である。図９を参照して、パスエンコーダＰＥ１１は、Ｎ−１ビットパスエンコーダ２００と、選択器２０１〜２０Ｎとを含む。
【０１０３】
Ｎ−１ビットパスエンコーダ２００は、Ｎ−１ビットの距離信号Ｍ１〜ＭＮ−１に基づいて、Ｎ−１ビットの信号ＥＮ１ＱＮ−１〜ＥＮＮ−１ＱＮ−１を生成し、その生成したＮ−１ビットの信号ＥＮ１ＱＮ−１〜ＥＮＮ−１ＱＮ−１を出力する。
【０１０４】
選択器２０１は、信号ＥＮ１ＱＮ−１および距離信号ＭＮを受ける。そして、選択器２０１は、距離信号ＭＮが“０”であるとき、信号ＥＮ１ＱＮ−１からなる信号ＥＮ１ＱＮを出力し、距離信号ＭＮが“１”であるとき、接地ノードＧＮＤの電位からなる信号（＝０）を信号ＥＮ１ＱＮとして出力する。
【０１０５】
選択器２０２は、信号ＥＮ１ＱＮ−１，ＥＮ２ＱＮ−１および距離信号ＭＮを受ける。そして、選択器２０２は、距離信号ＭＮが“０”であるとき、信号ＥＮ２ＱＮ−１からなる信号ＥＮ２ＱＮを出力し、距離信号ＭＮが“１”であるとき、信号ＥＮ１ＱＮ−１からなる信号ＥＮ２ＱＮを出力する。
【０１０６】
選択器２０３は、信号ＥＮ２ＱＮ−１，ＥＮ３ＱＮ−１および距離信号ＭＮを受ける。そして、選択器２０３は、距離信号ＭＮが“０”であるとき、信号ＥＮ３ＱＮ−１からなる信号ＥＮ３ＱＮを出力し、距離信号ＭＮが“１”であるとき、信号ＥＮ２ＱＮ−１からなる信号ＥＮ３ＱＮを出力する。
【０１０７】
以下、同様にして、選択器２０Ｎ−１は、信号ＥＮＮ−２ＱＮ−１，ＥＮＮ−１ＱＮ−１および距離信号ＭＮを受ける。そして、選択器２０Ｎ−１は、距離信号ＭＮが“０”であるとき、信号ＥＮＮ−１ＱＮ−１からなる信号ＥＮＮ−１ＱＮを出力し、距離信号ＭＮが“１”であるとき、信号ＥＮＮ−２ＱＮ−１からなる信号ＥＮＮ−１ＱＮを出力する。また、選択器２０Ｎは、信号ＥＮＮ−１ＱＮ−１および距離信号ＭＮを受ける。そして、選択器２０Ｎは、距離信号ＭＮが“０”であるとき、電源ノードＶＤＤからなる信号（＝１）を信号ＥＮＮＱＮとして出力し、距離信号ＭＮが“１”であるとき、信号ＥＮＮ−１ＱＮ−１からなる信号ＥＮＮＱＮを出力する。
【０１０８】
パスエンコーダＰＥ１１が３ビットパスエンコーダからなる場合、Ｎ−１ビットパスエンコーダ２００は、２ビットパスエンコーダからなり、具体的には、図６に示すパス選択信号生成回路１１からなる。従って、Ｎ−１ビットパスエンコーダ２００は、信号ＥＮ１Ｑ２，ＥＮ２Ｑ２を出力する。
【０１０９】
距離信号Ｍ３が“０”であるとき、図７に示すトランスファゲート１２２は、信号ＥＮ１Ｑ２を信号ＥＮ１Ｑ３として出力し、距離信号Ｍ３が“１”であるとき、図７に示すＰ型ＭＯＳトランジスタ１２１は、“０”からなる信号を信号ＥＮ１Ｑ３として出力する。従って、Ｐ型ＭＯＳトランジスタ１２１およびトランスファゲート１２２は、選択器２０１を構成する。
【０１１０】
また、距離信号Ｍ３が“０”であるとき、図７に示すトランスファゲート１２４は、信号ＥＮ２Ｑ２を信号ＥＮ２Ｑ３として出力し、距離信号Ｍ３が“１”であるとき、図７に示すトランスファゲート１２３は、信号ＥＮ１Ｑ２を信号ＥＮ２Ｑ３として出力する。従って、トランスファゲート１２３，１２４は、選択器２０２を構成する。
【０１１１】
更に、距離信号Ｍ３が“０”であるとき、図７に示すＮ型ＭＯＳトランジスタ１２６は、“１”からなる信号を信号ＥＮ３Ｑ３として出力し、距離信号Ｍ３が“１”であるとき、図７に示すトランスファゲート１２５は、信号ＥＮ２Ｑ２を信号ＥＮ３Ｑ３として出力する。従って、トランスファゲート１２５およびＮ型ＭＯＳトランジスタ１２６は、選択器２０３を構成する。
【０１１２】
また、パスエンコーダＰＥ１１がＮビットパスエンコーダからなる場合、Ｎ−１ビットパスエンコーダ２００は、パス選択信号生成回路１１〜１Ｎ−２からなり、Ｎ−１ビットの信号ＥＮ１ＱＮ−１〜ＥＮＮ−１ＱＮ−１を出力する。
【０１１３】
距離信号ＭＮが“０”であるとき、図８に示すトランスファゲート１３２は、信号ＥＮ１ＱＮ−１を信号ＥＮ１ＱＮとして出力し、距離信号ＭＮが“１”であるとき、図８に示すＰ型ＭＯＳトランジスタ１３１は、“０”からなる信号を信号ＥＮ１ＱＮとして出力する。従って、Ｐ型ＭＯＳトランジスタ１３１およびトランスファゲート１３２は、選択器２０１を構成する。
【０１１４】
また、距離信号ＭＮが“０”であるとき、図８に示すトランスファゲート１３４は、信号ＥＮ２ＱＮ−１を信号ＥＮ２ＱＮとして出力し、距離信号ＭＮが“１”であるとき、図８に示すトランスファゲート１３３は、信号ＥＮ１ＱＮ−１を信号ＥＮ２ＱＮとして出力する。従って、トランスファゲート１３３，１３４は、選択器２０２を構成する。
【０１１５】
更に、距離信号ＭＮが“０”であるとき、図８に示すトランスファゲート１３６は、信号ＥＮ３ＱＮ−１を信号ＥＮ３ＱＮとして出力し、距離信号ＭＮが“１”であるとき、図８に示すトランスファゲート１３５は、信号ＥＮ２ＱＮ−１を信号ＥＮ３ＱＮとして出力する。従って、トランスファゲート１３５，１３６は、選択器２０３を構成する。
【０１１６】
更に、距離信号ＭＮが“０”であるとき、図８に示すＮ型ＭＯＳトランジスタ１３６＋２Ｎ−３は、“１”からなる信号を信号ＥＮＮＱＮとして出力し、距離信号ＭＮが“１”であるとき、図８に示すトランスファゲート１３５＋２Ｎ−３は、信号ＥＮＮ−１ＱＮ−１を信号ＥＮＮＱＮとして出力する。従って、トランスファゲート１３５＋２Ｎ−３およびＮ型ＭＯＳトランジスタ１３６＋２Ｎ−３は、選択器２０Ｎを構成する。
【０１１７】
このように、図５から図８において説明したパスエンコーダＰＥ１１は、一般的には、図９に示すＮ−１ビットパスエンコーダ２００と、選択器２０１〜２０Ｎとからなる。そして、パスエンコーダＰＥ１１は、Ｎビットの距離信号Ｍ１〜ＭＮに基づいて、上述した方法によって、信号ＥＮ１Ｎ〜ＥＮＮＮ，ＥＮ１ＱＮ〜ＥＮＮＱＮ，Ｄｉｓｔ０Ｎ〜ＤｉｓｔＮＮを生成し、その生成した信号ＥＮ１Ｎ〜ＥＮＮＮ，ＥＮ１ＱＮ〜ＥＮＮＱＮ，Ｄｉｓｔ０Ｎ〜ＤｉｓｔＮＮをＮビットステージ４１へ出力する。従って、信号ＥＮ１Ｎ〜ＥＮＮＮ，ＥＮ１ＱＮ〜ＥＮＮＱＮ，Ｄｉｓｔ０Ｎ〜ＤｉｓｔＮＮは、選択信号ＳＬ１１を構成する。
【０１１８】
なお、図４に示すパスエンコーダＰＥ１２〜ＰＥ１ｋの各々も、図５から図９に示すパスエンコーダＰＥ１１と同じ構成からなる。従って、パスエンコーダＰＥ１２〜ＰＥ１ｋから出力される信号ＥＮ１Ｎ〜ＥＮＮＮ，ＥＮ１ＱＮ〜ＥＮＮＱＮ，Ｄｉｓｔ０Ｎ〜ＤｉｓｔＮＮは、それぞれ、選択信号ＳＬ１２〜ＳＬ１ｋを構成する。
【０１１９】
再び、図４を参照して、パスエンコーダＰＥ１１〜ＰＥ１ｋの各々は、パスエンコーダＰＥ１へ出力されるＷビットの距離信号のうち、Ｎビットの距離信号を受ける。そして、パスエンコーダＰＥ１１〜ＰＥ１ｋは、その受けたＮビットの距離信号に基づいて、上述した方法によってそれぞれ選択信号ＳＬ１１〜ＳＬ１ｋを生成し、その生成した選択信号ＳＬ１１〜ＳＬ１ｋをそれぞれＮビットステージ４１〜４ｋへ出力する。従って、Ｎビットステージ４１〜４ｋは、それぞれ、パスエンコーダＰＥ１１〜ＰＥ１ｋに対応して設けられる。
【０１２０】
図１０は、図１に示す分周回路２０の構成図である。図１０を参照して、分周回路２０は、分周器２１１〜２１Ｒを含む。
【０１２１】
分周器２１１〜２１Ｒは、それぞれ、距離／時間変換回路ＤＴ１〜ＤＴＲに対応して設けられる。そして、分周器２１１〜２１Ｒは、それぞれ、距離／時間変換回路ＤＴ１〜ＤＴＲから発振信号Ｓ１〜ＳＲを受け、その受けた発振信号Ｓ１〜ＳＲを所望の回数だけ分周する。そして、分周器２１１〜２１Ｒは、それぞれ、その分周した発振信号Ｓｄ１〜ＳｄＲを時間領域ＷＴＡ回路３０へ出力する。
【０１２２】
図１１は、図１０に示す分周器２１１の回路図である。図１１を参照して、分周器２１１は、トランスファゲート２１１１，２１１５，２１１６，２１２５と、Ｎ型ＭＯＳトランジスタ２１１２，２１１３,２１１４，２１１８，２１１９，２１２０，２１２４，２１２６と、Ｐ型ＭＯＳトランジスタ２１１７，２１２１，２１２２，２１２３，２１２７とを含む。
【０１２３】
トランスファゲート２１１１，２１１５，２１１６の各々は、並列に接続された２個のＰ型ＭＯＳトランジスタからなり、トランスファゲート２１２５は、並列に接続された２個のＮ型ＭＯＳトランジスタからなる。
【０１２４】
トランスファゲート２１１１およびＮ型ＭＯＳトランジスタ２１１２，２１１３は、電源ノードＶＤＤと接地ノードＧＮＤとの間に直列に接続される。トランスファゲート２１１１の一方のＰ型ＭＯＳトランジスタ（＝図１１の左側のＰ型ＭＯＳトランジスタ）およびＮ型ＭＯＳトランジスタ２１１３は、ゲート端子が入力端子Ｉｎに接続される。トランスファゲート２１１１の他方のＰ型ＭＯＳトランジスタ（＝図１１の右側のＰ型ＭＯＳトランジスタ）は、ゲート端子がＮ型ＭＯＳトランジスタ２１１２のゲート端子およびノードＮ３２に接続される。
【０１２５】
Ｎ型ＭＯＳトランジスタ２１１４は、ノードＮ３１とノードＮ３２との間に接続される。Ｎ型ＭＯＳトランジスタ２１１４のゲート端子は、トランスファゲート２１１５の一方のＰ型ＭＯＳトランジスタ（＝図１１の左側のＰ型ＭＯＳトランジスタ）のゲート端子に接続される。
【０１２６】
トランスファゲート２１１５，２１１６は、電源ノードＶＤＤとノードＮ３２との間に直列に接続される。トランスファゲート２１１５の他方のＰ型ＭＯＳトランジスタ（＝図１１の右側のＰ型ＭＯＳトランジスタ）は、ゲート端子が入力端子Ｉｎに接続される。トランスファゲート２１１６の一方のＰ型ＭＯＳトランジスタ（＝図１１の左側のＰ型ＭＯＳトランジスタ）のゲート端子は、ノードＮ３３と、Ｐ型ＭＯＳトランジスタ２１２２およびＮ型ＭＯＳトランジスタ２１２６のゲート端子とに接続される。トランスファゲート２１１６の他方のＰ型ＭＯＳトランジスタ（＝図１１の右側のＰ型ＭＯＳトランジスタ）のゲート端子は、Ｎ型ＭＯＳトランジスタ２１２０のゲート端子およびノードＮ３４に接続される。
【０１２７】
Ｐ型ＭＯＳトランジスタ２１１７は、電源ノードＶＤＤと、ノードＮ３７との間に接続される。そして、Ｐ型ＭＯＳトランジスタ２１１７のゲート端子は、ノードＮ３２に接続される。
【０１２８】
Ｎ型ＭＯＳトランジスタ２１１８は、ノードＮ３７と、接地ノードＧＮＤとの間に接続される。そして、Ｎ型ＭＯＳトランジスタ２１１８のゲート端子は、ノードＮ３２に接続される。
【０１２９】
Ｎ型ＭＯＳトランジスタ２１１９は、ノードＮ３２と接地ノードＧＮＤとの間に接続される。そして、Ｎ型ＭＯＳトランジスタ２１１９のゲート端子は、リセット信号Ｆｒｅ＿ＲＳＴを受ける。
【０１３０】
Ｎ型ＭＯＳトランジスタ２１２０は、ノードＮ３２とノードＮ３５との間に接続される。そして、Ｎ型ＭＯＳトランジスタ２１２０のゲート端子は、トランスファゲート２１１６の他方のＰ型ＭＯＳトランジスタ（＝図１１の右側のＰ型ＭＯＳトランジスタ）のゲート端子およびノードＮ３４に接続される。
【０１３１】
Ｐ型ＭＯＳトランジスタ２１２１は、ノードＮ３４とノードＮ３６との間に接続される。そして、Ｐ型ＭＯＳトランジスタ２１２１のゲート端子は、トランスファゲート２１２５の一方のＮ型ＭＯＳトランジスタ（＝図１１の左側のＮ型ＭＯＳトランジスタ）のゲート端子に接続される。
【０１３２】
Ｐ型ＭＯＳトランジスタ２１２２およびトランスファゲート２１２５は、電源ノードＶＤＤとノードＮ３５との間に直列に接続される。Ｐ型ＭＯＳトランジスタ２１２２のゲート端子は、ノードＮ３３およびトランスファゲート２１１６の一方のＰ型ＭＯＳトランジスタ（＝図１１の左側のＰ型ＭＯＳトランジスタ）のゲート端子に接続される。
【０１３３】
トランスファゲート２１２５の一方のＮ型ＭＯＳトランジスタ（＝図１１の左側のＮ型ＭＯＳトランジスタ）のゲート端子は、Ｐ型ＭＯＳトランジスタ２１２１のゲート端子に接続される。トランスファゲート２１２５の他方のＮ型ＭＯＳトランジスタ（＝図１１の右側のＮ型ＭＯＳトランジスタ）のゲート端子は、入力端子Ｉｎおよびトランスファゲート２１１５の他方のＰ型ＭＯＳトランジスタ（＝図１１の右側のＰ型ＭＯＳトランジスタ）に接続される。
【０１３４】
Ｐ型ＭＯＳトランジスタ２１２３は、電源ノードＶＤＤと、ノードＮ３８との間に接続される。そして、Ｐ型ＭＯＳトランジスタ２１２３のゲート端子は、ノードＮ３４に接続される。
【０１３５】
Ｎ型ＭＯＳトランジスタ２１２４は、ノードＮ３８と、接地ノードＧＮＤとの間に接続される。そして、Ｎ型ＭＯＳトランジスタ２１２４のゲート端子は、ノードＮ３４に接続される。
【０１３６】
Ｎ型ＭＯＳトランジスタ２１２６は、ノードＮ３５と接地ノードＧＮＤとの間に接続される。そして、Ｎ型ＭＯＳトランジスタ２１２６のゲート端子は、ノードＮ３３と、Ｐ型ＭＯＳトランジスタ２１２２のゲート端子とに接続される。
【０１３７】
Ｐ型ＭＯＳトランジスタ２１２７は、電源ノードＶＤＤとノードＮ３４との間に接続される。そして、Ｐ型ＭＯＳトランジスタ２１２７のゲート端子は、リセット信号Ｆｒｅ＿ＲＳＴの反転信号Ｆｒｅ＿ＲＳＴＱを受ける。
【０１３８】
出力端子Ｏｕｔは、ノードＮ３２に接続される。
【０１３９】
図１２は、図１１に示す分周器２１１の入力信号および出力信号のタイミングチャートである。
【０１４０】
図１２を参照して、発振信号Ｓ１，Ｓ２は、分周器２１１への入力信号であり、発振信号Ｓｄ１，Ｓｄ２は、分周器２１１からの出力信号である。そして、発振信号Ｓ１，Ｓ２，Ｓｄ１，Ｓｄ２は、一定の周期を有する周期信号である。
【０１４１】
発振信号Ｓ１が分周器２１１へ入力される場合を考える。分周器２１１がリセットされるとき、リセット信号Ｆｒｅ＿ＲＳＴは、“１”からなり、反転信号Ｆｒｅ＿ＲＳＴＱは、“０”からなるので、ノードＮ３２の電位は、接地ノードＧＮＤの電位Ｖ０からなり、ノードＮ３４の電位は、電源ノードＶＤＤの電位Ｖｄｄからなる。
【０１４２】
その結果、Ｐ型ＭＯＳトランジスタ２１１７およびトランスファゲート２１１１の他方のＰ型ＭＯＳトランジスタ（＝図１１の右側のＰ型ＭＯＳトランジスタ）は、オンされ、Ｎ型ＭＯＳトランジスタ２１１２，２１１８は、オフされる。そうすると、ノードＮ３７の電位は、電源ノードＶＤＤの電位Ｖｄｄからなり、トランスファゲート２１１５の一方のＰ型ＭＯＳトランジスタ（＝図１１の左側のＰ型ＭＯＳトランジスタ）は、オフされ、Ｎ型ＭＯＳトランジスタ２１１４は、オンされる。
【０１４３】
また、ノードＮ３３の電位は、電源ノードＶＤＤからトランスファゲート２１１１を介して流れる電流によって上昇し、電源ノードＶＤＤの電位Ｖｄｄになる。そして、トランスファゲート２１１６の一方のＰ型ＭＯＳトランジスタ（＝図１１の左側のＰ型ＭＯＳトランジスタ）およびＰ型ＭＯＳトランジスタ２１２２は、オフされ、Ｎ型ＭＯＳトランジスタ２１２６は、オンされる。
【０１４４】
更に、トランスファゲート２１１６の他方のＰ型ＭＯＳトランジスタ（＝図１１の右側のＰ型ＭＯＳトランジスタ）およびＰ型ＭＯＳトランジスタ２１２３は、オフされ、Ｎ型ＭＯＳトランジスタ２１２０，２１２４は、オンされる。そうすると、ノードＮ３８の電位は、接地ノードＧＮＤの電位Ｖ０からなり、Ｐ型ＭＯＳトランジスタ２１２１は、オンされ、トランスファゲート２１２５の一方のＮ型ＭＯＳトランジスタ（＝図１１の左側のＮ型ＭＯＳトランジスタ）は、オフされる。
【０１４５】
このような状態において、発振信号Ｓ１の“０”からなる成分ＳＳ１が入力端子Ｉｎに入力されると、Ｎ型ＭＯＳトランジスタ２１１３およびトランスファゲート２１２５の他方のＮ型ＭＯＳトランジスタ（＝図１１の右側のＮ型ＭＯＳトランジスタ）は、オフされ、トランスファゲート２１１５の他方のＰ型ＭＯＳトランジスタ（＝図１１の右側のＰ型ＭＯＳトランジスタ）は、オンされる。
【０１４６】
その結果、Ｎ型ＭＯＳトランジスタ２１１２は、オフされ、トランスファゲート２１１５，２１２５は、閉じられるので、ノードＮ３２の電位は、接地ノードＧＮＤの電位Ｖ０に維持され、分周器２１１は、“０”からなる発振信号Ｓｄ１を出力端子Ｏｕｔから出力する。
【０１４７】
その後、発振信号Ｓ１の“１”からなる成分ＳＳ２が入力端子Ｉｎに入力されると、Ｎ型ＭＯＳトランジスタ２１１３およびトランスファゲート２１２５の他方のＮ型ＭＯＳトランジスタ（＝図１１の右側のＮ型ＭＯＳトランジスタ）は、オンされ、トランスファゲート２１１５の他方のＰ型ＭＯＳトランジスタ（＝図１１の右側のＰ型ＭＯＳトランジスタ）は、オフされる。
【０１４８】
その結果、ノードＮ３４の電位は、電源ノードＶＤＤの電位Ｖｄｄから接地ノードＧＮＤの電位Ｖ０へ変化し、Ｎ型ＭＯＳトランジスタ２１２０は、オフされ、トランスファゲート２１１６の他方のＰ型ＭＯＳトランジスタ（＝図１１の右側のＰ型ＭＯＳトランジスタ）は、オンされる。また、ノードＮ３８の電位は、電源ノードＶＤＤの電位Ｖｄｄへ変化し、Ｐ型ＭＯＳトランジスタ２１２１は、オフされ、トランスファゲート２１２５の一方のＮ型ＭＯＳトランジスタ（＝図１１の左側のＮ型ＭＯＳトランジスタ）は、オンされる。
【０１４９】
そうすると、３個の電源ノードＶＤＤのいずれからも、ノードＮ３２へ電流が流れないので、ノードＮ３２の電位は、接地ノードＧＮＤの電位Ｖ０に維持され、分周器２１１は、“０”からなる発振信号Ｓｄ１を出力端子Ｏｕｔから出力する。
【０１５０】
更に、その後、発振信号Ｓ１の“０”からなる成分ＳＳ３が入力端子Ｉｎに入力されると、Ｎ型ＭＯＳトランジスタ２１１３およびトランスファゲート２１２５の他方のＮ型ＭＯＳトランジスタ（＝図１１の右側のＮ型ＭＯＳトランジスタ）は、オフされ、トランスファゲート２１１１の一方のＰ型ＭＯＳトランジスタ（＝図１１の左側のＰ型ＭＯＳトランジスタ）およびトランスファゲート２１１５の他方のＰ型ＭＯＳトランジスタ（＝図１１の右側のＮ型ＭＯＳトランジスタ）は、オンされる。
【０１５１】
その結果、電流が電源ノードＶＤＤからトランスファゲート２１１５，２１１６を介してノードＮ３２へ流れ、ノードＮ３２の電位は、電源ノードＶＤＤの電位Ｖｄｄからなる。そして、Ｐ型ＭＯＳトランジスタ２１１７がオフされ、Ｎ型ＭＯＳトランジスタ２１１８がオンされるので、ノードＮ３７の電位は、接地ノードＧＮＤの電位Ｖ０になり、トランスファゲート２１１５の一方のＰ型ＭＯＳトランジスタ（＝図１１の左側のＰ型ＭＯＳトランジスタ）がオンされ、Ｎ型ＭＯＳトランジスタ２１１４がオフされる。また、トランスファゲート２１１１の他方のＰ型ＭＯＳトランジスタ（＝図１１の右側のＰ型ＭＯＳトランジスタ）は、オフされ、Ｎ型ＭＯＳトランジスタ２１１２は、オンされる。
【０１５２】
従って、分周器２１１は、“１”からなる発振信号Ｓｄ１を出力端子Ｏｕｔから出力する。
【０１５３】
引き続いて、発振信号Ｓ１の“１”からなる成分ＳＳ４が入力端子Ｉｎに入力されると、トランスファゲート２１１１の一方のＰ型ＭＯＳトランジスタ（＝図１１の左側のＰ型ＭＯＳトランジスタ）がオフされ、Ｎ型ＭＯＳトランジスタ２１１３がオンされる。その結果、トランスファゲート２１１１は、閉じ、Ｎ型ＭＯＳトランジスタ２１１２，２１１３がオンされるので、ノードＮ３３の電位は、接地ノードＧＮＤの電位Ｖ０になる。
【０１５４】
そうすると、Ｐ型ＭＯＳトランジスタ２１２２がオンされ、Ｎ型ＭＯＳトランジスタ２１２６がオフされる。また、“１”からなる成分ＳＳ４に応じて、トランスファゲート２１２５の他方のＮ型ＭＯＳトランジスタ（＝図１１の右側のＮ型ＭＯＳトランジスタ）がオンされる。そして、電流が電源ノードＶＤＤからＰ型ＭＯＳトランジスタ２１２２を介してノードＮ３４へ流れ、ノードＮ３４の電位が電源ノードＶＤＤの電位Ｖｄｄになり、トランスファゲート２１１６の他方のＰ型ＭＯＳトランジスタ（＝図１１の右側のＰ型ＭＯＳトランジスタ）がオフされ、Ｎ型ＭＯＳトランジスタ２１２０がオンされる。
【０１５５】
従って、電流が電源ノードＶＤＤからＰ型ＭＯＳトランジスタ２１２２、トランスファゲート２１２５およびＮ型ＭＯＳトランジスタ２１２０を介してノードＮ３２へ流れ、ノードＮ３２の電位は、電源ノードＶＤＤの電位Ｖｄｄからなる。そして、分周器２１１は、“１”からなる発振信号Ｓｄ１を出力端子Ｏｕｔから出力する。
【０１５６】
その後、発振信号Ｓ１の“０”からなる成分ＳＳ５が入力端子Ｉｎに入力されると、トランスファゲート２１１１の一方のＰ型ＭＯＳトランジスタ（＝図１１の左側のＰ型ＭＯＳトランジスタ）がオンされ、Ｎ型ＭＯＳトランジスタ２１１３がオフされる。その結果、ノードＮ３３の電位は、電源ノードＶＤＤの電位Ｖｄｄになり、Ｐ型ＭＯＳトランジスタ２１２２がオフされ、Ｎ型ＭＯＳトランジスタ２１２６がオンされる。また、ノードＮ３３の電位（＝電位Ｖｄｄ）に応じて、トランスファゲート２１１６の一方のＰ型ＭＯＳトランジスタ（＝図１１の左側のＰ型ＭＯＳトランジスタ）がオフされ、トランスファゲート２１１６は、閉じられる。更に、“０”からなる成分ＳＳ５に応じて、トランスファゲート２１２５の他方のＮ型ＭＯＳトランジスタ（＝図１１の右側のＮ型ＭＯＳトランジスタ）がオフされ、トランスファゲート２１２５は、閉じる。
【０１５７】
その結果、電流がノードＮ３２からＮ型ＭＯＳトランジスタ２１２０，２１２６を介して接地ノードＧＮＤへ流れるので、ノードＮ３２の電位は、接地ノードＧＮＤの電位Ｖ０になる。従って、分周器２１１は、“０”からなる発振信号Ｓｄ１を出力端子Ｏｕｔから出力する。
【０１５８】
その後、分周器２１１は、上述した動作を繰り返し行い、発振信号Ｓｄ１を出力端子Ｏｕｔから出力する。
【０１５９】
また、分周器２１１は、発振信号Ｓ２が入力端子Ｉｎに入力されたときも、同様にして発振信号Ｓｄ２を出力端子Ｏｕｔから出力する。
【０１６０】
発振信号Ｓｄ１は、発振信号Ｓ１を遅延させた位相を有するとともに、発振信号Ｓ１の周期を２倍した周期を有する。また、発振信号Ｓｄ２は、発振信号Ｓ２を遅延させた位相を有するとともに、発振信号Ｓ２の周期を２倍した周期を有する。
【０１６１】
そして、発振信号Ｓ１と発振信号Ｓ２との位相差をＴｄ１とし、発振信号Ｓｄ１と発振信号Ｓｄ２との位相差をＴｄ２とした場合、位相差Ｔｄ２は、位相差Ｔｄ１よりも大きくなる。その結果、分周器２１１が無い場合に比べ、発振信号Ｓｄ１を正確に検出できる。
【０１６２】
また、分周器２１１は、２１個のトランジスタによって構成されているので、分周器２１１の占有面積を小さくできる。
【０１６３】
なお、図１０に示す分周器２１２〜２１Ｒの各々も、図１１に示す分周器２１１と同じ構成からなる。
【０１６４】
図１３は、図１に示す時間領域ＷＴＡ回路３０の構成図である。図１３を参照して、時間領域ＷＴＡ回路３０は、インバータ３０１〜３０Ｒ，３４０，３６０と、遅延回路３１１〜３１Ｒと、レジスタ３２１〜３２Ｒと、Ｗｉｎｎｅｒ検出回路３３０と、フィードバック回路３５０とを含む。
【０１６５】
インバータ３０１〜３０Ｒは、分周回路２０の分周器２１１〜２１Ｒに対応して設けられ、それぞれ、発振信号Ｓｄ１〜ＳｄＲを受ける。そして、インバータ３０１〜３０Ｒは、それぞれ、発振信号Ｓｄ１〜ＳｄＲを反転し、その反転した反転信号／Ｓｄ１〜／ＳｄＲをそれぞれ遅延回路３１１〜３１Ｒへ出力するとともに、反転信号／Ｓｄ１〜／ＳｄＲをＷｉｎｎｅｒ検出回路３３０へ出力する。
【０１６６】
遅延回路３１１〜３１Ｒの各々は、直列に接続された偶数個のインバータからなる。遅延回路３１１〜３１Ｒは、それぞれ、反転信号／Ｓｄ１〜／ＳｄＲを受け、その受けた反転信号／Ｓｄ１〜／ＳｄＲをτＲだけ遅延し、その遅延した反転信号／Ｓｄ１〜／ＳｄＲをそれぞれレジスタ３２１〜３２Ｒのデータ端子Ｄへ出力する。
【０１６７】
レジスタ３２１〜３２Ｒは、検索開始信号ＳＢ（＝０）の反転信号／ＳＢ（＝１）をインバータ３６０からリセット端子ＲＳＴに受け、フィードバック回路３５０から検索終了信号ＳＥをクロック端子ＣＬＫに受ける。
【０１６８】
レジスタ３２１〜３２Ｒは、反転信号／ＳＢをリセット端子ＲＳＴに受けると、リセットされる。また、レジスタ３２１〜３２Ｒは、それぞれ、反転信号／Ｓｄ１〜／ＳｄＲをデータ端子Ｄに受ける。更に、レジスタ３２１〜３２Ｒは、検索終了信号ＳＥをクロック端子ＣＬＫに受けないとき、それぞれ、データ端子Ｄに受けた反転信号／Ｓｄ１〜／ＳｄＲを出力し、検索終了信号ＳＥをクロック端子ＣＬＫに受けると、それぞれ、データ端子Ｄに受けた反転信号／Ｓｄ１〜／ＳｄＲをラッチ（保持）する。
【０１６９】
Ｗｉｎｎｅｒ検出回路３３０は、それぞれ、インバータ３０１〜３０Ｒから反転信号／Ｓｄ１〜／ＳｄＲを受け、その受けた反転信号／Ｓｄ１〜／ＳｄＲのうち、最も早く変化する反転信号（＝反転信号／Ｓｄ１〜／ＳｄＲのいずれか）を検出する。
【０１７０】
Ｗｉｎｎｅｒ検出回路３３０は、最も早く変化する反転信号（＝反転信号／Ｓｄ１〜／ＳｄＲのいずれか）を検出すると、検索終了信号ＳＥを生成し、その生成した検索終了信号ＳＥをインバータ３４０およびフィードバック回路３５０へ出力する。
【０１７１】
インバータ３４０は、Ｗｉｎｎｅｒ検出回路３３０から受けた検索終了信号ＳＥを反転して反転信号／ＳＥを出力する。
【０１７２】
フォードバック回路３５０は、Ｗｉｎｎｅｒ検出回路３３０から検索終了信号ＳＥを受け、その受けた検索終了信号ＳＥをＲ個のレジスタ３２１〜３２Ｒへ同時に出力する。
【０１７３】
インバータ３６０は、検索開始信号ＳＢを外部から受け、その受けた検索開始信号ＳＢを反転して反転信号／ＳＢをレジスタ３２１〜３２Ｒへ出力する。
【０１７４】
図１４は、図１３に示すＷｉｎｎｅｒ検出回路３３０の回路図である。図１４を参照して、Ｗｉｎｎｅｒ検出回路３３０は、ＮＯＲ回路３３０１〜３３０ｐ，３３２１〜３３２ｒ，３３４１，３３４２と、ＮＡＮＤ回路３３１１〜３３１ｑ，３３３１〜３３３４，３３５１とを含む。
【０１７５】
ここで、ｐは、ｐ＝Ｒ／２を満たす整数であり、ｑは、ｑ＝ｐ／２を満たす整数であり、ｒは、ｒ＝ｑ／２を満たす整数である。
【０１７６】
ＮＯＲ回路３３０１は、反転信号／Ｓｄ１，／Ｓｄ２を受け、その受けた反転信号／Ｓｄ１，／Ｓｄ２の論理和を演算し、その演算した論理和を反転してＮＡＮＤ回路３３１１へ出力する。
【０１７７】
ＮＯＲ回路３３０２は、反転信号／Ｓｄ３，／Ｓｄ４を受け、その受けた反転信号／Ｓｄ３，／Ｓｄ４の論理和を演算し、その演算した論理和を反転してＮＡＮＤ回路３３１１へ出力する。
【０１７８】
以下、同様にして、ＮＯＲ回路３３０ｐ−１は、反転信号／ＳｄＲ−３，／ＳｄＲ−２を受け、その受けた反転信号／ＳｄＲ−３，／ＳｄＲ−２の論理和を演算し、その演算した論理和を反転してＮＡＮＤ回路３３１ｑへ出力する。ＮＯＲ回路３３０ｐは、反転信号／ＳｄＲ−１，／ＳｄＲを受け、その受けた反転信号／ＳｄＲ−１，／ＳｄＲの論理和を演算し、その演算した論理和を反転してＮＡＮＤ回路３３１ｑへ出力する。
【０１７９】
ＮＡＮＤ回路３３１１は、ＮＯＲ回路３３０１の出力信号とＮＯＲ回路３３０２の出力信号との論理積を演算し、その演算した論理積を反転してＮＯＲ回路３３２１へ出力する。以下、同様にして、ＮＡＮＤ回路３３１ｑは、ＮＯＲ回路３３０ｐ−１の出力信号とＮＯＲ回路３３０ｐの出力信号との論理積を演算し、その演算した論理積を反転してＮＯＲ回路３３２ｒへ出力する。
【０１８０】
ＮＯＲ回路３３２１は、ＮＡＮＤ回路３３１１の出力信号と、ＮＡＮＤ回路３３１２（図示せず）の出力信号との論理和を演算し、その演算した論理和を反転してＮＡＮＤ回路３３３１へ出力する。以下、同様にして、ＮＯＲ回路３３２ｒは、ＮＡＮＤ回路３３１ｑ−１（図示せず）の出力信号とＮＡＮＤ回路３３１ｑの出力信号との論理和を演算し、その演算した論理和を反転してＮＡＮＤ回路３３３４へ出力する。
【０１８１】
ＮＡＮＤ回路３３３１は、ＮＯＲ回路３３２１の出力信号と、ＮＯＲ回路３３２２（図示せず）の出力信号との論理積を演算し、その演算した論理積を反転してＮＯＲ回路３３４１へ出力する。以下、同様にして、ＮＡＮＤ回路３３３４は、ＮＯＲ回路３３２ｒ−１（図示せず）の出力信号とＮＯＲ回路３３２ｒの出力信号との論理積を演算し、その演算した論理積を反転してＮＯＲ回路３３４２へ出力する。
【０１８２】
ＮＯＲ回路３３４１は、ＮＡＮＤ回路３３３１の出力信号と、ＮＡＮＤ回路３３３２（図示せず）の出力信号との論理和を演算し、その演算した論理和を反転してＮＡＮＤ回路３３５１へ出力する。ＮＯＲ回路３３４２は、ＮＡＮＤ回路３３３３（図示せず）の出力信号と、ＮＡＮＤ回路３３３４の出力信号との論理和を演算し、その演算した論理和を反転してＮＡＮＤ回路３３５１へ出力する。
【０１８３】
ＮＡＮＤ回路３３５１は、ＮＯＲ回路３３４１の出力信号とＮＯＲ回路３３４２の出力信号との論理積を演算し、その演算した論理積を反転して検索終了信号ＳＥを生成する。そして、ＮＡＮＤ回路３３５１は、検索終了信号ＳＥをインバータ３４０およびフォードバック回路３５０へ出力する。
【０１８４】
反転信号／Ｓｄ１がＷｉｎｎｅｒ行の反転信号であり、反転信号／Ｓｄ２〜／ＳｄＲがＬｏｓｅｒ行の反転信号である場合、ＮＯＲ回路３３０１は、“０”を出力し、ＮＯＲ回路３３０２〜３３０ｐは、“１”を出力する。
【０１８５】
そして、ＮＡＮＤ回路３３１１は、“１”を出力し、ＮＡＮＤ回路３３１２〜３３１ｑは、“０”を出力する。その後、ＮＯＲ回路３３２１は、“０”を出力し、ＮＯＲ回路３３２２〜３３２ｒは、“１”を出力する。引き続いて、ＮＡＮＤ回路３３３１は、“１”を出力し、ＮＡＮＤ回路３３３２〜３３３４は、“０”を出力する。そして、ＮＯＲ回路３３４１は、“０”を出力し、ＮＯＲ回路３３４２は、“１”を出力する。そうすると、ＮＡＮＤ回路３３５１は、“１”からなる検索終了信号ＳＥを出力する。
【０１８６】
反転信号／Ｓｄ２〜／ＳｄＲのいずれかがＷｉｎｎｅｒ行の反転信号である場合も、Ｗｉｎｎｅｒ検出回路３３０は、同様にして検索終了信号ＳＥを生成して出力する。
【０１８７】
Ｗｉｎｎｅｒ検出回路３３０は、２入力ゲートをトーナメント方式で接続した構成からなる。その結果、いずれの行がＷｉｎｎｅｒ行になっても、Ｗｉｎｎｅｒ行の反転信号がＷｉｎｎｅｒ検出回路３３０へ入力されてから検索終了信号ＳＥが出力されるまでに通過するＮＯＲ回路およびＮＡＮＤ回路の個数は、等しくなる。
【０１８８】
従って、いずれの行がＷｉｎｎｅｒ行になっても、Ｗｉｎｎｅｒ行の反転信号がＷｉｎｎｅｒ検出回路３３０へ入力されてから検索終了信号ＳＥが出力されるまでの遅延時間を一定にできる。
【０１８９】
図１５は、図１４に示すＮＡＮＤ回路３３１１の回路図である。図１５を参照して、ＮＡＮＤ回路３３１１は、Ｐ型ＭＯＳトランジスタ４０１，４０２と、Ｎ型ＭＯＳトランジスタ４０３〜４０６とを含む。
【０１９０】
Ｐ型ＭＯＳトランジスタ４０１，４０２は、電源ノードＶＤＤとノードＮ４１との間に並列に接続される。
【０１９１】
Ｎ型ＭＯＳトランジスタ４０３，４０５は、ノードＮ４１と接地ノードＧＮＤとの間に直列に接続される。また、Ｎ型ＭＯＳトランジスタ４０４，４０６は、ノードＮ４１と接地ノードＧＮＤとの間に直列に接続される。そして、直列に接続されたＮ型ＭＯＳトランジスタ４０３，４０５は、ノードＮ４１と接地ノードＧＮＤとの間で、直列に接続されたＮ型ＭＯＳトランジスタ４０４，４０６と並列に接続される。
【０１９２】
ＮＡＮＤ回路３３１１において、Ｐ型ＭＯＳトランジスタ４０１およびＮ型ＭＯＳトランジスタ４０３，４０６は、入力Ａをゲート端子に受け、Ｐ型ＭＯＳトランジスタ４０２およびＮ型ＭＯＳトランジスタ４０４，４０５は、入力Ｂをゲート端子に受ける。
【０１９３】
このように、ＮＡＮＤ回路３３１１は、出力容量が一定であるＰ型ＭＯＳトランジスタおよびＮ型ＭＯＳトランジスタを左右対称に配置した構成からなる。
【０１９４】
なお、図１４に示すＮＡＮＤ回路３３１２〜３３１ｑ，３３３１〜３３３４，３３５１の各々も、図１５に示すＮＡＮＤ回路３３１１と同じ構成からなる。
【０１９５】
図１６は、図１４に示すＮＯＲ回路３３０１の回路図である。図１６を参照して、ＮＯＲ回路３３０１は、Ｐ型ＭＯＳトランジスタ４１１〜４１４と、Ｎ型ＭＯＳトランジスタ４１５，４１６とを含む。
【０１９６】
Ｐ型ＭＯＳトランジスタ４１１，４１３は、電源ノードＶＤＤとノードＮ４２との間に直列に接続される。Ｐ型ＭＯＳトランジスタ４１２，４１４は、電源ノードＶＤＤとノードＮ４２との間に直列に接続される。そして、直列に接続されたＰ型ＭＯＳトランジスタ４１１，４１３は、電源ノードＶＤＤとノードＮ４２との間において、直列に接続されたＰ型ＭＯＳトランジスタ４１２，４１４と並列に接続される。
【０１９７】
Ｎ型ＭＯＳトランジスタ４１５，４１６は、ノードＮ４２と接地ノードＧＮＤとの間に並列に接続される。
【０１９８】
ＮＯＲ回路３３０１において、Ｐ型ＭＯＳトランジスタ４１１，４１４およびＮ型ＭＯＳトランジスタ４１５は、入力Ａをゲート端子に受け、Ｐ型ＭＯＳトランジスタ４１２，４１３およびＮ型ＭＯＳトランジスタ４１６は、入力Ｂをゲート端子に受ける。
【０１９９】
このように、ＮＯＲ回路３３０１は、出力容量が一定であるＰ型ＭＯＳトランジスタおよびＮ型ＭＯＳトランジスタを左右対称に配置した構成からなる。
【０２００】
なお、図１４に示すＮＯＲ回路３３０２〜３３０ｐ，３３２１〜３３２ｒ，３３４１，３３４２の各々も、図１６に示すＮＯＲ回路３３０１と同じ構成からなる。
【０２０１】
上述したように、ＮＯＲ回路３３０１〜３３０ｐ，３３２１〜３３２ｒ，３３４１，３３４２およびＮＡＮＤ回路３３１１〜３３１ｑ，３３３１〜３３３４，３３５１は、Ｐ型ＭＯＳトランジスタおよびＮ型ＭＯＳトランジスタを左右対称に配置した構成からなる。その結果、ＮＯＲ回路３３０１〜３３０ｐ，３３２１〜３３２ｒ，３３４１，３３４２における遅延時間が相互に等しくなり、ＮＡＮＤ回路３３１１〜３３１ｑ，３３３１〜３３３４，３３５１における遅延時間が相互に等しくなる。
【０２０２】
従って、いずれの行がＷｉｎｎｅｒ行になっても、Ｗｉｎｎｅｒ行の反転信号がＷｉｎｎｅｒ検出回路３３０へ入力されてから検索終了信号ＳＥが出力されるまでの遅延時間を一定にできる。
【０２０３】
図１７は、図１３に示す時間領域ＷＴＡ回路３０におけるタイミングチャートである。
【０２０４】
Ｗｉｎｎｅｒ行の信号が変化してからレジスタ（＝レジスタ３２１〜３２Ｒのいずれか）にデータが入力されるまでの時間をτＲとし、Ｗｉｎｎｅｒ行の信号の変化を検出してからレジスタ３２１〜３２Ｒの全てをラッチするまでの時間をτＳＥとし、レジスタ３２１〜３２Ｒのセットアップ時間をτＳＴとし、ばらつきを打ち消すためのマージン時間をτＭとし、距離１の時間差をτＳとする。
【０２０５】
図１７を参照して、タイミングｔ０（＝時刻０）でＷｉｎｎｅｒ行の信号が変化する。そして、タイミングｔ１でＷｉｎｎｅｒ行の信号がレジスタ（＝レジスタ３２１〜３２Ｒのいずれか）に入力される。
【０２０６】
その後、タイミングｔ２で全ての行のレジスタ３２１〜３２Ｒがラッチされる。そして、タイミングｔ３でＷｉｎｎｅｒ行に最も近いＬｏｓｅｒ行の信号がレジスタ（＝レジスタ３２１〜３２Ｒのいずれか）に入力される。
【０２０７】
タイミングｔ０からタイミングｔ２までの時間であるτＳＥは、τＳＥ＝τＲ＋τＳＴ＋τＭであるので、τＲは、τＲ＝τＳＥ−τＳＴ−τＭによって表される。
【０２０８】
そして、Ｗｉｎｎｅｒ行の信号の変化を検出してからレジスタ３２１〜３２Ｒの全てをラッチするまでの時間であるτＳＥがばらついても、Ｗｉｎｎｅｒ行の信号と、Ｗｉｎｎｅｒ行に最も近いＬｏｓｅｒ行の信号とを判別できるように、τＲを調整してマージン時間τＭを決定する。
【０２０９】
再び、図１３を参照して、発振信号Ｓｄ１がＷｉｎｎｅｒ行の発振信号である場合、Ｗｉｎｎｅｒ検出回路３３０は、反転信号／Ｓｄ１〜／ＳｄＲのうち、反転信号／Ｓｄ１の変化を最も早く検出し、検索終了信号ＳＥを生成する。
【０２１０】
遅延回路３１１は、反転信号／Ｓｄ１をτＲだけ遅延してレジスタ３２１へ出力し、レジスタ３２１は、反転信号／Ｓｄ１をデータ端子Ｄに受ける。
【０２１１】
その後、フィードバック回路３５０は、検索終了信号ＳＥをレジスタ３２１〜３２Ｒへ同時に出力し、レジスタ３２１〜３２Ｒは、検索終了信号ＳＥに応じてデータをラッチする。この段階で反転信号を受けているのは、レジスタ３２１だけであり、レジスタ３２１は、“１”からなる信号Ｍ１を出力し、レジスタ３２２〜３２Ｒは、それぞれ、“０”からなる信号Ｍ２〜ＭＲを出力する。
【０２１２】
図１８は、図１３に示すＷｉｎｎｅｒ検出回路３３０の他の回路図である。この発明の実施の形態においては、時間領域ＷＴＡ回路３０は、図１８に示すＷｉｎｎｅｒ検出回路３３０Ａを備えていてもよい。
【０２１３】
図１８を参照して、Ｗｉｎｎｅｒ検出回路３３０Ａは、Ｎ型ＭＯＳトランジスタ３３６１〜３３６Ｒと、プリチャージ／キーパー３３７１〜３３７ｓ−１，・・・，３３７Ｒ−ｓ〜３３７Ｒ−１，３３９ｓと、インバータ３３７ｓ，３３７Ｒ，３３８ｓ，３３８Ｒ，３３９Ｒとを含む。
【０２１４】
Ｎ型ＭＯＳトランジスタ３３６１〜３３６ｓ（ｓは２以上の整数）は、それぞれ、ノードＮ５１〜Ｎ５ｓと接地ノードＧＮＤとの間に接続される。
【０２１５】
Ｎ型ＭＯＳトランジスタ３３６Ｒ−ｓ〜３３６Ｒは、それぞれ、ノードＮ５Ｒ−ｓ〜Ｎ５Ｒと接地ノードＧＮＤとの間に接続される。
【０２１６】
そして、Ｎ型ＭＯＳトランジスタ３３６１〜３３６Ｒは、それぞれ、反転信号／Ｓｄ１〜／ＳｄＲをゲート端子に受ける。
【０２１７】
プリチャージ／キーパー３３７１〜３３７ｓ−１は、それぞれ、Ｎ型ＭＯＳトランジスタ３３６１〜３３６ｓのソース端子に接続される。プリチャージ／キーパー３３７Ｒ−ｓ〜３３７Ｒ−１は、それぞれ、Ｎ型ＭＯＳトランジスタ３３６Ｒ−ｓ〜３３６Ｒ−１のソース端子に接続される。
【０２１８】
インバータ３３７ｓは、その入力端子がＮ型ＭＯＳトランジスタ３３６ｓのソース端子に接続され、出力端子がＮ型ＭＯＳトランジスタ３３８ｓのゲート端子に接続される。
【０２１９】
インバータ３３７Ｒは、その入力端子がＮ型ＭＯＳトランジスタ３３６Ｒのソース端子に接続され、出力端子がＮ型ＭＯＳトランジスタ３３８Ｒのゲート端子に接続される。
【０２２０】
ｓ個のノードＮ５１〜Ｎ５ｓは、相互に接続され、ｓ個のノードＮ５Ｒ−ｓ〜Ｎ５Ｒは、相互に接続される。
【０２２１】
Ｎ型ＭＯＳトランジスタ３３８ｓ，・・・，３３８Ｒは、それぞれ、ノードＮ６ｓ，・・・，Ｎ６Ｒと接地ノードＧＮＤとの間に接続される。
【０２２２】
プリチャージ／キーパー３３９ｓは、Ｎ型ＭＯＳトランジスタ３３８ｓのソース端子に接続される。
【０２２３】
インバータ３３９Ｒは、反転信号／ＳｄＲにのみ対応して設けられ、その入力端子がＮ型ＭＯＳトランジスタ３３８Ｒのソース端子に接続される。
【０２２４】
ノードＮ６ｓ，・・・，Ｎ６Ｒは、反転信号／Ｓｄ１〜／ＳｄＲのｓ個毎に設けられ、相互に接続される。また、プリチャージ／キーパー３３９ｓは、反転信号／Ｓｄ１〜／ＳｄＲ−１のｓ個毎に設けられる。
【０２２５】
プリチャージ／キーパー３３７１〜３３７ｓ−１は、それぞれ、ノードＮ５１〜Ｎ５ｓを電源ノードＶＤＤの電位にプリチャージするとともに、そのプリチャージした電位を保持する。
【０２２６】
プリチャージ／キーパー３３７Ｒ−ｓ〜３３７Ｒは、それぞれ、ノードＮ５Ｒ−ｓ〜Ｎ５Ｒを電源ノードＶＤＤの電位にプリチャージするとともに、そのプリチャージした電位を保持する。
【０２２７】
プリチャージ／キーパー３３９ｓ，・・・は、それぞれ、ノードＮ６ｓ，・・・Ｎ６Ｒを電源ノードＶＤＤの電位にプリチャージするとともに、そのプリチャージした電位を保持する。
【０２２８】
図１９は、図１８に示すプリチャージ／キーパー３３７１の回路図である。図１９を参照して、プリチャージ／キーパー３３７１は、インバータ４２１，４２４，４２６と、ＮＯＲ回路４２２と、Ｐ型ＭＯＳトランジスタ４２３と、ＮＡＮＤ回路４２５と、Ｎ型ＭＯＳトランジスタ４２７とを含む。
【０２２９】
Ｐ型ＭＯＳトランジスタ４２３およびＮ型ＭＯＳトランジスタ４２７は、電源ノードＶＤＤと接地ノードＧＮＤとの間に直列に接続される。Ｐ型ＭＯＳトランジスタ４２３のゲート端子は、ＮＯＲ回路４２２の出力端子に接続される。Ｎ型ＭＯＳトランジスタ４２７のゲート端子は、インバータ４２６の出力端子に接続される。
【０２３０】
ＮＯＲ回路４２２は、インバータ４２１の出力端子と、Ｐ型ＭＯＳトランジスタ４２３のゲート端子との間に接続される。インバータ４２４は、ＮＯＲ回路４２２の入力端子およびノードＮ７１と、ＮＡＮＤ回路４２５の入力端子との間に接続される。
【０２３１】
ＮＡＮＤ回路４２５は、インバータ４２１の入力端子およびインバータ４２４の出力端子と、インバータ４２６の入力端子との間に接続される。インバータ４２６は、ＮＡＮＤ回路４２５の出力端子と、Ｎ型ＭＯＳトランジスタ４２７のゲート端子との間に接続される。
【０２３２】
インバータ４２１は、検索開始信号ＳＢの反転信号／ＳＢを連想メモリ１００の制御回路（図示せず）から受け、その受けた反転信号／ＳＢを反転してＮＯＲ回路４２２へ出力する。
【０２３３】
ＮＯＲ回路４２２は、インバータ４２１の出力信号と、インバータ４２４の入力信号（＝ノードＮ７１の電位からなる信号）との論理和を演算し、その演算した論理和を反転してＰ型ＭＯＳトランジスタ４２３のゲート端子へ出力する。
【０２３４】
インバータ４２４は、ノードＮ７１の電位からなる信号を反転してＮＡＮＤ回路４２５へ出力する。
【０２３５】
ＮＡＮＤ回路４２５は、反転信号／ＳＢと、インバータ４２４の出力信号との論理積を演算し、その演算した論理積を反転してインバータ４２６へ出力する。インバータ４２６は、ＮＡＮＤ回路４２５の出力信号を反転してＮ型ＭＯＳトランジスタ４２７のゲート端子へ出力する。
【０２３６】
プリチャージ／キーパー３３７１の動作について説明する。Ｗｉｎｎｅｒ検出回路３３０Ａが動作を開始する前、インバータ４２１は、“０”からなる反転信号／ＳＢを受け、その受けた反転信号／ＳＢを反転して“１”からなる信号をＮＯＲ回路４２２へ出力する。
【０２３７】
そして、ＮＯＲ回路４２２は、ノードＮ７１の電位に拘わらず、“１”からなる信号を反転して“０”からなる信号をＰ型ＭＯＳトランジスタ４２３のゲート端子へ出力する。
【０２３８】
一方、ＮＡＮＤ回路４２５は、“０”からなる反転信号／ＳＢを受け、インバータ４２４の出力信号にかかわらず、“０”からなる反転信号／ＳＢを反転して“１”からなる信号をインバータ４２６へ出力する。そして、インバータ４２６は、“１”からなる信号を反転してＮ型ＭＯＳトランジスタ４２７のゲート端子へ出力する。
【０２３９】
そうすると、Ｐ型ＭＯＳトランジスタ４２３は、“０”からなる信号をゲート端子に受けてオンされ、Ｎ型ＭＯＳトランジスタ４２７は、“０”からなる信号をゲート端子に受けてオフされる。その結果、電流が電源ノードＶＤＤからＰ型ＭＯＳトランジスタ４２３を介してノードＮ７１へ流れ、ノードＮ７１は、電源ノードＶＤＤの電位にプリチャージされる。
【０２４０】
その後、インバータ４２１は、“１”からなる反転信号／ＳＢを受け、その受けた反転信号／ＳＢを反転して“０”からなる信号をＮＯＲ回路４２２へ出力する。ＮＯＲ回路４２２は、“０”から信号をインバータ４２１から受け、“１”からなる信号（＝ノードＮ７１の電位＝電源ノードＶＤＤの電位）をノードＮ７１から受け、“０”からなる信号と“１”からなる信号との論理和を演算し、その演算した論理和を反転してＰ型ＭＯＳトランジスタ４２３のゲート端子へ出力する。
【０２４１】
一方、ＮＡＮＤ回路４２５は、“１”からなる反転信号／ＳＢと、“０”からなる信号とを受け、“１”からなる反転信号／ＳＢと“０”からなる信号との論理積を演算し、その演算した論理積を反転して“１”からなる信号をインバータ４２６へ出力する。
【０２４２】
インバータ４２６は、“１”からなる信号を反転して“０”からなる信号をＮ型ＭＯＳトランジスタ４２７のゲート端子へ出力する。
【０２４３】
そうすると、Ｐ型ＭＯＳトランジスタ４２３は、“０”からなる信号をゲート端子に受けてオンされ、Ｎ型ＭＯＳトランジスタ４２７は、“０”からなる信号をゲート端子に受けてオフされる。
【０２４４】
その結果、ノードＮ７１の電位は、電源ノードＶＤＤの電位に保持される。
【０２４５】
なお、図１８に示すプリチャージ／キーパー３３７２〜３３７ｓ−１，・・・，３３７Ｒ−ｓ〜３３７Ｒ−１，３３９ｓの各々も、図１９に示すプリチャージ／キーパー３３７１と同じ構成からなる。
【０２４６】
再び、図１８を参照して、Ｗｉｎｎｅｒ行の反転信号が反転信号／Ｓｄ１である場合を例にして、Ｗｉｎｎｅｒ検出回路３３０Ａの動作を説明する。
【０２４７】
反転信号／Ｓｄ１〜／ＳｄＲがＷｉｎｎｅｒ検出回路３３０Ａに入力される前、Ｗｉｎｎｅｒ検出回路３３０ＡのノードＮ５１〜Ｎ５ｓ，・・・，Ｎ５Ｒ−ｓ〜Ｎ５Ｒ，Ｎ６ｓ〜Ｎ６Ｒは、プリチャージ／キーパー３３７１〜３３７ｓ−１，・・・，３３７Ｒ−ｓ〜３３７Ｒ−１，３３９ｓによって電源ノードＶＤＤの電位にプリチャージされている。
【０２４８】
そして、反転信号／Ｓｄ１が最も早くＷｉｎｎｅｒ検出回路３３０Ａへ入力され、反転信号／Ｓｄ１が“０”から“１”へ変化すると、Ｎ型ＭＯＳトランジスタ３３６１がオンされ、ノードＮ５１〜Ｎ５ｓの電位が接地ノードＧＮＤの電位に低下する。
【０２４９】
その結果、インバータ３３７ｓは、“０”からなる信号（＝接地ノードＧＮＤの電位からなる信号）を反転してＮ型ＭＯＳトランジスタ３３８ｓのゲート端子へ出力し、Ｎ型ＭＯＳトランジスタ３３８ｓは、“１”からなる信号をゲート端子に受けてオンされる。
【０２５０】
そして、ノードＮ６ｓ〜Ｎ６Ｒの電位は、接地ノードＧＮＤの電位に低下し、インバータ３３９Ｒは、“０”からなる信号（＝接地ノードＧＮＤの電位からなる信号）を反転し、その反転した“１”からなる信号を検索終了信号ＳＥとして出力する。
【０２５１】
反転信号／Ｓｄ１以外の反転信号／Ｓｄ２〜／ＳｄＲがＷｉｎｎｅｒ行の反転信号である場合についても、Ｗｉｎｎｅｒ検出回路３３０Ａは、同様にして、Ｗｉｎｎｅｒ行の反転信号の変化を最も早く検出し、検索終了信号ＳＥを生成する。
【０２５２】
図２０は、図１３に示すフィードバック回路３５０の回路図である。なお、図２０に示すフィードバック回路３５０は、行数が１６である場合のフィードバック回路である。
【０２５３】
図２０を参照して、フィードバック回路３５０は、インバータ３５０１〜３５１５を含む。
【０２５４】
インバータ３５０２，３５０３の出力は、１つの配線によって接続され、インバータ３５０４〜３５０７の出力は、１つの配線によって接続され、インバータ３５０８〜３５１５の出力は、１つの配線によって接続される。
【０２５５】
インバータ３５０１は、Ｗｉｎｎｅｒ検出回路３３０から検索終了信号ＳＥを受け、その受けた検索終了信号ＳＥを反転して反転信号／ＳＥをインバータ３５０２，３５０３へ同時に出力する。
【０２５６】
インバータ３５０２，３５０３は、反転信号／ＳＥを反転して検索終了信号ＳＥをインバータ３５０４〜３５０７へ同時に出力する。インバータ３５０４〜３５０７は、検索終了信号ＳＥを反転して反転信号／ＳＥをインバータ３５０８〜３５１５へ同時に出力する。インバータ３５０８〜３５１５は、反転信号／ＳＥを反転して検索終了信号ＳＥ１〜ＳＥ１６（＝ＳＥ）を同時に出力する。
【０２５７】
このように、各段のインバータの出力を１つの配線によって接続することによって、検索終了信号ＳＥの出力タイミングを揃えることができる。
【０２５８】
検索データおよび参照データのビット数が８ビットであり、図２に示すＮビットステージ４１〜４ｋの各々が４ビットステージである場合について、図１に示す連想メモリ１００の動作を具体的に説明する。
【０２５９】
図２１は、図１に示すメモリ部１の具体例を示す図である。図２１を参照して、メモリ部１は、参照データ保存回路ＳＣ１１〜ＳＣ１８，ＳＣ２１〜ＳＣ２８，・・・，ＳＣＲ１〜ＳＣＲ８と、ユニット比較回路ＵＣ１１〜ＵＣ１８，ＵＣ２１〜ＵＣ２８，・・・，ＵＣＲ１〜ＵＣＲ８と、パスエンコーダＰＥ１〜ＰＥＲと、距離／時間変換回路ＤＴ１〜ＤＴＲとを含む。
【０２６０】
そして、検索データ保存回路５は、８ビットの検索データａ１〜ａ８を保存する。
【０２６１】
パスエンコーダＰＥ１〜ＰＥＲの各々は、４ビットパスエンコーダＰＥ１１−１，ＰＥ１２−１からなり、距離／時間変換回路ＤＴ１〜ＤＴＲの各々は、ＮＡＮＤ回路４０と、４ビットステージ４１−１，４２−１とからなる。
【０２６２】
参照データ保存回路ＳＣ１１〜ＳＣ１８の各々は、８ビットの参照データ１の各１ビットを保存する。参照データ保存回路ＳＣ２１〜ＳＣ２８の各々は、８ビットの参照データ２の各１ビットを保存する。以下、同様にして、参照データ保存回路ＳＣＲ１〜ＳＣＲ８の各々は、８ビットの参照データＲの各１ビットを保存する。
【０２６３】
ユニット比較回路ＵＣ１１は、検索データの１ビットａ１を参照データ保存回路ＳＣ１１に保存された１ビットと比較する。そして、ユニット比較回路ＵＣ１１は、両者が一致するとき、“０”からなる距離信号Ｍ１を４ビットパスエンコーダＰＥ１１−１へ出力し、両者が不一致であるとき、“１”からなる距離信号Ｍ１を４ビットパスエンコーダＰＥ１１−１へ出力する。
【０２６４】
ユニット比較回路ＵＣ１２〜ＵＣ１４も、同様にして、それぞれ、検索データの１ビットａ２，ａ３，ａ４を参照データ保存回路ＳＣ１２〜ＳＣ１４に保存された１ビットと比較し、距離信号Ｍ２〜Ｍ４を４ビットパスエンコーダＰＥ１１−１へ出力する。
【０２６５】
ユニット比較回路ＵＣ１５〜ＵＣ１８も、同様にして、それぞれ、検索データの１ビットａ５，ａ６，ａ７，ａ８を参照データ保存回路ＳＣ１５〜ＳＣ１８に保存された１ビットと比較し、距離信号Ｍ１〜Ｍ４を４ビットパスエンコーダＰＥ１２−１へ出力する。
【０２６６】
ユニット比較回路ＵＣ２１〜ＵＣ２８，・・・，ＵＣＲ１〜ＵＣＲ８は、ユニット比較回路ＵＣ１１〜ＵＣ１８と同様にして、距離信号Ｍ１〜Ｍ４，Ｍ１〜Ｍ４をそれぞれパスエンコーダＰＥ２〜パスエンコーダＰＥＲへ出力する。
【０２６７】
４ビットパスエンコーダＰＥ１２−１は、４ビットの距離信号Ｍ１〜Ｍ４に基づいて、選択信号ＳＬ１１を生成し、その生成した選択信号ＳＬ１１を４ビットステージ４１−１へ出力する。４ビットパスエンコーダＰＥ１１−１は、４ビットの距離信号Ｍ１〜Ｍ４に基づいて、選択信号ＳＬ１２を生成し、その生成した選択信号ＳＬ１２を４ビットステージ４１−２へ出力する。
【０２６８】
パスエンコーダＰＥ２〜ＰＥＲは、８ビットの距離信号Ｍ１〜Ｍ４，Ｍ１〜Ｍ４に基づいて、選択信号ＳＬ１１，ＳＬ１２を生成し、その生成した選択信号ＳＬ１１，ＳＬ１２をそれぞれ距離／時間変換回路ＤＴ２〜ＤＴＲへ出力する。
【０２６９】
距離／時間変換回路ＤＴ１において、ＮＡＮＤ回路４０は、イネーブル信号ＥＮと、４ビットステージ４２−１の出力信号との論理積を演算し、その演算した論理積を反転して４ビットステージ４１−１へ出力する。
【０２７０】
４ビットステージ４１−１は、ＮＡＮＤ回路４０から受けた信号を選択信号ＳＬ１１によって選択された遅延経路によって遅延し、その遅延した信号を４ビットステージ４２−１へ出力する。
【０２７１】
４ビットステージ４２−１は、４ビットステージ４１−１から受けた信号を選択信号ＳＬ１２によって選択された遅延経路によって遅延し、その遅延した信号（＝発振信号Ｓ１）をＮＡＮＤ回路４０および分周回路２０へ出力する。
【０２７２】
図２２は、図２１に示す４ビットステージ４１−１の構成を示す回路図である。図２２を参照して、４ビットステージ４１−１は、図３に示すＮビットステージ４１において、Ｎ＝４である場合に相当する。
【０２７３】
遅延器７１〜７４の各々は、直列に接続された偶数個のインバータからなり、例えば、直列に接続された４個のインバータからなる。
【０２７４】
なお、４ビットステージ４２−１も、図２２に示す４ビットステージ４１−１と同じ構成からなる。
【０２７５】
図２３は、図２１に示す４ビットパスエンコーダＰＥ１１−１の構成図である。図２３を参照して、４ビットパスエンコーダＰＥ１１−１は、図５に示すパスエンコーダＰＥ１１において、Ｎ＝４である場合に相当する。
【０２７６】
パス選択信号生成回路１１，１２については、それぞれ、図６，７に示したとおりである。
【０２７７】
図２４は、図２３に示すパス選択信号生成回路１３の回路図である。図２４を参照して、パス選択信号生成回路１３は、図８に示すパス選択信号生成回路１Ｎ−１において、Ｎ＝４である場合に相当する。
【０２７８】
そして、パス選択信号生成回路１３は、距離信号Ｍ４が“０”であるとき、信号ＥＮ１Ｑ４＝ＥＮ１Ｑ３，ＥＮ２Ｑ４＝ＥＮ２Ｑ３，ＥＮ３Ｑ４＝ＥＮ３Ｑ３，ＥＮ４Ｑ４＝１を出力し、距離信号Ｍ４が“１”であるとき、信号ＥＮ１Ｑ４＝０，ＥＮ２Ｑ４＝ＥＮ１Ｑ３，ＥＮ３Ｑ４＝ＥＮ２Ｑ３，ＥＮ４Ｑ４＝ＥＮ３Ｑ３を出力する。
【０２７９】
再び、図２３を参照して、インバータＩＶ１１〜ＩＶ１４，ＩＶ２１〜ＩＶ２４およびＮＯＲ回路ＮＲ１〜ＮＲ３は、パス選択信号生成回路１３から出力された信号ＥＮ１Ｑ４〜ＥＮ４Ｑ４に基づいて、信号ＥＮ１Ｑ４〜ＥＮ４Ｑ４，ＥＮ１４〜ＥＮ４４，Ｄｉｓｔ１４〜Ｄｉｓｔ３４を生成する。
【０２８０】
なお、図２３においては、信号Ｄｉｓｔ０４，Ｄｉｓｔ４４が示されていないが、信号Ｄｉｓｔ０４は、信号ＥＮ１４の反転信号ＥＮ１Ｑ４に等しい。これは、信号がノードＮ０→トランスファゲート８０→インバータ９１からなる遅延経路を通過する場合、トランスファゲート５１を、必ず、閉じる必要があるからである。
【０２８１】
また、信号Ｄｉｓｔ４４は、信号ＥＮ４に等しい。これは、信号が遅延器７４を通過する場合、トランスファゲート５４，８４の両方を、必ず、開く必要があるからである。
【０２８２】
距離信号Ｍ１〜Ｍ４の各々が“０”または“１”であるときに、４ビットパスエンコーダＰＥ１１−１が生成する信号ＥＮ１Ｑ４〜ＥＮ４Ｑ４，ＥＮ１４〜ＥＮ４４，Ｄｉｓｔ０４〜Ｄｉｓｔ４４の取り得る値を表３に示す。
【０２８３】
【表３】
0005800422.tif 000005
【０２８４】
Ｍ１＝Ｍ２＝Ｍ３＝Ｍ４＝０であるとき、即ち、検索データの４ビットと参照データの４ビットとが一致する場合、Ｄｉｓｔ０４＝“１”，ＥＮ１４＝“０”，ＥＮ１Ｑ４＝“１”，Ｄｉｓｔ１４＝“０”，ＥＮ２４＝“０”，ＥＮ２Ｑ４＝“１”，Ｄｉｓｔ２４＝“０”，ＥＮ３４＝“０”，ＥＮ３Ｑ４＝“１”，Ｄｉｓｔ３４＝“０”，ＥＮ４４＝“０”，ＥＮ４Ｑ４＝“１”，Ｄｉｓｔ４４＝“０”である。
【０２８５】
その結果、トランスファゲート８０が開き、トランスファゲート５１〜５４，８１〜８４が閉じる。そして、信号は、ノードＮ０→トランスファゲート８０→インバータ９１からなる遅延経路を通過する。即ち、信号は、距離０のパスを通過する。
【０２８６】
この場合、Ｎ型ＭＯＳトランジスタ６１〜６４は、それぞれ、信号ＥＮ１Ｑ４＝ＥＮ２Ｑ４＝ＥＮ３Ｑ４＝ＥＮ４Ｑ４＝“１”に応じてオンされるので、ノードＮ１１〜Ｎ１４の電位は、接地ノードＧＮＤの電位からなる。その結果、遅延器７１〜７４は、動作しない。従って、消費電力を低減できる。
【０２８７】
また、Ｍ１＝“０”，Ｍ２＝“０”，Ｍ３＝“０”，Ｍ４＝“１”であるとき、即ち、検索データの４ビットと参照データの４ビットとのうち、１ビットが不一致であるとき、Ｄｉｓｔ０４＝“０”，ＥＮ１４＝“１”，ＥＮ１Ｑ４＝“０”，Ｄｉｓｔ１４＝“１”，ＥＮ２４＝“０”，ＥＮ２Ｑ４＝“１”，Ｄｉｓｔ２４＝“０”，ＥＮ３４＝“０”，ＥＮ３Ｑ４＝“１”，Ｄｉｓｔ３４＝“０”，ＥＮ４４＝“０”，ＥＮ４Ｑ４＝“１”，Ｄｉｓｔ４４＝“０”である。
【０２８８】
その結果、トランスファゲート５１，８１が開き、トランスファゲート５２〜５４，８０，８２〜８４が閉じる。そして、信号は、ノードＮ０→トランスファゲート５１→遅延器７１→トランスファゲート８１→インバータ９１からなる遅延経路を通過する。即ち、信号は、距離１のパスを通過する。
【０２８９】
この場合、Ｎ型ＭＯＳトランジスタ６２〜６４は、それぞれ、信号ＥＮ２Ｑ４＝ＥＮ３Ｑ４＝ＥＮ４Ｑ４＝“１”に応じてオンされるので、ノードＮ１２〜Ｎ１４の電位は、接地ノードＧＮＤの電位からなる。その結果、遅延器７２〜７４は、動作しない。従って、消費電力を低減できる。
【０２９０】
更に、Ｍ１＝“０”，Ｍ２＝“０”，Ｍ３＝“１”，Ｍ４＝“１”であるとき、即ち、検索データの４ビットと参照データの４ビットとのうち、２ビットが不一致であるとき、Ｄｉｓｔ０４＝“０”，ＥＮ１４＝“１”，ＥＮ１Ｑ４＝“０”，Ｄｉｓｔ１４＝“０”，ＥＮ２４＝“１”，ＥＮ２Ｑ４＝“０”，Ｄｉｓｔ２４＝“１”，ＥＮ３４＝“０”，ＥＮ３Ｑ４＝“１”，Ｄｉｓｔ３４＝“０”，ＥＮ４４＝“０”，ＥＮ４Ｑ４＝“１”，Ｄｉｓｔ４４＝“０”である。
【０２９１】
その結果、トランスファゲート５１，５２，８２が開き、トランスファゲート５３，５４，８０，８１，８３，８４が閉じる。そして、信号は、ノードＮ０→トランスファゲート５１→遅延器７１→トランスファゲート５２→遅延器７２→トランスファゲート８２→インバータ９１からなる遅延経路を通過する。即ち、信号は、距離２のパスを通過する。
【０２９２】
この場合、Ｎ型ＭＯＳトランジスタ６３，６４は、それぞれ、信号ＥＮ３Ｑ４＝ＥＮ４Ｑ４＝“１”に応じてオンされるので、ノードＮ１３，Ｎ１４の電位は、接地ノードＧＮＤの電位からなる。その結果、遅延器７３，７４は、動作しない。従って、消費電力を低減できる。
【０２９３】
更に、Ｍ１＝“０”，Ｍ２＝“１”，Ｍ３＝“１”，Ｍ４＝“１”であるとき、即ち、検索データの４ビットと参照データの４ビットとのうち、３ビットが不一致であるとき、Ｄｉｓｔ０４＝“０”，ＥＮ１４＝“１”，ＥＮ１Ｑ４＝“０”，Ｄｉｓｔ１４＝“０”，ＥＮ２４＝“１”，ＥＮ２Ｑ４＝“０”，Ｄｉｓｔ２４＝“０”，ＥＮ３４＝“１”，ＥＮ３Ｑ４＝“０”，Ｄｉｓｔ３４＝“１”，ＥＮ４４＝“０”，ＥＮ４Ｑ４＝“１”，Ｄｉｓｔ４４＝“０”である。
【０２９４】
その結果、トランスファゲート５１〜５３，８３が開き、トランスファゲート５４，８０〜８２，８４が閉じる。そして、信号は、ノードＮ０→トランスファゲート５１→遅延器７１→トランスファゲート５２→遅延器７２→トランスファゲート５３→遅延器７３→トランスファゲート８３→インバータ９１からなる遅延経路を通過する。即ち、信号は、距離３のパスを通過する。
【０２９５】
この場合、Ｎ型ＭＯＳトランジスタ６４は、ＥＮ４Ｑ４＝“１”に応じてオンされるので、ノードＮ１４の電位は、接地ノードＧＮＤの電位からなる。その結果、遅延器７４は、動作しない。従って、消費電力を低減できる。
【０２９６】
更に、Ｍ１＝“１”，Ｍ２＝“１”，Ｍ３＝“１”，Ｍ４＝“１”であるとき、即ち、検索データの４ビットと参照データの４ビットとのうち、全てのビットが不一致であるとき、Ｄｉｓｔ０４＝“０”，ＥＮ１４＝“１”，ＥＮ１Ｑ４＝“０”，Ｄｉｓｔ１４＝“０”，ＥＮ２４＝“１”，ＥＮ２Ｑ４＝“０”，Ｄｉｓｔ２４＝“０”，ＥＮ３４＝“１”，ＥＮ３Ｑ４＝“０”，Ｄｉｓｔ３４＝“０”，ＥＮ４４＝“１”，ＥＮ４Ｑ４＝“０”，Ｄｉｓｔ４４＝“１”である。
【０２９７】
その結果、トランスファゲート５１〜５４，８４が開き、トランスファゲート８０〜８３が閉じる。そして、信号は、ノードＮ０→トランスファゲート５１→遅延器７１→トランスファゲート５２→遅延器７２→トランスファゲート５３→遅延器７３→トランスファゲート５４→遅延器７４→トランスファゲート８４→インバータ９１からなる遅延経路を通過する。即ち、信号は、距離４のパスを通過する。
【０２９８】
距離信号Ｍ１〜Ｍ４が上記以外のビットパターンであるときも、上述した４ビットが一致する場合、１ビットが不一致である場合、２ビットが不一致である場合、３ビットが不一致である場合、および４ビットが不一致である場合のいずれかに従って、信号は、距離０のパス、距離１のパス、距離２のパス、距離３のパスおよび距離４のパスのいずれかのパスを通過する。
【０２９９】
なお、図２１に示す４ビットステージ４２−１も、図２２に示す４ビットステージ４１−１と同じ構成からなる。
【０３００】
また、図２１に示す４ビットパスエンコーダＰＥ１２−１も、図２３，２４に示す４ビットパスエンコーダＰＥ１１−１と同じ構成からなる。
【０３０１】
再び、図２１を参照して、ユニット比較回路ＵＣ１１〜ＵＣ１４から出力される距離信号Ｍ１Ｍ２Ｍ３Ｍ４が“００００”であり、ユニット比較回路ＵＣ１５〜ＵＣ１８から出力される距離信号Ｍ１Ｍ２Ｍ３Ｍ４が“００００”であり、ユニット比較回路ＵＣ２１〜ＵＣ２４，ＵＣ２５〜ＵＣ２８，・・・，ＵＣＲ１〜ＵＣＲ４，ＵＣＲ５〜ＵＣＲ８から出力される距離信号Ｍ１Ｍ２Ｍ３Ｍ４が“００００”以外であるとき、距離／時間変換回路ＤＴ１において、信号は、４ビットステージ４１−１および４ビットステージ４２−１の距離０のパスを通過し、距離／時間変換回路ＤＴ２〜ＤＴＲにおいて、信号は、４ビットステージ４１−１および４ビットステージ４２−１の距離０のパス以外のパスを通過する。
【０３０２】
その結果、発振信号Ｓ１は、最も高い周波数を有し、距離／時間変換回路ＤＴ１から分周回路２０へ最も早く出力され、発振信号Ｓ２〜ＳＲは、検索データと参照データとの不一致ビット数が多くなるほど低い周波数を有し、不一致ビット数が多くなるほど遅いタイミングでそれぞれ距離／時間変換回路ＤＴ２〜ＤＴＲから分周回路２０へ出力される。
【０３０３】
そして、分周回路２０において、分周器２１１〜２１Ｒは、それぞれ、発振信号Ｓ１〜ＳＲを分周し、その分周した発振信号Ｓｄ１〜ＳｄＲを時間領域ＷＴＡ回路３０へ出力する。
【０３０４】
時間領域ＷＴＡ回路３０は、発振信号Ｓｄ１〜ＳｄＲを分周回路２０から受ける。そして、時間領域ＷＴＡ回路３０において、インバータ３０１は、発振信号Ｓｄ１を最も早く受け、その受けた発振信号Ｓｄ１を反転して遅延回路３１１およびＷｉｎｎｅｒ検出回路３３０へ出力し、その後、インバータ３０２〜３０Ｒは、発振信号Ｓｄ２〜ＳｄＲを受ける順序に従って、それぞれ、発振信号Ｓｄ２〜ＳｄＲを反転して遅延回路３１２〜３１ＲおよびＷｉｎｎｅｒ検出回路３３０へ出力する。
【０３０５】
遅延回路３１１は、発振信号Ｓｄ１の反転信号／Ｓｄ１を最も早く受け、その受けた反転信号／Ｓｄ１をτＲだけ遅延してレジスタ３２１へ出力する。その後、遅延回路３１２〜３１Ｒは、反転信号／Ｓｄ２〜／ＳｄＲを受ける順序に従って、それぞれ、反転信号／Ｓｄ２〜／ＳｄＲをτＲだけ遅延してレジスタ３２２〜３２Ｒへ出力する。
【０３０６】
一方、Ｗｉｎｎｅｒ検出回路３３０は、発振信号Ｓｄ１の変化を最も早く検出し、検索終了信号ＳＥを生成する。そして、フィードバック回路３５０は、Ｗｉｎｎｅｒ検出回路３３０から受けた検索終了信号ＳＥに基づいて、Ｒ個の検索終了信号ＳＥを生成し、その生成したＲ個の検索終了信号ＳＥをレジスタ３２１〜３２Ｒへ同時に出力する。
【０３０７】
そうすると、レジスタ３２１は、遅延回路３１１から反転信号／Ｓｄ１を受け、その受けた反転信号／Ｓｄ１を出力した後に、フィードバック回路３５０から検索終了信号ＳＥを受け、レジスタ３２２〜３２Ｒは、それぞれ、遅延回路３１２〜３１Ｒから反転信号／Ｓｄ２〜／ＳｄＲを受ける前にフィードバック回路３５０から検索終了信号ＳＥを受ける。その結果、レジスタ３２１〜３２Ｒは、それぞれ、マッチ信号Ｍ１（＝１），Ｍ２（＝０）＝Ｍ３（＝０）＝・・・＝ＭＲ（＝０）を出力する。
【０３０８】
これによって、検索データに一致する参照データ１（＝参照データ保存回路ＳＣ１１〜ＳＣ１８に保存された参照データ）が検索される。
【０３０９】
上述したように、連想メモリ１００においては、検索データと参照データとの一致の度合いを示す距離の差を時間の差に変換して検索データに一致する参照データを検索する。
【０３１０】
時間の差は、無限に設定可能であるので、連想メモリ１００を構成するトランジスタの特性にバラツキがあっても、Ｗｉｎｎｅｒ行とＬｏｓｅｒ行とを正確に判別できる。従って、連想メモリ１００の誤検索を抑制できる。
【０３１１】
図２５は、従来のパスエンコーダの回路図である。図２５を参照して、従来のパスエンコーダ５００は、２ビットパスエンコーダ５０１，５０２と、ＮＡＮＤ回路５０３〜５０８，５１０，５１１，５１５と、インバータ５０９，５１２，５１６〜５１８と、ＮＯＲ回路５１３，５１４とを含む。なお、パスエンコーダ５００は、４ビットのパスエンコーダである。
【０３１２】
２ビットパスエンコーダ５０１は、距離信号Ｍ１，Ｍ２に基づいて信号Ｄｉｓｔ０３〜Ｄｉｓｔ２３を生成する。２ビットパスエンコーダ５０２は、距離信号Ｍ３，Ｍ４に基づいて信号Ｄｉｓｔ０３〜Ｄｉｓｔ２３を生成する。
【０３１３】
ＮＡＮＤ回路５０３は、２ビットパスエンコーダ５０１から出力された信号Ｄｉｓｔ０３と、２ビットパスエンコーダ５０２から出力された信号Ｄｉｓｔ０３との論理積を演算し、その演算した論理積を反転し、その反転した信号を信号ＤｉｓｔＱ４４として出力するとともに、その反転した信号をインバータ５０９へ出力する。
【０３１４】
ＮＡＮＤ回路５０４は、２ビットパスエンコーダ５０１から出力された信号Ｄｉｓｔ０３と、２ビットパスエンコーダ５０２から出力された信号Ｄｉｓｔ１３との論理積を演算し、その演算した論理積を反転してＮＡＮＤ回路５１０へ出力する。
【０３１５】
ＮＡＮＤ回路５０５は、２ビットパスエンコーダ５０１から出力された信号Ｄｉｓｔ１３と、２ビットパスエンコーダ５０２から出力された信号Ｄｉｓｔ０３との論理積を演算し、その演算した論理積を反転してＮＡＮＤ回路５１０へ出力する。
【０３１６】
ＮＡＮＤ回路５０６は、２ビットパスエンコーダ５０１から出力された信号Ｄｉｓｔ２３と、２ビットパスエンコーダ５０２から出力された信号Ｄｉｓｔ１３との論理積を演算し、その演算した論理積を反転してＮＡＮＤ回路５１１へ出力する。
【０３１７】
ＮＡＮＤ回路５０７は、２ビットパスエンコーダ５０１から出力された信号Ｄｉｓｔ１３と、２ビットパスエンコーダ５０２から出力された信号Ｄｉｓｔ２３との論理積を演算し、その演算した論理積を反転してＮＡＮＤ回路５１１へ出力する。
【０３１８】
ＮＡＮＤ回路５０８は、２ビットパスエンコーダ５０１から出力された信号Ｄｉｓｔ２３と、２ビットパスエンコーダ５０２から出力された信号Ｄｉｓｔ２３との論理積を演算し、その演算した論理積を反転し、その反転した信号を信号Ｄｉｓｔ０４として出力するとともに、その反転した信号をインバータ５１２へ出力する。
【０３１９】
インバータ５０９は、ＮＡＮＤ回路５０３の出力信号を反転し、その反転した信号を信号Ｄｉｓｔ４４として出力するとともに、その反転した信号をＮＯＲ回路５１３へ出力する。
【０３２０】
ＮＡＮＤ回路５１０は、ＮＡＮＤ回路５０４の出力信号とＮＡＮＤ回路５０５の出力信号との論理積を演算し、その演算した論理積を反転し、その反転した信号を信号Ｄｉｓｔ３４として出力するとともに、その反転した信号をＮＯＲ回路５１３およびインバータ５１６へ出力する。
【０３２１】
ＮＡＮＤ回路５１１は、ＮＡＮＤ回路５０６の出力信号とＮＡＮＤ回路５０７の出力信号との論理積を演算し、その演算した論理積を反転し、その反転した信号を信号Ｄｉｓｔ１４として出力するとともに、その反転した信号をＮＯＲ回路５１１およびインバータ５１８へ出力する。
【０３２２】
インバータ５１２は、ＮＡＮＤ回路５０８の出力信号を反転し、その反転した信号を信号Ｄｉｓｔ０４として出力するとともに、その反転した信号をＮＯＲ回路５１４へ出力する。
【０３２３】
ＮＯＲ回路５１３は、インバータ５０９の出力信号とＮＡＮＤ回路５１０の出力信号との論理和を演算し、その演算した論理和を反転してＮＡＮＤ回路５１５へ出力する。
【０３２４】
ＮＯＲ回路５１４は、ＮＡＮＤ回路５１１の出力信号とインバータ５１２の出力信号との論理和を演算し、その演算した論理和を反転してＮＡＮＤ回路５１５へ出力する。
【０３２５】
ＮＡＮＤ回路５１５は、ＮＯＲ回路５１３の出力信号とＮＯＲ回路５１４の出力信号との論理積を演算し、その演算した論理積を反転し、その反転した信号を信号ＤｉｓｔＱ２４として出力するとともに、その反転した信号をインバータ５１７へ出力する。
【０３２６】
インバータ５１６は、ＮＡＮＤ回路５１０の出力信号を反転し、その反転した信号を信号ＤｉｓｔＱ３４として出力する。
【０３２７】
インバータ５１７は、ＮＡＮＤ回路５１５の出力信号を反転し、その反転した信号を信号Ｄｉｓｔ２４として出力する。
【０３２８】
インバータ５１８は、ＮＡＮＤ回路５１１の出力信号を反転し、その反転した信号を信号ＤｉｓｔＱ１４として出力する。
【０３２９】
２ビットパスエンコーダ５０１，５０２の各々は、ＮＯＲ回路５０１１，５０１４と、ＮＡＮＤ回路５０１２と、インバータ５０１３とを含む。
【０３３０】
ＮＯＲ回路５０１１は、距離信号Ｍ１と距離信号Ｍ２との論理和を演算し、その演算した論理和を反転し、その反転した信号を信号Ｄｉｓｔ０３として出力するとともに、その反転した信号をＮＯＲ回路５０１４へ出力する。
【０３３１】
ＮＡＮＤ回路５０１２は、距離信号Ｍ１と距離信号Ｍ２との論理積を演算し、その演算した論理積を反転してインバータ５０１３へ出力する。
【０３３２】
インバータ５０１３は、ＮＡＮＤ回路５０１２の出力信号を反転し、その反転した信号を信号Ｄｉｓｔ２３として出力するとともに、その反転した信号をＮＯＲ回路５０１４へ出力する。
【０３３３】
ＮＯＲ回路５０１４は、ＮＯＲ回路５０１１の出力信号とインバータ５０１３の出力信号との論理和を演算し、その演算した論理和を反転し、その反転した信号を信号Ｄｉｓｔ１３として出力する。
【０３３４】
距離信号Ｍ１〜Ｍ４の各々が“０”または“１”であるときに、パスエンコーダ５００が生成する信号Ｄｉｓｔ０４〜Ｄｉｓｔ４４，ＤｉｓｔＱ０４〜ＤｉｓｔＱ４４の取り得る値を表４に示す。
【０３３５】
【表４】
0005800422.tif 000006
【０３３６】
表４に示すように、パスエンコーダ５００は、距離信号Ｍ１〜Ｍ４のビット値に応じて、距離０のパス、距離１のパス、距離２のパス、距離３のパスおよび距離４のパスのいずれかを選択するように、信号Ｄｉｓｔ０４〜Ｄｉｓｔ４４，ＤｉｓｔＱ０４〜ＤｉｓｔＱ４４を生成する。
【０３３７】
なお、パスエンコーダ５００は、図２２に示す４ビットステージ４１−１からトランスファゲート５１〜５４およびＮ型ＭＯＳトランジスタ６１〜６４を削除した４ビットステージへ出力する信号Ｄｉｓｔ０４〜Ｄｉｓｔ４４，ＤｉｓｔＱ０４〜ＤｉｓｔＱ４４を生成する。
【０３３８】
従って、信号Ｄｉｓｔ０４〜Ｄｉｓｔ４４，ＤｉｓｔＱ０４〜ＤｉｓｔＱ４４によって距離０のパス、距離１のパス、距離２のパス、距離３のパスおよび距離４のパスのいずれかが選択されても、遅延器７１〜７４の全てが常時動作しているので、消費電力が大きい。
【０３３９】
これに比べ、４ビットステージ４１−１においては、上述したように、選択されなかった遅延経路の遅延器（遅延器７１〜７４の少なくとも１つ）は、動作を停止するので、消費電力を低減できる。
【０３４０】
また、パスエンコーダ５００は、９８個のトランジスタによって構成されるのに対し、４ビットパスエンコーダＰＥ１１−１，ＰＥ１２−１の各々は、７０個のトランジスタによって構成される。
【０３４１】
従って、４ビットパスエンコーダＰＥ１１−１，ＰＥ１２−１の占有面積を小さくできる。
【０３４２】
図２６は、従来の４ビットステージの回路図である。図２６を参照して、従来の４ビットステージ６００は、１ビットステージ６１０，６２０，６３０，６４０を含む。
【０３４３】
１ビットステージ６１０，６２０，６３０，６４０は、直列に接続される。１ビットステージ６１０，６２０，６３０，６４０の各々は、トランスファゲート６０１，６０４，６０５，６０７と、Ｎ型ＭＯＳトランジスタ６０２と、遅延器６０３と、インバータ６０６とからなる。
【０３４４】
トランスファゲート６０１，６０４，６０５，６０７の各々は、Ｎ型ＭＯＳトランジスタとＰ型ＭＯＳトランジスタとが並列に接続された構成からなる。
【０３４５】
トランスファゲート６０１、遅延器６０３およびトランスファゲート６０５は、ノードＮ８１とノードＮ８２との間に直列に接続される。遅延器６０３は、直列に接続された偶数個のインバータからなり、例えば、直列に接続された４個のインバータからなる。
【０３４６】
Ｎ型ＭＯＳトランジスタ６０２は、ノードＮ８３と接地ノードＧＮＤとの間に接続される。トランスファゲート６０４は、ノードＮ８１とノードＮ８２との間に接続される。インバータ６０６は、入力端子がノードＮ８２に接続される。
【０３４７】
トランスファゲート６０７は、ノードＮ８４と接地ノードＧＮＤとの間に接続される。トランスファゲート６０７のＰ型ＭＯＳトランジスタは、ゲート端子が電源ノードＶＤＤに接続され、トランスファゲート６０７のＮ型ＭＯＳトランジスタは、ゲート端子が接地ノードＧＮＤに接続される。従って、トランスファゲート６０７は、常時閉じている。
【０３４８】
１ビットステージ６１０，６２０，６３０，６４０は、それぞれ、距離信号Ｍ１〜Ｍ４のビット値に応じて決定される遅延経路によって信号を遅延させる。１ビットステージ６１０は、距離信号Ｍ１が“０”であるとき、ノードＮ８１→トランスファゲート６０４→インバータ６０６からなる遅延経路によって信号を遅延させる。また、１ビットステージ６１０は、距離信号Ｍ１が“１”であるとき、ノードＮ８１→トランスファゲート６０１→遅延器６０３→トランスファゲート６０５→インバータ６０６からなる遅延経路によって信号を遅延させる。
【０３４９】
１ビットステージ６２０，６３０，６４０も、１ビットステージ６１０と同様にして、それぞれ、距離信号Ｍ２〜Ｍ４のビット値に応じて信号を遅延させる。
【０３５０】
図２７は、図２６に示す４ビットステージ６００の動作を説明するための図である。図２７を参照して、Ｍ１＝Ｍ２＝Ｍ３＝Ｍ４＝“０”であるとき、１ビットステージ６１０，６２０，６３０，６４０の各々は、ノードＮ８１→トランスファゲート６０４→インバータ６０６からなる遅延経路によって信号を遅延させる。
【０３５１】
その結果、信号は、トランスファゲート６０４およびインバータ６０６を４回ずつ通過するので、全体で８個のゲートを通過する（図２７の（ａ）参照）。
【０３５２】
一方、４ビットステージ４１−１は、Ｍ１＝Ｍ２＝Ｍ３＝Ｍ４＝“０”であるとき、ノードＮ０→トランスファゲート８０→インバータ９１からなる遅延経路によって信号を遅延させる。
【０３５３】
その結果、信号は、トランスファゲート８０およびインバータ９１を１回だけ通過するので、全体で２個のゲートを通過する（図２２参照）。
【０３５４】
従って、４ビットステージ４１−１を用いることによって信号が通過するゲート数を４分の１に減少できる。
【０３５５】
また、Ｍ１＝Ｍ２＝“０”、Ｍ３＝Ｍ４＝“１”であるとき、１ビットステージ６１０，６２０の各々は、ノードＮ８１→トランスファゲート６０４→インバータ６０６からなる遅延経路によって信号を遅延させ、１ビットステージ６３０，６４０の各々は、ノードＮ８１→トランスファゲート６０１→遅延器６０３→トランスファゲート６０５→インバータ６０６からなる遅延経路によって信号を遅延させる。
【０３５６】
その結果、信号は、トランスファゲート６０４およびインバータ６０６を２回ずつ通過し、トランスファゲート６０１、遅延器６０３、トランスファゲート６０５およびインバータ６０６を２回ずつ通過するので、遅延器６０３が直列に接続された４個のインバータからなる場合、全体で１８個のゲートを通過する（図２７の（ｂ）参照）。
【０３５７】
一方、４ビットステージ４１−１は、Ｍ１＝Ｍ２＝“０”、Ｍ３＝Ｍ４＝“１”であるとき、ノードＮ０→トランスファゲート５１→遅延器７１→トランスファゲート５２→遅延器７２→トランスファゲート８２→インバータ９１からなる遅延経路によって信号を遅延させる。
【０３５８】
その結果、信号は、トランスファゲート５１、遅延器７１、トランスファゲート５２、遅延器７２、トランスファゲート８２およびインバータ９１を１回だけ通過するので、遅延器７１，７２の各々が直列に接続された４個のインバータからなる場合、全体で１２個のゲートを通過する（図２２参照）。
【０３５９】
従って、４ビットステージ４１−１を用いることによって信号が通過するゲート数を３分の２に減少できる。
【０３６０】
同様にして計算すると、距離信号Ｍ１〜Ｍ４のうちの１個が“１”であるとき、４ビットステージ６００においては、信号は、１３個のゲートを通過し、４ビットステージ４１−１においては、信号は、７個のゲートを通過する。
【０３６１】
また、距離信号Ｍ１〜Ｍ４のうちの３個が“１”であるとき、４ビットステージ６００においては、信号は、２３個のゲートを通過し、４ビットステージ４１−１においては、信号は、１７個のゲートを通過する。
【０３６２】
更に、距離信号Ｍ１〜Ｍ４の全てが“１”であるとき、４ビットステージ６００においては、信号は、２８個のゲートを通過し、４ビットステージ４１−１においては、信号は、２０個のゲートを通過する。
【０３６３】
従って、４ビットの距離信号Ｍ１Ｍ２Ｍ３Ｍ４がいずれのビットパターンを取っても、信号が通過するゲート数は、４ビットステージ４１−１の方が４ビットステージ６００よりも少ない。
【０３６４】
信号がトランスファゲートおよびインバータを通過する際、遅延が発生するので、信号が通過するゲート数を減少することによって、信号が距離／時間変換回路ＤＴ１〜ＤＴＲを通過する時間を短縮でき、連想メモリ１００における検索を高速化できる。
【０３６５】
そして、この検索の高速化は、Ｎビットステージ４１（図３参照）を用いた場合も実現される。
【０３６６】
このように、この発明の実施の形態においては、Ｎ個の遅延器７１〜７Ｎを階段状に配置した構成からなるＮビットステージ４１（図３参照）と、距離信号Ｍ１〜ＭＮのビットパターンに応じてＮビットステージ４１の各遅延経路を選択するための選択信号を生成するパスエンコーダＰＥ１１（図５参照）とを採用することによって、検索の高速化を実現できる。
【０３６７】
上記においては、Ｗ＝８であり、Ｎ＝４である場合について説明した。この場合、上述したように、ｋ＝Ｗ／Ｎ＝８／４＝２である。
【０３６８】
一方、ＷがＮで割り切れない場合、例えば、Ｗ＝９であり、Ｎ＝４である場合、ｋ＝Ｗ／Ｎ＝９／４＝２＋１＝３である。その結果、距離／時間変換回路ＤＴ１〜ＤＴＲの各々において、Ｎビットステージ４１〜４ｋの個数は、３個になり、パスエンコーダＰＥ１〜ＰＥＲの各々において、パスエンコーダＰＥ１１〜ＰＥ１ｋの個数も３個になる。そして、３個目のパスエンコーダＰＥ１３には、本来、１ビットの距離信号しか入力されないが、この１ビットの距離信号を４ビットの形式Ｍ１Ｍ２Ｍ３Ｍ４で表現することによって、パスエンコーダＰＥ１３は、上述した方法によって選択信号ＳＬ１３を生成でき、Ｎビットステージ４３も、選択信号ＳＬ１３によって選択された遅延経路を用いて信号を遅延できる。
【０３６９】
従って、ｋは、上述したように、ｋ＝Ｗ／Ｎまたはｋ＝（Ｗ／Ｎ）＋１を満たす整数からなる。
【０３７０】
検索データおよび参照データのビット数が８ビット以外であり、図２に示すＮビットステージ４１〜４ｋの各々が４ビットステージ以外である場合についても、図１に示す連想メモリ１００は、上述した動作によって検索データに一致する参照データを検索する。
【０３７１】
距離／時間変換回路ＤＴ１〜ＤＴＲの各々は、ｋ個のＮビットステージ４１〜４ｋをリング状に接続した構成からなり、ｋ個のＮビットステージ４１〜４ｋの各々は、入力信号を奇数回反転して出力する遅延回路からなる。その結果、距離／時間変換回路ＤＴ１〜ＤＴＲの各々は、発振信号を出力する発振回路からなる。従って、距離／時間変換回路ＤＴ１〜ＤＴＲは、Ｒ個の距離信号に対応して設けられ、各々がｋ個の遅延回路をリング状に接続した発振回路を含む「Ｒ個の変換回路」を構成する。
【０３７２】
また、パスエンコーダＰＥ１〜ＰＥＲの各々は、ｋ個のパスエンコーダＰＥ１１〜ＰＥ１ｋからなり、Ｗビットの距離信号に基づいて、ｋ個のＮビットステージ４１〜４ｋにおけるｋ個の遅延経路を選択するためのｋ個の選択信号ＳＬ１１〜ＳＬ１ｋを生成し、その生成したｋ個の選択信号ＳＬ１１〜ＳＬ１ｋをそれぞれｋ個のＮビットステージ４１〜４ｋへ出力する。従って、パスエンコーダＰＥ１〜ＰＥＲは、Ｒ個の距離信号およびＲ個の距離／時間変換回路ＤＴ１〜ＤＴＲに対応して設けられ、各々がｋ個のパスエンコーダＰＥ１１〜ＰＥ１ｋを含む「Ｒ個の選択回路」を構成する。そして、パスエンコーダＰＥ１〜ＰＥＲの各々は、Ｗビットの距離信号によって表される距離が小さいほど、ｋ個のＮビットステージ４１〜４ｋにおけるｋ個の遅延回路における遅延時間が短くなり、かつ、Ｗビットの距離信号によって表される距離が大きいほど、ｋ個のＮビットステージ４１〜４ｋにおけるｋ個のＮビットステージ４１〜４ｋにおける遅延時間が長くなるようにｋ個のＮビットステージ４１〜４ｋの各々におけるＮ＋１個の遅延経路から１つの遅延経路を選択するためのｋ個の選択信号ＳＬ１１〜ＳＬ１ｋをＷビットの距離信号に基づいて生成し、その生成したｋ個の選択信号ＳＬ１１〜ＳＬ１ｋを対応する距離／時間変換回路（＝距離／時間変換回路ＤＴ１〜ＤＴＲのいずれか）へ出力する。
【０３７３】
更に、ｋ個のパスエンコーダＰＥ１１〜ＰＥ１ｋは、それぞれ、選択信号ＳＬ１１〜ＳＬ１ｋによってｋ個のＮビットステージ４１〜４ｋにおける遅延経路を選択するので、「ｋ個の経路選択回路」を構成する。
【０３７４】
更に、ｋ個のＮビットステージ４１〜４ｋは、それぞれ、選択信号ＳＬ１１〜ＳＬ１ｋによって選択された遅延経路を用いて信号を遅延させるので、「ｋ個の遅延回路」を構成する。
【０３７５】
なお、実施の形態１による連想メモリは、連想メモリ１００から分周回路２０を削除したものであってもよい。時間領域ＷＴＡ回路３０は、分周回路２０が無くても、発振信号Ｓ１〜ＳＲに基づいて、Ｗｉｎｎｅｒ行を検出できるからである。
【０３７６】
［実施の形態２］
図２８は、実施の形態２による連想メモリの構成を示す概略ブロック図である。図２８を参照して、実施の形態２による連想メモリ１００Ａは、図１に示す連想メモリ１００のメモリアレイ部１０をメモリアレイ部１０Ａに代えたものであり、その他は、連想メモリ１００と同じである。
【０３７７】
メモリアレイ部１０Ａは、図１に示すメモリアレイ部１０のメモリ部１をメモリ部１Ａに代えたものであり、その他は、メモリアレイ部１０と同じである。
【０３７８】
メモリ部１Ａは、参照データ保存回路ＳＣ’１１〜ＳＣ’１Ｗ，ＳＣ’２１〜ＳＣ’２Ｗ，・・・，ＳＣ’Ｒ１〜ＳＣ’ＲＷと、ユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗ，ＵＣ’２１〜ＵＣ’２Ｗ，・・・，ＵＣ’Ｒ１〜ＵＣ’ＲＷと、パスエンコーダＰＥ’１〜ＰＥ’Ｒと、距離／時間変換回路ＤＴ’１〜ＤＴ’Ｒとを含む。
【０３７９】
ユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗは、それぞれ、参照データ保存回路ＳＣ’１１〜ＳＣ’１Ｗに対応して設けられる。また、ユニット比較回路ＵＣ’２１〜ＵＣ’２Ｗは、それぞれ、参照データ保存回路ＳＣ’２１〜ＳＣ’２Ｗに対応して設けられる。以下、同様にして、ユニット比較回路ＵＣ’Ｒ１〜ＵＣ’ＲＷは、それぞれ、参照データ保存回路ＳＣ’Ｒ１〜ＳＣ’ＲＷに対応して設けられる。
【０３８０】
パスエンコーダＰＥ’１は、参照データ保存回路ＳＣ’１１〜ＳＣ’１Ｗおよびユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗに対応して配置される。パスエンコーダＰＥ’２は、参照データ保存回路ＳＣ’２１〜ＳＣ’２Ｗおよびユニット比較回路ＵＣ’２１〜ＵＣ’２Ｗに対応して配置される。以下、同様にして、パスエンコーダＰＥ’Ｒは、参照データ保存回路ＳＣ’Ｒ１〜ＳＣ’ＲＷおよびユニット比較回路ＵＣ’Ｒ１〜ＵＣ’ＲＷに対応して配置される。
【０３８１】
距離／時間変換回路ＤＴ’１は、パスエンコーダＰＥ’１に対応して設けられる。距離／時間変換回路ＤＴ’２は、パスエンコーダＰＥ’２に対応して設けられる。以下、同様にして、距離／時間変換回路ＤＴ’Ｒは、パスエンコーダＰＥ’Ｒに対応して設けられる。
【０３８２】
参照データ保存回路ＳＣ’１１〜ＳＣ’１Ｗ，ＳＣ’２１〜ＳＣ’２Ｗ，・・・，ＳＣ’Ｒ１〜ＳＣ’ＲＷは、行デコーダ２、列デコーダ３および読出／書込回路４によって書き込まれた参照データを保存する。この場合、参照データ保存回路ＳＣ’１１〜ＳＣ’１Ｗの各々、１個の参照データを保存し、参照データ保存回路ＳＣ’２１〜ＳＣ’２Ｗの各々、１個の参照データ２を保存し、以下、同様にして、参照データ保存回路ＳＣ’Ｒ１〜ＳＣ’ＲＷの各々、１個の参照データを保存する。参照データ保存回路ＳＣ’１１〜ＳＣ’１Ｗ，ＳＣ’２１〜ＳＣ’２Ｗ，・・・，ＳＣ’Ｒ１〜ＳＣ’ＲＷの各々に保存される参照データは、Ｋ（Ｋは２以上の整数）ビットからなる。なお、実施の形態２においては、検索データ保存回路５は、Ｋビットの検索データを保存する。
【０３８３】
ユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗは、参照データ保存回路ＳＣ’１１〜ＳＣ’１Ｗに保存されたＷ個の参照データと、検索データ保存回路５に保存された検索データとを比較する。また、ユニット比較回路ＵＣ’２１〜ＵＣ’２Ｗは、参照データ保存回路ＳＣ’２１〜ＳＣ’２Ｗに保存されたＷ個の参照データと、検索データ保存回路５に保存された検索データとを比較する。以下、同様にして、ユニット比較回路ＵＣ’Ｒ１〜ＵＣ’ＲＷは、参照データ保存回路ＳＣ’Ｒ１〜ＳＣ’ＲＷに保存されたＷ個の参照データと、検索データ保存回路５に保存された検索データとを比較する。そして、ユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗ、ユニット比較回路ＵＣ’２１〜ＵＣ’２Ｗ、・・・、およびユニット比較回路ＵＣ’Ｒ１〜ＵＣ’ＲＷにおける参照データと検索データとの比較は、並列に行なわれる。
【０３８４】
そして、ユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗは、Ｗ個の参照データと検索データとの比較結果をＷ個の距離信号（Ｗ個の距離信号の各々は、Ｋビットからなる）としてパスエンコードＰＥ’１へ出力し、ユニット比較回路ＵＣ’２１〜ＵＣ’２Ｗは、Ｗ個の参照データと検索データとの比較結果をＷ個の距離信号（Ｗ個の距離信号の各々は、Ｋビットからなる）としてパスエンコードＰＥ’２へ出力し、以下、同様にして、ユニット比較回路ＵＣ’Ｒ１〜ＵＣ’ＲＷは、Ｗ個の参照データと検索データとの比較結果をＷ個の距離信号（Ｗ個の距離信号の各々は、Ｋビットからなる）としてパスエンコードＰＥ’Ｒへ出力する。
【０３８５】
なお、ユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗ、ユニット比較回路ＵＣ’２１〜ＵＣ’２Ｗ、・・・、およびユニット比較回路ＵＣ’Ｒ１〜ＵＣ’ＲＷにおける参照データと検索データとの比較は、マンハッタン距離を用いて行なわれる。
【０３８６】
すなわち、ユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗ、ユニット比較回路ＵＣ’２１〜ＵＣ’２Ｗ、・・・、およびユニット比較回路ＵＣ’Ｒ１〜ＵＣ’ＲＷは、次式を用いて検索データと参照データとの比較を行なう。
【０３８７】
【数２】
0005800422.tif 000007
【０３８８】
式（２）において、Ｄｍは、マンハッタン距離であり、Ａｊは、参照データであり、Ｂｊは、検索データである。そして、各データＡｊ，Ｂｊは、Ｋビットからなる。
【０３８９】
パスエンコーダＰＥ’１は、ユニット比較回路ＵＣ’１１〜ＵＣ’１ＷからＫ×Ｗビットの距離信号を受け、その受けたＫ×Ｗビットの距離信号に基づいて後述する方法によって距離／時間変換回路ＤＴ’１における遅延経路を選択するための選択信号を生成し、その生成した選択信号を距離／時間変換回路ＤＴ’１へ出力する。パスエンコーダＰＥ’２は、ユニット比較回路ＵＣ’２１〜ＵＣ’２ＷからＫ×Ｗビットの距離信号を受け、その受けたＫ×Ｗビットの距離信号に基づいて後述する方法によって距離／時間変換回路ＤＴ’２における遅延経路を選択するための選択信号を生成し、その生成した選択信号を距離／時間変換回路ＤＴ’２へ出力する。以下、同様にして、パスエンコーダＰＥ’Ｒは、ユニット比較回路ＵＣ’Ｒ１〜ＵＣ’ＲＷからＫ×Ｗビットの距離信号を受け、その受けたＫ×Ｗビットの距離信号に基づいて後述する方法によって距離／時間変換回路ＤＴ’Ｒにおける遅延経路を選択するための選択信号を生成し、その生成した選択信号を距離／時間変換回路ＤＴ’Ｒへ出力する。
【０３９０】
距離／時間変換回路ＤＴ’１は、パスエンコーダＰＥ’１から選択信号を受け、その受けた選択信号によって選択された遅延経路の遅延量だけ遅延させた発振信号Ｓ１を生成し、その生成した発振信号Ｓ１を分周回路２０へ出力する。距離／時間変換回路ＤＴ’２は、パスエンコーダＰＥ’２から選択信号を受け、その受けた選択信号によって選択された遅延経路の遅延量だけ遅延させた発振信号Ｓ２を生成し、その生成した発振信号Ｓ２を分周回路２０へ出力する。以下、同様にして、距離／時間変換回路ＤＴ’Ｒは、パスエンコーダＰＥ’Ｒから選択信号を受け、その受けた選択信号によって選択された遅延経路の遅延量だけ遅延させた発振信号ＳＲを生成し、その生成した発振信号ＳＲを分周回路２０へ出力する。
【０３９１】
したがって、メモリ部１Ａは、複数の参照データの各々と検索データとの比較を並列して行ない、その比較結果を示す複数の発振信号Ｓ１〜ＳＲを生成して分周回路２０へ出力する。
【０３９２】
図２９は、図２８に示すパスエンコーダＰＥ’１の動作を説明するための図である。図２９を参照して、パスエンコーダＰＥ’１は、ユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗから距離信号Ｍ１１Ｍ２１・・・ＭＫ１Ｍ１２Ｍ２２・・・ＭＫ２・・・Ｍ１ＷＭ２Ｗ・・・ＭＫＷを受ける。ここで、Ｍ１１Ｍ２１・・・ＭＫ１は、参照データＷ１と検索データとの距離を示す距離信号であり、Ｍ１２Ｍ２２・・・ＭＫ２は、参照データＷ２と検索データとの距離を示す距離信号であり、以下、同様にして、Ｍ１ＷＭ２Ｗ・・・ＭＫＷは、参照データＷＷと検索データとの距離を示す距離信号である。
【０３９３】
パスエンコーダＰＥ’１は、距離信号Ｍ１１Ｍ２１・・・ＭＫ１Ｍ１２Ｍ２２・・・ＭＫ２・・・Ｍ１ＷＭ２Ｗ・・・ＭＫＷを受けると、その受けた距離信号Ｍ１１Ｍ２１・・・ＭＫ１Ｍ１２Ｍ２２・・・ＭＫ２・・・Ｍ１ＷＭ２Ｗ・・・ＭＫＷに基づいて、距離信号Ｍ１１Ｍ１２・・・Ｍ１Ｗ，Ｍ２１Ｍ２２・・・Ｍ２Ｗ，・・・，ＭＫ１ＭＫ２・・・ＭＫＷを生成する。ここで、Ｍ１１Ｍ１２・・・Ｍ１Ｗは、Ｗビットのビット値からなり、Ｗ個の参照データと検索データとの最上位ビット同士の距離を示す距離信号である。また、Ｍ２１Ｍ２２・・・Ｍ２Ｗは、Ｗビットのビット値からなり、Ｗ個の参照データと検索データとの第２位ビット同士の距離を示す距離信号である。以下、同様にして、ＭＫ１ＭＫ２・・・ＭＫＷは、Ｗビットのビット値からなり、Ｗ個の参照データと検索データとの最下位ビット同士の距離を示す距離信号である。
【０３９４】
なお、図２８に示すパスエンコーダＰＥ’２〜ＰＥ’Ｒの各々も、パスエンコーダＰＥ’１と同様にして、各々がＷビットであるＫ個の距離信号を生成する。
【０３９５】
図３０は、図２８に示す距離／時間変換回路ＤＴ’１の構成を示すブロック図である。図３０を参照して、距離／時間変換回路ＤＴ’１は、ＮＡＮＤ回路７１０と、発振回路７１１〜７１Ｋと、選択器７２１〜７２Ｋとを含む。
【０３９６】
ＮＡＮＤ回路７１０は、イネーブル信号ＥＮと、発振回路７１Ｋの出力信号との論理積を演算し、その演算した論理積を反転して発振回路７１１へ出力する。
【０３９７】
発振回路７１１は、参照データおよび検索データの最上位ビットに対応して設けられる。そして、発振回路７１１は、参照データと検索データとの最上位ビット同士の距離を示すＷビットの距離信号Ｍ１１・・・Ｍ１Ｗ−１Ｍ１ＷをパスエンコーダＰＥ’１から受け、その受けたＷビットの距離信号Ｍ１１・・・Ｍ１Ｗ−１Ｍ１Ｗによって表される距離に応じた遅延時間だけ遅延した発振信号を生成して選択器７２１へ出力する。
【０３９８】
以下、同様にして、発振回路７１Ｋ−１は、参照データおよび検索データの第Ｋ−１位ビットに対応して設けられる。そして、発振回路７１Ｋ−１は、参照データと検索データとの第Ｋ−１位ビット同士の距離を示すＷビットの距離信号ＭＫ−１１・・・ＭＫ−１Ｗ−１ＭＫ−１ＷをパスエンコーダＰＥ’１から受け、その受けたＷビットの距離信号ＭＫ−１１・・・ＭＫ−１Ｗ−１ＭＫ−１Ｗによって表される距離に応じた遅延時間だけ遅延した発振信号を生成して選択器７２Ｋ−１へ出力する。発振回路７１Ｋは、参照データおよび検索データの最下位ビットに対応して設けられる。そして、発振回路７１Ｋは、参照データと検索データとの最下位ビット同士の距離を示すＷビットの距離信号ＭＫ１・・・ＭＫＷ−１ＭＫＷをパスエンコーダＰＥ’１から受け、その受けたＷビットの距離信号ＭＫ１・・・ＭＫＷ−１ＭＫＷによって表される距離に応じた遅延時間だけ遅延した発振信号を生成する。そして、発振回路７１Ｋは、その生成した発振信号を選択器７２Ｋへ出力する。
【０３９９】
選択器７２１は、発振回路７１１から出力された発振信号を発振回路７１１へ出力するとともに、発振信号の発振回路７１１への出力回数が所望回数に達すると、発振回路７１１から出力された発振信号を発振回路７１２（図示せず）へ出力する。
【０４００】
以下、同様にして、選択器７２Ｋ−１は、発振回路７１Ｋ−１から出力された発振信号を発振回路７１Ｋ−１へ出力するとともに、発振信号の発振回路７１Ｋ−１への出力回数が所望回数に達すると、発振回路７１Ｋ−１から出力された発振信号を発振回路７１Ｋへ出力する。選択器７２Ｋは、発振回路７１Ｋから出力された発振信号を発振回路７１Ｋへ出力するとともに、発振信号の発振回路７１Ｋへの出力回数が所望回数に達すると、発振回路７１Ｋから出力された発振信号を発振信号Ｓ１として分周回路２０およびＮＡＮＤ回路７１０へ出力する。
【０４０１】
発振回路７１１は、１ビットステージ２３１〜２３Ｗからなる。１ビットステージ２３１〜２３Ｗは、選択器７２１を介してリング状に接続される。そして、１ビットステージ２３１〜２３Ｗの各々は、図２６に示す１ビットステージ６１０と同じ構成からなる。この場合、１ビットステージ２３１〜２３Ｗの各々において、遅延器６０３は、直列に接続された偶数個のインバータからなり、遅延器６０３による遅延時間は、２Ｋ−１τｓである。
【０４０２】
１ビットステージ２３１〜２３Ｗは、パスエンコーダＰＥ’１からそれぞれ距離信号Ｍ１１〜Ｍ１Ｗを受け、その受けた距離信号Ｍ１１〜Ｍ１Ｗによって選択された遅延経路（Ｎ５１→トランスファゲート６０４→インバータ６０６、またはＮ５１→トランスファゲート６０１→遅延器６０３→トランスファゲート６０５→インバータ６０６）を介して信号を遅延させる。この場合、１ビットステージ２３１〜２３Ｗの各々は、パスエンコーダＰＥ’１から受けた距離信号（Ｍ１１〜Ｍ１Ｗのいずれか）が“０”である場合、Ｎ５１→トランスファゲート６０４→インバータ６０６からなる遅延経路を介して信号を遅延し、パスエンコーダＰＥ’１から受けた距離信号（Ｍ１１〜Ｍ１Ｗのいずれか）が“１”である場合、Ｎ５１→トランスファゲート６０１→遅延器６０３→トランスファゲート６０５→インバータ６０６からなる遅延経路を介して信号を遅延させる。
【０４０３】
発振回路７１Ｋ−１は、１ビットステージ２４１〜２４Ｗからなる。１ビットステージ２４１〜２４Ｗは、選択器７２Ｋ−１を介してリング状に接続される。そして、１ビットステージ２４１〜２４Ｗの各々は、図２６に示す１ビットステージ６１０と同じ構成からなる。この場合、１ビットステージ２４１〜２４Ｗの各々において、遅延器６０３は、直列に接続された偶数個のインバータからなり、遅延器６０３による遅延時間は、２τｓである。
【０４０４】
１ビットステージ２４１〜２４Ｗは、パスエンコーダＰＥ’１からそれぞれ距離信号ＭＫ−１１〜ＭＫ−１Ｗを受け、その受けた距離信号ＭＫ−１１〜ＭＫ−１Ｗによって選択された遅延経路（Ｎ５１→トランスファゲート６０４→インバータ６０６、またはＮ５１→トランスファゲート６０１→遅延器６０３→トランスファゲート６０５→インバータ６０６）を介して信号を遅延させる。この場合、１ビットステージ２４１〜２４Ｗの各々は、パスエンコーダＰＥ’１から受けた距離信号（ＭＫ−１１〜ＭＫ−１Ｗのいずれか）が“０”である場合、Ｎ５１→トランスファゲート６０４→インバータ６０６からなる遅延経路を介して信号を遅延し、パスエンコーダＰＥ’１から受けた距離信号（ＭＫ−１１〜ＭＫ−１Ｗのいずれか）が“１”である場合、Ｎ５１→トランスファゲート６０１→遅延器６０３→トランスファゲート６０５→インバータ６０６からなる遅延経路を介して信号を遅延させる。
【０４０５】
発振回路７１Ｋは、１ビットステージ２５１〜２５Ｗからなる。１ビットステージ２５１〜２５Ｗは、選択器７２Ｋを介してリング状に接続される。そして、１ビットステージ２５１〜２５Ｗの各々は、図２６に示す１ビットステージ６１０と同じ構成からなる。この場合、１ビットステージ２５１〜２５Ｗの各々において、遅延器６０３は、直列に接続された偶数個のインバータからなり、遅延器６０３による遅延時間は、τｓである。
【０４０６】
１ビットステージ２５１〜２５Ｗは、パスエンコーダＰＥ’１からそれぞれ距離信号ＭＫ１〜ＭＫＷを受け、その受けた距離信号ＭＫ１〜ＭＫＷによって選択された遅延経路（Ｎ５１→トランスファゲート６０４→インバータ６０６、またはＮ５１→トランスファゲート６０１→遅延器６０３→トランスファゲート６０５→インバータ６０６）を介して信号を遅延させる。この場合、１ビットステージ２５１〜２５Ｗの各々は、パスエンコーダＰＥ’１から受けた距離信号（ＭＫ１〜ＭＫＷのいずれか）が“０”である場合、Ｎ５１→トランスファゲート６０４→インバータ６０６からなる遅延経路を介して信号を遅延し、パスエンコーダＰＥ’１から受けた距離信号（ＭＫ１〜ＭＫＷのいずれか）が“１”である場合、Ｎ５１→トランスファゲート６０１→遅延器６０３→トランスファゲート６０５→インバータ６０６からなる遅延経路を介して信号を遅延させる。
【０４０７】
このように、Ｋ個の発振回路７１１〜７１Ｋは、選択器７２１〜７２Ｋ−１を介して直列に接続される。また、発振回路７１１〜７１Ｋは、それぞれ、参照データと検索データとの最上位ビット同士の間の距離信号、第２位ビット同士の間の距離信号、・・・、および最下位ビット同士の間の距離信号によって表された距離に応じた遅延時間だけ遅延させた発振信号を発振する。
【０４０８】
そして、発振回路７１１は、ＮＡＮＤ回路７１０を介してイネーブル信号ＥＮを受け、Ｋ個の発振回路７１１〜７１Ｋは、選択器７２１〜７２Ｋ−１を介して直列に接続されるので、距離／時間変換回路ＤＴ’１においては、参照データと検索データとの最上位ビット同士の間の距離信号が最初に発振信号に変換され、その次に、参照データと検索データとの第２位ビット同士の間の距離信号が発振信号に変換され、最後に、参照データと検索データとの最下位ビット同士の間の距離信号が発振信号に変換される。
【０４０９】
つまり、連想メモリ１００Ａにおいては、Ｒ個の行の各々において、Ｗ個の参照データの最上位ビットから最下位ビットへ向かう順に、Ｗ個の参照データの各々が検索データに一致するか否かが検索される。
【０４１０】
このように、最上位ビットから最下位ビットへ向かう順に、Ｗ個の参照データの各々が検索データに一致するか否かが検索されるのは、参照データおよび検索データの最上位ビットは、最も重要な意味を有するからである。
【０４１１】
なお、図２８に示す距離／時間変換回路ＤＴ’２〜ＤＴ’Ｒの各々も、図３０に示す距離／時間変換回路ＤＴ’１と同じ構成からなる。
【０４１２】
連想メモリ１００Ａにおける動作について説明する。ユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗは、Ｗ個の参照データと検索データとの間の距離信号Ｍ１１Ｍ２１・・・ＭＫ１Ｍ１２Ｍ２２・・・ＭＫ２・・・Ｍ１ＷＭ２Ｗ・・・ＭＫＷをパスエンコーダＰＥ’１ヘ出力する。ユニット比較回路ＵＣ’２１〜ＵＣ’２Ｗ，・・・，ＵＣ’Ｒ１〜ＵＣ’ＲＷも、同様に、距離信号Ｍ１１Ｍ２１・・・ＭＫ１Ｍ１２Ｍ２２・・・ＭＫ２・・・Ｍ１ＷＭ２Ｗ・・・ＭＫＷをそれぞれパスエンコーダＰＥ’１〜ＰＥ’Ｒへ出力する。
【０４１３】
パスエンコーダＰＥ’１は、上述した方法によって、距離信号Ｍ１１Ｍ２１・・・ＭＫ１Ｍ１２Ｍ２２・・・ＭＫ２・・・Ｍ１ＷＭ２Ｗ・・・ＭＫＷに基づいて、距離信号Ｍ１１Ｍ１２・・・Ｍ１Ｗ，Ｍ２１Ｍ２２・・・Ｍ２Ｗ，・・・，ＭＫ１ＭＫ２・・・ＭＫＷを生成する。そして、パスエンコーダＰＥ’１は、距離信号Ｍ１１Ｍ１２・・・Ｍ１Ｗを距離／時間変換回路ＤＴ’１の発振回路７１１へ出力し、以下、同様にして、距離信号ＭＫ−１１ＭＫ−１２・・・ＭＫ−１Ｗを距離／時間変換回路ＤＴ’１の発振回路７１Ｋ−１へ出力し、距離信号ＭＫ１ＭＫ２・・・ＭＫＷを距離／時間変換回路ＤＴ’１の発振回路７１Ｋへ出力する。パスエンコーダＰＥ’２〜ＰＥ’Ｒについても同様である。
【０４１４】
そして、距離／時間変換回路ＤＴ’１においては、発振回路７１１は、最初に、距離信号Ｍ１１Ｍ１２・・・Ｍ１Ｗによって選択された遅延経路を用いて発振信号を発振し、その次に、発振回路７１２は、距離信号Ｍ２１Ｍ２２・・・Ｍ２Ｗによって選択された遅延経路を用いて発振信号を発振し、以下、同様にして、発振回路７１Ｋは、最後に、距離信号ＭＫ１ＭＫ２・・・ＭＫＷによって選択された遅延経路を用いて発振信号を発振する。そして、距離／時間変換回路ＤＴ’１は、発振信号Ｓ１を分周回路２０へ出力する。
【０４１５】
距離／時間変換回路ＤＴ’２〜ＤＴ’Ｒも、同様にして、それぞれ発振信号Ｓ２〜ＳＲを発振し、その発振した発振信号Ｓ２〜ＳＲを分周回路２０へ出力する。
【０４１６】
そうすると、分周回路２０は、上述した方法によって、発振信号Ｓ１〜ＳＲを所望回数だけ分周し、その分周した発振信号Ｓｄ１〜ＳｄＲを時間領域ＷＴＡ回路３０へ出力する。そして、時間領域ＷＴＡ回路３０は、上述した方法によって、発振信号Ｓｄ１〜ＳｄＲのうち、最も早くする変化する発振信号（発振信号Ｓｄ１〜ＳｄＲのいずれか）を検出し、マッチ信号Ｍ１〜ＭＲを出力する。
【０４１７】
連想メモリ１００ＡのＲ個の行の各々において、Ｗ個の参照データと検索データとの最上位ビット同士が一致しないとき、発振回路７１１の１ビットステージ２３１〜２３Ｗの各々において、Ｎ５１→トランスファゲート６０１→遅延器６０３→トランスファゲート６０５→インバータ６０６からなる遅延経路が選択され、発振回路７１１が発振信号を出力するタイミングが最も遅くなり、Ｗ個の参照データと検索データとの最上位ビット同士が一致するとき、発振回路７１１の１ビットステージ２３１〜２３Ｗの各々において、Ｎ５１→トランスファゲート６０４→インバータ６０６からなる遅延経路が選択され、発振回路７１１が発振信号を出力するタイミングが最も早くなる。発振回路７１２〜７１Ｋの各々においても、同様である。
【０４１８】
そして、Ｒ個の行の各々において、Ｗ個の参照データの最上位ビットから最下位ビットへ向かう順に、Ｗ個の参照データの各々が検索データに一致するか否かが検索されるので、Ｗ個の参照データと検索データとの最上位ビット同士が不一致である行においては、発振信号（発振信号Ｓ１〜ＳＲのいずれか）が分周回路２０へ出力されるタイミングが最も遅くなる。
【０４１９】
その結果、発振信号（発振信号Ｓ１〜ＳＲのいずれか）の分周回路２０への出力タイミングが遅い行については、時間領域ＷＴＡ回路３０がＷｉｎｎｅｒ行を検出した時点においても、距離／時間変換回路（距離／時間変換回路ＤＴ’１〜ＤＴ’Ｒのいずれか）による距離信号の発振信号への変換が最下位ビットまで進行していない状況も想定される。このような場合、発振信号（発振信号Ｓ１〜ＳＲのいずれか）の分周回路２０への出力タイミングが遅い行の距離信号から発振信号への変換を途中で中止することによって、連想メモリ１００Ａにおける検索時間を短縮できる。
【０４２０】
図３１は、図２８に示す距離／時間変換回路ＤＴ’１の他の構成を示すブロック図である。
【０４２１】
距離／時間変換回路ＤＴ’１は、図３１に示す距離／時間変換回路ＤＴ’１Ａからなっていてもよい。図３１を参照して、距離／時間変換回路ＤＴ’１Ａは、距離／時間変換回路ＤＴ’１の発振回路７１１〜７１Ｋをそれぞれ発振回路７３１〜７３Ｋに代え、選択器７２１〜７２Ｋを分周器７４１〜７４Ｋ−１に代えたものであり、その他は、距離／時間変換回路ＤＴ’１と同じである。
【０４２２】
発振回路７３１は、参照データおよび検索データの最上位ビットに対応して設けられる。そして、発振回路７３１は、参照データと検索データとの最上位ビット同士の距離を示すＷビットの距離信号Ｍ１１・・・Ｍ１Ｗ−１Ｍ１ＷをパスエンコーダＰＥ’１から受け、その受けたＷビットの距離信号Ｍ１１・・・Ｍ１Ｗ−１Ｍ１Ｗによって表される距離に応じた遅延時間だけ遅延した発振信号を生成して分周器７４１へ出力する。
【０４２３】
以下、同様にして、発振回路７３Ｋ−１は、参照データおよび検索データの第Ｋ−１位ビットに対応して設けられる。そして、発振回路７３Ｋ−１は、参照データと検索データとの第Ｋ−１位ビット同士の距離を示すＷビットの距離信号ＭＫ−１１・・・ＭＫ−１Ｗ−１ＭＫ−１ＷをパスエンコーダＰＥ’１から受け、その受けたＷビットの距離信号ＭＫ−１１・・・ＭＫ−１Ｗ−１ＭＫ−１Ｗによって表される距離に応じた遅延時間だけ遅延した発振信号を生成して分周器７４Ｋ−１へ出力する。
【０４２４】
発振回路７３Ｋは、参照データおよび検索データの最下位ビットに対応して設けられる。そして、発振回路７３Ｋは、参照データと検索データとの最下位ビット同士の距離を示すＷビットの距離信号ＭＫ１・・・ＭＫＷ−１ＭＫＷをパスエンコーダＰＥ’１から受け、その受けたＷビットの距離信号ＭＫ１・・・ＭＫＷ−１ＭＫＷによって表される距離に応じた遅延時間だけ遅延した発振信号を生成し、その生成した発振信号を発振信号Ｓ１として分周回路２０およびＮＡＮＤ回路７１０へ出力する。
【０４２５】
分周器７４１は、発振回路７３１からの発振信号を分周し、その分周した発振信号を発振回路７３１へ出力する。そして、分周器７４１は、発振回路７３１からの発振信号を２Ｋ−１回分周すると、その分周後の発振信号を発振回路７３２へ出力する。
【０４２６】
以下、同様にして、分周器７４Ｋ−１は、発振回路７３Ｋ−１からの発振信号を分周し、その分周した発振信号を発振回路７３Ｋ−１へ出力する。そして、分周器７４１は、発振回路７３Ｋ−１からの発振信号を２回分周すると、その分周後の発振信号を発振回路７３Ｋへ出力する。
【０４２７】
発振回路７３１〜７３Ｋの各々は、１ビットステージ２６１〜２６Ｗからなる。１ビットステージ２６１〜２６Ｗは、分周器７４１を介してリング状に接続される。そして、１ビットステージ２６１〜２６Ｗの各々は、図２６に示す１ビットステージ６１０と同じ構成からなる。この場合、１ビットステージ２６１〜２６Ｗの各々において、遅延器６０３は、直列に接続された偶数個のインバータからなり、遅延器６０３による遅延時間は、τｓである。
【０４２８】
１ビットステージ２６１〜２６Ｗは、パスエンコーダＰＥ’１からそれぞれ距離信号Ｍ１１〜Ｍ１Ｗを受け、その受けた距離信号Ｍ１１〜Ｍ１Ｗによって選択された遅延経路（Ｎ５１→トランスファゲート６０４→インバータ６０６、またはＮ５１→トランスファゲート６０１→遅延器６０３→トランスファゲート６０５→インバータ６０６）を介して信号を遅延させる。この場合、１ビットステージ２６１〜２６Ｗの各々は、パスエンコーダＰＥ’１から受けた距離信号（Ｍ１１〜Ｍ１Ｗのいずれか）が“０”である場合、Ｎ５１→トランスファゲート６０４→インバータ６０６からなる遅延経路を介して信号を遅延し、パスエンコーダＰＥ’１から受けた距離信号（Ｍ１１〜Ｍ１Ｗのいずれか）が“１”である場合、Ｎ５１→トランスファゲート６０１→遅延器６０３→トランスファゲート６０５→インバータ６０６からなる遅延経路を介して信号を遅延させる。
【０４２９】
このように、距離／時間変換回路ＤＴ’１Ａは、分周器７４１〜７４Ｋ−１における分周回数を分周器７４１から分周器７４Ｋへ向かう方向に順次減少させることによって、発振回路７３１〜７３Ｋによって発振された発振信号の遅延時間を参照データと検索データとの最上位ビットから最下位ビットへ向かう方向に順次短くする構成を実現したものである。
【０４３０】
図２８に示す距離／時間変換回路ＤＴ’２〜ＤＴ’Ｒの各々も、図３１に示す距離／時間変換回路ＤＴ’１Ａと同じ構成からなる。
【０４３１】
距離／時間変換回路ＤＴ’１Ａを備える連想メモリ１００Ａにおける動作について説明する。ユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗ，ＵＣ’２１〜ＵＣ’２Ｗ，・・・，ＵＣ’Ｒ１〜ＵＣ’ＲＷは、上述したように、距離信号Ｍ１１Ｍ２１・・・ＭＫ１Ｍ１２Ｍ２２・・・ＭＫ２・・・Ｍ１ＷＭ２Ｗ・・・ＭＫＷをそれぞれパスエンコーダＰＥ’１〜ＰＥ’Ｒへ出力する。
【０４３２】
パスエンコーダＰＥ’１は、上述した方法によって、距離信号Ｍ１１Ｍ２１・・・ＭＫ１Ｍ１２Ｍ２２・・・ＭＫ２・・・Ｍ１ＷＭ２Ｗ・・・ＭＫＷに基づいて、距離信号Ｍ１１Ｍ１２・・・Ｍ１Ｗ，Ｍ２１Ｍ２２・・・Ｍ２Ｗ，・・・，ＭＫ１ＭＫ２・・・ＭＫＷを生成する。そして、パスエンコーダＰＥ’１は、距離信号Ｍ１１Ｍ１２・・・Ｍ１Ｗを距離／時間変換回路ＤＴ’１Ａの発振回路７３１へ出力し、以下、同様にして、距離信号ＭＫ−１１ＭＫ−１２・・・ＭＫ−１Ｗを距離／時間変換回路ＤＴ’１Ａの発振回路７３Ｋ−１へ出力し、距離信号ＭＫ１ＭＫ２・・・ＭＫＷを距離／時間変換回路ＤＴ’１Ａの発振回路７３Ｋへ出力する。パスエンコーダＰＥ’２〜ＰＥ’Ｒについても同様である。
【０４３３】
そして、距離／時間変換回路ＤＴ’１Ａにおいては、発振回路７３１および分周器７４１は、最初に、距離信号Ｍ１１Ｍ１２・・・Ｍ１Ｗによって選択された遅延経路を用いて発振信号を発振するとともに、発振信号を２Ｋ−１回分周し、その次に、発振回路７３２および分周器７４２は、距離信号Ｍ２１Ｍ２２・・・Ｍ２Ｗによって選択された遅延経路を用いて発振信号を発振するとともに、発振信号を２Ｋ−２回分周し、以下、同様にして、発振回路７３Ｋは、最後に、距離信号ＭＫ１ＭＫ２・・・ＭＫＷによって選択された遅延経路を用いて発振信号を発振する。そして、距離／時間変換回路ＤＴ’１Ａは、発振信号Ｓ１を分周回路２０へ出力する。
【０４３４】
距離／時間変換回路ＤＴ’２〜ＤＴ’Ｒ（＝距離／時間変換回路ＤＴ’１Ａ）も、同様にして、それぞれ発振信号Ｓ２〜ＳＲを発振し、その発振した発振信号Ｓ２〜ＳＲを分周回路２０へ出力する。
【０４３５】
そうすると、分周回路２０は、上述した方法によって、発振信号Ｓ１〜ＳＲを所望回数だけ分周し、その分周した発振信号Ｓｄ１〜ＳｄＲを時間領域ＷＴＡ回路３０へ出力する。そして、時間領域ＷＴＡ回路３０は、上述した方法によって、発振信号Ｓｄ１〜ＳｄＲのうち、最も早くする変化する発振信号（発振信号Ｓｄ１〜ＳｄＲのいずれか）を検出し、マッチ信号Ｍ１〜ＭＲを出力する。
【０４３６】
その結果、距離／時間変換回路ＤＴ’１〜ＤＴ’Ｒの各々が距離／時間変換回路ＤＴ’１Ａからなる場合も、上述した理由によって、連想メモリ１００Ａの検索時間を短縮できる。
【０４３７】
図３２は、図２８に示す距離／時間変換回路ＤＴ’１の更に他の構成を示すブロック図である。
【０４３８】
距離／時間変換回路ＤＴ’１は、図３２に示す距離／時間変換回路ＤＴ’１Ｂからなっていてもよい。図３２を参照して、距離／時間変換回路ＤＴ’１Ｂは、発振回路７５１，７５２と、マルチプレクサＭＵ１１〜ＭＵ１Ｗ，ＭＵ２１〜ＭＵ２Ｗと、スイッチング制御回路７６０と、選択器７８０とを含む。
【０４３９】
発振回路７５１は、１ビットステージ２７１〜２７Ｗからなる。発振回路７５２は、１ビットステージ２８１〜２８Ｗからなる。
【０４４０】
スイッチング制御回路７６０は、ＥＮ選択回路７６１と、ＮＡＮＤ回路７６２，７６８と、段数可変分周器７６３，７６９と、遅延回路７６４，７７０と、スイッチング回路７６５と、フリップフロップ７６６，７６７と、ＯＲ回路７７１とを含む。
【０４４１】
１ビットステージ２７１〜２７Ｗは、直列に接続される。１ビットステージ２８１〜２８Ｗは、直列に接続される。１ビットステージ２７１〜２７Ｗ，２８１〜２８Ｗの各々は、図２６に示す１ビットステージ６１０からなる。この場合、遅延器６０３は、直列に接続された偶数個のインバータからなり、遅延器６０３による遅延時間は、１ビットステージ２７１〜２７Ｗ，２８１〜２８Ｗの全てにおいてτｓである。
【０４４２】
マルチプレクサＭＵ１１〜ＭＵ１Ｗは、それぞれ、１ビットステージ２７１〜２７Ｗに対応して配置される。マルチプレクサＭＵ２１〜ＭＵ２Ｗは、それぞれ、１ビットステージ２８１〜２８Ｗに対応して配置される。
【０４４３】
マルチプレクサＭＵ１１は、Ｋビットの距離信号Ｍ１１，Ｍ２１，・・・ＭＫ１のうち、奇数ビットの距離信号Ｍ１１，Ｍ３１，Ｍ５１，・・・をパスエンコーダＰＥ’１から受け、遅延回路７６４から信号ＳＷ＿１を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴを受ける。そして、マルチプレクサＭＵ１１は、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴまたは信号ＳＷ＿１が立ち上がった後に立ち下がるごとに奇数ビットの距離信号Ｍ１１，Ｍ３１，Ｍ５１，・・・を１個ずつ１ビットステージ２７１へ順次出力する。なお、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴは、１つのパルス波形からなる。
【０４４４】
マルチプレクサＭＵ１２は、Ｋビットの距離信号Ｍ１２，Ｍ２２，・・・ＭＫ２のうち、奇数ビットの距離信号Ｍ１２，Ｍ３２，Ｍ５２，・・・をパスエンコーダＰＥ’１から受け、遅延回路７６４から信号ＳＷ＿１を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴを受ける。そして、マルチプレクサＭＵ１２は、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴまたは信号ＳＷ＿１が立ち上がった後に立ち下がるごとに奇数ビットの距離信号Ｍ１２，Ｍ３２，Ｍ５２，・・・を１個ずつ１ビットステージ２７２へ順次出力する。
【０４４５】
以下、同様にして、マルチプレクサＭＵ１Ｗ−１は、Ｋビットの距離信号Ｍ１Ｗ−１，Ｍ２Ｗ−１，・・・ＭＫＷ−１のうち、奇数ビットの距離信号Ｍ１Ｗ−１，Ｍ３Ｗ−１，Ｍ５Ｗ−１，・・・をパスエンコーダＰＥ’１から受け、遅延回路７６４から信号ＳＷ＿１を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴを受ける。そして、マルチプレクサＭＵ１Ｗ−１は、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴまたは信号ＳＷ＿１が立ち上がった後に立ち下がるごとに奇数ビットの距離信号Ｍ１Ｗ−１，Ｍ３Ｗ−１，Ｍ５Ｗ−１，・・・を１個ずつ１ビットステージ２７Ｗ−１へ順次出力する。マルチプレクサＭＵ１Ｗは、Ｋビットの距離信号Ｍ１Ｗ，Ｍ２Ｗ，・・・ＭＫＷのうち、奇数ビットの距離信号Ｍ１Ｗ，Ｍ３Ｗ，Ｍ５Ｗ，・・・をパスエンコーダＰＥ’１から受け、遅延回路７６４から信号ＳＷ＿１を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴを受ける。そして、マルチプレクサＭＵ１Ｗは、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴまたは信号ＳＷ＿１が立ち上がった後に立ち下がるごとに奇数ビットの距離信号Ｍ１Ｗ，Ｍ３Ｗ，Ｍ５Ｗ，・・・を１個ずつ１ビットステージ２７Ｗへ順次出力する。
【０４４６】
一方、マルチプレクサＭＵ２１は、Ｋビットの距離信号Ｍ１１，Ｍ２１，・・・ＭＫ１のうち、偶数ビットの距離信号Ｍ２１，Ｍ４１，Ｍ６１，・・・をパスエンコーダＰＥ’１から受け、遅延回路７７０から信号ＳＷ＿２を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴを受ける。そして、マルチプレクサＭＵ２１は、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴまたは信号ＳＷ＿２が立ち上がった後に立ち下がるごとに偶数ビットの距離信号Ｍ２１，Ｍ４１，Ｍ６１，・・・を１個ずつ１ビットステージ２８１へ順次出力する。なお、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴは、１つのパルス波形からなる。
【０４４７】
マルチプレクサＭＵ２２は、Ｋビットの距離信号Ｍ１２，Ｍ２２，・・・ＭＫ２のうち、偶数ビットの距離信号Ｍ２２，Ｍ４２，Ｍ６２，・・・をパスエンコーダＰＥ’１から受け、遅延回路７７０から信号ＳＷ＿２を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴを受ける。そして、マルチプレクサＭＵ２２は、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴまたは信号ＳＷ＿２が立ち上がった後に立ち下がるごとに偶数ビットの距離信号Ｍ２２，Ｍ４２，Ｍ６２，・・・を１個ずつ１ビットステージ２８２へ順次出力する。
【０４４８】
以下、同様にして、マルチプレクサＭＵ２Ｗ−１は、Ｋビットの距離信号Ｍ１Ｗ−１，Ｍ２Ｗ−１，・・・ＭＫＷ−１のうち、偶数ビットの距離信号Ｍ２Ｗ−１，Ｍ４Ｗ−１，Ｍ６Ｗ−１，・・・をパスエンコーダＰＥ’１から受け、遅延回路７７０から信号ＳＷ＿２を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴを受ける。そして、マルチプレクサＭＵ２Ｗ−１は、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴまたは信号ＳＷ＿２が立ち上がった後に立ち下がるごとに偶数ビットの距離信号Ｍ２Ｗ−１，Ｍ４Ｗ−１，Ｍ６Ｗ−１，・・・を１個ずつ１ビットステージ２８Ｗ−１へ順次出力する。マルチプレクサＭＵ２Ｗは、Ｋビットの距離信号Ｍ１Ｗ，Ｍ２Ｗ，・・・ＭＫＷのうち、偶数ビットの距離信号Ｍ２Ｗ，Ｍ４Ｗ，Ｍ６Ｗ，・・・をパスエンコーダＰＥ’１から受け、遅延回路７７０から信号ＳＷ＿２を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴを受ける。そして、マルチプレクサＭＵ２Ｗは、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴまたは信号ＳＷ＿２が立ち上がった後に立ち下がるごとに偶数ビットの距離信号Ｍ２Ｗ，Ｍ４Ｗ，Ｍ６Ｗ，・・・を１個ずつ１ビットステージ２８Ｗへ順次出力する。
【０４４９】
１ビットステージ２７１〜２７Ｗは、それぞれ、マルチプレクサＭＵ１１〜ＭＵ１Ｗから受けた距離信号によって選択された遅延経路を用いて信号を遅延する。そして、１ビットステージ２７１〜２７Ｗ−１は、その遅延した信号をそれぞれ１ビットステージ２７２〜２７Ｗへ出力し、１ビットステージ２７Ｗは、その遅延した信号を段数可変分周器７６３へ出力する。
【０４５０】
１ビットステージ２８１〜２８Ｗは、それぞれ、マルチプレクサＭＵ２１〜ＭＵ２Ｗから受けた距離信号によって選択された遅延経路を用いて信号を遅延する。そして、１ビットステージ２８１〜２８Ｗ−１は、その遅延した信号をそれぞれ１ビットステージ２８２〜２８Ｗへ出力し、１ビットステージ２８Ｗは、その遅延した信号を段数可変分周器７６９へ出力する。
【０４５１】
ＥＮ選択回路７６１は、連想メモリ１００Ａの制御回路からイネーブル信号ＥＮを端子ＥＮ１に受け、フリップフロップ７６７から信号ＥＮ＿１（発振信号）を端子ＥＮ２に受け、遅延器７６４から信号ＳＷ＿１を受ける。そして、ＥＮ選択回路７６１は、初期状態においては、端子ＥＮ１へ入力されたイネーブル信号ＥＮと、端子ＥＮ２へ入力された信号ＥＮ＿１（発振信号）との論理和を演算し、その演算した論理和をＮＡＮＤ回路７６２へ出力する。また、ＥＮ選択回路７６１は、信号ＳＷ＿１が立ち上がった後に立ち下がると、端子ＥＮ２へ入力された信号ＥＮ＿１（発振信号）をＮＡＮＤ回路７６２へ出力する。
【０４５２】
ＮＡＮＤ回路７６２は、ＥＮ選択回路７６１の出力信号と、段数可変分周器７６３の出力信号との論理積を演算し、その演算した論理積を反転して１ビットステージ２７１へ出力する。
【０４５３】
段数可変分周器７６３は、１ビットステージ２７Ｗから発振信号を受け、スイッチング回路７６５から選択信号Ｆ＿ＳＥＬ１を受け、ＯＲ回路７７１から検索開始信号ＳＢを受ける。そして、段数可変分周器７６３は、その受けた発振信号をＮＡＮＤ回路７６２へ出力する。また、段数可変分周器７６３は、検索開始信号ＳＢを受けると、検索開始信号ＳＢを受けるまでの分周回数をリセットし、選択信号Ｆ＿ＳＥＬ１によって選択された分周回数だけ発振信号を分周し、その分周した発振信号を信号Ｆｒｅｑ＿ｏｕｔ＿１として遅延回路７６４およびフリップフロップ７６１へ出力する。また、段数可変分周器７６３は、発振信号の分周が終了すると、分周後の発振信号を信号ｏｕｔ＿１として選択器７８０へ出力する。
【０４５４】
遅延回路７６４は、信号Ｆｒｅｑ＿ｏｕｔ＿１をτだけ遅延し、その遅延した信号Ｆｒｅｑ＿ｏｕｔ＿１を信号ＳＷ＿１として出力する。
【０４５５】
スイッチング回路７６５は、連想メモリ１００Ａの制御回路からリセット信号ＲＳＴを受けると、リセットする。また、スイッチング回路７６５は、リセットされた後に、連想メモリ１００Ａの制御回路から、選択信号ＦＳＥＬ＿ＳＥＴと、“１”からなるデータｄａｔａとを受ける。そして、スイッチング回路７６５は、後述する方法によって、選択信号Ｆ＿ＳＥＬ０，Ｆ＿ＳＥＬ１，Ｆ＿ＳＥＬ２を生成する。その後、スイッチング回路７６５は、その生成した選択信号Ｆ＿ＳＥＬ０を選択器７８０へ出力し、その生成した選択信号Ｆ＿ＳＥＬ１を段数可変分周器７６３へ出力し、その生成した選択信号Ｆ＿ＳＥＬ２を段数可変分周器７６９へ出力する。なお、選択信号Ｆ＿ＳＥＬ０は、選択信号Ｆ＿ＳＥＬ０１，Ｆ＿ＳＥＬ０２からなり、選択信号Ｆ＿ＳＥＬ０１，Ｆ＿ＳＥＬ０２は、同時に“１”になることはない。また、選択信号ＦＳＥＬ＿ＳＥＴは、１つのパルス波形からなる。
【０４５６】
フリップフロップ７６６は、段数可変分周器７６３から信号Ｆｒｅｑ＿ｏｕｔ＿１を端子Ｓに受け、遅延回路７７０から信号ＳＷ＿２を端子Ｒに受け、連想メモリ１００Ａの制御回路からリセット信号ＲＳＴを端子Ｒに受ける。そして、フリップフロップ７６６は、初期段階においては、リセット信号ＲＳＴによってリセットされる。そして、フリップフロップ７６６は、信号ＳＷ＿２のパルス信号を受けてリセットされ、その後、信号Ｆｒｅｑ＿ｏｕｔ＿１のパルス信号を端子Ｓに受け、その受けたパルス信号をラッチし、信号ＥＮ＿２としてＮＡＮＤ回路７６８へ出力する。
【０４５７】
フリップフロップ７６７は、段数可変分周器７６９から信号Ｆｒｅｑ＿ｏｕｔ＿２を端子Ｓに受け、遅延回路７６４から信号ＳＷ＿１を端子Ｒに受け、連想メモリ１００Ａの制御回路からリセット信号ＲＳＴを端子Ｒに受ける。そして、フリップフロップ７６７は、初期段階においては、リセット信号ＲＳＴによってリセットされる。そして、フリップフロップ７６７は、信号ＳＷ＿１のパルス信号を受けてリセットされ、その後、信号Ｆｒｅｑ＿ｏｕｔ＿２のパルス信号を端子Ｓに受け、その受けたパルス信号をラッチし、信号ＥＮ＿１としてＥＮ選択回路７６１へ出力する。
【０４５８】
ＮＡＮＤ回路７６８は、信号ＥＮ＿２と、段数可変分周器７６９からの発振信号との論理積を演算し、その演算した論理積を反転して１ビットステージ２８１へ出力する。
【０４５９】
段数可変分周器７６９は、１ビットステージ２８Ｗから発振信号を受け、スイッチング回路７６５から選択信号Ｆ＿ＳＥＬ２を受け、ＯＲ回路７７１から検索開始信号ＳＢを受ける。そして、段数可変分周器７６９は、検索開始信号ＳＢを受けると、分周器の分周回数をリセットし、発振信号をＮＡＮＤ回路７６８へ出力するとともに、選択信号Ｆ＿ＳＥＬ２によって選択された分周回数だけ発振信号を分周し、その分周した発振信号を信号Ｆｒｅｑ＿ｏｕｔ＿２として遅延回路７７０へ出力する。また、段数可変分周器７６９は、発振信号の分周が終了すると、分周後の発振信号を信号ｏｕｔ＿２として選択器７８０へ出力する。
【０４６０】
遅延回路７７０は、段数可変分周器７６９から信号Ｆｒｅｑ＿ｏｕｔ＿２を受け、その受けた信号Ｆｒｅｑ＿ｏｕｔ＿２をτだけ遅延し、その遅延した信号Ｆｒｅｑ＿ｏｕｔ＿２を信号ＳＷ＿２として出力する。
【０４６１】
選択器７８０は、選択信号Ｆ＿ＳＥＬ０（＝Ｆ＿ＳＥＬ０１，Ｆ＿ＳＥＬ０２）を受け、信号ｏｕｔ＿１を段数可変分周器７６３から受け、信号ｏｕｔ＿２を段数可変分周器７６９から受ける。
【０４６２】
そして、選択器７８０は、選択信号Ｆ＿ＳＥＬ０１が“１”であるとき、信号ｏｕｔ＿１を発振信号Ｓ１として分周回路２０へ出力する。また、選択器７８０は、選択信号Ｆ＿ＳＥＬ０２が“１”であるとき、信号ｏｕｔ＿２を発振信号Ｓ１として分周回路２０へ出力する。
【０４６３】
図３３は、図３２に示すマルチプレクサＭＵ１１の回路図である。図３３を参照して、マルチプレクサＭＵ１１は、ＯＲ回路２９０と、シフトレジスタ２９１〜２９４と、ゲート２９５〜２９８とを含む。
【０４６４】
ＯＲ回路２９０は、遅延回路７６４から信号ＳＷ＿１を受け、連想メモリ１００Ａの制御回路から信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴを受ける。そして、ＯＲ回路２９０は、信号ＳＷ＿１と信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴとの論理和を演算し、その演算した論理和をシフトレジスタ２９１〜２９４の端子ＣＬＫへ出力する。
【０４６５】
シフトレジスタ２９１〜２９４は、直列に接続される。シフトレジスタ２９１〜２９４は、ＯＲ回路２９０から信号ＳＷ＿１と信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴとの論理和を端子ＣＬＫに受け、リセット信号ＲＳＴを端子Ｒに受ける。
【０４６６】
シフトレジスタ２９１〜２９４は、それぞれ、信号ＥＮ１１〜ＥＮ１４をゲート２９５〜２９８へ出力する。
【０４６７】
初期段階においては、信号ＳＷ＿１は、“０”からなり、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴは、上述したように１つのパルス波形からなる。従って、シフトレジスタ２９１は、“１”からなるデータｄａｔａを端子Ｄに受け、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴが立ち上がった後に立ち下がると、“１”を端子Ｑからシフトレジスタ２９２およびゲート２９５へ出力する。その後、シフトレジスタ２９１は、信号ＳＷ＿１が立ち上がった後に立ち下がると、“１”を端子Ｑからシフトレジスタ２９２およびゲート２９５へ出力する。
【０４６８】
シフトレジスタ２９２は、初期段階においては、“０”からなるデータをシフトレジスタ２９１から端子Ｄに受け、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴが立ち上がった後に立ち下がると、“０”からなるデータをシフトレジスタ２９３およびゲート２９６へ出力する。その後、シフトレジスタ２９２は、信号ＳＷ＿１が立ち上がった後に立ち下がると、シフトレジスタ２９１から端子Ｄに受けたデータを端子Ｑからシフトレジスタ２９３およびゲート２９６へ出力する。
【０４６９】
シフトレジスタ２９３は、初期段階においては、“０”からなるデータをシフトレジスタ２９２から端子Ｄに受け、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴが立ち上がった後に立ち下がると、“０”からなるデータをシフトレジスタ２９４およびゲート２９７へ出力する。その後、シフトレジスタ２９３は、信号ＳＷ＿１が立ち上がった後に立ち下がると、シフトレジスタ２９２から端子Ｄに受けたデータを端子Ｑからシフトレジスタ２９４およびゲート２９７へ出力する。
【０４７０】
シフトレジスタ２９４は、初期段階においては、“０”からなるデータをシフトレジスタ２９３から端子Ｄに受け、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴが立ち上がった後に立ち下がると、“０”からなるデータをゲート２９８へ出力する。その後、シフトレジスタ２９４は、信号ＳＷ＿１が立ち上がった後に立ち下がると、シフトレジスタ２９３から端子Ｄに受けたデータを端子Ｑからゲート２９８へ出力する。
【０４７１】
ゲート２９５〜２９８は、それぞれ、Ｋビットの距離信号Ｍ１１Ｍ２１・・・ＭＫ１のうち、１ビット目、３ビット目、５ビット目および７ビット目のビット値を受ける。
【０４７２】
そして、ゲート２９５〜２９８は、それぞれ、“１”からなる信号ＥＮ１１〜ＥＮ１４を受けると、１ビット目、３ビット目、５ビット目および７ビット目のビット値を１ビットステージ２７１へ出力する。
【０４７３】
マルチプレクサＭＵ１１においては、信号ＥＮ１１が最初に“１”になり、信号ＳＷ＿１が立ち上がった後に立ち下がるごとに、信号ＥＮ１２〜ＥＮ１４が順次“１”になるので、ゲート２９５〜２９８は、信号ＳＷ＿１が立ち上がった後に立ち下がるごとに、それぞれ、１ビット目、３ビット目、５ビット目および７ビット目のビット値を１ビットステージ２７１へ順次出力する。
【０４７４】
なお、図３２に示すマルチプレクサＭＵ１２〜ＭＵ１Ｗ，ＭＵ２１〜ＭＵ２Ｗの各々も、図３３に示すマルチプレクサＭＵ１１と同じ回路図からなる。そして、マルチプレクサＭＵ２１〜ＭＵ２Ｗにおいては、ＯＲ回路２９０は、信号ＳＷ＿２と信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴとの論理和を演算し、その演算した論理和をシフトレジスタ２９１〜２９４の端子ＣＬＫへ出力する。また、マルチプレクサＭＵ２１〜ＭＵ２Ｗにおいては、ゲート２９５〜２９８は、Ｋビットの距離信号Ｍ１１Ｍ２１・・・ＭＫ１のうち、それぞれ、２ビット目、４ビット目、６ビット目および８ビット目のビット値を受ける。そして、マルチプレクサＭＵ２１〜ＭＵ２Ｗのゲート２９５〜２９８は、それぞれ、信号ＳＷ＿２が立ち上がった後に立ち下がるごとに、それぞれ、２ビット目、４ビット目、６ビット目および８ビット目のビット値をそれぞれ１ビットステージ２８１〜２８Ｗへ順次出力する。
【０４７５】
図３４は、図３２に示すＥＮ選択回路７６１の回路図である。図３４を参照して、ＥＮ選択回路７６１は、選択器７６１１と、フリップフロップ７６１２と、ＯＲ回路７６１３とを含む。
【０４７６】
選択器７６１１は、端子ＥＮ１からイネーブル信号ＥＮを受け、フリップフロップ７６１２から信号ＳＷ＿１を受ける。そして、選択器７６１１は、信号ＳＷ＿１が立ち上がった後、立ち下がるまでは、イネーブル信号ＥＮをＯＲ回路７６１３へ出力する。また、選択器７６１１は、信号ＳＷ＿１が立ち上がった後、立ち下がると、“０”からなる信号をＯＲ回路７６１３へ出力する。
【０４７７】
フリップフロップ７６１２は、信号ＳＷ＿１を端子Ｓに受け、リセット信号ＲＳＴを端子Ｒに受ける。そして、フリップフロップ７６１２は、リセット信号ＲＳＴを受けると、リセットし、その後、信号ＳＷ＿１を端子Ｓに受けると、信号ＳＷ＿１を選択器７６１１へ出力する。
【０４７８】
ＯＲ回路７６１３は、選択器７６１１の出力信号と、端子ＥＮ２から入力された信号との論理和を演算し、その演算した論理和をＮＡＮＤ回路７６２へ出力する。
【０４７９】
ＥＮ選択回路７６１においては、選択器７６１１は、信号ＳＷ＿１が立ち上がった後、立ち下がるまでは、イネーブル信号ＥＮをＯＲ回路７６１３へ出力する。従って、ＯＲ回路７６１３は、信号ＳＷ＿１が立ち上がった後、立ち下がるまでは、イネーブル信号ＥＮ、または端子ＥＮ２から入力された信号をＮＡＮＤ回路７６２へ出力する。
【０４８０】
そして、選択器７６１１は、信号ＳＷ＿１が立ち上がった後に立ち下がると、“０”からなる信号をＯＲ回路７６１３へ出力し、ＯＲ回路７６１３は、“０”からなる信号と、端子ＥＮ２から入力された信号との論理和を演算して端子ＥＮ２から入力された信号をＮＡＮＤ回路７６２へ出力する。
【０４８１】
図３５は、図３２に示す一方の段数可変分周器７６３の回路図である。なお、図３５に示す段数可変分周器７６３の回路図は、参照データのビット数Ｋが８ビットである場合の回路図である。
【０４８２】
図３５を参照して、段数可変分周器７６３は、ＮＯＲ回路７６３１と、インバータ７６３２，７６４２，７６５０と、分周器７６３３〜７６３９と、Ｐ型ＭＯＳトランジスタ７６４０，７６５１と、ゲート７６４１，７６４３，７６４５，７６４７，７６４９とを含む。
【０４８３】
段数可変分周器７６３は、ノードＮ９１から信号ＣＨ＿ｏｕｔ（発振信号）を受け、その受けた信号ＣＨ＿ｏｕｔをノードＮ９２からＮＡＮＤ回路７６２へ出力する。
【０４８４】
ＮＯＲ回路７６３１は、ノードＮ９１から受けた信号ＣＨ＿ｏｕｔと、信号Ｆ＿ａｃｔとの論理和を演算し、その演算した論理和を反転して分周器７６３３およびゲート７６４１へ出力する。
【０４８５】
インバータ７６３２は、ＯＲ回路７７１から検索開始信号ＳＢを受け、その受けた検索開始信号ＳＢを反転して分周器７６３３〜７６３９へ出力する。
【０４８６】
分周器７６３３〜７６３９は、直列に接続され、ＯＲ回路７７１から検索開始信号ＳＢを受け、インバータ７６３２から反転信号／ＳＢを受ける。分周器７６３３は、ＮＯＲ回路７６３１の出力端子とゲート７６４３との間に接続される。分周器７６３４，７６３５は、分周器７６３３の出力端子とゲート７６４５との間に直列に接続される。分周器７６３６，７６３７は、分周器７６３５の出力端子とゲート７６４７との間に直列に接続される。分周器７６３８，７６３９は、分周器７６３７の出力端子とゲート７６４９との間に直列に接続される。
【０４８７】
そして、分周器７６３３〜７６３９の各々は、図１１に示す分周器２１１と同じ回路図からなる。この場合、図１１に示すＮ型ＭＯＳトランジスタ２１１９は、信号Ｆｒｅ＿ＲＳＴに代えて、検索開始信号ＳＢをゲート端子に受け、Ｐ型ＭＯＳトランジスタ２１２７は、信号Ｆｒｅ＿ＲＳＴＱに代えて、検索開始信号ＳＢの反転信号／ＳＢをゲート端子に受ける。
【０４８８】
Ｐ型ＭＯＳトランジスタ７６４０は、電源ノードＶＤＤと、インバータ７６４２の入力端子との間に接続される。そして、Ｐ型ＭＯＳトランジスタ７６４０は、スイッチング回路７６５から受けた選択信号Ｆ＿ＳＥＬ１０をゲート端子に受ける。
【０４８９】
ゲート７６４１およびインバータ７６４２は、ＮＯＲ回路７６３１の出力端子と、ノードＮ９３との間に直列に接続される。ゲート７６４１は、スイッチング回路７６５から受けた選択信号Ｆ＿ＳＥＬ１０によって開閉される。より具体的には、ゲート７６４１は、“１”からなる選択信号Ｆ＿ＳＥＬ１０によって開き、“０”からなる選択信号Ｆ＿ＳＥＬ１０によって閉じる。インバータ７６４２は、ゲート７６４１から受けた信号を反転してノードＮ９３から分周回路２０へ出力する。
【０４９０】
ゲート７６４３およびインバータ７６５０は、分周器７６３３の出力端子と、ノードＮ９４との間に直列に接続される。ゲート７６４３は、スイッチング回路７６５から受けた選択信号Ｆ＿ＳＥＬ１１によって開閉される。より具体的には、ゲート７６４３は、“１”からなる選択信号Ｆ＿ＳＥＬ１１によって開き、“０”からなる選択信号Ｆ＿ＳＥＬ１１によって閉じる。インバータ７６５０は、ゲート７６４３，７６４５，７６４７，７６４９から受けた信号を反転してノードＮ９４から遅延回路７６４およびフリップフロップ７６６へ出力する。
【０４９１】
ゲート７６４５，７６４７，７６４９は、それぞれ、分周器７６３５，７６３７，７６３９の出力端子と、インバータ７６５０の入力端子との間に接続され、スイッチング回路７６５から受けた選択信号Ｆ＿ＳＥＬ１３，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１７によって開閉される。より具体的には、ゲート７６４５，７６４７，７６４９は、それぞれ、“１”からなる選択信号Ｆ＿ＳＥＬ１３，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１７によって開き、“０”からなる選択信号Ｆ＿ＳＥＬ１３，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１７によって閉じる。
【０４９２】
Ｐ型ＭＯＳトランジスタ７６５１は、電源ノードＶＤＤと、インバータ７６５０の入力端子との間に接続される。そして、Ｐ型ＭＯＳトランジスタ７６５１は、選択信号Ｆ＿ＳＥＬ１１〜Ｆ＿ＳＥＬ１７の論理和をゲート端子に受ける。
【０４９３】
段数可変分周器７６３が駆動されるとき、“０”からなる信号Ｆ_ａｃｔがＮＯＲ回路７６３１へ入力され、“０”からなる検索開始信号ＳＢおよび“１”からなる反転信号／ＳＢが分周器７６３３〜７６３９へ入力される。
【０４９４】
そして、段数可変分周器７６３は、“１”からなる選択信号Ｆ＿ＳＥＬ１１をゲート７６４３に受けると、ＮＯＲ回路７６３１から受けた信号ＣＨ＿ｏｕｔ（発振信号）を分周器７６３３によって２回分周してノードＮ９４から遅延回路７６４およびフリップフロップ７６６へ出力する。
【０４９５】
また、段数可変分周器７６３は、“１”からなる選択信号Ｆ＿ＳＥＬ１３をゲート７６４５に受けると、分周器７６３３から受けた発振信号を分周器７６３４，７６３５によって更に２２回分周してノードＮ９４から遅延回路７６４およびフリップフロップ７６６へ出力する。
【０４９６】
以下、同様にして、段数可変分周器７６３は、“１”からなる選択信号Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１７をそれぞれゲート７６４７，７６４９に受けると、それぞれ分周器７６３５および分周器７６３７から受けた発振信号を分周器７６３６，７６３７および分周器７６３８，７６４９によって更に２２回分周してノードＮ９４から遅延回路７６４およびフリップフロップ７６６へ出力する。
【０４９７】
その結果、段数可変分周器７６３は、“１”からなる選択信号Ｆ＿ＳＥＬ１１，Ｆ＿ＳＥＬ１３，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１７をそれぞれゲート７６４３，７６４５，７６４７，７６４９に受けることによって、発振信号をそれぞれ２，２３，２５，２７回分周して遅延回路７６４およびフリップフロップ７６６へ出力する。
【０４９８】
そして、段数可変分周器７６３は、“１”からなる選択信号Ｆ＿ＳＥＬ１０をゲート７６４１に受けると、ノードＮ９３から発振信号を分周回路２０へ出力する。
【０４９９】
このように、段数可変分周器７６３は、選択信号Ｆ＿ＳＥＬ１１，Ｆ＿ＳＥＬ１３，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１７によって分周回数を切り換えて発振信号を分周する。
【０５００】
図３６は、図３２に示す他方の段数可変分周器７６９の回路図である。図３６を参照して、段数可変分周器７６９は、図３５に示す段数可変分周器７６３の分周器７６３３およびゲート７６４３を削除し、ゲート７６４５，７６４７，７６４９をそれぞれゲート７６４４，７６４６，７６４８に代えたものであり、その他は、段数可変分周器７６３と同じである。なお、段数可変分周器７６９においては、インバータ７６５０は、ゲート７６４４，７６４６，７６４８の出力端子およびＰ型ＭＯＳトランジスタ７６５１に接続される。
【０５０１】
ゲート７６４４，７６４６，７６４８は、スイッチング回路７６５からそれぞれ選択信号Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１６を受け、その受けた選択信号Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１６によって開閉される。より具体的には、ゲート７６４４，７６４６，７６４８は、それぞれ、“１”からなる選択信号Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１６によって開き、“０”からなる選択信号Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１６によって閉じる。
【０５０２】
段数可変分周器７６９が駆動されるとき、“０”からなる信号Ｆ_ａｃｔがＮＯＲ回路７６３１へ入力され、“０”からなる検索開始信号ＳＢおよび“１”からなる反転信号／ＳＢが分周器７６３４〜７６３９へ入力される。
【０５０３】
そして、段数可変分周器７６９は、“１”からなる選択信号Ｆ＿ＳＥＬ１２をゲート７６４４に受けると、ＮＯＲ回路７６３１から受けた信号ＣＨ＿ｏｕｔ（発振信号）を分周器７６３４，７６３５によって２２回分周してノードＮ９４から遅延回路７７０およびフリップフロップ７６７へ出力する。
【０５０４】
また、段数可変分周器７６９は、“１”からなる選択信号Ｆ＿ＳＥＬ１４をゲート７６４６に受けると、分周器７６３５から受けた発振信号を分周器７６３６，７６３７によって更に２２回分周してノードＮ９４から遅延回路７７０およびフリップフロップ７６７へ出力する。
【０５０５】
更に、段数可変分周器７６９は、“１”からなる選択信号Ｆ＿ＳＥＬ１６をゲート７６４８に受けると、分周器７６３７から受けた発振信号を分周器７６３８，７６３９によって更に２２回分周してノードＮ９４から遅延回路７７０およびフリップフロップ７６７へ出力する。
【０５０６】
その結果、段数可変分周器７６９は、“１”からなる選択信号Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１６をそれぞれゲート７６４４，７６４６，７６４８に受けることによって、発振信号をそれぞれ２２，２４，２６回分周して遅延回路７７０およびフリップフロップ７６７へ出力する。
【０５０７】
そして、段数可変分周器７６９は、“１”からなる選択信号Ｆ＿ＳＥＬ１０をゲート７６４１に受けると、ノードＮ９３から発振信号を分周回路２０へ出力する。
【０５０８】
このように、段数可変分周器７６９は、選択信号Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１６によって分周回数を切り換えて発振信号を分周する。
【０５０９】
図３７は、図３２に示すスイッチング回路７６５のブロック図である。図３７を参照して、スイッチング回路７６５は、ＯＲ回路７６５１と、シフトレジスタ７６５２と、セレクタ７６５４，７６５５とを含む。
【０５１０】
ＯＲ回路７６５１は、信号ＳＷ＿１，ＳＷ＿２をそれぞれ遅延回路７６４，７７０から受け、信号ＦＳＥＬ＿ＳＥＴを連想メモリ１００Ａの制御回路から受ける。そして、ＯＲ回路７６５１は、その受けた信号ＳＷ＿１，ＳＷ＿２，ＦＳＥＬ＿ＳＥＴの論理和を演算してシフトレジスタ７６５２の端子ＣＬＫへ出力する。なお、信号ＦＳＥＬ＿ＳＥＴは、１つのパルス波形からなる。
【０５１１】
シフトレジスタ７６５２は、“１”からなるデータｄａｔａを端子Ｄに受け、ＯＲ回路７６５１の出力を端子ＣＬＫに受け、リセット信号ＲＳＴを端子Ｒに受ける。
【０５１２】
そして、シフトレジスタ７６５２は、リセット信号ＲＳＴを端子Ｒに受けると、リセットする。その後、シフトレジスタ７６５２は、“１”からなるデータｄａｔａを端子Ｄに受けると、端子ＣＬＫに受けた信号が立ち上がった後に立ち下がるごとに、端子Ｄに受けたデータを出力することによって、Ｋビットの信号をセレクタ７６５４，７６５５へ出力する。
【０５１３】
なお、“１”からなる信号ｅｖｅｎは、参照データのビット数が偶数であることを意味し、“０”からなる信号ｅｖｅｎは、参照データのビット数が奇数であることを意味する。
【０５１４】
セクレタ７６５４は、シフトレジスタ７６５２からＫビットの信号を受け、連想メモリ１００Ａの制御回路から信号ｅｖｅｎを受ける。そして、セクレタ７６５４は、信号ｅｖｅｎが“１”からなるとき、Ｋビットの信号に基づいて、選択信号Ｆ＿ＳＥＬ１（＝選択信号Ｆ＿ＳＥＬ１０，Ｆ＿ＳＥＬ１１，Ｆ＿ＳＥＬ１３，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１７からなる）を生成し、その生成した選択信号Ｆ＿ＳＥＬ１（＝選択信号Ｆ＿ＳＥＬ１０，Ｆ＿ＳＥＬ１１，Ｆ＿ＳＥＬ１３，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１７からなる）を段数可変分周器７６３へ出力する。
【０５１５】
セクレタ７６５５は、シフトレジスタ７６５２からＫビットの信号を受け、連想メモリ１００Ａの制御回路から信号ｅｖｅｎを受ける。そして、セクレタ７６５５は、信号ｅｖｅｎが“０”からなるとき、Ｋビットの信号に基づいて、選択信号Ｆ＿ＳＥＬ２（＝選択信号Ｆ＿ＳＥＬ１０，Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１６からなる）を生成し、その生成した選択信号Ｆ＿ＳＥＬ２（＝選択信号Ｆ＿ＳＥＬ１０，Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１６からなる）を段数可変分周器７６９へ出力する。
【０５１６】
図３８は、図３７に示すシフトレジスタ７６５２の回路図である。なお、図３８は、参照データのビット数Ｋが８ビットである場合のシフトレジスタ７６５２の回路図を示す。
【０５１７】
図３８を参照して、シフトレジスタ７６５２は、シフトレジスタ３３１〜３３８からなる。
【０５１８】
シフトレジスタ３３１〜３３８は、直列に接続される。シフトレジスタ３３１〜３３８の各々は、信号ＳＷ＿１と信号ＳＷ＿２と信号ＦＳＥＬ＿ＳＥＴとの論理和からなる信号ＳＷを端子ＣＬＫに受け、リセット信号ＲＳＴを端子Ｒに受ける。
【０５１９】
シフトレジスタ３３１は、“１”からなるデータｄａｔａを連想メモリ１００Ａの制御回路から端子Ｄに受ける。そして、シフトレジスタ３３１は、初期段階においては、信号ＳＷ＿１，ＳＷ＿２が“０”からなるので、信号ＦＳＥＬ＿ＳＥＴが立ち上がった後に立ち下がると、“１”からなるデータを選択信号Ｆ＿ＳＥＬ１７として端子Ｑから出力する。その後、シフトレジスタ３３１は、信号ＳＷ（＝信号ＳＷ＿１と信号ＳＷ＿２と信号ＦＳＥＬ＿ＳＥＴとの論理和）が立ち上がった後に立ち下がると、“１”からなるデータを選択信号Ｆ＿ＳＥＬ１７として端子Ｑから出力する。
【０５２０】
シフトレジスタ３３２〜３３８は、初期段階においては、それぞれ、シフトレジスタ３３１〜３３７からデータ（＝“０”）を受け、信号ＦＳＥＬ＿ＳＥＴが立ち上がった後に立ち下がると、それぞれ、“０”からなる選択信号Ｆ＿ＳＥＬ１６〜Ｆ＿ＳＥＬ１０を端子Ｑから出力する。その後、シフトレジスタ３３２〜３３８は、それぞれ、シフトレジスタ３３１〜３３７からデータ（＝“１”）を端子Ｄに受け、信号ＳＷが立ち上がった後に立ち下がると、それぞれ、“１”からなる選択信号Ｆ＿ＳＥＬ１６〜Ｆ＿ＳＥＬ１０を端子Ｑから出力する。
【０５２１】
このように、シフトレジスタ７６５２は、信号ＳＷが立ち上がった後に立ち下がるごとに、“１”からなる選択信号Ｆ＿ＳＥＬ１７〜Ｆ＿ＳＥＬ１０を順次出力する。
【０５２２】
図３９は、図３７に示すセレクタ７６５４の回路図である。図３９を参照して、セレクタ７６５４は、選択器３５１〜３５８からなる。選択器３５１，３５３，３５５，３５７は、端子ｉｎ１にそれぞれ選択信号Ｆ＿ＳＥＬ１７，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１３，Ｆ＿ＳＥＬ１１を受け、端子ｉｎ２が接地ノードＧＮＤに接続される。
【０５２３】
選択器３５２，３５４，３５６，３５８は、端子ｉｎ１が接地ノードＧＮＤに接続され、端子ｉｎ２にそれぞれ選択信号Ｆ＿ＳＥＬ１６，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１０を受ける。
【０５２４】
また、選択器３５１〜３５８は、信号ｅｖｅｎを連想メモリ１００Ａの制御回路から受ける。そして、選択器３５１〜３５８は、信号ｅｖｅｎが“１”であるとき、端子ｉｎ１に受けた信号をそれぞれＦ＿ＳＥＬ１７〜Ｆ＿ＳＥＬ１０として出力し、信号ｅｖｅｎが“０”であるとき、端子ｉｎ２に受けた信号をそれぞれＦ＿ＳＥＬ１７〜Ｆ＿ＳＥＬ１０として出力する。
【０５２５】
信号ｅｖｅｎが“１”であるとき、選択器３５１，３５３，３５５，３５７の出力は、それぞれ、選択信号Ｆ＿ＳＥＬ１７，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１３，Ｆ＿ＳＥＬ１１からなり、選択器３５２，３５４，３５６，３５８の出力は、“０”からなる。そして、選択器３５１，３５３，３５５，３５７は、それぞれ、選択信号Ｆ＿ＳＥＬ１７，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１３，Ｆ＿ＳＥＬ１１を段数可変分周器７６３へ出力し、選択器３５８は、“０”からなる選択信号Ｆ＿ＳＥＬ１０を段数可変分周器７６３へ出力する。
【０５２６】
一方、信号ｅｖｅｎが“０”であるとき、選択器３５１，３５３，３５５，３５７の出力は、“０”からなり、選択器３５２，３５４，３５６，３５８の出力は、それぞれ、選択信号Ｆ＿ＳＥＬ１６，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１０からなる。そして、選択器３５１，３５３，３５５，３５７は、それぞれ、“０”からなる選択信号Ｆ＿ＳＥＬ１７，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１３，Ｆ＿ＳＥＬ１１を段数可変分周器７６３へ出力し、選択器３５８は、選択信号Ｆ＿ＳＥＬ１０を段数可変分周器７６３へ出力する。
【０５２７】
なお、セレクタ７６５５は、セレクタ７６５４と同じ回路図からなるが、選択器３５１〜３５８は、セレクタ７６５５においては、セレクタ７６５４における動作を逆転させた動作を行う。即ち、選択器３５１〜３５８は、セレクタ７６５５においては、信号ｅｖｅｎが“１”であるとき、端子ｉｎ２に受けた信号をそれぞれＦ＿ＳＥＬ１７〜Ｆ＿ＳＥＬ１０として出力し、信号ｅｖｅｎが“０”であるとき、端子ｉｎ１に受けた信号をそれぞれＦ＿ＳＥＬ１７〜Ｆ＿ＳＥＬ１０として出力する。
【０５２８】
信号ｅｖｅｎが“１”であるとき、セレクタ７６５５においては、選択器３５２，３５４，３５６，３５８の出力は、それぞれ、選択信号Ｆ＿ＳＥＬ１６，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１０からなり、選択器３５１，３５３，３５５，３５７の出力は、“０”からなる。そして、選択器３５２，３５４，３５６，３５８は、それぞれ、選択信号Ｆ＿ＳＥＬ１６，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１０を段数可変分周器７６９へ出力する。
【０５２９】
一方、信号ｅｖｅｎが“０”であるとき、セレクタ７６５５においては、選択器３５２，３５４，３５６，３５８の出力は、“０”からなり、選択器３５１，３５３，３５５，３５７の出力は、それぞれ、選択信号Ｆ＿ＳＥＬ１７，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１３，Ｆ＿ＳＥＬ１１からなる。そして、選択器３５２，３５４，３５６，３５８は、それぞれ、“０”からなる選択信号Ｆ＿ＳＥＬ１６，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１０を段数可変分周器７６９へ出力する。
【０５３０】
図４０は、信号のタイミングチャートである。また、図４１および図４２は、それぞれ、図３２に示す距離／時間変換回路ＤＴ’１Ｂを備える連想メモリ１００Ａの動作を説明するための第１および第２の概念図である。
【０５３１】
連想メモリ１００Ａにおける検索が開始されると、ユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗは、Ｗ個の参照データと検索データとの間の距離信号Ｍ１１Ｍ２１・・・ＭＫ１Ｍ１２Ｍ２２・・・ＭＫ２・・・Ｍ１ＷＭ２Ｗ・・・ＭＫＷをパスエンコーダＰＥ’１ヘ出力する。ユニット比較回路ＵＣ’２１〜ＵＣ’２Ｗ，・・・，ＵＣ’Ｒ１〜ＵＣ’ＲＷも、同様に、距離信号Ｍ１１Ｍ２１・・・ＭＫ１Ｍ１２Ｍ２２・・・ＭＫ２・・・Ｍ１ＷＭ２Ｗ・・・ＭＫＷをそれぞれパスエンコーダＰＥ’２〜ＰＥ’Ｒへ出力する。
【０５３２】
パスエンコーダＰＥ’１は、上述した方法によって、距離信号Ｍ１１Ｍ２１・・・ＭＫ１Ｍ１２Ｍ２２・・・ＭＫ２・・・Ｍ１ＷＭ２Ｗ・・・ＭＫＷに基づいて、距離信号Ｍ１１Ｍ１２・・・Ｍ１Ｗ，Ｍ２１Ｍ２２・・・Ｍ２Ｗ，・・・，ＭＫ１ＭＫ２・・・ＭＫＷを生成する。そして、パスエンコーダＰＥ’１は、距離信号Ｍ１１Ｍ１２・・・Ｍ１Ｗ、距離信号Ｍ３１Ｍ３２・・・Ｍ３Ｗ、距離信号Ｍ５１Ｍ５２・・・Ｍ５Ｗ、・・・をマルチプレクサＭＵ１１〜ＭＵ１Ｗへ順次出力し、距離信号Ｍ２１Ｍ２２・・・Ｍ２Ｗ、距離信号Ｍ４１Ｍ４２・・・Ｍ４Ｗ、距離信号Ｍ６１Ｍ６２・・・Ｍ６Ｗ、・・・をマルチプレクサＭＵ２１〜ＭＵ２Ｗへ順次出力する。パスエンコーダＰＥ’２〜ＰＥ’Ｒについても同様である。
【０５３３】
距離／時間変換回路ＤＴ’１（＝距離／時間変換回路ＤＴ’１Ｂ）において、マルチプレクサＭＵ１１は、奇数ビットの距離信号Ｍ１１，Ｍ３１，Ｍ５１，・・・を順次受け、マルチプレクサＭＵ１２は、奇数ビットの距離信号Ｍ１２，Ｍ３２，Ｍ５２，・・・を順次受け、以下、同様にして、マルチプレクサＭＵ１Ｗ−１は、奇数ビットの距離信号Ｍ１Ｗ−１，Ｍ３Ｗ−１，Ｍ５Ｗ−１，・・・を順次受け、マルチプレクサＭＵ１Ｗは、奇数ビットの距離信号Ｍ１Ｗ，Ｍ３Ｗ，Ｍ５Ｗ，・・・を順次受ける。また、マルチプレクサＭＵ２１は、偶数ビットの距離信号Ｍ２１，Ｍ４１，Ｍ６１，・・・を順次受け、マルチプレクサＭＵ２２は、偶数ビットの距離信号Ｍ２２，Ｍ４２，Ｍ６２，・・・を順次受け、以下、同様にして、マルチプレクサＭＵ２Ｗ−１は、偶数ビットの距離信号Ｍ２Ｗ−１，Ｍ４Ｗ−１，Ｍ６Ｗ−１，・・・を順次受け、マルチプレクサＭＵ２Ｗは、偶数ビットの距離信号Ｍ２Ｗ，Ｍ４Ｗ，Ｍ６Ｗ，・・・を順次受ける。
【０５３４】
マルチプレクサＭＵ１１においては、ゲート２９５は、“１”からなる信号ＥＮ１１をシフトレジスタ２９１から受け、ゲート２９６〜２９８は、“０”からなる信号ＥＮ１２〜ＥＮ１４をそれぞれシフトレジスタ２９２〜２９５から受けるので、マルチプレクサＭＵ１１は、１ビット目の距離信号Ｍ１１を１ビットステージ２７１へ出力する。マルチプレクサＭＵ１２〜ＭＵ１Ｗも、同様に、それぞれ、１ビット目の距離信号Ｍ１２〜Ｍ１Ｗを１ビットステージ２７２〜２７Ｗへ出力する。
【０５３５】
また、マルチプレクサＭＵ２１〜ＭＵ２Ｗも、同様に、それぞれ、２ビット目のＭ２１〜Ｍ２Ｗを１ビットステージ２８１〜２８Ｗへ出力する。
【０５３６】
イネーブル信号ＥＮは、タイミングｔ４よりも前のタイミングにおいては、“０”からなるので、ＥＮ選択回路７６１は、“０”からなる信号をＮＡＮＤ回路７６２へ出力し、ＮＡＮＤ回路７６２は、段数可変分周器７６３からの信号が“０”および“１”のいずれであっても、“１”からなる信号を１ビットステージ２７１へ出力する。
【０５３７】
その結果、１ビットステージ２７１〜２７Ｗの個数が偶数である場合、１ビットステージ２７Ｗは、タイミングｔ４よりも前のタイミングにおいて、“１”からなる信号を段数可変分周器７６３へ出力する。そして、段数可変分周器７６３は、“１”からなる信号ＣＨ＿１＿ｏｕｔをＮＡＮＤ回路７６２へ出力する。
【０５３８】
その後、“１”からなるイネーブル信号ＥＮがタイミングｔ４で連想メモリ１００Ａの制御回路からＥＮ選択回路７６１へ入力されると、選択器７６１１は、信号ＳＷ＿１が“０”からなるので、“１”からなるイネーブル信号ＥＮをＯＲ回路７６１３へ出力し、ＯＲ回路７６１３は、端子ＥＮ２に受ける信号が“０”からなるので、“１”からなるイネーブル信号ＥＮをＮＡＮＤ回路７６２へ出力する。
【０５３９】
そして、ＮＡＮＤ回路７６２は、“１”からなるイネーブル信号ＥＮをＥＮ選択回路７６１から受け、“１”からなる信号ＣＨ＿１＿ｏｕｔを段数可変分周器７６３から受ける。そうすると、ＮＡＮＤ回路７６２は、“１”からなるイネーブル信号ＥＮと、“１”からなる信号ＣＨ＿１＿ｏｕｔとの論理積を演算し、その演算した論理積を反転し、“０”からなる信号を１ビットステージ２７１へ出力する。
【０５４０】
１ビットステージ２７１は、距離信号Ｍ１１によって選択された遅延経路を用いて“１”からなる信号を遅延し、その遅延した信号を１ビットステージ２７２へ出力する。その後、１ビットステージ２７２〜２７Ｗは、それぞれ、距離信号Ｍ１２〜Ｍ１Ｗによって選択された遅延経路を用いて、１ビットステージ２７１〜２７Ｗ−１からの出力信号を遅延して出力する。そして、１ビットステージ２７Ｗは、出力信号ＣＨ＿１＿ｏｕｔを段数可変分周器７６３のノードＮ９１，Ｎ９２を介してＮＡＮＤ回路７６２へ出力し、ＮＡＮＤ回路７６２は、“１”からなるイネーブル信号ＥＮと、信号ＣＨ＿１＿ｏｕｔとの論理積を演算し、その演算した論理積を反転して１ビットステージ２７１へ出力する。
【０５４１】
その結果、１ビットステージ２７１〜２７Ｗは、段数可変分周器７６３およびＮＡＮＤ回路７６２を介してリング状に接続され、“０”からなる信号および“１”からなる信号をＮＡＮＤ回路７６２から交互に受けるので、発振信号を発振する。
【０５４２】
なお、１ビットステージ２７１〜２７Ｗの個数が奇数である場合、１ビットステージ２７Ｗは、タイミングｔ４よりも前のタイミングにおいて、“０”からなる信号を段数可変分周器７６３へ出力し、段数可変分周器７６３は、“０”からなる信号ＣＨ＿１＿ｏｕｔをＮＡＮＤ回路７６２へ出力する。そして、ＮＡＮＤ回路７６２は、タイミングｔ４において、ＥＮ選択回路７６１からの“１”からなる信号と、段数可変分周器７６３からの“０”からなる信号ＣＨ＿１＿ｏｕｔとに基づいて“１”からなる信号を１ビットステージ２７１へ出力する。その後、１ビットステージ２７１〜２７Ｗは、上述したように、“０”からなる信号および“１”からなる信号をＮＡＮＤ回路７６２から交互に受けるので、発振信号を発振する。
【０５４３】
従って、１ビットステージ２７１〜２７Ｗは、個数が偶数および奇数のいずれであっても、発振信号を発振する。
【０５４４】
一方、フリップフロップ７６６は、“０”からなる信号Ｆｒｅｑ＿ｏｕｔ＿１を段数可変分周器７６３から受けて、“０”からなる信号ＥＮ＿２をＮＡＮＤ回路７６８へ出力し、ＮＡＮＤ回路７６８は、“１”が連続した信号を１ビットステージ２８１へ出力するので、発振回路７５２は、休止状態である（図４１参照）。
【０５４５】
そして、スイッチング回路７６５において、ＯＲ回路７６５１は、１つのパルス波形からなる信号ＦＳＥＬ＿ＳＥＴと、“０”からなる信号ＳＷ＿１，ＳＷ＿２とを受けるので、１つのパルス波形からなる信号ＦＳＥＬ＿ＳＥＴをシフトレジスタ７６５２の端子ＣＬＫへ出力する。シフトレジスタ７６５２は、端子ＣＬＫに受けた信号ＦＳＥＬ＿ＳＥＴが立ち上がった後に立ち下がると、選択信号Ｆ＿ＳＥＬ１７＝“１”および選択信号Ｆ＿ＳＥＬ１６〜Ｆ＿ＳＥＬ１０＝“０”をセレクタ７６５４，７６５５へ出力する。
【０５４６】
セレクタ７６５４は、選択信号Ｆ＿ＳＥＬ１７＝“１”および選択信号Ｆ＿ＳＥＬ１６〜Ｆ＿ＳＥＬ１０＝“０”と、“１”からなる信号ｅｖｅｎとに基づいて、選択信号Ｆ＿ＳＥＬ１７＝“１”，Ｆ＿ＳＥＬ１５＝“０”，Ｆ＿ＳＥＬ１３＝“０”，Ｆ＿ＳＥＬ１１＝“０”，Ｆ＿ＳＥＬ１０＝“０”を段数可変分周器７６３へ出力する。
【０５４７】
また、セレクタ７６５５は、選択信号Ｆ＿ＳＥＬ１７＝“１”および選択信号Ｆ＿ＳＥＬ１６〜Ｆ＿ＳＥＬ１０＝“０”と、“１”からなる信号ｅｖｅｎとに基づいて、選択信号Ｆ＿ＳＥＬ１６＝“０”，Ｆ＿ＳＥＬ１４＝“０”，Ｆ＿ＳＥＬ１２＝“０”，Ｆ＿ＳＥＬ１０＝“０”を段数可変分周器７６９へ出力する。
【０５４８】
そうすると、段数可変分周器７６３は、選択信号Ｆ＿ＳＥＬ１７＝“１”，Ｆ＿ＳＥＬ１５＝“０”，Ｆ＿ＳＥＬ１３＝“０”，Ｆ＿ＳＥＬ１１＝“０”，Ｆ＿ＳＥＬ１０＝“０”をスイッチング回路７６５から受け、ゲート７６４１，７６４３，７６４５，７６４７が閉じ、ゲート７６４９のみが開く。
【０５４９】
その結果は、発振回路７５１から出力された発振信号ＣＨ＿１＿ｏｕｔは、分周器７６３３〜７６３９によって２７回分周され、段数可変分周器７６３は、タイミングｔ５で信号Ｆｒｅｑ＿ｏｕｔ＿１を遅延回路７６４およびフリップフロップ７６６へ出力する。
【０５５０】
そして、遅延回路７６４は、信号Ｆｒｅｑ＿ｏｕｔ＿１をτだけ遅延して信号ＳＷ＿１を生成し、その生成した信号ＳＷ＿１をＥＮ選択回路７６１、マルチプレクサＭＵ１１〜ＭＵ１Ｗ、スイッチング回路７６５およびフリップフロップ７６７へ出力する。
【０５５１】
マルチプレクサＭＵ１１〜ＭＵ１Ｗは、信号ＳＷ＿１を受ける。そして、信号ＳＷ＿１が、タイミングｔ６において、立ち上がった後に立ち下がると、シフトレジスタ２９２は、“１”からなる信号ＥＮ１２をゲート２９６へ出力し、シフトレジスタ２９１，２９３，２９４は、それぞれ、“０”からなる信号ＥＮ１１，ＥＮ１３，ＥＮ１４をゲート２９５，２９７，２９８へ出力する。その結果、マルチプレクサＭＵ１１は、タイミングｔ６で３ビット目の距離信号Ｍ３１を１ビットステージ２７１へ出力する。マルチプレクサＭＵ１２〜ＭＵ１Ｗも、同様にして、タイミングｔ６でそれぞれ３ビット目の距離信号Ｍ３２〜Ｍ３Ｗを１ビットステージ２７２〜２７Ｗへ出力する。
【０５５２】
一方、フリップフロップ７６６は、タイミングｔ５で信号Ｆｒｅｑ＿ｏｕｔ＿１を段数可変分周器７６３から受けると、信号ＳＷ＿２が“０”からなるので、信号Ｆｒｅｑ＿ｏｕｔ＿１に基づいて信号ＥＮ＿２を生成してＮＡＮＤ回路７６８へ出力する。
【０５５３】
ＮＡＮＤ回路７６８は、フリップフロップ７６６からの信号ＥＮ＿２と、段数可変分周器７６９からの信号ＣＨ＿２＿ｏｕｔ（＝“０”）との論理積を演算し、その演算した論理積を反転して“１”からなる信号を１ビットステージ２８１へ出力する。
【０５５４】
１ビットステージ２８１〜２８Ｗは、それぞれ、マルチプレクサＭＵ２１〜ＭＵ２Ｗから２ビット目の距離信号Ｍ２１〜Ｍ２Ｗを既に受けている。従って、１ビットステージ２８１〜２８Ｗは、ＮＡＮＤ回路７６８からの信号に基づいて発振信号ＣＨ＿２＿ｏｕｔを発振し、その発振した発振信号ＣＨ＿２＿ｏｕｔを段数可変分周器７６９へ出力する。この場合、ＥＮ選択回路７６１は、“０”からなるイネーブル信号ＥＮを連想メモリ１００Ａの制御回路から受け、“０”からなる信号をフリップフロップ７６７から受けるので、信号ＳＷ＿１が立ち上がった後に立ち下がるタイミングｔ６で“０”からなる信号をＮＡＮＤ回路７６２へ出力する。そして、ＮＡＮＤ回路７６２は、“０”からなる信号をＥＮ選択回路７６１から受けるので、連続した“１”からなる信号を１ビットステージ２７１へ出力する。従って、発振回路７５１は、発振信号を発振せず、休止状態である（図４２参照）。
【０５５５】
一方、スイッチング回路７６５のシフトレジスタ７６５２は、タイミングｔ６で信号ＳＷ＿１が立ち下がると、選択信号Ｆ＿ＳＥＬ１６＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１５〜Ｆ＿ＳＥＬ１０＝“０”をセレクタ７６５４，７６５５へ出力する。
【０５５６】
セレクタ７６５４は、選択信号Ｆ＿ＳＥＬ１６＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１５〜Ｆ＿ＳＥＬ１０＝“０”および“１”からなる信号ｅｖｅｎに基づいて、選択信号Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１５＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１１＝ＳＥＬ１０＝“０”を段数可変分周器７６３へ出力する。また、セレクタ７６５５は、選択信号Ｆ＿ＳＥＬ１６＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１５〜Ｆ＿ＳＥＬ１０＝“０”および“１”からなる信号ｅｖｅｎに基づいて、選択信号Ｆ＿ＳＥＬ１６＝“１”および選択信号Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１２＝ＳＥＬ１０＝“０”を段数可変分周器７６９へ出力する。
【０５５７】
そうすると、段数可変分周器７６９は、選択信号Ｆ＿ＳＥＬ１６＝“１”および選択信号Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１２＝ＳＥＬ１０＝“０”を受け、ゲート７６４１，７６４４，７６４６が閉じ、ゲート７６４８のみが開く。
【０５５８】
そして、段数可変分周器７６９は、発振信号ＣＨ＿２＿ｏｕｔを６個の分周器７６３４〜７６３９によって分周し、タイミングｔ７で信号Ｆｒｅｑ＿ｏｕｔ＿２をフリップフロップ７６７および遅延回路７７０へ出力する。
【０５５９】
遅延回路７７０は、信号Ｆｒｅｑ＿ｏｕｔ＿２をτだけ遅延して信号ＳＷ＿２をマルチプレクサＭＵ２１〜ＭＵ２Ｗ、スイッチング回路７６５およびフリップフロップ７６６へ出力する。
【０５６０】
マルチプレクサＭＵ２１〜ＭＵ２Ｗは、信号ＳＷ＿２を受ける。そして、信号ＳＷ＿２が、タイミングｔ８において、立ち上がった後に立ち下がると、シフトレジスタ２９２は、“１”からなる信号ＥＮ１２をゲート２９６へ出力し、シフトレジスタ２９１，２９３，２９４は、それぞれ、“０”からなる信号ＥＮ１１，ＥＮ１３，ＥＮ１４をゲート２９５，２９７，２９８へ出力する。その結果、マルチプレクサＭＵ２１は、タイミングｔ８で４ビット目の距離信号Ｍ４１を１ビットステージ２８１へ出力する。マルチプレクサＭＵ２２〜ＭＵ２Ｗも、同様にして、タイミングｔ８でそれぞれ４ビット目の距離信号Ｍ４２〜Ｍ４Ｗを１ビットステージ２８２〜２８Ｗへ出力する。
【０５６１】
一方、フリップフロップ７６７は、タイミングｔ７で信号Ｆｒｅｑ＿ｏｕｔ＿２を受けると、その受けた信号Ｆｒｅｑ＿ｏｕｔ＿２に基づいて、信号ＥＮ＿１を生成し、その生成した信号ＥＮ＿１をＥＮ選択回路７６１へ出力する。
【０５６２】
タイミングｔ７においては、信号ＳＷ＿１＝“０”であるので、選択器７６１１は、“０”から信号をＯＲ回路７６１３へ出力し、ＯＲ回路７６１３は、“０”からなる信号と、“１”からなる信号ＥＮ＿１とに基づいて、“１”からなる信号ＥＮ＿１をＮＡＮＤ回路７６２へ出力する。
【０５６３】
そして、ＮＡＮＤ回路７６２は、“１”からなる信号ＥＮ＿１と、段数可変分周器７６３からの信号ＣＨ＿１＿ｏｕｔ（＝“０”）との論理積を演算し、その演算した論理積を反転した“１”からなる信号を１ビットステージ２７１へ出力する。
【０５６４】
１ビットステージ２７１〜２７Ｗは、それぞれ、マルチプレクサＭＵ１１〜ＭＵ１Ｗから３ビット目の距離信号Ｍ３１〜Ｍ３Ｗをタイミングｔ６で受けている。
【０５６５】
従って、１ビットステージ２７１〜２７Ｗは、それぞれ、３ビット目の距離信号Ｍ３１〜Ｍ３Ｗによって選択された遅延経路を用いて信号を遅延し、発振信号ＣＨ＿１＿ｏｕｔを発振し、その発振した発振信号ＣＨ＿１＿ｏｕｔを段数可変分周器７６３へ出力する。この場合、フリップフロップ７６６は、 “０”からなる信号ＳＷ＿２を遅延回路７７０から受けるので、“０”からなる信号ＥＮ＿２をＮＡＮＤ回路７６８へ出力する。その結果、ＮＡＮＤ回路７６８は、“１”が連続した信号を１ビットステージ２８１へ出力するので、発振回路７５２は、休止状態である（図４１参照）。
【０５６６】
一方、スイッチング回路７６５のシフトレジスタ７６５２は、タイミングｔ８で信号ＳＷ＿２が立ち下がると、選択信号Ｆ＿ＳＥＬ１５＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４〜Ｆ＿ＳＥＬ１０＝“０”をセレクタ７６５４，７６５５へ出力する。
【０５６７】
セレクタ７６５４は、“１”からなる信号ｅｖｅｎを連想メモリ１００Ａの制御回路から受け、選択信号Ｆ＿ＳＥＬ１５＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４〜Ｆ＿ＳＥＬ１０＝“０”および“１”からなる信号ｅｖｅｎに基づいて、選択信号Ｆ＿ＳＥＬ１５＝“１”および選択信号Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１１＝ＳＥＬ１０＝“０”を段数可変分周器７６３へ出力する。また、セレクタ７６５５は、選択信号Ｆ＿ＳＥＬ１５＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４〜Ｆ＿ＳＥＬ１０＝“０”および“１”からなる信号ｅｖｅｎに基づいて、選択信号Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１２＝ＳＥＬ１０＝“０”を段数可変分周器７６９へ出力する。
【０５６８】
そうすると、段数可変分周器７６３は、選択信号Ｆ＿ＳＥＬ１５＝“１”および選択信号Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１１＝ＳＥＬ１０＝“０”を受け、ゲート７６４１，７６４３，７６４９が閉じ、ゲート７６４７のみが開く。
【０５６９】
そして、段数可変分周器７６３は、発振信号ＣＨ＿１＿ｏｕｔを５個の分周器７６３３〜７６３７によって分周し、タイミングｔ９で信号Ｆｒｅｑ＿ｏｕｔ＿１を遅延回路７６４およびフリップフロップ７６６へ出力する。
【０５７０】
遅延回路７６４は、信号Ｆｒｅｑ＿ｏｕｔ＿１をτだけ遅延して信号ＳＷ＿１をマルチプレクサＭＵ１１〜ＭＵ１Ｗ、ＥＮ選択回路７６１、スイッチング回路７６５およびフリップフロップ７６７へ出力する。
【０５７１】
以後、上述した動作が繰り返し行われ、発振回路７５１，７５２は、交互に発振信号を発振し、段数可変分周器７６３は、発振回路７５１からの発振信号を２７回、２５回、２３回および２回分周し、段数可変分周器７６９は、発振回路７５２からの発振信号を２６回、２４回、２２回および１回分周する。そして、段数可変分器器７６９における分周が終了すると、スイッチング回路７６５は、選択信号Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１５＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１１＝“０”および選択信号Ｆ＿ＳＥＬ１０＝“１”を段数可変分周器７６３へ出力し、選択信号Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１２＝“０”および選択信号Ｆ＿ＳＥＬ１０＝“１”を段数可変分周器７６９へ出力する。また、スイッチング回路７６５は、選択信号Ｆ＿ＳＥＬ１０＝“１”を選択信号Ｆ＿ＳＥＬ＿０２として選択器７８０へ出力する。
【０５７２】
そうすると、段数可変分周器７６３は、選択信号Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１５＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１１＝“０”および選択信号Ｆ＿ＳＥＬ１０＝“１”に基づいて、２７回分周、２５回分周、２３回分周および２回分周を順次実行した後の発振信号を信号ｏｕｔ＿１として選択器７８０へ出力する。また、段数可変分周器７６９は、選択信号Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１２＝“０”および選択信号Ｆ＿ＳＥＬ１０＝“１”に基づいて、２６回分周、２４回分周、２２回および１回分周を順次実行した後の発振信号を信号ｏｕｔ＿２として選択器７８０へ出力する。
【０５７３】
そして、選択器７８０は、選択信号Ｆ＿ＳＥＬ＿０２＝“１”に応じて、信号ｏｕｔ＿２を選択し、その選択した信号ｏｕｔ＿２を発振信号Ｓ１として分周回路２０へ出力する。
【０５７４】
なお、距離／時間変換回路ＤＴ’２〜ＤＴ’Ｒの各々も、上述した動作を実行し、それぞれ、発振信号Ｓ２〜ＳＲを分周回路２０へ出力する。
【０５７５】
分周回路２０および時間領域ＷＴＡ回路３０における動作は、上述したとおりである。
【０５７６】
このように、距離／時間変換回路ＤＴ’１〜ＤＴ’Ｒの各々が図３２に示す距離／時間変換回路ＤＴ’１Ｂからなる場合、発振回路７５１は、各参照データと検索データとの奇数ビット同士の距離信号によって選択された遅延経路を用いて発振信号を発振し、発振回路７５２は、各参照データと検索データとの偶数ビット同士の距離信号によって選択された遅延経路を用いて発振信号を発振する。この場合、発振回路７５１，７５２の各々は、上位ビット同士の距離信号から下位ビット同士の距離信号へ向かう方向に従って距離信号を発振信号に順次変換する。
【０５７７】
また、段数可変分周器７６３は、参照データと検索データとの最上位ビットから奇数番目のビット同士の比較結果を示す第１の距離信号を変換した発振信号を発振回路７５１から受け、第１の距離信号がより下位のビット同士の比較結果を示すほど少ない回数だけ発振回路７５１から受けた発振信号を分周して発振回路７５２へ出力する。更に、段数可変分周器７６９は、参照データと検索データとの最上位ビットから偶数番目のビット同士の比較結果を示す第２の距離信号を変換した発振信号を発振回路７５２から受け、第２の距離信号がより下位のビット同士の比較結果を示すほど少ない回数だけ発振回路７５２から受けた発振信号を分周して発振回路７５１へ出力する。
【０５７８】
このように、発振回路７５１および段数可変分周器７６３と、発振回路７５２および段数可変分周器７６９とは、交互に動作を行いながら、上位ビットほど多い回数だけ発振信号を分周して、距離信号を発振信号に変換する。
【０５７９】
従って、上述したように、連想メモリ１００Ａにおける検索時間を短縮できる。
【０５８０】
なお、上記においては、参照データおよび検索データのビット数Ｋが８ビットである場合について説明したが、ビット数Ｋが８ビット以外であっても、距離／時間変換回路ＤＴ’１Ｂを備える連想メモリ１００Ａは、上述した方法によって、検索データに一致する参照データを検索できる。
【０５８１】
より詳細に説明する。参照データおよび検索データのビット数Ｋが６ビットである場合、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴ，ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴの各々は、連続した２つのパルス波形からなり、信号ＦＳＥＬ＿ＳＥＴは、連続した３つのパルス波形からなる。
【０５８２】
参照データおよび検索データのビット数Ｋが６ビットである場合、マルチプレクサＭＵ１１〜ＭＵ１Ｗは、３ビット目、５ビット目および７ビット目の奇数ビットをパスエンコーダＰＥ’１から受ける。また、参照データおよび検索データのビット数Ｋが６ビットである場合、マルチプレクサＭＵ２１〜ＭＵ２Ｗは、４ビット目および６ビット目の偶数ビットをパスエンコーダＰＥ’１から受ける。
【０５８３】
マルチプレクサＭＵ１１〜ＭＵ１Ｗの各々において、シフトレジスタ２９１は、“１”からなるデータを連想メモリ１００Ａの制御回路から端子Ｄに受け、シフトレジスタ２９２〜２９４は、“０”からなるデータをそれぞれシフトレジスタ２９１〜２９３から端子Ｄに受ける。
【０５８４】
そして、マルチプレクサＭＵ１１〜ＭＵ１Ｗの各々において、シフトレジスタ２９１は、１つ目のパルス波形に従って信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴが立ち上がった後に立ち下がると、“１”からなるデータを端子Ｑからシフトレジスタ２９２およびゲート２９５へ出力する。また、マルチプレクサＭＵ１１〜ＭＵ１Ｗの各々において、シフトレジスタ２９２は、１つ目のパルス波形に従って信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴが立ち上がった後に立ち下がると、“０”からなるデータを端子Ｑからシフトレジスタ２９３およびゲート２９６へ出力し、シフトレジスタ２９３は、１つ目のパルス波形に従って信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴが立ち上がった後に立ち下がると、“０”からなるデータを端子Ｑからシフトレジスタ２９４およびゲート２９７へ出力し、シフトレジスタ２９４は、１つ目のパルス波形に従って信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴが立ち上がった後に立ち下がると、“０”からなるデータを端子Ｑからゲート２９８へ出力する。
【０５８５】
その結果、マルチプレクサＭＵ１１〜ＭＵ１Ｗは、“１”からなる信号ＥＮ１１、“０”からなる信号ＥＮ１２、“０”からなる信号ＥＮ１３、および“０”からなる信号ＥＮ１４に従って、１ビット目（ビット数Ｋが６ビットである場合、“０”からなる）をそれぞれ１ビットステージ２７１〜２７Ｗへ出力する。
【０５８６】
その後、マルチプレクサＭＵ１１〜ＭＵ１Ｗの各々において、シフトレジスタ２９１は、２つ目のパルス波形に従って信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴが立ち上がった後に立ち下がると、“０”からなるデータを端子Ｑからシフトレジスタ２９２およびゲート２９５へ出力する。また、マルチプレクサＭＵ１１〜ＭＵ１Ｗの各々において、シフトレジスタ２９２は、２つ目のパルス波形に従って信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴが立ち上がった後に立ち下がると、“１”からなるデータを端子Ｑからシフトレジスタ２９３およびゲート２９６へ出力し、シフトレジスタ２９３は、２つ目のパルス波形に従って信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴが立ち上がった後に立ち下がると、“０”からなるデータを端子Ｑからシフトレジスタ２９４およびゲート２９７へ出力し、シフトレジスタ２９４は、２つ目のパルス波形に従って信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴが立ち上がった後に立ち下がると、“０”からなるデータを端子Ｑからゲート２９８へ出力する。
【０５８７】
その結果、マルチプレクサＭＵ１１〜ＭＵ１Ｗは、“０”からなる信号ＥＮ１１、“１”からなる信号ＥＮ１２、“０”からなる信号ＥＮ１３、および“０”からなる信号ＥＮ１４に従って、３ビット目の奇数ビットをそれぞれ１ビットステージ２７１〜２７Ｗへ出力する。
【０５８８】
その後、マルチプレクサＭＵ１１〜ＭＵ１Ｗは、上述したように、信号ＳＷ＿１た立ち上がった後にたち下がると、５ビット目および７ビット目の奇数ビットをそれぞれ１ビットステージ２７１〜２７Ｗへ順次出力する。
【０５８９】
このように、参照データおよび検索データのビット数Ｋが６ビットである場合、連続した２つのパルス波形からなる信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴをマルチプレクサＭＵ１１〜ＭＵ１Ｗへ入力することによって、マルチプレクサＭＵ１１〜ＭＵ１Ｗは、“０”からなる１ビット目の奇数ビットをそれぞれ１ビットステージ２７１〜２７Ｗへ出力した直後に３ビット目の奇数ビット（検索データと参照データとの比較結果を表す）をそれぞれ１ビットステージ２７１〜２７Ｗへ出力する。
【０５９０】
また、マルチプレクサＭＵ２１〜ＭＵ２Ｗも、マルチプレクサＭＵ１１〜ＭＵ１Ｗと同様に、２ビット目の偶数ビット（ビット数Ｋが６ビットである場合、“０”からなる）をそれぞれ１ビットステージ２８１〜２８Ｗへ出力した直後に４ビット目の偶数ビット（検索データと参照データとの比較結果を表す）をそれぞれ１ビットステージ２８１〜２８Ｗへ出力する。
【０５９１】
従って、参照データおよび検索データのビット数Ｋが６ビットである場合、マルチプレクサＭＵ１１〜ＭＵ１Ｗは、連続した２つのパルス波形からなる信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴに応じて、１ビット目の奇数ビットを実質的に無視して、３ビット目、５ビット目および７ビット目の奇数ビットをそれぞれ１ビットステージ２７１〜２７Ｗへ順次出力し、マルチプレクサＭＵ２１〜ＭＵ２Ｗは、連続した２つのパルス波形からなる信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴに応じて、２ビット目の偶数ビットを実質的に無視して、４ビット目および６ビット目の偶数ビットをそれぞれ１ビットステージ２８１〜２８Ｗへ順次出力する。
【０５９２】
一方、参照データおよび検索データのビット数Ｋが６ビットである場合、スイッチング回路７６５のシフトレジスタ７６５２は、連続した３つのパルス波形からなる信号ＦＳＥＬ＿ＳＥＴをＯＲ回路７６５１から端子ＣＬＫに受ける。
【０５９３】
シフトレジスタ７６５２において、シフトレジスタ３３１は、信号ＦＳＥＬ＿ＳＥＴの１つ目のパルス波形が立ち上がった後に立ち下がると、“１”からなる選択信号Ｆ＿ＳＥＬ１７を出力し、シフトレジスタ３３２〜３３８は、信号ＦＳＥＬ＿ＳＥＴの１つ目のパルス波形が立ち上がった後に立ち下がると、それぞれ、“０”からなる選択信号Ｆ＿ＳＥＬ１６〜Ｆ＿ＳＥＬ１０を出力する。
【０５９４】
そして、シフトレジスタ７６５２において、シフトレジスタ３３２は、信号ＦＳＥＬ＿ＳＥＴの２つ目のパルス波形が立ち上がった後に立ち下がると、“１”からなる選択信号Ｆ＿ＳＥＬ１６を出力し、シフトレジスタ３３１，３３３〜３３８は、信号ＦＳＥＬ＿ＳＥＴの２つ目のパルス波形が立ち上がった後に立ち下がると、それぞれ、“０”からなる選択信号Ｆ＿ＳＥＬ１７，Ｆ＿ＳＥＬ１５〜Ｆ＿ＳＥＬ１０を出力する。
【０５９５】
その後、シフトレジスタ７６５２において、シフトレジスタ３３３は、信号ＦＳＥＬ＿ＳＥＴの３つ目のパルス波形が立ち上がった後に立ち下がると、“１”からなる選択信号Ｆ＿ＳＥＬ１５を出力し、シフトレジスタ３３１，３３２，３３４〜３３８は、信号ＦＳＥＬ＿ＳＥＴの３つ目のパルス波形が立ち上がった後に立ち下がると、それぞれ、“０”からなる選択信号Ｆ＿ＳＥＬ１７，Ｆ＿ＳＥＬ１６，Ｆ＿ＳＥＬ１４〜Ｆ＿ＳＥＬ１０を出力する。このように、シフトレジスタ７６５２は、信号ＦＳＥＬ＿ＳＥＴの連続する３つのパルス波形に応じて、選択信号Ｆ＿ＳＥＬ１７〜Ｆ＿ＳＥＬ１０の３つのパターンを連続して出力する。
【０５９６】
そうすると、セレクタ７６５４，７６５５の各々は、選択信号Ｆ＿ＳＥＬ１７＝“１”，Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１５＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１２＝Ｆ＿ＳＥＬ１１＝Ｆ＿ＳＥＬ１０＝“０”、選択信号Ｆ＿ＳＥＬ１６＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１５＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１２＝Ｆ＿ＳＥＬ１１＝Ｆ＿ＳＥＬ１０＝“０”、および選択信号Ｆ＿ＳＥＬ１５＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１２＝Ｆ＿ＳＥＬ１１＝Ｆ＿ＳＥＬ１０＝“０”を連続的に受ける。
【０５９７】
そして、セレクタ７６５４は、最後に選択信号Ｆ＿ＳＥＬ１５＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１２＝Ｆ＿ＳＥＬ１１＝Ｆ＿ＳＥＬ１０＝“０”を受けたときに、“１”からなる信号ｅｖｅｎを受けるので、選択信号Ｆ＿ＳＥＬ１（＝Ｆ＿ＳＥＬ１５＝“１”，Ｆ＿ＳＥＬ１７＝“０”，Ｆ＿ＳＥＬ１３＝“０”，Ｆ＿ＳＥＬ１１＝“０”，Ｆ＿ＳＥＬ１０＝“０”からなる）を段数可変分周器７６３へ出力する。ここで、参照データおよび検索データのビット数Ｋが６ビットであるので、セレクタ７６５４，７６５５は、“１”からなる信号ｅｖｅｎを連想メモリ１００Ａの制御回路から受ける。
【０５９８】
また、セレクタ７６５５は、最後に選択信号Ｆ＿ＳＥＬ１５＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１２＝Ｆ＿ＳＥＬ１１＝Ｆ＿ＳＥＬ１０＝“０”を受けたときに、“１”からなる信号ｅｖｅｎを受けるので、選択信号Ｆ＿ＳＥＬ２（＝Ｆ＿ＳＥＬ１６＝“０”，Ｆ＿ＳＥＬ１４＝“０”，Ｆ＿ＳＥＬ１２＝“０”，Ｆ＿ＳＥＬ１０＝“０”からなる）を段数可変分周器７６９へ出力する。
【０５９９】
発振回路７５１の１ビットステージ２７１〜２７Ｗは、３ビット目の奇数ビットによって選択される遅延経路によって信号を遅延して発振信号を生成する。そして、１ビットステージ２７Ｗは、その生成した発振信号を段数可変分周器７６３へ出力する。
【０６００】
そうすると、段数可変分周器７６３は、選択信号Ｆ＿ＳＥＬ１（＝Ｆ＿ＳＥＬ１５＝“１”，Ｆ＿ＳＥＬ１７＝“０”，Ｆ＿ＳＥＬ１３＝“０”，Ｆ＿ＳＥＬ１１＝“０”，Ｆ＿ＳＥＬ１０＝“０”からなる）に応じて、１ビットステージ２７Ｗから受けた発振信号を分周器７６３３〜７６３７によって２５回分周し、ノードＮ９４からＮＡＮＤ回路７６２および遅延回路７６４へ出力する。
【０６０１】
一方、段数可変分周器７６９は、選択信号Ｆ＿ＳＥＬ２（＝Ｆ＿ＳＥＬ１６＝“０”，Ｆ＿ＳＥＬ１４＝“０”，Ｆ＿ＳＥＬ１２＝“０”，Ｆ＿ＳＥＬ１０＝“０”からなる）に応じて、動作を停止する。
【０６０２】
スイッチング回路７６５のシフトレジスタ７６５２は、信号ＦＳＥＬ＿ＳＥＴが３つ目のパルス波形によって立ち下がった後、信号ＳＷ＿１を端子ＣＬＫに受け、信号ＳＷ＿１が立ち上がった後に立ち下がると、“１”からなる選択信号Ｆ＿ＳＥＬ１４および“０”からなる選択信号Ｆ＿ＳＥＬ１７，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１３〜Ｆ＿ＳＥＬ１０を出力する。
【０６０３】
そして、スイッチング回路７６５のセレクタ７６５４は、“１”からなる信号ｅｖｅｎを連想メモリ１００Ａの制御回路から受ける。その後、セレクタ７６５４は、“１”からなる選択信号Ｆ＿ＳＥＬ１４、“０”からなる選択信号Ｆ＿ＳＥＬ１７，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１３〜Ｆ＿ＳＥＬ１０および“１”からなる信号ｅｖｅｎに基づいて、選択信号Ｆ＿ＳＥＬ１（＝Ｆ＿ＳＥＬ１７＝“０”，Ｆ＿ＳＥＬ１５＝“０”，Ｆ＿ＳＥＬ１３＝“０”，Ｆ＿ＳＥＬ１１＝“０”，Ｆ＿ＳＥＬ１０＝“０”からなる）を段数可変分周器７６３へ出力する。また、スイッチング回路７６５のセレクタ７６５５は、“１”からなる選択信号Ｆ＿ＳＥＬ１４、“０”からなる選択信号Ｆ＿ＳＥＬ１７，Ｆ＿ＳＥＬ１５，Ｆ＿ＳＥＬ１３〜Ｆ＿ＳＥＬ１０および“１”からなる信号ｅｖｅｎに基づいて、選択信号Ｆ＿ＳＥＬ２（＝Ｆ＿ＳＥＬ１６＝“０”，Ｆ＿ＳＥＬ１４＝“１”，Ｆ＿ＳＥＬ１２＝“０”，Ｆ＿ＳＥＬ１０＝“０”からなる）を段数可変分周器７６９へ出力する。
【０６０４】
発振回路７５２の１ビットステージ２８１〜２８Ｗは、４ビット目の偶数ビットによって選択される遅延経路によって信号を遅延して発振信号を生成する。そして、１ビットステージ２８Ｗは、その生成した発振信号を段数可変分周器７６９へ出力する。
【０６０５】
そうすると、段数可変分周器７６３は、Ｆ＿ＳＥＬ１（＝Ｆ＿ＳＥＬ１７＝“０”，Ｆ＿ＳＥＬ１５＝“０”，Ｆ＿ＳＥＬ１３＝“０”，Ｆ＿ＳＥＬ１１＝“０”，Ｆ＿ＳＥＬ１０＝“０”からなる）に動作を停止する。一方、段数可変分周器７６９は、選択信号Ｆ＿ＳＥＬ２（＝Ｆ＿ＳＥＬ１６＝“０”，Ｆ＿ＳＥＬ１４＝“１”，Ｆ＿ＳＥＬ１２＝“０”，Ｆ＿ＳＥＬ１０＝“０”からなる）に応じて、１ビットステージ２８Ｗから受けた発振信号を分周器７６３４〜７６３７によって２４回分周し、ノードＮ９４からＮＡＮＤ回路７６８および遅延回路７７０へ出力する。
【０６０６】
その後、距離／時間変換回路ＤＴ’１Ｂは、発振回路７５１による発振信号の生成および段数可変分周器７６３による発振信号の分周と、発振回路７５２による発振信号の生成および段数可変分周器７６９による発振信号の分周とを交互に行い、選択器７８０から発振信号Ｓ１を分周回路２０へ出力する。
【０６０７】
検索データおよび参照データのビット数Ｋが６ビットからなる場合、距離／時間変換回路ＤＴ’２（＝ＤＴ’１Ｂ）〜ＤＴ’Ｒ（＝ＤＴ’１Ｂ）も、上述した動作によって、それぞれ、発振信号Ｓ２〜ＳＲを生成し、その生成した発振信号Ｓ２〜ＳＲを分周回路２０へ出力する。
【０６０８】
このように、検索データおよび参照データのビット数Ｋが６ビットからなる場合、パスエンコーダＰＥ’１〜ＰＥ’Ｒからそれぞれ距離／時間変換回路ＤＴ’１（＝ＤＴ’１Ｂ）〜ＤＴ’Ｒ（＝ＤＴ’１Ｂ）へ入力される１ビット目の奇数ビットおよび２ビット目の偶数ビットを上述した方法によって実質的に無視することによって、距離／時間変換回路ＤＴ’１（＝ＤＴ’１Ｂ）〜ＤＴ’Ｒ（＝ＤＴ’１Ｂ）は、図３２に示す回路構成を用いて、それぞれ、発振信号Ｓ１〜ＳＲを生成して分周回路２０へ出力する。
【０６０９】
また、検索データおよび参照データのビット数Ｋが４ビットからなる場合、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴ，ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴの各々を連続する３つのパルス波形から構成し、信号ＦＳＥＬ＿ＳＥＴを連続する５つのパルス波形から構成することによって、距離／時間変換回路ＤＴ’１（＝ＤＴ’１Ｂ）〜ＤＴ’Ｒ（＝ＤＴ’１Ｂ）は、上述した方法によって、図３２に示す回路構成を用いて、それぞれ、発振信号Ｓ１〜ＳＲを生成して分周回路２０へ出力する。
【０６１０】
更に、検索データおよび参照データのビット数Ｋが２ビットからなる場合、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴ，ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴの各々を連続する４つのパルス波形から構成し、信号ＦＳＥＬ＿ＳＥＴを連続する７つのパルス波形から構成することによって、距離／時間変換回路ＤＴ’１（＝ＤＴ’１Ｂ）〜ＤＴ’Ｒ（＝ＤＴ’１Ｂ）は、上述した方法によって、図３２に示す回路構成を用いて、それぞれ、発振信号Ｓ１〜ＳＲを生成して分周回路２０へ出力する。
【０６１１】
従って、検索データおよび参照データのビット数Ｋが２ビット、４ビット、６ビットおよび８ビットのいずれであっても、距離／時間変換回路ＤＴ’１（＝ＤＴ’１Ｂ）〜ＤＴ’Ｒ（＝ＤＴ’１Ｂ）は、上述した方法によって、図３２に示す回路構成を用いて、それぞれ、発振信号Ｓ１〜ＳＲを生成して分周回路２０へ出力できる。
【０６１２】
図４３は、図２８に示す距離／時間変換回路の更に他の構成を示すブロック図である。距離／時間変換回路ＤＴ’１は、図４３に示す距離／時間変換回路ＤＴ’１Ｃからなっていてもよい。
【０６１３】
図４３を参照して、距離／時間変換回路ＤＴ’１Ｃは、図３２に示す距離／時間変換回路ＤＴ’１ＢのマルチプレクサＭＵ１１〜ＭＵ１ＷをマルチプレクサＭＵ３１〜ＭＵ３Ｗに代え、マルチプレクサＭＵ２１〜ＭＵ２ＷをマルチプレクサＭＵ４１〜ＭＵ４Ｗに代え、スイッチング制御回路７６０をスイッチング制御回路７６０Ａに代え、選択器７８０を選択器７８０Ａに代えたものであり、その他は、距離／時間変換回路ＤＴ’１Ｂと同じである。
【０６１４】
スイッチング制御回路７６０Ａは、図３２に示すスイッチング制御回路７６０の段数可変分周器７６３，７６９をそれぞれ段数可変分周器７６３Ａ，７６９Ａに代えたものであり、その他は、スイッチング制御回路７６０と同じである。
【０６１５】
なお、距離／時間変換回路ＤＴ’１Ｃにおいては、選択信号Ｆ＿ＳＥＬ１，Ｆ＿ＳＥＬ２の各々は、選択信号Ｆ＿ＳＥＬ１７〜Ｆ＿ＳＥＬ１０からなり、スイッチング回路７６５は、選択信号Ｆ＿ＳＥＬ１（＝選択信号Ｆ＿ＳＥＬ１７〜Ｆ＿ＳＥＬ１０）を段数可変分周器７６３Ａへ出力し、選択信号Ｆ＿ＳＥＬ２（＝選択信号Ｆ＿ＳＥＬ１７〜Ｆ＿ＳＥＬ１０）を段数可変分周器７６９Ａへ出力する。
【０６１６】
マルチプレクサＭＵ３１〜ＭＵ３Ｗは、それぞれ、１ビットステージ２７１〜２７Ｗに対応して配置される。マルチプレクサＭＵ４１〜ＭＵ４Ｗは、それぞれ、１ビットステージ２８１〜２８Ｗに対応して配置される。
【０６１７】
マルチプレクサＭＵ３１は、Ｋビットの距離信号Ｍ１１，Ｍ２１，・・・ＭＫ１をパスエンコーダＰＥ’１から受け、遅延回路７６４から信号ＳＷ＿１を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴおよび信号ｅｖｅｎを受ける。そして、マルチプレクサＭＵ３１は、信号ｅｖｅｎが“１”であるとき、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴまたは信号ＳＷ＿１が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１１，Ｍ２１，・・・ＭＫ１のうちの奇数ビットの距離信号Ｍ１１，Ｍ３１，Ｍ５１，・・・を１個ずつ１ビットステージ２７１へ順次出力する。また、マルチプレクサＭＵ３１は、信号ｅｖｅｎが“０”であるとき、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴまたは信号ＳＷ＿１が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１１，Ｍ２１，・・・ＭＫ１のうちの偶数ビットの距離信号Ｍ２１，Ｍ４１，Ｍ６１，・・・を１個ずつ１ビットステージ２７１へ順次出力する。
【０６１８】
マルチプレクサＭＵ３２は、Ｋビットの距離信号Ｍ１２，Ｍ２２，・・・ＭＫ２をパスエンコーダＰＥ’１から受け、遅延回路７６４から信号ＳＷ＿１を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴおよび信号ｅｖｅｎを受ける。そして、マルチプレクサＭＵ３２は、信号ｅｖｅｎが“１”であるとき、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴまたは信号ＳＷ＿１が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１２，Ｍ２２，・・・ＭＫ２のうちの奇数ビットの距離信号Ｍ１２，Ｍ３２，Ｍ５２，・・・を１個ずつ１ビットステージ２７２へ順次出力する。また、マルチプレクサＭＵ３２は、信号ｅｖｅｎが“０”であるとき、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴまたは信号ＳＷ＿１が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１２，Ｍ２２，・・・ＭＫ２のうちの偶数ビットの距離信号Ｍ２２，Ｍ４２，Ｍ６２，・・・を１個ずつ１ビットステージ２７２へ順次出力する。
【０６１９】
以下、同様にして、マルチプレクサＭＵ３Ｗ−１は、Ｋビットの距離信号Ｍ１Ｗ−１，Ｍ２Ｗ−１，・・・ＭＫＷ−１をパスエンコーダＰＥ’１から受け、遅延回路７６４から信号ＳＷ＿１を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴおよび信号ｅｖｅｎを受ける。そして、マルチプレクサＭＵ３Ｗ−１は、信号ｅｖｅｎが“１”であるとき、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴまたは信号ＳＷ＿１が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１Ｗ−１，Ｍ２Ｗ−１，・・・ＭＫＷ−１のうちの奇数ビットの距離信号Ｍ１Ｗ−１，Ｍ３Ｗ−１，Ｍ５Ｗ−１，・・・を１個ずつ１ビットステージ２７Ｗ−１へ順次出力する。また、マルチプレクサＭＵ３Ｗ−１は、信号ｅｖｅｎが“０”であるとき、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴまたは信号ＳＷ＿１が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１Ｗ−１，Ｍ２Ｗ−１，・・・ＭＫＷ−１のうちの偶数ビットの距離信号Ｍ２Ｗ−１，Ｍ４Ｗ−１，Ｍ６Ｗ−１，・・・を１個ずつ１ビットステージ２７Ｗ−１へ順次出力する。
【０６２０】
マルチプレクサＭＵ３Ｗは、Ｋビットの距離信号Ｍ１Ｗ，Ｍ２Ｗ，・・・ＭＫＷをパスエンコーダＰＥ’１から受け、遅延回路７６４から信号ＳＷ＿１を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴおよび信号ｅｖｅｎを受ける。そして、マルチプレクサＭＵ３Ｗは、信号ｅｖｅｎが“１”であるとき、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴまたは信号ＳＷ＿１が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１Ｗ，Ｍ２Ｗ，・・・ＭＫＷのうちの奇数ビットの距離信号Ｍ１Ｗ，Ｍ３Ｗ，Ｍ５Ｗ，・・・を１個ずつ１ビットステージ２７Ｗへ順次出力する。また、マルチプレクサＭＵ３Ｗは、信号ｅｖｅｎが“０”であるとき、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴまたは信号ＳＷ＿１が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１Ｗ，Ｍ２Ｗ，・・・ＭＫＷのうちの偶数ビットの距離信号Ｍ２Ｗ，Ｍ４Ｗ，Ｍ６Ｗ，・・・を１個ずつ１ビットステージ２７Ｗへ順次出力する。
【０６２１】
一方、マルチプレクサＭＵ４１は、Ｋビットの距離信号Ｍ１１，Ｍ２１，・・・ＭＫ１をパスエンコーダＰＥ’１から受け、遅延回路７７０から信号ＳＷ＿２を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴおよび信号ｅｖｅｎを受ける。そして、マルチプレクサＭＵ４１は、信号ｅｖｅｎが“１”であるとき、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴまたは信号ＳＷ＿２が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１１，Ｍ２１，・・・ＭＫ１のうちの偶数ビットの距離信号Ｍ２１，Ｍ４１，Ｍ６１，・・・を１個ずつ１ビットステージ２８１へ順次出力する。また、マルチプレクサＭＵ４１は、信号ｅｖｅｎが“０”であるとき、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴまたは信号ＳＷ＿２が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１１，Ｍ２１，・・・ＭＫ１のうちの奇数ビットの距離信号Ｍ１１，Ｍ３１，Ｍ５１，・・・を１個ずつ１ビットステージ２８１へ順次出力する。
【０６２２】
マルチプレクサＭＵ４２は、Ｋビットの距離信号Ｍ１２，Ｍ２２，・・・ＭＫ２をパスエンコーダＰＥ’１から受け、遅延回路７７０から信号ＳＷ＿２を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴおよび信号ｅｖｅｎを受ける。そして、マルチプレクサＭＵ４２は、信号ｅｖｅｎが“１”であるとき、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴまたは信号ＳＷ＿２が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１２，Ｍ２２，・・・ＭＫ２のうちの偶数ビットの距離信号Ｍ２２，Ｍ４２，Ｍ６２，・・・を１個ずつ１ビットステージ２８２へ順次出力する。また、マルチプレクサＭＵ４２は、信号ｅｖｅｎが“０”であるとき、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴまたは信号ＳＷ＿２が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１２，Ｍ２２，・・・ＭＫ２のうちの奇数ビットの距離信号Ｍ１２，Ｍ３２，Ｍ５２，・・・を１個ずつ１ビットステージ２８２へ順次出力する。
【０６２３】
以下、同様にして、マルチプレクサＭＵ４Ｗ−１は、Ｋビットの距離信号Ｍ１Ｗ−１，Ｍ２Ｗ−１，・・・ＭＫＷ−１をパスエンコーダＰＥ’１から受け、遅延回路７７０から信号ＳＷ＿２を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴおよび信号ｅｖｅｎを受ける。そして、マルチプレクサＭＵ４Ｗ−１は、信号ｅｖｅｎが“１”であるとき、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴまたは信号ＳＷ＿２が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１Ｗ−１，Ｍ２Ｗ−１，・・・ＭＫＷ−１のうちの偶数ビットの距離信号Ｍ２Ｗ−１，Ｍ４Ｗ−１，Ｍ６Ｗ−１，・・・を１個ずつ１ビットステージ２８Ｗ−１へ順次出力する。また、マルチプレクサＭＵ４Ｗ−１は、信号ｅｖｅｎが“０”であるとき、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴまたは信号ＳＷ＿２が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１Ｗ−１，Ｍ２Ｗ−１，・・・ＭＫＷ−１のうちの奇数ビットの距離信号Ｍ１Ｗ−１，Ｍ３Ｗ−１，Ｍ５Ｗ−１，・・・を１個ずつ１ビットステージ２８Ｗ−１へ順次出力する。
【０６２４】
マルチプレクサＭＵ４Ｗは、Ｋビットの距離信号Ｍ１Ｗ，Ｍ２Ｗ，・・・ＭＫＷをパスエンコーダＰＥ’１から受け、遅延回路７７０から信号ＳＷ＿２を受け、連想メモリ１００Ａの制御回路（図示せず）から信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴおよび信号ｅｖｅｎを受ける。そして、マルチプレクサＭＵ４Ｗは、信号ｅｖｅｎが“１”であるとき、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴまたは信号ＳＷ＿２が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１Ｗ，Ｍ２Ｗ，・・・ＭＫＷのうちの偶数ビットの距離信号Ｍ２Ｗ，Ｍ４Ｗ，Ｍ６Ｗ，・・・を１個ずつ１ビットステージ２８Ｗへ順次出力する。また、マルチプレクサＭＵ４Ｗは、信号ｅｖｅｎが“０”であるとき、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴまたは信号ＳＷ＿２が立ち上がった後に立ち下がるごとに、Ｋビットの距離信号Ｍ１Ｗ，Ｍ２Ｗ，・・・ＭＫＷのうちの奇数ビットの距離信号Ｍ１Ｗ，Ｍ３Ｗ，Ｍ５Ｗ，・・・を１個ずつ１ビットステージ２８Ｗへ順次出力する。
【０６２５】
なお、距離／時間変換回路ＤＴ’１Ｃにおいては、信号ｅｖｅｎが“１”であるとき、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴのパルス数は、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴのパルス数と同じであり、信号ｅｖｅｎが“０”であるとき、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴのパルス数は、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴのパルス数よりも１個多い。
【０６２６】
選択器７８０Ａは、連想メモリ１００Ａの制御回路から信号ｅｖｅｎを受け、信号ｏｕｔ＿１を段数可変分周器７６３Ａから受け、信号ｏｕｔ＿２を段数可変分周器７６９Ａから受ける。
【０６２７】
そして、選択器７８０Ａは、信号ｅｖｅｎが“０”であるとき、信号ｏｕｔ＿１を発振信号Ｓ１として分周回路２０へ出力する。また、選択器７８０Ａは、信号ｅｖｅｎが“１”であるとき、信号ｏｕｔ＿２を発振信号Ｓ１として分周回路２０へ出力する。
【０６２８】
なお、距離／時間変換回路ＤＴ’２〜ＤＴ’Ｒの各々も、図４３に示す距離／時間変換回路ＤＴ’１Ｃからなる。
【０６２９】
図４４は、図４３に示すマルチプレクサＭＵ３１の回路図である。図４４を参照して、マルチプレクサＭＵ３１は、図３３に示すマルチプレクサＭＵ１１に選択器１０１〜１０４を追加したものであり、その他は、マルチプレクサＭＵ１１と同じである。
【０６３０】
選択器１０１〜１０４は、それぞれ、ゲート２９５〜２９８に接続される。選択器１０１は、１ビット目および２ビット目の距離信号をパスエンコーダＰＥ’１からそれぞれ端子ｉｎ１，ｉｎ２に受け、連想メモリ１００Ａの制御回路から信号ｅｖｅｎを受ける。そして、選択器１０１は、信号ｅｖｅｎが“１”であるとき、１ビット目の距離信号をゲート２９５へ出力する。また、選択器１０１は、信号ｅｖｅｎが“０”であるとき、２ビット目の距離信号をゲート２９５へ出力する。
【０６３１】
選択器１０２は、３ビット目および４ビット目の距離信号をパスエンコーダＰＥ’１からそれぞれ端子ｉｎ１，ｉｎ２に受け、連想メモリ１００Ａの制御回路から信号ｅｖｅｎを受ける。そして、選択器１０２は、信号ｅｖｅｎが“１”であるとき、３ビット目の距離信号をゲート２９６へ出力する。また、選択器１０２は、信号ｅｖｅｎが“０”であるとき、４ビット目の距離信号をゲート２９６へ出力する。
【０６３２】
選択器１０３は、５ビット目および６ビット目の距離信号をパスエンコーダＰＥ’１からそれぞれ端子ｉｎ１，ｉｎ２に受け、連想メモリ１００Ａの制御回路から信号ｅｖｅｎを受ける。そして、選択器１０３は、信号ｅｖｅｎが“１”であるとき、５ビット目の距離信号をゲート２９７へ出力する。また、選択器１０３は、信号ｅｖｅｎが“０”であるとき、６ビット目の距離信号をゲート２９７へ出力する。
【０６３３】
選択器１０４は、７ビット目および８ビット目の距離信号をパスエンコーダＰＥ’１からそれぞれ端子ｉｎ１，ｉｎ２に受け、連想メモリ１００Ａの制御回路から信号ｅｖｅｎを受ける。そして、選択器１０４は、信号ｅｖｅｎが“１”であるとき、６ビット目の距離信号をゲート２９８へ出力する。また、選択器１０４は、信号ｅｖｅｎが“０”であるとき、８ビット目の距離信号をゲート２９８へ出力する。
【０６３４】
なお、図４３に示すマルチプレクサＭＵ３２〜ＭＵ３Ｗ，ＭＵ４１〜ＭＵ４Ｗの各々も、図４４に示すマルチプレクサＭＵ３１と同じ回路図からなる。そして、マルチプレクサＭＵ４１〜ＭＵ４Ｗの各々において、選択器１０１〜１０４の各々は、マルチプレクサＭＵ３１〜ＭＵ３Ｗにおける動作を逆転させた動作を行なう。即ち、マルチプレクサＭＵ４１〜ＭＵ４Ｗの各々において、選択器１０１〜１０４の各々は、信号ｅｖｅｎが“１”であるとき、端子ｉｎ２に受けた信号を出力し、信号ｅｖｅｎが“０”であるとき、端子ｉｎ１に受けた信号を出力する。また、マルチプレクサＭＵ４１〜ＭＵ４Ｗにおいては、ＯＲ回路２９０は、信号ＳＷ＿２と信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴとの論理和を演算し、その演算した論理和をシフトレジスタ２９１〜２９４の端子ＣＬＫへ出力する。
【０６３５】
図４５は、図４３に示す段数可変分周器７６３Ａの回路図である。図４５を参照して、段数可変分周器７６３Ａは、図３５に示す段数可変分周器７６３にゲート７６４４，７６４６，７６４８を追加したものであり、その他は、段数可変分周器７６３と同じである。
【０６３６】
段数可変分周器７６３Ａにおいては、分周器７６３４およびゲート７６４４は、分周器７６３３の出力とインバータ７６５０の入力との間に直列に接続される。分周器７６３５およびゲート７６４５は、分周器７６３４の出力とインバータ７６５０の入力との間に直列に接続される。分周器７６３６およびゲート７６４６は、分周器７６３５の出力とインバータ７６５０の入力との間に直列に接続される。分周器７６３７およびゲート７６４７は、分周器７６３６の出力とインバータ７６５０の入力との間に直列に接続される。分周器７６３８およびゲート７６４８は、分周器７６３７の出力とインバータ７６５０の入力との間に直列に接続される。分周器７６３９およびゲート７６４９は、分周器７６３８の出力とインバータ７６５０の入力との間に直列に接続される。
【０６３７】
ゲート７６４４，７６４６，７６４８は、スイッチング回路７６５からそれぞれ選択信号Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１６を受け、その受けた選択信号Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１６によって開閉される。より具体的には、ゲート７６４４，７６４６，７６４８は、それぞれ、“１”からなる選択信号Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１６によって開き、“０”からなる選択信号Ｆ＿ＳＥＬ１２，Ｆ＿ＳＥＬ１４，Ｆ＿ＳＥＬ１６によって閉じる。
【０６３８】
段数可変分周器７６３Ａが駆動されるとき、“０”からなる信号Ｆ_ａｃｔがＮＯＲ回路７６３１へ入力され、“０”からなる検索開始信号ＳＢおよび“１”からなる反転信号／ＳＢが分周器７６３４〜７６３９へ入力される。
【０６３９】
そして、段数可変分周器７６３Ａは、“１”からなる選択信号Ｆ＿ＳＥＬ１１をゲート７６４３に受けると、ＮＯＲ回路７６３１から受けた信号ＣＨ＿ｏｕｔ（発振信号）を分周器７６３３によって２回分周してノードＮ９４から遅延回路７６４およびフリップフロップ７６６へ出力する。
【０６４０】
また、段数可変分周器７６３Ａは、“１”からなる選択信号Ｆ＿ＳＥＬ１２をゲート７６４４に受けると、ＮＯＲ回路７６３１から受けた信号ＣＨ＿ｏｕｔ（発振信号）を分周器７６３３，７６３４によって２２回分周してノードＮ９４から遅延回路７６４およびフリップフロップ７６６へ出力する。
【０６４１】
更に、段数可変分周器７６３Ａは、“１”からなる選択信号Ｆ＿ＳＥＬ１３をゲート７６４５に受けると、ＮＯＲ回路７６３１から受けた信号ＣＨ＿ｏｕｔ（発振信号）を分周器７６３３〜７６３５によって２３回分周してノードＮ９４から遅延回路７６４およびフリップフロップ７６６へ出力する。
【０６４２】
更に、段数可変分周器７６３Ａは、“１”からなる選択信号Ｆ＿ＳＥＬ１４をゲート７６４６に受けると、ＮＯＲ回路７６３１から受けた信号ＣＨ＿ｏｕｔ（発振信号）を分周器７６３３〜７６３６によって２４回分周してノードＮ９４から遅延回路７６４およびフリップフロップ７６６へ出力する。
【０６４３】
更に、段数可変分周器７６３Ａは、“１”からなる選択信号Ｆ＿ＳＥＬ１５をゲート７６４７に受けると、ＮＯＲ回路７６３１から受けた信号ＣＨ＿ｏｕｔ（発振信号）を分周器７６３３〜７６３７によって２５回分周してノードＮ９４から遅延回路７６４およびフリップフロップ７６６へ出力する。
【０６４４】
更に、段数可変分周器７６３Ａは、“１”からなる選択信号Ｆ＿ＳＥＬ１６をゲート７６４８に受けると、ＮＯＲ回路７６３１から受けた信号ＣＨ＿ｏｕｔ（発振信号）を分周器７６３３〜７６３８によって２６回分周してノードＮ９４から遅延回路７６４およびフリップフロップ７６６へ出力する。
【０６４５】
更に、段数可変分周器７６３Ａは、“１”からなる選択信号Ｆ＿ＳＥＬ１７をゲート７６４９に受けると、ＮＯＲ回路７６３１から受けた信号ＣＨ＿ｏｕｔ（発振信号）を分周器７６３３〜７６３９によって２７回分周してノードＮ９４から遅延回路７６４およびフリップフロップ７６６へ出力する。
【０６４６】
その結果、段数可変分周器７６３Ａは、“１”からなる選択信号Ｆ＿ＳＥＬ１１〜Ｆ＿ＳＥＬ１７をそれぞれゲート７６４３〜７６４９に受けることによって、発振信号をそれぞれ２，２２，２３，２４，２５，２６，２７回分周して遅延回路７６４およびフリップフロップ７６６へ出力する。
【０６４７】
そして、段数可変分周器７６３Ａは、“１”からなる選択信号Ｆ＿ＳＥＬ１０をゲート７６４１に受けると、ノードＮ９３から発振信号を分周回路２０へ出力する。
【０６４８】
このように、段数可変分周器７６３Ａは、選択信号Ｆ＿ＳＥＬ１１〜Ｆ＿ＳＥＬ１７によって分周回数を切り換えて発振信号を分周する。
【０６４９】
なお、図４３に示す段数可変分周器７６９Ａも、図４５に示す段数可変分周器７６３Ａと同じ回路図からなる。
【０６５０】
距離／時間変換回路ＤＴ’１Ｃを備えた連想メモリ１００Ａにおける検索が開始されると、ユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗは、Ｗ個の参照データと検索データとの間の距離信号Ｍ１１Ｍ２１・・・ＭＫ１，Ｍ１２Ｍ２２・・・ＭＫ２，・・・，Ｍ１ＷＭ２Ｗ・・・ＭＫＷをパスエンコーダＰＥ’１ヘ出力する。ユニット比較回路ＵＣ’２１〜ＵＣ’２Ｗ，・・・，ＵＣ’Ｒ１〜ＵＣ’ＲＷも、同様に、距離信号Ｍ１１Ｍ２１・・・ＭＫ１，Ｍ１２Ｍ２２・・・ＭＫ２，・・・，Ｍ１ＷＭ２Ｗ・・・ＭＫＷをそれぞれパスエンコーダＰＥ’２〜ＰＥ’Ｒへ出力する。
【０６５１】
パスエンコーダＰＥ’１は、上述した方法によって、距離信号Ｍ１１Ｍ２１・・・ＭＫ１Ｍ１２，Ｍ２２・・・ＭＫ２，・・・，Ｍ１ＷＭ２Ｗ・・・ＭＫＷに基づいて、距離信号Ｍ１１Ｍ１２・・・Ｍ１Ｗ，Ｍ２１Ｍ２２・・・Ｍ２Ｗ，・・・，ＭＫ１ＭＫ２・・・ＭＫＷを生成する。そして、パスエンコーダＰＥ’１は、距離信号Ｍ１１Ｍ１２・・・Ｍ１Ｗ、距離信号Ｍ２１Ｍ２２・・・Ｍ２Ｗ、・・・、距離信号ＭＫ１ＭＫ２・・・ＭＫＷをそれぞれマルチプレクサＭＵ３１〜ＭＵ３Ｗへ順次出力し、距離信号Ｍ１１Ｍ１２・・・Ｍ１Ｗ、距離信号Ｍ２１Ｍ２２・・・Ｍ２Ｗ、・・・、距離信号ＭＫ１ＭＫ２・・・ＭＫＷをそれぞれマルチプレクサＭＵ４１〜ＭＵ４Ｗへ順次出力する。パスエンコーダＰＥ’２〜ＰＥ’Ｒについても同様である。
【０６５２】
距離／時間変換回路ＤＴ’１（＝距離／時間変換回路ＤＴ’１Ｃ）において、マルチプレクサＭＵ３１は、距離信号Ｍ１１，Ｍ２１，Ｍ３１，Ｍ４１，Ｍ５１，・・・，ＭＫ１を順次受け、マルチプレクサＭＵ３２は、距離信号Ｍ１２，Ｍ２２，Ｍ３２，Ｍ４２，Ｍ５２，・・・，ＭＫ２を順次受け、以下、同様にして、マルチプレクサＭＵ３Ｗ−１は、距離信号Ｍ１Ｗ−１，Ｍ２Ｗ−１，Ｍ３Ｗ−１，Ｍ４Ｗ−１，Ｍ５Ｗ−１，・・・、ＭＫＷ−１を順次受け、マルチプレクサＭＵ３Ｗは、距離信号Ｍ１Ｗ，Ｍ２Ｗ，Ｍ３Ｗ，Ｍ４Ｗ，Ｍ５Ｗ，・・・，ＭＫＷを順次受ける。
【０６５３】
また、マルチプレクサＭＵ４１〜ＭＵ４Ｗは、それぞれ、マルチプレクサＭＵ３１〜ＭＵ３Ｗと同じ距離信号を順次受ける。
【０６５４】
更に、マルチプレクサＭＵ３１〜ＭＵ３Ｗ，ＭＵ４１〜ＭＵ４Ｗおよびスイッチング回路７６５は、“１”からなる信号ｅｖｅｎを連想メモリ１００Ａの制御回路から受ける。
【０６５５】
マルチプレクサＭＵ３１においては、選択器１０１は、１ビット目の距離信号Ｍ１１および２ビット目の距離信号Ｍ２１を受け、選択器１０２は、３ビット目の距離信号Ｍ３１および４ビット目の距離信号Ｍ４１を受け、選択器１０３は、５ビット目の距離信号Ｍ５１および６ビット目の距離信号Ｍ６１を受け、選択器１０４は、７ビット目の距離信号Ｍ７１および８ビット目の距離信号Ｍ８１を受ける。そして、選択器１０１〜１０４は、“１”からなる信号ｅｖｅｎを受けているので、それぞれ、１ビット目の距離信号Ｍ１１、３ビット目の距離信号Ｍ３１、５ビット目の距離Ｍ５１および７ビット目の距離信号Ｍ７１をそれぞれゲート２９５〜２９８へ出力する。
【０６５６】
一方、ゲート２９５は、“１”からなる信号ＥＮ１１をシフトレジスタ２９１から受けるので、マルチプレクサＭＵ３１は、１ビット目の距離信号Ｍ１１を１ビットステージ２７１へ出力する。また、ゲート２９６〜２９８は、それぞれ、“０”からなる信号ＥＮ１２〜ＥＮ１４をシフトレジスタ２９２〜２９４から受けるので、何も出力しない。その結果、マルチプレクサＭＵ３１は、１ビット目の距離信号Ｍ１１を１ビットステージ２７１へ出力する。マルチプレクサＭＵ３２〜ＭＵ３Ｗも、同様に、それぞれ、１ビット目の距離信号Ｍ１２〜Ｍ１Ｗを１ビットステージ２７２〜２７Ｗへ出力する。
【０６５７】
また、マルチプレクサＭＵ４１〜ＭＵ４Ｗも、同様に、それぞれ、１ビット目の距離信号Ｍ１１〜Ｍ１Ｗを１ビットステージ２８１〜２８Ｗへ出力する。
【０６５８】
その後、“１”からなるイネーブル信号ＥＮがＥＮ選択回路７６１へ入力されると、選択器７６１１は、信号ＳＷ＿１が“０”からなるので、“１”からなるイネーブル信号ＥＮをＯＲ回路７６１３へ出力し、ＯＲ回路７６１３は、端子ＥＮ２に受ける信号ＥＮ＿１が“０”からなるので、“１”からなるイネーブル信号ＥＮをＮＡＮＤ回路７６２へ出力する。
【０６５９】
そして、ＮＡＮＤ回路７６２は、“１”からなるイネーブル信号ＥＮをＥＮ選択回路７６１から受け、“０”からなる信号ＣＨ＿１＿ｏｕｔを段数可変分周器７６３Ａから受ける。そうすると、ＮＡＮＤ回路７６２は、“１”からなるイネーブル信号ＥＮと、“０”からなる信号ＣＨ＿１＿ｏｕｔとの論理積を演算し、その演算した論理積を反転し、“１”からなる信号を１ビットステージ２７１へ出力する。
【０６６０】
１ビットステージ２７１は、距離信号Ｍ１１によって選択された遅延経路を用いて“１”からなる信号を遅延し、その遅延した信号を１ビットステージ２７２へ出力する。そして、１ビットステージ２７２〜２７Ｗは、それぞれ、距離信号Ｍ１２〜Ｍ１Ｗによって選択された遅延経路を用いて、１ビットステージ２７１〜２７Ｗ−１からの出力信号を遅延して出力する。そして、１ビットステージ２７Ｗは、出力信号ＣＨ＿１＿ｏｕｔを段数可変分周器７６３ＡのノードＮ９１，Ｎ９２を介してＮＡＮＤ回路７６２へ出力し、ＮＡＮＤ回路７６２は、“１”からなるイネーブル信号ＥＮと、信号ＣＨ＿１＿ｏｕｔとの論理積を演算し、その演算した論理積を反転して１ビットステージ２７１へ出力する。
【０６６１】
その結果、１ビットステージ２７１〜２７Ｗは、段数可変分周器７６３ＡおよびＮＡＮＤ回路７６２を介してリング状に接続され、発振信号を発振する。この場合、発振回路７５２は、上述したように、休止状態である。
【０６６２】
そして、スイッチング回路７６５において、シフトレジスタ７６５２は、信号ＦＳＥＬ＿ＳＥＴが立ち上がった後に立ち下がると、選択信号Ｆ＿ＳＥＬ１７＝“１”および選択信号Ｆ＿ＳＥＬ１６〜Ｆ＿ＳＥＬ１０＝“０”をセレクタ７６５４，７６５５へ出力する。また、セレクタ７６５４，７６５５は、“１”からなる信号ｅｖｅｎを連想メモリ１００Ａの制御回路から受ける。
【０６６３】
セレクタ７６５４は、選択信号Ｆ＿ＳＥＬ１７＝“１”および選択信号Ｆ＿ＳＥＬ１６〜Ｆ＿ＳＥＬ１０＝“０”と、“１”からなる信号ｅｖｅｎとに基づいて、選択信号Ｆ＿ＳＥＬ１７＝“１”，Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１５＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１２＝Ｆ＿ＳＥＬ１１＝Ｆ＿ＳＥＬ１０＝“０”を段数可変分周器７６３Ａへ出力する。
【０６６４】
また、セレクタ７６５５は、選択信号Ｆ＿ＳＥＬ１７＝“１”および選択信号Ｆ＿ＳＥＬ１６〜Ｆ＿ＳＥＬ１０＝“０”と、“１”からなる信号ｅｖｅｎとに基づいて、選択信号Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１５＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１２＝Ｆ＿ＳＥＬ１１＝Ｆ＿ＳＥＬ１０＝“０”を段数可変分周器７６９Ａへ出力する。
【０６６５】
そうすると、段数可変分周器７６３Ａは、選択信号Ｆ＿ＳＥＬ１７＝“１”， Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１５＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１２＝Ｆ＿ＳＥＬ１１＝Ｆ＿ＳＥＬ１０＝“０”をスイッチング回路７６５から受け、ゲート７６４１，７６４３〜７６４８が閉じ、ゲート７６４９のみが開く。
【０６６６】
その結果は、発振回路７５１から出力された発振信号ＣＨ＿１＿ｏｕｔは、分周器７６３３〜７６３９によって２７回分周され、段数可変分周器７６３Ａは、２７回分周後の信号Ｆｒｅｑ＿ｏｕｔ＿１をノードＮ９４から遅延回路７６４およびフリップフロップ７６６へ出力する。
【０６６７】
そして、遅延回路７６４は、信号Ｆｒｅｑ＿ｏｕｔ＿１をτだけ遅延して信号ＳＷ＿１を生成し、その生成した信号ＳＷ＿１をＥＮ選択回路７６１、マルチプレクサＭＵ３１〜ＭＵ３Ｗ、スイッチング回路７６５およびフリップフロップ７６７へ出力する。
【０６６８】
その後、マルチプレクサＭＵ３１〜ＭＵ３Ｗは、信号ＳＷ＿１を受ける。そして、信号ＳＷ＿１が、立ち上がった後に立ち下がると、シフトレジスタ２９２は、“１”からなる信号ＥＮ１２をゲート２９６へ出力し、シフトレジスタ２９１，２９３，２９４は、それぞれ、“０”からなる信号ＥＮ１１，ＥＮ１３，ＥＮ１４をゲート２９５，２９７，２９８へ出力する。その結果、マルチプレクサＭＵ３１は、３ビット目の距離信号Ｍ３１を１ビットステージ２７１へ出力する。マルチプレクサＭＵ３２〜ＭＵ３Ｗも、同様にして、それぞれ３ビット目の距離信号Ｍ３２〜Ｍ３Ｗを１ビットステージ２７２〜２７Ｗへ出力する。
【０６６９】
一方、フリップフロップ７６６は、信号Ｆｒｅｑ＿ｏｕｔ＿１を段数可変分周器７６３Ａから受けると、信号ＳＷ＿２が“０”からなるので、信号Ｆｒｅｑ＿ｏｕｔ＿１に基づいて信号ＥＮ＿２を生成してＮＡＮＤ回路７６８へ出力する。
【０６７０】
ＮＡＮＤ回路７６８は、フリップフロップ７６６からの信号ＥＮ＿２と、段数可変分周器７６９Ａからの信号ＣＨ＿２＿ｏｕｔ（＝“０”）との論理積を演算し、その演算した論理積を反転して“１”からなる信号を１ビットステージ２８１へ出力する。
【０６７１】
また、マルチプレクサＭＵ４１〜ＭＵ４Ｗは、それぞれ、２ビット目の距離信号Ｍ２１〜Ｍ２Ｗを１ビットステージ２８１〜２８Ｗへ出力する。
【０６７２】
そして、１ビットステージ２８１〜２８Ｗは、それぞれ、マルチプレクサＭＵ４１〜ＭＵ４Ｗから２ビット目の距離信号Ｍ２１〜Ｍ２Ｗを受け、ＮＡＮＤ回路７６８からの信号を２ビット目の距離信号Ｍ２１〜Ｍ２Ｗに応じた遅延経路によって遅延して発振信号ＣＨ＿２＿ｏｕｔを発振し、その発振した発振信号ＣＨ＿２＿ｏｕｔを段数可変分周器７６９Ａへ出力する。この場合、発振回路７５１は、上述したように、休止状態である。
【０６７３】
一方、スイッチング回路７６５のシフトレジスタ７６５２は、信号ＳＷ＿１が立ち下がると、選択信号Ｆ＿ＳＥＬ１６＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１５〜Ｆ＿ＳＥＬ１０＝“０”をセレクタ７６５４，７６５５へ出力する。
【０６７４】
また、セレクタ７６５４は、選択信号Ｆ＿ＳＥＬ１６＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１５〜Ｆ＿ＳＥＬ１０＝“０”および“１”からなる信号ｅｖｅｎに基づいて、選択信号Ｆ＿ＳＥＬ１６＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１５＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１２＝Ｆ＿ＳＥＬ１１＝ＳＥＬ１０＝“０”を段数可変分周器７６３Ａへ出力する。更に、セレクタ７６５５は、選択信号Ｆ＿ＳＥＬ１６＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１５〜Ｆ＿ＳＥＬ１０＝“０”および“１”からなる信号ｅｖｅｎに基づいて、選択信号Ｆ＿ＳＥＬ１６＝“１”および選択信号Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１５＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１２＝Ｆ＿ＳＥＬ１１＝ＳＥＬ１０＝“０”を段数可変分周器７６９Ａへ出力する。
【０６７５】
そうすると、段数可変分周器７６９Ａは、選択信号Ｆ＿ＳＥＬ１６＝“１”および選択信号Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１５＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１２＝Ｆ＿ＳＥＬ１１＝ＳＥＬ１０＝“０”を受け、ゲート７６４１，７６４３〜７６４７，７６４９が閉じ、ゲート７６４８のみが開く。
【０６７６】
そして、段数可変分周器７６９Ａは、発振信号ＣＨ＿２＿ｏｕｔを６個の分周器７６３３〜７６３８によって２６回分周し、ノードＮ９４から信号Ｆｒｅｑ＿ｏｕｔ＿２をフリップフロップ７６７および遅延回路７７０へ出力する。
【０６７７】
遅延回路７７０は、信号Ｆｒｅｑ＿ｏｕｔ＿２をτだけ遅延して信号ＳＷ＿２をマルチプレクサＭＵ４１〜ＭＵ４Ｗ、スイッチング回路７６５およびフリップフロップ７６６へ出力する。
【０６７８】
マルチプレクサＭＵ４１〜ＭＵ４Ｗは、信号ＳＷ＿２を受ける。そして、信号ＳＷ＿２が、立ち上がった後に立ち下がると、シフトレジスタ２９２は、“１”からなる信号ＥＮ１２をゲート２９６へ出力し、シフトレジスタ２９１，２９３，２９４は、それぞれ、“０”からなる信号ＥＮ１１，ＥＮ１３，ＥＮ１４をゲート２９５，２９７，２９８へ出力する。その結果、マルチプレクサＭＵ４１は、４ビット目の距離信号Ｍ４１を１ビットステージ２８１へ出力する。マルチプレクサＭＵ４２〜ＭＵ４Ｗも、同様にして、それぞれ４ビット目の距離信号Ｍ４２〜Ｍ４Ｗを１ビットステージ２８２〜２８Ｗへ出力する。
【０６７９】
一方、フリップフロップ７６７は、信号Ｆｒｅｑ＿ｏｕｔ＿２を受けると、その受けた信号Ｆｒｅｑ＿ｏｕｔ＿２に基づいて、信号ＥＮ＿１を生成し、その生成した信号ＥＮ＿１をＥＮ選択回路７６１へ出力する。
【０６８０】
そして、信号ＳＷ＿１＝“０”であるので、選択器７６１１は、“０”からなる信号をＯＲ回路７６１３へ出力し、ＯＲ回路７６１３は、“０”からなる信号と、“１”からなる信号ＥＮ＿１とに基づいて、“１”からなる信号ＥＮ＿１をＮＡＮＤ回路７６２へ出力する。
【０６８１】
そして、ＮＡＮＤ回路７６２は、“１”からなる信号ＥＮ＿１と、段数可変分周器７６３Ａからの信号ＣＨ＿１＿ｏｕｔ（＝“０”）との論理積を演算し、その演算した論理積を反転した“１”からなる信号を１ビットステージ２７１へ出力する。
【０６８２】
１ビットステージ２７１〜２７Ｗは、それぞれ、マルチプレクサＭＵ１１〜ＭＵ１Ｗから３ビット目の距離信号Ｍ３１〜Ｍ３Ｗを受けている。
【０６８３】
従って、１ビットステージ２７１〜２７Ｗは、それぞれ、３ビット目の距離信号Ｍ３１〜Ｍ３Ｗによって選択された遅延経路を用いて信号を遅延し、発振信号ＣＨ＿１＿ｏｕｔを発振し、その発振した発振信号ＣＨ＿１＿ｏｕｔを段数可変分周器７６３Ａへ出力する。この場合、発振回路７５２は、上述したように、休止状態である。
【０６８４】
一方、スイッチング回路７６５のシフトレジスタ７６５２は、信号ＳＷ＿２が立ち下がると、選択信号Ｆ＿ＳＥＬ１５＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４〜Ｆ＿ＳＥＬ１０＝“０”をセレクタ７６５４，７６５５へ出力する。
【０６８５】
セレクタ７６５４は、選択信号Ｆ＿ＳＥＬ１５＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４〜Ｆ＿ＳＥＬ１０＝“０”および“１”からなる信号ｅｖｅｎに基づいて、選択信号Ｆ＿ＳＥＬ１５＝“１”および選択信号Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１２＝Ｆ＿ＳＥＬ１１＝ＳＥＬ１０＝“０”を段数可変分周器７６３Ａへ出力する。また、セレクタ７６５５は、選択信号Ｆ＿ＳＥＬ１５＝“１”，Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４〜Ｆ＿ＳＥＬ１０＝“０”および“１”からなる信号ｅｖｅｎに基づいて、選択信号Ｆ＿ＳＥＬ１５＝“１”および選択信号Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１２＝Ｆ＿ＳＥＬ１１＝ＳＥＬ１０＝“０”を段数可変分周器７６９Ａへ出力する。
【０６８６】
そうすると、段数可変分周器７６３Ａは、選択信号Ｆ＿ＳＥＬ１５＝“１”および選択信号Ｆ＿ＳＥＬ１７＝Ｆ＿ＳＥＬ１６＝Ｆ＿ＳＥＬ１４＝Ｆ＿ＳＥＬ１３＝Ｆ＿ＳＥＬ１２＝Ｆ＿ＳＥＬ１１＝ＳＥＬ１０＝“０”を受け、ゲート７６４１，７６４３〜７６４６，７６４８，７６４９が閉じ、ゲート７６４７のみが開く。
【０６８７】
そして、段数可変分周器７６３Ａは、発振信号ＣＨ＿１＿ｏｕｔを５個の分周器７６３３〜７６３７によって２５回分周し、信号Ｆｒｅｑ＿ｏｕｔ＿１をノードＮ９４から遅延回路７６４およびフリップフロップ７６６へ出力する。
【０６８８】
遅延回路７６４は、信号Ｆｒｅｑ＿ｏｕｔ＿１をτだけ遅延して信号ＳＷ＿１をマルチプレクサＭＵ３１〜ＭＵ３Ｗ、ＥＮ選択回路７６１、スイッチング回路７６５Ａおよびフリップフロップ７６７へ出力する。
【０６８９】
以後、上述した動作が繰り返し行われ、発振回路７５１，７５２は、交互に発振信号を発振し、段数可変分周器７６３Ａは、発振回路７５１からの発振信号を２７回、２５回、２３回、および２回分周し、段数可変分周器７６９Ａは、発振回路７５２からの発振信号を２６回、２４回、２２回および１回分周する。そして、段数可変分器器７６９Ａにおける分周が終了すると、スイッチング回路７６５は、選択信号Ｆ＿ＳＥＬ１７〜Ｆ＿ＳＥＬ１１＝“０”および選択信号Ｆ＿ＳＥＬ１０＝“１”を段数可変分周器７６３Ａ，７６９Ａへ出力する。
【０６９０】
そうすると、段数可変分周器７６３Ａは、選択信号Ｆ＿ＳＥＬ１７〜Ｆ＿ＳＥＬ１１＝“０”および選択信号Ｆ＿ＳＥＬ１０＝“１”に基づいて、２７回、２５回、２３回、および２回分周を順次実行した後の発振信号を信号ｏｕｔ＿１として選択器７８０Ａへ出力する。また、段数可変分周器７６９Ａは、選択信号Ｆ＿ＳＥＬ１７〜Ｆ＿ＳＥＬ１１＝“０”および選択信号Ｆ＿ＳＥＬ１０＝“１”に基づいて、２６回、２４回、２２回および１回分周を順次実行した後の発振信号を信号ｏｕｔ＿２として選択器７８０Ａへ出力する。
【０６９１】
そして、選択器７８０Ａは、“１”からなる信号ｅｖｅｎに応じて、信号ｏｕｔ＿２を選択し、その選択した信号ｏｕｔ＿２を発振信号Ｓ１として分周回路２０へ出力する。
【０６９２】
なお、距離／時間変換回路ＤＴ’２〜ＤＴ’Ｒの各々も、上述した動作を実行し、それぞれ、発振信号Ｓ２〜ＳＲを分周回路２０へ出力する。
【０６９３】
分周回路２０および時間領域ＷＴＡ回路３０における動作は、上述したとおりである。
【０６９４】
上記においては、Ｋビットの距離信号が８ビットである場合について説明したが、距離／時間変換回路ＤＴ’１Ｃを備えた連想メモリ１００Ａは、８ビットの距離信号に限らず、マンハッタン距離が７ビット、６ビット、５ビット、４ビット、３ビットおよび２ビットのいずれであっても、検索データに類似する参照データを検索できる。
【０６９５】
そして、マンハッタン距離が８ビット、７ビット、６ビット、５ビット、４ビット、３ビットおよび２ビットのいずれであるかは、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴおよび信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴのパルス数によって設定される。
【０６９６】
以下、具体的に説明する。
【０６９７】
マンハッタン距離が８ビット、６ビット、４ビットおよび２ビットである場合、信号ｅｖｅｎは、“１”からなり、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴおよび信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴのパルス数は、それぞれ、１個、２個、３個および４個からなる。即ち、マンハッタン距離が偶数のビット数からなる場合、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴのパルス数は、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴのパルス数と同じである。
【０６９８】
また、マンハッタン距離が７ビット、５ビット、３ビットである場合、信号ｅｖｅｎは、”０“からなり、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴのパルス数は、それぞれ、１個、２個および３個からなり、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴのパルス数は、それぞれ、２個、３個および４個からなる。即ち、マンハッタン距離が奇数のビット数からなる場合、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴのパルス数は、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴのパルス数よりも１個だけ多い。
【０６９９】
マンハッタン距離が８ビットである場合、信号ｅｖｅｎが“１”であり、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴおよび信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴのパルス数は、１個である。この場合、上述した動作によって検索データに類似する参照データを検索できる。
【０７００】
［マンハッタン距離が７ビットである場合の検索］
マンハッタン距離が７ビットである場合、信号ｅｖｅｎは、“０”からなり、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴのパルス数が１個であり、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴのパルス数が２個である。そして、マルチプレクサＭＵ３１〜ＭＵ３Ｗは、“０”からなる信号ｅｖｅｎおよびパルス数が１個の信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴに応じて、２ビット目の距離信号、４ビット目の距離信号、６ビット目の距離信号および８ビット目の距離信号をそれぞれ１ビットステージ２７１〜２７Ｗへ順次出力する。
【０７０１】
一方、マルチプレクサＭＵ４１〜ＭＵ４Ｗは、“０”からなる信号ｅｖｅｎおよびパルス数が２個の信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴに応じて、３ビット目、５ビット目および７ビット目の距離信号をそれぞれ１ビットステージ２８１〜２８Ｗへ順次出力する。この場合、マルチプレクサＭＵ４１〜ＭＵ４Ｗの各々においては、シフトレジスタ２９１は、２個のパルスによって飛ばされるので（実質的に無視されるので）、マルチプレクサＭＵ４１〜ＭＵ４Ｗは、３ビット目、５ビット目および７ビット目の距離信号をそれぞれ１ビットステージ２８１〜２８Ｗへ順次出力することになる。
【０７０２】
従って、マンハッタン距離が７ビットである場合、上述した動作によって検索データに類似する参照データを検索できる。この場合、選択器７８０Ａは、“０”からなる信号ｅｖｅｎに応じて、段数可変分周器７６３Ａからの信号ｏｕｔ＿１を発振信号Ｓ１として分周回路２０へ出力する。
【０７０３】
［マンハッタン距離が６ビットである場合の検索］
マンハッタン距離が６ビットである場合、信号ｅｖｅｎは、“１”からなり、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴおよび信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴのパルス数が２個である。そして、マルチプレクサＭＵ３１〜ＭＵ３Ｗは、“１”からなる信号ｅｖｅｎおよびパルス数が２個の信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴに応じて、３ビット目の距離信号、５ビット目の距離信号および７ビット目の距離信号をそれぞれ１ビットステージ２７１〜２７Ｗへ順次出力する。この場合、マルチプレクサＭＵ３１〜ＭＵ３Ｗの各々においては、シフトレジスタ２９１は、２個のパルスによって飛ばされるので（実質的に無視されるので）、マルチプレクサＭＵ３１〜ＭＵ３Ｗは、３ビット目の距離信号、５ビット目の距離信号および７ビット目の距離信号をそれぞれ１ビットステージ２７１〜２７Ｗへ順次出力することになる。
【０７０４】
一方、マルチプレクサＭＵ４１〜ＭＵ４Ｗは、“１”からなる信号ｅｖｅｎおよびパルス数が２個の信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴに応じて、４ビット目、６ビット目および８ビット目の距離信号をそれぞれ１ビットステージ２８１〜２８Ｗへ順次出力する。この場合、マルチプレクサＭＵ４１〜ＭＵ４Ｗの各々においては、シフトレジスタ２９１は、２個のパルスによって飛ばされるので（実質的に無視されるので）、マルチプレクサＭＵ４１〜ＭＵ４Ｗは、４ビット目、６ビット目および８ビット目の距離信号をそれぞれ１ビットステージ２８１〜２８Ｗへ順次出力することになる。
【０７０５】
従って、マンハッタン距離が６ビットである場合、上述した動作によって検索データに類似する参照データを検索できる。この場合、選択器７８０Ａは、“１”からなる信号ｅｖｅｎに応じて、段数可変分周器７６９Ａからの信号ｏｕｔ＿２を発振信号Ｓ１として分周回路２０へ出力する。
【０７０６】
［マンハッタン距離が５ビットである場合の検索］
マンハッタン距離が５ビットである場合、信号ｅｖｅｎは、“０”からなり、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴのパルス数が２個であり、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴのパルス数が３個である。そして、マルチプレクサＭＵ３１〜ＭＵ３Ｗは、“０”からなる信号ｅｖｅｎおよびパルス数が２個の信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴに応じて、４ビット目の距離信号、６ビット目の距離信号および８ビット目の距離信号をそれぞれ１ビットステージ２７１〜２７Ｗへ順次出力する。この場合、マルチプレクサＭＵ３１〜ＭＵ３Ｗの各々においては、シフトレジスタ２９１は、２個のパルスによって飛ばされるので（実質的に無視されるので）、マルチプレクサＭＵ３１〜ＭＵ３Ｗは、４ビット目の距離信号、６ビット目の距離信号および８ビット目の距離信号をそれぞれ１ビットステージ２７１〜２７Ｗへ順次出力することになる。
【０７０７】
一方、マルチプレクサＭＵ４１〜ＭＵ４Ｗは、“０”からなる信号ｅｖｅｎおよびパルス数が３個の信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴに応じて、５ビット目および７ビット目の距離信号をそれぞれ１ビットステージ２８１〜２８Ｗへ順次出力する。この場合、マルチプレクサＭＵ４１〜ＭＵ４Ｗの各々においては、シフトレジスタ２９１，２９２は、３個のパルスによって飛ばされるので（実質的に無視されるので）、マルチプレクサＭＵ４１〜ＭＵ４Ｗは、５ビット目および７ビット目の距離信号をそれぞれ１ビットステージ２８１〜２８Ｗへ順次出力することになる。
【０７０８】
従って、マンハッタン距離が５ビットである場合、上述した動作によって検索データに類似する参照データを検索できる。この場合、選択器７８０Ａは、“０”からなる信号ｅｖｅｎに応じて、段数可変分周器７６３Ａからの信号ｏｕｔ＿１を発振信号Ｓ１として分周回路２０へ出力する。
【０７０９】
［マンハッタン距離が４ビットである場合の検索］
マンハッタン距離が４ビットである場合、信号ｅｖｅｎは、“１”からなり、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴおよび信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴのパルス数が３個である。そして、マルチプレクサＭＵ３１〜ＭＵ３Ｗは、“１”からなる信号ｅｖｅｎおよびパルス数が３個の信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴに応じて、５ビット目の距離信号および７ビット目の距離信号をそれぞれ１ビットステージ２７１〜２７Ｗへ順次出力する。この場合、マルチプレクサＭＵ３１〜ＭＵ３Ｗの各々においては、シフトレジスタ２９１，２９２は、３個のパルスによって飛ばされるので（実質的に無視されるので）、マルチプレクサＭＵ３１〜ＭＵ３Ｗは、５ビット目の距離信号および７ビット目の距離信号をそれぞれ１ビットステージ２７１〜２７Ｗへ順次出力することになる。
【０７１０】
一方、マルチプレクサＭＵ４１〜ＭＵ４Ｗは、“１”からなる信号ｅｖｅｎおよびパルス数が３個の信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴに応じて、６ビット目および８ビット目の距離信号をそれぞれ１ビットステージ２８１〜２８Ｗへ順次出力する。この場合、マルチプレクサＭＵ４１〜ＭＵ４Ｗの各々においては、シフトレジスタ２９１，２９２は、３個のパルスによって飛ばされるので（実質的に無視されるので）、マルチプレクサＭＵ４１〜ＭＵ４Ｗは、６ビット目および８ビット目の距離信号をそれぞれ１ビットステージ２８１〜２８Ｗへ順次出力することになる。
【０７１１】
従って、マンハッタン距離が４ビットである場合、上述した動作によって検索データに類似する参照データを検索できる。この場合、選択器７８０Ａは、“１”からなる信号ｅｖｅｎに応じて、段数可変分周器７６９Ａからの信号ｏｕｔ＿２を発振信号Ｓ１として分周回路２０へ出力する。
【０７１２】
［マンハッタン距離が３ビットである場合の検索］
マンハッタン距離が３ビットである場合、信号ｅｖｅｎは、“０”からなり、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴのパルス数が３個であり、信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴのパルス数が４個である。そして、マルチプレクサＭＵ３１〜ＭＵ３Ｗは、“０”からなる信号ｅｖｅｎおよびパルス数が３個の信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴに応じて、６ビット目の距離信号および８ビット目の距離信号をそれぞれ１ビットステージ２７１〜２７Ｗへ順次出力する。この場合、マルチプレクサＭＵ３１〜ＭＵ３Ｗの各々においては、シフトレジスタ２９１，２９２は、３個のパルスによって飛ばされるので（実質的に無視されるので）、マルチプレクサＭＵ３１〜ＭＵ３Ｗは、６ビット目の距離信号および８ビット目の距離信号をそれぞれ１ビットステージ２７１〜２７Ｗへ順次出力することになる。
【０７１３】
一方、マルチプレクサＭＵ４１〜ＭＵ４Ｗは、“０”からなる信号ｅｖｅｎおよびパルス数が４個の信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴに応じて、７ビット目の距離信号をそれぞれ１ビットステージ２８１〜２８Ｗへ出力する。この場合、マルチプレクサＭＵ４１〜ＭＵ４Ｗの各々においては、シフトレジスタ２９１〜２９３は、３個のパルスによって飛ばされるので（実質的に無視されるので）、マルチプレクサＭＵ４１〜ＭＵ４Ｗは、７ビット目の距離信号をそれぞれ１ビットステージ２８１〜２８Ｗへ出力することになる。
【０７１４】
従って、マンハッタン距離が３ビットである場合、上述した動作によって検索データに類似する参照データを検索できる。この場合、選択器７８０Ａは、“０”からなる信号ｅｖｅｎに応じて、段数可変分周器７６３Ａからの信号ｏｕｔ＿１を発振信号Ｓ１として分周回路２０へ出力する。
【０７１５】
［マンハッタン距離が２ビットである場合の検索］
マンハッタン距離が２ビットである場合、信号ｅｖｅｎは、“１”からなり、信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴおよび信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴのパルス数が４個である。そして、マルチプレクサＭＵ３１〜ＭＵ３Ｗは、“１”からなる信号ｅｖｅｎおよびパルス数が４個の信号ＳＨＩＦＴ＿ＯＤＤＢＩＴ＿ＳＥＴに応じて、７ビット目の距離信号をそれぞれ１ビットステージ２７１〜２７Ｗへ出力する。この場合、マルチプレクサＭＵ３１〜ＭＵ３Ｗの各々においては、シフトレジスタ２９１〜２９３は、４個のパルスによって飛ばされるので（実質的に無視されるので）、マルチプレクサＭＵ３１〜ＭＵ３Ｗは、７ビット目の距離信号をそれぞれ１ビットステージ２７１〜２７Ｗへ出力することになる。
【０７１６】
一方、マルチプレクサＭＵ４１〜ＭＵ４Ｗは、“１”からなる信号ｅｖｅｎおよびパルス数が４個の信号ＳＨＩＦＴ＿ｅｖｅｎＢＩＴ＿ＳＥＴに応じて、８ビット目の距離信号をそれぞれ１ビットステージ２８１〜２８Ｗへ出力する。この場合、マルチプレクサＭＵ４１〜ＭＵ４Ｗの各々においては、シフトレジスタ２９１〜２９３は、４個のパルスによって飛ばされるので（実質的に無視されるので）、マルチプレクサＭＵ４１〜ＭＵ４Ｗは、８ビット目の距離信号をそれぞれ１ビットステージ２８１〜２８Ｗへ出力することになる。
【０７１７】
従って、マンハッタン距離が２ビットである場合、上述した動作によって検索データに類似する参照データを検索できる。この場合、選択器７８０Ａは、“１”からなる信号ｅｖｅｎに応じて、段数可変分周器７６９Ａからの信号ｏｕｔ＿２を発振信号Ｓ１として分周回路２０へ出力する。
【０７１８】
このように、距離／時間変換回路ＤＴ’１Ｃを備えた連想メモリ１００Ａは、マンハッタン距離が２ビット以上である場合について、検索データに類似する参照データを検索できる。
【０７１９】
上記においては、マンハッタン距離の最大ビット数は、８ビットであると説明したが、この発明の実施の形態においては、これに限らず、マンハッタン距離のビット数は、２以上の任意のビット数であればよい。そして、マンハッタン距離のビット数が８ビットよりも多い場合、マンハッタン距離のビット数に応じて、マルチプレクサＭＵ３１〜ＭＵ３Ｗ，ＭＵ４１〜ＭＵ４Ｗにおけるシフトレジスタ、ゲートおよび選択器の個数を増やせばよい。
【０７２０】
また、上記においては、ユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗ，ＵＣ’２１〜ＵＣ’２Ｗ，・・・，ＵＣ’Ｒ１〜ＵＣ’ＲＷは、マンハッタン距離を用いて参照データと検索データとの間の距離を演算すると説明したが、この発明の実施の形態においては、これに限らず、ユニット比較回路ＵＣ’１１〜ＵＣ’１Ｗ，ＵＣ’２１〜ＵＣ’２Ｗ，・・・，ＵＣ’Ｒ１〜ＵＣ’ＲＷは、ユークリッド距離、標準ユークリッド距離、マハラノビス距離、チェビシェフ距離およびミンコフスキー距離のいずれかを用いて参照データと検索データとの間の距離を演算してもよい。
【０７２１】
実施の形態２におけるその他の説明は、実施の形態１における説明と同じである。
【０７２２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０７２３】
この発明は、連想メモリに適用される。
【符号の説明】
【０７２４】
１  メモリ部、２  行ココーダ、３  列デコーダ、４  読出／書込回路、５  検索データ保存回路、１０  メモリアレイ部、２０  分周回路、３０  時間領域ＷＴＡ回路、１００  連想メモリ、ＳＣ１１〜ＳＣ１Ｗ，ＳＣ２１〜ＳＣ２Ｗ，・・・，ＳＣＲ１〜ＳＣＲＷ  参照データ保存回路、ＵＣ１１〜ＵＣ１Ｗ，ＵＣ２１〜ＵＣ２Ｗ，・・・，ＵＣＲ１〜ＵＣＲＷ  ユニット比較回路、ＰＥ１〜ＰＥＲ  パスエンコーダ、ＤＴ１〜ＤＴＲ  距離／時間変換回路。
【図１】
0005800422.tif 000008
【図２】
0005800422.tif 000009
【図３】
0005800422.tif 000010
【図４】
0005800422.tif 000011
【図５】
0005800422.tif 000012
【図６】
0005800422.tif 000013
【図７】
0005800422.tif 000014
【図８】
0005800422.tif 000015
【図９】
0005800422.tif 000016
【図１０】
0005800422.tif 000017
【図１１】
0005800422.tif 000018
【図１２】
0005800422.tif 000019
【図１３】
0005800422.tif 000020
【図１４】
0005800422.tif 000021
【図１５】
0005800422.tif 000022
【図１６】
0005800422.tif 000023
【図１７】
0005800422.tif 000024
【図１８】
0005800422.tif 000025
【図１９】
0005800422.tif 000026
【図２０】
0005800422.tif 000027
【図２１】
0005800422.tif 000028
【図２２】
0005800422.tif 000029
【図２３】
0005800422.tif 000030
【図２４】
0005800422.tif 000031
【図２５】
0005800422.tif 000032
【図２６】
0005800422.tif 000033
【図２７】
0005800422.tif 000034
【図２８】
0005800422.tif 000035
【図２９】
0005800422.tif 000036
【図３０】
0005800422.tif 000037
【図３１】
0005800422.tif 000038
【図３２】
0005800422.tif 000039
【図３３】
0005800422.tif 000040
【図３４】
0005800422.tif 000041
【図３５】
0005800422.tif 000042
【図３６】
0005800422.tif 000043
【図３７】
0005800422.tif 000044
【図３８】
0005800422.tif 000045
【図３９】
0005800422.tif 000046
【図４０】
0005800422.tif 000047
【図４１】
0005800422.tif 000048
【図４２】
0005800422.tif 000049
【図４３】
0005800422.tif 000050
【図４４】
0005800422.tif 000051
【図４５】
0005800422.tif 000052