(57)【要約】【課題】  検索１回ごとにそれまでのAND検索結果を出力できず、また、検索を行う順番に制約があるという課題があった。【解決手段】  ゲート制御信号、クロック制御信号がＣＡＭチップに入力される情報に応じて生成され、このＣＡＭチップに入力される情報は、１エントリが何セグメント構成であるか、すなわちデータを構成するセグメント数や、ＡＮＤ検索が通常検索であるか否か、さらにどのセグメントを検索しているか、すなわちセグメント単位の検索順などであり、これらデータを構成するセグメント数やセグメント単位の検索順などに応じた前記ゲート制御信号やクロック制御信号などをもとに、セグメント単位のデータの検索ごとに、そのセグメント単位のデータの検索結果や前記ＡＮＤ検索結果を生成する。【選択図】図１
2005092272.tif 000002
【特許請求の範囲】
【請求項１】
記憶したセグメント単位のデータを入力データと比較し一致しているか否かを判定する一致判定と、その一致したデータの格納されているアドレスの出力を行う検索デバイスのデータ検索回路において、
セグメント単位のデータの検索ごとに、そのセグメント単位のデータの検索結果や、前回までのセグメント単位のデータの検索結果を内包したＡＮＤ検索結果を、セグメント単位で検索する順番に制約されることなく生成し出力する検索制御回路を備えたことを特徴とするデータ検索回路。
【請求項２】
前記検索制御回路は、前記セグメント単位のデータと前記入力データの一致判定結果と、データを構成するセグメント数と、セグメント単位の検索順とに応じた制御信号をもとに、セグメント単位のデータの検索ごとに、そのセグメント単位のデータの検索結果や前記ＡＮＤ検索結果を生成することを特徴とする請求項１記載のデータ検索回路。
【請求項３】
前記制御信号は、ゲート制御信号やクロック信号を含むことを特徴とする請求項２記載のデータ検索回路。
【請求項４】
データを構成するセグメント数やセグメント単位の検索順を含む入力された情報に応じて前記ゲート制御信号や前記クロック信号を出力する制御信号出力回路を備え、検索制御回路は、前記制御信号出力回路が出力した前記ゲート制御信号や前記クロック信号をもとに、セグメント単位のデータの検索ごとに、そのセグメント単位のデータの検索結果や前記ＡＮＤ検索結果を生成することを特徴とする請求項３記載のデータ検索回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶した固定長のデータを入力データと比較し、一致しているデータがあれば、一致信号と、その一致したデータが格納されているアドレスを出力するCAM（内容照合メモリ）などの検索デバイスに用いて好適なデータ検索回路に関する。
【背景技術】
【０００２】
このCAMなどの検索デバイスにおいては、昨今、より大きなデータの検索が要求されるため、セグメントを連結して検索を行う必要がある。セグメントとはこの検索デバイスが記憶する固定長のデータの単位であり、１セグメントを７２ビットとすれば、１４４ビットや２８８ビットのデータの検索が要求される。２８８ビットの場合、７２ビットごとに４回検索を行い、それぞれの検索結果を論理的に結合、すなわちそれぞれの検索結果のANDをとり（このような検索をAND検索という）、出力することになる。このAND検索では、４回の各検索の結果がそれぞれ一致であれば最終的に一致信号が出力される。また４回の各検索の結果に１回でも不一致があれば一致信号は出力されることはない。
このようなCAMなどの検索デバイスに用いられるデータ検索回路としては、１エントリ（格納するデータの幅）が４セグメント構成の場合、セグメント０からセグメント３まで４回検索され、各検索結果がそれぞれのレジスタに保持され、次いで前記各検索結果のANDがとられて出力されるものがある（例えば、特許文献１参照）。
あるいは、１エントリが４セグメント構成の場合のAND検索を行う場合、検索を行う順番が決まっているものがある（例えば特許文献２参照）。
【特許文献１】U．S．Pａｔｅｎｔ  UＳ６，２５３，２８０  B１
【特許文献２】U．S．Pａｔｅｎｔ  UＳ６，２４０，０００  B１
【発明の開示】
【発明が解決しようとする課題】
【０００３】
かかる従来のデータ検索回路においては、以下の短所が付随している。すなわち、特許文献１に記載された発明においては、検索１回ごとにそれまでのAND検索結果を出力できないという課題があった。
また、特許文献２に記載された発明においては、検索を行う順番に制約があるという課題があった。
本発明は、このような事情に鑑みてなされたものであり、１回の検索ごとにそれまでの検索結果を出力でき、自由度の高い検索を実現できるデータ検索回路を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上述の目的を達成するため、本発明にかかるデータ検索回路は、セグメント単位のデータの検索ごとに、そのセグメント単位のデータの検索結果や、前回までのセグメント単位のデータの検索結果を内包したＡＮＤ検索結果を、セグメント単位で検索する順番に制約されることなく生成し出力する検索制御回路を備えたことを特徴とする。
【発明の効果】
【０００５】
以上の説明から明らかなように、本発明にかかるデータ検索回路は、セグメント単位のデータの検索ごとに、そのセグメント単位のデータの検索結果や、前回までのセグメント単位のデータの検索結果を内包したＡＮＤ検索結果を、セグメント単位で検索する順番に制約されることなく生成し出力できる効果がある。
【発明を実施するための最良の形態】
【０００６】
１回の検索ごとにそれまでの検索結果を出力でき、自由度の高い検索を実現するという目的を、セグメント単位のデータの検索ごとに、そのセグメント単位のデータの検索結果や、前回までのセグメント単位のデータの検索結果を内包したＡＮＤ検索結果を、セグメント単位で検索する順番に制約されることなく生成し出力する検索制御回路を備えたことで実現した。
【実施例１】
【０００７】
図１は、CAM（内容照合メモリ）などの検索デバイスに用いられる、この実施例１のデータ検索回路の構成を概念的に示す回路図である。このデータ検索回路は、サーチデータを格納するサーチデータ格納レジスタ１０と、サーチデータと各セグメント（入力データと比較する固定長のデータの単位）に格納されたデータとを比較するセグメント０検索レジスタ１１、セグメント１検索レジスタ１２、セグメント２検索レジスタ１３、セグメント３検索レジスタ１４と、論理回路ブロック（検索制御回路）２０と、ゲート制御回路５０と、検索結果読み出し制御回路６０とを備えている。
【０００８】
セグメント０検索レジスタ１１は、入力データと比較する固定長のデータのうちセグメント０を検索し一致すると一致信号ｍａｔｃｈ０を出力する。
セグメント１検索レジスタ１２は、セグメント１を検索し一致すると一致信号ｍａｔｃｈ１を出力する。
セグメント２検索レジスタ１３は、セグメント２を検索し一致すると一致信号ｍａｔｃｈ２を出力する。
セグメント３検索レジスタ１４は、セグメント３を検索し一致すると一致信号ｍａｔｃｈ３を出力する。
【０００９】
論理回路ブロック２０は、ゲート回路２１〜３０と、４入力AND回路３１，３２と、Dフリップフロップ３３〜３６を備えている。この図１に示すデータ検索回路ではゲート回路２１〜３０を概念的にスイッチシンボルにて示しており、スイッチがオフとなるとそのスイッチの後方のノード、つまり４入力AND回路の入力端子側のノードはHｉｇｈレベルとなる。
【００１０】
ゲート制御回路５０は、ゲート回路２１〜３０を制御するためのゲート制御信号を出力する。
検索結果読み出し制御回路６０は、Dフリップフロップ３３〜３６に格納された検索結果（ｅｎｃ０〜ｅｎｃ３であり一致であるときにはHｉｇｈレベル、不一致であるときにはＬｏｗレベルとなる）の読み出しを行うためのクロック制御信号Ｃｌｋ０〜３を出力する。
【００１１】
このデータ検索回路では、ゲート制御回路５０が出力するゲート制御信号、検索結果読み出し制御回路６０が出力するクロック制御信号Ｃｌｋ０〜３は、ＣＡＭチップに入力される情報に応じて生成されるものである。このＣＡＭチップに入力される情報は、１エントリが何セグメント構成であるか、すなわちデータを構成するセグメント数や、ＡＮＤ検索が通常検索であるか否か、さらにどのセグメントを検索しているか、すなわちセグメント単位の検索順などである。そして、これらデータを構成するセグメント数やセグメント単位の検索順などに応じた制御信号をもとに、セグメント単位のデータの検索ごとに、そのセグメント単位のデータの検索結果や前記ＡＮＤ検索結果を生成する。
【００１２】
図２は、図１に示したデータ検索回路の構成を実際の回路構成に即したシンボルにより示したものであり、図１に示したゲート回路２１は図２ではＡＮＤ回路、図１に示したゲート回路２２〜２９は図２ではＯＲ回路、図１に示したゲート回路３０は図２ではＡＮＤ回路で示されている。また、図１のゲート制御回路５０は図２では省略してあるが、図１のゲート制御回路５０から出力されるゲート制御信号は、図２ではｅｎ０＿ｓ０（以下、制御信号Ａという），ｅｎ０ｂ＿ｓ１（以下、制御信号Ｂという），ｅｎ１ｂ＿ｓ１（以下、制御信号Ｃという），ｅｎ０１ｂ＿ｓ１（以下、制御信号Ｄという），ｅｎ２３ｂ＿ｓ１（以下、制御信号Ｅという），ｅｎ０１ｂ＿ｓ２（以下、制御信号Ｆという），ｅｎ２３ｂ＿ｓ２（以下、制御信号Ｇという），ｅｎ２ｂ＿ｓ２（以下、制御信号Ｈという），ｅｎ３ｂ＿ｓ２（以下、制御信号Ｉという），ｅｎ３＿ｓ３（以下、制御信号Ｊという）などと表記されている。また、図１に示した論理回路ブロック２０は、図２では論理回路ブロック（検索制御回路）０〜３により構成されている。
【００１３】
次に、図２に示すデータ検索回路の動作について説明する。
先ず、１エントリ（格納するデータの幅）が１セグメント構成の場合について説明する。この場合には、各セグメント（セグメント０、セグメント１、セグメント２、セグメント３）の検索結果はｅｎｃ０、ｅｎｃ１、ｅｎｃ２、ｅｎｃ３にそれぞれ出力される。すなわち、セグメント０の検索結果はｅｎｃ０、セグメント１の検索結果はｅｎｃ１、セグメント２の検索結果はｅｎｃ２、セグメント３の検索結果はｅｎｃ３に出力される。
このとき、与えられる制御信号Ａ、制御信号Ｂ、制御信号Ｃ、制御信号Ｄ、制御信号Ｅ、制御信号Ｆ、制御信号Ｇ、制御信号Ｈ、制御信号Ｉ、制御信号Ｊの状態を、HｉｇｈレベルをＨ、ＬｏｗレベルをＬと表記し、真理値表として図３に示す。すなわち、この１エントリが１セグメント構成の場合には、制御信号Ｃ、制御信号Ｈ、制御信号ＪがＬｏｗレベルとなり、これら信号を除き他の全ての信号はHｉｇｈレベルとなる。この結果、ＡＮＤ回路２１の出力は、一致信号ｍａｔｃｈ０の状態に応じて変化し、クロック制御信号Ｃｌｋ０の立ち上がりのタイミングでDフリップフロップ３３に読み込まれｅｎｃ０として出力される。また、ＯＲ回路２３の出力は、一致信号ｍａｔｃｈ１の状態に応じて変化し、さらに４入力AND回路３１の出力もＯＲ回路２３の出力の状態に応じて変化し、クロック制御信号Ｃｌｋ１の立ち上がりのタイミングでDフリップフロップ３４に読み込まれｅｎｃ１として出力される。また、ＯＲ回路２８の出力は、一致信号ｍａｔｃｈ２の状態に応じて変化し、さらに４入力AND回路３２の出力もＯＲ回路２８の出力の状態に応じて変化し、クロック制御信号Ｃｌｋ２の立ち上がりのタイミングでDフリップフロップ３５に読み込まれｅｎｃ２として出力される。また、ＡＮＤ回路３０の出力は、一致信号ｍａｔｃｈ３の状態に応じて変化し、クロック制御信号Ｃｌｋ３の立ち上がりのタイミングでDフリップフロップ３６に読み込まれｅｎｃ３として出力される。
【００１４】
次に、１エントリが２セグメント構成の場合について説明する。
この場合には、セグメント０とセグメント１、セグメント２とセグメント３がそれぞれペアとなる。そして、セグメント０とセグメント１の検索結果はｅｎｃ１から出力され、またセグメント２とセグメント３の検索結果はｅｎｃ２から出力される。このデータ検索回路においては次の２つのケースが可能である。すなわち、第１のケースでは、１回目にセグメント０とセグメント２を検索し、２回目にセグメント１とセグメント３を検索し、２回目のセグメント１の検索は１回目の検索結果であるセグメント０の検索結果とＡＮＤをとり、それをセグメント０とセグメント１の検索結果とする。また２回目のセグメント３の検索は１回目の検索結果であるセグメント２の検索結果とＡＮＤをとり、それをセグメント２とセグメント３の検索結果とする。また、第２のケースでは、１回目にセグメント１とセグメント３を検索し、２回目にセグメント０とセグメント２を検索し、２回目のセグメント０の検索は１回目の検索結果であるセグメント１の検索結果とＡＮＤをとり、それをセグメント０とセグメント１の検索結果とする。また２回目のセグメント２の検索は１回目の検索結果であるセグメント３の検索結果とＡＮＤをとり、それをセグメント２とセグメント３の検索結果とする。
【００１５】
この１エントリが２セグメント構成の場合の前記各ケースにおいて与えられる制御信号Ａ、制御信号Ｂ、制御信号Ｃ、制御信号Ｄ、制御信号Ｅ、制御信号Ｆ、制御信号Ｇ、制御信号Ｈ、制御信号Ｉ、制御信号Ｊの状態を、HｉｇｈレベルをＨ、ＬｏｗレベルをＬと表記し、真理値表として図４に示す。すなわち、前記第１のケースにおいて、１回目の検索でのセグメント０の検索結果は、Dフリップフロップ３４にクロック制御信号Ｃｌｋ１の立ち上がりエッジにより格納され、セグメント２の検索結果は、Dフリップフロップ３５にクロック制御信号Ｃｌｋ１の立ち上がりエッジにより格納される。続く２回目のセグメント１の検索結果は、Dフリップフロップ３４に格納されたセグメント０の検索結果との間で４入力AND回路３１によりＡＮＤがとられて次のクロック制御信号Ｃｌｋ１の立ち上がりエッジによりDフリップフロップ３４に格納され、ｅｎｃ１として出力される。また、２回目のセグメント３の検索結果は、Dフリップフロップ３５に格納されたセグメント２の検索結果との間で４入力AND回路３２によりＡＮＤがとられて次のクロック制御信号Ｃｌｋ２の立ち上がりエッジによりDフリップフロップ３５に格納され、ｅｎｃ２として出力される。
【００１６】
また、前記第２のケースにおいて、１回目の検索でのセグメント１の検索結果は、Dフリップフロップ３４にクロック制御信号Ｃｌｋ１の立ち上がりエッジにより格納され、セグメント３の検索結果は、Dフリップフロップ３５にクロック制御信号Ｃｌｋ１の立ち上がりエッジにより格納される。続く２回目のセグメント０の検索結果は、Dフリップフロップ３４に格納されたセグメント１の検索結果との間で４入力AND回路３１によりＡＮＤがとられて次のクロック制御信号Ｃｌｋ１の立ち上がりエッジによりDフリップフロップ３４に格納され、ｅｎｃ１として出力される。また、２回目のセグメント２の検索結果は、Dフリップフロップ３５に格納されたセグメント３の検索結果との間で４入力AND回路３２によりＡＮＤがとられて次のクロック制御信号Ｃｌｋ２の立ち上がりエッジによりDフリップフロップ３５に格納され、ｅｎｃ２として出力される。
【００１７】
次に、１エントリが４セグメント構成の場合について説明する。
この１エントリが４セグメント構成の場合では、最後の検索がセグメント０またはセグメント１の場合にはｅｎｃ１から４セグメントの検索結果が出力される。また、最後の検索がセグメント２またはセグメント３の場合にはｅｎｃ２から４セグメントの検索結果が出力される。このデータ検索回路では、検索の順番に制約がないので、合計２４通りの検索が可能である。
【００１８】
以下、この１エントリが４セグメント構成の場合として第１のケースおよび第２のケースを例に説明する。図５は、この第１のケースにおいて与えられる制御信号Ａ、制御信号Ｂ、制御信号Ｃ、制御信号Ｄ、制御信号Ｅ、制御信号Ｆ、制御信号Ｇ、制御信号Ｈ、制御信号Ｉ、制御信号Ｊの状態を示す真理値表である。また、図６は、第２のケースにおいて与えられる制御信号Ａ、制御信号Ｂ、制御信号Ｃ、制御信号Ｄ、制御信号Ｅ、制御信号Ｆ、制御信号Ｇ、制御信号Ｈ、制御信号Ｉ、制御信号Ｊの状態を示す真理値表である。
【００１９】
先ず、第１のケースについて説明する。
この第１のケースでは、セグメント０→セグメント１→セグメント２→セグメント３の順番で検索するケースである。１サイクル目にセグメント０を検索し、その検索結果はｅｎｃ１から出力する。続いて２サイクル目にセグメント１をＡＮＤ検索し、前記１サイクル目の検索結果とＡＮＤをとってｅｎｃ１から出力する。続いて３サイクル目にセグメント２をＡＮＤ検索し、この３サイクル目の検索結果と、前記１サイクル目、２サイクル目の検索結果とのＡＮＤをとってｅｎｃ２から出力する。続いて４サイクル目にセグメント３をＡＮＤ検索し、この４サイクル目の検索結果と、前記１サイクル目、２サイクル目、３サイクル目の検索結果とのＡＮＤをとってｅｎｃ２から出力する。
【００２０】
図７は、前記第１のケースにおけるこのデータ検索回路の各信号を示すタイミングチャートである。図７に示すように、この第１のケースでは、１サイクル目でセグメント０を検索して一致、すなわち一致信号Ｍａｔｃｈ０はHｉｇｈレベルとなる。この一致信号はクロック制御信号Ｃｌｋ１の立ち上がりエッジによりDフリップフロップ３４に読み込まれ、ｅｎｃ１として出力される。
【００２１】
２サイクル目ではセグメント１をＡＮＤ検索する。このＡＮＤ検索では、前記１サイクル目でDフリップフロップ３４に格納された一致信号Ｍａｔｃｈ０と、この２サイクル目で検索されたセグメント１の検索結果、この場合、一致したとして出力される一致信号Ｍａｔｃｈ１とが４入力AND回路３１によりＡＮＤをとられ、次のクロック制御信号Ｃｌｋ１の立ち上がりエッジによりDフリップフロップ３４に読み込まれる。この時点では、Dフリップフロップ３４には一致信号Ｍａｔｃｈ０と一致信号Ｍａｔｃｈ１とのＡＮＤ検索結果が格納されている。
【００２２】
３サイクル目では、セグメント２をＡＮＤ検索する。このＡＮＤ検索では、前記２サイクル目でDフリップフロップ３４に格納された一致信号Ｍａｔｃｈ０と一致信号Ｍａｔｃｈ１とのＡＮＤ結果と、この３サイクル目で検索されたセグメント２の検索結果、この場合、一致したとして出力される一致信号Ｍａｔｃｈ２とが４入力AND回路３２によりＡＮＤをとられ、クロック制御信号Ｃｌｋ２の立ち上がりエッジによりDフリップフロップ３５に読み込まれる。この時点では、Dフリップフロップ３５には一致信号Ｍａｔｃｈ０と一致信号Ｍａｔｃｈ１と一致信号Ｍａｔｃｈ２のＡＮＤ検索結果が格納されている。
【００２３】
４サイクル目では、セグメント３をＡＮＤ検索する。このＡＮＤ検索では、前記３サイクル目でDフリップフロップ３５に格納された一致信号Ｍａｔｃｈ０と一致信号Ｍａｔｃｈ１と一致信号Ｍａｔｃｈ２のＡＮＤ結果と、この４サイクル目で検索されたセグメント３の検索結果、この場合、一致したとして出力される一致信号Ｍａｔｃｈ３とが４入力AND回路３２によりＡＮＤをとられ、次のクロック制御信号Ｃｌｋ２の立ち上がりエッジによりDフリップフロップ３５に読み込まれる。この時点では、Dフリップフロップ３５には一致信号Ｍａｔｃｈ０と一致信号Ｍａｔｃｈ１と一致信号Ｍａｔｃｈ２と一致信号Ｍａｔｃｈ３のＡＮＤ検索結果が格納されている。
【００２４】
次に、第２のケースについて説明する。
この第２のケースでは、セグメント３→セグメント０→セグメント２→セグメント１の順番で検索するケースである。１サイクル目にセグメント３を検索し、その検索結果はｅｎｃ２から出力する。続いて２サイクル目にセグメント０をＡＮＤ検索し、前記１サイクル目の検索結果と前記２サイクル目の検索結果とのＡＮＤをとってｅｎｃ１から出力する。続いて３サイクル目にセグメント２をＡＮＤ検索し、この３回目の検索結果と、前記第１回目、２回目の検索結果とのＡＮＤをとってｅｎｃ２から出力する。続いて４サイクル目にセグメント１をＡＮＤ検索し、この４回目の検索結果と、前記１サイクル目、２サイクル目、３サイクル目の検索結果とのＡＮＤをとってｅｎｃ１から出力する。
【００２５】
この第２のケースでは、１サイクル目でセグメント３を検索して一致、すなわち一致信号Ｍａｔｃｈ３はHｉｇｈレベルとなる。この一致信号はクロック制御信号Ｃｌｋ２の立ち上がりエッジによりDフリップフロップ３５に読み込まれ、ｅｎｃ２として出力される。
【００２６】
２サイクル目ではセグメント０をＡＮＤ検索する。このＡＮＤ検索では、前記１サイクル目でDフリップフロップ３５に格納された一致信号Ｍａｔｃｈ３と、この２サイクル目で検索されたセグメント０の検索結果、この場合、一致したとして出力される一致信号Ｍａｔｃｈ０とが４入力AND回路３１によりＡＮＤをとられ、クロック制御信号Ｃｌｋ１の立ち上がりエッジによりDフリップフロップ３４に読み込まれる。この時点では、Dフリップフロップ３４には一致信号Ｍａｔｃｈ３と一致信号Ｍａｔｃｈ０とのＡＮＤ検索結果が格納されている。
【００２７】
３サイクル目では、セグメント２をＡＮＤ検索する。このＡＮＤ検索では、前記２サイクル目でDフリップフロップ３４に格納された一致信号Ｍａｔｃｈ３と一致信号Ｍａｔｃｈ０とのＡＮＤ結果と、この３サイクル目で検索されたセグメント２の検索結果、この場合、一致したとして出力される一致信号Ｍａｔｃｈ２とが４入力AND回路３２によりＡＮＤをとられ、クロック制御信号Ｃｌｋ２の立ち上がりエッジによりDフリップフロップ３５に読み込まれる。この時点では、Dフリップフロップ３５には一致信号Ｍａｔｃｈ３と一致信号Ｍａｔｃｈ０と一致信号Ｍａｔｃｈ２のＡＮＤ検索結果が格納されている。
【００２８】
４サイクル目では、セグメント１をＡＮＤ検索する。このＡＮＤ検索では、前記３サイクル目でDフリップフロップ３５に格納された一致信号Ｍａｔｃｈ３と一致信号Ｍａｔｃｈ０と一致信号Ｍａｔｃｈ２のＡＮＤ結果と、この４サイクル目で検索されたセグメント１の検索結果、この場合、一致したとして出力される一致信号Ｍａｔｃｈ１とが４入力AND回路３１によりＡＮＤをとられ、クロック制御信号Ｃｌｋ１の立ち上がりエッジによりDフリップフロップ３４に読み込まれる。この時点では、Dフリップフロップ３４には一致信号Ｍａｔｃｈ３と一致信号Ｍａｔｃｈ０と一致信号Ｍａｔｃｈ２と一致信号Ｍａｔｃｈ１のＡＮＤ検索結果が格納されている。
【００２９】
以上のように、前記第１のケース、第２のケースともに、制御信号Ａ、制御信号Ｂ、制御信号Ｃ、制御信号Ｄ、制御信号Ｅ、制御信号Ｆ、制御信号Ｇ、制御信号Ｈ、制御信号Ｉ、制御信号Ｊの状態は真理値表として図５、図６に示されている。また、Dフリップフロップ３３，３４，３５，３６にそれぞれ供給されるクロック制御信号Ｃｌｋ０、ｃｌｋ１、ｃｌｋ２、ｃｌｋ３のタイミングも前記第１のケースや第２のケースに応じたもの、すなわち１エントリがいくつのセグメントにより構成されているかや、セグメント単位の検索順に応じたものとなっている。
【００３０】
この実施例によれば、１回の検索ごとにその検索結果を該当するｅｎｃから出力できる。つまり、１回の検索ごとにそれまでの検索結果、ＡＮＤ検索結果を出力できる。また前記第１のケース、第２のケースに限らず、検索するセグメントの順がどのような順番でもＡＮＤ検索を行うことができる。
【００３１】
また、２セグメントを同時に検索できる場合も同様に自由度の高いＡＮＤ検索が可能である。
【実施例２】
【００３２】
図８は、図１に示す各セグメント０，１，２，３を構成するＣＡＭ  ｃｅｌｌ  ａｒｒａｙと論理回路ブロック０，１，２，３などの各制御回路を効率よくレイアウトしたときの構成図である。
４セグメントの構成を図８に示すように配置構成することで、横方向のグローバルな制御信号を２ｃｅｌｌ分の高さで配置でき、配置の自由度が向上する。また、セグメント１、セグメント２間でやりとりする２本の一致信号Ｍａｔｃｈをローカル信号として扱うことが出来るため、グローバルな制御信号を増やすことが可能になる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施例１のデータ検索回路の構成を概念的に示す回路図である。
【図２】本発明の実施例１の実際の回路構成に即したシンボルにより示したデータ検索回路を示す回路図である。
【図３】本発明の実施例１における、１エントリが１セグメント構成の場合にデータ検索回路へ与えられる制御信号を示す真理値表である。
【図４】本発明の実施例１における、１エントリが２セグメント構成の場合にデータ検索回路へ与えられる制御信号を示す真理値表である。
【図５】本発明の実施例１における、データが１エントリ４セグメント構成である第１のケースの場合にデータ検索回路へ与えられる制御信号を示す真理値表である。
【図６】本発明の実施例１における、データが１エントリ４セグメント構成である第２のケースの場合にデータ検索回路へ与えられる制御信号を示す真理値表である。
【図７】本発明の実施例１における、データが１エントリ４セグメント構成である第１のケースの場合のデータ検索回路の動作を示すタイミングチャートである。
【図８】本発明の実施例２における、各セグメントを構成するＣＡＭ  ｃｅｌｌ  ａｒｒａｙと各論理回路ブロックを効率よくレイアウトしたときの構成図である。
【符号の説明】
【００３４】
０，１，２，３，２０……論理回路ブロック（検索制御回路）、５０……ゲート制御回路（制御信号出力回路）、６０……検索結果読み出し制御回路（制御信号出力回路）。
【図１】
2005092272.tif 000003
【図２】
2005092272.tif 000004
【図３】
2005092272.tif 000005
【図４】
2005092272.tif 000006
【図５】
2005092272.tif 000007
【図６】
2005092272.tif 000008
【図７】
2005092272.tif 000009
【図８】
2005092272.tif 000010