WO2013120516A1 - Feldprogrammierbare logik-gatter-anordnung - Google Patents

Feldprogrammierbare logik-gatter-anordnung Download PDF

Info

Publication number
WO2013120516A1
WO2013120516A1 PCT/EP2012/052549 EP2012052549W WO2013120516A1 WO 2013120516 A1 WO2013120516 A1 WO 2013120516A1 EP 2012052549 W EP2012052549 W EP 2012052549W WO 2013120516 A1 WO2013120516 A1 WO 2013120516A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
address
memory cell
ports
port
Prior art date
Application number
PCT/EP2012/052549
Other languages
English (en)
French (fr)
Inventor
Holger Heine
Stephan Jorra
Harald Kapp
Original Assignee
Siemens Aktiengesellschaft
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 Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to EP12704770.2A priority Critical patent/EP2801154A1/de
Priority to RU2014137144A priority patent/RU2014137144A/ru
Priority to PCT/EP2012/052549 priority patent/WO2013120516A1/de
Priority to BR112014020003A priority patent/BR112014020003A8/pt
Priority to CN201280069650.0A priority patent/CN104115402B/zh
Publication of WO2013120516A1 publication Critical patent/WO2013120516A1/de

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

Die Erfindung bezieht sich u. a. auf eine feldprogrammierbare Logik-Gatter-Anordnung (10). Erfindungsgemäß ist vorgesehen ein Dualport- oder Multiport-Speicherbaustein (20) mit einer vorgegebenen Anzahl an Ports, die eine parallele Abfrage des Speicherbausteins (20) ermöglichen, und eine Ausleseeinrichtung (30), die geeignet ist, Speicherzellen des Dualport- oder Multiport-Speicherbausteins (20) an zumindest zwei Ports des Speicherbausteins (20) parallel auszulesen, die an den zumindest zwei Ports ausgegebenen Speicherinhalte (I(A1), I(A2)) parallel mit einem vorgegebenen Speicherinhalt (I-1, I-n) zu vergleichen und bei Übereinstimmung der Speicherinhalte ein die Übereinstimmung signalisierendes Ergebnissignal (S1-S4) und/oder die korrespondierende Speicherzellenadresse der den vorgegebenen Speicherinhalt (I-1, I-n) aufweisenden Speicherzelle auszugeben.

Description

Beschreibung
Feldprogrammierbare Logik-Gatter-Anordnung Die Erfindung bezieht sich auf eine feldprogrammierbare Lo¬ gik-Gatter-Anordnung .
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.
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.
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.
Die Ausleseeinrichtung wird in der Logik-Gatter-Anordnung vorzugsweise durch Programmierung gebildet.
Der Dualport- oder Multiport-Speicherbaustein ist vorzugsweise in der Logik-Gatter-Anordnung monolithisch integriert. Alternativ kann er durch Programmierung gebildet sein.
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.
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ählten
Speicherzellenadressen anliegen und wobei jede Auswerteinrichtung ausgangsseitig diejenige Speicherzellenadresse aus¬ gibt, für die der Speicherinhalt mit dem individuell eingege¬ benen Speicherinhalt identisch ist.
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.
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.
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.
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.
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.
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.
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.
Die Erfindung wird nachfolgend anhand eines Ausführungsbei¬ spiels näher erläutert; dabei zeigen beispielhaft:
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
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 .
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.
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.
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 .
Der Adresszähler 40 weist einen binär zählenden Zähler 41, einen Multiplexer 42 und einen Komparator 43 auf.
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.
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.
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 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:
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"
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.
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.
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 :
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.
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 .
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.
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.
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.
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.
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.
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.
Die Auswerteinrichtung 50-1 kann beispielsweise wie folgt be¬ trieben werden:
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".
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".
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:
ST1 = "0" und ST2 = "0" => Sl ST1 = "0" und ST2 = "1" => S2
ST1 = "1" und 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.
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.
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.
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.
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 ersten
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.
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.
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 .
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.
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.
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.
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.
Die Komparatoreinheit 52 gemäß Figur 1 kann mit der Kompara- toreinheit 51 gemäß Figur 2 identisch bzw. oder baugleich sein.
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 .
Bezugs zeichenliste
10 Logik-Gatter-Anordnung
20 Dualport-Speicherbaustein 21 erster Eingangsport
22 erster Ausgangsport
23 zweiter Eingangsport
24 zweiter Ausgangsport
30 Ausleseeinrichtung
40 Adresszähler
40a erster Adressausgang
40b zweiter Adressausgang
40c erster Eingang
40d zweiter Eingang
41 Zähler
42 Multiplexer
43 Komparator
44 Steuerleitung
50-1 Auswerteinrichtung
50-n Auswerteinrichtung
50a erster Eingang
50b zweiter Eingang
51 erste Komparatoreinheit
52 zweite Komparatoreinheit
53 Multiplexer
100 Speicherbaustein
110 Programmcode
511 Komparator
512 UND-Glied
AI erste Speicherzellenadresse
A2 zweite Speicherzellenadresse
A50 Ausgang der Auswerteinrichtung
A53 Ausgang des Multiplexers Bsl Signalbilder
Bs2 Signalbilder
Bs3 Signalbilder
Bs4 Signalbilder 150-1 Anschluss
I50-n Anschluss
1-1 Speieherinhalt
I-n Speieherinhalt
I (AI) Speieherinhalt
I (A2) Speieherinhalt
IB-1 bis IB- Informationsbit
IV- 1 bis IV- Informationsbit
LSB geringwertigste Adressbit
Sl Signal
S2 Signal
S3 Signal
S4 Signal
ST1 Steuersignal
ST2 Steuersignal
V- l bis V-q Vergleichssignal
W Wahrheitstabeile
Z Zählerstand
Zmin Minimal Zählerstand
Zmax Maximal Zählerstand

