(57)【特許請求の範囲】
【請求項１】
Ｒ行、Ｗ列に配列された各ｋビット（Ｒ、Ｗ、ｋは自然数）のユニット蓄積器と、
前記ユニット蓄積器にストアされた各ｋビットのユニットがＷ個配列されてなるＷ×ｋビットの入力データ及び参照データをワード長ｋビットのユニットごとに比較するＲ行、Ｗ列に配列されたユニット比較器と、
前記ユニット比較器からの各行の出力データに対してビットごとに重み付けするワード重み付け比較器と、
Ｒ行のロウデコーダと、
Ｗ×ｋ列のカラムデコーダと、
を含むメモリアレイを具備し、
前記入力データによる前記参照データの検索がハミング距離を用いて行われ、
前記ユニット蓄積器はＳＲＡＭ型メモリセルからなり、
前記ユニット比較器は、前記ＳＲＡＭ型メモリセルを構成するラッチ回路の相補型出力部にそれぞれ接続された２入力ＥＸＯＲ回路又は２入力ＥＸＮＯＲ回路からなり、
前記ワード重み付け比較器は、前記２入力ＥＸＯＲ回路又は前記２入力ＥＸＮＯＲ回路の出力部に接続された各１個のトランジスタ又は互いに直列接続された各２個のトランジスタからなり、
前記ワード重み付け比較器における出力データの重み付けは、前記ワード重み付け比較器を構成する前記各１個のトランジスタ又は前記互いに直列接続された各２個のトランジスタのいずれか１つのゲート幅とゲート長の比の値を前記重み付けに応じて選択することによりなされることを特徴とする半導体連想メモリ。
【請求項２】
前記メモリアレイにおける前記ユニットは、バイナリコードデータから構成され、前記ユニットのビット数ｋは、ｋ＝１であることを特徴とする請求項１記載の半導体連想メモリ。
【請求項３】
Ｒ行、Ｗ列に配列された各ｋビット（Ｒ、Ｗ、ｋは自然数）のユニット蓄積器と、
前記ユニット蓄積器にストアされた各ｋビットのユニットがＷ個配列されてなるＷ×ｋビットの入力データ及び参照データをワード長ｋビットのユニットごとに比較するＲ行、Ｗ列に配列されたユニット比較器と、
前記ユニット比較器からの各行の出力データに対してビットごとに重み付けするワード重み付け比較器と、
Ｒ行のロウデコーダと、
Ｗ×ｋ列のカラムデコーダと、
を含むメモリアレイを具備し、
前記入力データによる前記参照データの検索がマンハッタン距離を用いて行われ、
前記ユニット蓄積器は、ｋ（＞１）ビットの相補型入力部及び相補型出力部を備え、
前記ユニット比較器は、前記相補型出力部の出力信号を前記相補型入力部の入力信号から減算して減算結果の絶対値を計算する機能を備え、
前記ワード重み付け比較器は、前記ユニット比較器の出力部に接続された各１個のトランジスタ又は互いに直列接続された各２個のトランジスタからなり、
前記ワード重み付け比較器における出力データの重み付けは、前記ワード重み付け比較器を構成する前記各１個のトランジスタ又は前記互いに直列接続された各２個のトランジスタのいずれか１つのゲート幅とゲート長の比の値を前記重み付けに応じて選択することによりなされることを特徴とする半導体連想メモリ。
【請求項４】
前記メモリアレイにおける前記ユニットは、バイナリコードデータから構成され、前記ユニットのビット数ｋは、ｋ＞１であることを特徴とする請求項３記載の半導体連想メモリ。
【請求項５】
前記半導体連想メモリは、前記メモリアレイの各行に接続されたウィンナ・ラインアップ増幅器を備え、前記ウィンナ・ラインアップ増幅器は、
ウィンナ／ルーザ距離増幅ユニットと、
前記ウィンナ／ルーザ距離増幅ユニットに含まれるフィードバック信号生成部と、
前記フィードバック信号生成部から出力されたフィードバック信号を用いて前記ワード重み付け比較器の比較信号を前記ウィンナ／ルーザ距離増幅ユニットの増幅度が最大になるように制御する比較信号制御ユニットと、
フィードバック信号をコード化することにより、ウィンナの一致の質を出力するフィードバック信号コード化部と、
を具備することを特徴とする請求項１乃至４のいずれか１つに記載の半導体連想メモリ。
【請求項６】
Ｒ行、Ｗ列に配列された各ｋビット（Ｒ、Ｗ、ｋは自然数）のユニット蓄積器と、
前記ユニット蓄積器にストアされた各ｋビットのユニットがＷ個配列されてなるＷ×ｋビットの入力データ及び参照データをワード長ｋビットのユニットごとに比較するＲ行、Ｗ列に配列されたユニット比較器と、
前記ユニット比較器からの各行の出力データに対してビットごとに重み付けするワード重み付け比較器と、
Ｒ行のロウデコーダと、
Ｗ×ｋ列のカラムデコーダと、
を含むメモリアレイを具備し、
前記半導体連想メモリは、前記メモリアレイの各行に接続されたウィンナ・ラインアップ増幅器を備え、前記ウィンナ・ラインアップ増幅器は、
ウィンナ／ルーザ距離増幅ユニットと、
前記ウィンナ／ルーザ距離増幅ユニットに含まれるフィードバック信号生成部と、
前記フィードバック信号生成部から出力されたフィードバック信号を用いて前記ワード重み付け比較器の比較信号を前記ウィンナ／ルーザ距離増幅ユニットの増幅度が最大になるように制御する比較信号制御ユニットと、
フィードバック信号をコード化することにより、ウィンナの一致の質を出力するフィードバック信号コード化部と、
を具備することを特徴とする半導体連想メモリ。
【請求項７】
前記ウィンナ／ルーザ距離増幅ユニットは、前記メモリアレイの各行に設けられた、プッシュプル増幅回路及び非反転／反転イネーブル信号を受ける２個のトランジスタ及び補償容量からなり、
前記フィードバック信号生成部は、前記プッシュプル増幅回路の出力をゲートに受ける前記メモリアレイの各行に設けられたソースフォロワ型プルダウントランジスタ、及び前記各プルダウントランジスタと直列に接続された前記メモリアレイの全ての行に共通のプルアップトランジスタからなり、
前記比較信号制御ユニットは、前記メモリアレイの各行に設けられた、前記ワード重み付け比較器からの出力信号電流を制御するパストランジスタ及び前記出力信号電流を中間電位に変換するソースフォロワ型プルアップトランジスタからなり、
前記ソースフォロワ型プルアップトランジスタのゲートには前記フィードバック信号が入力され、前記パストランジスタのゲートには前記イネーブル信号が入力されることを特徴とする請求項６記載の半導体連想メモリ。
【請求項８】
前記ウィンナ／ルーザ距離増幅ユニットは、前記メモリアレイの各行に設けられたカレントミラー型増幅回路と補償容量からなり、
前記フィードバック信号生成部は、高速動作するＭｉｎ／Ｍａｘ型回路からなり、
前記比較信号制御ユニットは、前記ワード重み付け比較器からの出力信号電流を中間電位に変換するソースフォロワ型プルアップトランジスタと、前記フィードバック信号の電圧レベルをシフトして前記シフトされたフィードバック信号を前記ワード重み付け比較器の各１個のトランジスタのソースにそれぞれ入力するレベルシフタからなることを特徴とする請求項６記載の半導体連想メモリ。
【請求項９】
前記半導体連想メモリは、前記メモリアレイの各行ごとに接続されたウィンナ・テイクオール回路をさらに備え、前記ウィンナ・テイクオール回路は、
所要の際にのみ構成されるレベルシフタと、
前記ウィンナ／ルーザ距離増幅ユニットのウィンナ／ルーザ距離出力信号をさらに増幅するためのｎ段（ｎは１以上の整数）のウィンナ・テイクオール増幅回路と、
前記ウィンナ・テイクオール増幅回路のｎ段目の出力部に接続された最終決定回路と、
を具備することを特徴とする請求項６乃至８のいずれか１つに記載の半導体連想メモリ。
【請求項１０】
前記半導体連想メモリは、前記メモリアレイの各行に接続されたウィンナ・テイクオール回路をさらに備え、
前記ウィンナ・テイクオール回路は、レベルシフタと１段のウィンナ・テイクオール増幅回路からなり、
前記レベルシフタは、前記１段のウィンナ・テイクオール増幅回路の増幅度が最大になるように前記ウィンナ・ルーザ距離増幅ユニットの出力信号電圧のレベルをシフトし、
前記１段のウィンナ・テイクオール増幅回路は、前記シフトされた出力信号電圧を前記増幅回路の電流変化に変換するトランジスタと、前記増幅回路の電流変化をさらに前記１段のウィンナ・テイクオール増幅回路の出力信号電圧に変換するトランジスタとを含み、
前記１段のウィンナ・テイクオール増幅回路は、その出力部に設けられた、前記１段のウィンナ・テイクオール増幅回路の出力信号電圧に適合するようにスイッチングしきい値電圧が設定されたインバータからなる最終決定回路を具備することを特徴とする請求項６乃至８のいずれか１つに記載の半導体連想メモリ。
【請求項１１】
前記半導体連想メモリは、前記メモリアレイの各行に接続されたウィンナ・テイクオール回路をさらに備え、
前記ウィンナ・テイクオール回路は、レベルシフタ、及びｎ段（ｎは２以上の整数）のウィンナ・テイクオール増幅回路を含み、
前記レベルシフタは、１段目のウィンナ・テイクオール増幅回路の増幅度が最大になるように前記ウィンナ・ルーザ距離増幅ユニットの出力信号電圧のレベルをシフトし、
前記１段目のウィンナ・テイクオール増幅回路は、前記シフトされた出力信号電圧を前記増幅回路の電流変化に変換するトランジスタ、及び前記増幅回路の電流変化をさらに前記１段目のウィンナ・テイクオール増幅回路の出力信号電圧に変換するトランジスタからなり、
ｉ段目（ｉは１以上、ｎ以下の整数）のウィンナ・テイクオール増幅回路は、前記ｉ段目のウィンナ・テイクオール増幅回路の出力信号電圧を前記増幅回路の電流変化に変換するトランジスタ、及び前記増幅回路の電流変化をさらに前記ｉ段目のウィンナ・テイクオール増幅回路の出力信号電圧に変換するトランジスタを含み、
ｎ段目のウィンナ・テイクオール増幅回路は、その出力部に設けられた、前記ｎ段目のウィンナ・テイクオール増幅回路の出力信号電圧に適合するようにスイッチングのしきい値電圧が設定されたインバータからなる最終決定回路を具備することを特徴とする請求項６乃至８のいずれか１つに記載の半導体連想メモリ。
【請求項１２】
Ｒ行、Ｗ列に配列された各ｋビット（Ｒ、Ｗ、ｋは自然数）のユニット蓄積器、及び前記ユニット蓄積器にストアされた各ｋビットのユニットがＷ個配列されてなるＷ×ｋビットの入力データと参照データとをワード長ｋビットを単位として比較するＲ行、Ｗ列に配列されたユニット比較器、及び前記ユニット比較器から各行の出力データに対してビットごとに重み付けするワード重み付け比較器、及びＲ行のロウデコーダ、及びＷ×ｋ列のカラムデコーダからなるメモリアレイと、
ウィンナ／ルーザ距離増幅ユニット、及び前記ウィンナ／ルーザ距離増幅ユニットに含まれるフィードバック信号生成部、及び前記フィードバック信号生成部から出力されたフィードバック信号を用いて前記ワード重み付け比較器の比較信号を前記ウィンナ／ルーザ距離増幅ユニットの増幅度が最大になるように制御する比較信号制御ユニット、及びフィードバック信号をコーディングすることによりウィンナの一致の質を出力するフィードバック信号符号化部からなる前記メモリアレイの各行に接続されたウィンナ・ラインアップ増幅器と、
所要の際にのみ構成されるレベルシフタ、及び前記ウィンナ／ルーザ距離増幅ユニットのウィンナ／ルーザ距離出力信号を増幅するためのｎ段（ｎは正の整数）のウィンナ・テイクオール増幅回路、及び前記ウィンナ・テイクオール増幅回路のｎ段目の出力部に接続された最終決定回路を具備する前記メモリアレイの各行に接続されたウィンナ・テイクオール回路と、
からなり、
前記フィードバック信号は、前記ワード重み付け比較器を構成する各１個のトランジスタのソース、又は前記ワード重み付け比較器を構成する互いに直列接続された各２個のトランジスタのいずれか１つのゲートに入力されることを特徴とする半導体連想メモリ。
【請求項１３】
前記ワード重み付け比較器を構成する各１個のトランジスタ、又は前記ワード重み付け比較器を構成する互いに直列接続された各２個のトランジスタの導電型が反転され、
前記ウィンナ／ルーザ距離増幅ユニット及び前記フィードバック信号生成部をそれぞれ構成するトランジスタの導電型を反転し、前記ウィンナ／ルーザ距離増幅ユニット及び前記フィードバック信号生成部のイネーブル信号の極性を反転し、前記ウィンナ・テイクオール回路を構成するトランジスタの導電型を反転し、かつ、前記ウィンナ／ルーザ距離増幅ユニット及び前記フィードバック信号生成部及び前記ウィンナ・テイクオール回路の電源端子と接地端子がそれぞれ入れ替えられることを特徴とする請求項１２記載の半導体連想メモリ。
【請求項１４】
前記ウィンナ・ラインアップ増幅器、及び前記ウィンナ・テイクオール回路を構成するトランジスタ数は、前記メモリ領域の行数Ｒに比例することを特徴とする請求項１２記載の半導体連想メモリ。
【請求項１５】
Ｒ行、Ｗ列に配列された各ｋビット（Ｒ、Ｗ、ｋは自然数）のユニット蓄積器と、
前記ユニット蓄積器にストアされた各ｋビットのユニットがＷ個配列されてなるＷ×ｋビットの入力データ及び参照データをワード長ｋビットのユニットごとに比較するＲ行、Ｗ列に配列されたユニット比較器と、
前記ユニット比較器からの各行の出力データに対してビットごとに重み付けしてアナログ信号を出力するワード重み付け比較器と、
Ｒ行のロウデコーダと、
Ｗ×ｋ列のカラムデコーダと、
を含むメモリアレイからなることを特徴とする半導体連想メモリ。
【請求項１６】
前記メモリアレイにおける前記ユニットは、バイナリコードデータから構成され、前記ユニットのビット数ｋは、前記入力データによる参照データの検索にハミング距離を用いる場合にはｋ＝１であり、マンハッタン距離を用いる場合にはｋ＞１であることを特徴とする請求項１５記載の半導体連想メモリ。
【請求項１７】
前記入力データによる前記参照データの検索がハミング距離を用いて行われ、
前記ユニット蓄積器はＳＲＡＭ型メモリセルからなり、
前記ユニット比較器は、前記ＳＲＡＭ型メモリセルを構成するラッチ回路の相補型出力部にそれぞれ接続された２入力ＥＸＯＲ回路又は２入力ＥＸＮＯＲ回路からなり、
前記ワード重み付け比較器は、前記２入力ＥＸＯＲ回路又は前記２入力ＥＸＮＯＲ回路の出力部に接続された各１個のトランジスタ又は互いに直列接続された各２個のトランジスタからなることを特徴とする請求項１５記載の半導体連想メモリ。
【請求項１８】
前記入力データによる前記参照データの検索がマンハッタン距離を用いて行われ、
前記ユニット蓄積器は、ｋ（＞１）ビットの相補型入力部及び相補型出力部を備え、
前記ユニット比較器は、前記相補型出力部の出力信号を前記相補型入力部の入力信号から減算して減算結果の絶対値を計算する機能を備え、
前記ワード重み付け比較器は、前記ユニット比較器の出力部に接続された各１個のトランジスタ又は互いに直列接続された各２個のトランジスタからなることを特徴とする請求項１５記載の半導体連想メモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は連想メモリに係り、特に最小距離検索機能が優れた高速・並列の小面積連想メモリであって、人工知能システム、データバンクシステム、及び移動ネットワーク端末等に使用されるものである。
【０００２】
【従来の技術】
従来、連想メモリは、ビット長ｋのユニットＷ個で構成される入力データと、同様にビット長ｋのユニットＷ個で構成されるＲ個の参照データとの間で、「最も類似したデータ」を検索することにより動作する。このように、連想メモリは、記憶されている参照データと外部より入力される検索データ（マッチデータ）とを比較して最も類似したデータを明らかにするために比較ビットを発生する機能を備えている。
【０００３】
ここで、「最も類似したデータ」とは、距離と呼ばれる尺度が最小になるものと定義されている。このような距離の尺度として、従来「ハミング距離」(“Hamming distance”)と「マッハンタン距離」(“Manhattan distance”)が最もよく知られている。「ハミング距離」はデータ列や音声認識又は白黒の２値画像等に用いられ、「マンハッタン距離」はカラー画像又はグレイスケールの画像等に用いられる。
【０００４】
入力データ又は参照データにおけるユニットのビット長が１ビット（ｋ＝１）であれば、ハミング距離が適用される。すなわち、ハミング距離は比較される２個のデータ間における互いに異なるビットの数として定義される。
【０００５】
一方、入力データ又は参照データが、例えばＸin＝｛ｘ1，ｘ2，ｘ3，…，ｘW｝とＹref＝｛ｙ1，ｙ2，ｙ3，…，ｙW｝等のコード化された数からなるユニットで構成される場合には、マンハッタン距離が適用される。このとき、２個のデータ間のマンハッタン距離は次式のように定義される。
【０００６】
【数１】
0003731046.tif 000002
【０００７】
従来、「最も類似したデータ」（以下ウィンナと呼ぶ）を検索するため、基本的には次のような方法が用いられてきた。すなわち、
（ａ）アナログニューラルネットワークを用いるもの（H. P. Graf and L. D. Jackel, “Analog Electronic Neural Network Circuits”, IEEE Circuits and Device Mag., 5 pp. 44, 1989）、
（ｂ）複数のＳＲＡＭ及び分割されたディジタル方式の検索回路を用いるもの（A. Nakada et al.,“A Fully Parallel Vector-Quantization Processor for Real-Time Motion Picture Compression”, IEEE Journ. Solid-State Circuits, vol. 34, pp. 822-830, 1999; T. Nozawa et al.,“A Parallel Vector Quantization Processor Eliminating Redundant Calculations for Real-time Motion Picture Compression”, ISSCC Digest of Tech. Papers, pp. 234-235, 2000）、
（ｃ）ソースフォロアを構成するＭＯＳトランジスタを用いたアナログ・ウィンナ・テイクオール回路（Analog Winner Take-All circuit; ＷＴＡ circuit）を用いるもの（S. M. S. Jalaleddine and L. G. Johnson, “Associative IC Memories with Relational Search and Nearest-Match Capabilities”, IEEE Journ. Solid-State Circuits, vol. 27, pp. 892-900, 1992）、
等が知られている。
【０００８】
しかし、これらの方法には次のような問題がある。すなわち、検索回路の回路規模がＲ2のオーダ(Ｏ(Ｒ2))又はＲ＊Ｗのオーダ（Ｏ(Ｒ*Ｗ)）で増加するので、チップ内における占有面積が増加すること（上記（ａ）項、（ｂ）項の引用文献参照）、さらに検索に要する時間が長くなること（約１μｓｅｃ）、また、小さいＷまでしか検索できないこと（上記（ｃ）項の引用文献参照）等の問題が指摘されてきた。
【０００９】
このように、従来、連想メモリを用いた人工知能システムは、面積効率の高いハードウエアを実現することが不可能に近い状況であったため、複雑なソフトウェアを用いて高性能なコンピュータ上に構築されるのが一般的であった。
【００１０】
また、ビデオ信号によるコミュニケーションが可能な移動端末はいまだに存在しない。その理由は、例えばＭＰＥＧ等の画像データ圧縮法を用いれば、送受信端末として膨大なハードウェアを要するからである。これに対して連想メモリではコードブックに基づくデータ圧縮法を用いることができる（A. Nakada et al.,“A Fully Parallel Vector-Quantization Processor for Real-Time Motion Picture Compression”, IEEE Journ. Solid-State Circuits, vol. 34, pp. 822-830, 1999）。
【００１１】
この方法では、先ず一連のデータが所定のビット数のブロックに分割され、次に、連想メモリの機能を用いて、コードブックの中で最も類似したベストマッチブロックが決定され、最終的にはただ１つのブロックの識別名が受信側に伝達される。このようにして伝達されたデータは、コードブックから再構成される。従って、受信側は極めて簡単な構造で実現することができる。
【００１２】
この技術は、特にビデオ映像信号の伝達に適合しており、ベクトル量子化と呼ばれている。本発明の連想メモリは、コンパクトな複数のチップ又は１チップのみで移動通信端末でのビデオ映像の帯域圧縮や人工知能システム、データバンクシステム等の分野で先行使用されるものである。
【００１３】
【発明が解決しようとする課題】
上記したように、従来のウィンナの検索方法には、入力データのユニット数Ｗや、参照データの数Ｒが大きくなれば検索回路の回路規模がいちじるしく増加し、このためチップの所要面積がいちじるしく増加し、検索に要する時間がＲ2に比例して長くなるという問題があった。
【００１４】
本発明は上記の問題点を解決すべくなされたものでＲ2に比例する回路数の増加を回避し、この増加をＲに比例するように抑制してチップ面積の小さい検索回路を備えた高速・並列検索が可能な連想メモリを提供し、携帯機器を含む移動通信やビデオ映像の帯域圧縮、人工知能等の分野に適用することを目的とする。
【００１５】
【課題を解決するための手段】
本発明の最小距離の検索機能に優れた高速・並列の連想メモリは、入力データのユニット数Ｗや、参照データの数Ｒが大きくなっても回路のいちじるしい増加が抑制され、チップ面積が小さく高速検索が可能なＣＭＯＳ回路により形成された連想メモリを提供することを特徴とする。
【００１６】
具体的には本発明の連想メモリは、Ｒ行、Ｗ列に配列された各ｋビット（Ｒ、Ｗ、ｋは自然数）のユニット蓄積器と、前記ユニット蓄積器にストアされた各ｋビットのユニットがＷ個配列されてなるＷ×ｋビットの入力データ及び参照データをワード長ｋビットのユニットごとに比較するＲ行、Ｗ列に配列されたユニット比較器と、前記ユニット比較器からの各行の出力データに対してビットごとに重み付けするワード重み付け比較器と、Ｒ行のロウデコーダと、Ｗ×ｋ列のカラムデコーダとを含むメモリアレイからなることを特徴とする。
【００１７】
好ましくはメモリアレイにおけるユニットは、バイナリコードデータから構成され、ユニットのビット数ｋは、入力データにマッチする参照データの検索にハミング距離を用いる場合にはｋ＝１であり、マンハッタン距離を用いる場合にはｋ＞１であることを特徴とする。
【００１８】
また、好ましくは入力データによる参照データの検索がハミング距離を用いて行われる場合において、ユニット蓄積器はＳＲＡＭ型メモリセルからなり、ユニット比較器は、ＳＲＡＭ型メモリセルを構成するラッチ回路の相補型出力部にそれぞれ接続された２入力ＥＸＯＲ回路又は２入力ＥＸＮＯＲ回路からなり、ワード重み付け比較器は、２入力ＥＸＯＲ回路又は２入力ＥＸＮＯＲ回路の出力部に接続された各１個のトランジスタ又は互いに直列接続された各２個のトランジスタからなることを特徴とする。
【００１９】
また、好ましくは入力データによる参照データの検索がマンハッタン距離を用いて行われる場合において、ユニット蓄積器は、ｋ（＞１）ビットの相補型入力部及び相補型出力部を備え、ユニット比較器は、相補型出力部の出力信号を相補型入力部の入力信号から減算して減算結果の絶対値を計算する機能を備え、ワード重み付け比較器は、ユニット比較器の出力部に接続された各１個のトランジスタ又は互いに直列接続された各２個のトランジスタからなることを特徴とする。
【００２０】
また、好ましくはワード重み付け比較器における出力データの重み付けは、ワード重み付け比較器を構成する各１個のトランジスタ又は互いに直列接続された各２個のトランジスタのいずれか１つのゲート幅とゲート長の比の値を重み付けに応じて選択することによりなされることを特徴とする。
【００２１】
また、好ましくは本発明の半導体連想メモリは、メモリアレイの各行に接続されたウィンナ・ラインアップ増幅器を備え、ウィンナ・ラインアップ増幅器は、ウィンナ／ルーザ距離増幅ユニットと、ウィンナ／ルーザ距離増幅ユニットに含まれるフィードバック信号生成部と、フィードバック信号生成部から出力されたフィードバック信号を用いてＷ行の各ワード重み付け比較器の比較信号をウィンナ／ルーザ距離増幅ユニットの増幅度が最大になるように制御する比較信号制御ユニットと、フィードバック信号をコード化することにより、ウィンナの一致の質を出力するフィードバック信号コード化部とをさらに具備することを特徴とする。
【００２２】
また、好ましくはウィンナ／ルーザ距離増幅ユニットは、フィードバック信号生成部と同様に、メモリアレイの各行に設けられたプッシュプル増幅回路及び非反転／反転イネーブル信号を受ける２個のトランジスタ及び補償容量からなり、フィードバック信号生成部は、プッシュプル増幅回路の出力をゲートに受けるメモリアレイの各行に設けられたソースフォロワ型プルダウントランジスタ、及び各プルダウントランジスタと直列に接続されたメモリアレイの全ての行に共通のプルアップトランジスタからなり、さらに好ましくは比較信号制御ユニットは、メモリアレイの各行に設けられた、ワード重み付け比較器からの出力信号電流を制御するパストランジスタ及び出力信号電流を中間電位に変換するソースフォロワ型プルアップトランジスタからなり、ソースフォロワ型プルアップトランジスタのゲートにはフィードバック信号が入力され、パストランジスタのゲートにはイネーブル信号が入力されることを特徴とする。
【００２３】
また、好ましくはウィンナ／ルーザ距離増幅ユニットは高速動作するＭｉｎ／Ｍａｘ型回路を含むフィードバック信号生成部と同様にメモリアレイの各行に設けられたカレントミラー型増幅回路と補償容量からなり、さらに好ましくは比較信号制御ユニットは、ワード重み付け比較器からの出力信号電流を中間電位に変換するソースフォロワ型プルアップトランジスタと、フィードバック信号の電圧レベルをシフトしてシフトされたフィードバック信号をワード重み付け比較器の各１個のトランジスタのソースにそれぞれ入力するレベルシフタからなることを特徴とする。
【００２４】
また、好ましくは本発明の半導体連想メモリは、メモリアレイの各行ごとに接続されたウィンナ・テイクオール回路をさらに備え、ウィンナ・テイクオール回路は、所要の際にのみ構成されるレベルシフタと、ウィンナ／ルーザ距離増幅ユニットのウィンナ／ルーザ距離出力信号をさらに増幅するためのｎ段（ｎは１以上の整数）のウィンナ・テイクオール増幅回路と、ウィンナ・テイクオール増幅回路のｎ段目の出力部に接続された最終決定回路とを具備することを特徴とする。
【００２５】
また、好ましくは本発明の半導体連想メモリは、メモリアレイの各行に接続されたウィンナ・テイクオール回路をさらに備え、ウィンナ・テイクオール回路は、レベルシフタと１段のウィンナ・テイクオール増幅回路からなり、レベルシフタは、１段のウィンナ・テイクオール増幅回路の増幅度が最大になるようにウィンナ・ルーザ距離増幅ユニットの出力信号電圧のレベルをシフトし、１段のウィンナ・テイクオール増幅回路は、レベルシフタの出力信号電圧を増幅回路の電流変化に変換するトランジスタと、増幅回路の電流変化をさらに１段のウィンナ・テイクオール増幅回路の出力信号電圧に変換するトランジスタとを含み、１段のウィンナ・テイクオール増幅回路は、その出力部に設けられた、１段のウィンナ・テイクオール増幅回路の出力信号電圧に適合するようにスイッチングしきい値電圧が設定されたインバータからなる最終決定回路を具備することを特徴とする。
【００２６】
また、好ましくは本発明の半導体連想メモリは、前記メモリアレイの各行に接続されたウィンナ・テイクオール回路をさらに備え、ウィンナ・テイクオール回路は、レベルシフタ、及びｎ段（ｎは２以上の整数）のウィンナ・テイクオール増幅回路を含み、レベルシフタは、１段目のウィンナ・テイクオール増幅回路の増幅度が最大になるように前記ウィンナ・ルーザ距離増幅ユニットの出力信号電圧のレベルをシフトし、１段目のウィンナ・テイクオール増幅回路は、レベルシフタの出力信号電圧を増幅回路の電流変化に変換するトランジスタ、及び増幅回路の電流変化をさらに１段目のウィンナ・テイクオール増幅回路の出力信号電圧に変換するトランジスタからなり、ｉ段目（ｉは１以上、ｎ以下の整数）のウィンナ・テイクオール増幅回路は、ｉ段目のウィンナ・テイクオール増幅回路の出力信号電圧をｉ段目のウィンナ・テイクオール増幅回路の増幅回路の電流変化に変換するトランジスタ、及びｉ段目のウィンナ・テイクオール増幅回路の増幅回路の電流変化をさらにｉ段目のウィンナ・テイクオール増幅回路の出力信号電圧に変換するトランジスタを含み、ｎ段目のウィンナ・テイクオール増幅回路は、その出力部に設けられたｎ段目のウィンナ・テイクオール増幅回路の出力信号電圧に適合するようにスイッチングのしきい値電圧が設定されたインバータからなる最終決定回路を具備することを特徴とする。
【００２７】
また、好ましくはフィードバック信号は、ワード重み付け比較器を構成する各１個のトランジスタのソース、又はワード重み付け比較器を構成する互いに直列接続された各２個のトランジスタのいずれか１つのゲートに入力されることを特徴とする。
【００２８】
また、好ましくはワード重み付け比較器を構成する各１個のトランジスタ、又はワード重み付け比較器を構成する互いに直列接続された各２個のトランジスタの導電型が反転される場合において、ウィンナ／ルーザ距離増幅ユニット及びフィードバック信号生成部をそれぞれ構成するトランジスタの導電型を反転し、ウィンナ／ルーザ距離増幅ユニット及びフィードバック信号生成部のイネーブル信号の極性を反転し、ウィンナ・テイクオール回路を構成するトランジスタの導電型を反転し、かつ、ウィンナ／ルーザ距離増幅ユニット及びフィードバック信号生成部及びウィンナ・テイクオール回路の電源端子と接地端子がそれぞれ入れ替えられることを特徴とする。
【００２９】
また、好ましくはウィンナ・ラインアップ増幅器、及びウィンナ・テイクオール回路を構成するトランジスタ数は、メモリ領域の行数Ｒに比例することを特徴とする。
【００３０】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係る連想メモリのブロック構成を示す図である。
【００３１】
図１に示す連想メモリにおいてメモリアレイ１は集積化されたユニット比較器ＵＣi,j（i＝１〜Ｒ，j＝１〜Ｗ）を備えるＲ行、Ｗ列データのユニット蓄積器ＵＳi,j（i＝１〜Ｒ，j＝１〜Ｗ）と、ワード重み付け比較器ＷＷＣi（i＝１〜Ｒ）から構成される。各ユニットは、それぞれｋビットで構成される。
【００３２】
メモリ領域１の左辺にはＲ行のロウデコーダが接続され、メモリ領域１の上辺には、各ｋビットのユニットＷ個からなる入力データの入力部が配置される。また、メモリ領域１の下辺にはＷ×ｋ列のカラムデコーダが接続され、各ユニット蓄積器ごとに読み出し／書き込みが行われる。
【００３３】
ハミング距離が使われる典型的な場合には、ｋ＝１となる。また、マンハッタン距離が使われる典型的な場合には、ｋ＞１であり、ユニットはコード化されたバイナリデータを表している。ウィンナの選択は、Ｏ(Ｒ)の２個の機能ブロックにより実行される。
【００３４】
その１は、ウィンナ・ラインアップ増幅器（winner line-up amplifier; ＷＬＡ）２であり、ウィンナとルーザ（以下入力データに類似しない参照データをルーザ(loser)と呼ぶ）の距離の差を最初の増幅段階で最も大きく増幅するために比較信号Ｃi（ｉ＝１〜Ｒ）のレベルを制御する。
【００３５】
その２は、ウィンナ・テイクオール回路（winner take-all circuit; ＷＴＡ）３であり、ＷＬＡ ２の出力信号ＬＡi（ｉ＝１〜Ｒ）を入力して一致信号Ｍi（ｉ＝１〜Ｒ）を出力する。一致信号Ｍiでは、ウィンナ行の信号は“１”であり、その他全ての行の信号は“０”である。なお、ＷＬＡ ２の入力部には、ＷＷＣiの比較信号Ｃi（ｉ＝１〜Ｒ）が入力され、ＷＬＡからはフィードバック信号ＦがＷＷＣiに返される。
【００３６】
以下の実施形態で説明するように、図１に示す連想メモリの高速・並列の最小距離検索機能を実現するため、次の２つの事項に留意して設計が進められた。
【００３７】
その１は、図１に示す機能ブロックにおいて、入力データと参照データとを比較し、ＷＷＣiの比較信号Ｃiとして大小の電流を高速に出力する。このため、アナログ原理を用いた高速なＷＷＣiを実現する。
【００３８】
これを構成するトランジスタは、例えば入力データと参照データとの間の不一致ビットに対応してオンするようにし、良い一致と悪い一致の相違を電流の大きさに素早く対応させる。
【００３９】
その２は、ウィンナ・ラインアップ増幅器ＷＬＡの優れた増幅原理を実現する。この回路を用いて検索可能な全ての場合に対し、ウィンナ／ルーザ間の距離の増幅度が全ての可能な場合に対して最大となるように、フィードバック信号を用いてウィンナ行のＷＷＣiの出力レベルを制御する。
【００４０】
＜第２の実施形態＞
次に、図２（ａ）、図２（ｂ）を用いて、第２の実施形態について説明する。第２の実施形態では、ハミング距離を求めるためのメモリ領域の具体的な回路構成について説明する。
【００４１】
ハミング距離を求めるために、ｎチャネルＭＯＳ電界効果トランジスタ（以下ｎＭＯＳと呼ぶ）及びｐチャネルＭＯＳ電界効果トランジスタ（以下ｐＭＯＳと呼ぶ）を用いて、ＳＲＡＭセルからなる１ビットのユニット蓄積器ＵＳ（以下ＵＳi,jの総称をＵＳとする）に、１ビットのユニット比較器ＵＣ及びワード重み付け比較器ＷＷＣ（以下ＵＣi,j、ＷＷＣiの総称をＵＣ、ＷＷＣとする）を集積化した回路が、それぞれ図２（ａ）、図２（ｂ）に示されている。
【００４２】
図２（ａ）、図２（ｂ）において、ＵＳはｎＭＯＳ Ｑ1、Ｑ2及びインバータＩ1、Ｉ2からなるラッチ回路から構成される、入力データＳＷ（以下ＳＷjの総称をＳＷとする）及び反転入力データ／ＳＷは、それぞれＵＳのカラム線及び相補カラム線に入力される。参照データはＵＳにストアされている。ＵＳのｎＭＯＳ Ｑ1、Ｑ2は、カラム線が新たな参照データのＵＳへの書き込み、又は参照データのＵＳからの読み出しに用いられるような、異なる動作モードの時にのみワード線ＷＬ（以下ＷＬiの総称をＷＬとする）で選択される。
【００４３】
図２（ａ）において、ＵＣとＷＷＣの機能は、３個のｎＭＯＳ Ｑ3、Ｑ4、Ｑ5のみで実現することができる。そのうち、ＵＣを構成する２個のｎＭＯＳ Ｑ3、Ｑ4は、入力データＳＷ及び／ＳＷとＵＳにストアされた参照データとを比較し、一致又は不一致のビットを決定するためのＥＸＯＲ機能を実現するのに用いられ、ＷＷＣのｎＭＯＳ Ｑ5は、ＥＸＯＲの出力を比較信号Ｃ（以下Ｃiの総称をＣとする）に寄与させるために用いられる。
【００４４】
入力データと参照データが一致すれば、“０”（ＶＳＳ）に相当する値が入力データＳＷ及び反転入力データ／ＳＷからｎＭＯＳ Ｑ3、Ｑ4を用いて選択され、Ｑ5のゲートに接続されてＷＷＣのｎＭＯＳ Ｑ5はオフ状態になる。入力データと参照データが不一致であれば、“１”（ＶＤＤ）に相当する値が入力データＳＷ及び反転入力データ／ＳＷからｎＭＯＳ Ｑ3、Ｑ4を用いて選択され、Ｑ5のゲートに接続されてＷＷＣのｎＭＯＳ Ｑ5はオン状態になる。
【００４５】
従って、ウィンナ行（不一致ビットの合計が最も小さい行）では、比較信号Ｃの信号電流が最小となるので、ハミング距離は、各ＵＣにそれぞれ接続されるＷＷＣのｎＭＯＳ Ｑ5のゲート幅及びゲート長を全て等しくする（重み付けを等しくする）ことで求められる。このとき、ＷＷＣの出力ビットごとにｎＭＯＳ Ｑ5のゲート幅とゲート長の比を変化すれば、任意の重み付けでウィンナの検索が可能になり、任意の尺度の距離に対応できることはいうまでもない。
【００４６】
図２（ｂ）には、ＵＣ及びＷＷＣをｐＭＯＳ Ｑ6、Ｑ7、Ｑ8を用いて構成する例が示されている。この場合にも、入力データと参照データが不一致であればＷＷＣのｐＭＯＳ Ｑ8はオン状態になり、入力データと参照データが一致すればｐＭＯＳ Ｑ8はオフ状態になる。
【００４７】
＜第３の実施形態＞
次に、図３を用いて第３の実施形態について説明する  。
【００４８】
第３の実施形態では、マンハッタン距離を求めるためのメモリ領域の回路構成について説明する  。
【００４９】
図３には、コード化されたバイナリデータ（ｋ＞１）を各ユニット蓄積器ＵＳに付与することでマンハッタン距離を求めるために、ユニット蓄積器ＵＳ、ユニット比較器ＵＣ、及びワード重み付け比較器ＷＷＣを集積化した回路が示されている。図３に示すように、マンハッタン距離を求めるためのＵＳ及びＵＣは、それぞれｋビットの２個のユニットをストアする回路と、ストアされた参照ユニットから入力ユニットを減算し計算結果の絶対値を出力する回路を用いてそれぞれ構成される。
【００５０】
ｋビットユニットのＷＷＣ部は、例えばそれぞれｋ個のｐＭＯＳ（例えば、Ｑ1,1〜Ｑ1,k）で構成される。なお、これらのｐＭＯＳのゲート長とゲート幅の割合は、図３に示すように、データを構成するビットの重み（例えば２進数の桁）に対応して選択される。
【００５１】
例えば、ｋビットの第１グループバイナリコードデータについて、ＵＳにストアされたｋビットの参照データからｋビットの入力データＳＷ、／ＳＷを減算した後、最上位ビットに“１”が出力されると、これに対応するｐＭＯＳ Ｑ1,kがオン状態となり、そのゲート長／ゲート幅の比が２k-1Ｗ0／Ｌ0（Ｗ0は最下位ビットのゲート幅、Ｌ0は最下位ビットのゲート長）に設定されるので、電源電圧ＶＤＤから大きな信号電流が流れる。このようにして、最上位ビットから最下位ビットまで、ビットの順位に応じて重み付けされた比較信号Ｃに寄与する電流を得ることができる。
【００５２】
＜第４の実施形態＞
次に、図４を用いて、第４の実施形態について説明する  。
【００５３】
第４の実施形態では、本発明の主要部分をなす連想メモリのウィンナ・ラインアップ増幅器ＷＬＡ ２のブロック構成について説明する。
【００５４】
図４に示すＷＬＡ ２は、ワード重み付け比較器ＷＷＣiで生成された比較信号Ｃi（ｉ＝１〜Ｒ）の電流の大きさを電圧信号に変換する機能を備える比較信号制御ユニット（ＳＲ）２１と、フィードバック信号Ｆの生成部、及びウィンナ／ルーザ・距離増幅ユニット２２と、入力データと参照データの一致の質（ウィンナの距離）を任意にコード化する機能を備える比較器からなるフィードバック信号コード化部２３から構成される。
【００５５】
ここで発生したフィードバック信号Ｆは、ＳＲ ２１、フィードバック信号コード化部２３、及び適当であればワード重み付け比較器ＷＷＣiにフィードバックされ、連想メモリの検索能力を高める効果がある。なお、ＥｎはＷＬＡ ２のイネーブル信号、ＬＡi（ｉ＝１〜Ｒ）はウィンナ／ルーザ・距離増幅ユニットの増幅された出力信号である。
【００５６】
＜第５の実施形態＞
次に、図５を用いて第５の実施の形態について説明する。
第５の実施の形態では、ウィンナ・ラインアップ増幅器ＷＬＡ ２の簡単な回路構成例について述べる。図５に示す回路規模Ｏ（Ｒ）のＷＬＡ ２は、それぞれ１行当り７個程度のトランジスタで構成される。この場合ＷＷＣへのフィードバックはメモリ領域の面積を最小にするため使用していない。
【００５７】
図５に示すＷＬＡ ２の回路構成では、２個のｎＭＯＳ Ｑ21、Ｑ22を用いて各Ｃi（ｉ＝１〜Ｒ）の比較信号制御ユニット２１を構成している。ｎＭＯＳ Ｑ21は、ＷＬＡ ２をイネーブル信号Ｅｎで活性化／不活性化させたり、ＷＷＣの電流を制御するパストランジスタであり、ｎＭＯＳ Ｑ22は、ＷＷＣの電流の大きさを中間電位ＶＩ（図５の例では同じ行のＶＩ1）に変換するソースフォロワー構成のプルアップトランジスタである。なお、ｎＭＯＳ Ｑ22のゲートには、フィードバック信号生成部２２ｂをなすｎＭＯＳ Ｑ25のソースフォロワー出力（フィードバック信号Ｆ）が入力される。
【００５８】
ウィンナ／ルーザ・距離増幅ユニット２２ａは、イネーブル信号Ｅnを受けるｎＭＯＳ Ｑ23、ｎＭＯＳ Ｑ24と、インバータＩ3からなるプッシュプル増幅器（ＰＰＡ）と、各行の補償容量Ｃを備える。ＷＬＡ ２が不活性の場合、低レベルのＥｎがｎＭＯＳ Ｑ23をオフとし、インバータＩ4を介して高レベルとなった高レベルのＥｎがｎＭＯＳ Ｑ24をオン状態にする。その結果、ＰＰＡの入力が０Ｖ（接地電位）になる。
【００５９】
もし、イネーブル信号Ｅｎを高レベルであればＷＬＡ ２が活性化し、インバータＩ3によるプッシュプル増幅が行われる。補助キャパシタＣはＷＬＡの十分な動作マージンを確保する役割を果たしている。
【００６０】
フィードバック信号Ｆは、ＷＬＡ ２の各行の出力をそれぞれゲートに受けるソースフォロワー構成のプルダウンｐＭＯＳ Ｑ25と、これらに直列に接続されたＷＬＡ ２の全ての行に共通なプルアップｐＭＯＳ Ｑ26により生成される。実際の回路動作では、ウィンナの行に流れる電流の大きさが最小になるので、ウィンナの行の中間電位ＶＩwinは最も高くなり、インバータＩ3を介して出力されるＰＰＡの出力電位ＬＡwinは最も低くなる。
【００６１】
従って、フィードバック信号Ｆの電圧はウィンナの行で次のように定められる。Ｖth,pをｐＭＯＳ Ｑ25のしきい値電圧として、
【数２】
0003731046.tif 000003
【００６２】
その結果、ウィンナの行のＳＲユニットに流れる電流の大きさが、ウィンナの行のＷＷＣを流れる電流の大きさとバランスがとれた時、ＷＬＡはＰＰＡの増幅が最大となる領域で動作する。このとき、ウィンナの行の中間電位はＶＩWINとなり、ウィンナが安定して選択される状態になる。
【００６３】
このようにＷＬＡ回路は、全ての可能な場合において、ＰＰＡによる距離増幅が最大となる領域に各信号を自動的に制御する機能を備えている。従って、ＷＬＡ設計上の留意点は、トランジスタ・パラメータが製造プロセス上の最悪条件になった場合でも、大きな制御範囲でＷＬＡ回路が動作するように設計することである。
【００６４】
次に図６を用いて、ＷＬＡの動作について、さらに具体的に説明する。
図６（ａ）、図６（ｂ）、図６（ｃ）は、ＰＰＡの電流／電圧増幅特性を示すものであり、さらにウィンナ行及びルーザ行からのＰＰＡの入力（ＷＬＡの入力）とＰＰＡの出力（ＷＬＡの出力）の相互関係を示している。
【００６５】
図６（ａ）は、比較信号制御ユニットＳＲによる比較信号Ｃの制御不足の状態を示している。すなわち、ウィンナ行に対応する比較信号Ｃの電流が過大であり、従ってＰＰＡの入力信号電圧が低下し、ウィンナ行及びウィンナ行より比較信号Ｃの電流が大きい最近接ルーザ行に対応するＰＰＡの入力信号電圧が低下し、さらに比較信号Ｃの電流が大きい他のルーザ行に対応するＰＰＡの入力信号電圧がさらに低くなり、ＰＰＡの出力が増幅特性上（Ｉ3のインバータ特性上）の高レベル側に外れた状態を示している。この場合には、ウィンナ行と最近接ルーザとのＷＬＡによる識別が困難になる。
【００６６】
図６（ｂ）は、比較信号制御ユニットＳＲによる比較信号Ｃの制御過剰の状態を示している。このような場合には、上記の議論からウィンナ行より信号電流が大きい最近接ルーザ行に対応する出力電圧がＰＰＡの増幅特性曲線上、低レベル側に集まり、さらに信号電流が大きい他のルーザ行に対応する出力電圧がこれに続くので、図６（ａ）と同様、ウィンナ行と最近接ルーザとのＷＬＡによる識別が困難になる。
【００６７】
これに対して図６（ｃ）の状態では、図５に示すフィードバック回路が良好に動作して、ウィンナ行の動作点と最近接ルーザ行の動作点が、共にＰＰＡの増幅特性曲線上の最大増幅を与える領域に自動的に制御される場合が示されている。このとき、ウィンナ／ルーザ間距離の最大増幅出力電圧が得られ、連想メモリにおいて、入力データによる参照データの検索が最良の状態で行われることになる。
【００６８】
もし、図５に示す第５の実施の形態と同様に、図２（ｂ）又は図３に示すようにｐＭＯＳがＷＷＣiに用いられる場合には、FIG.5に示すｎＭＯＳ Ｑ21乃至Ｑ24をｐＭＯＳに、ｐＭＯＳ Ｑ25、Ｑ26をｎＭＯＳに置き換え、イネーブル信号Ｅｎの極性を反転し、電源端子ＶＤＤと接地端子を入れ替えねばならない。
【００６９】
＜第６の実施形態＞
次に、図７、図８を用いて第６の実施形態について説明する。
第６の実施形態では、ウィンナ・ラインアップ増幅器ＷＬＡからワード重み付け比較器ＷＷＣへのフィードバック信号Ｆの入力方法と、フィードバック信号ＦによるＷＷＣからの比較信号Ｃの出力制御について説明する。
【００７０】
図７に示すＷＷＣiは、例えば１ビットのユニット比較を行うＵＣi,jの出力をゲートに受けるｐＭＯＳ Ｑ41と、ＷＬＡからのフィードバック信号Ｆをゲートに受けるｐＭＯＳ Ｑ42との直列接続回路で構成される。フィードバック信号Ｆが増加すればｐＭＯＳＱ42がさらにオフ側に変化するので、プルアップトランジスタ（図５のＱ22）を介してＶＤＤに接続されたＷＷＣiの比較信号電流Ｃiが減少することでＣiを制御することができる。なお、図７に示すＷＷＣiは、比較信号電流Ｃiの制御の利得は大きいが、メモリ領域内において、１ビット当り１個のトランジスタを追加する必要がある。
【００７１】
図８に示すＷＷＣiは、例えば１ビットのユニット比較を行うＵＣi,jからの出力をゲートに受けるｎＭＯＳ Ｑ43のみで構成される。ＷＬＡからのフィードバック信号ＦはｎＭＯＳ Ｑ43のソースに入力される。このようにしてフィードバック信号Ｆが増加すれば、ｎＭＯＳ Ｑ43のドレイン電流が減少することでＷＷＣiの比較信号電流Ｃiを制御することができる。図８のＷＷＣiはトランジスタ数は少ないが、メモリ領域内において、１ビット当り１本の配線を追加する必要がある。
【００７２】
ＷＷＣにおいてフィードバックを用いる利点は、特に大きな距離の場合、ＷＷＣから出力されるウィンナと最近接ルーザとの出力差の増幅が製造プロセスのばらつきによらずに改善されることである。
【００７３】
＜第７の実施形態＞
次に、図９を用いて、第７の実施形態について説明する。
第７の実施形態では、先に第５の実施形態で説明したウィンナ・ラインアップ増幅器ＷＬＡの改良回路と、メモリ領域において重み付きワード比較を行うＷＷＣへのフィードバック信号Ｆの転送を行う具体的方法について説明する。
【００７４】
図９に示すＷＬＡ ２ａは、図５のＷＬＡ ２を改良した増幅回路の一例である。ＷＬＡ ２ａでは、ウィンナとルーザとの間の距離の増幅に、増幅度の高いカレントミラー回路が用いられ、高速動作するＭｉｎ／Ｍａｘ型回路（例えば、R. G. Carvajal et al.,“High-Speed High-Precision Min/Max Circuit in CMOS Technology”, Electronics Letters, vol. 36, pp. 697-699, 2000参照）をフィードバック信号Ｆを生成する回路や、ウィンナとルーザとの距離をさらに大幅に増幅する回路に使用している。
【００７５】
これらの回路を用いたＷＷＣ／ＷＬＡ回路は、ウィンナとルーザとの距離の検索可能な範囲を１，０００ビット乃至１０，０００ビットに拡大することができ、かつ比較信号制御ユニットＳＲ ２１ａにおける消費電力を０．１ｍＷ以下にすることが可能である。
【００７６】
第７の実施形態のＷＬＡ ２ａは、図５のプッシュプル増幅器ＰＰＡの代わりに、より増幅度の高いｎＭＯＳ及びｐＭＯＳ Ｑ64乃至Ｑ69を用いた高速動作のカレントミラー増幅器を使用している。さらにフィードバック回路は、全ての行に共通なｐＭＯＳＱ77と共に各行に設けられたｎＭＯＳ及びｐＭＯＳ Ｑ70乃至Ｑ76からなるＭｉｎ／Ｍａｘ回路で構成される。フィードバック信号Ｆ2は、フィードバック信号Ｆ2の電圧レベルをほぼｎＭＯＳ Ｑ62のしきい値電圧だけシフトダウンさせ、本来ＶＳＳを供給するＷＷＣの端子に入力される（図８参照）。
【００７７】
フィードバック信号が変化すれば、ＷＷＣを構成するトランジスタのソース／ドレイン間電圧も変化するので、ＷＷＣの出力にはフィードバックの効果が２乗の効果として現れる、このため、図５に示すＷＬＡ ２と比較して、製造プロセスの変動によらず、特に入力データに対して大きな距離のウィンナとルーザの違いを増幅することができる。
【００７８】
なお、第７の実施形態において、図９に示すＷＷＣとして、図２（ｂ）又は図３に示すようにｐＭＯＳを用いる場合には、図９に示すｎＭＯＳをｐＭＯＳに、ｐＭＯＳをｎＭＯＳに置き換え、イネーブル信号Ｅｎの極性を反転し、電源端子ＶＤＤと接地端子を入れ替えねばならない。
【００７９】
＜第８の実施形態＞
次に、図１０を用いて第８の実施形態について説明する。
第８の実施形態では、ウィンナ・テイクオール回路ＷＴＡ ３の構成について説明する。
【００８０】
図１０に示す回路規模Ｏ（Ｒ）のＷＴＡ ３は、それぞれ１行当り１０個程度のトランジスタを用いて構成される。先ずｎＭＯＳ Ｑ31、Ｑ32からなるレベルダウンシフタを用いて、ＷＴＡの増幅度が大きい領域で動作するようにＷＬＡの出力信号ＬＡを制御する。このレベルダウンシフタは出力信号ＬＡのレベルダウンが必要な場合にのみ設けられる。
【００８１】
ここで、ＷＴＡ段とよばれるこの回路の主要部は、Lazzaro等が提案している共通のソースフォロワＱ35（第１段ＷＴＡ）又はＱ38（第２段ＷＴＡ）を有するＷＴＡ回路である（J. Lazzaro et al.,“Winner-Take-All network of O(N) complexity”, in Advances in Neural Information Processing Systems, I. D. S. Touretzky Ed., San Mateo, CA: Morgan Kaufmann, 1989）。そして、決定回路により最終的にディジタルな検索結果が出力される。
【００８２】
トランジスタＱ33、Ｑ34、Ｑ35からなる第１段のＷＴＡ ３２は、レベルダウンシフタ３１の出力電圧を電流に変換するためｐＭＯＳ Ｑ34を用いている。ＷＬＡ ２の出力電圧ＬＡは、ウィンナ行において最も低くなるので、ウィンナ行におけるレベルダウンシフタの出力電流もまた最小になる。このため、ウィンナ行のトランジスタＱ34を流れる電流は最大になる。この最大電流は、第１段のＷＴＡ ３２の出力部の最大電圧に変換され、その他の全ての行の出力は実質的に抑制される。
【００８３】
第２段のＷＴＡ ３３も、第１段と同様に電圧／電流／電圧の変換を実行し、ウィンナとルーザとの距離をさらに増幅する。ウィンナの電圧は、この第２段のＷＴＡ ３３の出力において最も低くなる。最終決定回路３３ａは、スイッチングしきい値電圧が第２段のＷＴＡ ３３の出力電圧レベルに適合するように設定されたインバータＩ5で構成される。この回路により、一致信号Ｍとしてウィンナ行に“１”が出力され、その他のルーザ行には全て“０”が出力される。
【００８４】
なお、第８の実施形態において、ウィンナ・テイクオール回路が２段のＷＴＡで構成される場合を例として説明したが、ウィンナ・テイクオール回路は３段以上のＷＴＡで構成することもできるし、１段のＷＴＡで構成することも可能である。また、図２（ｂ）、図３のように、ＷＷＣとしてｐＭＯＳを用いる場合には、図１０のｎＭＯＳをｐＭＯＳに、ｐＭＯＳをｎＭＯＳに置き換え、電源端子ＶＤＤと接地端子を入れ替えねばならない。
【００８５】
＜第９の実施形態＞
次に、図１１乃至図１３を用いて、第９の実施形態について説明する。
【００８６】
第９の実施形態では、ＣＭＯＳ技術を用いて製造された本発明の連想メモリチップとその性能について説明する。
最小線幅０．６μｍのＣＭＯＳ技術を用いて製造された３２行から１２７ビットまでのウィンナを検索可能な、最小ハミング距離検索用の連想メモリのチップを図１１に示す。この連想メモリチップは、図５に示す第５の実施の形態に係るウィンナ・ラインアップ増幅器ＷＬＡ ２、及び図１０に示す第８の実施形態に係るウィンナ・テイクオール回路ＷＴＡ ３を用いて設計された。
【００８７】
チップ中央部に３２行１２８列のメモリアレイが形成され、ハミング距離による検索を用いるため、メモリアレイにはビット（セル）ごとの蓄積セル（ＳＣ）、及びビット比較部（ＢＣ）、及び重み付けされないワード比較部（ＷＣ）から構成される。
【００８８】
チップの上辺には、１２８ビットのワード検索部（Search Word）が配置され、チップの下辺には、カラムデコーダ及び読み出し／書き込み部（column decode and read/write）が配置される。チップの右辺には、ＷＬＡ、ＷＴＡ、及び出力を取り出すセレクタが配置される。ここで、ＷＬＡ、ＷＴＡ回路は、１．５７ｍｍ2のチップサイズの小さい連想メモリの内、全体の１４．３％とごく僅かな領域を占めるに過ぎない。
【００８９】
次に、図１２を用いて、図１１の連想メモリチップのウィンナ検索時間のシミュレーション結果について説明する。図１２は、ウィンナ／ルーザ間の距離がそれぞれ１ビット、２ビット、５ビット、１０ビットの場合について、ウィンナを検索するのに要する時間をウィンナ／入力間距離の関数として示したものである。
【００９０】
図１２から、５０ビット程度の中間の距離では、検索時間を５０ｎｓｅｃ以下にすることができるが、それ以上の距離では検索時間が増加し、ウィンナの距離が最大の１２７ビットに達すれば、検索時間は１６０ｎｓｅｃになる。
【００９１】
ＷＬＡ回路を図９に示す第７の実施形態で説明したように改良すれば、不一致ビットが１０００ビットのウィンナにおいて、ウィンナとルーザの距離が僅か１ビットでウィンナ／入力間の距離が大であっても検索時間が１００ｎｓｅｃ以下になる可能性があることがシミュレーションの結果明らかにされた。
【００９２】
このように、本発明の連想メモリアキテクチャは、大きな検索マージンを備えているので、「良い一致」、すなわち、ウィンナ／入力間の距離が小さいか、又は、ウィンナとルーザとの距離の差が大きい場合においても信頼性が高い。また、「悪い一致」、すなわち、ウィンナ／入力間の距離が大きく、かつ、ウィンナとルーザとの距離の差が小さい場合には、検索マージンが小さく信頼性も低下するが、なお実用レベルを維持することができる。
【００９３】
ウィンナ行と最近接ルーザ行間におけるＷＬＡにより制御されたＷＣ出力の差を図１３に示す。ウィンナ／最近接ルーザ間の距離がそれぞれ１ビット、２ビット、５ビット、１０ビットの場合について、ウィンナ／ルーザの比較信号差（ＣW−ＣL）がウィンナ／入力間の距離の関数として示されている。図１３の結果から極めて「良い一致」の場合には比較信号差が数１００ｍＶに達するが、極めて「悪い一致」の場合には比較信号差が２ｍＶ乃至３ｍＶと、小さくなることがわかる。このように、比較信号差の大きさが一致の質を与える量となる。
【００９４】
本発明の連想メモリアーキテクチャは、フィードバック回路による自己整合的なＷＬＡの制御により、距離の情報を安定にコード化することができるので、製造プロセスの変動やノイズの変動に対する許容範囲が大きいという特徴がある。また、図５及び図１０で説明したＷＬＡ及び図１０で説明したＷＴＡの回路において、回路に用いるトランジスタ数（回路の集積度）が、メモリアレイの行数（参照データの数）Ｒに比例するという特徴がある。しかし、チップ内におけるトランジスタパラメータのばらつきが、一致信号の出力部では誤動作の原因となり、ウィンナを正確に検索できる範囲を制限する可能性が残されている。
【００９５】
なお本発明は上記の実施の形態に限定されることはない。その他本発明の要旨を逸脱しない範囲で、種々変形して実施することができる。
【００９６】
【発明の効果】
従来人工知能システムは、面積効率の高いハードウエアを実現することが不可能であったため、高性能なコンピュータシステム上に複雑なソフトウエアを用いて構築されることが一般的であったが、上述したように本発明の連想メモリによれば、コンパクトな複数のチップ又は１チップのみでパターン認識や人工知能システム、データバンクシステム等を実現することが可能になる。
【図面の簡単な説明】
【図１】第１の実施形態に係る連想メモリのブロック構成図。
【図２】第２の実施形態に係るハミング距離を用いたユニット比較器及びワード重み付け比較器の回路構成を示す図であって、
（ａ）は、ワード重み付け比較器にｎＭＯＳを用いた回路構成を示す図。
（ｂ）は、ワード重み付け比較器にｐＭＯＳを用いた回路構成を示す図。
【図３】第３の実施形態に係るマンハッタン距離を用いたユニット比較器及びワード重み付け比較器の回路構成を示す図。
【図４】第４の実施形態に係るウィンナ・ラインアップ回路のブロック構成図。
【図５】第５の実施形態に係る簡単なウィンナ・ラインアップ回路を示す図。
【図６】ウィンナ・ラインアップ回路の原理を示す図であって、
（ａ）は、制御不足の場合を示す図。
（ｂ）は、制御過剰の場合を示す図。
（ｃ）は、最適制御の場合を示す図。
【図７】ワード重み付け比較器の構成と、フィードバック方法を示す図。
【図８】ワード重み付け比較器の他の構成とフィードバック方法を示す図。
【図９】第７の実施形態に係るワード重み付け比較器へのフィードバック回路を設けた、改良されたウィンナ・ラインアップ回路の構成を示す図。
【図１０】第８の実施形態に係るウィンナ・テイクオール回路の構成を示す図。
【図１１】第９の実施形態に係るＣＭＯＳ連想メモリのチップを示す画像。
【図１２】ウィンナ／最近接ルーザ間距離をパラメータとして、ウィンナ検索時間をウィンナ／入力間距離の関数としてシミュレーションにより求めた図。
【図１３】ウィンナ／最近接ルーザ間距離をパラメータとして、比較信号差をウィンナ／入力間距離の関数としてシミュレーションにより求めた図。
【符号の説明】
１…メモリアレイ
２…ウィンナ・ラインアップ増幅器（ＷＬＡ）
２ａ…改良ウィンナ・ラインアップ増幅器
３…ウィンナ・テイクオール回路（ＷＴＡ）
２１、２１ａ…比較信号制御ユニット（ＳＲ）
２２…フィードバック信号生成部及びウィンナ／ルーザ距離増幅ユニット
２２ａ、２２ｃ…ウィンナ／ルーザ距離増幅ユニット
２２ｂ、２２ｄ…フィードバック信号生成部
２３…フィードバック信号コード化部
３１…レベルシフタ
３２…第１段ウインナ・テイクオール回路
３３…第２段ウインナ・テイクオール回路
３３ａ…最終決定回路
【図１】
0003731046.tif 000004
【図２】
0003731046.tif 000005
【図３】
0003731046.tif 000006
【図４】
0003731046.tif 000007
【図５】
0003731046.tif 000008
【図６】
0003731046.tif 000009
【図７】
0003731046.tif 000010
【図８】
0003731046.tif 000011
【図９】
0003731046.tif 000012
【図１０】
0003731046.tif 000013
【図１１】
0003731046.tif 000014
【図１２】
0003731046.tif 000015
【図１３】
0003731046.tif 000016