WO1992018981A1 - Device for detecting a certain logical value and decoding device for decoding the priority of address locations from a cam - Google Patents
Device for detecting a certain logical value and decoding device for decoding the priority of address locations from a cam Download PDFInfo
- Publication number
- WO1992018981A1 WO1992018981A1 PCT/EP1992/000870 EP9200870W WO9218981A1 WO 1992018981 A1 WO1992018981 A1 WO 1992018981A1 EP 9200870 W EP9200870 W EP 9200870W WO 9218981 A1 WO9218981 A1 WO 9218981A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- digital
- decoding
- value
- priority
- cam
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/74—Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
Definitions
- the present invention provides a device for de ⁇ tecting a certain logical value of at least one signal from two or more digital signals, for determining whether two or more of these digital signals have said certain logical value, and/or which of the digital signals have said certain logical value, wherein the device comprises: - means for performing a logic AND process on the two or more digital signals;
- a number of devices according to the present invention connected in tree structure are applied so that the desired information becomes available in extremely rapid manner, information such as whether or not a match has taken place, or more than one match has taken place, and the address (priority) of the match with the highest priority.
- the present invention further provides a circuit for generating a digital signal when two or more digital input signals have a determined value, wherein the circuit comprises:
- This circuit provides a multiple match flag when two or more input signals have said certain logical value (0 or
- Fig. 1 shows a block diagram of a preferred embo ⁇ diment of a device according to the present invention
- Fig. 2A shows a logic diagram of a circuit according t_ he present invention which can be used with the preferred embodiment of fig. 1;
- Fig. 2B shows the logic diagram relating to the logic circuit of fig. 2A.
- a flag is generated by the device according to the present invention as an output thereof, if one or more of these signals has a predetermined or certain digital value (0 or 1) , by means of a logic AND process.
- An output signal 0 2 further indicates whether more than one input signal has the determined digital value.
- the output signal A then indicates the address (in the present case of two bits) of the input signal of the said digital value with the highest priority, usually the highest or lowest address value of the one, two or more input signals with this determined value.
- a preferred embodiment of a circuit for obtaining the signal 0 is shown for example in fig.
- FIG. 2A where six OR gates G- i -G 6 are connected in parallel to four input signals X, Y, Z, W, wherein the outputs of the OR gates are con ⁇ nected to a NAND gate.
- a tree structure with a first stage is formed from for example 256 of the devices shown in fig. 1 which are connected in parallel, a second stage of 64 of such devices, a third stage of 32 thereof etc., wherein at each stage address bits are added to the address designated with A in fig. 1.
- the present invention is not of course limited to the described embodiment with four input signals, nor to the said tree structure of 1024 match flags. In the future greater numbers than 1024 are to be expected in large networks.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Abstract
Device for detecting a certain value of a digital signal from two or more digitally supplied digital signals, for determining whether two or more of these digital signals have said certain value and/or which of the digital signals have said certain value, wherein the device comprises: means for performing a logic AND process on the two or more digital signals; means for generating a signal when two or more of the digital signals have said certain logical value; and means for passing that number or address that is assigned to each digital signal and of which the value or priority is the highest.
Description
DEVICE FOR DETECTING A CERTAIN LOGICAL VALUE AND DECODING DEVICE FOR DECODING THE PRIORITY OF ADDRESS LOCATIONS FROM A CAM.
Particularly when decoding the priority of address locations from a content addressable memory (CAM) wherein the content of address locations is compared simultaneously with the content of a reference register, problems occur 5 when the content of more than one address location corres¬ ponds with the content of the reference register. Such problems can considerably delay the transmission of data packages in a network to an end station to which the data have to be led. A reference part of the data word for trans-
10 mission is led for this purpose into said reference register of the CAM and compared with the content of the various address locations of the CAM, which determine the destina¬ tion of the data package. When this part corresponds with the content of more than one address location the data
15 package has to be transmitted to the destination with the highest priority, in practice usually the address location with the highest (or lowest) address.
One of the few CAMs already on the market is made commercially available by applicant under the type name
20 MU9C1480. Herein, when the content of more than one address location corresponds with the content of the reference register, a so-called multiple match flag is generated, whereafter, in the worst case, all other address locations of the CAM must be searched in order to be certain that the
25 destination with the highest priority is selected.
In the article "A Fault-Tolerant Associative Memory with High Speed Operation" by Harald Bergh et al, IEEE, Journal of Solid-state Circuits, Vol. 25, No. 4, August 1990, use is made of "carry look-ahead" in order to
30 accelerate this search to the corresponding address location i of highest priority.
The present invention provides a device for de¬ tecting a certain logical value of at least one signal from
two or more digital signals, for determining whether two or more of these digital signals have said certain logical value, and/or which of the digital signals have said certain logical value, wherein the device comprises: - means for performing a logic AND process on the two or more digital signals;
- means for generating a signal when two or more of the digital signals have said certain logical value; and
- means for passing that number or address that is assigned to each digital signal and of which the value or priority is the highest.
Preferably a number of devices according to the present invention connected in tree structure are applied so that the desired information becomes available in extremely rapid manner, information such as whether or not a match has taken place, or more than one match has taken place, and the address (priority) of the match with the highest priority.
With a content of a CAM of 1024 locations, instead of 1024 sequential comparisons, or about 80 with carry look-ahead, an improvement to only 5 comparisons is obtained. If such a tree structure is embodied in CMOS, a decoding time of for instance 12 nsec or less can remain.
The present invention further provides a circuit for generating a digital signal when two or more digital input signals have a determined value, wherein the circuit comprises:
- six or more OR gates placed in parallel; and
- a NAND gate connected to the outputs of the OR gates. This circuit provides a multiple match flag when two or more input signals have said certain logical value (0 or
1).
Further advantages, features and details of the present invention will be elucidated in the light of a description of a preferred embodiment thereof, with refe¬ rence to the annexed drawing, in which:
Fig. 1 shows a block diagram of a preferred embo¬ diment of a device according to the present invention;
Fig. 2A shows a logic diagram of a circuit according t_ he present invention which can be used with the preferred embodiment of fig. 1; and
Fig. 2B shows the logic diagram relating to the logic circuit of fig. 2A.
With the input of digital signals (I0-I3) , such as the match flags originating in the CAM process, to the four outputs, a flag is generated by the device according to the present invention as an output thereof, if one or more of these signals has a predetermined or certain digital value (0 or 1) , by means of a logic AND process. An output signal 02 further indicates whether more than one input signal has the determined digital value. The output signal A then indicates the address (in the present case of two bits) of the input signal of the said digital value with the highest priority, usually the highest or lowest address value of the one, two or more input signals with this determined value. A preferred embodiment of a circuit for obtaining the signal 0 is shown for example in fig. 2A where six OR gates G-i-G6 are connected in parallel to four input signals X, Y, Z, W, wherein the outputs of the OR gates are con¬ nected to a NAND gate. Fig. 2B shows that if two or more signals have a value 0 (X = don't care, i.e. 0 and 1 are both possible) , the output signal then generates the value 1.
When for example 1024 match flags have to be compared for priority, a tree structure with a first stage is formed from for example 256 of the devices shown in fig. 1 which are connected in parallel, a second stage of 64 of such devices, a third stage of 32 thereof etc., wherein at each stage address bits are added to the address designated with A in fig. 1.
The present invention is not of course limited to the described embodiment with four input signals, nor to the said tree structure of 1024 match flags. In the future greater numbers than 1024 are to be expected in large networks.
Claims
1. Device for detecting a certain value of a digital signal from two or more digitally supplied digital signals, for determining whether two or more of these digital signals have said certain value and/or which of the digital signals have said certain value, wherein the device comprises:
- means for performing a logic AND process on the two or more digital signals;
- means for generating a signal when two or more of the digital signals have said certain logical value; and - means for passing that number or address that is assigned to each digital signal and of which the value or priority is the highest.
2. Device as claimed in claim 1, provided with four inputs for four digital input signals.
3. Series of devices as claimed in claim 1 or 2, which are connected in a tree structure, i.e. wherein an output of a first device serves as an input for a device connected thereafter.
4. Circuit for generating a digital signal when two or more digital input signals have a determined value, wherein the circuit comprises:
- six or more OR gates placed in parallel; and
- a NAND gate which is connected to the outputs of the OR gates.
5. Decoding device for decoding the priority of address locations from a content addressable memory (CAM) when the content of multiple address locations corresponds with a reference data word entered in the reference register of the CAM.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| NL9100681 | 1991-04-18 | ||
| NL9100681A NL9100681A (en) | 1991-04-18 | 1991-04-18 | DEVICE FOR DETECTING A PARTICULAR LOGIC VALUE, CIRCUIT FOR DELIVERING A DIGITAL SIGNAL AND DECODER FOR DECODING THE PRIORITY OF ADDRESS LOCATIONS FROM A CAM. |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO1992018981A1 true WO1992018981A1 (en) | 1992-10-29 |
Family
ID=19859152
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP1992/000870 Ceased WO1992018981A1 (en) | 1991-04-18 | 1992-04-15 | Device for detecting a certain logical value and decoding device for decoding the priority of address locations from a cam |
Country Status (2)
| Country | Link |
|---|---|
| NL (1) | NL9100681A (en) |
| WO (1) | WO1992018981A1 (en) |
-
1991
- 1991-04-18 NL NL9100681A patent/NL9100681A/en not_active Application Discontinuation
-
1992
- 1992-04-15 WO PCT/EP1992/000870 patent/WO1992018981A1/en not_active Ceased
Non-Patent Citations (3)
| Title |
|---|
| IEEE JOURNAL OF SOLID-STATE CIRCUITS. vol. 25, no. 4, August 1990, NEW YORK US pages 912 - 919; H.BERGH ET AL: 'A Fault-Tolerant Associative Memory with High-Speed Operation' cited in the application * |
| IEEE JOURNAL OF SOLID-STATE CIRCUITS. vol. SC-5, no. 5, October 1970, NEW YORK US pages 208 - 215; J.T.KOO: 'Integrated-Circuit Content-Addressable Memories' * |
| IEEE TRANSACTIONS ON COMPUTERS. December 1971, NEW YORK US pages 1580 - 1583; C.C.FOSTER ET AL: 'Counting Responders in an Associative Memory' * |
Also Published As
| Publication number | Publication date |
|---|---|
| NL9100681A (en) | 1992-11-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4314356A (en) | High-speed term searcher | |
| US6392910B1 (en) | Priority encoder with multiple match function for content addressable memories and methods for implementing the same | |
| US6944710B2 (en) | Multiple category CAM | |
| US6295576B1 (en) | Associative memory having a mask function for use in a network router | |
| US5111453A (en) | Apparatus and method for recognizing addresses of information packets | |
| US6876558B1 (en) | Method and apparatus for identifying content addressable memory device results for multiple requesting sources | |
| EP0595751A2 (en) | Method of routing electronic messages | |
| US4285049A (en) | Apparatus and method for selecting finite success states by indexing | |
| CN1613073A (en) | Enhanced multiway radix tree | |
| US5185888A (en) | Method and apparatus for data merging/sorting and searching using a plurality of bit-sliced processing units | |
| US7058757B1 (en) | Content addressable memory (CAM) devices that support distributed CAM control and methods of operating same | |
| US7035844B2 (en) | FFS search and edit pipeline separation | |
| JP3703518B2 (en) | Associative memory system | |
| US11683039B1 (en) | TCAM-based not logic | |
| US5848297A (en) | Control apparatus for maintaining order and accomplishing priority promotion in a computer interconnect | |
| US6490650B1 (en) | Method and apparatus for generating a device index in a content addressable memory | |
| KR100542467B1 (en) | Associative memory systems and network equipment and network systems | |
| KR970016931A (en) | High speed error or equivalent comparator circuit | |
| US6034965A (en) | Multi-stream associative memory architecture for computer telephony | |
| WO1992018981A1 (en) | Device for detecting a certain logical value and decoding device for decoding the priority of address locations from a cam | |
| US5220664A (en) | Merging network with three or more simultaneous inputs | |
| US6336113B1 (en) | Data management method and data management apparatus | |
| EP1290542A2 (en) | Determination of a minimum or maximum value in a set of data | |
| EP0520116A1 (en) | Method and apparatus for performing pattern search functions | |
| US5379410A (en) | Data generating apparatus generating consecutive data and having a data skip scheme and a method of operating the same |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP KR US |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IT LU MC NL SE |
|
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| 122 | Ep: pct application non-entry in european phase |