JP3861236B2 - Multiple coincidence detection circuit for associative memory device - Google Patents

Multiple coincidence detection circuit for associative memory device Download PDF

Info

Publication number
JP3861236B2
JP3861236B2 JP2001349668A JP2001349668A JP3861236B2 JP 3861236 B2 JP3861236 B2 JP 3861236B2 JP 2001349668 A JP2001349668 A JP 2001349668A JP 2001349668 A JP2001349668 A JP 2001349668A JP 3861236 B2 JP3861236 B2 JP 3861236B2
Authority
JP
Japan
Prior art keywords
signal
circuit
match
search
detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2001349668A
Other languages
Japanese (ja)
Other versions
JP2003151283A (en
Inventor
雅夫 後藤
英昭 小田切
晃史 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2001349668A priority Critical patent/JP3861236B2/en
Publication of JP2003151283A publication Critical patent/JP2003151283A/en
Application granted granted Critical
Publication of JP3861236B2 publication Critical patent/JP3861236B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、連想メモリ装置に係わり、特に多重検出信号を高速に発生する多重一致検出回路に関するものである。
【0002】
【従来の技術】
図11は従来の連想メモリ装置の多重一致検出回路の構成を示す論理回路図である。この図に示す連想メモリ装置は、例えば256エントリに対応して設けられた256個の連想メモリ素子を有する連想メモリ素子群50と、各連想メモリ素子の出力側にそれぞれ配置された256個のAND回路51と、8ビットカウンタ52と、カウンタ出力を256ビットにデコードした各信号を順次にHighレベルにするデコーダ53と、それぞれのAND回路51のHighレベルの出力を論理和とするOR回路54と、OR回路54の出力がHighレベルのときにカウントする2ビットカウンタ55とを備えている。なお、連想メモリ素子群50を除く他の回路によって従来の多重一致検出回路が構成されている。
【0003】
前記のように構成された従来の連想メモリ装置においては、連想メモリ素子群50に検索データが与えられると、各連想メモリ素子は、保持データと検索データとを比較し、この2つのデータが一致しているときはHighレベルの検索一致信号M0,M1…を出力し、データが不一致のときはLow レベルにする。一方、8ビットカウンタ52(256=28 )、2ビットカウンタ55は初期化される。
【0004】
8ビットカウンタ52にクロックが供給されると、デコーダ53は、カウンタ出力を256ビットにデコードした各信号を順次にHighレベルにし、それぞれのAND回路51に出力する。各AND回路51は、Highレベルのデコード信号と検索一致信号とが入力されたとき出力をHighレベルにし、OR回路54は、AND回路51からの信号を2ビットカウンタ55に出力する。この2ビットカウンタ55は、OR回路54の出力がHighレベルのときにカウントし、このカウントを2カウントすると出力をHighレベルにする。即ち、2以上の検索一致信号が入力された場合に2ビットカウンタ55の上位ビットがHighレベルとなるため、この信号を多重検出信号として出力する。
【0005】
【発明が解決しようとする課題】
前述した従来の多重一致検出回路は、複数のエントリに対する検索一致信号を順次に検索して、2以上の検索一致信号を確認したとき多重検出信号を出力するようになっているため、多重検出信号の有無を判定するまでに時間がかかり、また、エントリ数により8ビットカウンタ52やデコーダ53の構成が異なるため、あるエントリ数の連想メモリ装置を基に他のエントリ数の連想メモリ装置への開発が難しく再利用性が低いという課題があった。
【0006】
【課題を解決するための手段】
本発明に係る連想メモリ装置の多重一致検出回路は、保持データをそれぞれ有し、保持データと検索データとが一致したときに検索一致信号をそれぞれ出力する複数の連想メモリ素子を具備した連想メモリ装置において、入力側に検索一致信号をそれぞれ伝送する複数の検索一致線を有し、出力側に検索一致線にそれぞれ対応した同じ本数の一致検出線を有し、1つの検索一致信号が何れかの検索一致線を介して入力されたときは、その検索一致線に対応した一致検出線を除く他の一致検出線上をLow レベルにし、2以上の検索一致信号が何れかの検索一致線を介してそれぞれ入力されたときは、全ての一致検出線上をLow レベルにする2つの一致検出回路と、一方の一致検出回路の各検索一致線に挿入され、この検索一致線の何れかに検索一致信号が流れたとき出力側をHighレベルからLow レベルに反転する第1の検索一致検出回路と、他方の一致検出回路の各検索一致線に挿入され、この検索一致線の何れかに検索一致信号が流れたとき出力側をHighレベルからLow レベルに反転する第2の検索一致検出回路と、一方の一致検出回路の各一致検出線にそれぞれ挿入され、それぞれの一致検出線上のレベルと第2の検索一致検出回路の出力レベルとの論理積をとる複数の第1のAND回路と、他方の一致検出回路の各一致検出線にそれぞれ挿入され、それぞれの一致検出線上のレベルと第1の検索一致検出回路の出力レベルとの論理積をとる複数の第2のAND回路と、第1及び第2のAND回路の出力側に設けられたNOR回路とを備え、2つの一致検出回路のうち何れか一方の一致検出回路に2以上の検索一致信号が何れかの検索一致線を介してそれぞれ入力されたとき、又は2つの一致検出回路にそれぞれ1つの検索一致信号が何れかの検索一致線を介して入力されたとき、第1及び第2のAND回路のそれぞれの出力がLow レベルになってNOR回路から多重検出信号が出力される。
【0007】
本発明においては、例えば、一方の一致検出回路に2以上の検索一致信号が何れかの検索一致線を介してそれぞれ入力されると、一方の一致検出回路の出力側の全ての一致検出線上が Low レベルとなって、第1のAND回路の出力を Low レベルにする。一方、第1の検索一致検出回路の出力レベルも前記の検索一致信号の入力により High レベルから Low レベルに反転し、第2のAND回路の出力を Low レベルにする。この時、第1及び第2のAND回路の各出力が Low レベルであるため、NOR回路から多重検出信号が出力される。また、2つの一致検出回路にそれぞれ1つの検索一致信号が何れかの検索一致線を介して入力された場合も、第1及び第2のAND回路のそれぞれの出力が Low レベルになって、NOR回路から多重検出信号が出力される。
【0008】
【発明の実施の形態】
実施の形態1.
図1は本発明の実施の形態1に係る連想メモリ装置の多重一致検出回路の構成を示す回路図である。なお、説明を簡素化するためにエントリ数4の連想メモリ装置にて説明する。
図1に示す実施の形態1の多重一致検出回路は、連想メモリ素子群1を構成する4つの連想メモリ素子C0〜C3にそれぞれ検索一致線M0〜M3を介して接続された一致検出回路2と、この一致検出回路2に一致検出線A0〜A3を介して接続されたNOR回路3とからなっている。
【0009】
一致検出回路2は、検索一致線M0〜M3と一致検出線A0〜A3との交点に配置されたスイッチング用のN型トランジスタQ01 …と、それぞれの一致検出線A0〜A3にプルアップ接続されたダイオード接続のP型トランジスタ(●)とを備えている。前述した連想メモリ素子C0〜C3は、それぞれ保持データを有し、検索データと一致したときにHighレベルの検索一致信号を検索一致線M0〜M3を介して一致検出回路2に出力する。
【0010】
N型トランジスタQ01 …は、図中に示すように、ゲート側が検索一致線M0〜M3に、ドレイン側が一致検出線A0〜A3に、ソース側がグランドにそれぞれ接続されている。また、このN型トランジスタQ01 …は、全ての検索一致線M0〜M3と一致検出線A0〜A3との交点に配置されているわけではなく、一定の規則に基づき配置されており、以下、その規則について説明する。
【0011】
1本の一致検出線には4本の検索一致線との交点があるが、N型トランジスタQ01 …は、4つの交点のうち1つを除いて配置されている。除かれる検索一致線との交点は、全ての一致検出線で異なるようにする。例えば、一致検出線A0では、検索一致線M0を除く他の検索一致線M1, M2, M3との交点に配置され、一致検出線A1では、検索一致線M1を除く検索一致線M0, M2, M3との交点に配置され、また、一致検出線A2では、検索一致線M2を除く検索一致線M0, M1, M3との交点に配置され、さらに、一致検出線A3では、検索一致線M3を除く検索一致線M0, M1, M2との交点に配置されている。
【0012】
前記のように構成された実施の形態1の多重一致検出回路の動作を説明する。なお、まず最初に連想メモリ素子C0が保持しているデータのみが検索データと一致しているときの動作を説明し、次に連想メモリ素子C0, C1の保持データが検索データと一致しているときの動作を説明する。
【0013】
検索動作前では、検索一致線M0〜M3がLow レベルに、一致検出線A0〜A3がプルアップによりHighレベルになっており、NOR回路3の出力がLow レベルとなっている。ここで、検索データが入力されて検索動作が完了すると、前述したように連想メモリ素子C0の保持データと検索データとが一致しているため、検索一致線M0のみがHighレベルとなり、残りの検索一致線M1〜M3がLow レベルのままになっている。
【0014】
この時、検索一致線M0がHighレベルになったことでN型トランジスタQ10, Q20, Q30 がオンし、残りのN型トランジスタQ01 〜QO3, Q12, Q13, Q21, Q23, Q31, Q32 はオフのままになっている。これにより、N型トランジスタQ10, Q20, Q30 に接続された一致検出線A1〜A3はLow レベルとなり、残りの一致検出線A0はHighレベルのままであるため、NOR回路3の出力はLow レベルのままとなっている。また、他の1本の検索一致線がHighレベルとなっても、同様に1本の一致検出線のみがHighレベルとなるため、NOR回路3の出力はLow レベルとなる。
【0015】
次に、連想メモリ素子C0,C1の保持データと検索データとが一致している場合は、検索一致線M2, M3がLow レベルのままで、検索一致線M0, M1がHighレベルになる。この時、N型トランジスタQ10, Q20, Q30とQ01, Q21, Q31がオンし、それらに接続された一致検出線A0〜A3の全てがLow レベルとなる。このため、NOR回路3の出力はHighレベルに反転し多重検出信号として出力される。また、検索一致線M0〜M3が2つ以上Highレベルとなる他の組み合わせでも、一致検出線A0〜A3の全てがLow レベルとなるため、前記と同様にNOR回路3の出力がHighレベルとなり多重検出信号が出力される。
【0016】
よって、多重一致検出回路の一致検出回路2は、連想メモリ素子C0〜C3のいづれか1つが一致しているときのみ、一致した一致検出線がHighレベルになり、不一致の一致検出線がLow レベルとなり、2以上が一致している場合は、全ての一致検出線A0〜A3がLow レベルとなる。これは、検索一致線M0〜M3の多重一致フィルタ機能を有する回路であって、多重一致フィルタの結果である全値Low レベルをもって多重を検出することができる。
【0017】
以上のように実施に形態1によれば、連想メモリ素子C0〜C3のエントリ数に依らず、全エントリの検索一致信号を同時に検出することが可能になり、このため、多重検索処理の高速化を図れ、特にエントリ数が多い程に効果は顕著となる。
また、一致検出回路2の構成は規則性が極めて高く、異なるエントリ数に対する回路は、既設計回路、既設計レイアウトからの流用、即ち、図2に示すようにエントリ数4の連想メモリ装置からエントリ数8の連想メモリ装置への流用や再利用が容易となり、特定の用途向けに異なるエントリ数の連想メモリ装置を開発する場合の開発期間を短縮できるという効果がある。
【0018】
実施の形態2.
実施の形態2は、図1に示す一致検出回路を2個用いてエントリ数4からエントリ数8に拡張した連想メモリ装置であり、以下、図3に基づいて説明する。この図3は本発明の実施の形態2に係る連想メモリ装置の多重一致検出回路の構成を示す回路図である。なお、図1で説明した実施の形態1と同一又は相当部分には同じ符号を付し説明を省略する。
【0019】
図3に示す多重一致検出回路は、4個の連想メモリ素子C0〜C3にそれぞれ検索一致線M0〜M3を介して接続された一方の一致検出回路H1と、残りの4個の連想メモリ素子C4〜C7にそれぞれ検索一致線M4〜M7を介して接続された他方の一致検出回路H2と、一方の一致検出回路H1に一致検出線A0〜A3を介して接続されたAND回路4〜7(第1のAND回路)と、他方の一致検出回路H2に一致検出線A4〜A7を介して接続されたAND回路8〜11(第2のAND回路)と、AND回路4〜7にそれぞれ接続された一致検出線A4_7と検索一致線M4〜M7との交点に配置されたスイッチング用のN型トランジスタQ101〜Q104(第2の検索一致検出回路)と、AND回路8〜11にそれぞれ接続された一致検出線A0_3と検索一致線M0〜M3との交点に配置されたスイッチング用のN型トランジスタQ201〜Q204(第1の検索一致検出回路)と、AND回路4〜11の出力A01〜A31とA41〜A71が接続されたNOR回路3と、一致検出線A4_7、A0_3にそれぞれプルアップ接続されたダイオード接続のP型トランジスタ(●)とから構成されている。
【0020】
なお、一致検出回路H1,H2にそれぞれ設けられたN型トランジスタQ01 …の位置は図1に示す一致検出回路2と同じである。前述したN型トランジスタQ101〜Q104及びQ201〜Q204は、それぞれのゲート側が検索一致線M0〜M7に、ドレイン側が一致検出線A0〜A7に、ソース側がグランドにそれぞれ接続されている。
【0021】
前記のように構成された実施の形態2の多重一致検出回路の動作を説明する。なお、まず最初に連想メモリ素子C0の保持データのみが検索データと一致したときの動作を説明し、次に連想メモリ素子C0,C1の保持データと検索データとが一致したときの動作を説明し、さらに、連想メモリ素子C0,C4の保持データと検索データとが一致したときの動作を説明する。
【0022】
連想メモリ素子C0の保持データと検索データとが一致している場合、一致検出回路H1側の一致検出線A0〜A3は、実施の形態1と同様に一致検出線A0のみがHighレベルで、他の一致検出線A1〜A3はLow レベルとなり、追加された一致検出線A4_7は、Highレベルのままになっている。また、一致検出回路H2側の一致検出線A4〜A7はHighレベルのままであり、追加された一致検出線A0_3は、検索一致線M0のHighレベルによりN型トランジスタQ201がオンしてLow レベルとなる。ここで、それぞれのAND回路4〜11の出力A01〜A31とA41〜A71を見ると、AND回路4では、入力側が共にHighレベルであるため、その出力A01 がHighレベルとなり、他のAND回路5〜11では、入力側の何れか一方がLow レベルであるため、それぞれの出力A11 〜A31とA41〜A71 がLow レベルとなり、このため、NOR回路3の出力はLow レベルのままとなり、多重検出信号が出力されない状態となっている。
【0023】
次に、連想メモリ素子C0,C1の保持データと検索データとが一致した場合は、一致検出回路H1側の一致検出線A0〜A3が実施の形態1と同様に全てLow レベルとなり、追加された一致検出線A4_7は、Highレベルのままになっている。一致検出回路H2側の一致検出線A4〜A7はHighレベルのままであり、追加された一致検出線A0_3は、検索一致線M0,M1のHighレベルによりN型トランジスタQ201,Q202がオンしてLow レベルとなる。ここで、それぞれのAND回路4〜11の出力を見ると、全てのAND回路4〜11の入力側は、何れか一方がLow レベルであるため、それぞれの出力A01〜A31とA41〜A71がLow レベルとなり、このため、NOR回路3の出力はLow レベルからHighレベルに反転して、多重検出信号として出力される。
【0024】
さらに、連想メモリ素子C0,C4の保持データと検索データとが一致した場合は、一致検出回路H1側の一致検出線A0〜A3は、前記と同様に一致検出線A0のみがHighレベルとなり、他の一致検出線A1〜A3はLow レベルとなり、追加された一致検出線A4_7は、検索一致線M4のHighレベルによりN型トランジスタQ101がオンしてLow レベルとなる。また、一致検出回路H2側の一致検出線A4〜A7は、一致検出線A4のみがHighレベルとなり、他の一致検出線A5〜A7はLow レベルとなり、追加された一致検出線A0_3は、前記と同様に検索一致線M0のHighレベルによりN型トランジスタQ201がオンしてLow レベルとなる。それぞれのAND回路4〜11の出力を見ると、全てのAND回路4〜11の入力側は、何れか一方がLow レベルであるため、全ての出力A01〜A31とA41〜A71がLow レベルとなり、よってNOR回路3の出力はHighレベルとなり、多重検出信号として出力される。
【0025】
以上のように実施の形態2においては、実施の形態1に示す連想メモリ装置からエントリ数を拡張する場合、図2に示す拡張方法に比べ、使用する回路素子を約1/2に削減することができる。また、拡張に対する規則性は実施の形態1と同様に高いため、既設計回路、レイアウトからの流用、再利用が容易になり、特定の用途向けに異なるエントリ数の連想メモリ装置を開発する場合の開発期間を短縮できるという効果がある。
【0026】
なお、前記の実施の形態2では、エントリ数8の連想メモリ装置に適用して説明したが、図3に示す本実施の形態2の多重一致検出回路を一組の基本回路とし、この基本回路をエントリ数に応じて組み合わせるようにしてもよい。例えば、エントリ数16の連想メモリ装置に適用する場合は二組の基本回路で多重一致検出回路を構成し、また、エントリ数24の連想メモリ装置に適用する場合は三組の基本回路で多重一致検出回路を構成する。この場合、AND回路の出力が増加するので、それに対応したNOR回路を用意する。
【0027】
実施の形態3.
実施の形態3は、連想メモリ装置の多重一致検出回路を論理回路で構成したものであり、以下、図4に基づいて説明する。図4は本発明の実施の形態3に係る連想メモリ装置の4ビット用の多重一致検出回路の構成を示す論理回路図である。
【0028】
図4に示す4ビット用の多重一致検出回路は、例えば2つの多重検出入力回路21、22と、これら多重検出入力回路21,22の出力側に設けられた多重検出出力回路23とから構成されている。多重検出入力回路21は、AND回路21aとOR回路21bとからなり、連想メモリ素子(図示せず)からHighレベルの検索一致信号Y1,Y2 が出力されると、AND回路21aが出力Y5をHighレベルにし、検索一致多重検出信号として出力し、一方、OR回路21bは出力Y6をHighレベルにし、検索一致検出信号として出力する。また、検索一致信号Y1,Y2 の何れか一方がHighレベルのときは、OR回路21bが出力Y6をHighレベルにし、検索一致検出信号として出力する。
【0029】
また、もう一方の多重検出入力回路22は、前記と同様にAND回路22aとOR回路22bとからなり、2入力の検索一致信号Y3,Y4 が共にHighレベルのときは、AND回路22aが出力Y7をHighレベルにし、検索一致多重検出信号として出力し、一方、OR回路22bは出力Y8をHighレベルにし、検索一致検出信号Y8として出力する。また、検索一致信号Y3,Y4 の何れか一方がHighレベルのときは、OR回路22bが出力Y8をHighレベルにし、検索一致検出信号として出力する。
【0030】
多重検出出力回路23は、入力端に多重検出入力回路21,22側の出力Y6,Y8 がそれぞれ接続されたAND回路23a及びOR回路23bと、そのAND回路23aの出力と多重検出入力回路21側の出力Y5とが接続されたOR回路23cと、このOR回路23cの出力と多重検出入力回路22側の出力Y7とが接続されたOR回路23dとから構成されている。多重検出入力回路21側の出力Y5と多重検出入力回路22側の出力Y7 の何れか一方がHighレベル(検索一致多重検出信号)のとき、また、多重検出入力回路21側の出力Y6と多重検出入力回路22側の出力Y8とが共にHighレベル(検索一致検出信号)のときは、OR回路23dが出力Y9をHighレベルにし、多重検出信号として出力する。また、多重検出入力回路21側の出力Y6又は多重検出入力回路22側の出力Y8の何れか一方がHighレベル(検索一致検出信号)のときは、OR回路23bが出力Y10 をHighレベルにし、検索一致検出信号として出力する。
【0031】
前記のように構成された4ビットの多重一致検出回路の動作を図5に示す真理値表を参照しながら説明する。
まず、入力の4ビット(検索一致信号Y1〜Y4)全てがLow レベル(検索不一致)の場合を説明する。この場合は、多重検出入力回路21、22が共にAND回路21a、22aとOR回路21b、22bとで構成されているので、多重検出出力回路23は、Low レベルの多重検出信号Y9を出力すると共に、Low レベルの検索一致検出信号Y10 を出力する。
【0032】
次に、入力の4ビットのうち1ビットのみがHighレベル(検索一致)のときを説明する。即ち、4本の検索一致信号Y1〜Y4のうち例えば検索一致信号Y1のみがHighレベルの場合、多重検出入力回路21は、出力Y5をLow レベルにすると共に、出力Y6をHighレベルにし検索一致検出信号として多重検出出力回路23に出力する。もう一方の多重検出入力回路22は、検索一致信号Y3,Y4 が共にLow レベルであるため、出力Y7,Y8 を共にLow レベルにする。多重検出出力回路23は、多重検出入力回路21側の出力Y6のみがHighレベルであるため、出力Y10 のみをHighレベルにし検索一致検出信号として出力する。
【0033】
検索一致信号Y2のみがHighレベルのときは、前記と同様に、多重検出入力回路21は、出力Y5をLow レベルにし、出力Y6をHighレベルにし検索一致検出信号として多重検出出力回路23に出力する。もう一方の多重検出入力回路22は、出力Y7,Y8 を共にLow レベルにする。この時、多重検出出力回路23は、多重検出入力回路21側の出力Y6がHighレベルであるため、出力Y10 のみをHighレベルにし検索一致検出信号として出力する。
【0034】
検索一致信号Y3のみがHighレベルのときは、多重検出入力回路21は出力Y5,Y6 を共にLow レベルにし、もう一方の多重検出入力回路22は、出力Y7をLow レベルにし、出力Y8をHighレベルにし検索一致検出信号として多重検出出力回路23に出力する。この時、多重検出出力回路23は、多重検出入力回路22側の出力Y8がHighレベルであるため、出力Y10 のみをHighレベルにし検索一致検出信号として出力する。
【0035】
検索一致信号Y4のみがHighレベルのときは、前記と同様に、多重検出入力回路21は出力Y5,Y6 を共にLow レベルにし、もう一方の多重検出入力回路22は、出力Y7をLow レベルにし、出力Y8をHighレベルにし検索一致検出信号として多重検出出力回路23に出力する。この時、多重検出出力回路23は、多重検出入力回路22側の出力Y8がHighレベルであるため、出力Y10 のみをHighレベルにし検索一致検出信号として出力する。
【0036】
以上のように入力の4ビットのうち1ビットのみがHighレベル(一致検出)の場合は、多重検出出力回路23の出力Y9がLow レベルになって多重検出なしの状態となり、一方、出力Y10 はHighレベルとなって検索一致の検出状態となる。
【0037】
次に、入力の4ビットのうち2ビットがHighレベル(検索一致)の場合を説明する。
検索一致信号Y1,Y2 がHighレベルのときは、多重検出入力回路21は、出力Y5をHighレベルにし検索一致多重検出信号として多重検出出力回路23に出力すると共に、出力Y6をHighレベルにし検索一致検出信号として多重検出出力回路23に出力する。もう一方の多重検出入力回路22は、検索一致信号Y3,Y4 が共にLow レベルであるため、出力Y7,Y8 を共にLow レベルにする。多重検出出力回路23は、多重検出入力回路21側の出力Y5,Y6 が共にHighレベルであるため、出力Y9をHighレベルにし多重検出信号として出力すると共に、出力Y10 をHighレベルにし検索一致検出信号として出力する。
【0038】
検索一致信号Y1,Y3 がHighレベルのときは、多重検出入力回路21は、出力Y5をLow レベルにし、出力Y6をHighレベルにし検索一致検出信号として多重検出出力回路23に出力する。もう一方の多重検出入力回路22は、出力Y7をLow レベルにし、出力Y8をHighレベルにし検索一致検出信号として多重検出出力回路23に出力する。多重検出出力回路23は、多重検出入力回路21側の出力Y6と多重検出入力回路22側の出力Y8とが共にHighレベルであるため、出力Y9をHighレベルにし多重検出信号として出力し、また、出力Y10 をHighレベルにし検索一致検出信号として出力する。
【0039】
検索一致信号Y1,Y4 がHighレベルのときは、多重検出入力回路21は、出力Y5をLow レベルにし、出力Y6をHighレベルにし検索一致検出信号として多重検出出力回路23に出力する。もう一方の多重検出入力回路22は、出力Y7をLow レベルにし、出力Y8をHighレベルにし検索一致検出信号として多重検出出力回路23に出力する。多重検出出力回路23は、多重検出入力回路21側の出力Y6と多重検出入力回路22側の出力Y8とが共にHighレベルであるため、出力Y9をHighレベルにし多重検出信号として出力し、また、出力Y10 をHighレベルにし検索一致検出信号として出力する。
【0040】
以上3つのパターンを示したが、その他の場合も入力の4ビットのうち2ビットがHighレベル(検索一致)の場合、多重検出出力回路23の出力Y9,Y10が共にHighレベルとなり、検索一致の検出と多重の検出となる。また、入力の4ビットのうち3ビットがHighレベルの場合は、図5の真理値表に示すように多重検出出力回路23の出力Y9,Y10が共にHighレベルとなり、検索一致の検出と多重の検出となる。
【0041】
以上のように実施の形態3においては、2以上の検索一致信号が入力されたとき検索一致多重検出信号及び検索一致検出信号を出力し、1つの検索一致信号が入力されたときは検索一致検出信号を出力する多重検出入力回路21,22と、この多重検出入力回路21,22からの検索一致多重検出信号又は2以上の検索一致検出信号が入力されたとき多重検出信号を出力し、1つの検索一致検出信号が入力されたときはその検索一致検出信号を出力する多重検出出力回路23とで多重一致検出回路を構成したので、論理回路の段数を少ない状態で検索一致信号の多重を高速で検出できるという効果がある。
【0042】
実施の形態4.
実施の形態4は、実施の形態3の4ビット用の多重一致検出回路を用いて16ビット用の多重一致検出回路を構成したものである。図6は本発明の実施の形態4に係る連想メモリ装置の16ビット用の多重一致検出回路の構成を示す論理回路図である。
この図に示す16ビット用の多重一致検出回路は、図4に示す多重検出入力回路21,22と多重検出出力回路23とを組み合わせたものを基本回路30とし、この基本回路30を連想メモリ素子(図示せず)の数(16ビット分)に応じて4個配列し、2個づつの基本回路30の出力側に基本回路30に用いられている多重検出出力回路23(以下、符号を「31」、「32」とする)を配置し、さらに、この2個の多重検出出力回路31、32の出力側に同じ多重検出出力回路33を設けてなっている。
【0043】
1個の多重検出出力回路31に接続されている2個の基本回路30のうち、一方の基本回路30の出力Y9は多重検出出力回路31のOR回路31cに接続され、出力Y10 はAND回路31a及びOR回路31bに接続され、また、他方の基本回路30の出力Y9は多重検出出力回路31のOR回路31dに接続され、出力Y10 はAND回路31a及びOR回路31bに接続されている。
【0044】
また、出力端側に設けられた1個の多重検出出力回路33に接続されている2個の多重検出出力回路31,32のうち、一方の多重検出出力回路31の出力Y91 は出力端側の多重検出出力回路33のOR回路33cに接続され、出力Y101はAND回路33a及びOR回路33bに接続され、また、他方の多重検出出力回路32の出力Y91 は出力端側の多重検出出力回路33のOR回路33dに接続され、出力Y10 はAND回路33a及びOR回路33bに接続されている。
【0045】
前記のように構成された16ビット用の多重一致検出回路においては、実施の形態3と同様に、16本の検索一致信号のうち何れか1本の検索一致信号が入力されたときは、出力端側の多重検出出力回路33の出力Y102のみがHighレベルとなり検索一致検出信号として出力される。また、2本以上の検索一致信号が入力されたときは、その多重検出出力回路33の出力Y92 がHighレベルとなり多重検出信号として出力されると共に、出力Y102がHighレベルとなり検索一致検出信号として出力される。
【0046】
以上のように、極めて簡単にビット数拡張の多重一致検出回路を構成でき、しかも、ビット数の拡張に関わりなく高速で検索一致信号の多重を検出できる。
【0047】
実施の形態5.
図7は本発明の実施の形態5に係る連想メモリ装置の多重一致検出回路の構成を示すブロック図である。
実施の形態5における多重一致検出回路は、有効データ領域検出回路40と、有効データ領域マスク回路41と、有効データ検出回路42とからなっている。前述の有効データ領域検出回路40は、nビットの信号幅をもつ信号in[n-1:0] が入力されると、その入力信号のLSB側から最初の有効を示すビット「1」(検索一致信号)を検索し、この検索により最初の「1」を検出したときはそのビットまでを有効データ領域として有効領域信号m1[n-1:0] を生成する。有効データ領域マスク回路41は、nビットの信号幅をもつ入力信号in[n-1:0] に対し、有効データ領域検出回路40の有効領域信号m1[n-1:0] の反転の論理積をとって有効データ領域の信号をマスクし、信号m2[n-1:0] として出力する。有効データ検出回路42は、有効データ領域マスク回路41によりマスクされた信号m2[n-1:0] に有効データが含まれているかどうかを検出し、その結果を出力する。
【0048】
次に、n=8の場合について本実施の形態5の多重一致検出回路の動作を説明する。なお、正論理を用い、ビット上の「1」を有効データ、「0」を無効データとする。
例えば、8ビットの信号幅をもつ信号in[7:0]=0010_0010 が入力されると、有効データ領域検出回路40は、LSB側から最初の有効データ、この場合では、1ビット目が有効データであるため、入力信号in[7:0]=0010_0010 から有効領域信号m1=0000_0011を生成し、有効データ領域マスク回路41に出力する。この有効データ領域マスク回路41は、入力信号in[7:0]=0010_0010 の個々のビットに対して有効領域信号m1=0000_0011の反転(1111_1100 )との論理積をとって有効データ領域の信号をマスクし、信号m2[7:0]=0010_0000 を出力する。即ち、この出力信号m2[7:0] は以下の式にて表される。
m2[7:0]=in[7:0] &  ̄ m1[7:0] (&:論理積、 ̄:反転)
一方、有効データ検出回路42は、入力された信号m2[7:0] に「1」が含まれているかどうかを検索し、この場合は、2つ以上の有効データが入力信号in[7:0] に含まれているので、出力信号out を「1」にして2つ以上の有効データが含まれていた旨を通知する。本論理は、入力される信号の個々のビットの論理和をとることを意味するものである。即ち、出力信号out は以下の式にて表される。
out=(m2[7]|m2[6]|m2[5]|m2[4]|m2[3]|m2[2]|m2[1]|m2[0])(|:論理和)
【0049】
次に、入力信号がin[7:0]=0000_1000 の場合について説明する。この場合は、LSB側から3ビット目が有効データであるため、有効データ領域検出回路40の出力はm1[7:0]=0000_1111 となり、有効データ領域マスク回路41の出力はm2=0000_0000となる。従って、有効データ検出回路42は、出力信号out を「0」にし、2つ以上の有効データが入力信号in[7:0] に含まれていなかった旨を通知する。
【0050】
実施の形態5における多重一致検出回路は、nビットの信号幅をもつ入力信号in[n-1:0] のLSB側から最初の有効データ「1」までの領域幅を検出して有効領域信号m1[n-1:0] を生成し、前記入力信号in[n-1:0] に対してその有効領域信号m1[n-1:0] の反転の論理積をとって有効データ領域の信号をマスクして信号m2[n-1:0] を生成し、このマスクした信号m2[n-1:0] に有効データが含まれているかどうかを検出してその結果を出力するものであるため、連想メモリ装置のエントリ数に応じた多重一致検出回路を容易に提供できる。
【0051】
(実施例1)
ここで、前述した有効データ領域検出回路40の構成を具体的に説明する。図8は多重一致検出回路の有効データ領域検出回路の一例を示す回路構成図である。
図において、INV1_0〜INV1_7は信号in[0] 〜in[7] がそれぞれ入力されるインバータである。N1_0〜N1_7はNMOSトランジスタで、そのうち、NMOSトランジスタN1_0は、ソース側が内部ノードnet_0 に接続され、ゲート側がインバータINV1_0 の出力端に接続され、ドレイン側が内部ノードnet_1 に接続されている。NMOSトランジスタN1_1は、ソース側が内部ノードnet_1 に接続され、ゲート側がインバータINV1_1の出力端に接続され、ドレイン側が内部ノードnet_2 に接続されている。
【0052】
NMOSトランジスタN1_2は、ソース側が内部ノードnet_2 に接続され、ゲート側がインバータINV1_2の出力端と接続され、ドレイン側が内部ノードnet_3 に接続されている。NMOSトランジスタN1_3は、ソース側が内部ノードnet_3 に接続され、ゲート側がインバータINV1_3の出力端と接続され、ドレイン側が内部ノードnet_4 に接続されている。NMOSトランジスタN1_4は、ソース側が内部ノードnet_4 に接続され、ゲート側がインバータINV1_4の出力端と接続され、ドレイン側が内部ノードnet_5 に接続されている。NMOSトランジスタN1_5は、ソース側が内部ノードnet_5 に接続され、ゲート側がインバータINV1_5の出力端と接続され、ドレイン側が内部ノードnet_6 に接続されている。NMOSトランジスタN1_6は、ソース側が内部ノードnet_6 に接続され、ゲート側がインバータINV1_6の出力端と接続され、ドレイン側が内部ノードnet_7 に接続されている。NMOSトランジスタN1_7は、ソース側が内部ノードnet_7 に接続され、ゲート側がインバータINV1_7の出力端と接続され、ドレイン側がPMOSトランジスタP0のドレインと接続されている。
【0053】
NOはNMOSトランジスタで、ソース側がグランドに接続され、ゲート側がプリチャージ端子pcに接続され、ドレイン側が内部ノードnet_0 に接続されている。P0は前述したPMOSトランジスタで、ソースがエアが電源VDD に接続され、ゲート側がプリチャージ端子pcに接続され、ドレイン側がNMOSトランジスタN1_7のドレインに接続されている。P1_0〜P1_7はPMOSトランジスタで、それぞれのソース側が電源VDD に接続され、それぞれのゲート側がプリチャージ端子pcに接続され、各ドレイン側はそれぞれ内部ノードnet_0〜net_7に接続されている。INV2_0〜INV2_7は出力側に設けられたインバータで、入力側がそれぞれ内部ノードnet_0 〜net_7 と接続されている。
【0054】
次に、前述した有効データ領域検出回路の動作を説明する。
まず、プリチャージ信号線pcがLow レベルになると、NMOSトランジスタNOがオフ状態に、PMOSトランジスタP0及び8個のPMOSトランジスタP1_0〜P1_7がオン状態となる。この時、入力信号in[7] 〜in[0] の値に関係なく、内部ノードnet_0 〜net_7 がHighレベルとなり、各インバータINV2_0〜INV2_7の出力信号out[7]〜out[0]がそれぞれLow レベルとなる。
【0055】
本回路40では、プリチャージ端子pcがプリチャージ状態(Low レベル)の間に入力信号in[7] 〜in[0] の値を確定し、その後、プリチャージ端子pcをHighレベルにすることにより、内部ノードnet_0 〜net_7 に蓄積された電荷を、NMOSトランジスタNO及び8個のNMOSトランジスタN1_0 〜N1_7 を介して放出することにより論理演算を実行するダイナミック論理回路を構成する。
【0056】
この場合、NMOSトランジスタNOはオン状態に、PMOSトランジスタP0及び8個のPMOSトランジスタP1_0〜P1_7がオフ状態となり、入力信号in[7] 〜in[0] が入力されるインバータINV1_0〜INV1_7の出力の値に応じてオンしているNMOSトランジスタN1_0〜N1_7により、インバータINV2_0〜INV2_7の出力信号out[7]〜out[0]が決定される。
【0057】
例えば、図7で述べた入力信号in[7:0]=0010_0010 が入力されたときは、インバータINV1_7〜INV1_0の出力信号がINV1[7:0]=1101_1101 となる。この時、NMOSトランジスタN1_0,N1_2〜N1_4,N1_6及N1_7はオン状態に、その他のNMOSトランジスタN1_1,N1_5はオフ状態となる。一方、内部ノードnet_0 は、入力端子pcのHighレベルによりNMOSトランジスタNOがオン状態となっているため、その内部ノードnet_0 に蓄積された電荷は放出され、Low レベルに遷移する。
【0058】
内部ノードnet_1 は、NMOSトランジスタN1_0がオン状態にあるため、その内部ノードnet_1 に蓄積された電荷はNMOSトランジスタN1_0及びNMOSトランジスタNOを介して放出され、Low レベルに遷移する。また、内部ノードnet_2 は、NMOSトランジスタN1_1がオフ状態にあるため、その内部ノードnet_2 に蓄積された電荷は放出されず、Highレベルのままとなる。さらに、内部ノードnet_3 〜net_7 は、NMOSトランジスタN1_1がオフ状態にあるため、内部ノードnet_2 と同様に蓄積された電荷は放出されず、Highレベルのままとなる。
【0059】
前述したように内部ノードnet_0 及びnet_1 はLow レベルに遷移し、その他の内部ノードnet_2 〜net_7 はHighレベルを保ちつづけるため、インバータINV2_7〜INV2_0を介した出力信号out は[0000_0011] となり、前述した有効領域信号m1と同じ結果の[0000_0011] が出力される。
【0060】
次に、入力信号がin[7:0]=0000_1000 の場合について説明する。
この場合は、インバータINV1_7〜INV1_0の出力信号はINV1[7:0]=1111_0111 となる。この時、NMOSトランジスタN1_3のみがオフ状態となり、その他のNMOSトランジスタはオン状態となる。この時、内部ノードnet_0 〜net_3 に蓄積された電荷はNMOSトランジスタジスタN1_0〜N1_2及びNMOSトランジスタNOを介して放出されてLow レベルに遷移し、その他の内部ノードnet_4 〜net_7 はNMOSトランジスタN1_3がオフ状態にあるため、電荷は放出されず、Highレベルのままとなる。従って、インバータINV2_7〜INV2_0を介して出力される出力信号out は[0000_1111] となり、前述した有効領域信号m1と同じ結果の[0000_1111] が出力される。
【0061】
前記のように構成された有効データ領域検出回路40を多重一致検出回路の一部材として用いたので、容易にビット幅を拡張することが可能になり、連想メモリ装置に組み込むに際して高集積な多重一致検出回路を構成することが可能になる。
【0062】
(実施例2)
本実施例2は図8に示す実施例1の有効データ領域検出回路を複数に分割したものであり、以下、図9に基づいて説明する。図9は実施例2の有効データ領域検出回路を示す回路構成図である。なお、説明を簡略化するために、信号in[0] 〜in[3] が入力される回路をLSB側回路、信号in[4] 〜in[7] が入力される回路をMSB側回路と称する。また、PMOSトランジスタP0,P1_0〜P1_7、NMOSトランジスタN0,N1_0〜N1_7並びに8個のインバータINV1_0〜INV1_7、8個のインバータINV2_0〜INV2_7は実施例1と同じであるため、詳細な説明は割愛する。
【0063】
LSB側回路のPMOSトランジスタP2は、ソース側が電源VDD に接続され、ゲート側がプリチャージ端子pcに接続され、ドレイン側がMSB側のNMOSトランジスタN1_3のドレイン(net_c )に接続されている。内部ノードnet_c はインバータINV3の入力側に接続されている。
MSB側回路のNMOSトランジスタN2は、ゲート側がLSB側回路に設けられたインバータINV3の出力側に接続され、ソース側がNMOSトランジスタN0のドレインに接続され、ドレイン側がNMOSトランジスタN1_4のソース(net_4 )に接続されている。
【0064】
次に、実施例2の有効データ領域検出回路の動作を説明する。
まず、プリチャージ端子pcがLow レベルになると、NMOSトランジスタN0がオフ状態、PMOSトランジスタP0及び8個のPMOSトランジスタP1_0〜P1_7がオン状態となり、入力信号in[7]〜in[0]の値に関係なく内部ノードnet_0 〜net_7 がHighレベルとなり、出力信号out[7]〜out[0]がLow レベルとなる。この時、LSB側回路の内部ノードnet_c もHighレベルにチャージされ、インバータINV3の出力端子CはLow レベルとなり、また、MSB側回路においては、前記のインバータINV3の出力信号CがLow レベルであるため、NMOSトランジスタN2はオフ状態となる。
【0065】
ここで、入力信号in[7:0]=0010_0010が入力されたときは、実施例1と同様にNMOSトランジスタN1_0,N1_2〜N1_4,N1_6及びN1_7がオン状態となり、残り2つのNMOSトランジスタN1_1,N1_5がオフ状態となる。この時、LSB側回路においては、実施例1と同様に内部ノードnet_0 及びnet_1 はLow レベルに遷移し、その他の内部ノードnet_2 ,net_3 ,net_c はHighレベルを保ちつづける。このため、インバータINV3はLow レベルの出力信号Cを保持し、これに伴ってNMOSトランジスタN2もオフ状態を保持する。また、MSB側回路においては、NMOSトランジスタN2がオフ状態であるため、全ての内部ノードnet_4 〜net_7 の電荷がHighレベルのまま保たれる。従って、インバータINV2_1〜INV2_7を介した出力信号out は0000_0011 となり、実施例5に示す有効領域信号m1=0000_0011と同じ結果が出力される。
【0066】
次に、入力信号in[7:0]=0000_1000 の場合について説明する。この場合には、インバータINV1_7〜INV1_0の出力信号はINV1[7:0]=1111_0111 となる。この時、LSB側回路においては、NMOSトランジスタN1_3のみがオフ状態となり、その他のNMOSトランジスタN1_0〜N1_2はオン状態となる。また、内部ノードnet_0 〜net_3 に蓄積された電荷は、NMOSトランジスタN0及びNMOSトランジスタN1_0〜N1_2を介して放出され、Low レベルに遷移する。内部ノードnet_c は、NMOSトランジスタN1_3がオフ状態にあるため、電荷の放出が行われず、Highレベルのまま保たれる。従って、前記と同様にインバータINV3の出力信号CはLow レベルとなり、MSB側の回路においては、NMOSトランジスタN2がオフ状態を保ちつづけるため、インバータINV2_0〜INV2_7を介して出力される出力信号out は0000_1111 となり、実施例5に示す有効領域信号m1=0000_1111と同じ結果が出力される。
【0067】
次に、インバータINV3の出力信号Cが有効になる場合に付いて説明する。
入力信号in[7:0]=0001_0000 の場合、インバータINV1_7〜INV1_0の出力信号は、INV1=1110_1111となり、LSB側回路においては、全てのNMOSトランジスタN1_0〜N1_3がオン状態になり、内部ノードnet_0 〜net_3及びnet_cはNMOSトランジスタN0及びN1_0〜N1_3を介して電荷を放出し、Low レベルとなる。インバータINV3の出力信号CはHighレベルとなり、また、MSB側回路においては、NMOSトランジスタN2はオン状態となり、内部ノードnet_4 に蓄積されていた電荷は、MSB側回路のNMOSトランジスタN0及びN1_4を介して放出され、Low レベルに遷移する。NMOSトランジスタN1_4はオフ状態にあるため、その他の内部ノードnet_5〜net_7の電荷は保持されつづける。従って、8個のインバータINV2_7〜INV2_0を介した出力信号out は0001_1111 となる。
【0068】
以上のように実施例2によれば、ビット幅が広くなり、動作速度が劣化してきた場合においても、本回路を分割することにより、高速処理が可能な多重一致検出回路を提供することができる。
【0069】
以上のように実施の形態における多重一致検出回路は、nビットの信号幅をもつ入力信号in[n-1:0] に対しLSB側から最初の有効データ「1」までの領域幅を検出して有効領域信号m1[n-1:0] を生成し、前記入力信号in[n-1:0] とその有効領域信号m1[n-1:0] の各ビットの論理積をとって無効領域外の信号をマスクした信号m3[n-1:0] を生成し、このマスクした入力信号m3[n-1:0] に対し、バイナリ・エンコードを実行して mビットの信号幅をもつ信号out[m-1:0]を出力するので、連想メモリ装置のエントリ数に応じた多重一致検出回路を容易に提供できる。
【0070】
また、実施例1(図8)及び実施例2(図9)に示された有効データ領域検出回路40を利用しても、多重一致が発生した場合にLSB側の一致結果のみを抽出するので、正確なアドレス値のエンコード結果を出力することが可能となる。
【0071】
実施の形態6.
図10は本発明の実施の形態6に係る連想メモリ装置の多重一致検出回路の構成を示すブロック図である。なお、図7で説明した実施の形態5と同一又は相当部分には同じ符号を付し説明を省略する。
【0072】
実施の形態6の多重一致検出回路は、選択回路45と、選択回路45の出力信号が入力される有効データ領域検出回路40と、選択回路45の出力信号及び有効データ領域検出回路40の有効領域信号m1[n-1:0] が入力される無効データ領域マスク回路43と、無効データ領域マスク回路43の信号m3[n-1:0] に対してバイナリ・エンコードを実行して mビットの信号幅をもつ信号out[m-1:0]を出力するエンコーダ回路44と、選択回路45の出力信号及び有効データ領域検出回路40の有効領域信号m1[n-1:0] が入力される有効データ領域マスク回路41と、有効データ領域マスク回路41の出力信号m2[n-1:0] を保持するデータ保持回路46とからなっている。
【0073】
前述した無効データ領域マスク回路43は、入力信号in[n-1:0] と有効領域信号m1[n-1:0] の各ビットをそれぞれ論理積をとって無効領域の信号をマスクし、それを信号m3[n-1:0] として出力する。エンコーダ回路44は、無効データ領域マスク回路43によりマスクされた信号m3[n-1:0] に対し、バイナリ・エンコードを実行して mビットの信号幅をもつ信号out[m-1:0]を出力する。
【0074】
選択回路45は、nビットの信号幅をもつ入力信号in[n-1:0] を出力し、データ保持回路46に保持された信号m2[n-1:0] の中に有効データ「1」が含まれているときに選択して信号m4[n-1:0] として出力する。データ保持回路46は、フリップ・フロップ等で構成される記憶素子からなり、入力信号m2[n-1:0] を一定期間保持する機能を有している。
【0075】
次に、n=8の場合について本実施の形態6の多重一致検出回路の動作を説明する。なお、正論理を用い、正論理を用い、ビット上の「1」を有効データ、「0」を無効データとする。
例えば、8ビットの信号幅をもつ信号in[7:0]=0010_0010 が入力されると、選択回路7がその入力信号in[7:0] を選択し、有効データ領域検出回路40、有効データ領域マスク回路43及び無効データ領域マスク回路41にそれぞれ出力する。
【0076】
この時、有効データ領域検出回路40は、LSB側から最初の有効データ、この場合では、1ビット目が有効データであるため、入力信号in[7:0]=0010_0010 から有効領域信号m1=0000_0011を生成し、無効データ領域マスク回路43に出力する。この無効データ領域マスク回路43は、入力信号in[7:0]=0010_0010 の個々のビットと有効領域信号m1=0000_0011の個々のビットをそれぞれ論理積をとって無効データ領域の信号をマスクし、エンコーダ回路44に信号m3[7:0]=0000_0010 を出力する。エンコーダ回路44は、入力された信号m3[7:0] のバイナリ・エンコードを実行し、信号out[2:0]=001を出力する。この「001」 は、入力信号in[7:0] の1ビット目に有効データ(検索一致信号)があった旨を知らせている。
【0077】
一方、有効データ領域マスク回路41は、入力信号in[7:0]=0010_0010 の個々のビットに対して有効領域信号m1=0000_0011の反転(1111_1100)との論理積をとって有効データ領域の信号をマスクし、出力信号m2[7:0]=0010_0000 をデータ保持回路46に保持させる。選択回路45は、データ保持回路6に保持された信号m4[7:0]=0010_0000 が入力されたときに選択し、有効データ領域検出回路40、有効データ領域マスク回路41及び無効データ領域マスク回路43にそれぞれ出力する。
【0078】
信号m4[7:0]=0010_0000 が入力された有効データ領域検出回路40は、有効領域信号m1=0011_1111を生成して(5ビット目がLSB側の最初の有効データ)、無効データ領域マスク回路43に出力し、無効データ領域マスク回路43は、入力信号m4[7:0]=0010_0000 の個々のビットと有効領域信号m1=0011_1111の個々のビットをそれぞれ論理積をとって無効データ領域の信号をマスクし、エンコーダ回路44に信号m3[7:0]=0000_0010 を出力する。エンコーダ回路44は、入力された信号m3[7:0] のバイナリ・エンコードを実行し、信号out[2:0]=101を出力する。この場合は、入力信号in[7:0] の5ビット目に有効データ(検索一致信号)があった旨を知らせている。
【0079】
一方、有効データ領域マスク回路41は、選択回路45の出力信号m4[7:0]=0010_0000 の個々のビットに対して有効領域信号m1=0011_1111の反転(1100_0000)との論理積をとって有効データ領域の信号をマスクし、出力信号m2[7:0]=0000_0000 をデータ保持回路46出力する。本実施の形態では、入力信号in[7:0]=0010_0010 に含まれる有効表示のビット数が2であったため、有効データ領域マスク回路41の出力信号m2[7:0]が「0000_0000」となった時点で演算を終了する。入力信号in[7:0] に含まれる有効表示のビット数がN個ある場合には、N回、前述の演算を繰り返すことにより、LSB側からのアドレスのエンコード値を逐次、正確に出力することが可能になる。
【0080】
以上のように実施の形態によれば、実施例1、2に示した有効データ領域検出回路40を利用し、かつ、小規模な回路の増加のみで、多重一致が発生した場合にもLSB側の一致結果のみを抽出し、正確なアドレス値のエンコード結果を逐次、全て出力することが可能となる。
【0081】
【発明の効果】
以上のように本発明によれば、入力側に検索一致信号をそれぞれ伝送する複数の検索一致線を有し、出力側に検索一致線にそれぞれ対応した同じ本数の一致検出線を有し、1つの検索一致信号が何れかの検索一致線を介して入力されたときは、その検索一致線に対応した一致検出線を除く他の一致検出線上をLow レベルにし、2以上の検索一致信号が何れかの検索一致線を介してそれぞれ入力されたときは、全ての一致検出線上をLow レベルにする2つの一致検出回路と、一方の一致検出回路の各検索一致線に挿入され、この検索一致線の何れかに検索一致信号が流れたとき出力側を High レベルから Low レベルに反転する第1の検索一致検出回路と、他方の一致検出回路の各検索一致線に挿入され、この検索一致線の何れかに検索一致信号が流れたとき出力側を High レベルから Low レベルに反転する第2の検索一致検出回路と、一方の一致検出回路の各一致検出線にそれぞれ挿入され、それぞれの一致検出線上のレベルと第2の検索一致検出回路の出力レベルとの論理積をとる複数の第1のAND回路と、他方の一致検出回路の各一致検出線にそれぞれ挿入され、それぞれの一致検出線上のレベルと第1の検索一致検出回路の出力レベルとの論理積をとる複数の第2のAND回路と、第1及び第2のAND回路の出力側に設けられたNOR回路とからなる多重一致検出回路を用いているので、連想メモリ素子のエントリ数に依らずに全エントリの検索一致信号を同時に検出することが可能になり、このため、多重検索処理の高速化を図れ、特にエントリ数が多い程に効果は顕著となる。一致検出回路の構成は規則性が極めて高く、異なるエントリ数に対する回路では、既設計回路、既設計レイアウトからの流用や再利用が容易となり、特定の用途向けに異なるエントリ数の連想メモリ装置を開発する場合の開発期間を短縮できるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係る連想メモリ装置の多重一致検出回路の構成を示す回路図である。
【図2】エントリ数4を8に変更したときの連想メモリ装置の多重一致検出回路の構成を示す回路図である。
【図3】本発明の実施の形態2に係る連想メモリ装置の多重一致検出回路の構成を示す回路図である。
【図4】本発明の実施の形態3に係る連想メモリ装置の4ビット用の多重一致検出回路の構成を示す論理回路図である。
【図5】実施の形態3における多重一致検出回路の真理値表を示す図である。
【図6】本発明の実施の形態4に係る連想メモリ装置の16ビット用の多重一致検出回路の構成を示す論理回路図である。
【図7】本発明の実施の形態5に係る連想メモリ装置の多重一致検出回路の構成を示すブロック図である。
【図8】実施の形態5における有効データ領域検出回路の実施例を示す回路構成図である。
【図9】有効データ領域検出回路の他の実施例を示す回路構成図である。
【図10】本発明の実施の形態6に係る連想メモリ装置の多重一致検出回路の構成を示すブロック図である。
【図11】従来の連想メモリ装置の多重一致検出回路の構成を示す論理回路図である。
【符号の説明】
1 連想メモリ素子群、2,H1,H2 一致検出回路、3 NOR回路、
21,22 多重検出入力回路、23,31〜33 多重検出出力回路、
30 基本回路、40 有効データ領域検出回路、41 有効データ領域マスク回路、42 有効データ検出回路、43 無効データ領域マスク回路、
44 エンコーダ回路、45 選択回路、46 データ保持回路。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an associative memory device, and more particularly to a multiple coincidence detection circuit that generates multiple detection signals at high speed.
[0002]
[Prior art]
FIG. 11 is a logic circuit diagram showing a configuration of a multiple coincidence detection circuit of a conventional content addressable memory device. The associative memory device shown in this figure includes, for example, an associative memory element group 50 having 256 associative memory elements provided corresponding to 256 entries, and 256 ANDs respectively arranged on the output side of each associative memory element. A circuit 51, an 8-bit counter 52, a decoder 53 for sequentially setting each signal obtained by decoding the counter output to 256 bits to a high level, and an OR circuit 54 for logically summing the high level outputs of the respective AND circuits 51; And a 2-bit counter 55 that counts when the output of the OR circuit 54 is at a high level. A conventional multiple coincidence detection circuit is constituted by circuits other than the associative memory element group 50.
[0003]
In the conventional associative memory device configured as described above, when search data is given to the associative memory element group 50, each associative memory element compares the held data with the search data, and the two data are identical. If it does, the search match signals M0, M1,... At high level are output. On the other hand, the 8-bit counter 52 (256 = 2)8) The 2-bit counter 55 is initialized.
[0004]
When the clock is supplied to the 8-bit counter 52, the decoder 53 sequentially sets each signal obtained by decoding the counter output to 256 bits to the High level, and outputs it to each AND circuit 51. Each AND circuit 51 sets the output to the high level when the high level decode signal and the search match signal are input, and the OR circuit 54 outputs the signal from the AND circuit 51 to the 2-bit counter 55. The 2-bit counter 55 counts when the output of the OR circuit 54 is at a high level, and when the count is counted two times, the output is set at a high level. That is, when two or more search coincidence signals are input, the upper bits of the 2-bit counter 55 are at a high level, so this signal is output as a multiple detection signal.
[0005]
[Problems to be solved by the invention]
The above-described conventional multiple match detection circuit sequentially searches for search match signals for a plurality of entries, and outputs multiple detection signals when two or more search match signals are confirmed. Since it takes time to determine the presence or absence of the memory, and the configuration of the 8-bit counter 52 and the decoder 53 differs depending on the number of entries, the development of an associative memory device having a different number of entries based on the associative memory device having a certain number of entries. However, there is a problem that reusability is difficult.
[0006]
[Means for Solving the Problems]
  The multiple coincidence detection circuit of the associative memory device according to the present invention has a plurality of associative memory elements each having retained data and outputting a retrieval coincidence signal when the retained data and the retrieved data coincide with each other. The input side has a plurality of search match lines for transmitting search match signals, and the output side has a search match lineCorresponded to eachWhen there are the same number of match detection lines and one search match signal is input via any of the search match lines, the search match lineCorresponding toOn other match detection lines exceptLowWhen two or more search match signals are input via any search match line, each of the two match detection circuits that set all match detection lines to the low level and one of the match detection circuits Each search of the first search match detection circuit that is inserted into the search match line and inverts the output side from the high level to the low level when the search match signal flows in any of the search match lines, and the other match detection circuit A second search match detection circuit that is inserted into the match line and inverts the output side from a high level to a low level when a search match signal flows through any of the search match lines, and each match detection of one match detection circuit A plurality of first AND circuits that are respectively inserted into the lines and take the logical product of the level on each match detection line and the output level of the second search match detection circuit, and each match detection line of the other match detection circuit Each inserted A plurality of second AND circuits that take the logical product of the levels on the respective match detection lines and the output levels of the first search match detection circuits, and NOR provided on the output side of the first and second AND circuits And when two or more search match signals are respectively input to any one of the two match detection circuits via any search match line, or to each of the two match detection circuits. When one search match signal is input via one of the search match lines, the outputs of the first and second AND circuits are set to the low level, and a multiple detection signal is output from the NOR circuit.
