Knowledge Base Article
Why does Nios® V/g experience data corruption when using DTCM?
Description
Due to a problem in Quartus® Prime software, data corruption may occur when running a Nios® V/g processor application that interacts with a Tightly-Coupled Memory (TCM). This happens because of a RTL bug in the load-store unit.
This problem is affecting Nios® V/g processor in,
- Quartus® Prime Pro Edition release 25.3.1 and earlier
- Quartus® Prime Standard Edition release 25.1 and earlier
When Nios® V/g processor executes a non-TCM load (i.e. Load from On-Chip Memory or memory-mapped CSR) followed by a Data TCM load, the latter corrupts the former. This causes the non-TCM load to receive incorrect load data.
For example,
lw rd1,0(non-TCM)
lw rd2,0(TCM)
|
Expectation |
Actual Failure |
|---|---|
|
rd1 = load data from address “non-TCM” |
rd1 = load data from address “TCM” |
|
rd2 = load data from address “TCM“ |
rd2 = load data from address “TCM“ |
Resolution
This problem is fixed in Quartus® Prime Pro Edition 26.1 and is scheduled to be resolved in a future Quartus® Prime Standard Edition release.
Additional Information
A patch is available to fix this problem.
- Quartus® Prime Standard Edition Software v25.1 Patch 0.01
Please contact Altera Support for additional support.