Forum Discussion

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

PRESERVE_UNUSED_XCVR_CHANNEL persisting critical warning

Hello,

I'm using Quartus 16.0.1 Prime and I'm using the Arria10 FPGA. (DEVICE=10AX115U4F45E3SGE3).

When compiling a design without RX/TX channels I always get this critical warning:

Critical Warning (17951): There are 96 unused RX channels in the device. If you intend to use any of these channels in the future,

you must add the assignment 'set_instance_assignment -name PRESERVE_UNUSED_XCVR_CHANNEL ON -to <pin_name>' in your QSF file.

This assignment will preserve the performance of specified channels over time.

I tried to add the suggested assignment in the QSF file. for example:

set_instance_assignment -name PRESERVE_UNUSED_XCVR_CHANNEL OFF -to PIN_AC38

However this seems undetected/not recognized.

Any idea how to set the assignment correctly?

Thanks,

Leon

6 Replies

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

    Hi Leon -

    I don't think that OFF is a legitimate setting for this. It's off by default, so "set_instance_assignment -name PRESERVE_UNUSED_XCVR_CHANNEL OFF -to PIN_AC38" would have no effect.

    I think the best way to handle this is to do a global enable:

    set_instance_assignment -name PRESERVE_UNUSED_XCVR_CHANNEL ON

    This will preserve all unused transceiver channels at the cost (supposedly) of only 1mW extra power dissipated per channel.

    See this as well:

    https://www.altera.com/support/support-resources/knowledge-base/solutions/rd06092016_720.html

    So to get the full effect you need to install update 1 to QP 16.0. This was news to me as well. Altera has done a terrible job of explaining this whole unused transceiver BTI degradation issue. It's not mentioned anywhere in the Arria 10 documentation. I discovered it when I saw lines like this in the .qsf files for Arria 10 reference designs from rocketboards:

    set_instance_assignment -name ENABLE_UNUSED_RX_CLOCK_WORKAROUND ON -to AE33

    I asked our local Altera account manager about it and she forwarded me some info on it from a super-secret Altera internal presentation. Really stupefying to me the way they handle issues sometimes.

    Now when I build with 16.0 I get the following fitter messages:

    Warning (18687): The QSF assignment ENABLE_UNUSED_RX_CLOCK_WORKAROUND has been deprecated. It has been superseded by the QSF assignment PRESERVE_UNUSED_XCVR_CHANNEL.

    Info (17952): Channel-specific preservation of unused RX channels is enabled. Preserving 10 unused RX channel location(s).

    Info (17953): Preserved 10 unused RX channel(s).

    So the ENABLE_UNUSED_RX_CLOCK_WORKAROUND setting has been replaced by PRESERVE_UNUSED_XCVR_CHANNEL in 16.0, but they forgot to preserve the unused Tx channels. To get that you need to update to 16.0.1.

    Hard to keep up with all the secret half-information with Arria 10.

    Good luck. I hope this helps.

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

    I just installed 16.0.1 and included the following in the .qsf file:

    set_instance_assignment -name PRESERVE_UNUSED_XCVR_CHANNEL ON

    I now get the following messages from the fitter:

    Info (17952): Global preservation of unused RX channels is enabled. Preserving 48 unused RX channel location(s).

    Info (18653): Global preservation of unused TX channels is enabled. Preserving 48 unused TX channel location(s).

    Info (17953): Preserved 48 unused RX channel(s).

    Info (18654): Preserved 48 unused TX channel(s).

    This is targeting ES2 silicon on the Arria 10 SoC dev kit.

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

    Hi Bob,

    Great thanks for your help.

    Do you use the Pro version of Quartus 16.0.1 ?

    I tried the Standard version (16.0.1) and this PRESERVE_UNUSED_XCVR_CHANNEL seems to be ignored.

    I'm installing the Pro version now and hopefully I will get the same Fitter Info messages as you saw

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

    Hi Leon -

    I'm using the standard version. Minor correction to my post above. I'm actually using this syntax:

    set_global_assignment -name PRESERVE_UNUSED_XCVR_CHANNEL ON

    Not sure if that will make a difference for you or not but maybe worth a try.

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

    Hi Bob,

    That made it working. (it should be "set_global_assignment" and not "set_instance_assignment".

    Now I see in the Fitter log:

    Info (17952): Global preservation of unused RX channels is enabled. Preserving 72 unused RX channel location(s).

    Info (18653): Global preservation of unused TX channels is enabled. Preserving 72 unused TX channel location(s).

    Info (17953): Preserved 72 unused RX channel(s).

    Info (18654): Preserved 72 unused TX channel(s).

    So, problem solved. Thanks!

    Regards,

    Leon

    BTW:

    I'm still using Quartus 16.0.0 standard.

    (I cannot get the pro version to work; I get the same issue as described here: http://www.alteraforum.com/forum/showthread.php?t=52337&highlight=prime )
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks Bob,

    Your last message made it working. I corrected the syntax and in Quartus 16.0.1 (standard) it is working now.

    Thanks for your help!

    Leon

    (hope my reply will get through this time..)