[0007]
  In the present invention,For example, when two or more search match signals are input to one match detection circuit via any search match line, all match detection lines on the output side of one match detection circuit are displayed. Low Level, and the output of the first AND circuit Low To level. On the other hand, the output level of the first search match detection circuit also depends on the input of the search match signal. High From level Low Invert to the level and the output of the second AND circuit Low To level. At this time, the outputs of the first and second AND circuits are Low Because of the level, a multiple detection signal is output from the NOR circuit. Also, when one search match signal is input to each of the two match detection circuits via any search match line, the respective outputs of the first and second AND circuits are Low The multiple detection signal is output from the NOR circuit.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
Embodiment 1 FIG.
1 is a circuit diagram showing a configuration of a multiple coincidence detection circuit of an associative memory device according to Embodiment 1 of the present invention. In order to simplify the description, the associative memory device having four entries will be described.
The multiple match detection circuit of the first embodiment shown in FIG. 1 includes a match detection circuit 2 connected to four associative memory elements C0 to C3 constituting the associative memory element group 1 via search match lines M0 to M3, respectively. The NOR circuit 3 is connected to the coincidence detection circuit 2 via coincidence detection lines A0 to A3.
[0009]
The coincidence detection circuit 2 is connected to a switching N-type transistor Q01 disposed at the intersection of the search coincidence lines M0 to M3 and the coincidence detection lines A0 to A3, and is pulled up to the respective coincidence detection lines A0 to A3. And a diode-connected P-type transistor (●). The associative memory elements C0 to C3 described above each have retained data, and output a high level search match signal to the match detection circuit 2 via the search match lines M0 to M3 when they match the search data.
[0010]
As shown in the figure, the N-type transistor Q01 has a gate side connected to the search match lines M0 to M3, a drain side connected to the match detection lines A0 to A3, and a source side connected to the ground. Further, the N-type transistors Q01 are not arranged at the intersections of all the search match lines M0 to M3 and the match detection lines A0 to A3, but are arranged based on a certain rule. Explain the rules.
[0011]
Although one coincidence detection line has intersections with four search coincidence lines, the N-type transistors Q01... Are arranged except for one of the four intersections. The intersection with the search match line to be excluded is made different for all match detection lines. For example, the match detection line A0 is arranged at the intersection of the other search match lines M1, M2, and M3 except the search match line M0, and the match detection line A1 is the search match lines M0, M2, excluding the search match line M1 It is placed at the intersection with M3, and the match detection line A2 is placed at the intersection with the search match lines M0, M1, M3 excluding the search match line M2, and the match detection line A3 The search match lines M0, M1, and M2 are arranged at the intersections.
[0012]
The operation of the multiple match detection circuit of the first embodiment configured as described above will be described. First, the operation when only the data held in the associative memory element C0 matches the search data will be described. Next, the data held in the associative memory elements C0 and C1 match the search data. The operation will be described.
[0013]
Before the search operation, the search match lines M0 to M3 are at a low level, the match detection lines A0 to A3 are at a high level by pull-up, and the output of the NOR circuit 3 is at a low level. Here, when the search data is input and the search operation is completed, since the data held in the associative memory element C0 matches the search data as described above, only the search match line M0 becomes the high level, and the remaining search Match lines M1 to M3 remain at low level.
[0014]
At this time, the N-type transistors Q10, Q20, and Q30 are turned on when the search match line M0 becomes High level, and the remaining N-type transistors Q01 to QO3, Q12, Q13, Q21, Q23, Q31, and Q32 are turned off. It is left. As a result, the coincidence detection lines A1 to A3 connected to the N-type transistors Q10, Q20, and Q30 are at the low level, and the remaining coincidence detection lines A0 remain at the high level. Therefore, the output of the NOR circuit 3 is at the low level. It remains. Even if another search match line is at a high level, similarly, only one match detection line is at a high level, so that the output of the NOR circuit 3 is at a low level.
[0015]
Next, when the data held in the associative memory elements C0 and C1 match the search data, the search match lines M2 and M3 remain at the low level, and the search match lines M0 and M1 become the high level. At this time, the N-type transistors Q10, Q20, Q30 and Q01, Q21, Q31 are turned on, and all of the coincidence detection lines A0 to A3 connected to them are at the low level. For this reason, the output of the NOR circuit 3 is inverted to a high level and output as a multiple detection signal. Even in other combinations in which two or more of the search match lines M0 to M3 are at the high level, all of the match detection lines A0 to A3 are at the low level, so that the output of the NOR circuit 3 becomes the high level and is multiplexed as described above. A detection signal is output.
[0016]
Therefore, the coincidence detection circuit 2 of the multiple coincidence detection circuit has a coincidence coincidence detection line at a high level and a disagreement coincidence detection line at a low level only when one of the associative memory elements C0 to C3 is coincident. When two or more coincide, all coincidence detection lines A0 to A3 are at a low level. This is a circuit having a multiple match filter function of the search match lines M0 to M3, and can detect multiples with the all-value low level as a result of the multiple match filter.
[0017]
As described above, according to the first embodiment, it is possible to simultaneously detect search match signals of all entries regardless of the number of entries in the associative memory elements C0 to C3. The effect becomes more remarkable as the number of entries increases.
Further, the configuration of the coincidence detection circuit 2 is extremely regular, and circuits for different numbers of entries are diverted from already designed circuits and already designed layouts, that is, entries from an associative memory device having 4 entries as shown in FIG. It is easy to divert and reuse the associative memory device of the number 8, and it is possible to shorten the development period when developing the associative memory device having a different number of entries for a specific application.
[0018]
Embodiment 2. FIG.
The second embodiment is an associative memory device that uses two match detection circuits shown in FIG. 1 and expands from the number of entries 4 to the number of entries 8, and will be described below with reference to FIG. FIG. 3 is a circuit diagram showing the configuration of the multiple match detection circuit of the associative memory device according to the second embodiment of the present invention. In addition, the same code | symbol is attached | subjected to the same or equivalent part as Embodiment 1 demonstrated in FIG. 1, and description is abbreviate | omitted.
[0019]
The multiple match detection circuit shown in FIG. 3 includes one match detection circuit H1 connected to four associative memory elements C0 to C3 via search match lines M0 to M3, respectively, and the remaining four associative memory elements C4. To the other match detection circuit H2 connected to search match lines M4 to M7, respectively, and AND circuits 4 to 7 (first circuits) connected to one match detection circuit H1 via match detection lines A0 to A3. 1 AND circuit), AND circuit 8 to 11 (second AND circuit) connected to the other match detection circuit H2 via match detection lines A4 to A7, and AND circuits 4 to 7, respectively. N-type transistors for switching Q101 to Q104 (second search match detection circuit) disposed at the intersections of the match detection line A4_7 and the search match lines M4 to M7, and match detection connected to the AND circuits 8 to 11, respectively. For switching placed at the intersection of line A0_3 and search match lines M0-M3 Type transistors Q201 to Q204 (first search coincidence detection circuit), NOR circuit 3 to which outputs A01 to A31 and A41 to A71 of AND circuits 4 to 11 are connected, and coincidence detection lines A4_7 and A0_3, respectively. And a diode-connected P-type transistor (●).
[0020]
The positions of the N-type transistors Q01... Provided in the coincidence detection circuits H1 and H2 are the same as those of the coincidence detection circuit 2 shown in FIG. In the N-type transistors Q101 to Q104 and Q201 to Q204 described above, the gate side is connected to the search match lines M0 to M7, the drain side is connected to the match detection lines A0 to A7, and the source side is connected to the ground.
[0021]
The operation of the multiple match detection circuit of the second embodiment configured as described above will be described. First, the operation when only the data held in the associative memory element C0 matches the search data will be described, and then the operation when the data held in the associative memory elements C0 and C1 match the search data will be described. Further, the operation when the data held in the associative memory elements C0 and C4 and the search data match will be described.
[0022]
When the data held in the associative memory element C0 and the search data match, the match detection lines A0 to A3 on the match detection circuit H1 side are the same as those in the first embodiment, and only the match detection line A0 is at the high level. The coincidence detection lines A1 to A3 are at the low level, and the added coincidence detection line A4_7 remains at the high level. Also, the match detection lines A4 to A7 on the match detection circuit H2 side remain at the high level, and the added match detection line A0_3 is set to the low level when the N-type transistor Q201 is turned on by the high level of the search match line M0. Become. Here, when the outputs A01 to A31 and A41 to A71 of the AND circuits 4 to 11 are viewed, since both the input sides of the AND circuit 4 are at the High level, the output A01 becomes the High level, and the other AND circuits 5 11 to 11, since either one of the input sides is at the low level, the respective outputs A11 to A31 and A41 to A71 are at the low level. Therefore, the output of the NOR circuit 3 remains at the low level, and the multiple detection signal Is not output.
[0023]
  Next, when the data held in the associative memory elements C0 and C1 match the search data, the coincidence detection lines A0 to A3 on the coincidence detection circuit H1 side are all the same as in the first embodiment.LowThe added coincidence detection line A4_7 remains at the high level. The coincidence detection lines A4 to A7 on the coincidence detection circuit H2 side remain at the high level, and the added coincidence detection line A0_3 is low because the N-type transistors Q201 and Q202 are turned on by the high level of the search coincidence lines M0 and M1. Become a level. Here, looking at the outputs of the AND circuits 4 to 11, since either one of the input sides of all the AND circuits 4 to 11 is at a low level, the outputs A01 to A31 and A41 to A71 are low. Therefore, the output of the NOR circuit 3 is inverted from the low level to the high level and output as a multiple detection signal.
