Engineering services
Signal Processing and Embedded Software
We develop real-time signal-processing and embedded software for FPGA-based communication, sensing and high-speed data-acquisition systems. ✓ FPGA-based digital signal processing ✓ Embedded Linux application software ✓ Linux kernel drivers and PCIe DMA ✓ MATLAB, GNU Octave and Python simulation ✓ Algorithm verification and debugging ✓ NVIDIA GPU acceleration

Embedded software
Linux, drivers and high-speed data paths
Software is developed together with the FPGA and hardware interfaces it needs to control, with particular attention to efficient movement of high-rate data.
Linux application software
Application development for FPGA-based systems including TCP server/client communication, UDP networking, PCI Express interfaces and high-speed Ethernet data transfer.
Linux kernel drivers
PCI Express drivers with DMA support for efficient transfers between FPGA hardware and system memory, including SoC FPGA platforms with integrated processing and memory controllers.
Simulation & verification
MATLAB, GNU Octave and Python
Algorithms are modeled and verified before implementation, and the same environment is used during FPGA, hardware and firmware debugging.
Algorithm simulation
Signal-processing algorithms are simulated and evaluated before FPGA or GPU implementation.
VHDL verification
Reference models are used for functional verification of VHDL signal-processing components.
System debugging
Simulation and analysis tools are used during FPGA, firmware and hardware testing to identify implementation and integration problems.
Signal processing
FPGA and GPU acceleration
Our primary focus is deterministic, high-throughput signal processing implemented in FPGA logic, with GPU acceleration used where it fits the system architecture.
Synchronization & recovery
Timing recovery loops, carrier recovery, PLL-based synchronization and related communication-system algorithms.
Digital filtering
Real-time FIR, IIR and multirate filtering for communication, sensing and data-acquisition systems.
Adaptive processing
Adaptive equalizers including CMA and decision-directed algorithms.
Spectrum processing
FFT-based spectrum analysis, channelization and frequency-domain processing.
FPGA implementation
Pipeline architecture, fixed-point implementation and resource/performance optimization for real-time processing.
GPU acceleration
NVIDIA GPU acceleration for workloads that benefit from massively parallel processing alongside FPGA hardware.
System integration
One signal-processing chain from model to hardware
Where required, JSE can cover the algorithm model, FPGA implementation, Linux data path and accelerated host-side processing as one integrated system.
Model
Algorithm definition, simulation and numerical verification.
FPGA & data path
Real-time implementation, hardware interfaces, DMA and high-speed data transport.
Host processing
Linux software, networking and GPU processing around the FPGA subsystem.
Need real-time DSP or embedded software around FPGA hardware?
We can develop the algorithm model, FPGA implementation, Linux data path and GPU acceleration as one integrated system.