JPH09161488A - Address converter - Google Patents

Address converter

Info

Publication number
JPH09161488A
JPH09161488A JP32002995A JP32002995A JPH09161488A JP H09161488 A JPH09161488 A JP H09161488A JP 32002995 A JP32002995 A JP 32002995A JP 32002995 A JP32002995 A JP 32002995A JP H09161488 A JPH09161488 A JP H09161488A
Authority
JP
Japan
Prior art keywords
data
comparison
memory
output
address
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.)
Withdrawn
Application number
JP32002995A
Other languages
Japanese (ja)
Inventor
Yoshiji Hashimoto
佳次 橋本
Kenichi Okabe
健一 岡部
Masaki Kira
正樹 吉良
Makoto Yamada
誠 山田
Hitoshi Kasugai
斉 春日井
Hiroshi Ishiwatari
博 石渡
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 JP32002995A priority Critical patent/JPH09161488A/en
Publication of JPH09161488A publication Critical patent/JPH09161488A/en
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To shorten the comparison processing time of input data by providing an address converter with a memory part and a comparison part and reading addresses of the memory part sequentially to compare an input data with a memory block internal data by the comparison part. SOLUTION: A data latch section 10 latches and holds four input data being sent at a fixed cycle. Comparison data read out of a memory block 1A are inputted into corresponding comparison parts 20. The comparison parts 20 compare the input data with memory block internal data. The results of the comparison of the comparison parts 20 enter an address generation part 30 and an enable generation part 40. When the memory data matching with the input data exist, the generation part 30 outputs an address of the memory data of the memory block. On the other hand, when the matched memory data exists, the generation part 40 outputs a match-enable signal. Outputs of the generation part 30 and the generation part 40 are sent to a higher-order device and a processing is performed corresponding to the results of the outputs.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明はアドレス変換装置に
関し、更に詳しくは入力データとCAMメモリ(Con
tent Addressable Memory)の
内部データとを比較し、一致した場合に対応するデータ
が記憶されているCAMメモリの出力アドレスを出力す
るアドレス変換装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an address conversion device, and more particularly to input data and a CAM memory (Con).
The present invention relates to an address conversion device that compares internal data of a tent Addressable Memory) and outputs the output address of the CAM memory in which the corresponding data is stored when they match.

【0002】[0002]

【従来の技術】図13は従来装置の構成例を示すブロッ
ク図である。図において、1はCAMメモリである。該
CAMメモリ1は、例えばデータ方向に8ビットのデー
タが、縦方向にワード(アドレス)数だけ設けられてい
るメモリである。2は各ワード単位に設けられ、該ワー
ドと入力データとの比較を行なう比較部である。これら
比較部2は、各ワードをビット単位で比較する。例え
ば、データがD0〜D7までの8ビット構成であるもの
とすると、D0〜D7毎にビット比較器が設けられてい
る。つまり、図に示す比較部2はそれぞれ8個のビット
比較器を内蔵している。そして、全てのビットが一致し
た時に、一致信号を出力する。図に示す装置の動作が正
常な場合には、一致するワードは1個のみ存在するの
で、比較部2のうちの特定の比較部2から一致信号が出
力される。これら比較部2の出力は上位装置に送られ、
一致したワードに対応するCAMメモリの出力アドレス
が求められる。
2. Description of the Related Art FIG. 13 is a block diagram showing a configuration example of a conventional device. In the figure, 1 is a CAM memory. The CAM memory 1 is a memory in which, for example, 8-bit data is provided in the data direction by the number of words (addresses) in the vertical direction. Reference numeral 2 is a comparison unit which is provided for each word and compares the word with the input data. These comparators 2 compare the words in bit units. For example, assuming that the data has an 8-bit configuration of D0 to D7, a bit comparator is provided for each of D0 to D7. That is, the comparison units 2 shown in the figure each include eight bit comparators. Then, when all the bits match, a match signal is output. When the operation of the device shown in the figure is normal, there is only one matching word, so a matching signal is output from the specific comparing section 2 of the comparing sections 2. The outputs of these comparison units 2 are sent to the host device,
The output address of the CAM memory corresponding to the matched word is obtained.

【0003】[0003]

【発明が解決しようとする課題】前述したように、従来
のアドレス変換装置は、CAM1ワードにつき1対の比
較部を持ち、CAM全ワードを並列に比較するものであ
った。そして、出力されるデータは、CAMアドレスの
みである。更に、入力データの比較有効ビットは固定で
あった。このため、従来の回路構成では、Mワード,N
ビットのCAMメモリに対してはM×N個の比較器が必
要となり、大規模なメモリを含む場合、回路規模が大き
くなりすぎるという問題がある。また、一致したCAM
アドレスのみを出力するため、障害等により重複マッチ
(複数のワードの一致信号が出ること)が発生した場
合、出力アドレスの信頼性が保証できないという問題が
あった。更に、任意にビット幅のデータの比較ができ
ず、汎用性がないという問題があった。
As described above, the conventional address translator has a pair of comparators for each CAM word and compares all CAM words in parallel. Then, the output data is only the CAM address. Further, the comparison effective bit of the input data is fixed. Therefore, in the conventional circuit configuration, M words, N
M × N comparators are required for a bit CAM memory, and when a large-scale memory is included, the circuit scale becomes too large. Also, the matched CAM
Since only the address is output, there is a problem that the reliability of the output address cannot be guaranteed when a duplicate match (a match signal of a plurality of words is output) occurs due to a failure or the like. Furthermore, there is a problem in that it is not possible to compare data of bit widths arbitrarily, and there is no versatility.

【0004】本発明はこのような課題に鑑みてなされた
ものであって、回路規模を抑制でき、出力アドレスの信
頼性を保持することができ、任意のビット幅のデータの
比較を行なうことができるアドレス変換装置を提供する
ことを目的としている。
The present invention has been made in view of the above problems, and can suppress the circuit scale, maintain the reliability of output addresses, and compare data of arbitrary bit widths. It is an object of the present invention to provide an address translation device that can perform.

【0005】[0005]

【課題を解決するための手段】 図1は本発明の原理ブロック図である。図13と同
一のものは、同一の符号を付して示す。図において1は
CAMメモリ(メモリ部)であり、所定のワード数毎に
メモリブロック1Aに分割されている。3は該CAMメ
モリ1へのデータの書き込みとデータの読み出し制御を
行なうメモリ制御部、10は入力データをメモリブロッ
ク1Aの数だけラッチするデータラッチ部、20はメモ
リブロック1Aと対応したブロック毎に設けられ、入力
データとメモリブロック内部のデータとを比較する比較
部、30は前記比較部20の出力を受けて、これら比較
部20の比較結果に応じて、入力データと一致するCA
Mメモリ1のワードデータに対応するCAMメモリの出
力アドレスを出力するアドレス生成部、40は前記比較
部20の出力を受けて、これら比較部20の比較結果に
応じて入力データとメモリブロック内部データとのマッ
チ、アンマッチ及び重複マッチを判定し、出力アドレス
に応じてマッチイネーブル、重複マッチイネーブル信号
を出力するイネーブル生成部である。
FIG. 1 is a principle block diagram of the present invention. The same components as those in FIG. 13 are denoted by the same reference numerals. In the figure, reference numeral 1 denotes a CAM memory (memory unit), which is divided into memory blocks 1A for each predetermined number of words. Reference numeral 3 is a memory control unit that controls writing of data to the CAM memory 1 and control of reading data, 10 is a data latch unit that latches input data by the number of memory blocks 1A, and 20 is a block corresponding to each memory block 1A. A comparing unit 30 is provided which compares the input data with the data in the memory block. The receiving unit 30 receives the output of the comparing unit 20 and, according to the comparison result of these comparing units 20, the CA that matches the input data.
An address generation unit 40 for outputting an output address of the CAM memory corresponding to the word data of the M memory 1, 40 receives the output of the comparison unit 20, and receives the input data and the memory block internal data according to the comparison result of the comparison unit 20. Is an enable generation unit that determines a match, an unmatch, and a duplicate match with and outputs a match enable and a duplicate match enable signal according to the output address.

【0006】この発明の構成によれば、前記メモリ部1
のアドレスを順次読み出し、前記比較部20で入力デー
タとメモリブロック内部データの比較を行なうことがで
きる。また、データラッチ部10が入力データ内の比較
対象データをラッチし、比較終了まで保持するので、入
力データの並列処理制御を行なうことができる。また、
各メモリブロック1Aは並列動作し、メモリブロック1
A内のアドレスは順次読み出され、1メモリブロック1
Aに対して1個の比較部20で比較処理が行なえるの
で、回路規模を小さくすることができる。更に、メモリ
ブロックの分割、入力データの複数並列処理により入力
データの比較処理時間を短縮することができる。
According to the configuration of the present invention, the memory unit 1
The addresses can be sequentially read, and the comparison unit 20 can compare the input data with the memory block internal data. Further, since the data latch section 10 latches the comparison target data in the input data and holds it until the end of the comparison, parallel processing control of the input data can be performed. Also,
Each memory block 1A operates in parallel and memory block 1
Addresses in A are read sequentially and one memory block 1
Since the comparison processing can be performed on A by one comparison unit 20, the circuit scale can be reduced. Further, it is possible to shorten the comparison processing time of the input data by dividing the memory block and processing a plurality of input data in parallel.

【0007】 また、入力データを前記メモリブロッ
クに対応した数だけラッチするデータラッチ部を設け、
前記対応する比較部20でラッチした入力データとメモ
リブロック内部データとの比較動作を並列処理で行なう
ことを特徴としている。
Further, a data latch unit for latching input data by a number corresponding to the memory block is provided,
The comparison operation of the input data latched by the corresponding comparison unit 20 and the memory block internal data is performed in parallel.

【0008】この発明の構成によれば、データラッチ部
10でメモリブロック1Aの数だけのデータを比較動作
の終了まで保持することにより、比較動作を並列処理で
行なうことができ、比較処理時間を短縮することができ
る。
According to the structure of the present invention, the data latch unit 10 holds the data corresponding to the number of the memory blocks 1A until the end of the comparison operation, whereby the comparison operation can be performed in parallel and the comparison processing time can be reduced. It can be shortened.