[0024]
Further, when the data held in the associative memory elements C0 and C4 and the search data match, the match detection lines A0 to A3 on the match detection circuit H1 side are only in the match detection line A0 as described above. The coincidence detection lines A1 to A3 are at the low level, and the added coincidence detection line A4_7 is turned to the low level when the N-type transistor Q101 is turned on by the high level of the search coincidence line M4. In addition, the match detection lines A4 to A7 on the match detection circuit H2 side are such that only the match detection line A4 is at the high level, the other match detection lines A5 to A7 are at the low level, and the added match detection line A0_3 is as described above. Similarly, the N-type transistor Q201 is turned on by the high level of the search match line M0 and becomes the low level. Looking at the outputs of the AND circuits 4 to 11, since either one of the input sides of the AND circuits 4 to 11 is at a low level, all the outputs A01 to A31 and A41 to A71 are at a low level. Therefore, the output of the NOR circuit 3 becomes a high level and is output as a multiple detection signal.
[0025]
As described above, in the second embodiment, when the number of entries is expanded from the associative memory device shown in the first embodiment, the number of circuit elements to be used is reduced to about ½ compared to the expansion method shown in FIG. Can do. Further, since the regularity for expansion is as high as in the first embodiment, it is easy to divert and reuse from the already designed circuit and layout, and in the case of developing an associative memory device having a different number of entries for a specific application. This has the effect of shortening the development period.
[0026]
In the second embodiment, the description is applied to the associative memory device having eight entries. However, the multiple match detection circuit of the second embodiment shown in FIG. May be combined according to the number of entries. For example, when applied to an associative memory device with 16 entries, a multiple match detection circuit is configured with two sets of basic circuits, and when applied to an associative memory device with 24 entries, multiple matches with three sets of basic circuits. A detection circuit is configured. In this case, since the output of the AND circuit increases, a corresponding NOR circuit is prepared.
[0027]
Embodiment 3 FIG.
In the third embodiment, the multiple coincidence detection circuit of the associative memory device is configured by a logic circuit, and will be described below with reference to FIG. FIG. 4 is a logic circuit diagram showing a configuration of a 4-bit multiple coincidence detection circuit of the associative memory device according to Embodiment 3 of the present invention.
[0028]
The 4-bit multiple coincidence detection circuit shown in FIG. 4 includes, for example, two multiple detection input circuits 21 and 22 and a multiple detection output circuit 23 provided on the output side of these multiple detection input circuits 21 and 22. ing. The multiple detection input circuit 21 includes an AND circuit 21a and an OR circuit 21b. When a high level search match signal Y1, Y2 is output from an associative memory element (not shown), the AND circuit 21a outputs the output Y5 to High. The OR circuit 21b sets the output Y6 to the high level and outputs it as a search match detection signal. When either one of the search match signals Y1 and Y2 is at a high level, the OR circuit 21b sets the output Y6 to a high level and outputs it as a search match detection signal.
[0029]
The other multiple detection input circuit 22 includes an AND circuit 22a and an OR circuit 22b as described above. When the two-input search match signals Y3 and Y4 are both at the high level, the AND circuit 22a outputs Y7. Is set to a high level and output as a search match multiple detection signal, while the OR circuit 22b sets the output Y8 to a high level and outputs it as a search match detection signal Y8. When either one of the search match signals Y3 and Y4 is at a high level, the OR circuit 22b sets the output Y8 to a high level and outputs it as a search match detection signal.
[0030]
The multiple detection output circuit 23 includes an AND circuit 23a and an OR circuit 23b each having an input terminal connected to outputs Y6 and Y8 on the multiple detection input circuits 21 and 22 side, and an output of the AND circuit 23a and the multiple detection input circuit 21 side. Is connected to the output Y5, and the OR circuit 23d is connected to the output of the OR circuit 23c and the output Y7 on the multiple detection input circuit 22 side. When either one of the output Y5 on the multiple detection input circuit 21 side or the output Y7 on the multiple detection input circuit 22 side is at a high level (search match multiple detection signal), the multiple detection input circuit 21 side output Y6 and multiple detection When both of the outputs Y8 on the input circuit 22 side are at a high level (search match detection signal), the OR circuit 23d sets the output Y9 to a high level and outputs it as a multiple detection signal. When either the output Y6 on the multiple detection input circuit 21 side or the output Y8 on the multiple detection input circuit 22 side is at the high level (search match detection signal), the OR circuit 23b sets the output Y10 to the high level to search. Output as coincidence detection signal.
[0031]
The operation of the 4-bit multiple match detection circuit configured as described above will be described with reference to the truth table shown in FIG.
First, a case will be described in which all four input bits (search match signals Y1 to Y4) are at a low level (search mismatch). In this case, since the multiple detection input circuits 21 and 22 are both composed of AND circuits 21a and 22a and OR circuits 21b and 22b, the multiple detection output circuit 23 outputs a low-level multiple detection signal Y9. Low level search match detection signal Y10 is output.
[0032]
Next, a case where only one bit of the four input bits is at the high level (search match) will be described. That is, of the four search match signals Y1 to Y4, for example, when only the search match signal Y1 is at the high level, the multiple detection input circuit 21 sets the output Y5 to the low level and the output Y6 to the high level to detect the search match. The signal is output to the multiple detection output circuit 23 as a signal. Since the search match signals Y3 and Y4 are both at the low level, the other multiple detection input circuit 22 sets the outputs Y7 and Y8 to the low level. Since only the output Y6 on the multiple detection input circuit 21 side is at the high level, the multiple detection output circuit 23 sets only the output Y10 to the high level and outputs it as a search match detection signal.
[0033]
When only the search match signal Y2 is at the high level, the multiple detection input circuit 21 sets the output Y5 to the low level and the output Y6 to the high level, and outputs it to the multiple detection output circuit 23 as the search match detection signal. . The other multiple detection input circuit 22 sets the outputs Y7 and Y8 to low level. At this time, since the output Y6 on the multiple detection input circuit 21 side is at the high level, the multiple detection output circuit 23 sets only the output Y10 to the high level and outputs it as a search match detection signal.
[0034]
When only the search match signal Y3 is at the high level, the multiple detection input circuit 21 sets both the outputs Y5 and Y6 to the low level, and the other multiple detection input circuit 22 sets the output Y7 to the low level and the output Y8 to the high level. And output to the multiple detection output circuit 23 as a search match detection signal. At this time, since the output Y8 on the multiple detection input circuit 22 side is at a high level, the multiple detection output circuit 23 sets only the output Y10 to a high level and outputs it as a search match detection signal.
[0035]
When only the search match signal Y4 is at the high level, the multiple detection input circuit 21 sets both the outputs Y5 and Y6 to the low level, and the other multiple detection input circuit 22 sets the output Y7 to the low level, as described above. The output Y8 is set to the high level and is output to the multiple detection output circuit 23 as a search match detection signal. At this time, since the output Y8 on the multiple detection input circuit 22 side is at a high level, the multiple detection output circuit 23 sets only the output Y10 to a high level and outputs it as a search match detection signal.
[0036]
As described above, when only one bit out of the four input bits is at the high level (coincidence detection), the output Y9 of the multiple detection output circuit 23 is at the low level and there is no multiple detection, while the output Y10 is It becomes a high level and a search match is detected.
[0037]
Next, a case where 2 bits out of the 4 input bits are at the high level (search match) will be described.
When the search match signals Y1 and Y2 are at the high level, the multiple detection input circuit 21 sets the output Y5 to the high level and outputs it as the search match multiple detection signal to the multiple detection output circuit 23. It outputs to the multiple detection output circuit 23 as a detection signal. Since the search match signals Y3 and Y4 are both at the low level, the other multiple detection input circuit 22 sets the outputs Y7 and Y8 to the low level. The multiple detection output circuit 23 sets the output Y9 to the high level and outputs it as the multiple detection signal because the outputs Y5 and Y6 on the multiple detection input circuit 21 side are both at the high level, and also sets the output Y10 to the high level and the search match detection signal. Output as.
[0038]
When the search match signals Y1, Y3 are at the high level, the multiple detection input circuit 21 sets the output Y5 to the low level and the output Y6 to the high level, and outputs it to the multiple detection output circuit 23 as the search match detection signal. The other multiple detection input circuit 22 sets the output Y7 to low level and the output Y8 to high level, and outputs it to the multiple detection output circuit 23 as a search match detection signal. Since the output Y6 on the multiple detection input circuit 21 side and the output Y8 on the multiple detection input circuit 22 side are both at the high level, the multiple detection output circuit 23 sets the output Y9 to the high level and outputs it as a multiple detection signal. Output Y10 is set to High level and output as a search match detection signal.
[0039]
When the search match signals Y1 and Y4 are at the high level, the multiple detection input circuit 21 sets the output Y5 to the low level and the output Y6 to the high level, and outputs it to the multiple detection output circuit 23 as the search match detection signal. The other multiple detection input circuit 22 sets the output Y7 to low level and the output Y8 to high level, and outputs it to the multiple detection output circuit 23 as a search match detection signal. Since the output Y6 on the multiple detection input circuit 21 side and the output Y8 on the multiple detection input circuit 22 side are both at the high level, the multiple detection output circuit 23 sets the output Y9 to the high level and outputs it as a multiple detection signal. Output Y10 is set to High level and output as a search match detection signal.
[0040]
Although the above three patterns are shown, in other cases, when 2 bits out of the 4 input bits are at the high level (search match), the outputs Y9 and Y10 of the multiple detection output circuit 23 are both at the high level, and the search match is found. Detection and multiple detection. When 3 bits out of the 4 input bits are at the high level, the outputs Y9 and Y10 of the multiple detection output circuit 23 are both at the high level as shown in the truth table of FIG. It becomes detection.
[0041]
As described above, in the third embodiment, the search match multiple detection signal and the search match detection signal are output when two or more search match signals are input, and the search match detection is performed when one search match signal is input. Multiple detection input circuits 21 and 22 for outputting signals, and when a search match multiple detection signal or two or more search match detection signals are input from the multiple detection input circuits 21 and 22, a multiple detection signal is output. When a search match detection signal is input, a multiple match detection circuit is configured with the multiple detection output circuit 23 that outputs the search match detection signal, so that the search match signal can be multiplexed at a high speed with a small number of logic circuits. There is an effect that it can be detected.
[0042]
Embodiment 4 FIG.
In the fourth embodiment, a 16-bit multiple match detection circuit is configured using the 4-bit multiple match detection circuit of the third embodiment. FIG. 6 is a logic circuit diagram showing a configuration of a 16-bit multiple coincidence detection circuit of the associative memory device according to Embodiment 4 of the present invention.
In the 16-bit multiple coincidence detection circuit shown in this figure, a combination of the multiple detection input circuits 21 and 22 and the multiple detection output circuit 23 shown in FIG. 4 is used as a basic circuit 30, and this basic circuit 30 is used as an associative memory element. 4 are arranged in accordance with the number (not shown) (16 bits), and multiple detection output circuits 23 (hereinafter referred to as “symbols”) used for the basic circuit 30 are provided on the output side of two basic circuits 30 each. 31 ”and“ 32 ”), and the same multiple detection output circuit 33 is provided on the output side of the two multiple detection output circuits 31 and 32.
[0043]
Of the two basic circuits 30 connected to one multiple detection output circuit 31, the output Y9 of one basic circuit 30 is connected to the OR circuit 31c of the multiple detection output circuit 31, and the output Y10 is the AND circuit 31a. And the output Y9 of the other basic circuit 30 is connected to the OR circuit 31d of the multiple detection output circuit 31, and the output Y10 is connected to the AND circuit 31a and the OR circuit 31b.
[0044]
Of the two multiple detection output circuits 31 and 32 connected to one multiple detection output circuit 33 provided on the output end side, the output Y91 of one of the multiple detection output circuits 31 is on the output end side. The output Y101 is connected to the AND circuit 33a and the OR circuit 33b, and the output Y91 of the other multiple detection output circuit 32 is connected to the multiple detection output circuit 33 on the output end side. Connected to the OR circuit 33d, the output Y10 is connected to the AND circuit 33a and the OR circuit 33b.
[0045]
In the 16-bit multiple match detection circuit configured as described above, when any one of the 16 search match signals is input, as in the third embodiment, an output is made. Only the output Y102 of the multiple detection output circuit 33 on the end side becomes High level and is output as a search match detection signal. When two or more search match signals are input, the output Y92 of the multiple detection output circuit 33 becomes a high level and is output as a multiple detection signal, and the output Y102 becomes a high level and is output as a search match detection signal. Is done.
[0046]
As described above, a multiple match detection circuit with an extended number of bits can be configured very easily, and multiple search match signals can be detected at high speed regardless of the expansion of the number of bits.
[0047]
Embodiment 5. FIG.
FIG. 7 is a block diagram showing the configuration of the multiple match detection circuit of the associative memory device according to the fifth embodiment of the present invention.
The multiple match detection circuit according to the fifth embodiment includes an effective data area detection circuit 40, an effective data area mask circuit 41, and an effective data detection circuit 42. When the signal in [n-1: 0] having an n-bit signal width is input to the valid data area detection circuit 40 described above, a bit “1” (search) indicating the first validity from the LSB side of the input signal. When the first "1" is detected by this search, an effective area signal m1 [n-1: 0] is generated up to that bit as an effective data area. The valid data area mask circuit 41 is an inversion logic of the valid area signal m1 [n-1: 0] of the valid data area detection circuit 40 with respect to an input signal in [n-1: 0] having an n-bit signal width. The product is taken to mask the signal in the valid data area and output as signal m2 [n-1: 0]. The valid data detection circuit 42 detects whether valid data is included in the signal m2 [n-1: 0] masked by the valid data area mask circuit 41, and outputs the result.
[0048]
Next, the operation of the multiple match detection circuit of the fifth embodiment will be described for the case of n = 8. Note that positive logic is used, and “1” on the bit is valid data and “0” is invalid data.
For example, when a signal in [7: 0] = 0010_0010 having a signal width of 8 bits is inputted, the valid data area detection circuit 40 first valid data from the LSB side, in this case, the first bit is valid data. Therefore, an effective area signal m1 = 0000_0011 is generated from the input signal in [7: 0] = 0010_0010 and output to the effective data area mask circuit 41. This valid data area mask circuit 41 takes the logical product of each bit of the input signal in [7: 0] = 0010_0010 and the inversion (1111_1100) of the valid area signal m1 = 0000_0011 to obtain a signal in the valid data area. Mask and output signal m2 [7: 0] = 0010_0000. That is, this output signal m2 [7: 0] is expressed by the following equation.
m2 [7: 0] = in [7: 0] &  ̄ m1 [7: 0] (&: logical product,  ̄: inverted)
On the other hand, the valid data detection circuit 42 searches whether or not “1” is included in the input signal m2 [7: 0]. In this case, two or more valid data are input to the input signal in [7: 0], the output signal out is set to “1” to notify that two or more valid data are included. This logic means taking the logical sum of individual bits of the input signal. That is, the output signal out is expressed by the following equation.
out = (m2 [7] | m2 [6] | m2 [5] | m2 [4] | m2 [3] | m2 [2] | m2 [1] | m2 [0]) (|: logical sum)
[0049]
Next, a case where the input signal is in [7: 0] = 0000_1000 will be described. In this case, since the third bit from the LSB side is valid data, the output of the valid data area detection circuit 40 is m1 [7: 0] = 0000_1111, and the output of the valid data area mask circuit 41 is m2 = 0000_0000. . Therefore, the valid data detection circuit 42 sets the output signal out to “0” and notifies that two or more valid data are not included in the input signal in [7: 0].
[0050]
The multiple coincidence detection circuit according to the fifth embodiment detects an area width from the LSB side of the input signal in [n-1: 0] having an n-bit signal width to the first valid data “1” to detect an effective area signal. m1 [n-1: 0] is generated, and the logical product of the inversion of the effective area signal m1 [n-1: 0] with respect to the input signal in [n-1: 0] is obtained. This generates a signal m2 [n-1: 0] by masking the signal, detects whether this masked signal m2 [n-1: 0] contains valid data, and outputs the result. Therefore, a multiple match detection circuit corresponding to the number of entries in the associative memory device can be easily provided.
[0051]
(Example 1)
Here, the configuration of the above-described valid data area detection circuit 40 will be specifically described. FIG. 8 is a circuit configuration diagram showing an example of an effective data area detection circuit of the multiple coincidence detection circuit.
In the figure, INV1_0 to INV1_7 are inverters to which signals in [0] to in [7] are respectively input. N1_0 to N1_7 are NMOS transistors. Among them, the NMOS transistor N1_0 has a source side connected to the internal node net_0, a gate side connected to the output terminal of the inverter INV1_0, and a drain side connected to the internal node net_1. The NMOS transistor N1_1 has a source side connected to the internal node net_1, a gate side connected to the output terminal of the inverter INV1_1, and a drain side connected to the internal node net_2.
[0052]
The NMOS transistor N1_2 has a source side connected to the internal node net_2, a gate side connected to the output terminal of the inverter INV1_2, and a drain side connected to the internal node net_3. The NMOS transistor N1_3 has a source side connected to the internal node net_3, a gate side connected to the output terminal of the inverter INV1_3, and a drain side connected to the internal node net_4. The NMOS transistor N1_4 has a source side connected to the internal node net_4, a gate side connected to the output terminal of the inverter INV1_4, and a drain side connected to the internal node net_5. The NMOS transistor N1_5 has a source side connected to the internal node net_5, a gate side connected to the output terminal of the inverter INV1_5, and a drain side connected to the internal node net_6. The NMOS transistor N1_6 has a source side connected to the internal node net_6, a gate side connected to the output terminal of the inverter INV1_6, and a drain side connected to the internal node net_7. The NMOS transistor N1_7 has a source connected to the internal node net_7, a gate connected to the output terminal of the inverter INV1_7, and a drain connected to the drain of the PMOS transistor P0.
[0053]
NO is an NMOS transistor, the source side is connected to the ground, the gate side is connected to the precharge terminal pc, and the drain side is connected to the internal node net_0. P0 is the above-described PMOS transistor. The source is connected to the power supply VDD, the gate is connected to the precharge terminal pc, and the drain is connected to the drain of the NMOS transistor N1_7. P1_0 to P1_7 are PMOS transistors, each source side is connected to the power supply VDD, each gate side is connected to the precharge terminal pc, and each drain side is connected to the internal nodes net_0 to net_7, respectively. INV2_0 to INV2_7 are inverters provided on the output side, and the input side is connected to the internal nodes net_0 to net_7, respectively.
[0054]
Next, the operation of the valid data area detection circuit described above will be described.
First, when the precharge signal line pc becomes low level, the NMOS transistor NO is turned off, and the PMOS transistor P0 and the eight PMOS transistors P1_0 to P1_7 are turned on. At this time, regardless of the values of the input signals in [7] to in [0], the internal nodes net_0 to net_7 are at the high level, and the output signals out [7] to out [0] of the inverters INV2_0 to INV2_7 are respectively low. Become a level.
[0055]
In the circuit 40, the values of the input signals in [7] to in [0] are determined while the precharge terminal pc is in the precharge state (low level), and then the precharge terminal pc is set to the high level. Then, a charge is accumulated in the internal nodes net_0 to net_7 through the NMOS transistor NO and the eight NMOS transistors N1_0 to N1_7, thereby forming a dynamic logic circuit that executes a logical operation.
[0056]
In this case, the NMOS transistor NO is turned on, the PMOS transistor P0 and the eight PMOS transistors P1_0 to P1_7 are turned off, and the outputs of the inverters INV1_0 to INV1_7 to which the input signals in [7] to in [0] are inputted. The output signals out [7] to out [0] of the inverters INV2_0 to INV2_7 are determined by the NMOS transistors N1_0 to N1_7 that are turned on according to the values.
[0057]
For example, when the input signal in [7: 0] = 0010_0010 described in FIG. 7 is input, the output signals of the inverters INV1_7 to INV1_0 are INV1 [7: 0] = 1101_1101. At this time, the NMOS transistors N1_0, N1_2 to N1_4, N1_6 and N1_7 are turned on, and the other NMOS transistors N1_1 and N1_5 are turned off. On the other hand, in the internal node net_0, since the NMOS transistor NO is turned on by the high level of the input terminal pc, the charge accumulated in the internal node net_0 is released and transitions to the low level.
[0058]
Since the NMOS transistor N1_0 is in the on state, the internal node net_1 is discharged through the NMOS transistor N1_0 and the NMOS transistor NO, and transits to the low level. In addition, since the NMOS transistor N1_1 is in the OFF state, the charge accumulated in the internal node net_2 is not released and remains at the high level in the internal node net_2. Furthermore, since the NMOS transistor N1_1 is in the off state, the internal nodes net_3 to net_7 are not discharged as in the case of the internal node net_2, and remain at the high level.
[0059]
As described above, the internal nodes net_0 and net_1 transition to the low level, and the other internal nodes net_2 to net_7 continue to maintain the high level. Therefore, the output signal out through the inverters INV2_7 to INV2_0 becomes [0000_0011], and the above-described valid [0000_0011], which is the same result as the area signal m1, is output.
[0060]
Next, a case where the input signal is in [7: 0] = 0000_1000 will be described.
In this case, the output signals of the inverters INV1_7 to INV1_0 are INV1 [7: 0] = 1111_0111. At this time, only the NMOS transistor N1_3 is turned off, and the other NMOS transistors are turned on. At this time, the charges accumulated in the internal nodes net_0 to net_3 are discharged through the NMOS transistor transistors N1_0 to N1_2 and the NMOS transistor NO and transit to the low level, and the NMOS transistors N1_3 are in the off state in the other internal nodes net_4 to net_7 Therefore, the charge is not released and remains at the high level. Accordingly, the output signal out output via the inverters INV2_7 to INV2_0 is [0000_1111], and [0000_1111], which is the same result as the above-described effective area signal m1, is output.
[0061]
Since the valid data area detection circuit 40 configured as described above is used as a member of the multiple coincidence detection circuit, the bit width can be easily expanded, and a highly integrated multiple coincidence can be incorporated into an associative memory device. A detection circuit can be configured.
[0062]
(Example 2)
In the second embodiment, the effective data area detection circuit of the first embodiment shown in FIG. 8 is divided into a plurality of parts, which will be described below with reference to FIG. FIG. 9 is a circuit configuration diagram showing an effective data area detection circuit according to the second embodiment. To simplify the description, a circuit to which signals in [0] to in [3] are input is an LSB side circuit, and a circuit to which signals in [4] to in [7] are input is an MSB side circuit. Called. Further, the PMOS transistors P0, P1_0 to P1_7, the NMOS transistors N0, N1_0 to N1_7, the eight inverters INV1_0 to INV1_7, and the eight inverters INV2_0 to INV2_7 are the same as those in the first embodiment, and thus detailed description thereof is omitted.
[0063]
The PMOS transistor P2 of the LSB side circuit has a source side connected to the power supply VDD, a gate side connected to the precharge terminal pc, and a drain side connected to the drain (net_c) of the NMOS transistor N1_3 on the MSB side. The internal node net_c is connected to the input side of the inverter INV3.
The NMOS transistor N2 of the MSB side circuit is connected to the output side of the inverter INV3 provided in the LSB side circuit, the source side is connected to the drain of the NMOS transistor N0, and the drain side is connected to the source (net_4) of the NMOS transistor N1_4 Has been.
[0064]
Next, the operation of the valid data area detection circuit according to the second embodiment will be described.
First, when the precharge terminal pc goes low, the NMOS transistor N0 is turned off, the PMOS transistor P0 and the eight PMOS transistors P1_0 to P1_7 are turned on, and the values of the input signals in [7] to in [0] are obtained. Regardless, the internal nodes net_0 to net_7 are at high level, and the output signals out [7] to out [0] are at low level. At this time, the internal node net_c of the LSB side circuit is also charged to the high level, the output terminal C of the inverter INV3 is at the low level, and the output signal C of the inverter INV3 is at the low level in the MSB side circuit. The NMOS transistor N2 is turned off.
[0065]
Here, when the input signal in [7: 0] = 0010_0010 is input, the NMOS transistors N1_0, N1_2 to N1_4, N1_6, and N1_7 are turned on as in the first embodiment, and the remaining two NMOS transistors N1_1, N1_5 Is turned off. At this time, in the LSB side circuit, as in the first embodiment, the internal nodes net_0 and net_1 transition to the low level, and the other internal nodes net_2, net_3 and net_c continue to maintain the high level. For this reason, the inverter INV3 holds the low level output signal C, and accordingly, the NMOS transistor N2 also holds the off state. In the MSB side circuit, since the NMOS transistor N2 is in the OFF state, the charges of all the internal nodes net_4 to net_7 are kept at the high level. Therefore, the output signal out through the inverters INV2_1 to INV2_7 becomes 0000_0011, and the same result as the effective area signal m1 = 0000_0011 shown in the fifth embodiment is output.
[0066]
Next, the case where the input signal in [7: 0] = 0000_1000 will be described. In this case, the output signals of the inverters INV1_7 to INV1_0 are INV1 [7: 0] = 1111_0111. At this time, in the LSB side circuit, only the NMOS transistor N1_3 is turned off, and the other NMOS transistors N1_0 to N1_2 are turned on. In addition, the charges accumulated in the internal nodes net_0 to net_3 are discharged through the NMOS transistor N0 and the NMOS transistors N1_0 to N1_2, and transit to the low level. Since the NMOS transistor N1_3 is in the off state, the internal node net_c is kept at the high level without being discharged. Accordingly, similarly to the above, the output signal C of the inverter INV3 is at the low level, and in the circuit on the MSB side, the NMOS transistor N2 keeps the off state, so the output signal out output through the inverters INV2_0 to INV2_7 is 0000_1111 Thus, the same result as the effective area signal m1 = 0000_1111 shown in the fifth embodiment is output.
[0067]
Next, the case where the output signal C of the inverter INV3 becomes valid will be described.
When the input signal in [7: 0] = 0001_0000, the output signals of the inverters INV1_7 to INV1_0 are INV1 = 1110_1111. In the LSB side circuit, all NMOS transistors N1_0 to N1_3 are turned on, and the internal nodes net_0 to net_3 and net_c release charges through the NMOS transistors N0 and N1_0 to N1_3, and become Low level. The output signal C of the inverter INV3 is at a high level, and in the MSB side circuit, the NMOS transistor N2 is turned on, and the charge accumulated in the internal node net_4 passes through the NMOS transistors N0 and N1_4 of the MSB side circuit. Released and transitions to low level. Since the NMOS transistor N1_4 is in the off state, the charges of the other internal nodes net_5 to net_7 continue to be held. Therefore, the output signal out through the eight inverters INV2_7 to INV2_0 is 0001_1111.
[0068]
As described above, according to the second embodiment, it is possible to provide a multiple coincidence detection circuit capable of high-speed processing by dividing this circuit even when the bit width becomes wide and the operation speed deteriorates. .
[0069]
  Embodiments as described above5The multiple coincidence detection circuit in FIG. 1 detects the area width from the LSB side to the first valid data “1” with respect to the input signal in [n−1: 0] having an n-bit signal width and detects the valid area signal m1 [n -1: 0] and masks the signal outside the invalid region by taking the logical product of each bit of the input signal in [n-1: 0] and its valid region signal m1 [n-1: 0] Generate signal m3 [n-1: 0], perform binary encoding on this masked input signal m3 [n-1: 0], and output signal m [m-1: 0] is output, a multiple match detection circuit corresponding to the number of entries in the associative memory device can be easily provided.
