JPH0312896A - Semiconductor memory - Google Patents

Semiconductor memory

Info

Publication number
JPH0312896A
JPH0312896A JP14744089A JP14744089A JPH0312896A JP H0312896 A JPH0312896 A JP H0312896A JP 14744089 A JP14744089 A JP 14744089A JP 14744089 A JP14744089 A JP 14744089A JP H0312896 A JPH0312896 A JP H0312896A
Authority
JP
Japan
Prior art keywords
comparison
data
output
code
bits
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.)
Pending
Application number
JP14744089A
Other languages
Japanese (ja)
Inventor
Yoshinobu Komagata
駒形 善信
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP14744089A priority Critical patent/JPH0312896A/en
Publication of JPH0312896A publication Critical patent/JPH0312896A/en
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

PURPOSE:To decode a variable length code and to improve the performance of CAM by providing address information of m-number of words in an output data memory and deciding one word concerned from m-number of words as address information of content coincidence based on a comparison result from m-number of comparison circuits. CONSTITUTION:M-number of comparison circuits 13 in a comparison means hold code data and comparison masks and compare external information with code data as to the bits of a specified value designated by comparison masks when external information having the number of total codes (m) having the length of maximum (n) bits. The output data memory decides one word concerned from m-number of words as address information of content coincidence. Thus, individual comparison masks are held for data one word even in the case of the variable length code and the bits corresponding to the variable length code are compared with code data. Thus, the variable length code can be decoded and performance can be improved.

Description

【発明の詳細な説明】 〔概要〕 CAMと称される半導体記憶装置に関し、可変長符号の
デコードを可能にして性能向上を図ることのできる半導
体記憶装置を提供することを目的とし、 外部情報とメモリ内容を比較手段で比較し、比較の結果
、外部情報と一致すると、内容一致のアドレス情報を出
力データメモリから外部に出力する半導体記憶装置にお
いて、前記比較手段は、外部情報の総符号数mに対応し
てm個の比較回路を有し、該比較回路は、メモリ内容と
して符号データと比較マスクの2つのパラメータを保持
し、最大nビットの長さをもつ総符号数mの外部情報を
りF部から入力したとき、前記比較マスクにより指定さ
れる特定の値のビットのみ外部情報と前記符号データを
比較し、比較した結果を出力データメモリに伝えるよう
に構成し、前記出力データメモリは、mワードのアドレ
ス情報を有し、m個の比較回路からの比較結果に基づい
てmワードのうちから該当する1つのワードを内容一致
のアドレス情報として決定するように構成する。
[Detailed Description of the Invention] [Summary] The purpose of this invention is to provide a semiconductor memory device called CAM that can decode variable length codes and improve performance. In the semiconductor memory device, the memory contents are compared by a comparison means, and when the comparison results in a match with external information, the address information of the contents matching is outputted from the output data memory to the outside, the comparison means is configured to compare the total number m of codes of the external information. The comparator circuit holds two parameters, code data and comparison mask, as memory contents, and stores external information of a total number m of codes with a maximum length of n bits. When input from the F part, only bits of a specific value specified by the comparison mask are compared with the external information and the code data, and the comparison result is transmitted to the output data memory, and the output data memory , m words of address information, and is configured to determine one corresponding word from among the m words as address information whose content matches, based on the comparison results from the m comparison circuits.

〔産業上の利用分野〕[Industrial application field]

本発明は、半導体記憶装置に係り、詳しくは、CA M
 (Content Addressable Mem
ory)と称される半導体記憶装置に関する。
TECHNICAL FIELD The present invention relates to a semiconductor memory device, and more particularly, the present invention relates to a semiconductor memory device.
(Content Addressable Mem
The present invention relates to a semiconductor memory device called ``ory''.

CAMは外部から与えられたデータと同じデータを保持
しているアドレスを出力することができるメモリであり
、例えばコンピュータのキャソンユメモリ等に用いられ
ている。
A CAM is a memory capable of outputting an address holding the same data as data given from the outside, and is used, for example, in a computer's cassette memory.

〔従来の技術〕[Conventional technology]

通常のメモリが記憶セルの番地を指定して記憶データの
読出し、書込みを行うのに対して、CAMは検索データ
(interrogative data)を入力して
、これと記憶データの内容が一致する記憶セル群(該当
するワード)を探し出し、このワードに属する記憶デー
タを読出している。すなわち、セルアレーのピント幅よ
り小さいビット数の検索データを入力し、検索データの
ないピッ1−は検索の不要なビットであり、検索中マス
クされる。次いで、検索データと各ワードの記憶データ
との照合が全ワード同時に実行され、一致検索が成立し
たワードにフラグ(responding flag)
が立てられる。
While normal memory reads and writes stored data by specifying the address of the storage cell, CAM inputs search data (interrogative data) and searches for a group of storage cells whose contents match the stored data. (corresponding word) and reads the stored data belonging to this word. That is, search data with a number of bits smaller than the focus width of the cell array is input, and the bits 1- for which there is no search data are unnecessary bits for the search and are masked during the search. Next, matching of the search data and the stored data of each word is executed simultaneously for all words, and a flag (responding flag) is set for the word for which a matching search is established.
is erected.

致検索が成立したワードが複数個あれば、その中の1ワ
ードが選択され、記憶データが読出しされる。なお、C
AMはこの検索機能のほかに、番地指定によって記憶デ
ータの読出し、書込みを行う通常のメモリ機能をも併せ
もつ必要がある。
If there are a plurality of words for which a matching search has been established, one word among them is selected and the stored data is read out. In addition, C
In addition to this search function, the AM must also have a normal memory function for reading and writing stored data by specifying an address.

CAMにおける基本セルの論理的構成例は第8図のよう
に番地指定用のワード線Siと読出し、書込み情報を通
すデータ線DI、Dixをもち、MOS)ランジスタQ
l、Q4およびメモリセルlからなる通常のメモリセル
素子の他にMO3I−ランジスタQ2.Q3.Q4.Q
6からなりメモリセル1の出力と検索データ(比較結果
のデータムこ相当)との間の排他的論理和(exclu
sive OR)をとる回路を有し、ワードごとに共通
のフラグ出力線(信号線)EQjに一致検索(比較)の
結果を出力する構成となっている。
An example of the logical configuration of a basic cell in a CAM, as shown in FIG. 8, has a word line Si for address designation, data lines DI and Dix for passing read and write information, and a transistor Q (MOS)
In addition to the usual memory cell elements consisting of the memory cell I, Q4 and the memory cell I, an MO3I-transistor Q2. Q3. Q4. Q
Exclusive OR (exclusive OR) between the output of memory cell 1 and the search data (corresponding to the datum of the comparison result).
It has a circuit that performs sive OR), and is configured to output the result of a match search (comparison) to a common flag output line (signal line) EQj for each word.

