Chargement…
Chargement…
Écrivez du VHDL et simulez avec GHDL directement dans le navigateur.
Exercices
31
Faits
0
Total
31
TOP_LEVEL - Compteur BCD 7 segments
Assemblez les composants fournis dans un TOP_LEVEL structurel.
Comparateur N bits
Implémentez un comparateur paramétrique capable de comparer deux valeurs non signées.
Synchroniseur double bascule
Implémentez un synchroniseur à deux étages pour transférer un signal asynchrone vers un domaine d'horloge.
Détecteur de front montant
Implémentez un détecteur de front montant qui génère une impulsion d'un cycle d'horloge lors de chaque transition 0→1 du signal d'entrée.
Détecteur de front descendant
Implémentez un détecteur de front descendant qui génère une impulsion d'un cycle d'horloge lors de chaque transition 1→0 du signal d'entrée.
Mux 4:1 à partir de Mux 2:1
Construisez un multiplexeur 4 vers 1 en instanciant trois multiplexeurs 2 vers 1 disponibles dans le package.
Décodeur 2 vers 4
Implémentez un décodeur binaire 2 vers 4 à sortie one-hot active haute.
Encodeur prioritaire 4 vers 2
Implémentez un encodeur prioritaire 4 vers 2 : la sortie binaire indique l'index du bit haut le plus à gauche dans `i_d`.
Demi-soustracteur
Implémentez un demi-soustracteur 1 bit produisant la différence et l'emprunt sortant.
Détecteur de parité 8 bits (arbre XOR)
Calculez la parité paire d'un mot de 8 bits avec un arbre XOR à 3 niveaux.
Additionneur 4 bits ripple-carry
Construisez un additionneur 4 bits par chaînage de quatre full-adders 1 bit fournis dans le package.
Bascule D avec set/reset asynchrones
Implémentez une bascule D avec set et reset asynchrones, prioritaires sur l'horloge.
Bascule T à partir d'une bascule D
Construisez une bascule T en câblant une bascule D avec une porte XOR.
Compteur asynchrone 3 bits (ripple)
Construisez un compteur ripple 3 bits par chaînage de trois bascules T fournies dans le package.
Diviseur de fréquence par 4
Cascadez deux bascules T pour produire une horloge de fréquence quatre fois inférieure à `i_clk`.
Convertisseur série vers parallèle
Codez un registre à décalage paramétrable avec une structure `generate`.
Générateur CRC-8
Implémentez un générateur CRC-8 (polynôme 0x07 : x⁸+x²+x+1) traitant un bit par cycle d'horloge.
Distributeur de boissons (FSM Moore)
Implémentez la FSM d'un distributeur acceptant 3 jetons puis délivrant une boisson sur appui bouton.
Serrure à code 4 digits (FSM Moore)
Implémentez une FSM qui ouvre une serrure si la séquence `1, 2, 3, 4` est entrée correctement.
Ascenseur 3 étages (FSM Moore)
Implémentez la FSM d'un ascenseur 3 étages qui se déplace vers l'étage cible.
Arbitre Round-Robin 2 maîtres (FSM)
Implémentez un arbitre round-robin entre deux maîtres : la priorité bascule à chaque grant accordé.
Handshake 4 phases côté maître (FSM)
Implémentez la FSM maître d'un protocole de handshake 4 phases (req/ack).
Porte automatique avec sécurité (FSM)
Implémentez la FSM d'une porte automatique avec capteur d'obstacle et capteurs de fin de course.
Détecteur de séquence "1101" (Moore vs Mealy)
Implémentez le même détecteur de séquence en deux versions : machine de Moore et machine de Mealy.
Clavier matriciel 4x4 (FSM scan)
Implémentez le scan séquentiel d'un clavier matriciel 4x4 et l'identification de la touche pressée.
XOR réduit en arbre
Décrivez un XOR de réduction paramétrable sous forme d'arbre pour une largeur puissance de deux.
mu0 - Assemblage du top-level
Cablez les composants du processeur mu0 pour obtenir un top-level fonctionnel.
UART - Assemblage du top-level
Cablez le top-level d'un UART complet (TX + RX) a partir des composants fournis.
Multiplicateur par additions successives
Reconstituez une FSMD qui multiplie deux opérandes 8 bits par additions répétées.
PGCD par soustractions
Recodez une FSMD de calcul du PGCD basée sur comparaisons, échange et soustraction.
Approximation de racine carrée
Reconstituez une FSMD qui approxime la norme de deux valeurs signées 8 bits.