Hardware neural network accelerator with systolic array architecture in SystemVerilog.
- MAC units with planned uniform quantization.
- Systolic array for matrix-vector multiplication
- Weight store with column-wise streaming
- Queue for activation storage and data feeding
- FSM controller for multi-layer execution
| Module | Description |
|---|---|
mac.sv |
Multiply-accumulate |
matmul.sv |
N×N systolic array |
weight_store.sv |
Column-addressable weight memory |
queue.sv |
Shift register with parallel load |
accel.sv |
Top-level controller with FSM |
make module # to run the tb for moduleRequirements: Icarus Verilog, GTKWave (optional)
- TODO: Uniform quantization with configurable
SCALE_SHIFTparameter - Systolic array requires
(N-1)padding columns per layer for pipeline delays - FSM cycles:
IDLE → INIT → (COMPUTE → LOAD_OUTPUT)× → IDLE - Each
COMPUTEstate processes one weight column over N cycles
