Yosys Synthesis Results¶
Gate-level synthesis of SC-NeuroCore Verilog RTL modules using Yosys 0.63.
Synthesized: 2026-03-25
Yosys version: 0.63+173 (OSS CAD Suite)
Target: Generic gate-level (no specific technology library)
Command: yosys -p "read_verilog <module>.v; synth -flatten; stat"
Results¶
| Module | Cells | Wire Bits | Function |
|---|---|---|---|
sc_bitstream_encoder.v |
115 | 181 | LFSR-16 + comparator (bit-true with Python PredictiveSpikeCodec LFSR mode) |
sc_cordiv.v |
2 | 6 | CORDIV stochastic division (1 AND + 1 MUX per bit) |
sc_dotproduct_to_current.v |
448 | 515 | AND accumulation + popcount for dense layer |
sc_aer_encoder.v |
1,423 | 1,602 | Priority encoder for AER event generation from spike vector |
sc_event_neuron.v |
2,135 | 2,202 | Event-driven LIF with async spike I/O |
sc_lif_neuron.v |
3,134 | 3,216 | Q8.8 fixed-point LIF (integrate + fire + reset) |
BCI Codec Hardware Estimates¶
For a 1024-channel predictive spike codec on-implant:
| Component | Per-Channel Cells | 1024 Channels |
|---|---|---|
LFSR predictor (sc_bitstream_encoder.v) |
115 | 117,760 |
| XOR error gate | 1 | 1,024 |
| Q8.8 rate accumulator (shift-add) | ~80 | ~82,000 |
| ISI counter + varint encoder | ~200 | ~205,000 |
| Total (excl. SRAM) | ~396 | ~406K |
At 7nm standard cell (~0.05 um^2/gate), 406K gates = ~0.02 mm^2. Power estimate: ~2-5 mW at 1V, 20 kHz (dominated by SRAM for ISI FIFOs).
These are Yosys generic synthesis numbers. ASIC/FPGA-specific results require technology-mapped synthesis (Synopsys DC, Vivado, Quartus).
Notes¶
sc_cordiv.vis trivially small (2 cells) because CORDIV is sequential — one AND gate and one MUX per clock cyclesc_lif_neuron.vis the largest because Q8.8 fixed-point arithmetic requires barrel shifters and adders for the membrane dynamicssc_bitstream_encoder.vmatches PythonFixedPointLFSR+FixedPointBitstreamEncoderand the RustLfsr16+BitstreamEncoder— bit-for-bit identical