EP1402340A2 - First-in, first-out memory system and method thereof - Google Patents

First-in, first-out memory system and method thereof

Info

Publication number
EP1402340A2
EP1402340A2 EP02734283A EP02734283A EP1402340A2 EP 1402340 A2 EP1402340 A2 EP 1402340A2 EP 02734283 A EP02734283 A EP 02734283A EP 02734283 A EP02734283 A EP 02734283A EP 1402340 A2 EP1402340 A2 EP 1402340A2
Authority
EP
European Patent Office
Prior art keywords
data
fifo
multiplexer
input terminal
fifo memory
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.)
Granted
Application number
EP02734283A
Other languages
German (de)
French (fr)
Other versions
EP1402340B1 (en
Inventor
John J. Kim
Richard G. Collins
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.)
NXP USA Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of EP1402340A2 publication Critical patent/EP1402340A2/en
Application granted granted Critical
Publication of EP1402340B1 publication Critical patent/EP1402340B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Definitions

  • This invention relates generally to integrated circuits having memory system storage, and more specifically, to integrated circuits which utilize First-ln, First-Out (FIFO) memory structures.
  • FIFO First-ln, First-Out
  • a first-in, first-out (FIFO) memory system is generally used to temporarily store the debug messages. Some of the messages may have multiple entries that need to be stored simultaneously and others need to be stored singly.
  • a dual port FIFO In order to store both kinds of messages in the same FIFO structure, a dual port FIFO may be used or separate, dedicated FIFOs may be used.
  • a dual port FIFO requires a large surface area to implement because multiplexers are required on every entry of the FIFO to allow storage of both message types. Also, the large number of multiplexers requires a significant amount of logic to control the multiplexer select lines, with a corresponding increase in power consumption due to logic switching.
  • Another way to implement the FIFO memory system is to use two separate dedicated FIFOs. For example, one FIFO may receive only address information and the other FIFO may receive only data. This has the advantages of smaller surface area on an integrated circuit and less design complexity. However, it may lead to less efficient FIFO utilization when compared to the dual port FIFO because one of the FIFOs can become full and overflow while the other FIFO is not full.
  • FIG. 1 illustrates in block diagram form a first-in, first-out memory system in accordance with an embodiment of the present invention
  • FIG. 2 illustrates in block diagram form further detail of the first-in, first-out memory system of FIG. 1.
  • FIG. 1 Illustrated in FIG. 1 is a first-in, first-out (FIFO) Memory System 10 in accordance with the present invention.
  • FIFO Memory System 10 has two FIFOs, illustrated as a FIFO A and a FIFO B. It should be well understood that FIFO Memory System 10 may be implemented with any number of FIFOs.
  • Each of FIFO A and FIFO B may have an arbitrary number of storage entries. Assume that FIFO A has N entries and FIFO B has M entries, where N and M are integer values.
  • An Input A is connected to a first input of a Multiplexer 12 and to a first input of a Multiplexer 14.
  • An Input B is connected to a second input of Multiplexer 12 and to a second input of Multiplexer 14.
  • a D-type Flip-Flop 16 provided at an output of flip-flop 16 provides a WRITE signal that is connected to a control input of each of Multiplexer 12 and Multiplexer 14.
  • the output of Flip-Flop 16 is connected to an input of an Inverter 18.
  • An output of Inverter 18 is connected to a D input of Flip-Flop 16.
  • An output of Multiplexer 12 is connected to each entry, such as entry 0, entry 1 through entry N, of FIFO A.
  • An output of Multiplexer 14 is connected to each entry, such as entry 0, entry 1 through entry M, of FIFO B.
  • Each entry of FIFO A also has an output terminal that is connected together and connected to a first input of Multiplexer 20.
  • Each entry of FIFO B also has an output terminal that is connected together and connected to a first input of Multiplexer 22.
  • the output terminal of FIFO A is also connected to a second input of Multiplexer 20.
  • the output terminal of FIFO B is also connected to a second input of Multiplexer 20.
  • a D-type Flip-Flop 23 has a Q output for providing a READ control signal that is connected to a control terminal of each of Multiplexer 20 and Multiplexer 22.
  • the output of Flip-Flop 23 is connected to an input of an Inverter 24.
  • An output of Multiplexer 20 is connected to a first input of an Input/Output (I/O) unit 25.
  • An output of Multiplexer 22 is connected to a second input of the Input/Output unit 25.
  • the input/output unit interfaces with an I/O terminal (not shown).
  • FIFO Memory System 10 is capable of writing multiple entries simultaneously in an efficient manner.
  • a single multiplexer such as either Multiplexer 12 or Multiplexer 14 is placed at each write port, or input terminal, of either FIFO A or FIFO B, respectively.
  • information in the form of packets is received at Input A and Input B.
  • a single packet or portion of data may be written to only one of FIFO A or FIFO B from either Input A or Input B in a manner as described below in connection with FIG. 2.
  • two packets or portions of data from Input A and Input B may be written to FIFO A and FIFO B at the same time.
  • Flip-flop 16 functions as a one-bit write register and the WRITE control signal is used to point to one of FIFO A or FIFO B.
  • the WRITE control signal has a logic one value
  • Multiplexer 12 selects Input A to provide as an output
  • Multiplexer 14 selects Input B to provide as an output.
  • the WRITE control signal has a logic zero value
  • Multiplexer 12 selects Input B to provide as an output
  • Multiplexer 14 selects Input A to provide as an output.
  • Inverter 18 functions to flip the logic state of Flip-Flop 16 every time that a single entry write operation occurs as controlled by a write clocking signal (not shown) which is connected to a clock input (not shown) of Flip- Flop 16. Additionally, should an operation in FIFO Memory System 10 be required to perform two write operations simultaneously, the logic state of Flip-Flop 16 remains the same. For simultaneous writing, information from each of Input A and Input B may be written or information successively coupled on only one of Input A or Input B may be written to FIFO A and FIFO f B.
  • Flip-Flop 23 functions as a one-bit read register and the READ control signal is used to point to one of FIFO A or FIFO B.
  • the READ control signal has a logic one value
  • Multiplexer 20 selects the output of FIFO A to provide as an output
  • Multiplexer 22 selects the output of FIFO B to provide as an output.
  • the READ control signal has a logic zero value
  • Multiplexer 20 selects the output of FIFO B to provide as an output
  • Multiplexer 22 selects the output of FIFO A to provide as an output.
  • the READ control signal is generated in response to a read clocking signal (not shown) that is connected to a clock input (not shown) of Flip- Flop 23.
  • Inverter 24 functions to flip the logic state of the flip-flops every time that a single read operation occurs. Additionally, when two read operations occur simultaneously the logic state of Flip-Flop 23 remains the same. Flip-Flop 23, Inverter 24 and Multiplexers 20 and 22 function to permit the reading of two packets or portions of data from FIFO A and FIFO B at the same time. In addition, a single packet or portion of data may be read from either FIFO via the output from either Multiplexer 20 or Multiplexer 22. Therefore, FIFO Memory System 10 is very efficient for storing multiple entries simultaneously in order to implement certain processing operations and for storing single entries when implementing other processing operations because the same FIFO memory structure may be used to accomplish both types of operations.
  • the use of only a single multiplexer circuit for each FIFO to accomplish a write operation to each FIFO represents a significant cost savings. Additional control circuitry is avoided in addition to avoiding a multiplexer per FIFO entry. As a result, a noticeable savings in power consumption is provided due to the few number of multiplexers that are used. Additional power savings also result from reduced control circuitry not needed when multiplexers are eliminated.
  • the present invention is also scalable to use multiple FIFOs wherein only one multiplexer per FIFO is required to implement single and concurrent write operations in the system and only one multiplexer per FIFO is required to implement signal and concurrent read operations in the system.
  • Input A and Input B may receive and store information in the form of data, address information, control information or a combination of two or more. Additionally, the word "data" may encompass all types of information that is stored in the illustrated FIFOs. Illustrated in FIG. 2 in more detail is one embodiment of the
  • a FIFO Memory System 30 again has an Input A and an Input B for receiving information to be stored in one of FIFO A or FIFO B, or both.
  • a Multiplexer 32 has a first input connected to Input A and has a second input connected to Input B.
  • a Multiplexer 34 has a first input connected to Input A and has a second input connected to Input B.
  • An output of Multiplexer 32 is connected to each of a plurality of N entries of FIFO A.
  • a first entry of FIFO A has a plurality of flip-flop circuits, such as Flip-Flops 35-38.
  • An Nth entry of FIFO A has a plurality of flip-flop circuits, such as Flip- Flops 45-48.
  • Each of Flip-Flops 35-38 and 45-48 has a D input connected to the output of Multiplexer 32.
  • Each of Flip-Flops 35- 38 has a Q output connected to a first input of an AND gate 50.
  • a second input of AND gate 50 is connected to a READ ENABLE A(0) signal, meaning the first Read Enable signal of FIFO A.
  • An AND gate 51 has a first input for receiving a Clock signal, a second input for receiving a WRITE ENABLE A(0) signal (meaning the first Write Enable signal for FIFO A), and an output connected to each clock input of Flip-Flops 35-38.
  • Each of Flip- Flops 45-49 has a Q output connected to a first input of an AND gate 53.
  • a second input of AND gate 53 is connected to a READ ENABLE A(N) signal, meaning the Nth Read Enable signal of FIFO A.
  • An AND gate 55 has a first input for receiving the Clock signal, a second input for receiving a WRITE ENABLE AN signal (meaning the Nth Write Enable signal for FIFO A), and an output connected to each clock input of flip-flops 45-48.
  • An output of AND gate 50 is connected to an output of AND gate 53, to a first input of a Multiplexer 60 and to a first input of a Multiplexer 62.
  • An output of Multiplexer 60 is connected to a first input of an Input/Output (I/O) unit 64.
  • I/O Input/Output
  • An output of Multiplexer 34 is connected to each of a plurality of M entries of FIFO B.
  • a first entry of FIFO B has a plurality of flip-flop circuits, such as Flip-Flops 70-73.
  • An Mth entry of FIFO B has a plurality of flip-flop circuits, such as flip- flops 75-78.
  • Each of Flip-Flops 70-73 and 75-78 has a D input connected to the output of Multiplexer 34.
  • Each of Flip-Flops 70- 73 has a Q output connected to a first input of an AND gate 80.
  • a second input of AND gate 80 is connected to a READ ENABLE B(0) signal, meaning the first Read Enable signal of FIFO B.
  • An AND gate 81 has a first input for receiving the Clock signal, a second input for receiving a WRITE ENABLE B(0) signal (meaning the first Write Enable signal for FIFO B), and an output connected to each clock input of Flip-Flops 70-73.
  • Each of Flip-Flops 75-79 has a Q output connected to a first input of an AND gate 83.
  • a second input of AND gate 83 is connected to a READ ENABLE B(M) signal, meaning the Mth Read Enable signal of FIFO B.
  • An AND gate 85 has a first input for receiving the Clock signal, a second input for receiving a WRITE ENABLE B(M) signal (meaning the Mth Write Enable signal for FIFO B), and an output connected to each clock input of Flip-Flops 75-78.
  • An output of AND gate 80 is connected to an output of AND gate 83, to a second input of a Multiplexer 60 and to a second input of a Multiplexer 62.
  • An output of Multiplexer 62 is connected to a second input of an Input/Output (I/O) unit 64.
  • the Input/Output unit 64 has an output that is connected to an output port. In one form, the output of Input/Output unit 64 is connected to a Nexus- compliant software tool for debugging purposes in implementing the IEEE ISTO 5001 standard. Additionally, FIFO Memory System 30 has a Head Counter
  • FIFO Memory System 30 has a Head Counter 93, a Tail Counter Circuit 94, Write Control Logic Circuitry 95 and Read Control Logic Circuitry 96. Head Counter 88 and Tail Counter 89 have an output respectively connected to an input of Write Control Logic Circuitry 90 and Read Control Logic Circuitry 91.
  • An output of Write Control Logic Circuitry 90 provides a Write Enable signal for FIFO A, and a first output of Read Control Logic Circuitry 91 provides a Read Enable signal for FIFO A.
  • Head Counter 93 and Tail Counter 94 have an output respectively connected to an input of Write Control Logic Circuitry 95 and Read Control Logic Circuitry 96.
  • An output of Write Control Logic Circuitry 95 provides a write enable signal for FIFO B, and a first output of Read Control Logic Circuitry 96 provides a read enable signal for FIFO B.
  • a second output of Read Control Logic Circuitry 96 is connected to a second input of Write Control Logic Circuitry 95.
  • a Simultaneous Entry Logic Circuit 100 has an output connected to a second input of Read Control Logic Circuitry 91 , to a second input of Write Control Logic Circuitry 90, to a second input of Write Control Logic Circuitry 95, to a first input of an AND gate 101 , to a first input of an AND gate 102 and to a second input of Read Control Logic Circuitry 96.
  • the Clock signal is connected to a second input of each of AND gate 101 and AND gate 102.
  • An output of AND gate 101 is connected to a clock input of a Flip- Flop 105.
  • a Q output of Flip-Flop 105 provides a READ signal and is connected to an input of an inverter 106.
  • An output of Inverter 106 is connected to a D input of Flip-Flop 105.
  • An output of AND gate 102 is connected to a clock input of a Flip-Flop 108.
  • a Q output of Flip-Flop 108 provides a WRITE signal and is connected to an input of an Inverter 109.
  • An output of Inverter 109 is connected to a D input of Flip-Flop 108.
  • FIFO A and FIFO B have specific entries using a plurality of flip-flop circuits such as Flip-Flops 35-38 for the first entry of FIFO A.
  • the clock signal illustrated in FIG. 2 is a synchronous clock that is generated independently of the circuitry illustrated; the same clock signal is used for all clock inputs described.
  • the Input A is passed to its output.
  • the Input B is passed to its output.
  • Multiplexer 34 receives the WRITE control signal in a logic one state, the Input B is passed to its output.
  • Multiplexer 34 When Multiplexer 34 receives the WRITE control signal in a logic zero state, the Input A is passed to its output. Similarly, when the READ control signal is in a logic one state, Multiplexer 60 passes the output of FIFO A and Multiplexer 62 passes the output of FIFO B. When the READ control signal is in a logic zero state, Multiplexer 60 passes the output of FIFO B and Multiplexer 62 passes the output of FIFO A.
  • Head Counter 88 functions to keep a sequential count value that points to a designated beginning entry in FIFO A and Tail Counter 89 functions to keep a sequential count value that points to a designated last entry in FIFO A.
  • FIFO A functions as a circular queue that has a beginning address and an ending address that wraps back around to the beginning address.
  • the Write Control Logic Circuitry 90 and Read Control Logic Circuitry 91 are associated with FIFO A and use the Head Counter and the Tail Counter to control, in part, when a write or a read operation should be enabled.
  • the outputs of Write Control Logic Circuitry 90 and Read Control Logic Circuitry 91 are multiple conductors, each of which correspond to a particular entry of FIFO A.
  • Head Counter 88 and Tail Counter 89 function as a pointer to FIFO A as these two outputs determine which entry within FIFO A is either written to or read from, respectively.
  • the analogous operation occurs for FIFO B in connection with Head Counter 93, Tail Counter 94, Write Control Logic Circuitry 95 and Read Control Logic Circuitry 96.
  • the Simultaneous Entry Logic 100 functions to detect when in FIFO Memory System 30 a simultaneous write operation to both FIFOs A and B should occur, when a simultaneous read operation to both FIFOs A and B should occur, when a write operation to one of FIFO A or B with a read operation of the other FIFO should occur, when a read operation of one entry of one of FIFOs A or B should occur with a write operation of another entry of the same FIFO, and when a write operation to both FIFOs A and B should occur at the same time a read operation of different entries in both FIFOs A and B is occurring.
  • a processor may direct that simultaneous multiple FIFO operations should occur.
  • data that is being communicated with FIFO A and FIFO B is a real time debug message in connection with a data processing debug function.
  • Simultaneous entry operation is implemented through the generation of multiple Read and Write enable signals for one or more of the FIFOs. If there is a simultaneous entry event, AND gates 101 and 102 become inactive thus disabling the clock to Flip-Flops 105 and 108. The disabling of Flip-Flops 105 and 108 prevents the toggling operation of Multiplexers 32 and 34 between FIFOs A and B in the manner previously discussed in connection with FIG. 1.
  • the disabling of the toggling operation permits the next entry access to occur with the same FIFO before the simultaneous entry event began.
  • the FIFO memory system taught herein is compact and provides cost and power savings.
  • the present invention is particularly advantageous for debug circuitry commonly implemented in processing systems. Because multiple information entries need to be stored simultaneously, the control and circuitry associated with this function is greatly reduced by the use of the present invention. It should be well understood that the present invention may be used in processing systems utilizing a FIFO storage structure for purposes other than in connection with debug. Additionally, the present invention may be implemented with any type of transistors and with any type of semiconductor manufacturing process.

