--- Quote Start ---
Here is the example that Godfather was referring to.
--- Quote End ---
It definitely doesn't work for me. I confirmed it doesn't consider the Tco for the outputs when they are used as clocks.
I assume it is because I am not using ALTDDIO. The document mentions that otherwise there is need to create an intermediary output clock, but doesn't give any details. Or possibly because the sample includes estimated outputs Tco in the Trace Board delays?
--- Quote Start ---
If you're registering your I/O, which is always recommended for best performance, than your I/O timing shouldn't really change. Just click on Report Datasheet, get the numbers and make the requirement a little bit looser.
--- Quote End ---
Yep, seems a good solution. I do am using fast I/O for the address and data bus, but I usually like to make one of the output enables (either the FPGA or the RAM one) combinational. I negate one with the other to avoid bus contention just in case.
Speaking about output enable, I realized that this is not constrained. I spent quite some time browsing Quartus handbook, and I couldn't find any reference whatsoever about how to constrain the high-Z and low-Z timing. Actually, I cannot even find these timing in the device datasheets at all!
Without any information, I can only assume the low-Z timing is similar to the micro tCO of the I/O element?
But even then, how can I associate the node that control the OE to the actual data nodes? Or at least how can I get a timing report for the OE node?
--- Quote Start ---
Noting your next post, timing analysis is not a "how fast can that run" analysis. It is based on your requirements and is a pass/fail analysis.
--- Quote End ---
Seems I didn't explain myself correctly. When I was talking about the "desired" frequency, I was talking about the value set in the PLL Megafunction, not in the SDC. I am not setting any frequency or period in the constrain file, but making TimeQuest to derive the frequencies from the PLL setting.
The problem is that both the Fitter and TimeQuest, take the PLL output frequency from the user selected value, not from the actual value (the PLL output clock as a result of the master clock division and multiplication) that sometimes is slightly different. The difference is quite small, probably not significant. So just a buglet in the worse case.