Services d’ingénierie

Traitement du signal et logiciel embarqué

Nous développons des algorithmes de traitement du signal en temps réel et des logiciels embarqués pour les systèmes de communication, de détection et d’acquisition rapide à base de FPGA. ✓ Traitement numérique du signal sur FPGA ✓ Logiciel applicatif Linux embarqué ✓ Pilotes noyau Linux et PCIe DMA ✓ Simulation MATLAB, GNU Octave et Python ✓ Vérification et débogage d’algorithmes ✓ Accélération sur GPU NVIDIA

Analyse du signal en temps réel avec spectre, spectrogramme et formes d’onde I/Q

Logiciel embarqué

Linux, pilotes et chemins de données rapides

Nous concevons le logiciel en parallèle de la logique FPGA et des interfaces matérielles qu’il doit piloter, en portant une attention particulière aux transferts de données à haut débit.

Logiciel applicatif Linux

Applications pour systèmes à base de FPGA : communications TCP client-serveur, échanges UDP, interfaces PCI Express et transferts Ethernet à haut débit.

Pilotes noyau Linux

Pilotes PCI Express avec DMA pour des transferts efficaces entre le FPGA et la mémoire système, y compris sur des plateformes SoC FPGA avec processeur et contrôleur mémoire intégrés.

Simulation et vérification

MATLAB, GNU Octave et Python

Les algorithmes sont modélisés et vérifiés avant l’implémentation, et le même environnement sert ensuite au débogage du FPGA, du matériel et du firmware.

Simulation d’algorithmes

Les algorithmes de traitement du signal sont simulés et évalués avant leur implémentation sur FPGA ou GPU.

Vérification VHDL

Des modèles de référence servent à la vérification fonctionnelle des composants VHDL de traitement du signal.

Débogage système

Les outils de simulation et d’analyse servent pendant les tests du FPGA, du firmware et du matériel pour identifier les problèmes d’implémentation et d’intégration.

Traitement du signal

Accélération FPGA et GPU

Nous privilégions le traitement du signal à haut débit et à latence déterministe sur FPGA. Nous utilisons le GPU lorsque l’architecture du système s’y prête.

Synchronisation et récupération de rythme

Boucles de récupération de rythme, récupération de porteuse, synchronisation par PLL et algorithmes associés pour les systèmes de communication.

Filtrage numérique

Filtrage FIR, IIR et multicadence en temps réel pour les communications, la détection et l’acquisition de données.

Traitement adaptatif

Égaliseurs adaptatifs, y compris algorithmes CMA et decision-directed.

Traitement spectral

Analyse spectrale par FFT, canalisation et traitement dans le domaine fréquentiel.

Implémentation FPGA

Architecture pipeline, implémentation en virgule fixe et optimisation des ressources et des performances pour le traitement en temps réel.

Accélération GPU

Accélération sur GPU NVIDIA pour les traitements qui tirent parti d’un parallélisme massif, aux côtés du FPGA.

Intégration système

Des algorithmes au FPGA et au logiciel

Selon les besoins du projet, nous réalisons le modèle de l’algorithme, son implémentation sur FPGA, le transfert des données sous Linux et le traitement accéléré sur l’ordinateur hôte comme les éléments d’un même système.

Modèle

Définition de l’algorithme, simulation et vérification numérique.

FPGA et chemin de données

Implémentation en temps réel, interfaces matérielles, DMA et transfert de données à haut débit.

Traitement côté hôte

Logiciel Linux, communication réseau et traitement GPU en complément du sous-système FPGA.

Projet DSP représentatif

Filtrage IIR déterministe à ultra-faible latence

Développement d’un filtrage IIR en temps réel pour des systèmes où la latence de traitement et le délai entre l’entrée d’un échantillon et sa sortie doivent être précisément définis.

Les travaux ont couvert la modélisation de l’algorithme, l’implémentation en virgule fixe, la vérification numérique et la réalisation sur FPGA à 250 MS/s, avec une attention particulière à la latence, à la stabilité numérique et à l’utilisation efficace des ressources FPGA.

L’implémentation FPGA en virgule fixe a été comparée au modèle de référence en virgule flottante pour vérifier la précision numérique, la stabilité et la latence de traitement déterministe.

Mesure et vérification d’un filtrage IIR déterministe à faible latence

Besoin de DSP en temps réel ou de logiciel embarqué pour un système FPGA ?

Nous pouvons concevoir le modèle de l’algorithme, son implémentation sur FPGA, le transfert des données sous Linux et l’accélération GPU dans un système cohérent.

Contacter JSE