Altifigence Academy
Conception numériqueGratuit · Initiation

Circuits logiques numériques

Des signaux numériques et portes AND, OR, XOR aux circuits combinatoires, verrous, bascules, compteurs et machines à états. Reliez tables de vérité, équations, circuits et chronogrammes, puis vérifiez par des travaux pratiques RTL. Les approfondissements facultatifs étendent le cours aux chemins de données et interfaces.

Logique combinatoire et séquentielleSystemVerilogLecture de chronogrammes
Mon apprentissage

Ce que vous apprendrez

  • Distinguer valeurs logiques et tensions, puis expliquer tables de vérité, symboles et réalisations équivalentes de huit types de portes.
  • Concevoir des circuits combinatoires depuis une spécification avec SOP, POS et cartes de Karnaugh, puis les tester exhaustivement.
  • Définir conditions d'entrée et limites des encodeurs, décodeurs, MUX, DEMUX, additionneurs et comparateurs.
  • Expliquer la différence entre verrous et bascules et concevoir les règles de mise à jour reset, enable et horloge.
  • Réaliser compteurs, décalages et machines à états en RTL, puis analyser timing, entrées asynchrones et anti-rebond.
  • Vérifier avec une référence indépendante et terminer un détecteur de 101 avec recouvrement.
  • Approfondir facultativement ALU, mémoires, FIFO, pipelines et interfaces.

Avant de commencer

Ces exercices dans le navigateur utilisent des modèles pédagogiques ; ils ne compilent ni n’exécutent de HDL. Pour exécuter le code séparément, suivez le guide Digital Design Studio de votre système et connectez-vous si l’opération le demande.

Installation et premier démarrage ↗ · Téléchargements ↗

