- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
Fifo with a non-free running wr_clk
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
06-10-2012 08:33 AM
Hi
I need an async fifo based distribured with independent clock in my design,
the wr_clk isn,t free running.
it seems 4 first word don,t write in Fifo.
I simulate my design with structural model of fifo and problem is exist.
Is a non-free running clk is n,t suitable for Wr-Clk?
thanks
Re: Fifo with a non-free running wr_clk
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
06-10-2012 09:53 AM
The standard "asynchronous" (dual-clock) FIFO is designed for free-running clocks. I suspect
that the data that "isn't written" is actually in the FIFO, but the flags (EMPTY, DATA_COUNT...) won't
show it because they need more write clocks to push the status through to the read clock domain.
If you have access to a free-running clock synchronous to your write signal, then use that for the
FIFO write clock. Otherwise you may need to use another approach to transfer your write data
to another free-running clock domain.
-- Gabor
Re: Fifo with a non-free running wr_clk
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
06-10-2012 09:14 PM
Hi
My project is about write and read to/from an ide device. I coded the UDMA protocol for these porpuse.
In read UDMA, ide device send Data to hose on falling and rising edge of a srobe.
I used strobe as wr-clk and when I want to store data to fifo I assert wr_en but strobe isn't free running.
is there another approach?
thanks
Re: Fifo with a non-free running wr_clk
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
06-13-2012 10:47 AM
razi.marjani wrote:
Hi
My project is about write and read to/from an ide device. I coded the UDMA protocol for these porpuse.
In read UDMA, ide device send Data to hose on falling and rising edge of a srobe.
I used strobe as wr-clk and when I want to store data to fifo I assert wr_en but strobe isn't free running.
is there another approach?
thanks
Synchronize your strobe to the FPGA's system clock, and use the valid edges of the strobe to generate a write enable synchronous to the clock. Also, you probably should make sure that your data and your addresses are also synchronous to the clock.
----------------------------------------------------------------
Yes, I do this for a living.
Re: Fifo with a non-free running wr_clk
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
06-19-2012 12:37 AM
Hi
I Solved the problem.
I used an Async Fifo .
Strobe that come from Ide Devise is used as wr_clk of this Async_Fifo.
the fifo that I used is according the XAPP768c.
I write my own Async Fifo with Async DualPort RAM16 inside FPGA.