Claims

Patentansprüche
1. Feldprogrammierbare Logik-Gatter-Anordnung (10),
g e k e n n z e i c h n e t durch
- einen Dualport- oder Multiport-Speicherbaustein (20) mit einer vorgegebenen Anzahl an Ports, die eine parallele Ab¬ frage des Speicherbausteins (20) ermöglichen, und
- 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 .
2. Anordnung nach Anspruch 1,
d a d u r c h g e k e n n z e i c h n e t, dass
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.
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
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.
4. 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
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.
5. 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
die Ausleseeinrichtung (30) mindestens eine Auswerteinrichtung (50-1, 50-n) aufweist, an der eingangsseitig die von dem Speicherbaustein (20) ausgegebenen Speicherinhalte (I(A1),
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.
6. 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
- die Ausleseeinrichtung (30) eine Mehrzahl an Eingängen
(150-1, I50-n) aufweist, in die jeweils ein individueller
Speicherinhalt (1-1, I-n) eingegeben werden kann und denen jeweils eine anschlussindividuelle Auswerteinrichtung (50- 1, 50-n) zugeordnet ist,
- wobei an jeder Auswerteinrichtung (50-1, 50-n) eingangs- seitig die von dem Speicherbaustein (20) ausgegebenen
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.
7. 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
die Startadresse und die Endadresse des zu durchsuchenden Speicherzellenbereichs in dem Speicherbaustein (20) abgespei- chert ist.
8. 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
- der Speicherbaustein (20) ein Dualport-Speicherbaustein mit zwei Ports ist, die eine parallele Abfrage des Spei¬ cherbausteins ermöglichen, und
- 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 .
9. Anordnung nach Anspruch 8,
d a d u r c h g e k e n n z e i c h n e t, dass
das mit einer logischen "Eins" oder einer logischen "Null" fest vorbelegte Adressbit das geringwertigste Adressbit (LSB) ist .
10. Verfahren zum Betreiben einer feldprogrammierbaren Logik- Gatter-Anordnung,
d a d u r c h g e k e n n z e i c h n e t, dass
- 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,
- 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.
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
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,
- 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
- 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.
12. Anordnung mit einem Speicherbaustein nach Anspruch 11 und einer feldprogrammierbare Logik-Gatter-Anordnung nach einem der voranstehenden Ansprüche 1-9.
PCT/EP2012/052549 2012-02-15 2012-02-15 Feldprogrammierbare logik-gatter-anordnung WO2013120516A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP12704770.2A EP2801154A1 (de) 2012-02-15 2012-02-15 Feldprogrammierbare logik-gatter-anordnung
RU2014137144A RU2014137144A (ru) 2012-02-15 2012-02-15 Программируемая пользователем логическая матрица
PCT/EP2012/052549 WO2013120516A1 (de) 2012-02-15 2012-02-15 Feldprogrammierbare logik-gatter-anordnung
BR112014020003A BR112014020003A8 (pt) 2012-02-15 2012-02-15 Arranjo de acesso lógico, método para operar um arranjo de acesso lógico, e, chip de memória
CN201280069650.0A CN104115402B (zh) 2012-02-15 2012-02-15 现场可编程逻辑门控阵列

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2012/052549 WO2013120516A1 (de) 2012-02-15 2012-02-15 Feldprogrammierbare logik-gatter-anordnung

Publications (1)

Publication Number Publication Date
WO2013120516A1 true WO2013120516A1 (de) 2013-08-22

Family

ID=45688477

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2012/052549 WO2013120516A1 (de) 2012-02-15 2012-02-15 Feldprogrammierbare logik-gatter-anordnung

Country Status (5)

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

Citations (4)

* 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
US20060212648A1 (en) * 2005-03-17 2006-09-21 International Business Machines Corporation Method and system for emulating content-addressable memory primitives
US20080244169A1 (en) * 2007-03-30 2008-10-02 Motorola, Inc. Apparatus for Efficient Streaming Data Access on Reconfigurable Hardware and Method for Automatic Generation Thereof

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7589555B1 (en) * 2007-01-08 2009-09-15 Altera Corporation Variable sized soft memory macros in structured cell arrays, and related methods

Patent Citations (4)

* 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
US20060212648A1 (en) * 2005-03-17 2006-09-21 International Business Machines Corporation Method and system for emulating content-addressable memory primitives
US20080244169A1 (en) * 2007-03-30 2008-10-02 Motorola, Inc. Apparatus for Efficient Streaming Data Access on Reconfigurable Hardware and Method for Automatic Generation Thereof

Also Published As

Publication number Publication date
RU2014137144A (ru) 2016-04-10
CN104115402B (zh) 2017-03-15
CN104115402A (zh) 2014-10-22
EP2801154A1 (de) 2014-11-12
BR112014020003A2 (de) 2017-06-20
BR112014020003A8 (pt) 2017-07-11

Similar Documents

Publication Publication Date Title
DE1774513A1 (de) Schaltungsanordnung zur Bestimmung des Vorrangverhaeltnisses zwischen mehreren Anforderungssignalen fuer programmgesteuerte Datenverarbeitungsanlagen
DE1437576B2 (de) Verfahren zur Anzeige von Änderungen des Betriebszustandes von in Gruppen angeordneten Nachrichtenwegen
DE2722124A1 (de) Anordnung zum feststellen des prioritaetsranges in einem dv-system
DE1147989B (de) Schaltungsanordnung fuer eine Auswahleinrichtung in Fernmelde-, vorzugsweise Fernsprechanlagen mit Zeitvielfachbetrieb
DE2456709A1 (de) Schaltung zur fehlererkennung und -korrektur
DE2357654C2 (de) Assoziativspeicher
DE1524202B1 (de) Schaltungsanordnung zur programmgesteuerten Datenuebertragung von mehreren Aussenstellen ueber Fernleitungen zu einer Zentralstelle
EP0709807B1 (de) Verfahren zur Ermittlung von Lösungen für das Assoziationsproblem bei der Bahnverfolgung mehrerer sich bewegender Objekte
WO2013120516A1 (de) Feldprogrammierbare logik-gatter-anordnung
DE1199374B (de) Zifferngesteuerte Nachlaufregeleinrichtung
DE69800095T2 (de) Schnelles Semaphoreregister mit einer sicheren Arbeitsweise ohne spezifisches Busprotokoll
DE1774849C3 (de) Adressierungseinrichtung für eine Speicherabschnittkette
DE1462400B2 (de) Speichersystem für Datenverarbeitungsanlagen in Fernmelde-, insbesondere programmgesteuerten Fernsprechvermittlungsanlagen
DE2014729C3 (de) Datenverarbeitungssystem mit Einrichtungen zur Fehlerermittlung und zur Systemumkonfiguration unter Ausschluß fehlerhafter Systemeinheiten
EP2826227B1 (de) Verfahren zum betreiben eines netzwerks
DE2705190C3 (de) Schaltungsanordnung zur Überwachung von Signalleitungen in Fernmelde-, insbesondere Fernsprechanlagen
DE1562137C3 (de) Anordnung zum zyklischen Belegen von verschiedenartigen Verbindungseinrichtungen in Vermittlungs-, insbesondere in Fernsprechvermittlungsanlagen
DE2459933A1 (de) Logisches steuersystem
DE1762609A1 (de) Elektronischer Abtaster
DE1437515B2 (de) Schaltungsanordnung zur Verminderung des Einflusses innerer Blockierungen in zentralgesteuerten Fernmeldeanlagen
DE1537819C3 (de) Schaltungsanordnung zum Abfragen von Teilnehmerstellen auf ihren Betriebszustand, insbesondere für Zeitmultiplex -Vermittlungsanlagen
DE2202447C3 (de) Schaltungsanordnung für Fernmeldevermlttlungsanlagen, insbesondere Fernsprechvermittlungsanlagen, mit Einrichtungen zur Fehlerlokalisierung
DE1931737C3 (de) Verbindungseinrichtung für eine zentral gesteuerte Fernmelde-, insbesondere Fernsprechvermittlungsanlage
DE102012203958A1 (de) Verfahren zum Betreiben eines Netzwerks
DE2506337C2 (de) Verfahren zur Prüfung einer zentral gesteuerten Vermittlungsanlage

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12704770

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012704770

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2014137144

Country of ref document: RU

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112014020003

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112014020003

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20140812