以上は、IEEE Journal of 5olid
 5tate C1rcuits、 Vol、5C−2
0,’No、5.1985年10月号、 pp、951
〜957に掲載された例である。
The above is from IEEE Journal of 5olid
5tate C1rcuits, Vol, 5C-2
0,'No, 5. October 1985 issue, pp, 951
This is an example published in 957.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

しかしながら、このような従来のCAMにあっては、デ
ータ処理に際していわゆる可変長符号のデコードを行う
ことができす、固定長の比較しかできないという問題点
があった。
However, such conventional CAMs have a problem in that they cannot decode so-called variable-length codes during data processing and can only compare fixed-length codes.

これを詳述すると、まず、可変長符号は符号化の対象と
なる要素の出現確率によって、異なる符号長を割り当て
て、転送・記録などを効率的に行うために使用されてい
るものであり、このような可変長符号は転送・記録効率
は高いが、デコード回路に問題があった。−例として、
符号長1〜16ビツト、全符号数256の場合を考える
。この符号を高速にデコードする場合、従来は64にワ
ードのメモリを使用し、可変長符号をアドレスとして人
力し、読出されたデータをデコード結果としていた。こ
の方法の欠点は、大量のメモリを必要とする点である。
To explain this in detail, first, variable length codes are used to efficiently transfer and record by assigning different code lengths depending on the probability of occurrence of the element to be encoded. Although such variable length codes have high transfer and recording efficiency, there are problems with the decoding circuit. -For example,
Consider a case where the code length is 1 to 16 bits and the total number of codes is 256. Conventionally, when decoding this code at high speed, a 64-word memory was used, the variable length code was input manually as an address, and the read data was used as the decoding result. The disadvantage of this method is that it requires a large amount of memory.

符号長が最大で16ビツトになるため、最大ビットに合
わせた大きさのメモリ容量を必要とするからである。
This is because the maximum code length is 16 bits, so a memory capacity corresponding to the maximum bit is required.

一方、CAMを使用した場合は次のようになる。On the other hand, when CAM is used, the result is as follows.

すなわち、CAM4こ全符号を記憶し、符号をデコード
するときは、デコードする符号に一致する符号が保持さ
れているアドレスをCAMから出力すればいい。この場
合、CAMに保持しなければならないデータは前記の例
では256であり、必要なメモリ量は大幅に減少する。
That is, when the CAM 4 stores all codes and decodes the code, it is sufficient to output from the CAM the address where the code matching the code to be decoded is held. In this case, the amount of data that must be held in the CAM is 256 in the above example, and the amount of memory required is significantly reduced.

但し、ここで問題なのが、従来のCAMは固定長の比較
しかできない点である。したがって、CAMの性能向上
が望まれる。
However, the problem here is that conventional CAMs can only compare fixed lengths. Therefore, it is desired to improve the performance of CAM.

そこで本発明は、可変長符号のデコードを可能にして性
能向上を図ることができる半導体記憶装置を提供するこ
とを目的としている。
SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a semiconductor memory device that can decode variable length codes and improve performance.

〔課題を解決するための手段〕[Means to solve the problem]

本発明による半導体記憶装置は上記目的達成のため、外
部情報とメモリ内容を比較手段で比較し、比較の結果、
外部情報と一致すると、内容一致のアドレス情報を出力
データメモリから外部に出力する半導体記憶装置番こお
いて、前記比較手段は、外部情報の総符号数mに対応し
てm個の比較回路を有し、該比較回路は、メモリ内容と
して符号データと比較マスクの2つのパラメータを保持
し、最大nビットの長さをもつ総符号数mの外部情報を
外部から入力したとき、前記比較マスクにより指定され
る特定の値のビットのみ外部情報と前記符号データを比
較し、比較した結果を出力データメモリに伝えるように
構成し、前記出力データメモリは、mワードのアドレス
情報を有し、m個の比較回路からの比較結果に基づいて
mワードのうちから該当する1つのワードを内容一致の
アドレス情報として決定するように構成している。
In order to achieve the above object, the semiconductor memory device according to the present invention compares external information and memory contents using a comparing means, and as a result of the comparison,
When a match is made with the external information, the comparing means selects a semiconductor memory device number that outputs the address information whose contents match to the outside from the output data memory, and the comparing means operates m comparing circuits corresponding to the total number m of codes of the external information. The comparator circuit holds two parameters, code data and a comparison mask, as memory contents, and when external information of a total number m of codes with a maximum length of n bits is inputted from the outside, The code data is compared with external information only for bits of a specified specific value, and the comparison result is transmitted to an output data memory, and the output data memory has m words of address information and m words of address information. Based on the comparison result from the comparison circuit, one word out of the m words is determined as address information whose contents match.

〔作用〕[Effect]

