Sobel Edge Detection SoC Accelerator
Overview
This project presents the design, implementation, and evaluation of a complete System-on-Chip solution for accelerating the Sobel edge detection algorithm on the Xilinx Zynq-7000 AP SoC platform. The design leverages the combined Processing System (PS) and Programmable Logic (PL) architecture to deliver a large performance improvement compared to a software-only implementation.
System Description
The full SoC integrates a software application running on the ARM Cortex-A9 cores with a custom VHDL-based Sobel accelerator in the FPGA fabric. The accelerator is connected through AXI interfaces and uses AXI DMA for efficient image transfers between DDR3 memory and programmable logic.
Software Implementation
A baseline Sobel edge detection version was first implemented in C and executed on the Zynq PS under PetaLinux. This software-only implementation provided the reference performance metrics for later comparison with the hardware-accelerated version.
Hardware Acceleration
A dedicated Sobel edge detector IP core was designed in VHDL for the PL. The accelerator includes AXI4-Lite for controls, AXI4-Stream for pixel data, and AXI DMA compatibility for fast memory transfers. The core is fully pipelined and optimized for high throughput, with a target processing rate up to 200 MSamples/sec at 200 MHz.
Processor Architecture
The accelerator is built from modular VHDL blocks including a pixel window producer, convolution kernel unit, and a Manhattan norm calculator. The pipeline streams 3×3 windows, applies Sobel kernels in hardware, and computes output magnitudes without using an expensive square root.
Key Design Modules
- Input Stream Scaler: prepares pixel data and keeps output identical to the software version by bypassing scaling.
- Window Buffer: generates 3×3 pixel windows using internal line buffers for continuous streaming.
- Kernel Convolution Unit: applies the Sobel Gx and Gy kernels in a pipelined fashion.
- Manhattan Norm Calculator: computes |Gx| + |Gy| to avoid square root overhead while preserving edge quality.
Evaluation and Results
The Sobel SoC was synthesized and implemented in Vivado targeting the ZedBoard platform. Performance was evaluated on 512×512 grayscale images and compared across software-only and hardware-accelerated modes.
FPGA Resource Utilization
| Resource | Utilization | Available | Usage |
|---|---|---|---|
| LUT | 3576 | 53200 | 6.72% |
| LUTRAM | 678 | 17400 | 3.90% |
| FF | 5183 | 106400 | 4.87% |
| BRAM | 6 | 140 | 4.29% |
Timing and Power
| Metric | Value |
|---|---|
| WNS | 0.298 ns |
| WHS | 0.036 ns |
| WPWS | 1.520 ns |
| Total on-chip power | 1.717 W |
| Dynamic power | 1.574 W |
| Static power | 0.143 W |