Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
10 years ago

PLL problem using LVDS RX and TX pins on the same bank in a Cyclone V

Hello all,

I'm building a small loopback test setup, where I output data coming from a data pattern generated to a pair of LVDS signals (data & clock) and receive those same signals in another pair of differential signals (again data & clock). I'm using a Cyclone V SX, from the TerasIC SoCKit development board.

As far as I've tried, I can map the LVDS output pins to the respective LVDS TX ouput pins (A6 for data & C8 for clock), and the system fits. If I set specific pins for the LVDS RX pins as well (e.g. D11 for data & F13 for clock), the system no longer fits, indicating an error regarding the fractional PLL. It goes like this (only the red errors output by quartus):

Error (14566): Could not place 1 periphery component(s) due to conflicts with existing constraints (1 fractional PLL(s))
    Error (175001): Could not place fractional PLL, which is within ALTLVDS_TX lvds_test
            Error (177020): The PLL reference clock was not placed in a dedicated input pin that can reach the fractional PLL
Error (12289): An error occurred while applying the periphery constraints. Review the offending constraints and rerun the Fitter.

I have tried many things. I notice that if I assign either only the TX or the RX pins quartus fits well, but not with both at the same time. I believe it has something to do with the use of the same bank for both transmitting and receiving data via LVDS.

I can add that when I set only the TX pins and leave the RX pins unassigned (or the other way around), quartus fits the design but assigns the RX pins to some other differential pins that are not accessible due to how the SoCKit board is designed (only has access to differential TX and RX signals via the HSMC).

Is there any workaround for this problem?

Regards

EDIT: Both the RX and TX LVDS PLL clock resource are set to "Auto-select".

5 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi,

    Just wonder if you are using separate TX only and RX only ALTLVDS? If yes, probably the issue is due to PLL sharing or limited PLL resource. You can try to use duplex mode ALTLVDS to see if can pass the compilation.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I am, yes. I have separate LVDS cores for transmission and reception.

    How do I merge both into a duplex mode ALTLVDS?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi Finger-cutter

    Quartus Software will automatically merge PLL when it has the chance.

    You might want to check if both TX and RX are sharing the same reset pin and also the same refclk pin. Given if the pll is in the same bank, then Quartus software will try to merge them.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi Finger-cutter

    For PLL merging to happen, the input clocks and the settings on the outputs must be identical.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    By the way, you could use duplex mode ALTLVDS instead of two separate TX and RX only ALTLVDS. Both the TX and RX can still work independently.