[0070]
Even if the valid data area detection circuit 40 shown in the first embodiment (FIG. 8) and the second embodiment (FIG. 9) is used, only the matching result on the LSB side is extracted when multiple matching occurs. Thus, it becomes possible to output an encoding result of an accurate address value.
[0071]
Embodiment 6 FIG.
FIG. 10 is a block diagram showing the configuration of the multiple match detection circuit of the content addressable memory device according to Embodiment 6 of the present invention. In addition, the same code | symbol is attached | subjected to the same or equivalent part as Embodiment 5 demonstrated in FIG. 7, and description is abbreviate | omitted.
[0072]
The multiple match detection circuit of the sixth embodiment includes a selection circuit 45, an effective data area detection circuit 40 to which an output signal of the selection circuit 45 is input, an output signal of the selection circuit 45 and an effective area of the effective data area detection circuit 40. The invalid data area mask circuit 43 to which the signal m1 [n-1: 0] is input and the m3 [n-1: 0] signal m3 [n-1: 0] of the invalid data area mask circuit 43 are subjected to binary encoding, and m bits An encoder circuit 44 that outputs a signal out [m-1: 0] having a signal width, an output signal of the selection circuit 45, and an effective area signal m1 [n-1: 0] of the effective data area detection circuit 40 are input. The valid data area mask circuit 41 and a data holding circuit 46 that holds the output signal m2 [n-1: 0] of the valid data area mask circuit 41 are included.
[0073]
The invalid data area mask circuit 43 described above masks the invalid area signal by taking the logical product of the bits of the input signal in [n-1: 0] and the valid area signal m1 [n-1: 0]. It is output as a signal m3 [n-1: 0]. The encoder circuit 44 performs binary encoding on the signal m3 [n-1: 0] masked by the invalid data area mask circuit 43 and performs a signal out [m-1: 0] having a signal width of m bits. Is output.
[0074]
The selection circuit 45 outputs an input signal in [n-1: 0] having an n-bit signal width, and the valid data “1” is contained in the signal m2 [n-1: 0] held in the data holding circuit 46. "Is included and output as a signal m4 [n-1: 0]. The data holding circuit 46 is composed of a memory element constituted by a flip-flop or the like, and has a function of holding the input signal m2 [n-1: 0] for a certain period.
[0075]
Next, the operation of the multiple match detection circuit of the sixth embodiment will be described for the case of n = 8. It is to be noted that positive logic is used, positive logic is used, “1” on the bit is valid data, and “0” is invalid data.
For example, when a signal in [7: 0] = 0010_0010 having an 8-bit signal width is input, the selection circuit 7 selects the input signal in [7: 0], and the effective data area detection circuit 40, the effective data The data is output to the area mask circuit 43 and the invalid data area mask circuit 41, respectively.
[0076]
At this time, since the valid data area detection circuit 40 is the first valid data from the LSB side, in this case, the first bit is valid data, the valid area signal m1 = 0000_0011 from the input signal in [7: 0] = 0010_0010 Is output to the invalid data area mask circuit 43. The invalid data area mask circuit 43 masks the invalid data area signal by ANDing each bit of the input signal in [7: 0] = 0010_0010 and each bit of the valid area signal m1 = 0000_0011, The signal m3 [7: 0] = 0000_0010 is output to the encoder circuit 44. The encoder circuit 44 executes binary encoding of the input signal m3 [7: 0] and outputs a signal out [2: 0] = 001. This “001” informs that there is valid data (search match signal) in the first bit of the input signal in [7: 0].
[0077]
On the other hand, the valid data area mask circuit 41 calculates the logical product of the individual bits of the input signal in [7: 0] = 0010_0010 and the inversion (1111_1100) of the valid area signal m1 = 0000_0011, and outputs the signal of the valid data area. And the output signal m2 [7: 0] = 0010_0000 is held in the data holding circuit 46. The selection circuit 45 selects when the signal m4 [7: 0] = 0010_0000 held in the data holding circuit 6 is input, and selects the valid data area detection circuit 40, the valid data area mask circuit 41, and the invalid data area mask circuit. Output to 43 respectively.
[0078]
The valid data area detection circuit 40 to which the signal m4 [7: 0] = 0010_0000 is input generates the valid area signal m1 = 0011_1111 (the fifth bit is the first valid data on the LSB side), and the invalid data area mask circuit The invalid data area mask circuit 43 logically ANDs the individual bits of the input signal m4 [7: 0] = 0010_0000 and the individual bits of the valid area signal m1 = 0011_1111, respectively. And the signal m3 [7: 0] = 0000_0010 is output to the encoder circuit 44. The encoder circuit 44 executes binary encoding of the input signal m3 [7: 0] and outputs a signal out [2: 0] = 101. In this case, it is notified that there is valid data (search match signal) in the fifth bit of the input signal in [7: 0].
[0079]
On the other hand, the valid data area mask circuit 41 performs an AND operation on the individual bits of the output signal m4 [7: 0] = 0010_0000 of the selection circuit 45 and the inversion (1100_0000) of the valid area signal m1 = 0011_1111. The data area signal is masked, and the output signal m2 [7: 0] = 0000_0000 is output to the data holding circuit 46. In the present embodiment, since the number of valid display bits included in the input signal in [7: 0] = 0010_0010 is 2, the output signal m2 [7: 0] of the valid data area mask circuit 41 is “0000_0000”. The calculation is terminated at that time. When the number of effective display bits included in the input signal in [7: 0] is N, the encoded value of the address from the LSB side is sequentially and accurately output by repeating the above calculation N times. It becomes possible.
[0080]
  Embodiments as described above6According to the present invention, only the LSB side matching result is extracted even when multiple matching occurs by using the effective data area detection circuit 40 shown in the first and second embodiments and only by increasing the number of small circuits. Thus, it is possible to sequentially output all the encoding results of accurate address values.
