You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While synthesizing a SHA3 design on the Colorlight 5A-75B (Lattice ECP5 FPGA) board, I noticed that the LUT usage was way higher than when I used Vivado to synthesize the same design on a Xilinx board I own. It turns out that synthesizing with -nowidelut drastically reduced resource usage and significantly improved timing as well.
The problem was in the theta step of the algorithm:
Synthesizing this module with -nowidelut gives the following resource usage:
Number of cells: 1972
LUT4 1972
And without the flag:
Number of cells: 9512
L6MUX21 1188
LUT4 5656
PFUMX 2668
Expected Behavior
I would expect that at least the timing would be improved by the usage of the wide muxes found on the ECP5 FPGA.
Actual Behavior
Synthesizing the full design with -nowidelut improved the timing, Fmax being 90 MHz, vs 60 MHz without the flag. Of course I verified that this module was in the critical path.
The text was updated successfully, but these errors were encountered:
Version
0.45+139
On which OS did this happen?
Linux
Reproduction Steps
While synthesizing a SHA3 design on the Colorlight 5A-75B (Lattice ECP5 FPGA) board, I noticed that the LUT usage was way higher than when I used Vivado to synthesize the same design on a Xilinx board I own. It turns out that synthesizing with
-nowidelut
drastically reduced resource usage and significantly improved timing as well.The problem was in the theta step of the algorithm:
Synthesizing this module with
-nowidelut
gives the following resource usage:And without the flag:
Expected Behavior
I would expect that at least the timing would be improved by the usage of the wide muxes found on the ECP5 FPGA.
Actual Behavior
Synthesizing the full design with
-nowidelut
improved the timing,Fmax
being 90 MHz, vs 60 MHz without the flag. Of course I verified that this module was in the critical path.The text was updated successfully, but these errors were encountered: