This project implements a 5-input Single Layer Perceptron (SLP) with ReLU activation in VHDL and deploys it on the Basys3 FPGA using Vivado Design Suite.
The design integrates:
- A parallel dot-product MAC
- Bias addition
- ReLU activation
- 2-stage pipelining for timing optimization
The goal is to demonstrate efficient fixed-point neural network acceleration on FPGA while meeting 100 MHz timing constraints.
- Computes the dot product between 5-element input and weight vectors.
- Uses signed fixed-point Q4.4 format.
- Core computational block of the perceptron.
- Adds bias term to the MAC output.
- Implements: f(x) = max(0, x)
- Output represented in Q8.8 fixed-point format.
To improve timing performance, a 2-stage pipeline was introduced:
- Reduces critical path delay
- Increases maximum achievable frequency
- Introduces a latency of 2 clock cycles
| Parameter | Value |
|---|---|
| Clock Constraint | 100 MHz (10 ns) |
| Worst Negative Slack (WNS) | 1.933 ns |
| Critical Path Delay | 8.067 ns |
| Fmax | 123.96 MHz |
| Pipeline Depth | 2 stages |
| Latency | 2 clock cycles (20 ns) |
The design meets timing requirements for 100 MHz operation.
- Multiple test vectors applied
- Output observed after 2 clock cycles (pipeline latency)
- Results match expected numerical calculations
- Functional correctness verified in simulation
- FPGA-based neural network acceleration
- Fixed-point arithmetic (Q4.4, Q8.8)
- Pipelined digital design
- Static Timing Analysis (STA)
- Register-to-register timing optimization
- VHDL
- Vivado Design Suite
- Basys3 FPGA (Artix-7)
- Parameterized vector size
- Multi-layer extension (MLP)
- Resource utilization optimization
- AXI/stream interface integration
- Integration with embedded processor