本発明では、比較手段におけるm個の比較回路は符号デ
ータと比較マスクを保持しており、最大nビットの長さ
をもつ総符号数mの外部情報が外部から入力されたとき
、前記比較マスクにより指定される特定の値のピントの
みについて外部情報と前記符号データとが比較され、比
較結果に基づいて出力データメモリがmワードのうちか
ら該当する1つのワードを内容一致のアドレス情報とし
て決定する。
In the present invention, the m comparison circuits in the comparison means hold code data and a comparison mask, and when external information of a total number m of codes having a maximum length of n bits is input from the outside, the comparison circuits hold the code data and the comparison mask. External information and the code data are compared only for a focus of a specific value specified by , and based on the comparison result, the output data memory determines one corresponding word from m words as address information with matching contents. .

したがって、可変長符号の場合であってもデータ1ワー
ドに対して個別の比較マスクを保持しておき、可変長符
号に対応するビットを符号データと比較すれば、可変長
符号のデコードが可能となる。
Therefore, even in the case of a variable length code, if a separate comparison mask is maintained for each word of data and the bits corresponding to the variable length code are compared with the code data, variable length codes can be decoded. Become.

〔実施例〕〔Example〕

以下、本発明を図面に基づいて説明する。 Hereinafter, the present invention will be explained based on the drawings.

第1〜7図は本発明に係る半導体記憶装置の一実施例を
示す図である。第1図はCAMの全体構成を示すブロッ
ク図であり、この図において、CAMは大きく分けて1
0制御回路11、アドレスデコーダ12.16ビツト比
較回路群13、ダミー比較回路14および出力コードR
OM15により構成される。
1 to 7 are diagrams showing an embodiment of a semiconductor memory device according to the present invention. Figure 1 is a block diagram showing the overall configuration of CAM, and in this figure, CAM is roughly divided into 1
0 control circuit 11, address decoder 12, 16-bit comparison circuit group 13, dummy comparison circuit 14, and output code R
It is composed of OM15.

なお、本実施例に示すCAMは1ワード−16ビツト、
256ワードに適用した例であり、このCAMは次の3
つの信号で制御される。
Note that the CAM shown in this embodiment has 1 word-16 bits,
This is an example applied to 256 words, and this CAM has the following 3
Controlled by one signal.

OR(Output Enable) OE=1で、読出しを行うことを指定する。OR (Output Enable) OE=1 specifies that reading is to be performed.

W E (Write Enable)WE=1で、書
込みを行うことを指定する。
W E (Write Enable) WE=1 specifies that writing is to be performed.

CE (Compare Enable)CB= 1で
、比較を行うことを指定する。
CE (Compare Enable) CB=1 specifies that a comparison is to be performed.

以上の3信号を同時にアクティブにすることは禁止され
る。
Activating the above three signals simultaneously is prohibited.

まず、16ビツト比較回路群(比較手段に相当)13は
O〜255によって区分される256個の回路(比較回
路に相当)からなり、1つの回路は基本セル1ワード分
を接続したもので、その詳細は第2図のように示される
。16ビツト比較回路群13は各回路毎にそれぞれEQ
O〜E Q255という信号線を介して出力コードRO
M15に接続されており、特定の信号線EQjはCE、
OB、WEの各信号が全て“O”のときにプリチャージ
される。16ビツト比較回路群13における1つの16
ビソト比較回路は16ビツトのデータと比較マスクビッ
トを保持するが、次のことが考慮される。比較マスクは
16ビツト中の任意のビットの比較を無視することがで
きる。そのため、すべてのビットの比較を無視すること
も可能である。なお、すべてのビットの比較を無視する
ことは動作として無意味なので、比較マスクは15ビツ
トでも十分である。
First, the 16-bit comparison circuit group 13 (corresponding to comparison means) consists of 256 circuits (corresponding to comparison circuits) divided by O to 255, and one circuit connects one word of basic cells. The details are shown in FIG. The 16-bit comparison circuit group 13 has an EQ for each circuit.
O~E Output code RO via signal line Q255
M15, and the specific signal line EQj is connected to CE,
It is precharged when the OB and WE signals are all "O". One 16-bit comparison circuit group 13
The bisothocomparison circuit holds 16 bits of data and comparison mask bits, but the following is taken into account. The comparison mask can ignore comparisons of any bits among the 16 bits. Therefore, it is also possible to ignore all bit comparisons. Note that it is meaningless to ignore comparisons of all bits, so a comparison mask of 15 bits is sufficient.

第2図は、−例として、ある一つ(j番目)の16ビツ
ト比較回路13j (比較回路に相当)を示すもので、
16ビツト比較回路13jは16個の基本セル20を有
し、信号vAEQjはMOSトランジスタ210 によりCB、OB、WEが全て“0゛のとき電源Vcc
によってフ゛リチ中−ジされる。また、第2図中、Do
、DOX−DI5.D15Xはデータ線、SDjはメモ
リセル1に対応するワード線、SMjはメモリセル2 
(詳細は後述)に対応するワード線である。
FIG. 2 shows, as an example, a certain (j-th) 16-bit comparison circuit 13j (corresponding to a comparison circuit).
The 16-bit comparison circuit 13j has 16 basic cells 20, and the signal vAEQj is connected to the power supply Vcc by a MOS transistor 210 when CB, OB, and WE are all "0".
The file will be displayed during the process. Also, in Figure 2, Do
, DOX-DI5. D15X is a data line, SDj is a word line corresponding to memory cell 1, and SMj is memory cell 2.
(details will be described later).

基本セル20は第3図のように示され、第8図に示した
従来のメモリセル1に対して、比較するピントを選択す
るための比較マスクを保持するメモリセル2を追加する
とともに、新たにMo3)ランジスタQ7〜QIOを追
加して構成されている。
The basic cell 20 is shown as shown in FIG. 3, and a memory cell 2 is added to the conventional memory cell 1 shown in FIG. It is configured by adding Mo3) transistors Q7 to QIO.