[0081]
【The invention's effect】
  As described above, according to the present invention,It has a plurality of search match lines that transmit search match signals on the input side, and has the same number of match detection lines respectively corresponding to the search match lines on the output side,When one search match signal is input via any search match line, the search match lineCorresponding toOn other match detection lines exceptLowWhen two or more search match signals are input via any search match line, all match detection lines are set to low level.TwoA coincidence detection circuit;Inserted into each search match line of one match detection circuit, and when the search match signal flows through any of the search match lines, the output side is High From level Low Inserted into each search match line of the first search match detection circuit that inverts to the level and the other match detection circuit, and when the search match signal flows through any of the search match lines, the output side High From level Low A second search match detection circuit that inverts to a level, and a logical product of the level on each match detection line and the output level of the second search match detection circuit inserted into each match detection line of one match detection circuit And a logical product of the level on each match detection line and the output level of the first search match detection circuit. Provided on the output side of the plurality of second AND circuits and the first and second AND circuitsSince a multiple coincidence detection circuit comprising a NOR circuit is used, it becomes possible to simultaneously detect search coincidence signals of all entries regardless of the number of entries in the associative memory element, thereby speeding up multiple retrieval processing. The effect becomes more remarkable as the number of entries increases. The configuration of the coincidence detection circuit is extremely regular. For circuits with different numbers of entries, the flow from the pre-designed circuit and pre-designed layoutFor re-useThis makes it easy to use and has the effect of shortening the development period when developing associative memory devices with different numbers of entries for specific applications.