Abstract

A first-in, first-out (FIFO) memory system (10) includes first and second FIFOs (A and B). First and second multiplexers (12, 14) each have two input terminals for receiving data. An output terminal of the first multiplexer (12) is coupled to the first FIFO (A) and an output terminal of the second multiplexer (14) is coupled to the second FIFO (B). In response to the data being one data type, write control logic (90, 95, 100) is used to cause the data to be alternately written to the first and second FIFOs (A, B). In response to the data being a second data type, write control logic (90, 95, 100) is used to cause the data to be simultaneously written to the first and second FIFOs (A, B).

Description

FIRST-IN, FIRST-OUT MEMORY SYSTEM AND METHOD
THEREOF
Field of the Invention
This invention relates generally to integrated circuits having memory system storage, and more specifically, to integrated circuits which utilize First-ln, First-Out (FIFO) memory structures.
Background of the Invention
In a real time debug system implemented on an integrated circuit data processing system, it is necessary to first store the debug messages before outputting the messages to a debugging tool. A first-in, first-out (FIFO) memory system is generally used to temporarily store the debug messages. Some of the messages may have multiple entries that need to be stored simultaneously and others need to be stored singly.
In order to store both kinds of messages in the same FIFO structure, a dual port FIFO may be used or separate, dedicated FIFOs may be used. However, a dual port FIFO requires a large surface area to implement because multiplexers are required on every entry of the FIFO to allow storage of both message types. Also, the large number of multiplexers requires a significant amount of logic to control the multiplexer select lines, with a corresponding increase in power consumption due to logic switching. Another way to implement the FIFO memory system is to use two separate dedicated FIFOs. For example, one FIFO may receive only address information and the other FIFO may receive only data. This has the advantages of smaller surface area on an integrated circuit and less design complexity. However, it may lead to less efficient FIFO utilization when compared to the dual port FIFO because one of the FIFOs can become full and overflow while the other FIFO is not full.
Therefore, it would be desirable to have a FIFO memory system that makes efficient use of its storage area while also minimizing the control logic necessary to implement it.
Brief Description of the Drawings
The present invention is illustrated by way of example and not limitation in the accompanying figures, in which like references indicate similar elements.
FIG. 1 illustrates in block diagram form a first-in, first-out memory system in accordance with an embodiment of the present invention; and
FIG. 2 illustrates in block diagram form further detail of the first-in, first-out memory system of FIG. 1.
Skilled artisans appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help improve the understanding of the embodiments of the present invention.
Detailed Description
Illustrated in FIG. 1 is a first-in, first-out (FIFO) Memory System 10 in accordance with the present invention. In one form, FIFO Memory System 10 has two FIFOs, illustrated as a FIFO A and a FIFO B. It should be well understood that FIFO Memory System 10 may be implemented with any number of FIFOs. Each of FIFO A and FIFO B may have an arbitrary number of storage entries. Assume that FIFO A has N entries and FIFO B has M entries, where N and M are integer values. An Input A is connected to a first input of a Multiplexer 12 and to a first input of a Multiplexer 14. An Input B is connected to a second input of Multiplexer 12 and to a second input of Multiplexer 14. A D-type Flip-Flop 16 provided at an output of flip-flop 16 provides a WRITE signal that is connected to a control input of each of Multiplexer 12 and Multiplexer 14. The output of Flip-Flop 16 is connected to an input of an Inverter 18. An output of Inverter 18 is connected to a D input of Flip-Flop 16. An output of Multiplexer 12 is connected to each entry, such as entry 0, entry 1 through entry N, of FIFO A. An output of Multiplexer 14 is connected to each entry, such as entry 0, entry 1 through entry M, of FIFO B. Each entry of FIFO A also has an output terminal that is connected together and connected to a first input of Multiplexer 20. Each entry of FIFO B also has an output terminal that is connected together and connected to a first input of Multiplexer 22. The output terminal of FIFO A is also connected to a second input of Multiplexer 20. The output terminal of FIFO B is also connected to a second input of Multiplexer 20. A D-type Flip-Flop 23 has a Q output for providing a READ control signal that is connected to a control terminal of each of Multiplexer 20 and Multiplexer 22. The output of Flip-Flop 23 is connected to an input of an Inverter 24. An output of Multiplexer 20 is connected to a first input of an Input/Output (I/O) unit 25. An output of Multiplexer 22 is connected to a second input of the Input/Output unit 25. The input/output unit interfaces with an I/O terminal (not shown).
In operation, FIFO Memory System 10 is capable of writing multiple entries simultaneously in an efficient manner. A single multiplexer, such as either Multiplexer 12 or Multiplexer 14 is placed at each write port, or input terminal, of either FIFO A or FIFO B, respectively. Assume for the purpose of explanation that information in the form of packets is received at Input A and Input B. A single packet or portion of data may be written to only one of FIFO A or FIFO B from either Input A or Input B in a manner as described below in connection with FIG. 2.
As illustrated in FIG. 1 , two packets or portions of data from Input A and Input B may be written to FIFO A and FIFO B at the same time. Flip-flop 16 functions as a one-bit write register and the WRITE control signal is used to point to one of FIFO A or FIFO B. When the WRITE control signal has a logic one value, Multiplexer 12 selects Input A to provide as an output and Multiplexer 14 selects Input B to provide as an output. When the WRITE control signal has a logic zero value, Multiplexer 12 selects Input B to provide as an output and Multiplexer 14 selects Input A to provide as an output. Further, Inverter 18 functions to flip the logic state of Flip-Flop 16 every time that a single entry write operation occurs as controlled by a write clocking signal (not shown) which is connected to a clock input (not shown) of Flip- Flop 16. Additionally, should an operation in FIFO Memory System 10 be required to perform two write operations simultaneously, the logic state of Flip-Flop 16 remains the same. For simultaneous writing, information from each of Input A and Input B may be written or information successively coupled on only one of Input A or Input B may be written to FIFO A and FIFO f B. In a similar manner for a single entry read operation, Flip-Flop 23 functions as a one-bit read register and the READ control signal is used to point to one of FIFO A or FIFO B. When the READ control signal has a logic one value, Multiplexer 20 selects the output of FIFO A to provide as an output and Multiplexer 22 selects the output of FIFO B to provide as an output. When the READ control signal has a logic zero value, Multiplexer 20 selects the output of FIFO B to provide as an output and Multiplexer 22 selects the output of FIFO A to provide as an output. The READ control signal is generated in response to a read clocking signal (not shown) that is connected to a clock input (not shown) of Flip- Flop 23. Further, Inverter 24 functions to flip the logic state of the flip-flops every time that a single read operation occurs. Additionally, when two read operations occur simultaneously the logic state of Flip-Flop 23 remains the same. Flip-Flop 23, Inverter 24 and Multiplexers 20 and 22 function to permit the reading of two packets or portions of data from FIFO A and FIFO B at the same time. In addition, a single packet or portion of data may be read from either FIFO via the output from either Multiplexer 20 or Multiplexer 22. Therefore, FIFO Memory System 10 is very efficient for storing multiple entries simultaneously in order to implement certain processing operations and for storing single entries when implementing other processing operations because the same FIFO memory structure may be used to accomplish both types of operations.
The use of only a single multiplexer circuit for each FIFO to accomplish a write operation to each FIFO represents a significant cost savings. Additional control circuitry is avoided in addition to avoiding a multiplexer per FIFO entry. As a result, a noticeable savings in power consumption is provided due to the few number of multiplexers that are used. Additional power savings also result from reduced control circuitry not needed when multiplexers are eliminated. The present invention is also scalable to use multiple FIFOs wherein only one multiplexer per FIFO is required to implement single and concurrent write operations in the system and only one multiplexer per FIFO is required to implement signal and concurrent read operations in the system. While only one multiplexer for supplying information to be written is connected to each FIFO, information from either Input A or Input B may be written into either FIFO A or FIFO B. It should be well understood that Input A and Input B may receive and store information in the form of data, address information, control information or a combination of two or more. Additionally, the word "data" may encompass all types of information that is stored in the illustrated FIFOs. Illustrated in FIG. 2 in more detail is one embodiment of the
FIFO Memory System 10 of FIG. 1. As illustrated in FIG. 2, a FIFO Memory System 30 again has an Input A and an Input B for receiving information to be stored in one of FIFO A or FIFO B, or both. A Multiplexer 32 has a first input connected to Input A and has a second input connected to Input B. A Multiplexer 34 has a first input connected to Input A and has a second input connected to Input B. An output of Multiplexer 32 is connected to each of a plurality of N entries of FIFO A. A first entry of FIFO A has a plurality of flip-flop circuits, such as Flip-Flops 35-38. An Nth entry of FIFO A has a plurality of flip-flop circuits, such as Flip- Flops 45-48. Each of Flip-Flops 35-38 and 45-48 has a D input connected to the output of Multiplexer 32. Each of Flip-Flops 35- 38 has a Q output connected to a first input of an AND gate 50. A second input of AND gate 50 is connected to a READ ENABLE A(0) signal, meaning the first Read Enable signal of FIFO A. An AND gate 51 has a first input for receiving a Clock signal, a second input for receiving a WRITE ENABLE A(0) signal (meaning the first Write Enable signal for FIFO A), and an output connected to each clock input of Flip-Flops 35-38. Each of Flip- Flops 45-49 has a Q output connected to a first input of an AND gate 53. A second input of AND gate 53 is connected to a READ ENABLE A(N) signal, meaning the Nth Read Enable signal of FIFO A. An AND gate 55 has a first input for receiving the Clock signal, a second input for receiving a WRITE ENABLE AN signal (meaning the Nth Write Enable signal for FIFO A), and an output connected to each clock input of flip-flops 45-48. An output of AND gate 50 is connected to an output of AND gate 53, to a first input of a Multiplexer 60 and to a first input of a Multiplexer 62. An output of Multiplexer 60 is connected to a first input of an Input/Output (I/O) unit 64.
An output of Multiplexer 34 is connected to each of a plurality of M entries of FIFO B. A first entry of FIFO B has a plurality of flip-flop circuits, such as Flip-Flops 70-73. An Mth entry of FIFO B has a plurality of flip-flop circuits, such as flip- flops 75-78. Each of Flip-Flops 70-73 and 75-78 has a D input connected to the output of Multiplexer 34. Each of Flip-Flops 70- 73 has a Q output connected to a first input of an AND gate 80. A second input of AND gate 80 is connected to a READ ENABLE B(0) signal, meaning the first Read Enable signal of FIFO B. An AND gate 81 has a first input for receiving the Clock signal, a second input for receiving a WRITE ENABLE B(0) signal (meaning the first Write Enable signal for FIFO B), and an output connected to each clock input of Flip-Flops 70-73. Each of Flip-Flops 75-79 has a Q output connected to a first input of an AND gate 83. A second input of AND gate 83 is connected to a READ ENABLE B(M) signal, meaning the Mth Read Enable signal of FIFO B. An AND gate 85 has a first input for receiving the Clock signal, a second input for receiving a WRITE ENABLE B(M) signal (meaning the Mth Write Enable signal for FIFO B), and an output connected to each clock input of Flip-Flops 75-78. An output of AND gate 80 is connected to an output of AND gate 83, to a second input of a Multiplexer 60 and to a second input of a Multiplexer 62. An output of Multiplexer 62 is connected to a second input of an Input/Output (I/O) unit 64. The Input/Output unit 64 has an output that is connected to an output port. In one form, the output of Input/Output unit 64 is connected to a Nexus- compliant software tool for debugging purposes in implementing the IEEE ISTO 5001 standard. Additionally, FIFO Memory System 30 has a Head Counter
Circuit 88, a Tail Counter Circuit 89, Write Control Logic Circuitry 90 and Read Control Logic Circuitry 91 associated with FIFO A. FIFO Memory System 30 has a Head Counter 93, a Tail Counter Circuit 94, Write Control Logic Circuitry 95 and Read Control Logic Circuitry 96. Head Counter 88 and Tail Counter 89 have an output respectively connected to an input of Write Control Logic Circuitry 90 and Read Control Logic Circuitry 91. An output of Write Control Logic Circuitry 90 provides a Write Enable signal for FIFO A, and a first output of Read Control Logic Circuitry 91 provides a Read Enable signal for FIFO A. Head Counter 93 and Tail Counter 94 have an output respectively connected to an input of Write Control Logic Circuitry 95 and Read Control Logic Circuitry 96. An output of Write Control Logic Circuitry 95 provides a write enable signal for FIFO B, and a first output of Read Control Logic Circuitry 96 provides a read enable signal for FIFO B. A second output of Read Control Logic Circuitry 96 is connected to a second input of Write Control Logic Circuitry 95. A Simultaneous Entry Logic Circuit 100 has an output connected to a second input of Read Control Logic Circuitry 91 , to a second input of Write Control Logic Circuitry 90, to a second input of Write Control Logic Circuitry 95, to a first input of an AND gate 101 , to a first input of an AND gate 102 and to a second input of Read Control Logic Circuitry 96. The Clock signal is connected to a second input of each of AND gate 101 and AND gate 102. An output of AND gate 101 is connected to a clock input of a Flip- Flop 105. A Q output of Flip-Flop 105 provides a READ signal and is connected to an input of an inverter 106. An output of Inverter 106 is connected to a D input of Flip-Flop 105. An output of AND gate 102 is connected to a clock input of a Flip-Flop 108. A Q output of Flip-Flop 108 provides a WRITE signal and is connected to an input of an Inverter 109. An output of Inverter 109 is connected to a D input of Flip-Flop 108.
In operation, FIFO A and FIFO B, as illustrated in detail in FIG. 2, have specific entries using a plurality of flip-flop circuits such as Flip-Flops 35-38 for the first entry of FIFO A. The clock signal illustrated in FIG. 2 is a synchronous clock that is generated independently of the circuitry illustrated; the same clock signal is used for all clock inputs described. As with the operation of FIG. 1 , when Multiplexer 32 receives the WRITE control signal in a logic one state, the Input A is passed to its output. When Multiplexer 32 receives the WRITE control signal in a logic zero state, the Input B is passed to its output. When Multiplexer 34 receives the WRITE control signal in a logic one state, the Input B is passed to its output. When Multiplexer 34 receives the WRITE control signal in a logic zero state, the Input A is passed to its output. Similarly, when the READ control signal is in a logic one state, Multiplexer 60 passes the output of FIFO A and Multiplexer 62 passes the output of FIFO B. When the READ control signal is in a logic zero state, Multiplexer 60 passes the output of FIFO B and Multiplexer 62 passes the output of FIFO A.
As illustrated, Head Counter 88 functions to keep a sequential count value that points to a designated beginning entry in FIFO A and Tail Counter 89 functions to keep a sequential count value that points to a designated last entry in FIFO A. FIFO A functions as a circular queue that has a beginning address and an ending address that wraps back around to the beginning address. The Write Control Logic Circuitry 90 and Read Control Logic Circuitry 91 are associated with FIFO A and use the Head Counter and the Tail Counter to control, in part, when a write or a read operation should be enabled. The outputs of Write Control Logic Circuitry 90 and Read Control Logic Circuitry 91 are multiple conductors, each of which correspond to a particular entry of FIFO A. The outputs of Head Counter 88 and Tail Counter 89 function as a pointer to FIFO A as these two outputs determine which entry within FIFO A is either written to or read from, respectively. The analogous operation occurs for FIFO B in connection with Head Counter 93, Tail Counter 94, Write Control Logic Circuitry 95 and Read Control Logic Circuitry 96. The Simultaneous Entry Logic 100 functions to detect when in FIFO Memory System 30 a simultaneous write operation to both FIFOs A and B should occur, when a simultaneous read operation to both FIFOs A and B should occur, when a write operation to one of FIFO A or B with a read operation of the other FIFO should occur, when a read operation of one entry of one of FIFOs A or B should occur with a write operation of another entry of the same FIFO, and when a write operation to both FIFOs A and B should occur at the same time a read operation of different entries in both FIFOs A and B is occurring. There are numerous events and mechanisms that may signal when a simultaneous plural entry operation should occur. For example, in a data processing system certain instructions may be decoded and a processor (not shown) may direct that simultaneous multiple FIFO operations should occur. In one form, data that is being communicated with FIFO A and FIFO B is a real time debug message in connection with a data processing debug function. Simultaneous entry operation is implemented through the generation of multiple Read and Write enable signals for one or more of the FIFOs. If there is a simultaneous entry event, AND gates 101 and 102 become inactive thus disabling the clock to Flip-Flops 105 and 108. The disabling of Flip-Flops 105 and 108 prevents the toggling operation of Multiplexers 32 and 34 between FIFOs A and B in the manner previously discussed in connection with FIG. 1. The disabling of the toggling operation permits the next entry access to occur with the same FIFO before the simultaneous entry event began. By now it should be appreciated that there has been provided a FIFO memory structure having simplified overhead and reduced power consumption. The FIFO memory system taught herein is compact and provides cost and power savings. In one use, the present invention is particularly advantageous for debug circuitry commonly implemented in processing systems. Because multiple information entries need to be stored simultaneously, the control and circuitry associated with this function is greatly reduced by the use of the present invention. It should be well understood that the present invention may be used in processing systems utilizing a FIFO storage structure for purposes other than in connection with debug. Additionally, the present invention may be implemented with any type of transistors and with any type of semiconductor manufacturing process.
Because the apparatus implementing the present invention is, for the most part, composed of electronic components and circuits known to those skilled in the art, circuit details will not be explained in any greater extent than that considered necessary as illustrated above, for the understanding and appreciation of the underlying concepts of the present invention and in order not to obfuscate or distract from the teachings of the present invention. In the foregoing specification, the invention has been described with reference to specific embodiments. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the present invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of the present invention.
Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential feature or element of any or all the claims. As used herein, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.

