Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21269 Discussions

Quartus22.1std altlvds_rx: registers not placed in IO

Gauthier_Auvray
New Contributor I
634 Views
Hi, We migrated a design from Quartus13.1 to Quartus22.1std and we are facing an issue with ALTLVDS_RX ip (non DPA mode, external PLL, 9 channels, de-serialization factor=6): The DDIO registers are not placed in the IO registers. Quartus reports the following warnings: Warning (176225): Can't pack node cortyx_mcb_qsys:cortyx_mcb_qsys_inst|ads5272_controller:ads5272|ads5272_rx:ads5272_rx_inst|ads5272_lvds:lvds_inst|altlvds_rx:ALTLVDS_RX_component|ads5272_lvds_lvds_rx:auto_generated|ads5272_lvds_lvds_ddio_in:ddio_in|ddio_h_reg[0] to I/O pin Warning (176270): Can't pack node "cortyx_mcb_qsys:cortyx_mcb_qsys_inst|ads5272_controller:ads5272|ads5272_rx:ads5272_rx_inst|ads5272_lvds:lvds_inst|altlvds_rx:ALTLVDS_RX_component|ads5272_lvds_lvds_rx:auto_generated|ads5272_lvds_lvds_ddio_in:ddio_in|ddio_l_reg[0]" and I/O cell ads_chan_out[0] -- packing the node into the I/O cell may cause incorrect processing Info (126002): Cannot modify or duplicate node "cortyx_mcb_qsys:cortyx_mcb_qsys_inst|ads5272_controller:ads5272|ads5272_rx:ads5272_rx_inst|ads5272_lvds:lvds_inst|altlvds_rx:ALTLVDS_RX_component|ads5272_lvds_lvds_rx:auto_generated|ads5272_lvds_lvds_ddio_in:ddio_in|ddio_l_reg[0]" with Register Packing -- node is set to USER_DONT_TOUCH We tried to regenerated the core from Quartus22 without success. Adding fast input register assignment does not help. ALTLVDS_RX ip is part of a custom IP that is used in PlatformDesigner. DDIO registers are properly packed with Quartus13. Thanks, Gauthier
0 Kudos
1 Solution
Gauthier_Auvray
New Contributor I
559 Views

Hi,

 

We found a solution by adding an assignment:

 

set_instance_assignment -name ADV_NETLIST_OPT_ALLOWED ALWAYS_ALLOW -to "cortyx_mcb_qsys:cortyx_mcb_qsys_inst|ads5272_controller:ads5272|ads5272_rx:ads5272_rx_inst|ads5272_lvds:lvds_inst|altlvds_rx:ALTLVDS_RX_component|ads5272_lvds_lvds_rx:auto_generated|ads5272_lvds_lvds_ddio_in:ddio_in|ddio_l_reg"

set_instance_assignment -name ADV_NETLIST_OPT_ALLOWED ALWAYS_ALLOW -to "cortyx_mcb_qsys:cortyx_mcb_qsys_inst|ads5272_controller:ads5272|ads5272_rx:ads5272_rx_inst|ads5272_lvds:lvds_inst|altlvds_rx:ALTLVDS_RX_component|ads5272_lvds_lvds_rx:auto_generated|ads5272_lvds_lvds_ddio_in:ddio_in|ddio_h_reg"

 

Now ddio are packed in IOs

 

Thanks,

 

Gauthier

 

View solution in original post

0 Kudos
2 Replies
AqidAyman_Intel
Employee
576 Views

Hi,


Can you share the .qar file so that I can reproduce it from my side and further investigate the issue you faced?

You can choose to share it privately to me or post it here.


Regards,

Aqid


0 Kudos
Gauthier_Auvray
New Contributor I
560 Views

Hi,

 

We found a solution by adding an assignment:

 

set_instance_assignment -name ADV_NETLIST_OPT_ALLOWED ALWAYS_ALLOW -to "cortyx_mcb_qsys:cortyx_mcb_qsys_inst|ads5272_controller:ads5272|ads5272_rx:ads5272_rx_inst|ads5272_lvds:lvds_inst|altlvds_rx:ALTLVDS_RX_component|ads5272_lvds_lvds_rx:auto_generated|ads5272_lvds_lvds_ddio_in:ddio_in|ddio_l_reg"

set_instance_assignment -name ADV_NETLIST_OPT_ALLOWED ALWAYS_ALLOW -to "cortyx_mcb_qsys:cortyx_mcb_qsys_inst|ads5272_controller:ads5272|ads5272_rx:ads5272_rx_inst|ads5272_lvds:lvds_inst|altlvds_rx:ALTLVDS_RX_component|ads5272_lvds_lvds_rx:auto_generated|ads5272_lvds_lvds_ddio_in:ddio_in|ddio_h_reg"

 

Now ddio are packed in IOs

 

Thanks,

 

Gauthier

 

0 Kudos
Reply