Forum Discussion

chris_notsch's avatar
chris_notsch
Icon for New Contributor rankNew Contributor
5 years ago

Forcibly specify correct toggle rate for LVDS pin

Dear Community,

We are facing a critical issue in implementing a design using a Cyclone 10 LP with a pwm generator logic driving a LVDS pin.

The resolution of the output logic is 1ns (1 Ghz delay-chain clock), however the counter clock is 125Mhz and thus maximum possible togglig frequency of the output is 62Mhz.

This has proven to be reliable and working well during development using single ended TTL outputs, however the actual implementation requires the outputs to be LVDS.

Quartus 20.1.0 B711 however reports the toggle rate of the pin to be 1GHz (which is out of spec) and thus fails the fitter operation. (Error 176060)

I have tried to specify both I/O Maximum Toggle Rate as well as Power Toggle Rate for the affected pins to be the real 62.5MHz as well as 0Mhz in the Assignment Editor without any effect.

Is there any other way to force Quartus to accept the correct maximum toggle rate by specifying it via sdc, assignment, vhdl? Is it possible to ignore the check alltogether?

Thank you,

Chris

13 Replies

  • JonWay_altera's avatar
    JonWay_altera
    Icon for Frequent Contributor rankFrequent Contributor

    Hi @chris_notsch

    The datasheet LVDS TX Datarate shows that it cannot go up to 1Gbps.

    When you say: This has proven to be reliable and working well during development using single ended TTL outputs...do you mean you are able to implement this in actual board at 1Gbps datarate?

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

      Yes and no:

      Implement reliably on a board: Yes, on the Intel EK-10CL025U256

      1Gbps data rate: Yes & No: The edge position resolution is 1ns (thus information is transmitted technically with 1Gbps), however the pin can only toggle with at most 62.5MHz as it is impossible for the coounter to reset in less than 16 cycles with the output going high at least once per period.

      It is possible to toggle the pin high or for a single cycle, which results in a well defined output signal with a clean signal, that is eighter high or low for only 1ns, but not both, the period is at least 16 cycles.

      In essence, the transition edges are positioned using 1GHz clock, the square signal however toggles with max. 62.5Mhz. Should glitches occur when the on/off times are lower than 2ns, this is perfectly acceptable since all the driven external circuitry would recognize this as noise and ignore it entirely anyway.

      Edit: During development i managed to test also toggle rates on TTL pins that were according to the design limits not capable of toggle rates of over 500MHz (and in case quartus detected it based on the logic used to drive the pin, rejected with a similar error; For that experiment i could afford extra locic, so i used secondary inputs that i then tied to VCC to trick quartus into thinking the pin would not toggle at that rate - this is no longer an option as the final implementation does not allow for any extra delays before the output.) at up to 1.3GHz and the output signal was still well enough defined for what we need. This may well be a reliability topic and may cause other potentially unexpected behaviour, however it it would be nice to at least be possible to bypass the error, as the device is clearly capable of operating in those conditions.

      • JonWay_altera's avatar
        JonWay_altera
        Icon for Frequent Contributor rankFrequent Contributor

        Hi Chris,

        Could you attach a simplified design that shows the error?