第3図の基本セル20は次のような動作を行うようにな
っている。
The basic cell 20 shown in FIG. 3 operates as follows.

(1)読出し動作 読出しが行われるワードをワード線SDjSMjで選択
し、また読出し時にはデータ線Di、DiXをハイイン
ピーダンス状態にする。
(1) Read operation A word to be read is selected by word line SDjSMj, and data lines Di and DiX are set to a high impedance state at the time of reading.

SDjが“1″になると、Mo3)ランジスクQl、Q
4がオンになり、メモリセル1のデータがデータ線Di
、DiXに読出される。同様にSMjが“1”になると
、Mo5t・ランジスタQ9.QlOがオンになり、メ
モリセル2のデータがデータ線Di、DiXに読出され
る。なお、Di、DiXに出力したデータはIO制御回
路11内のセンスアンプで差動増幅され、外部へ出力さ
れる。
When SDj becomes “1”, Mo3) Ranjisk Ql, Q
4 is turned on, and the data in memory cell 1 is transferred to data line Di.
, DiX. Similarly, when SMj becomes "1", Mo5t transistor Q9. QlO is turned on, and data in memory cell 2 is read to data lines Di and DiX. Note that the data output to Di and DiX is differentially amplified by a sense amplifier in the IO control circuit 11 and output to the outside.

(II)書込み動作 書込みが行われるワードをワード線SDjSMjで選択
する一方、書込みのときにはIO制御回路11が書込む
べきデータをデータ線DiDiXに出力する。この場合
、データ線DiDiXには互いに反転した値のデータが
出力される。SDjが“1”になると、Mo3+−ラン
ジスタQi、Q4がオンになり、メモリセル1にDi、
DiX(7)値が書込まれる。同様にS MJが1にな
ると、Mo3I−ランジスタQ9.Q10がオンになり
、メモリセル2にDi、DiXの値が書込まれる。
(II) Write Operation The word to be written is selected by the word line SDjSMj, and at the time of writing, the IO control circuit 11 outputs the data to be written to the data line DiDiX. In this case, data having mutually inverted values is output to the data line DiDiX. When SDj becomes "1", Mo3+- transistors Qi and Q4 are turned on, and memory cell 1 receives Di,
DiX(7) value is written. Similarly, when S MJ becomes 1, Mo3I-transistor Q9. Q10 is turned on, and the values of Di and DiX are written into memory cell 2.

(III)比較動作 比較はすべてのワードで同時に実行される。(III) Comparison operation Comparisons are performed on all words simultaneously.

1 2 比較を実行する前に比較結果を出力する信号線EQjの
プリチャージを実行する。その後、IO制御回路11が
比較すべきデータをDIとDiXに出力し、このときデ
ータ線DiとDiXには互いに反転した値を出力する。
1 2 Before executing the comparison, precharge the signal line EQj that outputs the comparison result. Thereafter, the IO control circuit 11 outputs the data to be compared to DI and DiX, and at this time outputs mutually inverted values to the data lines Di and DiX.

比較結果を出力できるビットはメモリセル2が“1゛を
保持している場合のみであり、比較結果を出力するか否
かはMOSトランジスタQ7.Q8で制御する。すなわ
ち、MOSトランジスタQ7がオン、メモリセル1の値
が“′0″、Di=1の場合、Mo3+−ランジスタQ
2.Q3.Q7を通して信号線EQjのディスチャージ
が行われる。
The bit that can output the comparison result is only when the memory cell 2 holds "1", and whether or not to output the comparison result is controlled by MOS transistors Q7 and Q8.In other words, when MOS transistor Q7 is on, When the value of memory cell 1 is "'0" and Di=1, Mo3+- transistor Q
2. Q3. The signal line EQj is discharged through Q7.

また、Q8がオン、メモリセル1の値が“1”DiX=
1の場合、Mo3)ランジスタQ5゜Q6.Q8を通し
て信号線EQjのディスチャージが行われる。したがっ
て、メモリセル2の値が“0゛か、比較するデータとメ
モリセル1の値が一致するときに信号′TaEQjに“
1”が出力される。なお、同一ワードの比較結果はEQ
j上でワイヤードアンド処理が行われ、1ワ一ド分の比
較結果になる。
Also, Q8 is on and the value of memory cell 1 is “1” DiX=
1, Mo3) transistor Q5゜Q6. The signal line EQj is discharged through Q8. Therefore, when the value of memory cell 2 is "0" or when the data to be compared and the value of memory cell 1 match, the signal 'TaEQj is set to "0".
1” is output.The comparison result of the same word is EQ
Wired AND processing is performed on j, resulting in a comparison result for one word.

次に、アドレスデコーダ12は読み書き動作のときにア
ドレス信号AO−A8に従ってその対象となる1ワード
を選択するもので、アドレスのLSBは、データ(メモ
リセル1)か比較マスク(メモリセル2)を選択するた
めに使用する。OB+WE=lのときのみ選択出力SD
j、SMj  (j−〇、1・・・・・・255)の内
の1つに“1゛を出力する。
Next, the address decoder 12 selects one target word according to the address signal AO-A8 during a read/write operation, and the LSB of the address selects data (memory cell 1) or comparison mask (memory cell 2). Use to select. Selected output SD only when OB+WE=l
Output "1" to one of j, SMj (j-〇, 1...255).