Claims

CLAIMS What is claimed is:
1. A first-in, first-out (FIFO) memory system, comprising: a first multiplexer having a first data input terminal, a second data input terminal, a data output terminal, and a control terminal; a first FIFO memory having a plurality of entries, each of the plurality of entries having an input terminal coupled to the data output terminal of the first multiplexer; a second multiplexer having a first data input terminal coupled to the first data input terminal of the first multiplexer, a second data input terminal coupled to the second data input terminal of the first multiplexer, a data output terminal, and a control terminal; a second FIFO memory having a plurality of entries, each of the plurality of entries having an input terminal coupled to the data output terminal of the second multiplexer; and a write control logic circuit for providing a write control signal to the control terminals of each of the first and second multiplexers for alternately writing data received at either of the first and second data inputs to the first and second FIFO memories.
2. The FIFO memory system of claim 1 , further comprising a simultaneous entry logic circuit, coupled to the write control logic circuit, for causing the write control logic circuit to write data to the first and second FIFO memories simultaneously in response to the first and second data inputs receiving a first data type.
3. The FIFO memory system of claim 1 , further comprising: a third multiplexer having a first data input terminal coupled to a data output terminal of each of the plurality of entries of the first FIFO memory, a second data input terminal coupled to a data output terminal of the plurality of entries of the second FIFO memory, and a control terminal; a fourth multiplexer having a first data input terminal coupled to a data output terminal of each of the plurality of entries of the first FIFO memory, a second data input terminal coupled to a data output terminal of the plurality of entries of the second FIFO memory, and a control terminal; and a read control logic circuit for providing a read control signal to the control terminals of each of the third and fourth multiplexers, the read control logic for causing data to be read from the first and second FIFO memories in the same order in which the data was written.
4. The FIFO memory system of claim 1 , wherein the data is characterized as being a real time debug message.
5. The FIFO memory system of claim 1 , further comprising: a first counter for sequentially pointing to each of the plurality of entries of the first FIFO memory while writing data to the first FIFO memory; and a second counter for sequentially pointing to each of the plurality of entries of the second FIFO memory while writing data to the second FIFO memory.
6. The FIFO memory system of claim 1 , wherein the write control logic circuit comprises: an inverter having an input terminal and an output terminal; and a flip-flop having an input terminal coupled to the output terminal of the inverter, and an output terminal coupled to the input terminal of the inverter, the output terminal of the flip-flop for providing the write control signal.
7. A method for accessing a first-in, first-out (FIFO) memory system, the FIFO memory system having a first FIFO memory and a second FIFO memory, each of the first and second FIFO memories having a plurality of entries, an input terminal of each of the plurality of entries of the first
FIFO memory coupled to an output terminal of a first multiplexer, and an input terminal of each of the plurality of entries of the second FIFO memory coupled to an output terminal of a second multiplexer, the method comprising the steps of: receiving data at a first input terminal of the first multiplexer and at a first input terminal of the second multiplexer; receiving data at a second input terminal of the first multiplexer and at a second input terminal of the second multiplexer; and alternately writing the data from the output terminals of the first and second multiplexers to the first and second FIFO memories.
8. The method of claim 7, wherein the data is stored in the first and second FIFO memories in sequential entries in response to incrementing first and second counters, the first counter corresponding to the first FIFO memory and the second counter corresponding to the second FIFO memory.
9. The method of claim 7, wherein in the step of alternately writing, the data is written from the output terminals of the first and second multiplexers to the first and second FIFO memories in response to the data being a first data type.
10. The method of claim 7, further comprising the step of simultaneously writing the data from the output terminals of the first and second multiplexers to the first and second FIFO memories in response to the data being a second data type.
EP02734283A 2001-06-20 2002-05-07 First-in, first-out memory system and method thereof Expired - Lifetime EP1402340B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US885574 1992-05-19
US09/885,574 US6779055B2 (en) 2001-06-20 2001-06-20 First-in, first-out memory system having both simultaneous and alternating data access and method thereof
PCT/US2002/014555 WO2003001360A2 (en) 2001-06-20 2002-05-07 First-in, first-out memory system and method thereof

