Forum Discussion

mfbm's avatar
mfbm
Icon for New Contributor rankNew Contributor
1 month ago

QSPI DDR Interface with Cyclone10LP: Maximum frequency

Hello,

We are planning to implement a QSPI interface between Altera Cyclone10LP (10CL025YU256A7G) and a microcontroller iMXRT1180. The microcontroller is capable of a maximum frequency of 166 MHz (which would mean 332MHz DDR) on the QSPI interface. We want to know which would be the maximum frequency we are able to achieve on the FPGA for this interface.

We have this information extracted from the datasheet: "I/Os using general-purpose I/O standards such as 3.3-, 3.0-, 2.5-, 1.8-, or 1.5-LVTTL/LVCMOS are capable of a typical 200 MHz interfacing frequency with a 10 pF load." Does this mean the pins will not be able to accept data changing at a rate faster than 200 MHz or will it be possible to have something like a fHSCLK of 200 MHz (which would mean double device operation in Mbps) as we can see in Table 24 (example for RSDS Transmitter) on the datasheet?

Are there any special pins on the FPGA which we can use to achieve maximum potential on this interface? Or any strategies like using IDDR/ODDR modules that could help? Any suggestions are welcome.

Thank you!

8 Replies

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

    Hi mfbm,

     

    "Does this mean the pins will not be able to accept data changing at a rate faster than 200 MHz or will it be possible to have something like a fHSCLK of 200 MHz (which would mean double device operation in Mbps) as we can see in Table 24 (example for RSDS Transmitter) on the datasheet?"

    • In practice, exceeding 200 MHz with standard I/O (LVCMOS) is generally not supported or reliable due to buffer slew rates, timing constraints, and signal integrity limitations

     

    "Are there any special pins on the FPGA which we can use to achieve maximum potential on this interface? Or any strategies like using IDDR/ODDR modules that could help?"

    • Use the fastest I/O standard that your board design supports (e.g., 1.8V LVCMOS for faster edge rates, though still limited to ~200 MHz).
    • Utilize IDDR/ODDR for double data rate operation, but the clock frequency cannot exceed the I/O's rated frequency (200 MHz), and setup/hold timing becomes more challenging at higher rates.
    • Minimize PCB trace lengths, use controlled impedance and proper termination for optimal signal integrity.
    • Synchronize the QSPI clock to the FPGA's internal clock domain to avoid metastability.
    • Consider using parallel I/O banks for a wider data bus if higher throughput is needed.

     

    Regards,

    Adzim

    • mfbm's avatar
      mfbm
      Icon for New Contributor rankNew Contributor

      Thank you very much for your answer and your suggestions. I see the general proposal is to use 1,8V LVCMOS standard on the pins. How much does it penalize using 3V3 LVCMOS standard vs. 1,8V in terms of achiveable frequency?

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

        Hi mfbm ,

         

        "How much does it penalize using 3V3 LVCMOS standard vs. 1,8V in terms of achiveable frequency?"

        • Lower voltage I/O standards (e.g., 1.8V LVCMOS) support higher switching frequencies than higher voltage standards (e.g., 3.3V LVCMOS).
        • This is due to faster rise and fall times and reduced capacitive charging time at lower voltages.

         

        Regards,

        Adzim

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

    Hi,
    I'd expect that single-ended IO, e.g. 1.8V standard can basically work for the interface. Maximum IO speed on the pin level is mainly limited by capacitive load and driver current strength. Achieving timing closure for DDR RX and TX is the other point. You don't only  care for maximal pin toggle rate of a specific IO standard but also for delay skew from slowest to fastest pin timing over process and temperature variations, which narrows the sample window. Respectively setup- and hold margin may be more critical than simple clock speed.

    Mentioned 166 MHz speed is only achieved in FlexSPI mode 3 with DQS RX strobe, it has to be provided by your interface design. DDIO registers should be used. I don't know if 166 MHz can be reliably achieved, something like 100 MHz should hopefully work.

    B.t.w., I'm also planning QSPI DDR interface for a similar chip, but without DQS because it's occupied by other usage in my application.

    Regards
    Frank

    • mfbm's avatar
      mfbm
      Icon for New Contributor rankNew Contributor

      Hi, thank you for your answer. I am aware that I have to implement a DQS strategy to achieve high frequencies. I'm trying to find information about setup and hold times of the pins on the datasheet but I can't find it. Is there something I am missing?