ダミー比較回路14は16ビツト比較回路群13におけ
る1つの回路のディスチャージ終了を判定し、出力コー
ドROM15のディスチャージ開始時間を決定するため
のもので、第4図にその詳細な構成が示される。ダミー
比較回路14は信号線EQjと同じ分の容量性負荷とな
る1対のMo3)ランジスタにより構成される15個の
負荷素子22a、22b〜22c、22pと、プリチャ
ージ制御用のMOSトランジスタ23と、制御線ENE
QXのディスチャージ制御用のMo3I−ランジスタ2
4〜29とからなる。ダミー比較回路14はCE、OE
、WEの各信3 4 号が全て0゛のときMo3+−ランジスタ23をオンに
して制御線ENEQ)ζをプリチャージし、そのヂャー
ジ電荷を15個の負荷素子222〜22pに蓄えておく
。そして、データ線DO,DOXにデータが出力される
と、Mo3Lランジスタ25.28をオンにして負荷素
子22a〜22pに蓄えられた制御線ENEQX上の電
荷のディスチャージを開始し、ENEQX=0となった
ときに信号線EQjもディスチャージを終了しているよ
うにする。すなわち、これは前述した基本セル20にお
けるデータの比較時間を確保するためのものである。
The dummy comparator circuit 14 is for determining the end of discharging of one circuit in the 16-bit comparator circuit group 13 and determining the discharge start time of the output code ROM 15, and its detailed configuration is shown in FIG. The dummy comparator circuit 14 includes 15 load elements 22a, 22b to 22c, and 22p that are composed of a pair of Mo3) transistors that serve as a capacitive load equal to that of the signal line EQj, and a MOS transistor 23 for precharge control. , control line ENE
Mo3I-ransistor 2 for QX discharge control
It consists of 4 to 29. The dummy comparison circuit 14 is CE, OE
, WE signals 34 are all 0', the Mo3+- transistor 23 is turned on to precharge the control line ENEQ)ζ, and the charge charges are stored in the 15 load elements 222 to 22p. When data is output to the data lines DO and DOX, the Mo3L transistors 25 and 28 are turned on to start discharging the charges on the control line ENEQX stored in the load elements 22a to 22p, and ENEQX=0. When this occurs, the signal line EQj is also set to have finished discharging. That is, this is to ensure the data comparison time in the basic cell 20 described above.

出力コードROM (出力データメモリに相当)15は
比較結果が“1”のワードのアドレスを出力するための
ROMであり、その詳細な構成は第5図のように示され
る。第5図において、WO〜W255はROM内のワー
ド線、BO〜B8は同じくピント線であり、ビット線B
はCE=0のときにプリチャージ制御用の9個のMo3
I−ランジスタ31a〜31iによりプリチャージされ
る。そして、CE=1になった後、比較結果のディスチ
ャージが信号線EQO〜EQ255に終了した後に、R
OM内のビット線BO〜B8のディスチャージを開始す
る。すなわち、比較結果はEQO〜EQ255に現れる
。EQO〜EQ255の内、比較結果が不一致の信号線
はディスチャージされて0になり、一致した信号線のみ
1になる。この比較結果はランチ回路33にラッチされ
る。一方、制御線ENEQXはEQO〜EQ255と同
じタイミングでディスチャージされ、比較終了時刻を確
定する。ENEQXはランチ回路34でラッチされ、ゲ
ート35゜36、37を通過し、ゲート38によってW
O〜W255を有効にする。この時、比較結果が1のE
Qjに対応するWjのみに1が出力される。
An output code ROM (corresponding to an output data memory) 15 is a ROM for outputting the address of a word whose comparison result is "1", and its detailed configuration is shown in FIG. In FIG. 5, WO to W255 are word lines in the ROM, BO to B8 are focus lines, and bit lines B
is 9 Mo3 for precharge control when CE=0
It is precharged by I-transistors 31a to 31i. Then, after CE=1 and the discharge of the comparison result is completed to the signal lines EQO to EQ255, R
Start discharging the bit lines BO to B8 in OM. That is, the comparison results appear in EQO to EQ255. Among EQO to EQ255, signal lines for which the comparison results do not match are discharged and become 0, and only signal lines that match become 1. This comparison result is latched into the launch circuit 33. On the other hand, the control line ENEQX is discharged at the same timing as EQO to EQ255 to determine the comparison end time. ENEQX is latched by the launch circuit 34, passes through gates 35, 36, and 37, and is set to W by gate 38.
Enable O~W255. At this time, the comparison result is 1.
1 is output only to Wj corresponding to Qj.

したがって、第5図の例ではピント線BO−88に連な
るMos+・ランジスタ39.40がオンしてそのピン
ト線BO,Blがディスチャージされ、MoSトランジ
スタが接続されていないピント線はディスチャージされ
ない。言い換えれば、比較結果が1”のワードのみビッ
ト線BO−BSに値を出力し、出力する値は、例えば第
5回ではビ5 6 ソト線に連なるMo3)ランジスタ40〜42の有無で
プログラムする。したがって、例えばAOを出力するビ
ット線には、すべて“O′′を出力するようにプログラ
ムする。この値によって、比較結果がすべて“o″であ
ったことを検出する。複数ワードの比較結果が“1”に
なった場合、それらのアドレスのアンドが出力さてしま
うが、このCAMでは、複数ワードで同時に比較結果が
“l”になるようなデータは扱わないことにしている。
Therefore, in the example of FIG. 5, the Mos+ transistors 39 and 40 connected to the pinto line BO-88 are turned on, and the pinto lines BO and Bl are discharged, and the pinto lines to which no MoS transistor is connected are not discharged. In other words, only the word whose comparison result is 1'' outputs a value to the bit line BO-BS, and the value to be output is programmed depending on the presence or absence of Mo3) transistors 40 to 42 connected to the B5 6 SOTO line in the 5th time, for example. Therefore, for example, all bit lines that output AO are programmed to output "O". Based on this value, it is detected that all comparison results are "o". If the comparison result of multiple words becomes "1", the AND of those addresses will be output, but this CAM does not handle data where the comparison result of multiple words becomes "L" at the same time. There is.

