FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6356 Discussions

question for design example of Intel fifo IP

lipingx
Beginner
1,132 Views

 

In this example,  rom_out, wrreq_o, wrclk are using the same clock trclk.

All above are trigger by rising edge of trclk.

But the fifo write are also refer to rising edge of trclk.

So if there is any small shift, should it cause any risk of timing?

From design point, the fifo data and wrreq should have 180 degree shift related to wrclk.

Does the timing contraint is automatically adjust by quartus itself?

Should we change the wrclk from trclk to ~trclk with 180 degree shift to make the timing to safe area?

 

lipingx_0-1674894710189.png

Design Example (intel.com)

0 Kudos
1 Solution
RichardTanSY_Intel
990 Views

Yes, you can shift the wrclk to 180 degree which can meet timing. There is no saying you can not do that.


Best Regards,

Richard Tan


View solution in original post

0 Kudos
10 Replies
FvM
Valued Contributor III
1,117 Views

Hello,

the design example is based on standard synchronous logic design methods. It expects that all modules operating in a clock domain are clocked by the same clock source and sampling at the same edge. Design implementation and timing analysis guarantee that all register input signals achieve necessary setup and hold times.

You get highest logic speed by clocking all register at the same (usually risng edge). Register hold time is smaller than the "natural" data path delay, if not timing driven synthesis would enforce it.       

0 Kudos
lipingx
Beginner
1,109 Views

I am not how to guarantee the timing to meet it.

It's quite risk as wrreq and fifo_in changes at the rising edge of wrclk.

because rising edge is also used for fifo to push data.

 

 

lipingx_0-1674950565966.png

 

0 Kudos
RichardTanSY_Intel
1,068 Views

Most Intel IP has been designed to meet timing. If you worried, you can run the timing analysis stage and the Quartus will analysis and place&route the design as best as possible in order to meet the timing. If there is timing violation, we will see red flag in the timing report.


Best Regards,

Richard Tan


0 Kudos
lipingx
Beginner
1,052 Views

I believe so, intel IP should be correct. But can you explain a little on it?

Why not move the wrclk to shift 180 degree which may perfectly meet timing constraint?

The clock wrclk rising edge will stay in the middle of fifo_in data.

0 Kudos
FvM
Valued Contributor III
1,046 Views

0 degree clk gives highest fmax. That's not specfic to FIFO IP, just how synchronous design in FPGA works.

0 Kudos
lipingx
Beginner
1,028 Views

I appreciate your feedback. Could you tell more about why 0 degree clk gives highest fmax?

0 Kudos
RichardTanSY_Intel
991 Views

Yes, you can shift the wrclk to 180 degree which can meet timing. There is no saying you can not do that.


Best Regards,

Richard Tan


0 Kudos
RichardTanSY_Intel
927 Views

Do you need further help in regards to this case?


Best Regards,

Richard Tan


0 Kudos
RichardTanSY_Intel
920 Views

Do you need further help in regards to this case?


Best Regards,

Richard Tan


0 Kudos
RichardTanSY_Intel
867 Views

As we do not receive any response from you on the previous question/reply/answer that we have provided. I now transition this thread to community support. 

Best Regards,

Richard Tan


p/s: If any answer from the community or Intel Support are helpful, please feel free to give best answer or rate 4/5 survey.


0 Kudos
Reply