Files
FPGA-Neural/benchmark_results/fpga_benchmark.csv
T
michele cfd5e98a0e feat: add FPGA-Neural benchmark tooling + same-tier ECP5 P2/P4/P8 results
tools/fpga_benchmark.py: parametric Yosys + nextpnr-ecp5 benchmark
harness for the LFE5U-45F-8BG381 (speed grade -8, 80 MHz target),
sweeping PARALLEL over the neuron layer and parsing Fmax/LUT4/DFF/DSP
utilization out of the nextpnr report into JSON/CSV.

synth/ecp5/p2, p4, p8: real synthesis+PnR results backing the
same-price-tier FPGA comparison (P2: 87.88 MHz PASS, P4: 75.01 MHz
FAIL, P8: 147.62 MHz PASS -- non-monotonic, dominated by placement
noise since the whole design uses <2% of the device's LUT4 fabric at
every setting, and P8 notably maps to 0 DSP blocks vs 8/16 for P2/P4).

synth/ecp5/top.v: benchmark harness top-level, reworked to generate
deterministic non-constant X/weights/bias via `keep`-attributed
generate blocks so Yosys can't constant-fold the datapath away.

Also adds .gitignore for Python's __pycache__/*.pyc.
2026-09-02 19:48:03 +02:00

541 B

1target_idfpgafamilyparalleln_inputsn_neuronsstatusfmax_mhzperiod_nsslack_nslutffdsplut_pctff_pctdsp_pctmac_per_cyclegroups_per_neurontotal_maccycles_per_layercost_eurmac_per_secondmac_per_eurobuild_time_serror
2ecp5_45fLFE5U-45F-8BG381ECP582564FAIL3232323235.0nextpnr placement/routing failed
3ecp5_45fLFE5U-45F-8BG381ECP542564FAIL1664166435.0nextpnr placement/routing failed
4ecp5_45fLFE5U-45F-8BG381ECP522564PASS8128812835.01.504363291998743