[Brief description of the drawings]
FIG. 1 is a circuit diagram showing a configuration of a multiple match detection circuit of an associative memory device according to Embodiment 1 of the present invention;
FIG. 2 is a circuit diagram showing a configuration of a multiple match detection circuit of an associative memory device when the number of entries 4 is changed to 8. FIG.
FIG. 3 is a circuit diagram showing a configuration of a multiple match detection circuit of an associative memory device according to Embodiment 2 of the present invention;
FIG. 4 is a logic circuit diagram showing a configuration of a 4-bit multiple coincidence detection circuit of an associative memory device according to Embodiment 3 of the present invention;
FIG. 5 is a diagram showing a truth table of a multiple match detection circuit in the third embodiment.
FIG. 6 is a logic circuit diagram showing a configuration of a 16-bit multiple coincidence detection circuit of an associative memory device according to Embodiment 4 of the present invention;
FIG. 7 is a block diagram showing a configuration of a multiple match detection circuit of an associative memory device according to a fifth embodiment of the present invention.
FIG. 8 is a circuit configuration diagram showing an example of an effective data area detection circuit according to the fifth embodiment.
FIG. 9 is a circuit configuration diagram showing another embodiment of the valid data area detection circuit.
FIG. 10 is a block diagram showing a configuration of a multiple match detection circuit of an associative memory device according to a sixth embodiment of the present invention.
FIG. 11 is a logic circuit diagram showing a configuration of a multiple coincidence detection circuit of a conventional content addressable memory device.
[Explanation of symbols]
1 associative memory element group, 2, H1, H2 coincidence detection circuit, 3 NOR circuit,
21, 22 Multiple detection input circuit, 23, 31-33 Multiple detection output circuit,
30 basic circuit, 40 valid data area detection circuit, 41 valid data area mask circuit, 42 valid data detection circuit, 43 invalid data area mask circuit,
44 encoder circuit, 45 selection circuit, 46 data holding circuit.

