Programmation
Safety and security
What are Safety & Security in Embedded Systems?
Cybersecurity and functional safety work together for connected products and industrial IoT. Anchored in the EU Cyber Resilience Act (CRA) and standards like IEC 62443, IEC 61508, and ISO 26262 (plus ETSI EN 303 645 and NIS2), the goal is to prevent hazards, withstand attacks, and keep devices dependable throughout their lifetime—from concept and development to updates in the field.
Modern platforms provide strong building blocks out of the box: secure boot chains (TF-A/U-Boot, HAB/AHAB, SBSFU/TF-M), isolation with TrustZone-M and OP-TEE, and Linux hardening features (SELinux/AppArmor, dm-verity/IMA, namespaces, seccomp). On the safety side, practices like MISRA/CERT coding, static analysis, FMEA/FTA, watchdogs, and CRC/ECC reduce faults without slowing development.
Our ac6 training courses help you master this ecosystem—covering risk and threat analysis, SBOM/VEX and vulnerability handling, key management and secure update/rollback, Linux/MCU hardening and TrustZone partitioning, and the safety lifecycle with evidence (plans, traceability, safety case). The outcome: products that are both secure and safe, ready for real-world assessments.
Langages
Méthodes
ac6-formation vous propose des formations sur l'utilisation du langage de modélisation le plus répandu , UML (Unified Modeling Language); ces formations sont adaptées au domaine de l'informatique industrielle et embarquée et aux besoins spécifiques des applications temps réel.
Nous vous proposons également des formations aux outils de gestion du process de développement logiciel, comme Eclipse.
Temps réel
FPGA
Toute la difficulté de l'apprentissage tient là. On n'écrit pas un programme, on décrit un matériel. VHDL et SystemVerilog ressemblent à des langages de programmation et n'en sont pas : une boucle n'y est pas une répétition dans le temps mais une réplication dans l'espace, et un signal n'est pas une variable. Les débutants qui abordent le VHDL comme du C produisent des circuits qui simulent correctement et ne tiennent pas en timing.
Quand un FPGA se justifie
Trois cas reviennent : le parallélisme réel, quand des dizaines de canaux doivent être traités simultanément ; la latence déterministe, quand une réponse doit tomber en quelques dizaines de nanosecondes, ce qu'aucune interruption logicielle ne garantit ; et les interfaces que le commerce ne propose pas, un protocole propriétaire ou un capteur au format inhabituel.
Hors de ces cas, un microcontrôleur reste plus simple, moins cher et plus rapide à mettre au point. Le FPGA se paie en temps de conception et en consommation.
Décrire, vérifier, intégrer
La conception se fait en VHDL ou en SystemVerilog. SystemC intervient plus haut, pour explorer une architecture avant de figer le RTL.
La vérification pèse souvent plus lourd que la conception elle-même. UVM est la méthodologie standard de l'industrie pour construire des bancs de test réutilisables : un circuit non vérifié n'est pas un circuit terminé.
Enfin la plupart des FPGA actuels embarquent un processeur, soit gravé dans le silicium comme le Cortex-A9 des Zynq et des Cyclone V, soit synthétisé dans la logique comme MicroBlaze, Nios, Mico32 ou un cœur RISC-V. Concevoir pour ces composants, c'est répartir une fonction entre le logiciel et le matériel, et faire dialoguer les deux.
Nos formations
Les bases du langage VHDL (V1) et VHDL avancé pour les FPGA (V2) forment le parcours principal, de la syntaxe à la méthodologie de conception. SystemVerilog (U1) et UVM (U2) couvrent le versant vérification, SystemC (V3) la modélisation de haut niveau, et FPGA Optimization (V4) le travail sur les performances et la surface.
Côté composants, les formations suivent les principaux fondeurs : AMD Zynq (HX5) et MicroBlaze (HX4), Cyclone V Cortex-A9 (ALT1) et Nios (ALT2), Lattice Mico32 (H1) et Diamond (H2), Microchip SmartFusion2 (MSP). Architecture RISC-V (RV1) traite le jeu d'instructions devenu incontournable pour les cœurs synthétisés.
Les travaux pratiques se font sur cartes réelles en présentiel, et à distance sur du matériel accessible à distance ou sur nos outils de simulation. Un problème de timing ne se comprend qu'en le voyant se produire.