【0009】 また、前記CAMメモリ部内のデータ
は、マスクビットを備え、該マスクビットにより比較対
象ビットの指定を行ない、入力データの比較対象ビット
幅を可変できるようにしたことを特徴としている。
Further, the data in the CAM memory unit is provided with a mask bit, and the comparison bit can be designated by the mask bit so that the comparison bit width of the input data can be changed.

【0010】この発明の構成によれば、マスクビットを
設けることにより、入力データのビット数だけマスクビ
ットを“0”にすることにより、比較する入力データの
データ幅を可変することができる。
According to the structure of the present invention, by providing the mask bit, the data width of the input data to be compared can be varied by setting the mask bit to "0" by the number of bits of the input data.

【0011】 この場合において、前記比較部20の
出力を受けて、これら比較部20の比較結果に応じて、
入力データと一致するCAMメモリのワードデータに対
応するCAMアドレスを出力するアドレス生成部30を
設けたことを特徴としている。
In this case, the output of the comparison unit 20 is received, and according to the comparison result of these comparison units 20,
It is characterized in that an address generation unit 30 is provided which outputs a CAM address corresponding to word data of the CAM memory that matches input data.

【0012】この発明の構成によれば、入力データと一
致するCAMのワードデータに対応する出力アドレスを
得ることができる。 更に、前記比較部20の出力を受けて、これら比較
部20の比較結果に応じて入力データとメモリブロック
内部データとのマッチ、アンマッチ及び重複マッチを判
定し、出力アドレスに応じてマッチイネーブル信号、重
複マッチイネーブル信号を出力するイネーブル生成部を
設けたことを特徴としている。
According to the structure of the present invention, it is possible to obtain the output address corresponding to the word data of the CAM that matches the input data. Further, receiving the output of the comparison section 20, it is determined whether the input data and the internal data of the memory block are matched, unmatched or duplicated according to the comparison result of the comparison section 20, and the match enable signal is output according to the output address. It is characterized in that an enable generation unit for outputting an overlap match enable signal is provided.

【0013】この発明の構成によれぱ、イネーブル生成
部を設けることにより、出力アドレスに応じてマッチイ
ネーブル信号、重複マッチイネーブル信号を出力するこ
とができ、アドレス生成部30から出力される一致した
出力アドレスデータOADDと合わせて処理することに
より、一致データの信頼性を向上させることができる。
According to the structure of the present invention, by providing the enable generation section, it is possible to output the match enable signal and the duplicate match enable signal in accordance with the output address, and the matched output output from the address generation section 30. By processing it together with the address data OADD, the reliability of the matching data can be improved.

【0014】[0014]

【発明の実施の形態】以下、図面を参照して本発明の実
施の形態例を詳細に説明する。図2は本発明の一実施の
形態例を示すブロック図である。図1と同一のものは、
同一の符号を付して示す。図に示す装置は、メモリブロ
ック1Aが4個設けられている。これに対応してデータ
ラッチ部10は4個の入力データをラッチして保持し、
4個のデータHW−A〜HW−Dを出力する。それぞれ
のデータHW−A〜HW−Dは4個の比較部20(以下
比較部0〜比較部3と略す)に入っている。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 2 is a block diagram showing an embodiment of the present invention. The same thing as FIG.
The same reference numerals are given. The device shown in the figure is provided with four memory blocks 1A. In response to this, the data latch unit 10 latches and holds four input data,
Four pieces of data HW-A to HW-D are output. The respective data HW-A to HW-D are stored in four comparison units 20 (hereinafter abbreviated as comparison units 0 to 3).

【0015】CAMメモリ(メモリ部)1は、4個のメ
モリブロック1Aに分割されている。第1のブロック
(メモリブロック0)は、CH0〜CH127までの1
28個のワードデータを記憶し、第2のブロック(メモ
リブロック1)は、CH128〜CH255までの12
8個のワードデータを記憶し、第3のブロック(メモリ
ブロック2)はCH256〜CH383までの128個
のワードデータを記憶し、第4のブロック(メモリブロ
ック3)はCH384〜511までの128個のワード
データを記憶する。つまり、このCAMメモリ1は合計
で512個のワードデータを記憶していることになる。
メモリ制御部3は、CAMメモリ1とアドレス生成部3
0及びイネーブル生成部にアドレスデータADDRを出
力している。
The CAM memory (memory section) 1 is divided into four memory blocks 1A. The first block (memory block 0) is 1 from CH0 to CH127.
28 word data are stored, and the second block (memory block 1) has 12 channels from CH128 to CH255.
Eight word data are stored, the third block (memory block 2) stores 128 word data from CH256 to CH383, and the fourth block (memory block 3) contains 128 word data from CH384 to 511. The word data of is stored. That is, this CAM memory 1 stores a total of 512 word data.
The memory control unit 3 includes a CAM memory 1 and an address generation unit 3
0 and the address data ADDR is output to the enable generation unit.

【0016】比較部0からは比較結果MT−A0〜MT
−D0が、比較部1からは比較結果MT−A1〜MT−
D1が、比較部2からは比較結果MT−A2〜MT−D
2が、比較部3からはMT−A3〜MT−D3がそれぞ
れ出力され、アドレス生成部30及びイネーブル生成部
40に入っている。アドレス生成部30からは一致出力
アドレスOADDが出力され、イネーブル生成部40か
らはマッチイネーブル信号MTENBと重複マッチイネ
ーブル信号FMTENBが出力される。このように構成
された装置の動作を説明すれば、以下の通りである。
From the comparison unit 0, comparison results MT-A0-MT
-D0 is the comparison result MT-A1 to MT- from the comparison unit 1.
D1 indicates comparison results MT-A2 to MT-D from the comparison unit 2.
2 is output from the comparison unit 3 as MT-A3 to MT-D3, and is input to the address generation unit 30 and the enable generation unit 40. The address generator 30 outputs a match output address OADD, and the enable generator 40 outputs a match enable signal MTENB and a duplicate match enable signal FMTENB. The operation of the device configured as described above will be described below.

【0017】データラッチ部10は、一定周期で送られ
てくる入力データIDATAを4個ラッチして保持す
る。これら4個のデータHW−A〜HW−Dはそれぞれ
比較部0〜比較部3に同時並列に入力される。一方、メ
モリブロック0〜メモリブロック3には、メモリ制御部
3からアドレスデータ0〜127がシーケンシャルに入
力されている。つまり、メモリ制御部3から出力される
アドレスデータ0〜127は各メモリブロック0〜メモ
リブロック3に共通に入っている。メモリブロック0〜
メモリブロック3はメモリ制御部3から共通にアクセス
されるが、各メモリブロック内に記憶されているデータ
は異なっている。
The data latch unit 10 latches and holds four pieces of input data IDATA sent at a constant cycle. These four data HW-A to HW-D are simultaneously input in parallel to the comparators 0 to 3, respectively. On the other hand, address data 0 to 127 are sequentially input to the memory blocks 0 to 3 from the memory control unit 3. That is, the address data 0 to 127 output from the memory control unit 3 are commonly entered in each of the memory blocks 0 to 3. Memory block 0
The memory blocks 3 are commonly accessed by the memory control unit 3, but the data stored in each memory block is different.

【0018】これらメモリブロック1Aから読み出され
た比較データCMP−0〜CMP−3は、それぞれの対
応する比較部20に入力される。比較部0は4個のデー
タHW−A〜HW−DとメモリデータCMP−0とを比
較し、比較部1は4個のデータA〜DとメモリデータC
MP1とを比較し、比較部2は4個のデータHW−A〜
HW−DとメモリデータCMP2とを比較し、比較部3
は4個のデータHW−A〜HW−DとメモリデータCM
P−3とを比較する。
The comparison data CMP-0 to CMP-3 read from these memory blocks 1A are input to the corresponding comparison units 20. The comparison unit 0 compares the four data HW-A to HW-D with the memory data CMP-0, and the comparison unit 1 compares the four data A to D and the memory data C.
The comparison unit 2 compares the MP1 with the four data HW-A-
The HW-D and the memory data CMP2 are compared, and the comparison unit 3
Is four data HW-A to HW-D and memory data CM
Compare with P-3.

【0019】これら比較部20の比較結果MT−Ai〜
MT−Di(i=0〜3)は、アドレス生成部30及び
イネーブル生成部40に入る。アドレス生成部30は、
入力データと一致したメモリデータが存在した場合に
は、そのメモリブロックのメモリデータのアドレスを出
力アドレスOADDとして出力する。一方、イネーブル
生成部40は、一致するメモリデータが存在した場合に
は、マッチイネーブル信号MTENBを出力する。ま
た、重複したメモリデータが存在した場合には、重複マ
ッチイネーブル信号FMTENBを出力する。これらア
ドレス生成部30及びイネーブル生成部40の出力は、
例えば上位の装置に送られ、これら出力結果に応じた処
理が行われる。
The comparison result MT-Ai of these comparing sections 20.
MT-Di (i = 0 to 3) enters the address generation unit 30 and the enable generation unit 40. The address generator 30
If there is memory data that matches the input data, the address of the memory data in that memory block is output as the output address OADD. On the other hand, the enable generation unit 40 outputs the match enable signal MTENB when the matching memory data exists. If duplicated memory data exists, the duplicate match enable signal FMTENB is output. The outputs of the address generation unit 30 and the enable generation unit 40 are
For example, it is sent to a higher-level device and processing is performed according to these output results.

