Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
15388 Discussions

22.1 PRO: (*preserve_for_debug*) signals not preserved

alexislms
New Contributor III
572 Views

1. I follow the steps "2.4.1. Preserving Signals for Monitoring and Debugging" in 683819

2. I watched and followed this Intel-FPGA video: https://www.youtube.com/watch?v=sEKc2ut42gU

 

alexislms_0-1653546029690.png

alexislms_1-1653546204613.png

 

alexislms_2-1653546325859.png

 

What do I do wrong?

 

Quartus Pro 22.1

 

Regards,

 

0 Kudos
1 Solution
Nurina
Employee
102 Views

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.


View solution in original post

29 Replies
alexislms
New Contributor III
139 Views

Hi @Nurina,

 

Please define "use". The signal exists, it's driven by something but doesn't have any fanouts. (it can be a link_up, some counters or anything meaningful only for debugging purpose)

Also, as @sstrell suggested, adding the signal as virtual pin doesn't change anything, the signal is still optimized out.

alexislms_0-1654950068745.png

After Analysis&Synthesis:

alexislms_1-1654950091155.png

 

This needs to be fixed.

 

Regards,

alexislms
New Contributor III
125 Views

I've also tried via the Assignment Editor:

set_instance_assignment -name PRESERVE_FOR_DEBUG ON -to *sigtodebug*

without success. The signal isn't kept.

 

Nurina
Employee
115 Views

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


alexislms
New Contributor III
114 Views

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,

Nurina
Employee
101 Views

Hi,


This problem has been previously reported to the engineering team and they are currently working on a fix for a future version of Quartus. I'm checking with them if there is a workaround you can use while waiting for the permanent fix.


Regards,

Nurina


alexislms
New Contributor III
98 Views

@Nurina,

 

Thank you, will it be in a future version (few months) or a patch (few days)? What's the time frame we can expect it to be working?

 

Regards,

Nurina
Employee
88 Views

Hi,


The fix is for a future version, so it will take a few months.

For now, a workaround would be to connect the signal to a top-level output port.


Could you attach your design? The engineering team might be able to do something to help with your situation.


Regards,

Nurina


alexislms
New Contributor III
85 Views

Thank you.

I can't attach my design, the basic use cases don't work.

They can find some examples in my previous messages above. (+enum +mixed packed/unpacked arrays +...)

 

Looking forward to being able to use this feature.

Nurina
Employee
103 Views

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.


Reply