canisio 1ebf8aa076 codegen: increase max identifier length to 64 in soc_rfsoc_proc and gm_soc_rfsoc_top_sw
Updated Configuration Parameters (Code Generation -> Identifiers) in both
soc_rfsoc_proc and parent model gm_soc_rfsoc_top_sw to set Maximum identifier
length from 31 to 64. This avoids truncation of generated identifiers, reduces
risk of name collisions, and ensures consistency across referenced models to
prevent build mismatches.
2026-04-25 11:53:24 -03:00
2026-04-13 16:47:42 -03:00
2026-03-24 12:44:45 -03:00
2026-03-27 15:52:18 -03:00

📡 RFSoC Channelizer + PS Processing (R-ESM Prototype)

Overview

This project is based on the RFSoC SoC Blockset reference design, adapted as a prototype for a Radar Electronic Support Measures (R-ESM) receiver.

The system implements a high-throughput signal chain in the FPGA (PL) and performs frame-based processing in the processor (PS).


Current Status

  • Tx subsystem: LFM pulse generator (DDS-based, complex output)
  • Rx subsystem: fully functional channelizer pipeline (PFB-based)
  • PL → PS interface: AXI4-Stream + DMA operational
  • PS processing: frame-based algorithm (RMS + peak detection)

System Architecture

ADC → Channelizer (PFB, 512 bins)
→ FFT_Capture (frame control)
→ FIFO Serializer (4 FIFOs → 1 stream)
→ AXI4-Stream (uint64)
→ DMA (S2MM)
→ PS Memory
→ Processor Algorithm


Key Parameters

  • ADC Sampling Rate: 4096 MSPS
  • Decimation: 8
  • Effective BW: 512 MHz
  • Channels (FFT size): 512
  • Samples per clock: 4
  • FPGA clock: 128 MHz
  • Frame size (PS): 512 samples

📚 Documentation

FPGA (PL)

Processor (PS)


System Flow

Tx → Rx → PS

  • Tx generates waveform
  • Rx captures and channelizes
  • PS processes frames

Roadmap

  1. Functional FrFT (PS)
  2. Profiling
  3. NEON optimization
  4. Throughput tuning
  5. PL acceleration

Key Takeaway

First make it work end-to-end, then make it fast.

Description
Test model for a R-ESM I/Q receiver with 512MHz of instantaneous bandwidth on ZCU111 RFSoC
Readme 16 MiB
Languages
MATLAB 100%