Forum Discussion

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

ALTLVDS pins io standard

hi,

I am using ALTLVDS megacore for serialization and deserialization.

the serializer has tx_out : OUT STD_LOGIC_VECTOR (0 DOWNTO 0)

and the deserializer has rx_in : IN STD_LOGIC_VECTOR (0 DOWNTO 0)

when i assign the io standar for these pins as LVDS, the pin planner creates tx_out(0)n & rx_in(0)n. when i assign these pins to diffential pain then during fitter i get the below error

Error: Found two LVDS low registers instead of one!

is am i connecting pins correctly or do i have to add an alt_inbuff_diff & alt_outbuff_diff?

11 Replies

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

    I found the reason, why Quartus doesn't accept your design.

    You connected four RxLVDS instances to the same pin. This doesn't work, because Quartus needs to implement the double data rate registers as IO registers. So there can be only one RxLVDS MegaFunction for each pin.

    P.S.: You can disable the requirement to use IO-registers by removing the Altera synthesis attributes LVDS_RX_REGISTER=LOW and LVDS_RX_REGISTER=HIGH from RxLVDS_lvds_rx.v, which resides as a copy in the db directory. Then Quartus can use regular LE registers, but the timing will become worse, of course.