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

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.

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.