Chargement…
Chargement…
Partez d'une spécification technique et concevez le VHDL complet, validé par simulation GHDL.
0/34 exercices terminés
SPI Master Complet (Mode configurable)
VHDLImplémentez un contrôleur SPI maître générique supportant les 4 modes SPI, avec diviseur d'horloge, multi-esclaves et tailles de trames configurables.
Émetteur UART 8N1
VHDLImplémentez un émetteur UART 8N1 complet avec générateur de baud rate et FSM a 4 états pilotant le transfert série.
FIFO Synchrone Configurable
VHDLImplémentez une FIFO synchrone avec largeur et profondeur configurables, pointeurs circulaires et drapeaux full/empty.
RAM Simple Port 256x8
VHDLImplémentez une RAM synchrone simple port de 256 mots de 8 bits avec lecture synchrone et écriture synchrone.
RAM Double Port 128x16
VHDLImplémentez une RAM synchrone double port de 128 mots de 16 bits. Le port A écrit, le port B lit.
Générateur d'interruptions
VHDLImplémentez un générateur d'interruptions : chaque vecteur d'IT est maintenu actif pendant g_MIN_WIDTH_PULSE cycles puis reporté dans le statut.
Terminer RAM Double Port 128x16
Maître AXI4-Lite
VHDLImplémentez un maître AXI4-Lite générique capable d'effectuer des accès en lecture et écriture sur un bus AXI4-Lite.
Terminer Générateur d'interruptions
Esclave AXI4-Lite
VHDLImplémentez un esclave AXI4-Lite générique avec interface registre simplifiée.
Terminer Maître AXI4-Lite
Maître AXI4 - canaux d'écriture
VHDLImplémentez un maître AXI4 simple gérant les trois canaux d'écriture : Write Address (AW), Write Data (W) et Write Response (B).
Terminer Esclave AXI4-Lite
Processeur mu0 (16 bits)
VHDLImplementez un mini-processeur 16 bits de type accumulateur : UAL, registres PC/IR/ACC/R, sequenceur FSM et assemblage top-level. 14 instructions couvertes.
Terminer Maître AXI4 - canaux d'écriture
Cœur SHA-256 (1 bloc)
VHDLImplémentez un cœur SHA-256 matériel sur un bloc de 512 bits : fonctions logiques, registre à décalage message, compression et FSM top-level.
Terminer Processeur mu0 (16 bits)
Contrôleur SAR ADC 4 bits
VHDLImplémentez une FSMD de conversion par approximations successives pour piloter un DAC interne et lire un comparateur.
Terminer Cœur SHA-256 (1 bloc)
Multiplicateur float32 en 2 étages
VHDLImplémentez un multiplicateur IEEE-754 simple précision simplifié avec séparation mantisse/exposant.
Terminer Contrôleur SAR ADC 4 bits
ROM initialisée en Intel HEX
VHDLConstruisez une ROM de simulation à partir de lignes au format Intel HEX fournies par le projet.
Terminer Multiplicateur float32 en 2 étages
Compresseur audio µ-law
VHDLDéveloppez un modèle fonctionnel de compression µ-law pour un signal réel normalisé.
Terminer ROM initialisée en Intel HEX
Bascule double front
VHDLModélisez une sortie DDR simple à partir de deux registres de fronts opposés.
Terminer Compresseur audio µ-law
Chronomètre
VHDLRéalisez un chronomètre décimal secondes/dixièmes piloté par un tick externe.
Terminer Bascule double front
FIFO asynchrone
VHDLImplémentez une petite FIFO 8 bits entre deux domaines d’horloge.
Terminer Chronomètre
Filtre IIR biquad
VHDLImplémentez une cellule IIR biquad entière à coefficients fixes.
Terminer FIFO asynchrone
Filtre de décimation
VHDLMoyennez quatre échantillons puis sortez un échantillon décimé.
Terminer Filtre IIR biquad
Arbitre mémoire
VHDLArbitrez deux maîtres vers un port mémoire simple.
Terminer Filtre de décimation
Moteur de tri à bulles
VHDLTriez quatre valeurs 4 bits avec un réseau de comparateurs inspiré du tri à bulles.
Terminer Arbitre mémoire
Fusion de flux triés
VHDLFusionnez deux paires déjà triées en quatre sorties triées.
Terminer Moteur de tri à bulles
Calculateur de médiane
VHDLCalculez la médiane de cinq valeurs 4 bits.
Terminer Fusion de flux triés
Moteur de convolution 1D
VHDLImplémentez une convolution 1D 3 taps à coefficients fixes `1,2,1`.
Terminer Calculateur de médiane
Transpose de matrice
VHDLTransposez une matrice 2x2 d’octets empaquetée sur 32 bits.
Terminer Moteur de convolution 1D
Plus longue séquence consécutive
VHDLMesurez la plus longue suite `+1` dans quatre valeurs déjà triées.
Terminer Transpose de matrice
Neurone séquentiel en virgule fixe
VHDLCalculez un neurone avec une seule unité de multiplication-accumulation réutilisée sur plusieurs cycles.
Terminer Plus longue séquence consécutive
Couche dense parallèle à deux neurones
VHDLCalculez en parallèle deux neurones entièrement connectés à quatre entrées signées.
Terminer Neurone séquentiel en virgule fixe
Multiplieur signé Booth radix 2
VHDLImplémentez une multiplication signée en recodant les transitions du multiplieur.
Terminer Couche dense parallèle à deux neurones
Additionneur et soustracteur modulo m
VHDLCalculez une somme ou une différence réduite dans l'intervalle de zéro à m moins un.
Terminer Multiplieur signé Booth radix 2
Multiplieur modulaire shift-add
VHDLCalculez x fois y modulo m sur huit cycles sans multiplicateur combinatoire.
Terminer Additionneur et soustracteur modulo m
Multiplieur de Montgomery binaire
VHDLCalculez un produit modulaire dans le domaine de Montgomery avec huit itérations binaires.
Terminer Multiplieur modulaire shift-add
Diviseur non restaurant
VHDLDivisez deux entiers non signés avec huit étapes qui alternent soustraction et addition.
Terminer Multiplieur de Montgomery binaire