Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)

setup timing from fifo

evyatar
Beginner
2,914 Views

a strange setup timing violation:
the path is from the 'write enable' of a FIFO, to another register in the design.
it seems like a problem in the Quartus 2 (64 bit V14.1.0 B186 12/3/14 SJ Full Version) since we cant find this actual path in the design.
using the locate path command in the time quest, show me the path provided in the files below - its doesn't look like the path in violation list. also tried to understand the path with the nodes in the Data Path window but it seems a little bit confusing.

for example - locating the node `Equal0~datac` in the RTL viewer led me to a comparator, which its inputs are not the 'write enable', but 'lb_hc_rx_din' and another irrelevant input.
by the way, 'lb_hc_rx_din' is coming from the FIFO, which the 'write enable' in the violation path is its 'write enable', however I wasn't expecting it to be a problematic path since the FIFO RAM output is isolating the path (like a register).
is it possible there is a problem in the quartus, and this path should be a false path?

I am adding relevant files and screenshot. please can you help me find out what is the path and how to handle it? 

regards

0 Kudos
17 Replies
evyatar
Beginner
2,909 Views

just to be clear  - even if is it possible that the path is actually starting from the RAM data output, and not the ram write enable input,

I do not find such path in my design .

0 Kudos
sstrell
Honored Contributor III
2,896 Views

Without seeing the design or the .sdc file, it's difficult to figure this out.  Can you provide at least the .sdc and/or the code defining the failing path?

0 Kudos
RichardTanSY_Intel
2,882 Views

Please upgrade your Quartus version to the latest version as v14.0 is quite old and the software is not downloadable anymore thus it is hard to support.

If the issue still persists, then please help to share your design so I could investigate further. 


0 Kudos
evyatar
Beginner
2,862 Views

Hi Richard, unfortunately, upgrading the version is not possible, due to some reasons. one of them is the fact that device we use ("Cyclone V" DEVICE 5CGXFC9E6F31I7) is not supported in the newer versions. 
I can add the relevant src files in personal path if it help... 

0 Kudos
sstrell
Honored Contributor III
2,856 Views

Are you saying your specific device is not supported?  Because the Cyclone V family is supported in up to the latest version of Standard.

0 Kudos
evyatar
Beginner
2,825 Views

I will try it, however it may take some time, since I have IP Versions to upgrade, and it requires cooperation with some other colleagues.

do you have another suggestion ?  

0 Kudos
evyatar
Beginner
2,814 Views

I managed to replicate the timing volition with version19.1. 

removed all the design and simulated the attached block only.

clk preq is 125mhz

please advise 

0 Kudos
sstrell
Honored Contributor III
2,803 Views

Can you post your .sdc?

0 Kudos
evyatar
Beginner
2,787 Views

actually no constrain for  this specific block in the sdc beside the clock freq , only for other blocks in the original design. 

attached are the SDCs for the original design.

0 Kudos
sstrell
Honored Contributor III
2,782 Views

You've got a very long interconnect delay going to this clock control block:

;   5.883  ;   4.766 ; RR ; IC   ; 1      ; CLKCTRL_R6 

for both the data arrival and data required paths.  Did you manually add a clock control block to your design (as an IP) or with so many clocks, was the design forced to use this clock control block to distribute the clock for the failing path? Locate the failing path to the Chip Planner to see the physical placement and to determine if there are physical resource constraints on the path which is leading to this.

0 Kudos
evyatar
Beginner
2,778 Views

I will check this, thank you. 
but let say there are too many clock in the design. is this falling path really problematic? please note that it start from the FIFO WE, and continue towards another block trough the FIFO data out port. it seems that this path should be constrained as false path. 
what do you think? 

0 Kudos
RichardTanSY_Intel
2,708 Views

Hi

Do you need further help in regards to this case?


0 Kudos
evyatar
Beginner
2,703 Views

still didn't get your answer

0 Kudos
Kenny_Tan
Moderator
2,685 Views

For fifo, there are some constrain mention in the user guide: https://www.intel.com/programmable/technical-pdfs/683522.pdf, You may take a look if it suite your case


When you set a false path, this means that you do not care whether that path meet any timing wrt to clock. My suggestion is to send us your whole design.qar to take a look first. My suggestion is to use set_multicycle path is the path is too long, or add register in btw the path.


0 Kudos
RichardTanSY_Intel
2,634 Views

Could you help to share the .qar project files by generate it through, Project > Achieve Project ?

I am not able to replicate the timing violation with the individual design files provided. Maybe something is missing.


0 Kudos
RichardTanSY_Intel
2,591 Views

Hi


Could you help to share the .qar project file?


0 Kudos
RichardTanSY_Intel
2,388 Views

I have yet to receive any response from you in regards to my last reply.


With that, I will now transition this thread to community support. If you have a new question, feel free to open a new thread to get the support from Intel experts. Otherwise, the community users will continue to help you on this thread. Thank you.


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 9/10 survey.


0 Kudos
Reply