Principal Software Engineer
Job Description
CACI is seeking a Principal Software Engineer in Melbourne, Florida, on a onsite basis, to tackle RF design software challenges across DSP algorithms, embedded Linux on Xilinx platforms, and RF/FPGA system integration. The role centers on developing high-performance signal processing software while collaborating closely with RF, FPGA, hardware, and systems engineers to realize robust, end-to-end solutions.
Responsibilities
- Design, implement, and optimize DSP algorithms for RF tasks such as modulation and demodulation, filtering, FFTs, channelization, and digital down/up conversion.
- Develop and maintain embedded Linux applications using PetaLinux on Xilinx SoC platforms.
- Connect embedded software with FPGA logic via AXI, DMA, interrupts, EMIO, and memory-mapped peripherals.
- Work with RF front-end components including attenuators, PLLs and frequency synthesizers, programmable gain amplifiers, upconverters and downconverters, and high-speed RF ADC/DAC devices.
- Interface and control ADC/DAC JESD information for signal processing.
- Implement and debug SPI, I2C, GPIO, and register-level control interfaces.
- Support JESD204 (A/B/C) link bring-up in collaboration with FPGA and hardware teams.
- Perform system bring-up, debugging, calibration, and performance optimization.
- Collaborate with RF, FPGA, hardware, and systems engineers to align architecture and requirements.
- Validate designs using RF lab equipment such as spectrum analyzers, signal generators, oscilloscopes, and VNAs.
- Document software, algorithms, interfaces, and test procedures.
- Write low-level firmware for board-level controls via FPGA and/or microcontroller in VHDL and/or C/C++.
Requirements
- Ability to obtain a security clearance.
- Bachelor’s degree in an engineering discipline.
- 10+ years of electronics design experience.
- Experience with RF transceivers such as Analog Devices AD936x or AD908x, or similar.
- FPGA design experience using Vivado and/or Vitis.
- Strong understanding of digital electronics and the ability to follow schematic diagrams.
- Familiarity with AXI interconnects, DMA engines, and high-throughput data paths.
- Experience with spidev, IIO frameworks, or custom Linux drivers.
- Knowledge of GNU toolchains, cross-compilation, and Yocto-based workflows.
- Understanding of wireless or SDR systems (LTE, 5G, Wi-Fi, radar, or custom waveforms).
Technologies
- PetaLinux, Xilinx SoC platforms
- AXI, DMA, JESD204 (A/B/C)
- SPI, I2C, GPIO
- VHDL, C, C++
- Vivado, Vitis
- GNU toolchains, cross-compilation, Yocto
- RF transceivers (Analog Devices AD936x, AD908x)
Benefits
- Healthcare
- Wellness
- Financial
- Retirement
- Family support
- Continuing education
- Time off benefits
Optional Experience
- Experience with Cadence tools and schematic design with OrCAD.
- Experience writing Interface Control Documents or high-level design documents.
- Experience writing automated test code and controlling external test equipment.
- Familiarity with PIC microcontrollers.
- Knowledge of STM32 ARM microprocessors and software development.
- Ability to use test equipment such as oscilloscopes and logic analyzers in debugging device control interfaces.
- GUI design experience in C# or C/C++ for PC control and test application development.
What you can expect
- A culture of integrity.
- An environment of trust.
- A focus on continuous growth.
Pay range
USD 99,800 - 219,600 per year