Forum Discussion

Seadog's avatar
Seadog
Icon for Occasional Contributor rankOccasional Contributor
7 years ago

Timing closure on Arria 10

I am trying to close timing on an Arria 10 Design (A057K2F40I2). I would like to know if some of the problems I am seeing are device limitations, or just tool issues or operator error.

The first concerns setup time to I/O registers. Here is an example, from Chip Planner:

The delay from the pad to the register input exceeds 5 ns (see below).

This seems a bit high to me, but perhaps mediocre I/O cell performance is a limitation of mid-priced FPGAs.

The second problem regards synthesis results, and the effect therof on timing. We have a block of 32-bit registers, which can be accessed via a PCIe endpoint and Avalon shim interface. There are about 100 - 150 registers, and a 14-bit address. The readback mux for the register block is failing setup time by a significant margin. I would expect the mux for each read data bit to be implemented separately, and the resulting combinatorial circuit would have fewer than 200 inputs. With 6-input LUTs, it should be possible to implement that logic in three or four levels. But I am seeing on the order of 30 levels:

I have added a couple of extra clock ticks and am using a multicycle constraint, but I am still seeing a bunch of paths that don't make it.

Here is the chip planner view for the above mux:

So is this an Arria 10 limitation? I have tried Prime Pro 18.1 and 19.2, as well as Prime Standard 18.2, and I get similar results in each case.

15 Replies

  • sstrell's avatar
    sstrell
    Icon for Super Contributor rankSuper Contributor

    Can you at least post Timing Analyzer reports on the failing paths, especially the Data Path tab in a detailed report, to see all the resources the failing paths are passing through?

    #iwork4intel

  • sstrell's avatar
    sstrell
    Icon for Super Contributor rankSuper Contributor

    Can you post your .sdc file? That will be much more useful to see than Chip Planner screenshots.

    #iwork4intel

  • Seadog's avatar
    Seadog
    Icon for Occasional Contributor rankOccasional Contributor

    I am sorry, but I am unable to insert or attach image files (not sure if this is some IT problem on my end or what). Regardless, I think there is enough information in my posting to describe the problem, primarily:

    • Internal delay in an I/O cell (pad to register input) can be as high as 5 ns
    • a combinatorial circuit with ~150 inputs requires 30 levels of 6-input LUTs (not just 30 LUTs, a a timing chain 30 LUTs deep).

    Thanks again.

  • KhaiChein_Y_Intel's avatar
    KhaiChein_Y_Intel
    Icon for Regular Contributor rankRegular Contributor

    Hi,

    The screenshot cannot be seen. Could you reattach? Do you have the block diagram?

    Thanks.