Agilex 5: Cascading DSPs in tensor-mode doesn't work
Hi,
In my design for Agilex 5 I have two DSPs, configured in tensor fixed-point mode with side feed control, cascaded together. I expect the summation of the dot products in the second (last-in-chain) DSP to include the result from the previous (first-in-chain) DSP.
This works in simulation using the simulation models generated by the IP generator (which are based on tenm_dsp_prime primitives), and the Technology Map Viewer shows that the cascade connection is present in the placed-and-routed design.
The issue is that it doesn't work once programmed on the FPGA. The summation of the dot products in both DSPs works in each of them separately, but the second (last-in-chain) DSP doesn't include the cascade output from the first DSP. This has been confirmed with SignalTap, i.e., I can see that the dot-product summation outputs (FXP32) correctly reflect the result of the dot-product summation for their respective inputs, but the second DSP doesn't include the cascaded result. The cascaded path cannot be tapped.
Both DSPs were generated with IP generator with the following settings:
* DSP 1 (first-in-chain): cascade_in = disabled (ZERO_TENSOR_CHAIN_OUTPUT set in .ip file), cascade_out = enabled
* DSP 2 (last-in-chain) : cascade_in = enabled (TENSOR_CHAIN_OUTPUT set in .ip file), cascade_out = disabled
My suspicion is that the input multiplexer in the last-in-chain DSP is somehow not set correctly to include the cascaded path, despite correct settings in the .ip file.
Here are the details of my setup:
* dev kit: Agilex 5E065B Premium DK
* tools : Quartus Prime 25.3.1 build 100 12/19/2025 SC Pro Edition + 1.02 patch
* os : Ubuntu 24.04.3 LTS
I'd like to confirm whether it's a known issue with the cascade multiplexer configuration or whether some additional constraints are needed to make sure the cascaded path is correctly enabled.
Can you provide a resolution to this issue?
Thanks,
KJ