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

Signal Tap Logic Analyzer Interferes with Normal Operation in MAX10 FPGA

Reza5
Beginner
1,052 Views

Hi,

 

I am facing a problem when I enable Signal Tap Logic Analyzer to monitor I/Os. I have a relatively big project (with tens of modules) and it operates normally when there is no Signal Tap Logic Analyzer. But when I enable the feature to monitor the I/Os, I've identified a malfunction in one module responsible for LPC-to-UART conversion. I cannot confirm the proper functioning of other modules as I am unable to monitor them. The malfunction in the specified module is evident through unsuccessful UART read/write operations.

 

Could Signal Tap Logic Analyzer potentially interfere with the FPGA's normal operation?

 

Note 1: I am utilizing the main 24MHz input clock as the sampling rate in Signal Tap Logic Analyzer. This clock is also employed in all modules. The Signal Tap RAM type is set to Auto, and the sample depth is 64.

 

Note 2: When I reduce the number of signals to monitor in Signal Tap, the UART reading operation starts to function correctly. However, writing operations remain problematic. This suggests that the level of interference changes based on the number of monitored signals.

 

Thanks,

Reza,

0 Kudos
6 Replies
FvM
Honored Contributor II
1,024 Views
Hi,
this usually happens if the design has timing problems, either explicite (failing timing constraints) or hidden (not correctly synchronizing external signals or signals crossing clock domains).

Adding signal tap changes routing of the complete design and can therefore reveal hidden problems.

Does the design without and with signal tap pass timing analysis? An UART usually involves external signals, e.g. RxD. Are they synchronized correctly before entering your logic?
Reza5
Beginner
1,008 Views

Hi,

 

Timing Analyzer shows some violation in UART section. This might be the problem.

As I am new to Intel FPGA, could you please clarify what is meant by "synchronized correctly before entering your logic"?

 

Thanks,

0 Kudos
FvM
Honored Contributor II
1,000 Views
Hi, processing RxD is a good example for need of
synchronization. Falling edge of start bit will usually affect more than one register bit. If the edge occurs near to active UART clock edge, there's a good change that some registers see start bit at one clock and others at the next, causing unexpected and possibly even unrecoverable states. You don't need metastability to achieve this, just normal clock and signal delay skew. The solution is to synchronize all foreign signals like RxD with a 2 or 3 register chain. One register is good to get rid of 99.9 % of failures, the others are needed to fight metastability.
0 Kudos
ShengN_Intel
Employee
988 Views

Hi,


May be you can try to increase the pipeline factor in the Signal Configuration pane of Signal-Tap to boost the fMAX check this link https://www.intel.com/content/www/us/en/docs/programmable/683819/23-4/specifying-pipeline-settings.html


Thanks,

Best Regards,

Sheng


0 Kudos
ShengN_Intel
Employee
877 Views

Hi,


Do you have any further concern or consideration?


Thanks,

Best Regards,

Sheng


0 Kudos
Reza5
Beginner
764 Views

Hi Sheng,

 

Not at the moment, I need to address a timing issue in my project to see if I can resolve the problem. Thank you for your assistance.

Also, thanks to FvM for his time

 

Thanks,

Best Regards,

Reza,

0 Kudos
Reply