【0020】本発明によれば、前記メモリ部1のアドレ
スを順次読み出し、前記比較部20で入力データとメモ
リブロック内部データの比較を行なうことができる。ま
た、データラッチ部10が入力データ内の比較対象デー
タをラッチし、比較終了まで保持するので、入力データ
の並列処理制御を行なうことができる。また、各メモリ
ブロック1Aは並列動作し、メモリブロック1A内のア
ドレスは順次読み出され、1メモリブロック1Aに対し
て1個の比較部20で比較処理が行なえるので、回路規
模を小さくすることができる。更に、メモリブロックの
分割、入力データの複数並列処理により入力データの比
較処理時間を短縮することができる。
According to the present invention, the addresses of the memory unit 1 can be sequentially read, and the comparison unit 20 can compare the input data with the memory block internal data. Further, since the data latch section 10 latches the comparison target data in the input data and holds it until the end of the comparison, parallel processing control of the input data can be performed. In addition, each memory block 1A operates in parallel, addresses in the memory block 1A are sequentially read, and one comparison unit 20 can perform comparison processing for one memory block 1A, so that the circuit scale can be reduced. You can Further, it is possible to shorten the comparison processing time of the input data by dividing the memory block and processing a plurality of input data in parallel.

【0021】このように、本発明では、CAMメモリ1
を4個のメモリブロックに分割し、これらメモリブロッ
クと対応させた数の比較部20を設け、入力データとメ
モリデータとを比較させるようにしているので回路規模
を抑制できる。また、出力アドレスの他にマッチイネー
ブル信号MTENB,重複マッチイネーブル信号FMT
ENBを出力するようにしているので、出力アドレスの
信頼性を保持することができる。更にメモリブロック1
A内の各ワードデータにマスクビットを設けているの
で、データ幅だけの比較データを作成することができ、
任意のビット幅のデータの比較を行なうことができる。
As described above, in the present invention, the CAM memory 1
Is divided into four memory blocks, and the number of comparison units 20 corresponding to these memory blocks is provided to compare the input data with the memory data, so that the circuit scale can be suppressed. In addition to the output address, the match enable signal MTENB and the duplicate match enable signal FMT
Since ENB is output, the reliability of the output address can be maintained. Further memory block 1
Since each word data in A has a mask bit, it is possible to create comparison data of only the data width.
Data of arbitrary bit width can be compared.

【0022】図3はデータラッチ部10の構成例を示す
ブロック図である。図において、11は入力データID
ATAをラッチするデータラッチ回路で、データAをラ
ッチする回路をデータラッチ回路A、データBをラッチ
する回路をデータラッチ回路B、データCをラッチする
回路をデータラッチ回路C、データDをラッチする回路
をデータラッチ回路Dとする。入力データIDATA
は、それぞれのデータラッチ回路11に入力されてい
る。これらデータラッチ回路11には、ラッチ制御イネ
ーブル信号CNTL−ENBがメモリ制御部3から入力
されている。データラッチ回路Aには、CNTL−EN
B−Aが、データラッチ回路BにはCNTL−ENB−
Bが、データラッチ回路CにはCNTL−ENCが、デ
ータラッチ回路DにはCNTL−ENB−Dがそれぞれ
入力され、データラッチ信号として機能する。
FIG. 3 is a block diagram showing a configuration example of the data latch unit 10. In the figure, 11 is an input data ID
Data latch circuit for latching ATA, data latch circuit A for latching data A, data latch circuit B for latching data B, data latch circuit C for latching data C, latch data D The circuit is a data latch circuit D. Input data IDATA
Are input to the respective data latch circuits 11. A latch control enable signal CNTL-ENB is input to the data latch circuit 11 from the memory control unit 3. The data latch circuit A has a CNTL-EN
B-A has CNTL-ENB- in the data latch circuit B.
B, CNTL-ENC are input to the data latch circuit C, and CNTL-ENB-D are input to the data latch circuit D, respectively, and they function as data latch signals.

【0023】この実施例では、入力データの比較対象ビ
ット幅は32ビットであり、データラッチ回路Aからは
データHW−A(31:0)が出力され、データラッチ
回路Bからは、データHW−B(31:0)が出力さ
れ、データラッチ回路DからはデータHW−C(31:
0)が出力され、データラッチ回路Bからは、データH
W−D(31:0)が出力される。ここで、(31:
0)は0〜31まで32ビットあることを示す(以下同
様)。このように構成された回路の動作を説明すれば、
以下の通りである。
In this embodiment, the comparison target bit width of the input data is 32 bits, the data latch circuit A outputs the data HW-A (31: 0), and the data latch circuit B outputs the data HW-. B (31: 0) is output, and the data HW-C (31:
0) is output, and data H is output from the data latch circuit B.
WD (31: 0) is output. Here, (31:
0) indicates that there are 32 bits from 0 to 31 (same below). Explaining the operation of the circuit configured in this way,
It is as follows.

【0024】図4はデータラッチ部10の入出力動作を
示すタイムチャートである。32ビットの比較対象デー
タ(a)が図に示すように時系列で入力される。先ず、
データAが入力され、次にデータBが入力され、次にデ
ータCが入力され、次にデータDが入力される。データ
Aが入力されると、ラッチ制御イネーブル信号CNTL
−ENB−Aがデータラッチ回路Aに入力され、(b)
に示すようにHW−A(0)〜HW−A(31)までの
32ビットのデータAがラッチされる。データラッチ回
路Aは、比較部20による比較動作が終了するまで、ラ
ッチしたデータAを保持する。図の斜線領域はデータ保
持期間を示す(以下同じ)。
FIG. 4 is a time chart showing the input / output operation of the data latch unit 10. 32-bit comparison target data (a) is input in time series as shown in the figure. First,
Data A is input, then data B is input, then data C is input, then data D is input. When data A is input, latch control enable signal CNTL
-ENB-A is input to the data latch circuit A, (b)
As shown in, the 32-bit data A from HW-A (0) to HW-A (31) is latched. The data latch circuit A holds the latched data A until the comparison operation by the comparison unit 20 is completed. The shaded area in the figure indicates the data retention period (the same applies hereinafter).

【0025】同様にして、次にデータBが入力されてく
ると、ラッチ制御イネーブル信号CNTL−ENB−B
がデータラッチ回路Bに入力され、(c)に示すように
HW−B(0)〜HW−B(31)までの32ビットの
データBがラッチされる。データラッチ回路Bは、比較
部20による比較動作が終了するまで、ラッチしたデー
タAを保持する。以下、データC,データDについても
同様にラッチされる。
Similarly, when data B is input next, the latch control enable signal CNTL-ENB-B is input.
Is input to the data latch circuit B, and 32-bit data B from HW-B (0) to HW-B (31) is latched as shown in (c). The data latch circuit B holds the latched data A until the comparison operation by the comparison unit 20 is completed. Hereinafter, the data C and the data D are similarly latched.

【0026】この実施の形態例によれば、データラッチ
部10でメモリブロック1Aの数だけのデータを比較動
作の終了まで保持することにより、比較動作を並列処理
で行なうことができ、比較処理時間を短縮することがで
きる。
According to this embodiment, the data latch unit 10 holds the data of the number of the memory blocks 1A until the end of the comparison operation, so that the comparison operation can be performed in parallel and the comparison processing time can be increased. Can be shortened.

【0027】図5はCAMメモリ(メモリ部)1の構成
例を示す図である。前述したように、この実施例では、
0〜511までの512個のワードデータを4ブロック
に分割し、それぞれのメモリブロック1Aには、128
個のワードデータが記憶される。1個のワードデータは
64(比較データ+マスクデータ)ビットであるので、
1つのメモリブロック1Aのメモリ容量は、128ワー
ド×64ビットとなる。例えば、メモリブロック0に
は、ADD0〜ADD127までのワードデータが記憶
されている。出力アドレスは、ADD0が“0”、AD
D127が“127”というように対応付けされてい
る。メモリブロック1には、ADD0〜ADD127ま
でのワードデータが記憶されている。出力アドレスは、
ADD0が“128”、ADD127が“255”とい
うように対応付けされている。残りのメモリブロック
2,メモリブロック3の構成も同様である。
FIG. 5 is a diagram showing a configuration example of the CAM memory (memory section) 1. As mentioned above, in this example,
512 word data of 0 to 511 are divided into 4 blocks, and 128 blocks are set in each memory block 1A.
Individual word data are stored. Since one word data is 64 (comparison data + mask data) bits,
The memory capacity of one memory block 1A is 128 words × 64 bits. For example, the memory block 0 stores word data of ADD0 to ADD127. As for the output address, ADD0 is "0", AD
D127 is associated such as "127". Word data from ADD0 to ADD127 is stored in the memory block 1. The output address is
ADD0 is associated with "128" and ADD127 is associated with "255". The configuration of the remaining memory blocks 2 and 3 is also the same.

【0028】図6はメモリ内のデータの構成例を示す図
である。この実施の形態例では、本来のデータを記憶す
る32ビットの他に、同一容量の即ち32ビットのマス
クビットを具備している。図のビット0〜ビット31が
データを記憶する領域であり、ビット32〜ビット63
までがマスクビットである。例えば、データ部のデータ
長が18ビットであったものとすると、ビット32〜ビ
ット50までのマスクビットに“0”が設定され、残り
のマスクビットは“1”が設定される。即ち、このマス
クビットは必要なデータ長のみ“0”が立ち、残りの不
要なビットはマスクビットを“1”にして、不要ビット
をマスクしている。
FIG. 6 is a diagram showing a configuration example of data in the memory. In this embodiment, in addition to 32 bits for storing original data, mask bits having the same capacity, that is, 32 bits are provided. Bit 0 to bit 31 in the figure are areas for storing data, and bit 32 to bit 63
Are the mask bits. For example, if the data length of the data part is 18 bits, "0" is set in the mask bits from bit 32 to bit 50, and "1" is set in the remaining mask bits. That is, the mask bit is set to "0" only for the required data length, and the remaining unnecessary bits are masked by setting the mask bit to "1".

【0029】このようにメモリを構成することにより、
マスクビットにより入力データのビット数だけマスクビ
ットを“1”にすることにより、比較する入力データの
データ幅を可変することができる。
By configuring the memory in this way,
The data width of the input data to be compared can be changed by setting the mask bit to "1" by the number of bits of the input data by the mask bit.