Publications (2)

Publication Number Publication Date
EP1402340A2 true EP1402340A2 (en) 2004-03-31
EP1402340B1 EP1402340B1 (en) 2008-04-16

Family

ID=25387224

Family Applications (1)

Application Number Title Priority Date Filing Date
EP02734283A Expired - Lifetime EP1402340B1 (en) 2001-06-20 2002-05-07 First-in, first-out memory system and method thereof

Country Status (9)

Country Link
US (1) US6779055B2 (en)
EP (1) EP1402340B1 (en)
JP (1) JP4076946B2 (en)
KR (1) KR100902765B1 (en)
CN (1) CN100377072C (en)
AU (1) AU2002305462A1 (en)
DE (1) DE60226141T2 (en)
TW (1) TWI229345B (en)
WO (1) WO2003001360A2 (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6551857B2 (en) 1997-04-04 2003-04-22 Elm Technology Corporation Three dimensional structure integrated circuits
EP1416373A3 (en) * 2002-10-31 2005-01-05 STMicroelectronics Pvt. Ltd Method and apparatus to reduce access time in synchronous fifos with zero latency overhead
KR101359514B1 (en) 2004-01-07 2014-02-10 가부시키가이샤 니콘 Stacked device and method for stacking integrated circuit devices
US8208786B2 (en) * 2004-01-16 2012-06-26 Trek 2000 International Ltd. Portable storage device for recording and playing back data
CN101324863B (en) * 2007-06-12 2012-07-04 中兴通讯股份有限公司 Device and method for controlling synchronous static memory
US8082482B2 (en) 2007-08-31 2011-12-20 International Business Machines Corporation System for performing error correction operations in a memory hub device of a memory module
US8086936B2 (en) 2007-08-31 2011-12-27 International Business Machines Corporation Performing error correction at a memory device level that is transparent to a memory channel
US20100269021A1 (en) * 2007-09-05 2010-10-21 Gower Kevin C Method for Performing Error Correction Operations in a Memory Hub Device of a Memory Module
US8019919B2 (en) * 2007-09-05 2011-09-13 International Business Machines Corporation Method for enhancing the memory bandwidth available through a memory module
US7945745B2 (en) * 2007-09-17 2011-05-17 General Electric Company Methods and systems for exchanging data
KR20090059802A (en) * 2007-12-07 2009-06-11 삼성전자주식회사 Method for updating register and register and computer system using the same
US8140936B2 (en) 2008-01-24 2012-03-20 International Business Machines Corporation System for a combined error correction code and cyclic redundancy check code for a memory channel
US20100169570A1 (en) * 2008-12-31 2010-07-01 Michael Mesnier Providing differentiated I/O services within a hardware storage controller
KR20130102393A (en) 2012-03-07 2013-09-17 삼성전자주식회사 First in first out memory device and electronic device having the same
US9304693B1 (en) 2012-12-17 2016-04-05 Marvell International Ltd. System and method for writing data to a data storage structure
JP6049564B2 (en) * 2013-07-29 2016-12-21 三菱電機株式会社 Data trace circuit, integrated circuit, and data trace method
US9824058B2 (en) * 2014-11-14 2017-11-21 Cavium, Inc. Bypass FIFO for multiple virtual channels
CN106603442B (en) * 2016-12-14 2019-06-25 东北大学 A kind of cross clock domain high-speed data communication interface circuit of network-on-chip
US11061997B2 (en) * 2017-08-03 2021-07-13 Regents Of The University Of Minnesota Dynamic functional obfuscation
KR20200097903A (en) 2019-02-11 2020-08-20 삼성전자주식회사 Nonvolatile memory device
TWI771785B (en) * 2020-10-29 2022-07-21 晶豪科技股份有限公司 Data first-in first-out (fifo) circuit

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4298954A (en) * 1979-04-30 1981-11-03 International Business Machines Corporation Alternating data buffers when one buffer is empty and another buffer is variably full of data
US4524424A (en) * 1982-02-18 1985-06-18 Rockwell International Corporation Adaptive spectrum shaping filter
JPS59177782A (en) 1983-03-25 1984-10-08 Nec Corp Buffer memory controlling system
CA1228677A (en) * 1984-06-21 1987-10-27 Cray Research, Inc. Peripheral interface system
FR2636448B1 (en) 1988-09-15 1994-07-22 Finger Ulrich DATA ACQUISITION DEVICE FOR PROCESSOR
NL8901661A (en) * 1989-06-30 1991-01-16 Philips Nv TV SYSTEM FOR DIGITAL TRANSFER OF IMAGE SIGNALS.
US5525985A (en) * 1990-12-28 1996-06-11 Eaton Corporation Sure chip
US5305319A (en) 1991-01-31 1994-04-19 Chips And Technologies, Inc. FIFO for coupling asynchronous channels
DE4226952A1 (en) * 1992-08-14 1994-02-17 Deutsche Forsch Luft Raumfahrt Frame synchroniser for telemetry system - has pair of FIFO memory stages operating alternately and coupled to serial to parallel converter for high rates
KR0126330Y1 (en) * 1993-10-23 1998-12-15 김광호 Tv receiver scanning circuit
JPH10283088A (en) 1997-04-02 1998-10-23 Oki Electric Ind Co Ltd Serial communication circuit
KR19980077474A (en) * 1997-04-19 1998-11-16 김영환 Device for converting scan method of video signal and its control method
US6055616A (en) 1997-06-25 2000-04-25 Sun Microsystems, Inc. System for efficient implementation of multi-ported logic FIFO structures in a processor
US6073190A (en) * 1997-07-18 2000-06-06 Micron Electronics, Inc. System for dynamic buffer allocation comprising control logic for controlling a first address buffer and a first data buffer as a matched pair
KR100249235B1 (en) * 1997-12-31 2000-03-15 구자홍 Hdtv video decoder

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO03001360A2 *

Also Published As

Publication number Publication date
JP4076946B2 (en) 2008-04-16
WO2003001360A3 (en) 2003-10-16
AU2002305462A1 (en) 2003-01-08
CN1524215A (en) 2004-08-25
DE60226141T2 (en) 2009-05-20
DE60226141D1 (en) 2008-05-29
JP2005505029A (en) 2005-02-17
CN100377072C (en) 2008-03-26
US20020199042A1 (en) 2002-12-26
EP1402340B1 (en) 2008-04-16
US6779055B2 (en) 2004-08-17
WO2003001360A2 (en) 2003-01-03
KR20040010756A (en) 2004-01-31
KR100902765B1 (en) 2009-06-15
TWI229345B (en) 2005-03-11

Similar Documents

Publication Publication Date Title
US6779055B2 (en) First-in, first-out memory system having both simultaneous and alternating data access and method thereof
US5088061A (en) Routing independent circuit components
US5490257A (en) RAM based FIFO memory half-full detection apparatus and method
US6802036B2 (en) High-speed first-in-first-out buffer
US7710789B2 (en) Synchronous address and data multiplexed mode for SRAM
US20060018177A1 (en) Multiple counters to relieve flag restriction in a multi-queue first-in first-out memory system
WO2001042926A1 (en) Interface for a memory unit
US20020146025A1 (en) Arbiter device for multi-port memory and semiconductor device
US6286076B1 (en) High speed memory-based buffer and system and method for use thereof
US7136309B2 (en) FIFO with multiple data inputs and method thereof
US5515506A (en) Encoding and decoding of dual-ported RAM parity using one shared parity tree and within one clock cycle
US7035908B1 (en) Method for multiprocessor communication within a shared memory architecture
EP0020972B1 (en) Program controlled microprocessing apparatus
US6901490B2 (en) Read/modify/write registers
US20020099932A1 (en) Mirroring processor stack
US6625711B1 (en) Method and/or architecture for implementing queue expansion in multiqueue devices
US5802387A (en) Efficient data transfer in a digital signal processor
US6486704B1 (en) Programmable burst FIFO
EP0429728A1 (en) Logic circuit
US20020112141A1 (en) Time division finite state machine
JPH07182849A (en) Fifo memory
KR100208794B1 (en) Register common circuit
KR100224725B1 (en) First in first out device
JPH05265701A (en) Fifo memory
KR100219045B1 (en) Fifo circuit having dual channel

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

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

17P Request for examination filed

Effective date: 20040416

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: FREESCALE SEMICONDUCTOR, INC.

17Q First examination report despatched

Effective date: 20041104

17Q First examination report despatched

Effective date: 20041104

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB IT

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

REF Corresponds to:

Ref document number: 60226141

Country of ref document: DE

Date of ref document: 20080529

Kind code of ref document: P

LTIE Lt: invalidation of european patent or patent extension

Effective date: 20080416

ET Fr: translation filed
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

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

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20090119

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20080507

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20140527

Year of fee payment: 13

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20140519

Year of fee payment: 13

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20150507

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20160129

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20150507

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20150601

REG Reference to a national code

Ref country code: DE

Ref legal event code: R082

Ref document number: 60226141

Country of ref document: DE

Representative=s name: SCHUMACHER & WILLSAU PATENTANWALTSGESELLSCHAFT, DE

Ref country code: DE

Ref legal event code: R081

Ref document number: 60226141

Country of ref document: DE

Owner name: NXP USA, INC. (N.D.GES.D.STAATES DELAWARE), AU, US

Free format text: FORMER OWNER: FREESCALE SEMICONDUCTOR, INC., AUSTIN, TEX., US

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20200421

Year of fee payment: 19

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 60226141

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20211201