実際上、可変長符号のデコードの場合、比較結果が“1
”になるのは1ワードのみであり、この制限は何ら問題
ない。なお、ナントゲート37の出力は比較結果出力E
QO〜EQ255が確定するまでワード線の選択を禁止
する信号である。
In practice, when decoding a variable length code, the comparison result is “1”.
” is only one word, and there is no problem with this restriction.The output of the Nant gate 37 is the comparison result output E.
This signal prohibits word line selection until QO to EQ255 are determined.

また、ROMのビット線BO〜B8の値は出力回路43
でAO−A8のアドレスとして出力され、出力回路43
の詳細は第6図のように示される。第6図は1つのビッ
ト線Bnについての回路例で、出力回路43はランチ回
路44、ナントゲート45、インハーク46およびMo
3hランジスタ47により構成される。いま、ビット線
Bnの値が“1゛のときはCE=1のタイミングでナン
トゲ−1・45から“0”が出力され、これがインバー
タ46により反転してMOSトランジスタ47のゲート
に供給されるから、1つのアドレスAnが” o ”に
なる。なお、出力アドレスAnがオープンドレインにな
っているのは、同じ構成のCAM複数個のAO〜A8を
共通に接続できるようにするためである。
In addition, the values of bit lines BO to B8 of the ROM are determined by the output circuit 43.
is output as the address of AO-A8, and the output circuit 43
The details are shown in FIG. FIG. 6 is a circuit example for one bit line Bn, in which the output circuit 43 includes a launch circuit 44, a Nant gate 45, an in-hark circuit 46, and a Mo
It is composed of a 3h transistor 47. Now, when the value of the bit line Bn is "1", "0" is output from the Nant Gate 1.45 at the timing of CE=1, which is inverted by the inverter 46 and supplied to the gate of the MOS transistor 47. , one address An becomes "o".The reason why the output address An is an open drain is to allow a plurality of CAMs AO to A8 having the same configuration to be connected in common.

10制御回路11はデータの入出力を制御するもので、
データの転送方向は次のようになる。
10 control circuit 11 controls data input/output,
The data transfer direction is as follows.

書込み動作、比較動作(WE+CB=1)外部→Di、
DiX 読出し動作(OE=1) Di、DiX−外部 非動作状態(WE+OB+CE=O) 0→D ! 、 D I >C 書込み、比較の時には、外部からのデータを非反転出力
Diと反転出力DIXへ出力する。読出しの時にはメモ
リセル1または2の値が非反転出力Diと反転出力Di
Xへ出力され、その値をセフ ンスアンプにより差動増幅して外部へ出力する。
Write operation, comparison operation (WE+CB=1) external → Di,
DiX read operation (OE=1) Di, DiX-external non-operating state (WE+OB+CE=O) 0→D! , D I >C At the time of writing and comparison, external data is output to the non-inverted output Di and the inverted output DIX. During reading, the value of memory cell 1 or 2 is the non-inverted output Di and the inverted output Di.
The value is differentially amplified by a safety amplifier and output to the outside.

以上の動作は、従来の通常のスタティックRAMの■○
制御回路と全く同じである。また、非動作状態の時には
Di、DiXともQ ”を出力する。
The above operation is similar to that of conventional static RAM.
It is exactly the same as the control circuit. Furthermore, when in the non-operating state, both Di and DiX output Q''.

これは、非動作状態の時にMO3+−ランジスクQ3、
Q6をオフにしてEQj、ENEQXのプリチャージを
行うためである。
This means that when inactive, MO3+-LandiskQ3,
This is to precharge EQj and ENEQX by turning off Q6.

次に、作用を説明する。Next, the effect will be explained.

第5図は可変長符号の比較動作時のタイミングチャート
である。CAMには予め可変長符号が保持され、入力し
た可変長符号と比較することによって可変長符号をデコ
ートするものであり、その場合、データ1ワードに対し
てビット毎に個別の比較マスクを基本セル20のメモリ
セル2において保持し、その比較マスクにより各ワード
毎に独立して比較するピントが選択される。そして、比
較結果を出力できるビア t・はメモリセル2が“1”
を保持している場合のみで、パ0”を保持しているとき
は出力できない。また、16ビツト比較回路群13にお
いては符号データは基本セル20のメモリセル1で保持
し、比較マスクはメモリセル2によって保持することで
、2つのバラク′−夕を保持し、可変長符号を外部から
入力したときには比較マスクが特定の値のビットのみ該
可変長符号と符号データを比較し、比較した結果は出力
コードROM15へ伝えられ、出力コードROM15で
16ビノト比較回路群13の256個の回路のうちのど
のワードを出力するかが決定されて出力アドレスAO〜
A8が取り出される。
FIG. 5 is a timing chart during a comparison operation of variable length codes. A variable length code is stored in the CAM in advance, and the variable length code is decoded by comparing it with the input variable length code.In this case, an individual comparison mask is applied to each bit of one word of data in the basic cell. The focus is held in 20 memory cells 2 and compared independently for each word using the comparison mask. Then, in the via t which can output the comparison result, memory cell 2 is “1”
It cannot be output when it holds "P0". Also, in the 16-bit comparison circuit group 13, the code data is held in memory cell 1 of the basic cell 20, and the comparison mask is stored in the memory. By holding in cell 2, two barracks are held, and when a variable length code is input from the outside, the comparison mask compares only the bits of a specific value with the variable length code and the code data, and displays the comparison result. is transmitted to the output code ROM 15, which determines which word out of the 256 circuits of the 16-bit comparison circuit group 13 is to be output, and outputs the output address AO~
A8 is taken out.

そのために、まず、比較動作を開始する前のCB=0の
期間(プリチャージ期間に相当)に信号線EQj、制御
線ENEQX、出力コードROM15のビット線Bn(
出力アドレスAnに対応)のプリチャージが実行される
。次いで、CE= 1になると、■0制御回路11が外
部からのデータをデータ線Diへ出力し、その反転デー
タを他方のデータ線DiXへ出力する。D I、  D
 i Xにデータが出力されると、16ビツト比較回路
