Multiple FIFO in a Single RAM

IP.com Prior Art Database Disclosure
IP.com Disclosure Number: IPCOM000135810D
Publication Date: 25-May-2006
More Like This Download

Publishing Venue

The IP.com Journal (v6n5A)

Related People

Juergen Carstens - Contact
juergen.carstens@siemens.com; phone +49-89-636-82995

Abstract

In digital systems in general, and communication systems in particular, it is often required to manage a multiple of FIFO (First In First Out) memories, for example, one for every communication port. However, when such communication systems are implemented using FPGA (Field Programmable Gate-Array) components, the available memories are insufficient. In an FPGA, there would typically be a multitude of tiny RAMs (Random Access Memories), too small to handle all the FIFO memories, and one or very few very large RAMs, large enough for the FIFO requirements, but too few. Alternative known solutions to the problem are the use of more or larger FPGA units, or to speed up the processing frequency so that tiny FIFO memories for each port would suffice. In any case, those would be much costlier solutions than the new solution. According to the new solution, a large memory segment for several concurrent smaller FIFO memories will be used. A logic block diagram of the idea is depicted in figure 1. Each of the ingress ports is routed to a "tiny FIFO". The function of the tiny FIFO is to store information until it is transferred to the large RAM. The large RAM is divided in n segments, and each of them is allocated to a specific port. The MUX (Multiplexer) takes care to sequentially scan the "tiny FIFOs" and the transfer their contents to the large RAM, which can now be viewed as a collection of n FIFO memories, shared between the n ports.

Copyright

SIEMENS AG 2006

Language

English (United States)

Country

Israel

Document File

2 pages / 38.5 KB

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 2

S

Multiple FIFO in a Single RAM

Idea: Naftaly Blum, IL-Hod Hasharon

In digital systems in general, and communication systems in particular, it is often required to manage a multiple of FIFO (First In First Out) memories, for example, one for every communication port. However, when such communication systems are implemented using FPGA (Field Programmable Gate-Array) components, the available memories are insufficient. In an FPGA, there would typically be a multitude of tiny RAMs (Random Access Memories), too small to handle all the FIFO memories, and one or very few very large RAMs, large enough for the FIFO requirements, but too few.

Alternative known solutions to the problem are the use of more or larger FPGA units, or to speed up the processing frequency so that tiny FIFO memories for each port would suffice. In any case, those would be much costlier solutions than the new solution.

According to the new solution, a large memory segment for several concurrent smaller FIFO memories will be used. A logic block diagram of the idea is depicted in figure 1. Each of the ingress ports is routed to a "tiny FIFO". The function of the tiny FIFO is to store information until it is transferred to the large RAM. The large RAM is divided in n segments, and each of them is allocated to a specific port. The MUX (Multiplexer) takes care to sequentially scan the "tiny FIFOs" and the transfer their contents to the large RAM, which can now be viewed as a collection of n FIFO memories, shared between the n ports.

A detailed view of how the RAM is time-shared is depicted in figure 2. There is a scan logic, which continuously scan the tiny FIFOs, and if they are not empty, transfers their contents to the allocated segment in the large RAM. There is a bank of n write pointers, each initially pointing at the start address o...

First page image
You are not signed in. If you have an IP.com account, your download price may be lower or waived. Click here if you want to sign-in now.
Loading PayPal...
The full document comprises 2 pages and is available as a PDF document as well as a ZIP archive. The cost is $40.00 USD (depending on your billing address, sales tax may apply); payment may be made directly using your credit card or your PayPal account.

If you've already purchased this document, and wish to download it now you may enter the download access code you received in your original email receipt.