BCHDecoderVHDL

🧮 BCH decoder FPGA design

BCHDecoderVHDL is an open-source project aimed at designing a BCH error-correcting decoder in VHDL, built for FPGA implementation using an Avalon interface. This hardware module is integrated into a SoC system based on an Intel Cyclone V and deployed on a DE0-CV development board running at 25 MHz.

🎯 Purpose

  • 🧮 Error Correction: Implements BCH decoding for binary data error detection and correction.
  • 🔗 Avalon Interface Compatibility: Designed to connect seamlessly to Avalon-compliant systems.
  • 🧩 Quartus Integration: Ready for integration into Intel Quartus projects targeting DE0-CV boards.
  • 🧠 CPU Exploitation: Enables communication with a Nios II or other Avalon master for data exchange.

📝 Features

🏷️ Feature 🔍 Description
🧮 BCH Decoder Implements syndrome calculation, Berlekamp-Massey algorithm, Chien Search
🔗 Avalon Interface Supports Avalon-MM or Avalon-ST as needed
⚙️ VHDL Design Modular, synthesizable VHDL code
🧠 CPU-Controlled Controlled by an Avalon master processor
🧪 VHDL Testbench Comes with a simulation testbench for functional validation
🧱 DE0-CV Ready Optimized for 25 MHz operation on DE0-CV
🖥️ Quartus Project Integrated via Qsys / Platform Designer
📦 Open-source Fully modifiable and extensible HDL source code

📐 Design Architecture Preview

⚙️ Internal Architecture 🖥️ Qsys Integration

🗂️ Project Structure

BCHDecoderVHDL/
├── ip/                  
│   └── BCH/                
│       ├── bch.vhd         # VHDL source files
│       └── simulation/     # VHDL testbenches
├── DE0_CV.qpf              # Quartus project file
├── software/               # Scripts or files related to software development

📦 Use Cases

  • ✅ Embedded communication systems
  • ✅ FPGA-based secure data transmission
  • ✅ Educational demonstration of error-correcting codes