Yosys + nextpnr-ecp5 synthesis of the extended spi_neuron_top.v (layer_sequencer + mux + arbiter Port C wired in), speed grade -8, N_INPUTS=32/N_NEURONS=1: PARALLEL=8 -> 40.57 MHz FAIL, PARALLEL=2 -> 42.54 MHz FAIL. Both worse than Phase 4 alone (~52.58/~55.85 MHz for the identical configs) -- the Phase 5 wiring cost real timing headroom. Critical path also shifted from Phase 4's saturation- comparator finding to neuron_memory's x_mem/w_mem LUT-RAM read-mux tree feeding the accumulator. Full analysis and candidate next steps (block RAM for x_mem/w_mem, pipelining, a seed sweep to separate placement noise from a structural bottleneck) recorded under Phase 7 in docs/FPGA-NeuralNetwork-Engine.md.
28 lines
1.1 KiB
Plaintext
28 lines
1.1 KiB
Plaintext
read_verilog -sv \
|
|
/Users/michelebigi/Development/FPGA-Neural/FPGA-Neural/rtl/spi_slave.v \
|
|
/Users/michelebigi/Development/FPGA-Neural/FPGA-Neural/rtl/spi_engine.v \
|
|
/Users/michelebigi/Development/FPGA-Neural/FPGA-Neural/rtl/layer_sequencer.v \
|
|
/Users/michelebigi/Development/FPGA-Neural/FPGA-Neural/rtl/mem_arbiter.v \
|
|
/Users/michelebigi/Development/FPGA-Neural/FPGA-Neural/rtl/neuron_memory.v \
|
|
/Users/michelebigi/Development/FPGA-Neural/FPGA-Neural/rtl/int8_memory_access.v \
|
|
/Users/michelebigi/Development/FPGA-Neural/FPGA-Neural/rtl/memory_interface.v \
|
|
/Users/michelebigi/Development/FPGA-Neural/FPGA-Neural/rtl/psram_controller.v \
|
|
/Users/michelebigi/Development/FPGA-Neural/FPGA-Neural/rtl/neuron_parallel.v \
|
|
/Users/michelebigi/Development/FPGA-Neural/FPGA-Neural/rtl/mac8.v \
|
|
/Users/michelebigi/Development/FPGA-Neural/FPGA-Neural/rtl/mac_unit.v \
|
|
/Users/michelebigi/Development/FPGA-Neural/FPGA-Neural/rtl/spi_neuron_top.v
|
|
|
|
hierarchy -top spi_neuron_top
|
|
|
|
proc
|
|
flatten
|
|
opt
|
|
memory
|
|
opt
|
|
techmap
|
|
opt
|
|
abc -g simple
|
|
clean
|
|
|
|
synth_ecp5 -top spi_neuron_top -json /Users/michelebigi/Development/FPGA-Neural/FPGA-Neural/synth/ecp5/spi_neuron_top_p8/top.json
|