【0030】図7は比較部20の構成例を示すブロック
図である。図において、21aはデータラッチ部10か
らのデータHW−A(31:0)と、CAMメモリ1か
ら出力されるワードデータCMP(63:0)の内のデ
ータ部の32ビット(31:0)を受ける比較回路、2
1bはデータラッチ部10からのデータHW−B(3
1:0)と、CAMメモリ1から出力されるワードデー
タCMP(63:0)の内のデータ部の32ビット(3
1:0)を受ける比較回路、21cはデータラッチ部1
0からのデータHW−C(31:0)と、CAMメモリ
1から出力されるワードデータCMP(63:0)の内
のデータ部の32ビット(31:0)を受ける比較回
路、21dはデータラッチ部10からのデータHW−D
(31:0)と、CAMメモリ1から出力されるワード
データCMP(63:0)の内のデータ部の32ビット
(31:0)を受ける比較回路である。これら比較回路
21a〜21dとしては、例えば排他的論理和ゲートが
用いられる。図では、1本の線でしか示していないが、
実際にはこれら比較回路21は32ビットのワードデー
タと32ビットの入力データ(HW−A〜HW−D)と
がそれぞれ対応するビット毎に比較される。従って、こ
れら比較回路21a〜21dは、32個のビット比較器
から構成されている。
FIG. 7 is a block diagram showing a configuration example of the comparison section 20. In the figure, 21a is the data HW-A (31: 0) from the data latch unit 10 and 32 bits (31: 0) of the data portion of the word data CMP (63: 0) output from the CAM memory 1. Comparing circuit receiving 2
1b is the data HW-B (3
1: 0) and 32 bits (3) of the data portion of the word data CMP (63: 0) output from the CAM memory 1.
1: 0), a comparison circuit 21c receives the data latch unit 1
Comparing circuit for receiving data HW-C (31: 0) from 0 and 32 bits (31: 0) of the data portion of the word data CMP (63: 0) output from the CAM memory 1, 21d is data Data HW-D from the latch unit 10
The comparison circuit receives (31: 0) and 32 bits (31: 0) of the data portion of the word data CMP (63: 0) output from the CAM memory 1. As the comparison circuits 21a to 21d, for example, exclusive OR gates are used. Although the figure shows only one line,
In reality, the comparison circuit 21 compares 32-bit word data with 32-bit input data (HW-A to HW-D) for each corresponding bit. Therefore, these comparison circuits 21a to 21d are composed of 32 bit comparators.

【0031】22aは比較回路21aの出力(31:
0)と、CAMメモリ1から出力されるワードデータC
MP(63:0)のマスクビット(63:32)とをビ
ット対応でマスクするマスク回路、22bは比較回路2
1bの出力(31:0)と、CAMメモリ1から出力さ
れるワードデータCMP(63:0)のマスクビット
(63:32)とをビット対応でマスクするマスク回
路、22cは比較回路21cの出力(31:0)と、C
AMメモリ1から出力されるワードデータCMP(6
3:0)のマスクビット(63:32)とをビット対応
でマスクするマスク回路、22dは比較回路21dの出
力(31:0)と、CAMメモリ1から出力されるワー
ドデータCMP(63:0)のマスクビット(63:3
2)とをビット対応でマスクするマスク回路である。こ
れらマスク回路22a〜22dとしては、例えばORゲ
ートが用いられている。図では、1本の線でしか示して
いないが、実際にはこれらマスク回路22は32ビット
の比較回路21出力と32ビットのマスクビットとがそ
れぞれ対応するビット毎に比較される。従って、これら
マスク回路22a〜22dは、32個のORゲートから
構成されている。
22a is an output of the comparison circuit 21a (31:
0) and the word data C output from the CAM memory 1
A mask circuit for masking the mask bits (63:32) of MP (63: 0) in a bit-corresponding manner, and 22 b is a comparison circuit 2.
A mask circuit for masking the output (31: 0) of 1b and the mask bits (63:32) of the word data CMP (63: 0) output from the CAM memory 1 in bit correspondence, and 22c is the output of the comparison circuit 21c. (31: 0) and C
Word data CMP (6 output from the AM memory 1
A mask circuit for masking the mask bits (63:32) of 3: 0 in bit correspondence, 22d is the output (31: 0) of the comparison circuit 21d, and the word data CMP (63: 0) output from the CAM memory 1. ) Mask bits (63: 3)
2) is a mask circuit for masking and in correspondence with bits. As the mask circuits 22a to 22d, for example, OR gates are used. Although only one line is shown in the figure, the mask circuit 22 actually compares the output of the comparison circuit 21 of 32 bits with the mask bit of 32 bits for each corresponding bit. Therefore, these mask circuits 22a to 22d are composed of 32 OR gates.

【0032】23aはマスク回路22aからの32個の
データを受けるアンドゲート、23bはマスク回路22
bからの32個のデータを受けるアンドゲート、23c
はマスク回路22cからの32個のデータを受けるアン
ドゲート、23dはマスク回路22dからの32個のデ
ータを受けるアンドゲートである。これらアンドゲート
23a〜23dは、32個の入力データが全て“1”の
場合のみ、即ちCAMメモリ1に記憶されているワード
データと、入力データとが一致した場合のみ、“1”を
出力する。アンドゲート23aの出力をMT−A、アン
ドゲート23bの出力をMT−B、アンドゲート23c
の出力をMT−C、アンドゲート23゛ての出力をMT
−Dとする。このように構成された回路の動作を説明す
れば、以下の通りである。
23a is an AND gate for receiving 32 data from the mask circuit 22a, and 23b is a mask circuit 22.
AND gate for receiving 32 data from b, 23c
Is an AND gate for receiving 32 pieces of data from the mask circuit 22c, and 23d is an AND gate for receiving 32 pieces of data from the mask circuit 22d. The AND gates 23a to 23d output "1" only when the 32 pieces of input data are all "1", that is, only when the word data stored in the CAM memory 1 and the input data match. . The output of the AND gate 23a is MT-A, the output of the AND gate 23b is MT-B, and the AND gate 23c.
Output is MT-C, and output from AND gate 23 is MT
-D. The operation of the circuit thus configured will be described as follows.

【0033】データラッチ部10からはラッチされた4
個のデータHW−A〜HW−Dが入力され、HW−Aは
比較回路21aに、HW−Bは比較回路21bに、HW
−Cは比較回路21cに、HW−Dは比較回路21dに
それぞれ入る。一方、CAMメモリ1のメモリブロック
1Aからは、それぞれメモリ制御部3からアクセスされ
た番地のワードデータCMP(63:0)が出力され、
下位32ビットが各比較回路21a〜21dに共通に入
る。ワードデータCMPの上位32ビットはマスクビッ
トであり、このマスクビットはマスク回路22a〜22
dに共通に入る。
The data latched from the data latch unit 10 is 4
The individual pieces of data HW-A to HW-D are input, HW-A to the comparison circuit 21a, HW-B to the comparison circuit 21b, and HW-H.
-C enters the comparison circuit 21c, and HW-D enters the comparison circuit 21d. On the other hand, from the memory block 1A of the CAM memory 1, the word data CMP (63: 0) of the address accessed by the memory control unit 3 is output,
The lower 32 bits are commonly input to the comparison circuits 21a to 21d. The upper 32 bits of the word data CMP are mask bits, and these mask bits are mask circuits 22a to 22.
Common to d.

【0034】比較回路21aは、入力データHW−Aと
ワードデータの各ビットを同時に比較し、その比較結果
(31:0)はマスク回路22aに入る。マスク回路2
2aの他方の入力には前述したマスクビットが入力され
ている。入力データのビット幅が32ビットであれば、
マスクビット32ビットは何れも“0”であるので、こ
の場合には比較回路21aの出力がそのまま通過するこ
とになる。マスク回路22aの出力はアンドゲート23
aに入る。ワードデータと入力データとが一致した場合
には、マスク回路22aの出力32ビット全て“1”に
なるので、該アンドゲート23aはワードデータと入力
データとが一致したことを示す値“1”をMT−Aとし
て出力する。以上、比較回路21aの場合について説明
したが、他の比較回路21b〜21dについても同様で
ある。以上、比較部0の場合について説明したが、この
比較動作は残りの比較部1〜比較部3まで同じであるの
で、その詳細動作は省略する。
The comparison circuit 21a simultaneously compares the input data HW-A and each bit of the word data, and the comparison result (31: 0) enters the mask circuit 22a. Mask circuit 2
The above-mentioned mask bit is input to the other input of 2a. If the bit width of the input data is 32 bits,
Since all 32 bits of the mask bit are "0", in this case, the output of the comparison circuit 21a directly passes. The output of the mask circuit 22a is the AND gate 23.
Enter a. When the word data and the input data match, the output 32 bits of the mask circuit 22a all become "1", so the AND gate 23a outputs a value "1" indicating that the word data and the input data match. Output as MT-A. The case of the comparison circuit 21a has been described above, but the same applies to the other comparison circuits 21b to 21d. The case of the comparison unit 0 has been described above, but since this comparison operation is the same for the remaining comparison units 1 to 3, the detailed operation is omitted.

【0035】図8はアドレス生成部30の構成例を示す
ブロック図である。図において、31は各比較部20の
出力MT(3:0)を受けてエンコードするエンコーダ
である。図7より明らかなように、比較部20はMT−
A〜MT−Dまでの4個の比較データを出力する。比較
部0はMT−A0,MT−B0,MT−C0,MT−D
0を、比較部1はMT−A1,MT−B1,MT−C
1,MT−D1を、比較部2はMT−A2,MT−B
2,MT−C2,MT−D2を、比較部3はMT−A
3,MT−B3,MT−C3,MT−D3をそれぞれ出
力する。第1のエンコーダ31には、MT−A0,MT
−A1,MT−A2,MT−A3の4個の比較結果ビッ
トMT−A(3:0)が入力され、第2のエンコーダ3
1にはMT−B0,MT−B1,MT−B2,MT−B
3の4個の比較結果ビットMT−B(3:0)が入力さ
れ、第3のエンコーダ31には、MT−C0,MT−C
1,MT−C2,MT−C3の4個の比較結果ビットM
T−C(3:0)が入力され、第4のエンコーダ31に
はMT−D0,MT−D1,MT−D2,MT−D3の
4個の比較結果ビットMT−D(3:0)が入力され
る。
FIG. 8 is a block diagram showing a configuration example of the address generator 30. In the figure, reference numeral 31 is an encoder for receiving and encoding the output MT (3: 0) of each comparison unit 20. As is clear from FIG. 7, the comparison unit 20 is MT-
Four comparison data A to MT-D are output. The comparison unit 0 has MT-A0, MT-B0, MT-C0, MT-D.
0, the comparison unit 1 is MT-A1, MT-B1, MT-C.
1, MT-D1, and the comparison unit 2 MT-A2, MT-B.
2, MT-C2, MT-D2, the comparison unit 3 MT-A
3, MT-B3, MT-C3, MT-D3 are output respectively. The first encoder 31 has MT-A0, MT
The four comparison result bits MT-A (3: 0) of -A1, MT-A2, and MT-A3 are input, and the second encoder 3
1 is MT-B0, MT-B1, MT-B2, MT-B.
The four comparison result bits MT-B (3: 0) of 3 are input, and the third encoder 31 inputs MT-C0 and MT-C.
1, MT-C2, MT-C3 four comparison result bits M
TC (3: 0) is input, and four comparison result bits MT-D (3: 0) of MT-D0, MT-D1, MT-D2, MT-D3 are input to the fourth encoder 31. Is entered.

