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

IO input delay

Yoni_CMT
Beginner
747 Views

I'm going over the Constraining Source Synchronous Interfaces training and running a very simple design to test myself.

Yoni_CMT_1-1718545637294.png

I'm trying both center aligned and edge aligned data in the design(with separate clocks).

here is the SDC I wrote:

Yoni_CMT_2-1718545752697.png

I have setup issue for the center aligned clock:

Yoni_CMT_3-1718545830613.png

And hold issue for the edge aligned clock:

Yoni_CMT_4-1718545920286.png

I'm sure I'm missing some crucial input I didn't add but I don't know what.

Can someone explain to me what are the delays that set the data requires, they don't make sense to me.

Labels (2)
0 Kudos
8 Replies
sstrell
Honored Contributor III
670 Views

What paths/nodes are actually failing?  Critical info needed here.  Show detail from Report Timing.

0 Kudos
RichardTanSY_Intel
621 Views

It is better to not think of them as constraints at all.

Instead they describe a circuit outside of the FPGA and that circuit, coupled with the circuit inside the FPGA, creates a full setup and hold analysis. 

 

set_output_delay -max 0 -clock clk_out [get_ports data_out]

set_output_delay -min 0 -clock clk_out [get_ports data_out]

 

Looking at output constraint example, let's break down its components:

1. set_output_delay -> There is a register being driven by an FPGA output

2. -clock clk_out -> This register is clocked by our clock clk_out

3. -max/-min 0.0 -> The external delay has a max of 0.0 and min of 0.0

4. [get_ports data_out] -> The register is driven by port data_out

 

Looking at the schematic format:

RichardTanSY_Intel_0-1718718960617.png

 

We can see a circuit described outside of the FPGA, with a register feeding another register. This is the standard path analysis done on every path inside the FPGA.

Hope that clarify.

 

Btw, which training material are you referring to?

 

Regards,

Richard Tan

 

0 Kudos
RichardTanSY_Intel
580 Views

Dropping a note to ask if my last reply was helpful to you?

Do you need any further assistance from my side? 


Regards,

Richard Tan


0 Kudos
Yoni_CMT
Beginner
526 Views

HI RichardTanSY_Intel,

Sorry for the late response, I thought I posted it but it probably wasn't sent.

I mainly interested in the input delay, since I'm going to write the data into internal FIFO and use it internally, so I don't really care about the output delay.

The paths that failing for me are those:

Yoni_CMT_0-1719152130903.png

Yoni_CMT_1-1719152202164.png

 

0 Kudos
RichardTanSY_Intel
495 Views

Same concern applied to the input delay constraint. 

You can checkout the document below for better visualization.

 https://www.intel.com/content/www/us/en/docs/programmable/683243/24-1/input-constraints-set-input-delay.html


Do you need help in closing timing? If so, to better understand and troubleshoot the timing failure, it would be really helpful to have a look at your design files in .qar format (Project > Archive Project) .

Could you please share them with me?


Regards,

Richard Tan


0 Kudos
sstrell
Honored Contributor III
480 Views

Your report screenshot is unfortunately cutting off why you have a huge data delay of over 6 ns internal to the device.  Scroll down that data arrival path to show what's causing that massive delay.

Also, for the edge aligned case, you have to use a PLL to shift the incoming clock appropriately, which does not appear to be the case with your design.  You should pretty much always use a PLL whether you are edge or center aligned because the source synchronous PLL compensation mode makes it much easier to meet timing.

0 Kudos
RichardTanSY_Intel
433 Views

Hi,


Could you share the project?


Regards,

Richard Tan


0 Kudos
RichardTanSY_Intel
372 Views

We noticed that we haven't received a response from you regarding the latest previous question/reply/answer, and will now transitioning your inquiry to our community support. We apologize for any inconvenience this may cause and we appreciate your understanding.

 

If you have any further questions or concerns, please don't hesitate to reach out. Please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support.

The community users will be able to help you on your follow-up questions.

 

Thank you for reaching out to us!

 

Best Regards,

Richard Tan


0 Kudos
Reply