Claims (7)

保持データをそれぞれ有し、保持データと検索データとが一致したときに検索一致信号をそれぞれ出力する複数の連想メモリ素子を具備した連想メモリ装置において、
入力側に前記検索一致信号をそれぞれ伝送する複数の検索一致線を有し、出力側に前記検索一致線にそれぞれ対応した同じ本数の一致検出線を有し、1つの検索一致信号が何れかの検索一致線を介して入力されたときは、その検索一致線に対応した一致検出線を除く他の一致検出線上をLow レベルにし、2以上の検索一致信号が何れかの検索一致線を介してそれぞれ入力されたときは、全ての一致検出線上をLow レベルにする2つの一致検出回路と、
一方の一致検出回路の各検索一致線に挿入され、この検索一致線の何れかに検索一致信号が流れたとき出力側をHighレベルからLow レベルに反転する第1の検索一致検出回路と、
他方の一致検出回路の各検索一致線に挿入され、この検索一致線の何れかに検索一致信号が流れたとき出力側をHighレベルからLow レベルに反転する第2の検索一致検出回路と、
一方の一致検出回路の各一致検出線にそれぞれ挿入され、それぞれの一致検出線上のレベルと前記第2の検索一致検出回路の出力レベルとの論理積をとる複数の第1のAND回路と、
他方の一致検出回路の各一致検出線にそれぞれ挿入され、それぞれの一致検出線上のレベルと前記第1の検索一致検出回路の出力レベルとの論理積をとる複数の第2のAND回路と、
前記第1及び第2のAND回路の出力側に設けられたNOR回路とを備え、
前記2つの一致検出回路のうち何れか一方の一致検出回路に2以上の検索一致信号が何れかの検索一致線を介してそれぞれ入力されたとき、又は前記2つの一致検出回路にそれぞれ1つの検索一致信号が何れかの検索一致線を介して入力されたとき、前記第1及び第2のAND回路のそれぞれの出力がLow レベルになって前記NOR回路から多重検出信号が出力されることを特徴とする連想メモリ装置の多重一致検出回路。
In an associative memory device having a plurality of associative memory elements each having holding data and outputting a search match signal when the holding data and the search data match,
The input side has a plurality of search match lines for transmitting the search match signals, and the output side has the same number of match detection lines respectively corresponding to the search match lines. When input via a search match line , the other match detection lines except for the match detection line corresponding to the search match line are set to low level, and two or more search match signals pass through any search match line. Two coincidence detection circuits that set all coincidence detection lines to low level,
A first search match detection circuit that is inserted into each search match line of one match detection circuit and inverts the output side from a high level to a low level when a search match signal flows through any of the search match lines;
A second search match detection circuit that is inserted into each search match line of the other match detection circuit and inverts the output side from a high level to a low level when a search match signal flows through any of the search match lines;
A plurality of first AND circuits that are inserted into the respective match detection lines of one match detection circuit and take the logical product of the level on each match detection line and the output level of the second search match detection circuit;
A plurality of second AND circuits that are inserted into the respective coincidence detection lines of the other coincidence detection circuit and take the logical product of the level on the respective coincidence detection lines and the output level of the first search coincidence detection circuit;
A NOR circuit provided on the output side of the first and second AND circuits,
When two or more search match signals are input to any one of the two match detection circuits via any search match line, or one search is made to each of the two match detection circuits. When the coincidence signal is input through any one of the search coincidence lines, the outputs of the first and second AND circuits are at a low level, and a multiple detection signal is output from the NOR circuit. The multiple coincidence detection circuit of the associative memory device.
請求項記載の多重一致検出回路を基本回路とし、連想メモリ素子の数に応じてその基本回路を組み合わせてなる連想メモリ装置の多重一致検出回路。A multiple coincidence detection circuit for an associative memory device, wherein the multiple coincidence detection circuit according to claim 1 is used as a basic circuit, and the basic circuits are combined according to the number of associative memory elements. 保持データをそれぞれ有し、保持データと検索データとが一致したときにそれぞれ検索一致信号を出力する複数の連想メモリ素子を具備した連想メモリ装置において、
所定数の連想メモリ素子からの検索一致信号が入力され、少なくとも1つ(但し、所定数未満)の検索一致信号の入力を検出したとき検索一致検出信号を出力し、前記所定数の連想メモリ素子からの検索一致信号の入力を検出したときは検索一致検出信号及び検索一致多重検出信号をそれぞれ出力する複数の多重検出入力回路と、
複数の多重検出入力回路と接続され、1つの検索一致検出信号の入力を検出したときその検索一致検出信号を出力し、複数の検索一致検出信号の入力を検出したときは検索一致検出信号及び検索一致多重検出信号をそれぞれ出力し、また、検索一致検出信号及び検索一致多重検出信号の入力を検出したときは検索一致検出信号及び多重検出信号をそれぞれ出力する多重検出出力回路とを備え、
前記複数の多重検出入力回路及び前記多重検出出力回路を基本回路とし、前記基本回路及びその基本回路の多重検出出力回路を連想メモリ素子の数に応じて組み合わせてなる連想メモリ装置の多重一致検出回路。
In an associative memory device having a plurality of associative memory elements each having holding data and outputting a search match signal when the holding data and the search data match,
When a search match signal from a predetermined number of associative memory elements is input and at least one (but less than a predetermined number) of search match signals are detected, a search match detection signal is output, and the predetermined number of associative memory elements A plurality of multiple detection input circuits that respectively output a search match detection signal and a search match multiple detection signal when detecting an input of the search match signal from
Connected to a plurality of multiple detection input circuits and outputs a search match detection signal when an input of one search match detection signal is detected. When an input of a plurality of search match detection signals is detected, a search match detection signal and a search are detected. A multiple detection output circuit that outputs a match multiple detection signal and outputs a search match detection signal and a multiple detection signal, respectively, when detecting the input of the search match detection signal and the search match multiple detection signal ;
A multiple coincidence detection circuit for an associative memory device comprising the plurality of multiple detection input circuits and the multiple detection output circuit as basic circuits, and the basic circuit and the multiple detection output circuits of the basic circuit combined in accordance with the number of associative memory elements. .
保持データをそれぞれ有し、保持データと検索データとが一致したときにそれぞれ検索一致信号を出力する複数の連想メモリ素子を具備した連想メモリ装置において、
それぞれの連想メモリ素子による保持データと検索データの比較結果の信号が入力されると、その入力信号のLSB側から最初の検索一致信号を検索し、この検索により最初の検索一致信号を検出したときはその検索一致信号までを有効データ領域として有効領域信号を生成する有効データ領域検出回路と、
前記入力信号に対しその有効領域信号を用いて有効データ領域側の信号をマスクする有効データ領域マスク回路と、
マスクされていない領域の入力信号に検索一致信号が存在するかどうかを検索し、検索一致信号を検出したときは前記入力信号に2以上の検索一致信号が存在するとして多重検出信号を出力する有効データ検出回路と
を備えたことを特徴とする連想メモリ装置の多重一致検出回路。
In an associative memory device having a plurality of associative memory elements each having holding data and outputting a search match signal when the holding data and the search data match,
When a signal as a result of comparison between data held by each associative memory element and search data is input, the first search match signal is searched from the LSB side of the input signal, and the first search match signal is detected by this search Is an effective data area detection circuit that generates an effective area signal with the search match signal as an effective data area, and
An effective data area mask circuit for masking a signal on the effective data area side using the effective area signal for the input signal;
It is effective to search whether there is a search match signal in the input signal in the unmasked area, and to output a multiple detection signal assuming that two or more search match signals exist in the input signal when a search match signal is detected A multiple coincidence detection circuit for an associative memory device, comprising: a data detection circuit;
保持データをそれぞれ有し、保持データと検索データとが一致したときにそれぞれ検索一致信号を出力する複数の連想メモリ素子を具備した連想メモリ装置において、
選択回路と、
それぞれの連想メモリ素子による保持データと検索データの比較結果の信号が前記選択回路を介して入力されると、その入力信号のLSB側から最初の検索一致信号を検索し、この検索により最初の検索一致信号を検出したときはその検索一致信号までを有効データ領域として有効領域信号を生成する有効データ領域検出回路と、
前記選択回路からの入力信号に対し前記有効領域信号を用いて有効データ領域外の信号をマスクする無効データ領域マスク回路と、
該無効データ領域マスク回路のマスクにより抽出された有効データ領域側の信号から検索一致信号を判別して出力する検索一致信号判別回路と、
前記選択回路からの入力信号に対し前記有効領域信号を用いて有効データ領域側の信号をマスクする有効データ領域マスク回路と、
該有効データ領域マスク回路によってマスクされた信号を一時的に保持する保持回路とを備え、
前記選択回路は前記保持回路に信号が保持されるとその信号を入力信号として前記有効データ領域検出回路及び無効データ領域マスク回路並びに有効データ領域マスク回路にそれぞれ出力し、前記有効データ領域検出回路は、入力信号に検索一致信号を検出し終えるまで有効領域信号の生成を繰り返し行うことを特徴とする連想メモリ装置の多重一致検出回路。
In an associative memory device having a plurality of associative memory elements each having holding data and outputting a search match signal when the holding data and the search data match,
A selection circuit;
When the signal of the comparison result between the data held by each associative memory element and the search data is input through the selection circuit, the first search match signal is searched from the LSB side of the input signal, and the first search is performed by this search. An effective data area detection circuit that generates an effective area signal as an effective data area up to the search match signal when a match signal is detected;
An invalid data area mask circuit that masks signals outside the valid data area using the valid area signal with respect to the input signal from the selection circuit;
A search match signal discriminating circuit for discriminating and outputting a search match signal from the signal on the valid data region side extracted by the mask of the invalid data region mask circuit;
An effective data area mask circuit that masks a signal on the effective data area side using the effective area signal with respect to an input signal from the selection circuit;
A holding circuit that temporarily holds the signal masked by the effective data area mask circuit,
When the selection circuit holds a signal in the holding circuit, the selection circuit outputs the signal as an input signal to the valid data area detection circuit, the invalid data area mask circuit, and the valid data area mask circuit, and the valid data area detection circuit A multiple coincidence detection circuit for an associative memory device, wherein generation of an effective area signal is repeatedly performed until a search coincidence signal is detected in an input signal.
前記有効データ領域検出回路は、
直列接続された複数のNMOSトランジスタを有するダイナミックNAND回路と、
前記ダイナミックNAND回路の各NMOSトランジスタの全てのソース端子に電源電圧をチャージする電荷チャージ手段とを備え、
前記ダイナミックNAND回路にグランド側をLSBとしてそれぞれの連想メモリ素子からの信号が入力されると、各NMOSトランジスタは、入力信号に基づいてソース端子に蓄積された電荷を放出して最初の検索一致信号を検出することを特徴とする請求項又は記載の連想メモリ装置の多重一致検出回路。
The valid data area detection circuit includes:
A dynamic NAND circuit having a plurality of NMOS transistors connected in series;
Charge charge means for charging a power supply voltage to all source terminals of each NMOS transistor of the dynamic NAND circuit,
When a signal from each associative memory element is input to the dynamic NAND circuit with the ground side as the LSB, each NMOS transistor discharges the charge accumulated in the source terminal based on the input signal, and the first search match signal 6. The multiple coincidence detection circuit for an associative memory device according to claim 4 or 5, wherein:
前記電荷チャージ手段は、検索一致信号に対応して設けられ、ソース側が電源に接続され、ゲート側がプリチャージ端子に接続され、ドレイン側が前記ダイナミックNAND回路の各NMOSトランジスタのそれぞれのソース側に接続され、前記プリチャージ端子にLow レベルのプリチャージ信号が入力されたときに前記NMOSトランジスタの各ソース側に電源電圧をチャージするPMOSトランジスタからなることを特徴とする請求項記載の連想メモリ装置の多重一致検出回路。The charge charging means is provided corresponding to the search coincidence signal, the source side is connected to the power supply, the gate side is connected to the precharge terminal, and the drain side is connected to the source side of each NMOS transistor of the dynamic NAND circuit. 7. The associative memory device according to claim 6 , further comprising a PMOS transistor that charges a source voltage to each source side of the NMOS transistor when a low- level precharge signal is input to the precharge terminal. Match detection circuit.
JP2001349668A 2001-11-15 2001-11-15 Multiple coincidence detection circuit for associative memory device Expired - Lifetime JP3861236B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001349668A JP3861236B2 (en) 2001-11-15 2001-11-15 Multiple coincidence detection circuit for associative memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001349668A JP3861236B2 (en) 2001-11-15 2001-11-15 Multiple coincidence detection circuit for associative memory device

