Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Expert Contributor
gszakacs
Posts: 5,254
Registered: ‎08-14-2007
0

Re: FIFO Write Latency Problem

For FPGA's "a lot of logic" generally depends more on the number of inputs to a gate (fan-in) than

to the actual function performed.  For wide AND gates, you might get help from the carry chain

structure, but generally more inputs translates into more "levels of logic" which is where the

delay comes in.

 

In any case, if your signals took more than the clock period to propagate to the FIFO, you should

have had errors in the static timing report (you DO have a period constraint on the clock?).

 

-- Gabor

-- Gabor
Visitor
sdressler
Posts: 11
Registered: ‎08-23-2011
0

Re: FIFO Write Latency Problem

Yes, there is a period constraint on the clock with 6.667 ns. I'm trying to change the design a bit since the structure with the "valid_rq" signal seems a bit awkward to me. PAR tells me that there aren't any timing constraint errors.

-- Sebastian
Expert Contributor
gszakacs
Posts: 5,254
Registered: ‎08-14-2007
0

Re: FIFO Write Latency Problem

Do any of the signals used for generating wr_en come from off-chip?  Remember that the

period constraint only checks paths from the Q output of one flop to the D input of another

inside the FPGA.  If you have any inputs that aren't registered in the IOB you need to have

"offset in before" constraints to make sure that timing is met.

 

-- Gabor

-- Gabor
Expert Contributor
rcingham
Posts: 2,010
Registered: ‎09-09-2010

Re: FIFO Write Latency Problem

"It depends on what a lot of logic is"

A 48-bit and_reduce function definitely falls within my definition of a lot of logic! I would pipeline that logic and ensure that 'wr_en' comes direct from a register.

------------------------------------------
"If it don't work in simulation, it won't work on the board."
Visitor
sdressler
Posts: 11
Registered: ‎08-23-2011
0

Re: FIFO Write Latency Problem

@Gabor: No, neither of these signals are coming off-chip.

 

Regarding the 48-bit and_reduce: I'm going to alter this, indeed i've altered it right now. The problem is, that i need to count until mc_addr_gen_count_to_in is reached. But the last request should be send on mc_addr_gen_count_to_in - 1, so i've introduced the done_flag and negated valid_rq whenever done_flag is high. But i'm thinking that this isn't a good design, anyway counting only to mc_addr_gen_count_to_in - 1 seems not an option since it may happen that this last request is stalled and then it's lost.

-- Sebastian
Expert Contributor
eteam00
Posts: 7,505
Registered: ‎07-21-2009
0

Re: FIFO Write Latency Problem

As long as you pipeline everything in the write path consistently (controls and enables as well as data), it should all work, yes?

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
Visitor
sdressler
Posts: 11
Registered: ‎08-23-2011
0

Re: FIFO Write Latency Problem

Right. I'm going to change some things according to the suggestions made.

 

Thanks for discussing the topic.

-- Sebastian