FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > Verilog

Verilog comp.lang.verilog newsgroup / usenet

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 08-25-2008, 10:46 AM
Gokul
Guest
 
Posts: n/a
Default Asynchronous FIFO - Different widths of Input & Output Ports.

Hi,
I require to use an Asynchronous FIFO, so as to allow a safe and
synchronised data transfer across two clock domains.One was the write
domain (clk_w) at which,the data (256 bit wide) is written into the
FIFO buffer (256 bit wide and 32 depth).The data nput port to the FIFO
is 256 bit wide.Other was the read domain (clk_r), at which the data
has to be read from the FIFO buffer. clk_w is 100 Mhz and clk_r is 800
MHz.

The data from the FIFO has to be read from and to be written into a
DRAM memory (32 bit wide and 1024 depth).Hence the data output port of
the FIFO from which data is transferred on to the DRAM is only 32 bit
wide.

How to achieve the read process (from the FIFO buffer) and write into
the DRAM memory utilizing the 32 bit output line of the FIFO
buffer.Suggest me a method to read through 32 bit line or to use a
circuit component in between FIFO & DRAM.

P.S: Fifo is a part of the Memory Controller.
Reply With Quote
  #2 (permalink)  
Old 08-25-2008, 07:33 PM
Kevin Neilson
Guest
 
Posts: n/a
Default Re: Asynchronous FIFO - Different widths of Input & Output Ports.

Gokul wrote:
> Hi,
> I require to use an Asynchronous FIFO, so as to allow a safe and
> synchronised data transfer across two clock domains.One was the write
> domain (clk_w) at which,the data (256 bit wide) is written into the
> FIFO buffer (256 bit wide and 32 depth).The data nput port to the FIFO
> is 256 bit wide.Other was the read domain (clk_r), at which the data
> has to be read from the FIFO buffer. clk_w is 100 Mhz and clk_r is 800
> MHz.
>
> The data from the FIFO has to be read from and to be written into a
> DRAM memory (32 bit wide and 1024 depth).Hence the data output port of
> the FIFO from which data is transferred on to the DRAM is only 32 bit
> wide.
>
> How to achieve the read process (from the FIFO buffer) and write into
> the DRAM memory utilizing the 32 bit output line of the FIFO
> buffer.Suggest me a method to read through 32 bit line or to use a
> circuit component in between FIFO & DRAM.
>
> P.S: Fifo is a part of the Memory Controller.


I've done something very similar in the design of a memory controller.
I made a FIFO from Xilinx BRAM, exploiting the asymmetric dataport
feature of the BRAMs. In this case, my FIFO would use eight BRAMs that
are 32x512 on the write side (this is the maximum width) to make the
256-wide port and 4x4096 on the read side to make the 32-wide port.
This requires modification of the Gray pointers, but it's fairly
straightforward. You just add a 3-bit counter (not Gray) to the Gray
counter on the read side so that there must be eight reads before the
Gray pointer advances, indicating to the write side that there is
another 256-bit slot open.

The problem you will have is that you won't be able to read at 800MHz in
an FPGA. You could possibly have two interleaved FIFOs which you could
read at 400MHz and use those to feed the DDR registers at 400MHz, if you
are trying to achieve a DRAM speed of DDR800. You might want to slow
down the DRAM rate. Often the throughput with DRAMs is not limited by
the max clock speed but by the memory controller wasting cycles between
bursts.
-Kevin
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Asynchronous FIFO with depth that is not a power of 2 googler Verilog 6 05-15-2008 11:10 AM
output using as input. Jack Verilog 3 05-07-2008 09:26 PM
How is the input transition time used in calculating input delays ?? Rajat Mitra Verilog 2 10-13-2005 05:51 AM
Doubt in Verilog Vpi Input and output Format priya Verilog 0 08-29-2005 01:22 PM
asynchronous micropipeline [email protected] Verilog 0 06-24-2005 03:45 AM


All times are GMT +1. The time now is 06:53 PM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved