EP2801154A1 - Field-programmable logic gate arrangement - Google Patents

Field-programmable logic gate arrangement

Info

Publication number
EP2801154A1
EP2801154A1 EP12704770.2A EP12704770A EP2801154A1 EP 2801154 A1 EP2801154 A1 EP 2801154A1 EP 12704770 A EP12704770 A EP 12704770A EP 2801154 A1 EP2801154 A1 EP 2801154A1
Authority
EP
European Patent Office
Prior art keywords
memory
address
memory cell
ports
port
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
EP12704770.2A
Other languages
German (de)
French (fr)
Inventor
Holger Heine
Stephan Jorra
Harald Kapp
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of EP2801154A1 publication Critical patent/EP2801154A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/22Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values

Definitions

  • the invention relates to a field programmable Lo ⁇ gik gate arrangement.
  • Field programmable logic gate arrays are often referred to in technical language as FPGAs (FPGA: Field Programmable Gate Array).
  • FPGA Field Programmable Gate Array
  • a FPGA programming is usually carried out by means of a defined in a hardware description language ⁇ program that defines the to reali by the FPGA ⁇ sierende circuit structure.
  • the program with the desired circuit pattern is transferred to the FPGA, which are activated in the FPGA existing switch on or off and hardware in the FPGA circuit a digi ⁇ tale results corresponding to the software-predetermined circuit pattern.
  • the invention has for its object to provide a field-programmable logic program ⁇ gate arrangement, including a comparison with conventional field programmable logic gate arrays extended memory readout functionality. This object is achieved by a feldprogram ⁇ mable logic gate arrangement with the features of claim 1.
  • Advantageous embodiments of the field-programmable logic gate arrangement are specified in subclaims.
  • a field-programmable logic gate arrangement is provided with a dual-port or multiport memory module with a predetermined number of ports, which enable a parallel query of the memory module, and a read-out device which is suitable, Speicherzel ⁇ len of the dual port or multiport read -Speicherbausteins parallel to at ⁇ least two ports of the memory device, the memory contents outputted to the at least two ports to compare in parallel with a predetermined memory content and to output a coincidence-signal indicative result signal and / or the korres ⁇ ponding memory cell address of the storage unit having the predetermined memory contents in accordance with the memory contents.
  • a significant advantage of the logic gate arrangement according to the invention is the fact that it enables operation of a dual-port or multiport memory module as associative memory within the logic gate arrangement.
  • using two or more ports of the dual-port or multi-port memory module simultaneously read several memory cells and ermit ⁇ teln, whether in a memory cell - and if so in which - a predetermined memory content is stored.
  • the OF INVENTION ⁇ dung contemporary logic gate arrangement can thus advantageously in the range of network switches (fachntinolich "Network Switch") to use, where to be checked very quickly, as a rule, if a MAC contained in an incoming the message (Media Access Control or Me ⁇ serving Access Control) address is contained in a predetermined amount of stored MAC addresses.
  • the readout device is preferably formed in the logic gate arrangement by programming.
  • the dual port or multiport memory device is preferably monolithically integrated in the logic gate array. Alternatively, it may be formed by programming.
  • the parallel or synchronous reading of the memory device is particularly easy and therefore advantageous imple ⁇ reindeer, if the reading device is configured such that it permanently preset to a port of the memory device one address of the memory cell addresses to a logical "one" and at another port of the memory module, the same address bit of the memory cell addresses with a logical "zero" fixed.
  • the read-out device is designed to charge the at least two ports of the memory module with memory cell addresses during parallel readout of the memory contents, in which case a predetermined subset of address bits are port-individually a fixed predetermined address bit information is pre-assigned and in which the remaining address bits are changed during the read-out process.
  • the readout ⁇ means comprises an address counter which can pass through a predefined NEN address space of the memory device and having at least two address outputs, to each of which a memory cell address is output, the Address counter outputs to the at least two address outputs memory cell addresses, in which a predetermined subset of address bits each port individually with a fixed address ⁇ bit information is fixed pre-assigned and in which the other address bits during the counting process changed identi ⁇ the.
  • the read-out device has at least one evaluation device, on the input side the memory contents output by the memory module, the predetermined memory contents and the respectively selected memory cell addresses are applied and on the output side that memory cell address for which the memory contents are identical to the predetermined memory contents.
  • the evaluation device preferably comprises a multiplexer and a comparator unit per port of the memory module. Each comparator has per information of the SpeI ⁇ contents from another preferably in each case a comparator whose output is linked to an AND gate. Especially advantageous is considered if it can be done in looking through ⁇ of the memory device in a predetermined memory contents a parallel investigation regarding various memory contents.
  • each represents a individu ⁇ eller memory contents can be entered into and each associated with an input individual evaluation device, wherein at each evaluation on the input side, the memory contents outputted from the memory device, the individu - Express predetermined memory contents and the respectively selected
  • Memory cell addresses are present and wherein each evaluation device on the output side that memory cell address from ⁇ , for which the memory contents with the individually Scheme ⁇ benen memory contents is identical.
  • the read-out device is configured such that it assigns a predetermined address bit to one of the two ports of the memory module Memory cell addresses with a logical "one" pre-assigned and at the other of the two ports of the memory module, the same address bit of the memory cell addresses with a logical "zero" pre-assigned.
  • the address bit permanently pre-assigned with a logic "one” or a logical "zero” is preferably the least significant address bit.
  • the field programmable logic gate array forms before ⁇ preferably a part of a network switch or ei ⁇ nes Network Switch to check MAC addresses. The invention thus also relates to a network switch or a network switch with a field-programmable logic gate arrangement, as described above.
  • the invention also relates to a method of operating a field programmable logic gate array. According to the invention of such a comparison is with respect to driving provided that all memory cells or a subset of memory cells of an integrated logic gate arrangement dual port or multi-port memory block is read from ⁇ , the contents of the memory cells to a predetermined memory contents are compared and conformity of the memory contents of one being carried out at a predetermined number of ports of the memory device a paralle ⁇ le query accordance signalisie ⁇ rendes result signal and / or the memory cell address of the respective memory cell is output, by reading out at least two ports of the memory device in parallel and the are compared to the at least two ports ⁇ output memory contents in parallel with the given memory content.
  • the invention also relates to a memory module with a program code stored therein for programming. a field programmable logic gate arrangement as described above.
  • the program code is adapted to program the field programmable logic gang arrangement such that in the field-programmable logic gate array read-out means is formed, which is suitable for memory cells of the dual port ⁇ or multiport memory module on at least read out two ports of the memory module in parallel, to compare the memory contents outputted at least two ports in parallel with a predetermined memory content and output a coincidence signal indicative result signal and / or the corresponding Spei ⁇ cherzellen address of the predetermined memory contents aufwei ⁇ send memory cell in accordance with the memory contents.
  • Figure 1 shows an embodiment of an arrangement with egg ⁇ ner field programmable logic gate arrangement according to which the method of the invention is exemplified, and a memory module with a stored therein program code for programming the field programmable logic gate array, and
  • FIG. 2 shows an exemplary embodiment of a comparator unit, as can be used in the field programmable logic gate arrangement according to FIG.
  • FIG. 1 shows a field-programmable logic gate arrangement 10 which comprises a dual-port memory module 20 integrated in the logic gate arrangement as well as a read-out device 30 programmed in the logic gate arrangement 10.
  • the dual-port memory device 20 has a first port and a second port.
  • the first port is formed by a first input port 21 and an associated or corresponding first output port 22.
  • the second port of the memory module 20 is formed by a second A ⁇ through port 23 and a second output port 24th If a memory cell address is input at the first input port 21, the memory module 20 outputs at its first output port 22 the memory contents of the memory cell with the corresponding memory cell address which is applied to the first input port 21.
  • the second port of the SpeI ⁇ cherbausteins works 20. If a memory cell address input to the second input port 23, the storage construction ⁇ stone 20 is at its second output port 24 the memory contents of those memory cell, the memory cell address input with the second input port 23 Speicherzellenad ⁇ ress is identical.
  • the memory device 20 makes it possible to compensate for the Speicherin- holding two memory cells simultaneously or parallel ⁇ read by 23 different memory cell addresses are fed to the first input port 21 and into the second input port.
  • the readout device 30 has an address counter 40, which is connected to a first address output 40a to the first input port 21 of the memory module 20.
  • a second address output 40b of the address counter 40 is connected to the second input port 23 of the memory module 20 in connec ⁇ tion.
  • the address counter 40 has a binary counter 41, a multiplexer 42 and a comparator 43.
  • the address counter 40 is capable of outputting at its first address output 40a a first memory cell address AI and at its second address output 40b a second memory cell address A2, wherein the first memory cell address AI differs from the second memory cell address A2 only with respect to a single address bit.
  • the address counter 40 sets the first memory cell address AI, which is output at the first address output 40a, from the respective count Z of the counter 41 and a fixed trash ⁇ laid address bit together.
  • the fixed pre-assigned address bit may be any address bit of the first memory cell address AI; In the following, it is assumed by way of example that the fixed pre-assigned address bit is the least significant address bit.
  • the low ⁇ mulste address bit is also referred to as the LSB in the technical language (English for Least Significant Bit).
  • the address counter 40 operates with respect to the second memory cell address A2, which is output at the second address output 40b of the address counter 40.
  • the address counter 40 sets the second memory cell address A2 from the respective counter reading Z of the counter 41, and an occupied before ⁇ address bit preset to a logic "1" is, together.
  • the fixed pre-assigned address bit is - as with the first memory address AI - the least significant address bit LSB.
  • the mode of operation of the address counter 40 will be explained in greater detail on the basis of a numerical example, it being assumed by way of example that the counter reading Z of the counter 41 is "8" in binary notation "1000". In this case, the address counter 40 will output at its first address output 40a a first memory cell address AI which is as follows:
  • the two memory cell addresses AI and A2 thus differ only in terms of the fixed least significant address bit LSB, the remaining address bits of the two memory cell addresses AI and A2 are identical.
  • the address counter 40 In order to ensure that the address counter 40 can count from a predetermined start address to a predetermined end address, the address counter 40 has a first input 40c and a second input 40d.
  • a minimum count Zmin can be fed to the address counter 40, which indicates the start address for the address counter 40.
  • a maximum count Zmax which predefines the end address for the address counter 40, can be fed into the address counter 40.
  • the address counter 40 can be operated, for example, as follows:
  • the multiplexer 42 is initially the minimum count are derived Zmin as a counter reading Z to the first address output 40a and the second address output 40b of the address counter 40 so that 40a at the two Ad ⁇ ressaus saun and 40b, the two memory cell addresses Al and A2 be formed, as has already been described above.
  • the counter reading Z reaches the counter 41, which increments or increments the counter reading within the scope of the next counting step. From there, the increased counter reading reaches the multiplexer 42, which in turn forwards the new or now increased counter reading Z to the two address outputs 40a and 40b.
  • the readout device 30 also has n-Ausnceinrich- tions, of which two are shown in Figure 1 and designated by the reference numerals 50-1 and 50-n.
  • the n-type evaluation devices 50-1 to 50-n each have a first input 50a and a second input 50b.
  • the first input 50a of the evaluation devices is in each case connected to the first output port 22 of the memory module 20. sen.
  • the second input 50b of the evaluation devices is in each case connected to the second output port 24 of the memory module 20.
  • the inputs 50a and 50b of the n-evaluation devices 50-1 to 50-n turns on parallel and respectively connected to two output ports of the memory block ⁇ 20th
  • the n-type evaluation devices 50-1 to 50-n may, for example, have the same design, so that only the evaluation device 50-1 is to be described in more detail below for all of the n-type evaluation devices.
  • the evaluation device 50-1 is equipped with two comparator units, of which a first comparator unit is designated by the reference numeral 51 and a second comparator unit 52.
  • the two comparator units 51 and 52 are the output side with control inputs of a multiplexer 53 in connection, on the input side with four signals Sl, S2, S3 and S4 beauf ⁇ beat. Depending on the output signals of the two comparator units 51 and 52, one of the four signals S1 to S4 is switched through to the output A53 of the multiplexer 53 or to the output A50 of the evaluation device 50-1.
  • the evaluation device 50-1 is also equipped with an on-circuit 150-1, to which a storage content 1-1 ei ⁇ ner desired memory cell of the memory device can be fed in the evaluation device 50-1 20th
  • the evaluation device 50-1 for example, as follows ⁇ be exaggerated:
  • the first comparator 51 compares the SpeI ⁇ cheri stop 1-1 with the memory content I (A1), which is output from the memory device 20 to the first output port 22nd Represents the first comparator unit 51 determines that the two memory contents 1-1 and I (A1) are identical, it ⁇ it demonstrates its output a control signal ST1 with a logi ⁇ rule "1". If the memory content 1-1 does not match the memory content I (A1), the first comparator unit 51 generates a control signal ST1 with a logic "0".
  • the second comparator unit 52 operates the second comparator 52 compares the memory contents ⁇ 1-1, which abuts the terminal 150-1 of the evaluation device 50 1, the memory content I (A2), the cell in the memory with the second memory cell address A2 is stored in the SpeI ⁇ cherbaustein 20th
  • the memory content I (A2) is output from the memory device 20 at the second output port 24.
  • the second comparator unit 52 determines that the SpeI ⁇ cheri stop 1-1 with the memory content I (A2) of the memory cell to the second memory cell address A2 agrees, it generates a second control signal ST2 with a logic "1" and transmits this to the multiplexer 53. Otherwise, if the memory content of 1-1 and the memory content I (A2) are un ⁇ differently, generates the second comparator 52, a second control signal ST2 with a logic "0".
  • two control signals ST1 and ST2 are present at the multiplexer 53, which indicate whether the two comparator units 51 and 52 have ascertained an identity of the memory contents or not.
  • the multiplexer 53 switches one of four input side signals Sl, S2, S3 or S4, as indicated ⁇ the truth table W in Figure 1 to, say for example in accordance with the following assignment:
  • the signal S1 indicates, for example, by the symbol "%" that no identity of the memory contents has been detected.
  • the signal Sl can be generated, for example, by a signal image Bsl.
  • the signal S2 is, for example, by giving the counter ⁇ article Z and a "0" indicates that the memory cell with the first memory cell address AI has the input side pre give ⁇ NEN memory content 1-1.
  • the signal S2 can be generated in ⁇ example by a signal images Bs2, which combines the count Z with the logical "0" binary.
  • the signal S3 is, for example, by giving the counter ⁇ article Z and a "1" indicates that the memory cell with the second memory cell address A2 to the input side vorgege- surrounded memory content comprises 1-1.
  • the signal S3 can be generated at ⁇ example by a signal images Bs3, which combines the count Z with the logical "1" binary.
  • the signal S4 is a result signal indicating, for example, by specifying the count Z and an "X", that both in the memory cell with the first Speicherzellenad ⁇ ress AI as well as in the memory cell with the second SpeI ⁇ cherzellen address A2 the predetermined memory contents 1- 1 to ⁇ stores.
  • the signal S4 can be generated, for example, by a signal image Bs4, which supplements the counter reading Z by the indication "X".
  • the respectively through multiplexer 53 through-connected signal S1-S4 reaches the output A53 of the multiplexer 53 and the output A50 of the evaluation device 50-1, so that it can be determined at the output of the evaluation device 50-1, whether a memory cell with the desired memory contents 1-1 was found and possibly which memory cell address the memory cell having the desired memory contents 1-1.
  • the output A50 of the evaluation device 50-1 it can thus be determined whether the predetermined memory content 1-1 is stored in the first memory cell address AI and / or the second memory cell address A2.
  • the field-programmable logic gate arrangement 10 thus makes it possible to operate the memory module 20 as an associative memory, wherein a reading speed that is twice as high as a simple one-port memory is achieved. This will be explained in detail with reference to a numerical example: If a predetermined area of memory is defined by a start address and an end address are examined availability of a predetermined memory contents to the pre ⁇ , half of the memory cells via the first
  • start address P which is defined by the minimum count Zmin
  • the even addresses P, P + 2, P + 4, P + 6, etc. are queried via the first input port 21 and the second output port 22.
  • the odd addresses P + 1, P + 3, P + 5, P + 7, etc. are processed via the second input port 23 and the second output port 24.
  • the counting up of the memory cell addresses of the memory cells to be read out is accomplished by the address counter 40 whose counter 41 increments the counter reading Z after each successful read-out process.
  • the evaluation devices 50-1 to 50-n can be made identical. This makes it possible zusharm ⁇ Lich simultaneously to the memory content of 1-1 or parallel wei ⁇ tere memory contents in the read-out means 30 sentownspei- so that the memory module 20 not only in terms of the memory content 1-1, but also at the same time to other Memory contents can be examined out. So it is possible, for example, the memory contents In the terminal I50-n fed into the evaluation device 50-n and with the help of the evaluation device 50-n to check whether the memory contents are stored in the memory module 20 and if so, the corresponding memory cell or the respective memory cell address determine .
  • FIG. 1 also shows a memory module 100 with a program code 110 stored therein for the field-programmable logic gate arrangement 10.
  • the program code 110 is suitable for programming the field-programmable logic gate arrangement 10 such that it can be programmed in the field-programmable logic Logic gate arrangement 10, the read-out device 30 is formed, which is adapted to read memory cells of the dual-port or multiport memory module 20 parallel to at least two ports of the memory module, the output at the at least two ports memory contents paral ⁇ lel with a predetermined memory content comparing and outputting a result signal signaling the agreement and / or the correspondent ⁇ chief of memory cell address of the predetermined storage ⁇ having content storage cell in accordance of the memory contents.
  • the memory cell addresses are determined and output which indicate in which memory cells a predetermined memory content is stored.
  • a binary result signal for example, may be generated which merely indicates whether or not a memory cell having the predetermined memory content is present.
  • FIG. 2 shows an exemplary embodiment for the comparator unit 51 according to FIG. 1.
  • a number q of comparators 511 is identified, which in each case are connected to an information input IB-1 to IB-q of the memory content I (A1) (FIG. see Fig. 1) of the memory module are acted upon.
  • An information bit IV-1 to IV-q of the predetermined memory content 1-1 (see FIG.
  • a respective comparison signal Vl to Vq is generated, which has a logic "1" on ⁇ if the input side applied information bits are identical, and otherwise has a logic "0".
  • comparators 511 are connected to an AND gate 512, which generates the control signal ST1 with a logic "1” if all the input side comparison signals Vl to Vq have a logic "1", and other ⁇ if the control signal ST1 generated with a logical "0".
  • the comparator unit 52 according to FIG. 1 can be identical or identical to the comparator unit 51 according to FIG.

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Nonlinear Science (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Static Random-Access Memory (AREA)
  • Storage Device Security (AREA)
  • Logic Circuits (AREA)

Abstract

The invention relates inter alia to a field-programmable logic gate arrangement (10). According to the invention, a dual-port or multi-port memory chip (20) having a predetermined number of ports that permit a parallel interrogation of the memory chip (20) and a read-out device (30) are provided. Said read-out device is suitable for reading out in parallel memory cells of the dual-port or multi-port memory chip (20) at at least two ports of the memory chip (20), for comparing in parallel the memory contents (I(A1), I(A2)) emitted at the at least two ports with a predetermined memory content (I-1, I-n) and, when the memory contents match, for emitting a result signal (S1-S4) signalling the match and/or the corresponding memory cell address of the memory cell having the predetermined memory content (I-1, I-n).

Description

Beschreibung description
Feldprogrammierbare Logik-Gatter-Anordnung Die Erfindung bezieht sich auf eine feldprogrammierbare Lo¬ gik-Gatter-Anordnung . Field Programmable logic gate arrangement The invention relates to a field programmable Lo ¬ gik gate arrangement.
Feldprogrammierbare Logik-Gatter-Anordnungen werden fachsprachlich häufig kurz als FPGAs (FPGA: Field Programmable Gate Array) bezeichnet. Eine Programmierung von FPGAs erfolgt üblicherweise mittels eines in einer Hardware-Beschreibungs¬ sprache definierten Programms, das die von dem FPGA zu reali¬ sierende Schaltungsstruktur definiert. Das Programm mit der gewünschten Schaltungsstruktur wird in den FPGA übertragen, wodurch in dem FPGA vorhandene Schalter aktiviert oder deaktiviert werden und sich hardwaremäßig in dem FPGA eine digi¬ tale Schaltung ergibt, die der softwaremäßig vorgegebenen Schaltungsstruktur entspricht. Der Erfindung liegt die Aufgabe zugrunde, eine feldprogram¬ mierbare Logik-Gatter-Anordnung anzugeben, die eine gegenüber herkömmlichen feldprogrammierbaren Logik-Gatter-Anordnungen erweiterte Speicherauslesefunktionalität aufweist. Diese Aufgabe wird erfindungsgemäß durch eine feldprogram¬ mierbare Logik-Gatter-Anordnung mit den Merkmalen gemäß Patentanspruch 1 gelöst. Vorteilhafte Ausgestaltungen der feldprogrammierbaren Logik-Gatter-Anordnung sind in Unteransprüchen angegeben. Field programmable logic gate arrays are often referred to in technical language as FPGAs (FPGA: Field Programmable Gate Array). A FPGA programming is usually carried out by means of a defined in a hardware description language ¬ program that defines the to reali by the FPGA ¬ sierende circuit structure. The program with the desired circuit pattern is transferred to the FPGA, which are activated in the FPGA existing switch on or off and hardware in the FPGA circuit a digi ¬ tale results corresponding to the software-predetermined circuit pattern. The invention has for its object to provide a field-programmable logic program ¬ gate arrangement, including a comparison with conventional field programmable logic gate arrays extended memory readout functionality. This object is achieved by a feldprogram ¬ mable logic gate arrangement with the features of claim 1. Advantageous embodiments of the field-programmable logic gate arrangement are specified in subclaims.
Danach ist erfindungsgemäß eine feldprogrammierbare Logik- Gatter-Anordnung vorgesehen mit einem Dualport- oder Multiport-Speicherbaustein mit einer vorgegebenen Anzahl an Ports, die eine parallele Abfrage des Speicherbausteins ermöglichen, und einer Ausleseeinrichtung, die geeignet ist, Speicherzel¬ len des Dualport- oder Multiport-Speicherbausteins an zumin¬ dest zwei Ports des Speicherbausteins parallel auszulesen, die an den zumindest zwei Ports ausgegebenen Speicherinhalte parallel mit einem vorgegebenen Speicherinhalt zu vergleichen und bei Übereinstimmung der Speicherinhalte ein die Übereinstimmung signalisierendes Ergebnissignal und/oder die korres¬ pondierende Speicherzellenadresse der den vorgegebenen Spei- cherinhalt aufweisenden Speicherzelle auszugeben. According to the invention, a field-programmable logic gate arrangement is provided with a dual-port or multiport memory module with a predetermined number of ports, which enable a parallel query of the memory module, and a read-out device which is suitable, Speicherzel ¬ len of the dual port or multiport read -Speicherbausteins parallel to at ¬ least two ports of the memory device, the memory contents outputted to the at least two ports to compare in parallel with a predetermined memory content and to output a coincidence-signal indicative result signal and / or the korres ¬ ponding memory cell address of the storage unit having the predetermined memory contents in accordance with the memory contents.
Ein wesentlicher Vorteil der erfindungsgemäßen Logik-Gatter- Anordnung ist darin zu sehen, dass diese einen Betrieb eines Dualport- oder Multiport-Speicherbausteins als Assoziativ- Speicher innerhalb der Logik-Gatter-Anordnung ermöglicht. So ist es erfindungsgemäß möglich, unter Nutzung zweier oder mehr Ports des Dualport- oder Multiport-Speicherbausteins gleichzeitig mehrere Speicherzellen auszulesen und zu ermit¬ teln, ob in einer Speicherzelle - und falls ja in welcher - ein vorgegebener Speicherinhalt abgespeichert ist. Die erfin¬ dungsgemäße Logik-Gatter-Anordnung lässt sich damit in vorteilhafter Weise im Bereich von Netzwerkschaltern (fachsprachlich "Networkswitch") einsetzen, in denen in der Regel sehr schnell geprüft werden muss, ob eine in einer eingehen- den Nachricht enthaltene MAC (Media Access Control bzw. Me¬ dienzugriffssteuerung) -Adresse in einer vorgegebenen Menge gespeicherter MAC-Adressen enthalten ist. A significant advantage of the logic gate arrangement according to the invention is the fact that it enables operation of a dual-port or multiport memory module as associative memory within the logic gate arrangement. Thus, it is possible according to the invention, using two or more ports of the dual-port or multi-port memory module simultaneously read several memory cells and ermit ¬ teln, whether in a memory cell - and if so in which - a predetermined memory content is stored. The OF INVENTION ¬ dung contemporary logic gate arrangement can thus advantageously in the range of network switches (fachsprachlich "Network Switch") to use, where to be checked very quickly, as a rule, if a MAC contained in an incoming the message (Media Access Control or Me ¬ serving Access Control) address is contained in a predetermined amount of stored MAC addresses.
Die Ausleseeinrichtung wird in der Logik-Gatter-Anordnung vorzugsweise durch Programmierung gebildet. The readout device is preferably formed in the logic gate arrangement by programming.
Der Dualport- oder Multiport-Speicherbaustein ist vorzugsweise in der Logik-Gatter-Anordnung monolithisch integriert. Alternativ kann er durch Programmierung gebildet sein. The dual port or multiport memory device is preferably monolithically integrated in the logic gate array. Alternatively, it may be formed by programming.
Das parallele bzw. synchrone Auslesen des Speicherbausteins lässt sich besonders einfach und damit vorteilhaft durchfüh¬ ren, wenn die Ausleseeinrichtung derart ausgestaltet ist, dass sie an einem Port des Speicherbausteins ein Adressbit der Speicherzellenadressen mit einer logischen "Eins" fest vorbelegt und an einem anderen Port des Speicherbausteins dasselbe Adressbit der Speicherzellenadressen mit einer logischen "Null" fest vorbelegt. Im Falle eines Multiport-Speicherbausteins wird es als vor¬ teilhaft angesehen, wenn die Ausleseeinrichtung derart ausgestaltet ist, dass sie beim parallelen Auslesen der Spei- cherinhalte die zumindest zwei Ports des Speicherbausteins mit Speicherzellenadressen beaufschlagt, bei denen eine vorgegebene Teilmenge an Adressbits jeweils portindividuell mit einer fest vorgegebenen Adressbitinformation fest vorbelegt ist und bei denen die übrigen Adressbits während des Auslese- Vorganges verändert werden. The parallel or synchronous reading of the memory device is particularly easy and therefore advantageous imple ¬ reindeer, if the reading device is configured such that it permanently preset to a port of the memory device one address of the memory cell addresses to a logical "one" and at another port of the memory module, the same address bit of the memory cell addresses with a logical "zero" fixed. In the case of a multi-port memory module, it is considered to be advantageous if the read-out device is designed to charge the at least two ports of the memory module with memory cell addresses during parallel readout of the memory contents, in which case a predetermined subset of address bits are port-individually a fixed predetermined address bit information is pre-assigned and in which the remaining address bits are changed during the read-out process.
Um ein automatisches Durchsuchen der Speicherzellen zu ermöglichen, wird es als vorteilhaft angesehen, wenn die Auslese¬ einrichtung einen Adresszähler umfasst, der einen vorgegebe- nen Adressraum des Speicherbausteins durchlaufen kann und zumindest zwei Adressausgänge aufweist, an denen jeweils eine Speicherzellenadresse ausgegeben wird, wobei der Adresszähler an den zumindest zwei Adressausgängen Speicherzellenadressen ausgibt, bei denen eine vorgegebene Teilmenge an Adressbits jeweils portindividuell mit einer fest vorgegebenen Adress¬ bitinformation fest vorbelegt ist und bei denen die übrigen Adressbits während des Zählvorganges identisch verändert wer¬ den . Mit Blick auf die Eingabe eines vorgegebenen Speicherinhalts wird es als vorteilhaft angesehen, wenn die Ausleseeinrichtung mindestens eine Auswerteinrichtung aufweist, an der ein- gangsseitig die von dem Speicherbaustein ausgegebenen Speicherinhalte, der vorgegebene Speicherinhalt und die jeweils gewählten Speicherzellenadressen anliegen und die ausgangs- seitig diejenige Speicherzellenadresse ausgibt, für die der Speicherinhalt mit dem vorgegebenen Speicherinhalt identisch ist . Die Auswerteinrichtung umfasst vorzugsweise einen Multiplexer und pro Port des Speicherbausteins eine Komparatoreinheit . Jede Komparatoreinheit weist pro Informationsbit des Spei¬ cherinhalts bevorzugt jeweils einen Komparator auf, dessen Ausgang mit einem UND-Glied verknüpft ist. Als besonders vorteilhaft wird es angesehen, wenn beim Durch¬ suchen des Speicherbausteins auf vorgegebene Speicherinhalte eine parallele Untersuchung hinsichtlich verschiedener Speicherinhalte durchgeführt werden kann. Diesbezüglich wird es als vorteilhaft angesehen, wenn die Ausleseeinrichtung eine Mehrzahl an Eingängen aufweist, in die jeweils ein individu¬ eller Speicherinhalt eingegeben werden kann und denen jeweils eine eingangsindividuelle Auswerteinrichtung zugeordnet ist, wobei an jeder Auswerteinrichtung eingangsseitig die von dem Speicherbaustein ausgegebenen Speicherinhalte, der individu- eil vorgegebene Speicherinhalt und die jeweils gewähltenIn order to enable an automatic searching the memory cells, it is considered advantageous when the readout ¬ means comprises an address counter which can pass through a predefined NEN address space of the memory device and having at least two address outputs, to each of which a memory cell address is output, the Address counter outputs to the at least two address outputs memory cell addresses, in which a predetermined subset of address bits each port individually with a fixed address ¬ bit information is fixed pre-assigned and in which the other address bits during the counting process changed identi ¬ the. With a view to the input of a predetermined memory content, it is considered advantageous if the read-out device has at least one evaluation device, on the input side the memory contents output by the memory module, the predetermined memory contents and the respectively selected memory cell addresses are applied and on the output side that memory cell address for which the memory contents are identical to the predetermined memory contents. The evaluation device preferably comprises a multiplexer and a comparator unit per port of the memory module. Each comparator has per information of the SpeI ¬ contents from another preferably in each case a comparator whose output is linked to an AND gate. Especially advantageous is considered if it can be done in looking through ¬ of the memory device in a predetermined memory contents a parallel investigation regarding various memory contents. In this regard, it is considered advantageous when the read-out means having a plurality of inputs, each represents a individu ¬ eller memory contents can be entered into and each associated with an input individual evaluation device, wherein at each evaluation on the input side, the memory contents outputted from the memory device, the individu - Express predetermined memory contents and the respectively selected
Speicherzellenadressen anliegen und wobei jede Auswerteinrichtung ausgangsseitig diejenige Speicherzellenadresse aus¬ gibt, für die der Speicherinhalt mit dem individuell eingege¬ benen Speicherinhalt identisch ist. Memory cell addresses are present and wherein each evaluation device on the output side that memory cell address from ¬ , for which the memory contents with the individually eingege ¬ benen memory contents is identical.
Sollen nur vorgegebene Speicherbereiche des Speicherbausteins abgefragt werden, so wird es als vorteilhaft angesehen, wenn die Startadresse und die Endadresse des zu durchsuchenden Speicherzellenbereichs in dem Speicherbaustein abgespeichert sind. If only predetermined memory areas of the memory module are to be interrogated, then it is considered advantageous if the start address and the end address of the memory cell area to be searched are stored in the memory module.
Handelt es sich bei dem Speicherbaustein um einen Dualport- Speicherbaustein mit zwei Ports, die eine parallele Abfrage des Speicherbausteins ermöglichen, so wird es als vorteilhaft angesehen, wenn die Ausleseeinrichtung derart ausgestaltet ist, dass sie an einem der zwei Ports des Speicherbausteins ein vorgegebenes Adressbit der Speicherzellenadressen mit einer logischen "Eins" fest vorbelegt und an dem anderen der zwei Ports des Speicherbausteins dasselbe Adressbit der Spei- cherzellenadressen mit einer logischen "Null" fest vorbelegt. Das mit einer logischen "Eins" oder einer logischen "Null" fest vorbelegte Adressbit ist vorzugsweise das geringwertigs¬ te Adressbit. Die feldprogrammierbare Logik-Gatter-Anordnung bildet vor¬ zugsweise einen Bestandteil eines Netzwerkschalters oder ei¬ nes Networkswitch zur Überprüfung von MAC-Adressen . Die Erfindung bezieht sich somit auch auf einen Netzwerkschalter bzw. einen Networkswitch mit einer feldprogrammierbaren Lo- gik-Gatter-Anordnung, wie sie oben beschrieben ist. If the memory module is a dual-port memory module having two ports, which enable a parallel polling of the memory module, then it is considered advantageous if the read-out device is configured such that it assigns a predetermined address bit to one of the two ports of the memory module Memory cell addresses with a logical "one" pre-assigned and at the other of the two ports of the memory module, the same address bit of the memory cell addresses with a logical "zero" pre-assigned. The address bit permanently pre-assigned with a logic "one" or a logical "zero" is preferably the least significant address bit. The field programmable logic gate array forms before ¬ preferably a part of a network switch or ei ¬ nes Network Switch to check MAC addresses. The invention thus also relates to a network switch or a network switch with a field-programmable logic gate arrangement, as described above.
Die Erfindung bezieht sich darüber hinaus auf ein Verfahren zum Betreiben einer feldprogrammierbaren Logik-Gatter- Anordnung. Erfindungsgemäß ist bezüglich eines solchen Ver- fahrens vorgesehen, dass alle Speicherzellen oder eine Teilmenge an Speicherzellen eines in die Logik-Gatter-Anordnung integrierten Dualport- oder Multiport-Speicherbausteins aus¬ gelesen werden, der Inhalt der Speicherzellen mit einem vorgegebenen Speicherinhalt verglichen wird und bei Übereinstim- mung der Speicherinhalte ein die Übereinstimmung signalisie¬ rendes Ergebnissignal und/oder die Speicherzellenadresse der jeweiligen Speicherzelle ausgegeben wird, wobei an einer vorgegebenen Anzahl an Ports des Speicherbausteins eine paralle¬ le Abfrage durchgeführt wird, indem zumindest zwei Ports des Speicherbausteins parallel ausgelesen und die an den zumin¬ dest zwei Ports ausgegebenen Speicherinhalte parallel mit dem vorgegebenen Speicherinhalt verglichen werden. The invention also relates to a method of operating a field programmable logic gate array. According to the invention of such a comparison is with respect to driving provided that all memory cells or a subset of memory cells of an integrated logic gate arrangement dual port or multi-port memory block is read from ¬, the contents of the memory cells to a predetermined memory contents are compared and conformity of the memory contents of one being carried out at a predetermined number of ports of the memory device a paralle ¬ le query accordance signalisie ¬ rendes result signal and / or the memory cell address of the respective memory cell is output, by reading out at least two ports of the memory device in parallel and the are compared to the at least two ports ¬ output memory contents in parallel with the given memory content.
Bezüglich der Vorteile des erfindungsgemäßen Verfahrens sei auf die obigen Ausführungen im Zusammenhang mit der erfindungsgemäßen feldprogrammierbaren Logik-Gatter-Anordnung verwiesen, da die Vorteile des erfindungsgemäßen Verfahrens de¬ nen der erfindungsgemäßen feldprogrammierbaren Logik-Gatter- Anordnung im Wesentlichen entsprechen. Regarding the advantages of the process according to the invention, reference is made to the above statements in connection with the inventive field programmable logic gate array, as the advantages of the process according to the invention de ¬ nen of field programmable logic gang invention correspond arrangement essentially.
Die Erfindung bezieht sich außerdem auf einen Speicherbaustein mit einem darin gespeicherten Programmcode zum Program- mieren einer feldprogrammierbaren Logik-Gatter-Anordnung, wie sie oben beschrieben ist. The invention also relates to a memory module with a program code stored therein for programming. a field programmable logic gate arrangement as described above.
Erfindungsgemäß ist diesbezüglich vorgesehen, dass der Programmcode geeignet ist, die feldprogrammierbare Logik-Gatter- Anordnung derart zu programmieren, dass in der feldprogrammierbaren Logik-Gatter-Anordnung eine Ausleseeinrichtung gebildet wird, die geeignet ist, Speicherzellen des Dualport¬ oder Multiport-Speicherbausteins an zumindest zwei Ports des Speicherbausteins parallel auszulesen, die an den zumindest zwei Ports ausgegebenen Speicherinhalte parallel mit einem vorgegebenen Speicherinhalt zu vergleichen und bei Übereinstimmung der Speicherinhalte ein die Übereinstimmung signalisierendes Ergebnissignal und/oder die korrespondierende Spei¬ cherzellenadresse der den vorgegebenen Speicherinhalt aufwei¬ senden Speicherzelle auszugeben. According to the invention in this respect is provided in that the program code is adapted to program the field programmable logic gang arrangement such that in the field-programmable logic gate array read-out means is formed, which is suitable for memory cells of the dual port ¬ or multiport memory module on at least read out two ports of the memory module in parallel, to compare the memory contents outputted at least two ports in parallel with a predetermined memory content and output a coincidence signal indicative result signal and / or the corresponding Spei ¬ cherzellenadresse of the predetermined memory contents aufwei ¬ send memory cell in accordance with the memory contents.
Bezüglich der Vorteile des erfindungsgemäßen Speicherbausteins sei auf die obigen Ausführungen im Zusammenhang mit der erfindungsgemäßen feldprogrammierbaren Logik-Gatter- Anordnung verwiesen, da die Vorteile des erfindungsgemäßen Speicherbausteins denen der erfindungsgemäßen feldprogrammierbaren Logik-Gatter-Anordnung im Wesentlichen entsprechen. With regard to the advantages of the memory module according to the invention, reference is made to the above statements in connection with the field programmable logic gate arrangement according to the invention, since the advantages of the memory module according to the invention essentially correspond to those of the field programmable logic gate arrangement according to the invention.
Die Erfindung wird nachfolgend anhand eines Ausführungsbei¬ spiels näher erläutert; dabei zeigen beispielhaft: The invention will be explained in more detail with reference to a Ausführungsbei ¬ game; thereby show exemplarily:
Figur 1 ein Ausführungsbeispiel für eine Anordnung mit ei¬ ner erfindungsgemäßen feldprogrammierbaren Logik- Gatter-Anordnung, anhand derer auch das erfindungsgemäße Verfahren beispielhaft erläutert wird, und einem Speicherbaustein mit einem darin gespeichertem Programmcode zur Programmierung der feldprogrammierbaren Logik-Gatter-Anordnung, und Figure 1 shows an embodiment of an arrangement with egg ¬ ner field programmable logic gate arrangement according to which the method of the invention is exemplified, and a memory module with a stored therein program code for programming the field programmable logic gate array, and
Figur 2 ein Ausführungsbeispiel für eine Komparatoreinheit , wie sie bei der feldprogrammierbaren Logik-Gatter- Anordnung gemäß Figur 1 eingesetzt werden kann. Die Figur 1 zeigt eine feldprogrammierbare Logik-Gatter- Anordnung 10, die einen in der Logik-Gatter-Anordnung integrierte Dualport-Speicherbaustein 20 sowie eine in der Logik- Gatter-Anordnung 10 programmierte Ausleseeinrichtung 30 um- fasst . FIG. 2 shows an exemplary embodiment of a comparator unit, as can be used in the field programmable logic gate arrangement according to FIG. FIG. 1 shows a field-programmable logic gate arrangement 10 which comprises a dual-port memory module 20 integrated in the logic gate arrangement as well as a read-out device 30 programmed in the logic gate arrangement 10.
Der Dualport-Speicherbaustein 20 weist einen ersten Port und einen zweiten Port auf. Der erste Port wird durch einen ers- ten Eingangsport 21 sowie einen zugehörigen bzw. korrespondierenden ersten Ausgangsport 22 gebildet. Der zweite Port des Speicherbausteins 20 wird durch einen zweiten Ein¬ gangsport 23 sowie einen zweiten Ausgangsport 24 gebildet. Wird an dem ersten Eingangsport 21 eine Speicherzellenadresse eingegeben, so gibt der Speicherbaustein 20 an seinem ersten Ausgangsport 22 den Speicherinhalt der Speicherzelle mit der entsprechenden Speicherzellenadresse, die am ersten Eingangsport 21 anliegt, aus. The dual-port memory device 20 has a first port and a second port. The first port is formed by a first input port 21 and an associated or corresponding first output port 22. The second port of the memory module 20 is formed by a second A ¬ through port 23 and a second output port 24th If a memory cell address is input at the first input port 21, the memory module 20 outputs at its first output port 22 the memory contents of the memory cell with the corresponding memory cell address which is applied to the first input port 21.
In entsprechender Weise arbeitet der zweite Port des Spei¬ cherbausteins 20. Wird an dem zweiten Eingangsport 23 eine Speicherzellenadresse eingegeben, so gibt der Speicherbau¬ stein 20 an seinem zweiten Ausgangsport 24 den Speicherinhalt derjenigen Speicherzelle aus, deren Speicherzellenadresse mit der am zweiten Eingangsport 23 eingegebenen Speicherzellenad¬ resse identisch ist. In a corresponding manner, the second port of the SpeI ¬ cherbausteins works 20. If a memory cell address input to the second input port 23, the storage construction ¬ stone 20 is at its second output port 24 the memory contents of those memory cell, the memory cell address input with the second input port 23 Speicherzellenad ¬ ress is identical.
Der Speicherbaustein 20 ermöglicht es also, den Speicherin- halt zweier Speicherzellen gleichzeitig bzw. parallel auszu¬ lesen, indem in den ersten Eingangsport 21 sowie in den zweiten Eingangsport 23 unterschiedliche Speicherzellenadressen eingespeist werden. Die Ausleseeinrichtung 30 weist einen Adresszähler 40 auf, der mit einem ersten Adressausgang 40a an den ersten Eingangsport 21 des Speicherbausteins 20 angeschlossen ist. Ein zweiter Adressausgang 40b des Adresszählers 40 steht mit dem zweiten Eingangsport 23 des Speicherbausteins 20 in Verbin¬ dung . Thus, the memory device 20 makes it possible to compensate for the Speicherin- holding two memory cells simultaneously or parallel ¬ read by 23 different memory cell addresses are fed to the first input port 21 and into the second input port. The readout device 30 has an address counter 40, which is connected to a first address output 40a to the first input port 21 of the memory module 20. A second address output 40b of the address counter 40 is connected to the second input port 23 of the memory module 20 in connec ¬ tion.
Der Adresszähler 40 weist einen binär zählenden Zähler 41, einen Multiplexer 42 und einen Komparator 43 auf. The address counter 40 has a binary counter 41, a multiplexer 42 and a comparator 43.
Der Adresszähler 40 ist in der Lage, an seinem ersten Adressausgang 40a eine erste Speicherzellenadresse AI und an seinem zweiten Adressausgang 40b eine zweite Speicherzellenadresse A2 auszugeben, wobei sich die erste Speicherzellenadresse AI von der zweiten Speicherzellenadresse A2 nur hinsichtlich eines einzigen Adressbits unterscheidet. The address counter 40 is capable of outputting at its first address output 40a a first memory cell address AI and at its second address output 40b a second memory cell address A2, wherein the first memory cell address AI differs from the second memory cell address A2 only with respect to a single address bit.
Um die beschriebene Speicherzellenadressbildung zu erreichen, setzt der Adresszähler 40 die erste Speicherzellenadresse AI, die am ersten Adressausgang 40a ausgegeben wird, aus dem jeweiligen Zählerstand Z des Zählers 41 sowie einem fest vorbe¬ legten Adressbit zusammen. Bei dem fest vorbelegten Adressbit kann es sich um ein beliebiges Adressbit der ersten Speicher- zellenadresse AI handeln; im Nachfolgenden wird beispielhaft davon ausgegangen, dass es sich bei dem fest vorbelegten Adressbit um das geringwertigste Adressbit handelt. Das gering¬ wertigste Adressbit wird in der Fachsprache auch als LSB (englischsprachig für Least Significant Bit) bezeichnet. In order to achieve the described memory cell address formation, the address counter 40 sets the first memory cell address AI, which is output at the first address output 40a, from the respective count Z of the counter 41 and a fixed vorbe ¬ laid address bit together. The fixed pre-assigned address bit may be any address bit of the first memory cell address AI; In the following, it is assumed by way of example that the fixed pre-assigned address bit is the least significant address bit. The low ¬ wertigste address bit is also referred to as the LSB in the technical language (English for Least Significant Bit).
Bei dem Ausführungsbeispiel gemäß Figur 1 wird der Adresszäh¬ ler 40 als erste Speicherzellenadresse AI also eine Speicher¬ zellenadresse ausgeben, bei der das geringwertigste Adressbit LSB mit einer logischen "0" vorbelegt ist und alle übrigen höherwertigen Adressbits der Speicherzellenadresse durch den jeweiligen Zählerstand Z des Zählers 41 vorgegeben sind. In the embodiment according to Figure 1 of the Adresszäh ¬ ler 40 is thus a storage ¬ cell address output as first memory cell address AI, in which the least significant address bit LSB is preset to a logic "0" and all the other high-order address bits of the memory cell address by the respective counter reading Z of Counter 41 are given.
In entsprechender Weise arbeitet der Adresszähler 40 bezüglich der zweiten Speicherzellenadresse A2, die am zweiten Ad- ressausgang 40b des Adresszählers 40 ausgegeben wird. Der Adresszähler 40 setzt die zweite Speicherzellenadresse A2 aus dem jeweiligen Zählerstand Z des Zählers 41 sowie einem vor¬ belegten Adressbit, das mit einer logischen "1" vorbelegt ist, zusammen. Bei dem fest vorbelegten Adressbit handelt es sich - wie auch bei der ersten Speicheradresse AI - um das geringwertigste Adressbit LSB. Die Funktionsweise des Adresszählers 40 soll anhand eines Zahlenbeispiels näher erläutert werden, wobei beispielhaft davon ausgegangen wird, dass der Zählerstand Z des Zählers 41 "8" also in binärer Schreibweise "1000" beträgt. In diesem Fall wird der Adresszähler 40 an seinem ersten Adressausgang 40a eine erste Speicherzellenadresse AI ausgeben, die wie folgt lautet: In a corresponding manner, the address counter 40 operates with respect to the second memory cell address A2, which is output at the second address output 40b of the address counter 40. The address counter 40 sets the second memory cell address A2 from the respective counter reading Z of the counter 41, and an occupied before ¬ address bit preset to a logic "1" is, together. The fixed pre-assigned address bit is - as with the first memory address AI - the least significant address bit LSB. The mode of operation of the address counter 40 will be explained in greater detail on the basis of a numerical example, it being assumed by way of example that the counter reading Z of the counter 41 is "8" in binary notation "1000". In this case, the address counter 40 will output at its first address output 40a a first memory cell address AI which is as follows:
AI = "10000" An seinem zweiten Adressausgang 40b wird der Adresszähler 40 den Zählerstand Z des Zählers 41 mit dem fest vorbelegten LSB-Adressbit "1" derart kombinieren, dass folgende zweite Speicherzellenadresse A2 entsteht: A2 = "10001" AI = "10000" At its second address output 40b, the address counter 40 will combine the counter reading Z of the counter 41 with the permanently pre-assigned LSB address bit "1" in such a way that the following second memory cell address A2 is produced: A2 = "10001"
Die beiden Speicherzellenadressen AI und A2 unterscheiden sich somit also nur hinsichtlich des fest vorbelegten geringwertigsten Adressbits LSB, die übrigen Adressbits der beiden Speichenzellenadressen AI und A2 sind identisch. The two memory cell addresses AI and A2 thus differ only in terms of the fixed least significant address bit LSB, the remaining address bits of the two memory cell addresses AI and A2 are identical.
Um zu erreichen, dass der Adresszähler 40 von einer vorgegebenen Startadresse zu einer vorgegebenen Endadresse zählen kann, weist der Adresszähler 40 einen ersten Eingang 40c so- wie einen zweiten Eingang 40d auf. In order to ensure that the address counter 40 can count from a predetermined start address to a predetermined end address, the address counter 40 has a first input 40c and a second input 40d.
An dem ersten Eingang 40c kann ein Minimalzählerstand Zmin in den Adresszähler 40 eingespeist werden, der die Startadresse für den Adresszähler 40 angibt. An dem zweiten Eingang 40d lässt sich in den Adresszähler 40 ein Maximalzählerstand Zmax einspeisen, der die Endadresse für den Adresszähler 40 vorgibt . Der Adresszähler 40 lässt sich beispielsweise wie folgt betreiben : At the first input 40c, a minimum count Zmin can be fed to the address counter 40, which indicates the start address for the address counter 40. At the second input 40d, a maximum count Zmax, which predefines the end address for the address counter 40, can be fed into the address counter 40. The address counter 40 can be operated, for example, as follows:
Wird der Adresszähler 40 gestartet, so wird der Multiplexer 42 zunächst den Minimalzählerstand Zmin als Zählerstand Z zu dem ersten Adressausgang 40a sowie dem zweiten Adressausgang 40b des Adresszählers 40 leiten, so dass an den beiden Ad¬ ressausgängen 40a und 40b die beiden Speicherzellenadressen AI und A2 gebildet werden, wie dies oben bereits beschrieben worden ist. If the address counter is started 40, the multiplexer 42 is initially the minimum count are derived Zmin as a counter reading Z to the first address output 40a and the second address output 40b of the address counter 40 so that 40a at the two Ad ¬ ressausgängen and 40b, the two memory cell addresses Al and A2 be formed, as has already been described above.
Der Zählerstand Z gelangt zu dem Zähler 41, der im Rahmen des nächsten Zählschritts den Zählerstand inkrementiert bzw. um eins erhöht. Der erhöhte Zählerstand gelangt von dort zum Multiplexer 42, der den neuen bzw. nun erhöhten Zählerstand Z wiederum zu den beiden Adressausgängen 40a und 40b weiterleitet . The counter reading Z reaches the counter 41, which increments or increments the counter reading within the scope of the next counting step. From there, the increased counter reading reaches the multiplexer 42, which in turn forwards the new or now increased counter reading Z to the two address outputs 40a and 40b.
Erreicht der Zählerstand Z den Maximalzählerstand Zmax, der am zweiten Eingang 40d des Adresszählers 40 festgelegt ist, so wird dies von dem Komparator 43 festgestellt, der über ei¬ ne Steuerleitung 44 den Multiplexer 42 umschaltet. Durch das Umschalten des Multiplexers 42 wird wieder der Minimalzählerstand Zmin, der am ersten Eingang 40c anliegt, durchgeschal- tet und an die beiden Adressausgänge 40a und 40b weitergelei¬ tet, so dass der Zählvorgang vom Minimalzählerstand Zmin zum Maximalzählerstand Zmax bzw. von der durch den Minimalzählerstand Zmin vorgegebenen Startadresse zu der durch den Maximalzählerstand Zmax vorgegebenen Endadresse erneut starten kann. If the count reaches the maximum count Z Zmax, which is fixed at the second input 40d of the address counter 40, this is detected by the comparator 43, which switches over ei ¬ ne control line 44 to multiplexer 42nd By switching the multiplexer 42 is again the minimum count Zmin, which is present at the first input 40c, durchgeschal- tet and 40a of the two address outputs and 40b weitergelei ¬ tet, so that the counting operation from the minimum count Zmin to the maximum count Zmax and from the by the Minimum count Zmin predetermined start address can restart to the predetermined by the maximum count Zmax end address.
Die Ausleseeinrichtung 30 weist außerdem n-Auswerteinrich- tungen auf, von denen in der Figur 1 zwei dargestellt und mit den Bezugszeichen 50-1 und 50-n bezeichnet sind. Die n- Auswerteinrichtungen 50-1 bis 50-n weisen jeweils einen ersten Eingang 50a sowie einen zweiten Eingang 50b auf. Der erste Eingang 50a der Auswerteinrichtungen ist jeweils an den ersten Ausgangsport 22 des Speicherbausteins 20 angeschlos- sen. Der zweite Eingang 50b der Auswerteinrichtungen ist jeweils mit dem zweiten Ausgangsport 24 des Speicherbausteins 20 verbunden. Mit anderen Worten sind die Eingänge 50a und 50b der n-Auswerteinrichtungen 50-1 bis 50-n parallel ge- schaltet und jeweils mit beiden Ausgangsports des Speicher¬ bausteins 20 verbunden. The readout device 30 also has n-Auswerteinrich- tions, of which two are shown in Figure 1 and designated by the reference numerals 50-1 and 50-n. The n-type evaluation devices 50-1 to 50-n each have a first input 50a and a second input 50b. The first input 50a of the evaluation devices is in each case connected to the first output port 22 of the memory module 20. sen. The second input 50b of the evaluation devices is in each case connected to the second output port 24 of the memory module 20. In other words, the inputs 50a and 50b of the n-evaluation devices 50-1 to 50-n turns on parallel and respectively connected to two output ports of the memory block ¬ 20th
Die n-Auswerteinrichtungen 50-1 bis 50-n können beispielsweise baugleich ausgeführt sein, so dass stellvertretend für al- le der n-Auswerteinrichtungen nachfolgend lediglich die Auswerteinrichtung 50-1 näher beschrieben werden soll. The n-type evaluation devices 50-1 to 50-n may, for example, have the same design, so that only the evaluation device 50-1 is to be described in more detail below for all of the n-type evaluation devices.
Wie sich in der Figur 1 erkennen lässt, ist die Auswerteinrichtung 50-1 mit zwei Komparatoreinheiten ausgestattet, von denen eine erste Komparatoreinheit mit dem Bezugszeichen 51 und eine zweite Komparatoreinheit 52 gekennzeichnet ist. As can be seen in FIG. 1, the evaluation device 50-1 is equipped with two comparator units, of which a first comparator unit is designated by the reference numeral 51 and a second comparator unit 52.
Die beiden Komparatoreinheiten 51 und 52 stehen ausgangssei- tig mit Steuereingängen eines Multiplexers 53 in Verbindung, der eingangsseitig mit vier Signalen Sl, S2, S3 und S4 beauf¬ schlagt ist. Je nach den Ausgangssignalen der beiden Komparatoreinheiten 51 und 52 wird eines der vier Signale Sl bis S4 an den Ausgang A53 des Multiplexers 53 bzw. an den Ausgang A50 der Auswerteinrichtung 50-1 durchgeschaltet. The two comparator units 51 and 52 are the output side with control inputs of a multiplexer 53 in connection, on the input side with four signals Sl, S2, S3 and S4 beauf ¬ beat. Depending on the output signals of the two comparator units 51 and 52, one of the four signals S1 to S4 is switched through to the output A53 of the multiplexer 53 or to the output A50 of the evaluation device 50-1.
Die Auswerteinrichtung 50-1 ist darüber hinaus mit einem An- schluss 150-1 ausgestattet, an dem ein Speicherinhalt 1-1 ei¬ ner gesuchten Speicherzelle des Speicherbausteins 20 in die Auswerteinrichtung 50-1 eingespeist werden kann. The evaluation device 50-1 is also equipped with an on-circuit 150-1, to which a storage content 1-1 ei ¬ ner desired memory cell of the memory device can be fed in the evaluation device 50-1 20th
Die Auswerteinrichtung 50-1 kann beispielsweise wie folgt be¬ trieben werden: The evaluation device 50-1, for example, as follows ¬ be exaggerated:
An dem Anschluss 150-1 wird ein Speicherinhalt 1-1, für den die Speicherzelle bzw. die Speicherzellenadresse im Speicher¬ baustein 20 gesucht wird, in die Auswerteinrichtung 50-1 eingespeist. Der Speicherinhalt 1-1 gelangt sowohl zu der ersten Komparatoreinheit 51 als auch zu der zweiten Komparatorein- heit 52. Die erste Komparatoreinheit 51 vergleicht den Spei¬ cherinhalt 1-1 mit dem Speicherinhalt I(A1), der von dem Speicherbaustein 20 an dem ersten Ausgangsport 22 ausgegeben wird. Stellt die erste Komparatoreinheit 51 fest, dass die beiden Speicherinhalte 1-1 und I(A1) identisch sind, so er¬ zeugt sie ausgangsseitig ein Steuersignal ST1 mit einer logi¬ schen "1". Stimmt der Speicherinhalt 1-1 mit dem Speicherin¬ halt I(A1) nicht überein, so erzeugt die erste Komparatoreinheit 51 ein Steuersignal ST1 mit einer logischen "0". Is at the terminal 150-1, a memory contents 1-1 for which the memory cell or the memory cell address in the memory ¬ building block 20 is searched for, fed into the evaluation device 50-1. The memory contents 1-1 reach both the first comparator unit 51 and the second comparator unit. standardized 52. The first comparator 51 compares the SpeI ¬ cheri stop 1-1 with the memory content I (A1), which is output from the memory device 20 to the first output port 22nd Represents the first comparator unit 51 determines that the two memory contents 1-1 and I (A1) are identical, it ¬ it demonstrates its output a control signal ST1 with a logi ¬ rule "1". If the memory content 1-1 does not match the memory content I (A1), the first comparator unit 51 generates a control signal ST1 with a logic "0".
In entsprechender Weise arbeitet die zweite Komparatoreinheit 52. Die zweite Komparatoreinheit 52 vergleicht den Speicher¬ inhalt 1-1, der am Anschluss 150-1 der Auswerteinrichtung 50- 1 anliegt, mit dem Speicherinhalt I(A2), der in der Speicher- zelle mit der zweiten Speicherzellenadresse A2 in dem Spei¬ cherbaustein 20 gespeichert ist. Der Speicherinhalt I(A2) wird von dem Speicherbaustein 20 an dem zweiten Ausgangsport 24 ausgegeben. Stellt die zweite Komparatoreinheit 52 fest, dass der Spei¬ cherinhalt 1-1 mit dem Speicherinhalt I(A2) der Speicherzelle mit der zweiten Speicherzellenadresse A2 übereinstimmt, so erzeugt sie ein zweites Steuersignal ST2 mit einer logischen "1" und überträgt dieses zu dem Multiplexer 53. Andernfalls, wenn der Speicherinhalt 1-1 und der Speicherinhalt I(A2) un¬ terschiedlich sind, erzeugt die zweite Komparatoreinheit 52 ein zweites Steuersignal ST2 mit einer logischen "0". In a corresponding manner, the second comparator unit 52 operates the second comparator 52 compares the memory contents ¬ 1-1, which abuts the terminal 150-1 of the evaluation device 50 1, the memory content I (A2), the cell in the memory with the second memory cell address A2 is stored in the SpeI ¬ cherbaustein 20th The memory content I (A2) is output from the memory device 20 at the second output port 24. , The second comparator unit 52 determines that the SpeI ¬ cheri stop 1-1 with the memory content I (A2) of the memory cell to the second memory cell address A2 agrees, it generates a second control signal ST2 with a logic "1" and transmits this to the multiplexer 53. Otherwise, if the memory content of 1-1 and the memory content I (A2) are un ¬ differently, generates the second comparator 52, a second control signal ST2 with a logic "0".
An dem Multiplexer 53 liegen eingangsseitig somit zwei Steu- ersignale ST1 und ST2 an, die angeben, ob die beiden Kompara- toreinheiten 51 und 52 eine Identität der Speicherinhalte festgestellt haben oder nicht. In Abhängigkeit von den beiden Steuersignalen ST1 und ST2 schaltet der Multiplexer 53 eines von vier eingangsseitig anliegenden Signalen Sl, S2, S3 oder S4 durch, wie dies die Wahrheitstabelle W in der Figur 1 an¬ deutet, also beispielsweise gemäß folgender Zuordnung: Thus, on the input side, two control signals ST1 and ST2 are present at the multiplexer 53, which indicate whether the two comparator units 51 and 52 have ascertained an identity of the memory contents or not. As a function of the two control signals ST1 and ST2, the multiplexer 53 switches one of four input side signals Sl, S2, S3 or S4, as indicated ¬ the truth table W in Figure 1 to, say for example in accordance with the following assignment:
ST1 = "0" und ST2 = "0" => Sl ST1 = "0" und ST2 = "1" => S2 ST1 = "0" and ST2 = "0"=> Sl ST1 = "0" and ST2 = "1"=> S2
ST1 = "1" und ST2 = "0" => S3 ST1 = "1" and ST2 = "0" => S3
ST1 = "1" und ST2 = "1" => S4 Das Signal Sl zeigt beispielsweise durch das Symbol "%" an, dass keine Identität der Speicherinhalte festgestellt wurde. Das Signal Sl kann beispielsweise durch einen Signalbilder Bsl erzeugt werden. Das Signal S2 zeigt beispielsweise durch Angabe des Zähler¬ standes Z und einer "0" an, dass die Speicherzelle mit der ersten Speicherzellenadresse AI den eingangsseitig vorgegebe¬ nen Speicherinhalt 1-1 aufweist. Das Signal S2 kann bei¬ spielsweise durch einen Signalbilder Bs2 erzeugt werden, der den Zählerstand Z mit der logischen "0" binär kombiniert. ST1 = "1" and ST2 = "1"=> S4 The signal S1 indicates, for example, by the symbol "%" that no identity of the memory contents has been detected. The signal Sl can be generated, for example, by a signal image Bsl. The signal S2 is, for example, by giving the counter ¬ article Z and a "0" indicates that the memory cell with the first memory cell address AI has the input side pre give ¬ NEN memory content 1-1. The signal S2 can be generated in ¬ example by a signal images Bs2, which combines the count Z with the logical "0" binary.
Das Signal S3 zeigt beispielsweise durch Angabe des Zähler¬ standes Z und einer "1" an, dass die Speicherzelle mit der zweiten Speicherzellenadresse A2 den eingangsseitig vorgege- benen Speicherinhalt 1-1 aufweist. Das Signal S3 kann bei¬ spielsweise durch einen Signalbilder Bs3 erzeugt werden, der den Zählerstand Z mit der logischen "1" binär kombiniert. The signal S3 is, for example, by giving the counter ¬ article Z and a "1" indicates that the memory cell with the second memory cell address A2 to the input side vorgege- surrounded memory content comprises 1-1. The signal S3 can be generated at ¬ example by a signal images Bs3, which combines the count Z with the logical "1" binary.
Das Signal S4 bildet ein Ergebnissignal, das beispielsweise durch Angabe des Zählerstandes Z und eines "X" anzeigt, dass sowohl in der Speicherzelle mit der ersten Speicherzellenad¬ resse AI als auch in der Speicherzelle mit der zweiten Spei¬ cherzellenadresse A2 der vorgegebene Speicherinhalt 1-1 abge¬ speichert ist. Das Signal S4 kann beispielsweise durch einen Signalbilder Bs4 erzeugt werden, der den Zählerstand Z um die Angabe "X" ergänzt. The signal S4 is a result signal indicating, for example, by specifying the count Z and an "X", that both in the memory cell with the first Speicherzellenad ¬ ress AI as well as in the memory cell with the second SpeI ¬ cherzellenadresse A2 the predetermined memory contents 1- 1 abge ¬ stores. The signal S4 can be generated, for example, by a signal image Bs4, which supplements the counter reading Z by the indication "X".
Das jeweils vom Multiplexer 53 durchgeschaltete Signal S1-S4 gelangt zum Ausgang A53 des Multiplexers 53 und zum Ausgang A50 der Auswerteinrichtung 50-1, so dass am Ausgang der Auswerteinrichtung 50-1 festgestellt werden kann, ob eine Speicherzelle mit dem gewünschten Speicherinhalt 1-1 gefunden wurde und ggf. welche Speicherzellenadresse die Speicherzelle mit dem gewünschten Speicherinhalt 1-1 aufweist. Am Ausgang A50 der Auswerteinrichtung 50-1 kann somit festgestellt werden, ob in der ersten Speicherzellenadresse AI und/oder der zweiten Speicherzellenadresse A2 der vorgegebene Speicherin- halt 1-1 abgespeichert ist. The respectively through multiplexer 53 through-connected signal S1-S4 reaches the output A53 of the multiplexer 53 and the output A50 of the evaluation device 50-1, so that it can be determined at the output of the evaluation device 50-1, whether a memory cell with the desired memory contents 1-1 was found and possibly which memory cell address the memory cell having the desired memory contents 1-1. At the output A50 of the evaluation device 50-1 it can thus be determined whether the predetermined memory content 1-1 is stored in the first memory cell address AI and / or the second memory cell address A2.
Die feldprogrammierbare Logik-Gatter-Anordnung 10 gemäß Figur 1 ermöglicht es also, den Speicherbaustein 20 als Assoziativspeicher zu betreiben, wobei eine gegenüber einem einfachen Einport-Speicher verdoppelte Lesegeschwindigkeit erreicht wird. Dies soll anhand eines Zahlenbeispiels näher erläutert werden: Soll ein vorgegebener Speicherbereich, der durch eine Startadresse und eine Endadresse definiert ist, auf das Vor¬ handensein eines vorgegebenen Speicherinhalts untersucht wer- den, so wird die Hälfte der Speicherzellen über den erstenThe field-programmable logic gate arrangement 10 according to FIG. 1 thus makes it possible to operate the memory module 20 as an associative memory, wherein a reading speed that is twice as high as a simple one-port memory is achieved. This will be explained in detail with reference to a numerical example: If a predetermined area of memory is defined by a start address and an end address are examined availability of a predetermined memory contents to the pre ¬, half of the memory cells via the first
Eingangsport 21 und den ersten Ausgangsport 22 und zeitgleich die andere Hälfte der Speicherzellen über den zweiten Eingangsport 23 und den zweiten Ausgangsport 24 abgefragt. Dabei werden ausgehend von einer Startadresse P, die durch den Mi- nimalzählerstand Zmin festgelegt wird, die geraden Adressen P, P+2, P+4, P+6, usw. über den ersten Eingangsport 21 und den zweiten Ausgangsport 22 abgefragt. Die ungeraden Adressen P+l, P+3, P+5, P+7, usw. werden über den zweiten Eingangsport 23 und den zweiten Ausgangsport 24 bearbeitet. Input port 21 and the first output port 22 and at the same time the other half of the memory cells via the second input port 23 and the second output port 24 queried. In this case, starting from a start address P, which is defined by the minimum count Zmin, the even addresses P, P + 2, P + 4, P + 6, etc. are queried via the first input port 21 and the second output port 22. The odd addresses P + 1, P + 3, P + 5, P + 7, etc. are processed via the second input port 23 and the second output port 24.
Das Hochzählen der Speicherzellenadressen der auszulesenden Speicherzellen wird durch den Adresszähler 40 bewerkstelligt, dessen Zähler 41 den Zählerstand Z nach jedem erfolgten Auslesevorgang hochsetzt. The counting up of the memory cell addresses of the memory cells to be read out is accomplished by the address counter 40 whose counter 41 increments the counter reading Z after each successful read-out process.
Wie bereits erwähnt, können die Auswerteinrichtungen 50-1 bis 50-n identisch ausgeführt sein. Dies ermöglicht es, zusätz¬ lich zu dem Speicherinhalt 1-1 zeitgleich bzw. parallel wei¬ tere Speicherinhalte in die Ausleseeinrichtung 30 einzuspei- sen, so dass der Speicherbaustein 20 nicht nur hinsichtlich des Speicherinhalts 1-1, sondern darüber hinaus gleichzeitig auch auf andere Speicherinhalte hin untersucht werden kann. So ist es beispielsweise möglich, den Speicherinhalt I-n an dem Anschluss I50-n in die Auswerteinrichtung 50-n einzuspeisen und mit Hilfe der Auswerteinrichtung 50-n zu prüfen, ob der Speicherinhalt I-n in dem Speicherbaustein 20 abgespeichert ist und - falls dies der Fall ist - die entsprechende Speicherzelle bzw. die betreffende Speicherzellenadresse zu ermitteln . As already mentioned, the evaluation devices 50-1 to 50-n can be made identical. This makes it possible zusätz ¬ Lich simultaneously to the memory content of 1-1 or parallel wei ¬ tere memory contents in the read-out means 30 sen einzuspei- so that the memory module 20 not only in terms of the memory content 1-1, but also at the same time to other Memory contents can be examined out. So it is possible, for example, the memory contents In the terminal I50-n fed into the evaluation device 50-n and with the help of the evaluation device 50-n to check whether the memory contents are stored in the memory module 20 and if so, the corresponding memory cell or the respective memory cell address determine .
In der Figur 1 sieht man außerdem einen Speicherbaustein 100 mit einem darin gespeichertem Programmcode 110 für die feld- programmierbare Logik-Gatter-Anordnung 10. Der Programmcode 110 ist geeignet, die feldprogrammierbare Logik-Gatter- Anordnung 10 derart zu programmieren, dass in der feldprogrammierbaren Logik-Gatter-Anordnung 10 die Ausleseeinrichtung 30 gebildet wird, die geeignet ist, Speicherzellen des Dualport- oder Multiport-Speicherbausteins 20 an zumindest zwei Ports des Speicherbausteins parallel auszulesen, die an den zumindest zwei Ports ausgegebenen Speicherinhalte paral¬ lel mit einem vorgegebenen Speicherinhalt zu vergleichen und bei Übereinstimmung der Speicherinhalte ein die Übereinstim- mung signalisierendes Ergebnissignal und/oder die korrespon¬ dierende Speicherzellenadresse der den vorgegebenen Speicher¬ inhalt aufweisenden Speicherzelle auszugeben. FIG. 1 also shows a memory module 100 with a program code 110 stored therein for the field-programmable logic gate arrangement 10. The program code 110 is suitable for programming the field-programmable logic gate arrangement 10 such that it can be programmed in the field-programmable logic Logic gate arrangement 10, the read-out device 30 is formed, which is adapted to read memory cells of the dual-port or multiport memory module 20 parallel to at least two ports of the memory module, the output at the at least two ports memory contents paral ¬ lel with a predetermined memory content comparing and outputting a result signal signaling the agreement and / or the correspondent ¬ chief of memory cell address of the predetermined storage ¬ having content storage cell in accordance of the memory contents.
Bei dem Ausführungsbeispiel gemäß Figur 1 werden die Spei- cherzellenadressen ermittelt und ausgegeben, die angeben, in welchen Speicherzellen ein vorgegebener Speicherinhalt eingespeichert ist. Alternativ kann lediglich ein zum Beispiel binäres Ergebnissignal erzeugt werden, das nur angibt, ob oder nicht eine Speicherzelle mit dem vorgegebenen Speicherinhalt vorhanden ist. In the embodiment according to FIG. 1, the memory cell addresses are determined and output which indicate in which memory cells a predetermined memory content is stored. Alternatively, only a binary result signal, for example, may be generated which merely indicates whether or not a memory cell having the predetermined memory content is present.
Die Figur 2 zeigt ein Ausführungsbeispiel für die Komparator- einheit 51 gemäß Figur 1. Man erkennt eine Anzahl q an Kompa- ratoren 511, die an einem ersten Eingang jeweils mit einem Informationsbit IB-1 bis IB-q des Speicherinhalts I(A1) (vgl. Fig. 1) des Speicherbausteins beaufschlagt sind. An einem zweiten Eingang liegt jeweils ein Informationsbit IV- 1 bis IV-q des vorgegebenen Speicherinhalts 1-1 (vgl. Fig. 1) an. An den Ausgängen der Komparatoren 511 wird jeweils ein Vergleichssignal V-l bis V-q erzeugt, das eine logische "1" auf¬ weist, wenn die eingangsseitig anliegenden Informationsbits identisch sind, und andernfalls eine logische "0" aufweist. FIG. 2 shows an exemplary embodiment for the comparator unit 51 according to FIG. 1. A number q of comparators 511 is identified, which in each case are connected to an information input IB-1 to IB-q of the memory content I (A1) (FIG. see Fig. 1) of the memory module are acted upon. An information bit IV-1 to IV-q of the predetermined memory content 1-1 (see FIG. At the outputs of the comparators 511, a respective comparison signal Vl to Vq is generated, which has a logic "1" on ¬ if the input side applied information bits are identical, and otherwise has a logic "0".
Die Ausgänge der Komparatoren 511 sind mit einem UND-Glied 512 verbunden, das das Steuersignal ST1 mit einer logischen "1" erzeugt, wenn alle eingangsseitig anliegenden Vergleichs- signale V-l bis V-q eine logische "1" aufweisen, und andern¬ falls das Steuersignal ST1 mit einer logischen "0" erzeugt. The outputs of comparators 511 are connected to an AND gate 512, which generates the control signal ST1 with a logic "1" if all the input side comparison signals Vl to Vq have a logic "1", and other ¬ if the control signal ST1 generated with a logical "0".
Die Komparatoreinheit 52 gemäß Figur 1 kann mit der Kompara- toreinheit 51 gemäß Figur 2 identisch bzw. oder baugleich sein. The comparator unit 52 according to FIG. 1 can be identical or identical to the comparator unit 51 according to FIG.
Obwohl die Erfindung im Detail durch das bevorzugte Ausführungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch das offenbarten Beispiel einge- schränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen . Although the invention has been further illustrated and described in detail by the preferred embodiment, the invention is not limited by the disclosed example, and other variations can be derived therefrom by those skilled in the art without departing from the scope of the invention.
Bezugs zeichenliste Reference sign list
10 Logik-Gatter-Anordnung 10 logic gate arrangement
20 Dualport-Speicherbaustein 21 erster Eingangsport  20 dual-port memory module 21 first input port
22 erster Ausgangsport  22 first output port
23 zweiter Eingangsport  23 second input port
24 zweiter Ausgangsport  24 second output port
30 Ausleseeinrichtung 30 read-out device
40 Adresszähler 40 address counters
40a erster Adressausgang  40a first address output
40b zweiter Adressausgang  40b second address output
40c erster Eingang  40c first entrance
40d zweiter Eingang  40d second input
41 Zähler 41 counters
42 Multiplexer  42 multiplexers
43 Komparator  43 comparator
44 Steuerleitung  44 control line
50-1 Auswerteinrichtung 50-1 evaluation device
50-n Auswerteinrichtung 50-n evaluation device
50a erster Eingang  50a first entrance
50b zweiter Eingang  50b second entrance
51 erste Komparatoreinheit  51 first comparator unit
52 zweite Komparatoreinheit  52 second comparator unit
53 Multiplexer 53 multiplexers
100 Speicherbaustein  100 memory module
110 Programmcode  110 program code
511 Komparator  511 comparator
512 UND-Glied  512 AND gate
AI erste SpeicherzellenadresseAI first memory cell address
A2 zweite SpeicherzellenadresseA2 second memory cell address
A50 Ausgang der AuswerteinrichtungA50 output of the evaluation device
A53 Ausgang des Multiplexers Bsl Signalbilder A53 Output of the multiplexer Bsl Signal pictures
Bs2 Signalbilder  Bs2 signal images
Bs3 Signalbilder  Bs3 signal images
Bs4 Signalbilder 150-1 Anschluss Bs4 signal images 150-1 connection
I50-n Anschluss I50-n connection
1-1 Speieherinhalt 1-1 Speieherinhalt
I-n Speieherinhalt I-n Speieherinhalt
I (AI) Speieherinhalt  I (AI) Speieherinhalt
I (A2) Speieherinhalt I (A2) Species content
IB-1 bis IB- Informationsbit  IB-1 to IB information bit
IV- 1 bis IV- Informationsbit  IV- 1 to IV information bit
LSB geringwertigste AdressbitLSB least significant address bit
Sl Signal Sl signal
S2 Signal  S2 signal
S3 Signal  S3 signal
S4 Signal  S4 signal
ST1 Steuersignal  ST1 control signal
ST2 Steuersignal  ST2 control signal
V- l bis V-q Vergleichssignal  V-1 to V-q comparison signal
W Wahrheitstabeile  W truth pieces
Z Zählerstand Z counter reading
Zmin Minimal Zählerstand  Zmin minimum count
Zmax Maximal Zählerstand Zmax Maximum count

Claims

Patentansprüche claims
1. Feldprogrammierbare Logik-Gatter-Anordnung (10), 1. Field programmable logic gate arrangement (10),
g e k e n n z e i c h n e t durch marked by
- einen Dualport- oder Multiport-Speicherbaustein (20) mit einer vorgegebenen Anzahl an Ports, die eine parallele Ab¬ frage des Speicherbausteins (20) ermöglichen, und - A dual-port or multiport memory device (20) with a predetermined number of ports that allow a parallel Ab ¬ question the memory module (20), and
- eine Ausleseeinrichtung (30), die geeignet ist, Speicherzellen des Dualport- oder Multiport-Speicherbausteins (20) an zumindest zwei Ports des Speicherbausteins (20) paral¬ lel auszulesen, die an den zumindest zwei Ports ausgegebe¬ nen Speicherinhalte ( I (AI ) , I (A2 ) ) parallel mit einem vor¬ gegebenen Speicherinhalt (1-1, I-n) zu vergleichen und bei Übereinstimmung der Speicherinhalte ein die Übereinstimmung signalisierendes Ergebnissignal (S1-S4) und/oder die korrespondierende Speicherzellenadresse der den vorgegebe¬ nen Speicherinhalt (1-1, I-n) aufweisenden Speicherzelle auszugeben . - A read-out device (30) which is adapted to read memory cells of the dual-port or multiport memory module (20) paral ¬ lel to at least two ports of the memory module (20), the output at the at least two ports NEN memory contents (I (AI , I (A2)), In) to compare) in parallel with a (pre ¬ given memory content 1-1 and in accordance of the memory contents a compliance signaling result signal (S1-S4) and / or the corresponding memory cell address of the pre give ¬ NEN memory content To output (1-1, In) having memory cell.
2. Anordnung nach Anspruch 1, 2. Arrangement according to claim 1,
d a d u r c h g e k e n n z e i c h n e t, dass d a d u r c h e c e n c i n e s that
die Ausleseeinrichtung (30) derart ausgestaltet ist, dass sie an einem Port des Speicherbausteins (20) ein Adressbit (LSB) der Speicherzellenadressen (A2) mit einer logischen "Eins" fest vorbelegt und an einem anderen Port des Speicherbau¬ steins dasselbe Adressbit (LSB) der Speicherzellenadressen (AI) mit einer logischen "Null" fest vorbelegt. readout means (30) is designed such that it at one port of the memory device (20) one address bit (LSB) of the memory cell addresses (A2) with a logical "one" permanently preset, and (to a different port of the storage construction ¬ steins the same address bit LSB ) of the memory cell addresses (AI) with a logical "zero" fixed.
3. Anordnung nach einem der voranstehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t, dass 3. Arrangement according to one of the preceding claims, characterized in that a
die Ausleseeinrichtung (30) derart ausgestaltet ist, dass sie beim parallelen Auslesen der Speicherinhalte die zumindest zwei Ports des Speicherbausteins (20) mit Speicherzellenad¬ ressen (AI, A2 ) beaufschlagt, bei denen eine vorgegebene Teilmenge an Adressbits jeweils portindividuell mit einer fest vorgegebenen Adressbitinformation fest vorbelegt ist und bei denen die übrigen Adressbits während des Auslesevorganges verändert werden. , the read-out means (30) is designed such that it acts on the at least two ports of the memory device (20) having Speicherzellenad ¬ ests (Al, A2) in parallel reading out of the memory contents, wherein a predetermined subset of address bits each port individually with a fixed Adressbitinformation is fixed and in which the remaining address bits are changed during the read-out process.
4. Anordnung nach einem der voranstehenden Ansprüche, 4. Arrangement according to one of the preceding claims,
d a d u r c h g e k e n n z e i c h n e t, dass d a d u r c h e c e n c i n e s that
die Ausleseeinrichtung (30) einen Adresszähler (40) umfasst, der einen vorgegebenen Adressraum des Speicherbausteins (20) durchlaufen kann und zumindest zwei Adressausgänge (40a, 40b) aufweist, an denen jeweils eine Speicherzellenadresse (AI, A2 ) ausgegeben wird, wobei der Adresszähler (40) an den zumindest zwei Adressausgängen (40a, 40b) Speicherzellenadres- sen (AI, A2 ) ausgibt, bei denen eine vorgegebene Teilmenge an Adressbits jeweils portindividuell mit einer fest vorgegebe¬ nen Adressbitinformation fest vorbelegt ist und bei denen die übrigen Adressbits während des Zählvorganges identisch verän¬ dert werden. the read-out device (30) comprises an address counter (40) which can pass through a predetermined address space of the memory module (20) and has at least two address outputs (40a, 40b), at each of which a memory cell address (AI, A2) is output, the address counter (40) to the at least two address outputs (40a, 40b) Speicherzellenadres- sen (Al, A2) outputs, in which a predetermined subset of address bits each port individually preassigned fixed with a fixed pre give ¬ NEN Adressbitinformation and in which the other address bits during the Counting be changed identically ¬ changed.
5. Anordnung nach einem der voranstehenden Ansprüche, 5. Arrangement according to one of the preceding claims,
d a d u r c h g e k e n n z e i c h n e t, dass d a d u r c h e c e n c i n e s that
die Ausleseeinrichtung (30) mindestens eine Auswerteinrichtung (50-1, 50-n) aufweist, an der eingangsseitig die von dem Speicherbaustein (20) ausgegebenen Speicherinhalte (I(A1),the read-out device (30) has at least one evaluation device (50-1, 50-n), on the input side of which the memory contents (I (A1) output by the memory module (20),
I(A2)), der vorgegebene Speicherinhalt (1-1, I-n) und die je¬ weils gewählten Speicherzellenadressen anliegen und die aus- gangsseitig diejenige Speicherzellenadresse ausgibt, für die der Speicherinhalt mit dem vorgegebenen Speicherinhalt iden- tisch ist. I (A2)), the predetermined memory content (1-1, bear In) and each ¬ weils selected memory cell addresses and the output side that memory cell address outputs for which the memory content with the given memory content is identical.
6. Anordnung nach einem der voranstehenden Ansprüche, 6. Arrangement according to one of the preceding claims,
d a d u r c h g e k e n n z e i c h n e t, dass d a d u r c h e c e n c i n e s that
- die Ausleseeinrichtung (30) eine Mehrzahl an Eingängen  - The read-out device (30) has a plurality of inputs
(150-1, I50-n) aufweist, in die jeweils ein individueller (150-1, I50-n), in each case an individual
Speicherinhalt (1-1, I-n) eingegeben werden kann und denen jeweils eine anschlussindividuelle Auswerteinrichtung (50- 1, 50-n) zugeordnet ist, Memory content (1-1, I-n) can be input and to each of which a connection-specific evaluation device (50-1, 50-n) is assigned,
- wobei an jeder Auswerteinrichtung (50-1, 50-n) eingangs- seitig die von dem Speicherbaustein (20) ausgegebenen - Wherein at each evaluation device (50-1, 50-n) on the input side of the memory module (20) output
Speicherinhalte (I(A1), I(A2)), der individuell vorgegebe¬ ne Speicherinhalt (1-1, I-n) und die jeweils gewählten Speicherzellenadressen anliegen und - wobei jede Auswerteinrichtung (50-1, 50-n) ausgangsseitig diejenige Speicherzellenadresse ausgibt, für die der Spei¬ cherinhalt mit dem individuell eingegebenen Speicherinhalt identisch ist. Memory contents (I (A1), I (A2)), the individually vorgebe ¬ ne memory contents (1-1, In) and the respective selected memory cell addresses are present and - Each evaluation device (50-1, 50-n) outputs on the output side that memory cell address for which the Spei ¬ cherinhalt is identical to the individually entered memory content.
7. Anordnung nach einem der voranstehenden Ansprüche, 7. Arrangement according to one of the preceding claims,
d a d u r c h g e k e n n z e i c h n e t, dass d a d u r c h e c e n c i n e s that
die Startadresse und die Endadresse des zu durchsuchenden Speicherzellenbereichs in dem Speicherbaustein (20) abgespei- chert ist. the start address and the end address of the memory cell area to be searched are stored in the memory module (20).
8. Anordnung nach einem der voranstehenden Ansprüche, 8. Arrangement according to one of the preceding claims,
d a d u r c h g e k e n n z e i c h n e t, dass d a d u r c h e c e n c i n e s that
- der Speicherbaustein (20) ein Dualport-Speicherbaustein mit zwei Ports ist, die eine parallele Abfrage des Spei¬ cherbausteins ermöglichen, und - The memory module (20) is a dual port memory module with two ports, which allow a parallel query of Spei ¬ cherbausteins, and
- die Ausleseeinrichtung (30) derart ausgestaltet ist, dass sie an einem der zwei Ports des Speicherbausteins ein vor¬ gegebenes Adressbit der Speicherzellenadressen mit einer logischen "Eins" fest vorbelegt und an dem anderen der zwei Ports des Speicherbausteins dasselbe Adressbit der Speicherzellenadressen mit einer logischen "Null" fest vorbelegt . - The read-out device (30) is designed such that it pre- ¬ given address bit of the memory cell addresses with one logical "one" fixed at one of the two ports of the memory module and at the other of the two ports of the memory chip the same address bit of the memory cell addresses with a logical "Zero" fixed.
9. Anordnung nach Anspruch 8, 9. Arrangement according to claim 8,
d a d u r c h g e k e n n z e i c h n e t, dass d a d u r c h e c e n c i n e s that
das mit einer logischen "Eins" oder einer logischen "Null" fest vorbelegte Adressbit das geringwertigste Adressbit (LSB) ist . the address bit having a logical "one" or a logical "zero" is the least significant address bit (LSB).
10. Verfahren zum Betreiben einer feldprogrammierbaren Logik- Gatter-Anordnung, 10. A method of operating a field programmable logic gate array,
d a d u r c h g e k e n n z e i c h n e t, dass d a d u r c h e c e n c i n e s that
- alle Speicherzellen oder eine Teilmenge an Speicherzellen eines in der Logik-Gatter-Anordnung (10) integrierten Dualport- oder Multiport-Speicherbausteins (20) ausgelesen werden, der Inhalt der Speicherzellen (I(A1), I(A2)) mit einem vorgegebenen Speicherinhalt (1-1), I-n) verglichen wird und bei Übereinstimmung der Speicherinhalte ein die Übereinstimmung signalisierendes Ergebnissignal und/oder die Speicherzellenadresse der jeweiligen Speicherzelle ausgegeben wird, - All memory cells or a subset of memory cells of an integrated in the logic gate array (10) dual port or multiport memory device (20) are read, the contents of the memory cells (I (A1), I (A2)) with a predetermined Memory contents (1-1), In) compared and, if the memory contents match, a result signal indicating the coincidence and / or the memory cell address of the respective memory cell is output,
- wobei an einer vorgegebenen Anzahl an Ports des Speicherbausteins eine parallele Abfrage durchgeführt wird, indem zumindest zwei Ports des Speicherbausteins parallel ausge¬ lesen und die an den zumindest zwei Ports ausgegebenen Speicherinhalte parallel mit dem vorgegebenen Speicherin- halt verglichen werden. - wherein a parallel inquiry is carried out on a predetermined number of ports of the memory device by being ¬ read at least two ports of the memory device in parallel and the memory contents outputted to the at least two ports are compared in parallel with the predetermined Speicherin- halt.
11. Speicherbaustein (100) mit einem darin gespeichertem Programmcode (110) für eine feldprogrammierbare Logik-Gatter- Anordnung (10) nach einem der voranstehenden Ansprüche 1-9, d a d u r c h g e k e n n z e i c h n e t, dass 11. Memory module (100) with a program code (110) stored therein for a field-programmable logic gate arrangement (10) according to one of the preceding claims 1-9, characterized in that
der Programmcode (110) geeignet ist, die feldprogrammierbare Logik-Gatter-Anordnung (10) derart zu programmieren, dass in der feldprogrammierbaren Logik-Gatter-Anordnung (10) eine Ausleseeinrichtung (30) gebildet wird, die geeignet ist, - Speicherzellen eines Dualport- oder Multiport- Speicherbausteins (20) an zumindest zwei Ports des Spei¬ cherbausteins (20) parallel auszulesen, the program code (110) is adapted to program the field programmable logic gate array (10) to form in the field programmable logic gate array (10) a readout means (30) suitable for storing dual port memory cells or multiport memory module (20) at at least two ports of Spei ¬ cherbausteins (20) read out in parallel,
- die an den zumindest zwei Ports ausgegebenen Speicherinhalte (I(A1), I(A2)) parallel mit einem vorgegebenen Spei- cherinhalt (1-1, I-n) zu vergleichen und  - to compare the output at the at least two ports memory contents (I (A1), I (A2)) in parallel with a predetermined memory contents (1-1, I-n) and
- bei Übereinstimmung der Speicherinhalte ein die Übereinstimmung signalisierendes Ergebnissignal (S1-S4) und/oder die korrespondierende Speicherzellenadresse der den vorge¬ gebenen Speicherinhalt aufweisenden Speicherzelle aus- zugeben. - a signaling the correspondence result signal (S1-S4) and / or the corresponding memory cell address of the pre ¬ given memory content having the memory cell pass exclusively in correspondence of the memory contents.
12. Anordnung mit einem Speicherbaustein nach Anspruch 11 und einer feldprogrammierbare Logik-Gatter-Anordnung nach einem der voranstehenden Ansprüche 1-9. 12. Arrangement with a memory module according to claim 11 and a field programmable logic gate arrangement according to one of the preceding claims 1-9.
EP12704770.2A 2012-02-15 2012-02-15 Field-programmable logic gate arrangement Withdrawn EP2801154A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2012/052549 WO2013120516A1 (en) 2012-02-15 2012-02-15 Field-programmable logic gate arrangement

Publications (1)

Publication Number Publication Date
EP2801154A1 true EP2801154A1 (en) 2014-11-12

Family

ID=45688477

Family Applications (1)

Application Number Title Priority Date Filing Date
EP12704770.2A Withdrawn EP2801154A1 (en) 2012-02-15 2012-02-15 Field-programmable logic gate arrangement

Country Status (5)

Country Link
EP (1) EP2801154A1 (en)
CN (1) CN104115402B (en)
BR (1) BR112014020003A8 (en)
RU (1) RU2014137144A (en)
WO (1) WO2013120516A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6211695B1 (en) * 1999-01-21 2001-04-03 Vantis Corporation FPGA integrated circuit having embedded SRAM memory blocks with registered address and data input sections
US6353332B1 (en) * 2000-02-07 2002-03-05 Xilinx, Inc. Methods for implementing CAM functions using dual-port RAM
US7380053B2 (en) * 2005-03-17 2008-05-27 International Business Machines Corporation Method and system for emulating content-addressable memory primitives
US7589555B1 (en) * 2007-01-08 2009-09-15 Altera Corporation Variable sized soft memory macros in structured cell arrays, and related methods
US7483283B2 (en) * 2007-03-30 2009-01-27 Motorola, Inc. Apparatus for efficient streaming data access on reconfigurable hardware and method for automatic generation thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2013120516A1 *

Also Published As

Publication number Publication date
RU2014137144A (en) 2016-04-10
WO2013120516A1 (en) 2013-08-22
CN104115402B (en) 2017-03-15
CN104115402A (en) 2014-10-22
BR112014020003A2 (en) 2017-06-20
BR112014020003A8 (en) 2017-07-11

Similar Documents

Publication Publication Date Title
DE3785780T2 (en) Method and circuit arrangement for clock synchronization in a local network with bus structure.
DE1774513A1 (en) Circuit arrangement for determining the priority ratio between several request signals for program-controlled data processing systems
DE1437576B2 (en) Method for displaying changes in the operating status of message routes arranged in groups
DE2722124A1 (en) ARRANGEMENT FOR DETERMINING THE PRIORITY RANK IN A DP SYSTEM
DE1474062B2 (en) DATA PROCESSING SYSTEM WITH A NUMBER OF BUFFER MEMORIES
DE1147989B (en) Circuit arrangement for a selection device in telecommunications, preferably telephone systems with time division
DE2456709A1 (en) CIRCUIT FOR ERROR DETECTION AND CORRECTION
DE2357654C2 (en) Associative memory
DE1524202B1 (en) Circuit arrangement for program-controlled data transmission from several branch offices via long-distance lines to a central office
EP2801154A1 (en) Field-programmable logic gate arrangement
EP0709807B1 (en) Method for finding solutions for the association problem in multiple-moving-target tracking
DE1199374B (en) Number-controlled follow-up control device
DE69800095T2 (en) Fast semaphore register with a safe working method without a specific bus protocol
DE1462400B2 (en) Storage system for data processing systems in telecommunications, in particular program-controlled telephone exchange systems
DE1774849C3 (en) Addressing device for a memory section chain
DE2705190C3 (en) Circuit arrangement for monitoring signal lines in telecommunication systems, in particular telephone systems
EP2826227B1 (en) Method for operating a network
DE1487588C3 (en) Circuit arrangement for a telecommunications switching system with dial-up operation
DE1562137C3 (en) Arrangement for the cyclical assignment of different types of connection devices in switching systems, in particular in telephone switching systems
DE1762609A1 (en) Electronic scanner
DE2459933A1 (en) LOGICAL CONTROL SYSTEM
DE1437515B2 (en) Circuit arrangement to reduce the influence of internal blockages in centrally controlled telecommunications systems
DE1537819C3 (en) Circuit arrangement for querying subscriber stations for their operating status, in particular for time division multiplex switching systems
DE2202447C3 (en) Circuit arrangement for telecommunication switching systems, in particular telephone switching systems, with devices for fault localization
DE1931737C3 (en) Connection device for a centrally controlled telecommunication system, in particular a telephone exchange

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20140805

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SIEMENS AKTIENGESELLSCHAFT

17Q First examination report despatched

Effective date: 20171106

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20180317