How ntue2719-commits/secded-bpsk-fpga works
This repository implements a deterministic FPGA SECDED/BPSK communication system, with a Python Golden Model and generated reference vectors supporting RTL verification. The principal workflow receives UART configuration and data, processes each nibble through the six-stage DSP pipeline, then returns packed result and status bytes over UART. The graph follows the documented architecture; unsampled RTL details are represented only where the README explicitly describes the connection.
Main entry points: tx_rx_dsp_top.v DSP pipeline integration · uart_controller.v UART controller · export_hex.py Vector exporter · uart_rx.v UART receiver
Components 15
UART interface
- UART receiver
rtl/uart_rx.v - UART controller
rtl/uart_controller.v - FPGA top
rtl/fpga_top.v - UART transmitter
rtl/uart_tx.v
DSP pipeline
- DSP pipeline integration
rtl/tx_rx_dsp_top.v - SECDED encoder
rtl/hamming_encoder.v - Bit-flip channel
rtl/bit_flip_channel.v - BPSK modulator
rtl/bpsk_modulator.v - LFSR noise injector
rtl/lfsr_noise_injector.v - BPSK demodulator
rtl/bpsk_demodulator.v - SECDED decoder
rtl/hamming_decoder.v
Reference model
- Stateful Golden Model
python/golden_model.py - Vector exporter
python/export_hex.py
Verification data
- Reference vectors
data
Other components
- UART host
Connections 13
- UART host → UART receiver: sends serial data
README.md - UART receiver → UART controller: delivers received bytes
README.md - UART controller → DSP pipeline integration: processes nibbles
README.md - DSP pipeline integration → SECDED encoder: encodes payload
README.md - DSP pipeline integration → Bit-flip channel: injects bit errors
README.md - DSP pipeline integration → BPSK modulator: maps to BPSK
README.md - DSP pipeline integration → LFSR noise injector: adds noise
README.md - DSP pipeline integration → BPSK demodulator: demodulates samples
README.md - DSP pipeline integration → SECDED decoder: decodes codeword
README.md - UART controller → UART transmitter: transmits packed response
README.md - UART transmitter → UART host: returns serial response
README.md - Vector exporter → Stateful Golden Model: generates from
python/export_hex.py - Vector exporter → Reference vectors: writes vectors
python/export_hex.py