【0036】32aはメモリ制御部3から出力されるア
ドレスデータADDR(6:0)をラッチイネーブル信
号によりラッチするラッチ回路である。該ラッチ回路3
2aは、ラッチイネーブルA〜ラッチイネーブルDに対
応して4個設けられている。アドレスデータADDR
は、これらラッチ回路32aに共通に入力されている。
32bは、各エンコーダ31から出力されるデータをラ
ッチイネーブル信号によりラッチするラッチ回路であ
る。該ラッチ回路32bは、ラッチイネーブルA〜ラッ
チイネーブルDに対応して4個設けられている。33
は、各ラッチ回路32aの出力(6:0)及びラッチ回
路32bの出力(1:0)を受けて9ビットの出力アド
レス信号OADD(8:0)を出力するマルチプレクサ
である。マルチプレクサ33の出力が9ビットとなって
いるのは、CAMメモリ1に記憶されてるワードデータ
の数が512個であることによる(512=29 )。こ
のように構成された回路の動作を説明すれば、以下の通
りである。
Reference numeral 32a is a latch circuit which latches the address data ADDR (6: 0) output from the memory control unit 3 by a latch enable signal. The latch circuit 3
Four 2a are provided corresponding to latch enable A to latch enable D. Address data ADDR
Are commonly input to these latch circuits 32a.
Reference numeral 32b is a latch circuit that latches the data output from each encoder 31 by a latch enable signal. Four latch circuits 32b are provided corresponding to latch enable A to latch enable D. 33
Is a multiplexer which receives the output (6: 0) of each latch circuit 32a and the output (1: 0) of the latch circuit 32b and outputs a 9-bit output address signal OADD (8: 0). The output of the multiplexer 33 is 9 bits because the number of word data stored in the CAM memory 1 is 512 (512 = 2 9 ). The operation of the circuit thus configured will be described as follows.

