>_
FPGA
Pour Tous
Blog
Blog
Carrières
Challenges
Classement
Communauté
Certification
Projets
Le Club
EN
Chargement…
SystemVerilog
20 cours
RTL plus sûr, interfaces, assertions, couverture et bases de la vérification moderne.
01
Ce que SystemVerilog ajoute à Verilog
Comprendre le rôle de SystemVerilog et choisir ses apports utiles pour écrire du RTL et le vérifier.
Lire
02
Types, tailles et signe
Comprendre logic, bit, les types SystemVerilog à 2 ou 4 états, les largeurs, le signe et les conversions sans surprise.
Lire
03
always_comb, always_ff et always_latch
Choisir entre always_comb, always_ff et always_latch en SystemVerilog pour éviter pilotes multiples, latchs involontaires et erreurs de sensibilité.
Lire
04
typedef, énumérations et packages
Donner un sens aux types, coder les états proprement et partager des déclarations sans dépendances cachées.
Lire
05
Tableaux, structures et unions
Distinguer dimensions packed et unpacked, regrouper des champs et choisir une représentation adaptée au matériel.
Lire
06
Fonctions, tâches et portée
Factoriser les calculs et les séquences de test sans cacher les dépendances ni mélanger RTL et temporisation.
Lire
07
Interfaces et modports
Regrouper les signaux d'un protocole, préciser le rôle de chaque bloc et réduire les erreurs de connexion.
Lire
08
Machines à états et séparation contrôle/datapath
Écrire une FSM lisible avec un type énuméré et séparer les décisions des calculs de données.
Lire
09
Paramétrage et RTL réutilisable
Paramétrer largeurs et types, protéger les cas limites et générer du matériel sans rendre le module opaque.
Lire
10
Lire un petit design RTL complet
Relire un compteur de paquets de l'interface jusqu'aux cas limites, puis relier le code au matériel attendu.
Lire
11
Écrire un plan de vérification simple
Transformer un cahier des charges en fonctions à contrôler, cas limites, moyens de vérification et critères de fin.
Lire
12
Créer un testbench SystemVerilog de A à Z
Construire un testbench exécutable : instancier le DUT, produire horloge et reset, appliquer les scénarios, contrôler les sorties et terminer avec un verdict fiable.
Lire
13
Tableaux dynamiques, queues et tableaux associatifs
Choisir une collection de testbench pour des lots variables, des files de transactions et des résultats indexés.
Lire
14
Classes, héritage et polymorphisme
Modéliser des transactions de test, comprendre les handles et étendre un comportement sans recopier l'environnement.
Lire
15
Randomisation contrainte et reproductibilité
Générer des transactions variées tout en respectant le protocole, puis reproduire exactement un échec.
Lire
16
Threads, événements, mailboxes et sémaphores
Faire travailler plusieurs parties du testbench en parallèle et choisir le bon mécanisme de synchronisation.
Lire
17
Construire un environnement en couches réutilisable
Assembler transaction, générateur, driver, monitors, modèle de référence, scoreboard et couverture dans un testbench extensible.
Lire
18
Assertions immédiates et concurrentes essentielles
Automatiser des contrôles locaux et synchrones, détecter X/Z et désactiver proprement un contrôle pendant le reset.
Lire
19
Couverture fonctionnelle et critère de fin
Mesurer les scénarios prévus, croiser les conditions importantes et fermer les trous sans confondre activité et correction.
Lire
20
Passer d'un testbench en couches aux notions UVM
Construire un environnement complet et relier ses phases, sa configuration, ses callbacks et sa création de composants aux notions qu'UVM industrialise.
Lire