IP Library Granted Patent US 8,612,651
Granted Patent B2
US 8,612,651 · App. 12/599,062 · Granted Dec 17, 2013

FIFO buffer

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,612,651
App. No.
12/599,062
Granted
Dec 17, 2013
Kind
B2
Abstract

A FIFO memory circuit is for interfacing between circuits with different clock domains. The circuit has a FIFO memory ( 10 ), a write pointer circuit ( 16 ) clocked by the clock of a first clock domain and controlling the memory location to which data is written, and a read pointer circuit clocked by the clock of a second clock domain and controlling the memory location from which data is read. The read and write pointer circuits use gray coding. The memory circuit further comprises a duplicate write pointer circuit ( 30 ) which has its write pointer address incremented synchronously with the write pointer circuit ( 16 ), and which has a starting write address selected such that the duplicate write pointer address lags behind the write pointer address circuit by a number of address locations corresponding to the size of the FIFO memory ( 10 ). A comparator ( 34 ) compares the read pointer circuit address with the duplicate write pointer circuit address for determining a full status of the FIFO memory.

Claims (19)

1. A FIFO memory circuit for interfacing between circuits with different clock domains, comprising:

a FIFO memory;

a write pointer circuit clocked by a clock of a first clock domain and controlling a memory location to which data is written; and

a read pointer circuit clocked by a clock of a second clock domain and controlling a memory location from which data is read,

wherein the read and write pointer circuits use gray coding, and wherein the memory circuit further comprises a duplicate write pointer circuit which has its write pointer address incremented synchronously with the write pointer circuit, and which has a starting write address selected such that the duplicate write pointer address lags behind the write pointer address circuit by a number of address locations corresponding to a size of the FIFO memory, and wherein the memory circuit further comprises a comparator for comparing the read pointer circuit address with the duplicate write pointer circuit address for determining a full status of the FIFO memory.

2. A memory circuit as claimed in claim 1 , further comprising a resynchroniser for resynchronising the read pointer to the clock of the first clock domain, and wherein the comparator is for comparing the resynchronized read pointer circuit address with the duplicate write pointer circuit address.

3. A memory circuit as claimed in claim 1 , wherein the comparator comprises a circuit for detecting equality of the duplicate write pointer address and the read pointer address.

4. A memory circuit as claimed in claim 1 , further comprising a second comparator for comparing the read pointer circuit address with the write pointer circuit address for determining an empty status of the FIFO memory.

5. A memory circuit as claimed in claim 4 , further comprising a resynchroniser for resynchronising the write pointer to the clock of the second clock domain, and wherein the second comparator is for comparing the resynchronized write pointer circuit address with the read pointer circuit address.

6. A memory circuit as claimed in claim 4 , wherein the comparator comprises a circuit for detecting equality of the write pointer address and the read pointer address.

7. The memory circuit of claim 1 , wherein a duplicate write pointer of the duplicate write pointer circuit starts at a gray coded write pointer address of the write pointer circuit minus the size of the FIFO memory.

8. A FIFO memory circuit for interfacing between circuits with different clock domains, comprising:

a FIFO memory;

a write pointer circuit clocked by a clock of a first clock domain and controlling a memory location to which data is written; and

a read pointer circuit clocked by a clock of a second clock domain and controlling a memory location from which data is read,

wherein the read and write pointer circuits use gray coding, and wherein the memory circuit further comprises a first conversion circuit for converting the read pointer circuit address to a one-hot signal and for controlling the read address of the FIFO memory, and wherein the read and write pointer circuit gray coded values are used to obtain empty and full status information of the FIFO memory, wherein the first conversion circuit comprises a logic structure having AND gates, and a logic structure having an OR tree.

9. A memory circuit as claimed in claim 8 , further comprising a second conversion circuit for converting the write pointer circuit address to a one-hot signal and for controlling the write address of the FIFO memory.

10. The memory circuit of claim 8 , wherein the memory circuit further comprises a duplicate write pointer circuit which has its write pointer address incremented synchronously with the write pointer circuit, and which has a starting write address selected such that the duplicate write pointer address lags behind the write pointer address circuit by a number of address locations corresponding to a size of the FIFO memory.

11. The memory circuit of claim 10 , wherein a duplicate write pointer of the duplicate write pointer circuit starts at a gray coded write pointer address of the write pointer circuit minus the size of the FIFO memory.

Assignments (12)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
PATENT RELEASE Recorded Aug 17, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 039707/0471 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2015
From: NXP B.V.
To: III HOLDINGS 6, LLC
Reel/Frame 036304/0330 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2009
From: BOONSTRA, JOHANNES; RANGARAJAN, SUNDARAVARADAN; KUMAR, RAJENDRA
To: NXP, B.V.
Reel/Frame 023481/0338 →