Forum Discussion
22.1 PRO: (*preserve_for_debug*) signals not preserved
- 4 years ago
Hello,
Alright thanks for the feedback. I've let them know that you expect this fix to apply to all data types.
In the meantime your only workaround is to have the signal connected to an i/o port.
With that, I now transition this thread to community support. If you have a new question, feel free to open a new thread to get the support from Intel experts. Otherwise, the community users will continue to help you on this thread. Thank you.
Regards,
Nurina
P/S: If you like my comment, feel free to give Kudos. If my comment solved your problem, feel free to accept my comment as solution.
Hi,
By use, I meant that it's driven by something with fanouts. Although with this attribute we should expect it to be preserved no matter what.
This looks like a bug, I'm reporting this issue to our engineering team. I will let you know of any updates.
Regards,
Nurina
Thank you for the confirmation @Nurina.
I've been trying to use this attribute for few days now, it has never worked properly.
Some times I can see the signal under "Preserved for debugging" in the "Node Finder" but the signals are driven and have fanouts, nevertheless even without the attribute they wouldn't be optimized away and are present under "Pre-synthesis".
My question was about a very simple case to show the bug, my use case is mostly using typedef and struct (packed).
typedef struct { logic init; logic [3:0] b; } t_data; (*preserve_for_debug*)t_data tx; (*preserve_for_debug*)t_data rx; (*preserve_for_debug*)t_data tx_array[4]; (*preserve_for_debug*)t_data rx_array[4];
Please make sure this is also possible using any data types of Verilog/SystemVerilog.
Regards,