群13の各回路における基本セル20でワードのピント
毎に入力したデータと保持したデータが比較され、入力
デ9 0 夕と保持データ(基本セル20のメモリセル1に保持さ
れているもの)が一致しないワードの信号線EQjがデ
ィスチャージされ、一致した場合はディスチャージされ
ない。
To do this, first, during the period of CB=0 (corresponding to the precharge period) before starting the comparison operation, the signal line EQj, the control line ENEQX, and the bit line Bn of the output code ROM 15 (
(corresponding to output address An) is executed. Next, when CE=1, the 0 control circuit 11 outputs external data to the data line Di, and outputs its inverted data to the other data line DiX. DI, D
When data is output to i The signal line EQj of the word that does not match (held in memory cell 1 of cell 20) is discharged, and is not discharged when they match.

一方、制御線ENEQXは比較が開始されると常にディ
スチャージが行われ、ENEQXのディスチャージが完
了した時点で信号線EQjの出力が確定したものと判定
される。これにより、出力コードROM15のワード線
が有効となって、出力コードROM15におけるROM
内のピント線のディスチャージが開始される。ROM内
のビット線のディスチャージが完了すると、出力アドレ
スAnとして有効な値が出力され、結局、可変長符号が
デコードされる。
On the other hand, the control line ENEQX is always discharged when the comparison is started, and it is determined that the output of the signal line EQj is determined when the discharge of ENEQX is completed. As a result, the word line of the output code ROM15 becomes valid, and the ROM in the output code ROM15 becomes valid.
Discharge of the focus line within the camera will begin. When the discharge of the bit line in the ROM is completed, a valid value is output as the output address An, and the variable length code is eventually decoded.

具体的には、例えば最大の長さ=3ビット、総符号数−
256、可変長符号−101の符号を、固定長符号= 
11011100にデコードする場合、次の値をCAM
に書込む。
Specifically, for example, maximum length = 3 bits, total number of codes -
256, variable length code - 101 code, fixed length code =
When decoding to 11011100, the following value is CAM
write to.

八8〜AOデータ 110111000  00000000000001
01  符号110111001  00000000
00000111  比較マスク可変長符号をデコード
するときは比較マスター1のビットのみ比較が行われる
。したがって、LSB側の(101)の値のデータが符
号として入力され、比較が行われた後、A8〜A1に(
11011100〕が出力されて可変長符号のデコード
が達成される。
88~AO data 110111000 00000000000001
01 Code 110111001 00000000
00000111 When decoding a comparison mask variable length code, only the bits of comparison master 1 are compared. Therefore, the data of the value (101) on the LSB side is input as the sign, and after comparison is performed, it is stored in A8 to A1 (
11011100] is output to achieve decoding of the variable length code.

なお、上記実施例は1ワード−16ビツト、256ワー
ドの例であるが、本発明はこれに限らず、最大nビット
の長さをもつ総符号数mの可変長符号をデコードするこ
とが可能で、その場合には16ビツト比較回路群13に
おいてm個の比較回路をもち、出力コードROM15で
mワードの出力データメモリをもてばよい。
Although the above embodiment is an example of 1 word - 16 bits and 256 words, the present invention is not limited to this, and it is possible to decode variable length codes with a maximum length of n bits and a total number of codes m. In that case, the 16-bit comparison circuit group 13 should have m comparison circuits, and the output code ROM 15 should have m words of output data memory.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、可変長符号のデコードを行うことがで
き、CAMの性能向上を図ることができ1 2
According to the present invention, variable length codes can be decoded, and the performance of CAM can be improved.

【図面の簡単な説明】[Brief explanation of drawings]

第1〜7図は本発明に係る半導体記憶装置の一実施例を
示す図であり、 第1図はそのCAMの全体構成を示すブロック図、 第2図はその16ビツト比較回路の構成図、第3図はそ
の基本セルの回路図、 第4図はそのダミー比較回路の回路図、第5図はその出
力コードROMの構成図、第6図はその出力コードRO
M内の出力回路の回路図、 第7図はその比較動作の′タイミングチャート、第8図
は従来のCAMの基本セルの回路図である。 13・・・・・・16ビツト比較回路群(比較手段)、
13j・・・・・・16ビツト比較回路(比較回路)、
14・・・・・・ダミー比較回路、 15・・・・・・出力コードROM (出力データメモ
リ)、20・・・・・・基本セル、 21.23、〜29.31.40、〜42.47・・・
・・・MO3+−ランジスク、 22・・・・・・負荷素子、 32〜34.44・・・・・・ランチ回路、35.36
.46・・・・・・インハーク、38.39・・・・・
・ノアゲート、 43・・・・・・出力回路。 代 理 人 弁理士  井 桁 貞 1.2・・・・・・メモリセル、 11・・・・・・IO制御回路、 12・・・・・・アドレスボコーダ、 3 4 一実施例の16ビツト比較回路の構成図箱 図 一実施例の基本セルの回路図 第 図
1 to 7 are diagrams showing one embodiment of the semiconductor memory device according to the present invention, FIG. 1 is a block diagram showing the overall configuration of the CAM, FIG. 2 is a configuration diagram of the 16-bit comparison circuit, Figure 3 is a circuit diagram of its basic cell, Figure 4 is a circuit diagram of its dummy comparison circuit, Figure 5 is a configuration diagram of its output code ROM, and Figure 6 is its output code ROM.
FIG. 7 is a timing chart of the comparison operation, and FIG. 8 is a circuit diagram of the basic cell of a conventional CAM. 13...16-bit comparison circuit group (comparison means),
13j...16-bit comparison circuit (comparison circuit),
14... Dummy comparison circuit, 15... Output code ROM (output data memory), 20... Basic cell, 21.23, ~29.31.40, ~42 .47...
...MO3+-Lanzisk, 22...Load element, 32-34.44...Launch circuit, 35.36
.. 46...Inhaak, 38.39...
・Noah gate, 43...Output circuit. Agent Patent Attorney Sada Igeta 1.2...Memory cell, 11...IO control circuit, 12...Address vocoder, 3 4 16-bit comparison of one embodiment Circuit diagram box diagram - Circuit diagram of the basic cell of the example

Claims (1)

【特許請求の範囲】  外部情報とメモリ内容を比較手段で比較し、比較の結
果、外部情報と一致すると、内容一致のアドレス情報を
出力データメモリから外部に出力する半導体記憶装置に
おいて、 前記比較手段は、外部情報の総符号数mに対応してm個
の比較回路を有し、 該比較回路は、メモリ内容として符号データと比較マス
クの2つのパラメータを保持し、最大nビットの長さを
もつ総符号数mの外部情報を外部から入力したとき、前
記比較マスクにより指定される特定の値のビットのみ外
部情報と前記符号データを比較し、比較した結果を出力
データメモリに伝えるように構成し、 前記出力データメモリは、mワードのアドレス情報を有
し、m個の比較回路からの比較結果に基づいてmワード
のうちから該当する1つのワードを内容一致のアドレス
情報として決定するように構成したことを特徴とする半
導体記憶装置。
[Scope of Claims] A semiconductor memory device in which external information and memory contents are compared by a comparing means, and when the comparison results in a match with the external information, address information whose contents match is outputted from the output data memory to the outside, the comparing means has m comparison circuits corresponding to the total number of codes m of external information, and the comparison circuit holds two parameters, code data and comparison mask, as memory contents, and has a maximum length of n bits. When external information with a total number m of codes is input from the outside, only bits of a specific value specified by the comparison mask are compared with the external information and the code data, and the comparison result is transmitted to the output data memory. The output data memory has m words of address information, and is configured to determine one corresponding word from among the m words as address information with matching contents based on the comparison results from the m comparison circuits. 1. A semiconductor memory device comprising:
JP14744089A 1989-06-09 1989-06-09 Semiconductor memory Pending JPH0312896A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14744089A JPH0312896A (en) 1989-06-09 1989-06-09 Semiconductor memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14744089A JPH0312896A (en) 1989-06-09 1989-06-09 Semiconductor memory

Publications (1)

Publication Number Publication Date
JPH0312896A true JPH0312896A (en) 1991-01-21

Family

ID=15430386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14744089A Pending JPH0312896A (en) 1989-06-09 1989-06-09 Semiconductor memory

Country Status (1)

Country Link
JP (1) JPH0312896A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04325996A (en) * 1991-04-26 1992-11-16 Toshiba Corp Associated semiconductor memory device
EP0599418A2 (en) * 1992-11-27 1994-06-01 Koninklijke Philips Electronics N.V. Encoding and decoding data
WO1994024672A1 (en) * 1993-04-19 1994-10-27 Oki Electric Industry Co., Ltd. Circuit for decoding variable-length code, and system for decoding variable-length code which uses the circuit
JP2000149572A (en) * 1998-11-05 2000-05-30 Altera Corp Associative memory encoding output
US6534581B1 (en) * 2000-07-20 2003-03-18 Dow Corning Corporation Silicone composition and electrically conductive silicone adhesive formed therefrom

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04325996A (en) * 1991-04-26 1992-11-16 Toshiba Corp Associated semiconductor memory device
EP0599418A2 (en) * 1992-11-27 1994-06-01 Koninklijke Philips Electronics N.V. Encoding and decoding data
EP0599418A3 (en) * 1992-11-27 1995-08-23 Koninkl Philips Electronics Nv Encoding and decoding data.
WO1994024672A1 (en) * 1993-04-19 1994-10-27 Oki Electric Industry Co., Ltd. Circuit for decoding variable-length code, and system for decoding variable-length code which uses the circuit
US5642114A (en) * 1993-04-19 1997-06-24 Oki Electric Industry Co., Ltd. Variable length code decoder using a content addressable memory with match inhibiting gate
JP2000149572A (en) * 1998-11-05 2000-05-30 Altera Corp Associative memory encoding output
US6534581B1 (en) * 2000-07-20 2003-03-18 Dow Corning Corporation Silicone composition and electrically conductive silicone adhesive formed therefrom

Similar Documents

Publication Publication Date Title
US6515894B2 (en) Semiconductor memory apparatus, semiconductor apparatus, data processing apparatus and computer system
US6137707A (en) Method and apparatus for simultaneously performing a plurality of compare operations in content addressable memory device
US5953738A (en) DRAM with integral SRAM and arithmetic-logic units
EP0341897A2 (en) Content addressable memory array architecture
JPH0664911B2 (en) Content addressable memory array
JPH0312896A (en) Semiconductor memory
US6560161B1 (en) Synchronous flash memory command sequence
US7127564B2 (en) Double buffered flash programming
US6513053B1 (en) Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits
US20040085850A1 (en) Semiconductor memory capable of performing high-speed processing
WO1987004541A1 (en) Central processing unit
JPH06215583A (en) Associative memory
JPS58200494A (en) Associative memory device
JP3187203B2 (en) Associative memory circuit
JPH05210981A (en) Semiconductor memory
JP2854151B2 (en) Data search control method
JP2001056785A (en) Device and method for controlling memory
JPH0413293A (en) Memory circuit
JP2002197877A (en) Semiconductor memory
JPH05182471A (en) Functional memory processor
JPH03218547A (en) Semiconductor storage device
JPS6045504B2 (en) associative memory device
JPH09180470A (en) Semiconductor memory element and semiconductor memory device using it
JPH1021690A (en) Dynamic associative access memory
JPH07192477A (en) Retrieval memory device, retrieval memory, data retrieval device and method for using retrieval memory