FPGA SDR IP Library

Fully parameterized, reusable FPGA IP library for Software Defined Radio

SystemVerilog IEEE 1800-2017 AXI4-Stream Xilinx / Intel

Copyright © 2026 Mintaka LLC · Proprietary and Confidential

Overview

A fully parameterized, reusable FPGA IP library for Software Defined Radio (SDR) applications, targeting Xilinx/AMD and Intel/Altera FPGAs. Primary uses in Mintaka AI powered developent process as reusable fully parametrized IP library.

All RTL is written in SystemVerilog IEEE 1800-2017. Every module uses AXI4-Stream as the standard data transport interface, making modules composable without glue logic.

The library covers the complete SDR signal chain — from ADC/DAC interfaces through DDC/DUC, filtering, synchronization, modulation/demodulation, FEC, and packet processing — plus supporting infrastructure (CDC, memory, control plane, debug).

221
RTL Modules
67
Testbenches
27
Module Groups
292
Total Files

Architecture

RX Chain: ADC IQ Input ─→ DDC Core →→ AGC →→ Carrier Recovery →→ Timing Recovery →→ Packet Detector →→ Host (PS / MCU) | | | [NCO/DDS] [Costas Loop] [Gardner TED] [CIC Decim] [FIR Comp] TX Chain: Host (PS / MCU) →→ Packet Framer →→ Modulator →→ DUC Core →→ DAC IQ Output | [CIC Interp] [FIR Interp] [NCO/DDS]

Module Groups

GroupPathFilesDescription
Packagesrtl/pkg/3Shared types, parameters, AXI-Stream interface — compile first
Fixed-Pointrtl/fixed_point/8Resize, round, saturate, clip detect, gain, shift
Complex Mathrtl/complex/8Add, subtract, multiply, conjugate, abs², scale, rotate, mix
NCO / DDSrtl/nco/22Phase accumulator, LUT-based and CORDIC-based DDS, complex NCO, GNSS NCO
CORDICrtl/cordic/6sin/cos, atan2, vectoring, rotation, polar↔cartesian
Filtersrtl/filters/31FIR (direct, symmetric, polyphase, reloadable), CIC, halfband, boxcar, GNSS
DDCrtl/ddc/4Digital Down Converter chain: mixer → CIC → FIR → baseband IQ
DUCrtl/duc/3Digital Up Converter chain: baseband IQ → FIR → CIC → mixer
Sync / AGCrtl/sync/agc/5Power estimator, RSSI, AGC loop, gain apply, saturator
Sync / Carrierrtl/sync/carrier/6Costas loop (BPSK/QPSK), complex PLL, freq/phase error estimators
Sync / Timingrtl/sync/timing/5Gardner TED, Mueller-Müller, symbol timing loop, fractional delay
Sync / Framertl/sync/frame/5Preamble correlator, sync word detector, frame aligner, packet detector
Modulationrtl/modulation/9BPSK, QPSK, OQPSK, OOK, FSK, GFSK, GMSK, QAM16, QAM64
Demodulationrtl/demodulation/15Demodulators + LLR/soft-decision output for all modulation schemes
FFTrtl/fft/16Radix-2 and streaming FFT/IFFT, windowing, power spectrum, peak detect
Channelizerrtl/channelizer/5Polyphase filter bank, FFT channelizer, channel select
OFDMrtl/ofdm/10CP insert/remove, FFT RX/TX, pilot extraction, channel estimation, equalizer
FECrtl/fec/14CRC, scrambler, convolutional encoder, Viterbi, Reed-Solomon, LDPC, Polar
Packetrtl/packet/9Framer, deframer, header parser, CRC append/verify, stream packetizer
Streamrtl/stream/10FIFO, register slice, width converter, rate adapter, mux, demux, splitter
CDCrtl/cdc/10Async FIFO, pulse/level/bus sync, gray counter, reset synchronizer
Memoryrtl/memory/9Single/dual/true-dual-port RAM, ROM LUT, delay line, circular buffer
Interfacesrtl/interfaces/12ADC/DAC capture/output, IQ formatter, JESD204, LVDS, SPI RF control
Controlrtl/control/8Register bank, AXI-Lite slave, Wishbone slave, SPI/UART/I2C register I/F
Debugrtl/debug/12ILA wrapper, stream monitor, overflow/underflow counters, IQ capture buffer
UARTrtl/uart/3UART TX, RX, and loopback modules

Coding Standards

Language
SystemVerilog IEEE 1800-2017
One module per file
Filename matches module name
Parameters
kCamelCase prefix (e.g. kDataWidth)
Ports
snake_case; AXI-Stream slave = s_*, master = m_*
Reset
Active-low asynchronous (rst_n), synchronous release
Types
All from sdr_types_pkg; use logic, never wire/reg
Transport
AXI4-Stream (ARM IHI 0051B compliant)
File Header
Mintaka LLC proprietary header on every file

MCP Server

This library is accessible via an MCP (Model Context Protocol) server for AI-assisted design. The server provides read-only access to all RTL modules and testbenches.

Available MCP Tools

ToolParametersDescription
list_groups—List all module groups with file counts
list_modulesgroup?List modules, optionally filtered by group
get_module_codemodule_nameGet full SystemVerilog source of a module
search_modulesquerySearch modules by name or description
get_module_infomodule_nameGet metadata: path, group, size, parameters
list_testbenchesgroup?List testbench files, optionally by group
get_filelist—Get the master filelist (sdr_lib.f) content

The MCP server exposes RTL code as read-only resources. Modules are used in designs without modification.