【0037】最初に入力データHW−Aの比較結果がM
T−A(3:0 比較部0〜比較部3までのMT−A出
力)として出力され、第1のエンコーダ31に入り、2
ビットのデータにエンコードされる。図9はこの時のエ
ンコーダ31の真理値表を示す図である。このエンコー
ダは、MT(3:0)が“0001”として入力された
時には“00”を出力し、“001X”(Xは1でも0
でもよいことを示す)として入力された場合には“0
1”を出力し、“01XX”として入力された場合には
“10”を出力し、“1XXX”として入力された場合
には“11”を出力し、“0000”として入力された
場合には“00”を出力するようになっている。
First, the comparison result of the input data HW-A is M
It is output as T-A (MT-A output from 3: 0 comparison unit 0 to comparison unit 3) and enters the first encoder 31 and 2
Encoded into bit data. FIG. 9 is a diagram showing a truth table of the encoder 31 at this time. This encoder outputs "00" when MT (3: 0) is input as "0001", and "001X" (X is 1 or 0
However, if the input is
When "1" is output, when "01XX" is input, "10" is output, when "1XXX" is input, "11" is output, and when "0000" is input, It outputs "00".

【0038】第1のエンコーダ31の出力は、ラッチイ
ネーブルA信号により、ラッチ回路32bにラッチされ
る。一方、メモリ制御部3から出力される0〜127の
アドレス信号ADDR(6:0)は、同じラッチイネー
ブルA信号によりラッチ回路32aにラッチされる。そ
して、これらラッチ回路32aの出力(6:0),ラッ
チ回路32bの出力(1:0)はマルチプレクサ33で
多重化され、9ビットの出力アドレス信号OADD
(8:0)として出力される。この出力アドレスが入力
データと一致したCAMメモリ1内のワードデータの出
力アドレスとなる。
The output of the first encoder 31 is latched in the latch circuit 32b by the latch enable A signal. On the other hand, the address signals ADDR (6: 0) of 0 to 127 output from the memory control unit 3 are latched in the latch circuit 32a by the same latch enable A signal. The output (6: 0) of the latch circuit 32a and the output (1: 0) of the latch circuit 32b are multiplexed by the multiplexer 33, and the 9-bit output address signal OADD is output.
It is output as (8: 0). This output address becomes the output address of the word data in the CAM memory 1 that matches the input data.

【0039】次のタイミングで入力データHW−Bがラ
ッチ回路32aにラッチイネーブルB信号によりラッチ
され、一方ラッチ回路32bには第2のエンコーダ31
の出力がラッチされ、これらデータがマルチプレクサ3
3で多重化されたCAMの出力アドレスが出力される。
以下、同様にして、時系列で入力データHW−C,入力
データHW−Dの出力アドレスが出力される。
At the next timing, the input data HW-B is latched by the latch enable B signal in the latch circuit 32a, while the second encoder 31 is latched in the latch circuit 32b.
Output is latched and these data are
The output address of the CAM multiplexed in 3 is output.
Thereafter, similarly, the output addresses of the input data HW-C and the input data HW-D are output in time series.

【0040】この実施の形態例によれば、入力データと
一致するCAMのワードデータに対応する出力アドレス
を得ることができる。図10はイネーブル生成部40の
構成例を示すブロック図である。図において、41は各
比較結果信号MT−A〜MT−Dに対応して設けられた
イネーブル生成回路である。これらイネーブル生成回路
41は、4ビットの比較結果信号MT−A〜MT−Dを
受けて、MTE信号とFMTE信号を出力する。42は
各イネーブル生成回路41から出力されるMTE信号を
多重化する第1のマルチプレクサ、43は各イネーブル
生成回路41から出力されるFMTE信号を多重化する
第2のマルチプレクサである。第1のマルチプレクサ4
2からはマッチイネーブル信号MTENB信号が出力さ
れ、第2のマルチプレクサ43からは重複マッチイネー
ブル信号FMTENBが出力される。
According to this embodiment, it is possible to obtain the output address corresponding to the CAM word data that matches the input data. FIG. 10 is a block diagram showing a configuration example of the enable generation unit 40. In the figure, reference numeral 41 is an enable generation circuit provided corresponding to each comparison result signal MT-A to MT-D. These enable generation circuits 41 receive the 4-bit comparison result signals MT-A to MT-D and output the MTE signal and the FMTE signal. Reference numeral 42 is a first multiplexer that multiplexes the MTE signals output from each enable generation circuit 41, and 43 is a second multiplexer that multiplexes the FMTE signals output from each enable generation circuit 41. First multiplexer 4
2 outputs a match enable signal MTENB signal, and the second multiplexer 43 outputs a duplicate match enable signal FMTENB.

【0041】各ラッチイネーブル生成回路41におい
て、50は4ビットの比較結果信号MT−*(*はA〜
D)を受けるオアゲートである。該オアゲート50か
ら、前記ラッチイネーブル信号が出力される。即ち、第
1のイネーブル生成回路41からはラッチイネーブルA
信号が、第2のイネーブル生成回路41からはラッチイ
ネーブルB信号が、第3のイネーブル生成回路41から
はラッチイネーブルC信号が、第4のイネーブル生成回
路41からはラッチイネーブルD信号がそれぞれ出力さ
れ、図8に示すアドレス生成部30に入力される。
In each latch enable generation circuit 41, 50 is a 4-bit comparison result signal MT- * (* is A to
It is an OR gate that receives D). The latch enable signal is output from the OR gate 50. That is, the latch enable A from the first enable generation circuit 41.
The second enable generation circuit 41 outputs a latch enable B signal, the third enable generation circuit 41 outputs a latch enable C signal, and the fourth enable generation circuit 41 outputs a latch enable D signal. , Is input to the address generator 30 shown in FIG.

【0042】51はオアゲート50の出力をラッチし、
比較終了時まで保持する第1のラッチ回路、52はオア
ゲート50の出力とラッチ回路51の出力とを受けるア
ンドゲートである。54は4ビットの比較結果信号MT
−*を受けるプライオリティエンコーダ、55は比較結
果信号MT−*とプライオリティエンコーダ54の出力
を比較する比較回路、53は前記アンドゲート52の出
力と比較回路55の出力とを受けるオアゲート、56は
該オアゲート53の出力をラッチする第2のラッチ回路
である。そして、第1のラッチ回路51からはMTE信
号が出力され、第2のラッチ回路56からはFMTE信
号が出力される。このように構成された回路の動作を説
明すれば、以下の通りである。
51 latches the output of the OR gate 50,
A first latch circuit 52 for holding until the end of the comparison, and 52 is an AND gate for receiving the output of the OR gate 50 and the output of the latch circuit 51. 54 is a 4-bit comparison result signal MT
Priority encoder for receiving-*, 55 is a comparison circuit for comparing the comparison result signal MT- * with the output of the priority encoder 54, 53 is an OR gate for receiving the output of the AND gate 52 and the output of the comparison circuit 55, and 56 is the OR gate. It is a second latch circuit for latching the output of 53. Then, the first latch circuit 51 outputs the MTE signal, and the second latch circuit 56 outputs the FMTE signal. The operation of the circuit thus configured will be described as follows.

【0043】MT−*(3:0)の何れかのビットに
“1”が立っていたら、オアゲート50の出力は“1”
になる。この“1”が第1のラッチ回路51でラッチさ
れる。この第1のラッチ回路51の出力は第1のマルチ
プレクサ42に入力される。マルチプレクサ42からは
一致データが存在することを示すマッチイネーブル信号
MTENBが出力される。一方、一致データが存在しな
い場合には、MT−*は4ビット共に“0”であり、オ
アゲート50の出力は“0”になる。この“0”が第1
のラッチ回路51にラッチされ、MTE信号として出力
され、第1のマルチプレクサ42に入る。4個のイネー
ブル生成回路41が全てデータの不一致を出力した場合
には、第1のマルチプレクサ42から出力されるマッチ
イネーブル信号MTENBは“0”になり、データの一
致がなかったことを示す。
If "1" is set in any bit of MT-* (3: 0), the output of the OR gate 50 is "1".
become. This “1” is latched by the first latch circuit 51. The output of the first latch circuit 51 is input to the first multiplexer 42. The multiplexer 42 outputs a match enable signal MTENB indicating that there is matching data. On the other hand, when there is no matching data, MT- * is "0" in all 4 bits, and the output of the OR gate 50 is "0". This "0" is the first
Is latched by the latch circuit 51, is output as the MTE signal, and enters the first multiplexer 42. When all the four enable generation circuits 41 output data mismatches, the match enable signal MTENB output from the first multiplexer 42 becomes "0", indicating that there is no data match.

【0044】一方、比較時間中において、異なる時間に
複数のアドレスでデータの一致が発生したら、第1のラ
ッチ回路51の出力とオアゲート50の出力が共に
“1”となり、アンドゲート52は“1”を出力する。
このアンドゲート52の出力はオアゲート53に入り、
該オアゲート53からは重複データ一致が発生したこと
を示す“1”が出力され、第2のラッチ回路56にラッ
チされ、該第2のラッチ回路56からFMTE信号とし
て出力され、第2のマルチプレクサ43に入る。
On the other hand, if data coincidence occurs at a plurality of addresses at different times during the comparison time, the output of the first latch circuit 51 and the output of the OR gate 50 both become "1", and the AND gate 52 becomes "1". Is output.
The output of the AND gate 52 enters the OR gate 53,
The OR gate 53 outputs "1" indicating that duplicate data coincidence has occurred, is latched by the second latch circuit 56, is output as the FMTE signal from the second latch circuit 56, and is output by the second multiplexer 43. to go into.

【0045】また、同時に比較時間中にデータの一致が
発生したら、MT−*(3:0)は複数のビットに
“1”が立っていることになる。プライオリティエンコ
ーダ54は、同時に複数のビットに“1”が立っている
ことを識別するために設けられているものである。図1
1は該プライオリティエンコーダ54の真理値表を示す
図である。このプライオリティエンコーダ54は、入力
データINが“0001”の場合には“0001”を発
生し、入力データINが“001X”の場合には“00
10”を発生し、入力データINが“01XX”の場合
には“0100”を発生し、入力データINが“1XX
X”の場合には“1000”を発生し、入力データが
“0000”の場合には“0000”を発生するように
なっている。
If data coincidence occurs at the same time during the comparison time, MT-* (3: 0) means that "1" is set in a plurality of bits. The priority encoder 54 is provided to identify that "1" is set in a plurality of bits at the same time. FIG.
1 is a diagram showing a truth table of the priority encoder 54. The priority encoder 54 generates "0001" when the input data IN is "0001", and "00" when the input data IN is "001X".
10 "is generated, and when the input data IN is" 01XX "," 0100 "is generated and the input data IN is" 1XX ".
In the case of X "," 1000 "is generated, and in the case of the input data being" 0000 "," 0000 "is generated.

【0046】即ち、このプライオリティエンコーダ54
は、4ビットの内の複数ビットに“1”が立っていても
必ず任意の1ビットのみ“1”が立つようなデータを出
力する。従って、このプライオリティエンコーダ54の
出力と、元のデータを比較回路55で比較すると、複数
のビットに“1”が立っていた場合には必ずデータの不
一致を発生する。ここでは、複数のビットに“1”が立
っていた場合、比較回路55は“1”を出力するものと
する。この比較回路55の出力は、オアゲート53に入
り、“1”を出力する。この“1”は、第2のラッチ回
路56にラッチされ、FMTE信号として第2のマルチ
プレクサ43に入る。この結果、第2のマルチプレクサ
43からは、隣同志のデータに一致が発生した場合、又
は同時比較時間中に複数のデータの一致が発生した時に
“1”を出力し、重複マッチが発生したことを通知す
る。
That is, this priority encoder 54
Outputs data in which even if "1" is set in a plurality of bits of 4 bits, "1" is set in only one arbitrary bit. Therefore, when the output of the priority encoder 54 and the original data are compared by the comparison circuit 55, data mismatch always occurs when "1" is set in a plurality of bits. Here, when "1" is set to a plurality of bits, the comparison circuit 55 outputs "1". The output of the comparison circuit 55 enters the OR gate 53 and outputs "1". This "1" is latched by the second latch circuit 56 and enters the second multiplexer 43 as an FMTE signal. As a result, the second multiplexer 43 outputs "1" when a match occurs between adjacent data, or when a plurality of data matches during the simultaneous comparison time, and a duplicate match occurs. To notify.

【0047】この実施の形態例によれば、出力アドレス
に応じてマッチイネーブル信号、重複マッチイネーブル
信号を出力することができる。このため、アドレス生成
部30から出力される一致した出力アドレスデータAO
DDと合わせて処理することにより、一致データの信頼
性を向上させることができる。
According to this embodiment, the match enable signal and the duplicate match enable signal can be output according to the output address. Therefore, the matched output address data AO output from the address generation unit 30
By processing together with DD, the reliability of the matching data can be improved.

【0048】図12は本発明の全体の動作を示すタイム
チャートである。図において、(a)は入力データID
ATAを、(b)はデータラッチ部10でラッチされる
第1の入力データHW−Aを、(c)はデータラッチ部
10でラッチされる第2の入力データHW−Bを、
(d)はデータラッチ部10でラッチされる第3の入力
データHW−Cを、(e)はデータラッチ部10でラッ
チされる第4のデータHW−Dを示している。
FIG. 12 is a time chart showing the overall operation of the present invention. In the figure, (a) is the input data ID
ATA, (b) the first input data HW-A latched by the data latch unit 10, (c) the second input data HW-B latched by the data latch unit 10,
(D) shows the third input data HW-C latched by the data latch unit 10, and (e) shows the fourth data HW-D latched by the data latch unit 10.

【0049】(f)はメモリ制御部3からシーケンシャ
ルに出力されるアドレスデータADDRを、(g)はメ
モリブロック0から出力されるワードデータCMP−0
を、(h)はメモリブロック1から出力されるワードデ
ータCMP1を、(i)はメモリブロック2から出力さ
れるワードデータCMP2を、(j)はメモリブロック
3から出力されるワードデータCMP−3を示す。
(F) shows the address data ADDR sequentially output from the memory control unit 3, and (g) shows the word data CMP-0 output from the memory block 0.
(H) is the word data CMP1 output from the memory block 1, (i) is the word data CMP2 output from the memory block 2, and (j) is the word data CMP-3 output from the memory block 3. Indicates.

【0050】(k)は4個の比較部20から出力される
第1のデータHW−Aの比較結果MT−A0〜MT−A
3を、(l)は4個の比較部20から出力される第2の
データHW−Bの比較結果MT−B0〜MT−B3を、
(n)は4個の比較部20から出力される第4のデータ
HW−Dの比較結果MT−D0〜MT−D3を示す。
(o)はアドレス生成部30から出力される出力アドレ
スOADDを、(p)はイネーブル生成部40から出力
されるマッチイネーブル信号MTENBを、(q)は同
じくイネーブル生成部40から出力される重複マッチイ
ネーブル信号FMTENBを示す。
(K) is a comparison result MT-A0 to MT-A of the first data HW-A output from the four comparison units 20.
3, (l) is the comparison result MT-B0 to MT-B3 of the second data HW-B output from the four comparing units 20,
(N) shows the comparison results MT-D0 to MT-D3 of the fourth data HW-D output from the four comparison units 20.
(O) is the output address OADD output from the address generation unit 30, (p) is the match enable signal MTENB output from the enable generation unit 40, and (q) is the duplicate match output from the enable generation unit 40. The enable signal FMTENB is shown.

【0051】入力されたデータの比較対象ビット(32
ビット)は、データラッチ部10で4並列(HW−A〜
HW−D)に分割される。データ入力と同時に、メモリ
制御部3は各メモリブロック0〜メモリブロック3に読
み出しアドレスADDRを出力し、各メモリブロック0
〜メモリブロック3のアドレスに比較データ及びマスク
ビットCMP−0〜CMP−3を読み出す。
Bits to be compared of the input data (32
4 bits (HW-A ~) in the data latch unit 10.
HW-D). At the same time as the data input, the memory control unit 3 outputs the read address ADDR to each of the memory blocks 0 to 3 and
~ Read comparison data and mask bits CMP-0 to CMP-3 to the address of the memory block 3.

【0052】比較部0ではではHW−A〜HW−DとC
MP−0との比較、及びマスクを、比較部1ではHW−
A〜HW−DとCMP−1との比較、及びマスクを、比
較部2ではHW−A〜HWのDとCMP−2との比較、
及びマスクを、比較部3ではHW−A〜HW−DとCM
P−3との比較、及びマスクを行なう。HW−Aはアド
レス0から始まり、アドレス127で終了する。HW−
Bはアドレス32から始まりアドレス127まで行った
後、アドレス0に戻りアドレス31で終了する。HW−
C,HW−Dについても同様にアクセスされる。
In the comparison unit 0, HW-A to HW-D and C
The comparison with MP-0 and the mask are performed in the comparison unit 1 by HW-
A to HW-D and CMP-1 are compared, and the mask is compared, and in the comparison unit 2, HW-A to HW D and CMP-2 are compared,
And a mask, and HW-A to HW-D and CM in the comparison unit 3.
Comparison with P-3 and masking are performed. HW-A starts at address 0 and ends at address 127. HW-
B starts at address 32 and goes to address 127, then returns to address 0 and ends at address 31. HW-
The C and HW-D are similarly accessed.

【0053】ここで、入力データのDATA−AnとC
MP−0のアドレス3のデータとが一致したものとす
る。比較部0は、(k)に示すようにMT−A0に
“1”を出力する。アドレス生成部30では、一致した
読み出しアドレスADDRを第1のラッチ回路32aで
ラッチし、下位7ビットの出力“0000011”とす
る。上位2ビットは、第1のエンコーダ31で比較結果
MT−A(3:0)をエンコードする。MT−Aは“0
001”は、エンコーダ31でエンコードされ“00”
となる(図9参照)。
Here, DATA-An and C of the input data
It is assumed that the data at address 3 of MP-0 matches. The comparator 0 outputs "1" to MT-A0 as shown in (k). In the address generation unit 30, the read address ADDR that matches is latched by the first latch circuit 32a, and the lower 7 bits are output as "0000011". The upper 2 bits encode the comparison result MT-A (3: 0) by the first encoder 31. MT-A is "0
001 ”is encoded by the encoder 31 to“ 00 ”
(See FIG. 9).

【0054】故に、データDATA−Anの出力アドレ
スOADDは“000000011”となる。この出力
アドレスは、全てのワードとの比較終了後に(o)に示
すように出力される。同様に、入力データDATA−B
nとCMP−1のアドレス95のワードデータとが一致
したものとすると、アドレス生成部30から出力される
出力アドレスOADDは“011011111”とな
る。
Therefore, the output address OADD of the data DATA-An becomes "000000011". This output address is output as shown in (o) after the completion of comparison with all the words. Similarly, input data DATA-B
If n and the word data of the address 95 of the CMP-1 match, the output address OADD output from the address generation unit 30 is “011011111”.

【0055】データ不一致が発生した場合、イネーブル
生成部40は、マッチイネーブル信号を生成し、出力ア
ドレスに同期してMTENBに“0”(一致した場合が
“1”)が出力される。同様に、データの重複マッチが
発生した場合には出力アドレスに同期してFTENBに
“1”が出力される。
When a data mismatch occurs, the enable generator 40 generates a match enable signal, and "0"("1" when matched) is output to MTENB in synchronization with the output address. Similarly, when a duplicate match of data occurs, "1" is output to FTENB in synchronization with the output address.

【0056】本発明装置は、通常はデータ不一致(CA
Mメモリ1内のいずれのワードデータとも不一致)の場
合は、出力アドレスにオール0である“0000000
00”を出力する。その場合、アドレス出力のみでは、
アドレス“000000000”で一致したものとの区
別がつかない。そこで、マッチイネーブルMTENBを
“0”とすることにより、不一致であることを通知す
る。
The device of the present invention is normally used for data mismatch (CA
If it does not match any word data in M memory 1), the output address is "0000000" which is all 0s.
00 "is output. In that case, if only the address is output,
It is indistinguishable from the one matched at the address "000000000000". Therefore, the match enable MTENB is set to "0" to notify that there is no match.

【0057】また、重複マッチの場合には、出力アドレ
スには複数マッチした最若番のアドレスが出力されてし
まう。このままでは信頼できるデータとは言えない。そ
こで、重複マッチイネーブル信号FMTENBを“1”
にすることにより、重複マッチが発生したことを通知す
る。これにより、出力アドレスが信頼できるデータでは
ないと判断することができる。
Further, in the case of overlapping match, the output address is the smallest matched address. As it stands, it cannot be said that the data is reliable. Therefore, the overlap match enable signal FMTENB is set to "1".
By setting to, it notifies that a duplicate match has occurred. This makes it possible to determine that the output address is not reliable data.

【0058】本発明によれば、入力される比較対象デー
タのビット幅を可変とするために、CAMメモリ1内の
マスクビットを用いるようにしている。例えば、入力デ
ータが20ビットの場合には、メモリ内マスクビットの
20〜31ビットに“1”を設定する。図7に示す比較
部20では、マスクビットに“1”が設定されているビ
ットの比較結果は無視される。そして、20ビット分の
比較結果のみを出力する。図7のマスク回路22aはオ
アゲートより構成されているので、マスクビットが
“1”であれば、比較回路21aからのデータの如何に
拘らずマスク回路22aの出力は“1”となり、ドント
・ケア(無視)されることになる。
According to the present invention, the mask bit in the CAM memory 1 is used in order to make the bit width of the input comparison target data variable. For example, when the input data is 20 bits, "1" is set to the 20 to 31 bits of the mask bits in the memory. In the comparison unit 20 shown in FIG. 7, the comparison result of the bits for which “1” is set in the mask bit is ignored. Then, only the comparison result for 20 bits is output. Since the mask circuit 22a of FIG. 7 is composed of an OR gate, if the mask bit is "1", the output of the mask circuit 22a becomes "1" regardless of the data from the comparison circuit 21a, and the don't care. Will be (ignored).

【0059】上述の実施の形態例では、ワードデータの
数を512個とし、CAMメモリ1内は128ワードず
つの4個のメモリブロックに分ける場合を例にとって説
明した。しかしながら、本発明はこれに限るものではな
く、任意の数のワード数を持つCAMメモリ1を任意の
ワード数を1ブロックとしてメモリブロック化し、これ
らメモリブロックに対して本発明を適用することができ
ることは言うまでもない。
In the above-described embodiment, the case where the number of word data is 512 and the CAM memory 1 is divided into four memory blocks of 128 words has been described as an example. However, the present invention is not limited to this, and the CAM memory 1 having an arbitrary number of words can be made into a memory block with an arbitrary number of words as one block, and the present invention can be applied to these memory blocks. Needless to say.

【0060】[0060]

【発明の効果】 以上、詳細に説明したように、本発明によれば、入
力データとCAMの内部データとを比較し、一致した場
合に一致したCAMのワードデータに対応するCAMア
ドレスを出力するアドレス変換装置において、メモリを
複数のメモリブロックに分割したメモリ部と、該メモリ
ブロックと対応したブロック毎に設けられ、入力データ
とメモリブロック内部のデータとを比較する比較部とを
備え、前記メモリ部のアドレスを順次読み出し、前記比
較部で入力データとメモリブロック内部データの比較を
行なうことにより、前記メモリ部のアドレスを順次読み
出し、前記比較部で入力データとメモリブロック内部デ
ータの比較を行なうことができる。また、データラッチ
部が入力データ内の比較対象データをラッチし、比較終
了まで保持するので、入力データの並列処理制御を行な
うことができる。また、各メモリブロックは並列動作
し、メモリブロック内のアドレスは順次読み出され、1
メモリブロックに対して1個の比較部で比較処理が行な
えるので、回路規模を小さくすることができる。更に、
メモリブロックの分割、入力データの複数並列処理によ
り入力データの比較処理時間を短縮することができる。
As described above in detail, according to the present invention, the input data is compared with the internal data of the CAM, and when they match, the CAM address corresponding to the word data of the matched CAM is output. In the address translation device, the memory is divided into a plurality of memory blocks, and a memory is provided for each block corresponding to the memory block, and a comparison unit for comparing input data with data in the memory block, The addresses of the memory units are sequentially read out, and the comparing unit compares the input data with the memory block internal data, whereby the addresses of the memory unit are sequentially read out, and the comparing unit compares the input data with the memory block internal data. You can Further, since the data latch unit latches the comparison target data in the input data and holds the comparison target data until the end of the comparison, parallel processing control of the input data can be performed. In addition, each memory block operates in parallel, addresses in the memory block are sequentially read, and
Since the comparison processing can be performed for one memory block by one comparison unit, the circuit scale can be reduced. Furthermore,
By dividing the memory block and processing a plurality of input data in parallel, it is possible to shorten the processing time for comparing the input data.

【0061】 また、入力データを前記メモリブロッ
クに対応した数だけラッチするデータラッチ部を設け、
前記対応する比較部でラッチした入力データとメモリブ
ロック内部データとの比較動作を並列処理で行なうこと
により、データラッチ部でメモリブロックの数だけのデ
ータを比較動作の終了まで保持することにより、比較動
作を並列処理で行なうことができ、比較処理時間を短縮
することができる。
Further, a data latch unit for latching input data by a number corresponding to the memory block is provided,
By performing the parallel operation of the comparison between the input data latched by the corresponding comparison unit and the internal data of the memory block, the data latch unit holds the data of the number of memory blocks until the end of the comparison operation. The operations can be performed in parallel processing, and the comparison processing time can be shortened.

【0062】 また、前記CAMメモリ部内のデータ
は、マスクビットを備え、該マスクビットにより比較対
象ビットの指定を行ない、入力データの比較対象ビット
幅を可変できるようにしたことにより、マスクビットを
設けることにより、入力データのビット数だけマスクビ
ットを“0”にすることにより、比較する入力データの
データ幅を可変することができる。
Further, the data in the CAM memory unit is provided with a mask bit, and the comparison target bit is designated by the mask bit, and the comparison target bit width of the input data is made variable, so that the mask bit is provided. Thus, the data width of the input data to be compared can be changed by setting the mask bit to "0" by the number of bits of the input data.

【0063】 この場合において、前記比較部の出力
を受けて、これら比較部の比較結果に応じて、入力デー
タと一致するCAMメモリのワードデータに対応するC
AMアドレスを出力するアドレス生成部を設けることに
より、入力データと一致するCAMのワードデータに対
応する出力アドレスを得ることができる。
In this case, when the outputs of the comparison units are received, the C corresponding to the word data of the CAM memory that matches the input data according to the comparison results of the comparison units.
By providing the address generation unit that outputs the AM address, the output address corresponding to the CAM word data that matches the input data can be obtained.

【0064】 更に、前記比較部の出力を受けて、こ
れら比較部の比較結果に応じて入力データとメモリブロ
ック内部データとのマッチ、アンマッチ及び重複マッチ
を判定し、出力アドレスに応じてマッチイネーブル信
号、重複マッチイネーブル信号を出力するイネーブル生
成部を設けることにより、出力アドレスに応じてマッチ
イネーブル信号、重複マッチイネーブル信号を出力する
ことができ、アドレス生成部から出力される一致した出
力アドレスデータOADDと合わせて処理することによ
り、一致データの信頼性を向上させることができる。
Further, receiving the outputs of the comparison units, it is determined whether the input data and the internal data of the memory block are matched, unmatched or duplicated according to the comparison results of the comparison units, and the match enable signal is output according to the output address. By providing the enable generation unit that outputs the duplicate match enable signal, it is possible to output the match enable signal and the duplicate match enable signal according to the output address, and to output the matched output address data OADD output from the address generation unit. By performing the processing together, the reliability of the matching data can be improved.

【0065】このように、本発明によれば、回路規模を
抑制でき、出力アドレスの信頼性を保持することがで
き、任意のビット幅のデータの比較を行なうことができ
るアドレス変換装置を提供することができ、実用上の効
果が大きい。
As described above, according to the present invention, it is possible to provide an address conversion device capable of suppressing the circuit scale, maintaining the reliability of output addresses, and comparing data of arbitrary bit widths. It is possible and has a great practical effect.

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

【図1】本発明の原理ブロック図である。FIG. 1 is a principle block diagram of the present invention.

【図2】本発明の一実施の形態例を示すブロック図であ
る。
FIG. 2 is a block diagram showing an embodiment of the present invention.

【図3】データラッチ部の構成例を示すブロック図であ
る。
FIG. 3 is a block diagram showing a configuration example of a data latch unit.

【図4】データラッチ部の入出力動作例を示すタイムチ
ャートである。
FIG. 4 is a time chart showing an input / output operation example of a data latch unit.

【図5】メモリ部の構成例を示す図である。FIG. 5 is a diagram showing a configuration example of a memory unit.

【図6】メモリ内のデータ構成例を示す図である。FIG. 6 is a diagram showing a data configuration example in a memory.

【図7】比較部の構成例を示すブロック図である。FIG. 7 is a block diagram illustrating a configuration example of a comparison unit.

【図8】アドレス生成部の構成例を示すブロック図であ
る。
FIG. 8 is a block diagram illustrating a configuration example of an address generation unit.

【図9】エンコーダの真理値表を示す図である。FIG. 9 is a diagram showing a truth table of an encoder.

【図10】イネーブル生成部の構成例を示すブロック図
である。
FIG. 10 is a block diagram illustrating a configuration example of an enable generation unit.

【図11】プライオリティエンコーダの真理値表を示す
図である。
FIG. 11 is a diagram showing a truth table of a priority encoder.

【図12】本発明の全体の動作を示すタイムチャートで
ある。
FIG. 12 is a time chart showing the overall operation of the present invention.

【図13】従来装置の構成例を示すブロック図である。FIG. 13 is a block diagram showing a configuration example of a conventional device.

【符号の説明】[Explanation of symbols]

1 CAMメモリ(メモリ部) 1A メモリブロック 3 メモリ制御部 10 データラッチ部 20 比較部 30 アドレス生成部 40 イネーブル生成部 1 CAM memory (memory unit) 1A memory block 3 memory control unit 10 data latch unit 20 comparison unit 30 address generation unit 40 enable generation unit

───────────────────────────────────────────────────── フロントページの続き (72)発明者 吉良 正樹 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 山田 誠 神奈川県横浜市港北区新横浜2丁目3番9 号 富士通ディジタル・テクノロジ株式会 社内 (72)発明者 春日井 斉 神奈川県横浜市港北区新横浜2丁目3番9 号 富士通ディジタル・テクノロジ株式会 社内 (72)発明者 石渡 博 神奈川県横浜市港北区新横浜2丁目3番9 号 富士通ディジタル・テクノロジ株式会 社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Masaki Kira 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited (72) Inventor, Makoto Yamada 2-3-9 Shin-Yokohama, Kohoku Ward, Yokohama City, Kanagawa Prefecture Fujitsu Digital・ Technology Stock Company in-house (72) Inventor Sai Kasugai 2-3-9 Shin-Yokohama, Kohoku-ku, Yokohama, Kanagawa Prefecture Fujitsu Digital Technology Stock Company In-house (72) Inventor Hiroshi Ishiwata 2-3, Shin-Yokohama, Yokohama-shi, Kanagawa No. 9 Fujitsu Digital Technology Stock Association In-house

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 入力データとCAMメモリの内部データ
とを比較し、一致した場合に一致したCAMメモリのワ
ードデータに対応するCAMアドレスを出力するアドレ
ス変換装置において、 メモリを複数のメモリブロックに分割したメモリ部と、 該メモリブロックと対応したブロック毎に設けられ、入
力データとメモリブロック内部のデータとを比較する比
較部とを備え、 前記メモリ部のアドレスを順次読み出し、前記比較部で
入力データとメモリブロック内部データの比較を行なう
ことを特徴とするアドレス変換装置。
1. An address conversion device that compares input data with internal data of a CAM memory and outputs a CAM address corresponding to the matched word data of the CAM memory when the memory data is divided into a plurality of memory blocks. Memory unit and a comparing unit that is provided for each block corresponding to the memory block and that compares the input data with the data inside the memory block. The addresses of the memory unit are sequentially read and the comparing unit inputs the input data. And an address translation device that compares internal data of the memory block.
【請求項2】 入力データを前記メモリブロックに対応
した数だけラッチするデータラッチ部を設け、 前記対応する比較部でラッチした入力データとメモリブ
ロック内部データとの比較動作を並列処理で行なうこと
を特徴とする請求項1記載のアドレス変換装置。
2. A data latch unit for latching input data by a number corresponding to the memory block is provided, and the comparison operation between the input data latched by the corresponding comparison unit and the memory block internal data is performed in parallel processing. The address translation device according to claim 1, which is characterized in that.
【請求項3】 前記メモリ部内のデータは、マスクビッ
トを備え、該マスクビットにより比較対象ビットの指定
を行ない、入力データの比較対象ビット幅を可変できる
ようにしたことを特徴とする請求項1記載のアドレス変
換装置。
3. The data in the memory unit is provided with a mask bit, and the comparison bit can be designated by the mask bit so that the comparison bit width of the input data can be changed. Address translation device described.
【請求項4】 前記比較部の出力を受けて、これら比較
部の比較結果に応じて、入力データと一致するCAMメ
モリのワードデータに対応するCAMアドレスを出力す
るアドレス生成部を設けたことを特徴とする請求項1記
載のアドレス変換装置。
4. An address generation unit is provided which receives the outputs of the comparison units and outputs the CAM address corresponding to the word data of the CAM memory that matches the input data according to the comparison results of the comparison units. The address translation device according to claim 1, which is characterized in that.
【請求項5】 前記比較部の出力を受けて、これら比較
部の比較結果に応じて入力データとメモリブロック内部
データとのマッチ、アンマッチ及び重複マッチを判定
し、出力アドレスに応じてマッチイネーブル信号、重複
マッチイネーブル信号を出力するイネーブル生成部を設
けたことを特徴とする請求項1記載のアドレス変換装
置。
5. A match enable signal is received according to an output address of the comparison unit, which receives the outputs of the comparison units and determines a match, an unmatch, and a duplicate match between the input data and the internal data of the memory block according to the comparison results of the comparison units. 2. The address translation device according to claim 1, further comprising an enable generation unit that outputs a duplicate match enable signal.
JP32002995A 1995-12-08 1995-12-08 Address converter Withdrawn JPH09161488A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32002995A JPH09161488A (en) 1995-12-08 1995-12-08 Address converter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32002995A JPH09161488A (en) 1995-12-08 1995-12-08 Address converter

Publications (1)

Publication Number Publication Date
JPH09161488A true JPH09161488A (en) 1997-06-20

Family

ID=18116960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32002995A Withdrawn JPH09161488A (en) 1995-12-08 1995-12-08 Address converter

Country Status (1)

Country Link
JP (1) JPH09161488A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8274808B2 (en) 2009-10-08 2012-09-25 Renesas Electronics Corporation Semiconductor signal processing apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8274808B2 (en) 2009-10-08 2012-09-25 Renesas Electronics Corporation Semiconductor signal processing apparatus

Similar Documents

Publication Publication Date Title
US6246601B1 (en) Method and apparatus for using an inter-row configurable content addressable memory
EP0872802B1 (en) A method of and an apparatus for searching a contents addressable memory
US5184325A (en) Dynamic associative memory with logic-in-refresh
US7213101B1 (en) Classless interdomain routing using binary content addressable memory having mask bits and mask valid bits
US6252789B1 (en) Inter-row configurability of content addressable memory
US7334093B2 (en) Block programmable priority encoder in a CAM
JPS605497A (en) Memory width expanding device of associative memory
JPH0973793A (en) Associative storage
JP2007508653A (en) High-speed table lookup memory and low power consumption mechanism
JP2000353388A (en) Improvement of contents referable memory
US6751701B1 (en) Method and apparatus for detecting a multiple match in an intra-row configurable CAM system
JPH09167495A (en) Data storage unit and data storage device using the same
US6799243B1 (en) Method and apparatus for detecting a match in an intra-row configurable cam system
KR970071302A (en) Programmable Read / Write Access Signals from Processors and Methods of Forming The Signals
JP2703418B2 (en) Central processing unit
US6813680B1 (en) Method and apparatus for loading comparand data into a content addressable memory system
JP4004847B2 (en) Associative memory device
JPH09161488A (en) Address converter
US20050162879A1 (en) Automatic learning in a CAM
JPS58168347A (en) Detecting circuit of synchronizing code
US6801981B1 (en) Intra-row configurability of content addressable memory
US6795892B1 (en) Method and apparatus for determining a match address in an intra-row configurable cam device
KR900702450A (en) Parallel String Processor and Method for Minicomputers
US6701418B2 (en) Automatic detection and correction of relatively rearranged and/or inverted data and address signals to shared memory
KR950012492B1 (en) Apparatus and method for filtering frame of fddi brige system

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030304