Quartus22.1std altlvds_rx: registers not placed in IO - Quartus22.1std altlvds_rx: registers not placed in IO
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
Replies:
Re: Quartus22.1std altlvds_rx: registers not placed in IO
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
Replies:
Re: Quartus22.1std altlvds_rx: registers not placed in IO
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 - 2023-07-20
external_document