Publications (2)

Publication Number Publication Date
JP2003151283A JP2003151283A (en) 2003-05-23
JP3861236B2 true JP3861236B2 (en) 2006-12-20

Family

ID=19162303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001349668A Expired - Lifetime JP3861236B2 (en) 2001-11-15 2001-11-15 Multiple coincidence detection circuit for associative memory device

Country Status (1)

Country Link
JP (1) JP3861236B2 (en)

Also Published As

Publication number Publication date
JP2003151283A (en) 2003-05-23

Similar Documents

Publication Publication Date Title
US6460112B1 (en) Method and apparatus for determining a longest prefix match in a content addressable memory device
US6499081B1 (en) Method and apparatus for determining a longest prefix match in a segmented content addressable memory device
US6574702B2 (en) Method and apparatus for determining an exact match in a content addressable memory device
US6539455B1 (en) Method and apparatus for determining an exact match in a ternary content addressable memory device
US6381673B1 (en) Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device
US6418042B1 (en) Ternary content addressable memory with compare operand selected according to mask value
TWI758688B (en) Random number generator
US4348741A (en) Priority encoder
JP2007329963A (en) Comparator circuit having non-complementary input structure
US4694274A (en) Data comparison circuit constructed with smaller number of transistors
US6014074A (en) Binary comparator
WO1999023663A1 (en) Synchronous content addressable memory with single cycle operation
KR100429892B1 (en) High speed binary comparator circuit and High speed binary data comparison method
US5329477A (en) Adder circuit having carry signal initializing circuit
JP3861236B2 (en) Multiple coincidence detection circuit for associative memory device
US6892272B1 (en) Method and apparatus for determining a longest prefix match in a content addressable memory device
WO2006044175A2 (en) Logic circuitry
KR0139019B1 (en) Bit sequencing parallel comparator
US5140546A (en) Adder circuit apparatus
JPS58107741A (en) Parity circuit
US6255856B1 (en) Comparator
US7349937B2 (en) Fast incrementer using zero detection and increment method thereof
US20190354347A1 (en) Performance power optimized full adder
US7919991B1 (en) Comparator circuit
KR100212145B1 (en) N-bit comparator including input-bits

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060613

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060814

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060914

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091006

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091006

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101006

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101006

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111006

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121006

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121006

Year of fee payment: 6

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121006

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350