Programme

  1. Signaux numériques et représentations des nombres
    • Signaux numériques : quand une tension représente 0 ou 1Concept

      Distinguer valeurs logiques et tensions, puis calculer seuils d'entrée, marges de bruit et retards de propagation.

    • Systèmes de numération et représentation à largeur fixeConcept

      Au-delà des conversions de base, calculer les plages représentables, la largeur nécessaire et les erreurs de troncature.

  2. Portes logiques et tables de vérité
    • Portes de base : AND, OR, NOT et BUFFERConcept

      Relier symboles de circuit et tables de vérité, puis construire des conditions avec plusieurs portes.

    • NAND, NOR et lecture des symboles d'inversionConcept

      Identifier la portée des négations et relier symboles et expressions équivalents par les lois de De Morgan.

    • XOR et XNOR : égalité, différence et paritéConcept

      Distinguer XOR à deux entrées et parité à plusieurs entrées, puis expliquer les limites de la détection d'erreurs.

    • Portes universelles : construire des circuits uniquement avec NANDConcept

      Démontrer la complétude fonctionnelle de NAND et NOR par construction et vérifier les signaux intermédiaires de XOR.

  3. Des expressions logiques à la conception de circuits
    • Algèbre de Boole, transformations équivalentes et coût de réalisationConcept

      Transformer des circuits par De Morgan et factorisation, en distinguant équivalence logique et propriétés temporelles.

    • De la table à l'expression : mintermes, maxtermes, SOP et POSConcept

      Dériver la même fonction à partir des lignes à 1 et à 0, puis relier ces formes à la carte de Karnaugh.

    • Cartes de Karnaugh et conditions des don't-careConcept

      Réduire les expressions par l'adjacence du code Gray et expliciter les hypothèses sur les entrées inutilisées.

    • Conception pratique : de la spécification à la majorité à trois entréesTravaux pratiques

      Passer d'une spécification en langage naturel à une table complète, puis relier minimisation, réalisation et test exhaustif.

  4. Adresses et circuits de sélection
    • Décodeurs, sélection one-hot et entrées validesConcept

      Convertir une adresse binaire en sélections individuelles et définir enable, plage valide et invariants de sélection.

    • Encodeurs et priorité : choisir une requête parmi plusieursConcept

      Distinguer les hypothèses de l'encodeur one-hot et les résultats valid et index d'un encodeur prioritaire.

    • DEMUX et décodeur : envoyer les données sur le chemin choisiConcept

      Comparer sens et rôles de MUX, DEMUX et décodeur, puis vérifier one-hot et one-hot-or-zero.

    • Signaux et ports : contrat de largeur, de direction et de tempsConcept

      Lire une interface et distinguer les critères de vérification des sorties combinatoires et mémorisées.

    • De la table de vérité au MUX et au développement de ShannonConcept

      Déduire la logique de sélection et décomposer une fonction quelconque à l'aide de MUX.

  5. Circuits arithmétiques et comparaison
    • Additionneurs et propagation de la retenueConcept

      Dériver l'additionneur complet et analyser ensemble fonction, largeur et retard de propagation de retenue.

    • Complément à deux, extension de signe et dépassementConcept

      Distinguer interprétation signée et dépassement d'addition par des équations et contre-exemples.

    • Comparateurs et spécification des limitesConcept

      Distinguer comparaisons signées et non signées du même motif et vérifier les conditions limites.

  6. Verrous, bascules et stockage de l'état
    • Les débuts de la mémoire : rétroaction et verrous SR et DConcept

      Comprendre les deux états stables du couplage croisé, l'entrée SR interdite et la transparence du verrou D.

    • Bascule D : du niveau au frontConcept

      Comparer les instants de mise à jour du verrou et de la bascule, puis relier registre, setup et hold.

    • Bascules, enable et priorité des commandesConcept

      Définir maintien, chargement et reset par l'état suivant, et éviter un clock gating involontaire.

    • Transitions synchrones et rôle de l'horlogeConcept

      Interpréter un système synchrone comme des registres lisant le même état précédent.

  7. Réalisation RTL et vérification du MUX
    • Sélection combinatoire et latence de la sortie enregistréeConcept

      Analyser les changements d'interface et de latence lorsque le résultat du MUX est enregistré.

    • RTL combinatoire et affectations complètesConcept

      Exprimer la même fonction avec l'opérateur conditionnel et always_comb, puis repérer les omissions créant un verrou.

    • Travaux pratiques : test exhaustif du MUX et sortie enregistréeTravaux pratiques

      Appliquer les mêmes entrées aux chemins combinatoire et enregistré, puis vérifier avec la table de vérité et les instants de capture.

    • Instants d'échantillonnage et causalité dans les chronogrammesConcept

      Lire les chronogrammes en séparant stabilisation combinatoire, capture d'horloge et ordre des événements.

    • Vérification du MUX : tests exhaustifs et propriétésConcept

      Vérifier séparément couverture combinatoire et stockage, puis minimiser les contre-exemples.

    • Bilan de conception : équivalence de sélection et instant d'observationVérification

      Distinguer ce qu'une table de vérité suffit à vérifier et ce qui exige une observation de l'horloge.

  8. Compteurs et mises à jour synchrones
    • Nombre d'états, largeur du compteur et codes inutilisésConcept

      Déduire la largeur de la plage de comptage et définir la récupération des états invalides.

    • État suivant du compteur et priorité du resetConcept

      Unifier incrémentation, maintien, reset et rebouclage, puis calculer les résultats front par front.

    • Affectations non bloquantes et mise à jour simultanéeConcept

      Séparer anciennes et prochaines valeurs pour interpréter correctement pipelines et compteurs RTL.

    • Travaux pratiques : reset, rebouclage et invariants du compteurTravaux pratiques

      Comparer chaque front à une référence et isoler les effets de l'initialisation, du reset et de la largeur.

    • Compteurs modulo, saturation et impulsion terminaleConcept

      Définir le traitement du maximum et le cycle exact du signal terminal-count.

    • Déboguer un compteur avec un contre-exemple minimalConcept

      Construire des tests courts distinguant reset, enable et erreurs de rebouclage.

    • Bilan : largeur, priorité et limites du rebouclageVérification

      Évaluer limites et commandes simultanées à partir du contrat de transition.

  9. Registres à décalage et flux de données
    • Indices des vecteurs, ordre des bits et signeConcept

      Lire les chemins de données en séparant indices, ordre de transmission série et interprétation arithmétique.

    • Entrées série et limites des tramesConcept

      Définir ordre d'entrée et fronts valides, puis calculer la disposition des bits série-parallèle.

    • Équations d'état du registre à décalageConcept

      Exprimer le déplacement des bits par une transition vectorielle et relier profondeur et latence.

    • Largeurs des tranches, concaténations et répétitionsConcept

      Construire les chemins de données en calculant largeur totale et conditions de conservation des valeurs.

    • Travaux pratiques : déplacement série et ordre des bitsTravaux pratiques

      Vérifier sens, bits perdus et latence après reset avec motifs binaires et référence entière.

    • Distinguer latence en cycles et débitConcept

      Fixer les points d'observation d'une ligne de N étages et quantifier latence et débit.

    • Vérifier le décalage et l'alignement données/validConcept

      Détecter les erreurs masquées par les motifs symétriques et le désalignement d'un cycle de valid.

    • Bilan : latence, alignement et conservation des entréesVérification

      Vérifier ensemble sens, nombre de déplacements valides et point d'observation.

  10. Timing, entrées réelles et machines à états
    • Setup, hold et budget temporelConcept

      Séparer chemins maximaux et minimaux et calculer hold indépendamment de la fréquence.

    • Aléas logiques et limites des expressions équivalentesConcept

      Analyser comment deux circuits équivalents en régime stable produisent des transitoires différents à cause des retards.

    • Frontières de domaines d'horloge et métastabilitéConcept

      Comprendre la portée du synchroniseur à deux étages et distinguer niveau, impulsion brève et transfert multibit.

    • Boutons réels : synchronisation, anti-rebond et événement uniqueConcept

      Séparer synchronisation et anti-rebond, puis concevoir un filtre par échantillons consécutifs.

    • Machines à états : séparer état, transition et sortieConcept

      Construire une FSM depuis sa table et comparer Moore/Mealy, états illégaux et politique de requêtes.

    • Plan de vérification, couverture et référence indépendanteConcept

      Distinguer tests réussis et contrat satisfait, puis intégrer limites, croisements et contre-exemples minimaux.

    • Projet de synthèse : détecteur de 101 avec recouvrementConcept

      Réunir réduction d'état, validité d'entrée, sortie enregistrée et vérification indépendante dans une conception.

  11. Approfondissement facultatif · Chemins de données arithmétiques
    • ALU et indicateurs zéro, négatif, retenue et dépassementConcept

      Partager l'additionneur ADD/SUB et distinguer retenue et dépassement signé pour dériver les comparaisons.

    • Barrel shifter et étages de MUXConcept

      Réaliser le décalage variable par MUX de 1,2,4,8 positions, partager les directions et traiter signe et déplacements hors largeur.

    • Virgule fixe, arrondi et saturationConcept

      Définir la plage par W,F et concevoir l'arrondi pair guard/sticky suivi de saturation.

    • Multiplicateur non signé multicycle par décalage-additionConcept

      Répartir l'accumulation sur W cycles et vérifier acceptation, achèvement, dernière somme, largeur et invariant.

  12. Approfondissement facultatif · Mémoires et FIFO
    • Mémoire synchrone et contrat de collision lecture/écritureConcept

      Définir réponse enregistrée et modes de collision, en séparant validité et initialisation des adresses.

    • Banc de registres à deux lectures, une écriture et bypassConcept

      Réaliser deux lectures indépendantes et une écriture synchrone, puis vérifier bypass, initialisation et validité.

    • FIFO mono-horloge : pointeurs et politiques aux limitesConcept

      Réaliser pointeurs et occupation d'un FIFO quatre places, avec acceptation explicite à vide et à plein.

    • Vérifier FIFO et mémoires avec un scoreboard indépendantConcept

      Écrire un scoreboard sans pointeurs du DUT et planifier limites, reset, validité et lectures non initialisées.

  13. Approfondissement facultatif · Pipelines et interfaces
    • Ready/valid et tampon élastique d'une placeConcept

      Définir transferts sans perte ni doublon et entrées/sorties simultanées dans un chemin pouvant s'arrêter.

    • Pipeline multiplication-addition et alignement des donnéesConcept

      Découper les opérations par registres et aligner données, valid et opérandes auxiliaires par transaction.

    • Pipeline pouvant s'arrêter et contre-pressionConcept

      Calculer ready par étage pour éviter pertes, doublons et recalculs pendant arrêts et mouvements simultanés.

    • Interface de registres et instant des effets de bordConcept

      Spécifier adresse, écriture par octets et attente de réponse pour qu'une requête produise un seul effet.

    • Projet pratique : émetteur UART et timing des tramesConcept

      Combiner division d'horloge, décalage et contrôle de flux pour une trame 8N1, puis vérifier les limites de bits.

Votre choix s’applique à ce navigateur. Modifiez-le à tout moment en bas de page.