Chargement…
Chargement…
Lisez la spécification technique et concevez le VHDL complet. La simulation GHDL valide votre code.
SPI Master Complet (Mode configurable)
Implé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
Implé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
Implémentez une FIFO synchrone avec largeur et profondeur configurables, pointeurs circulaires et drapeaux full/empty.
RAM Simple Port 256x8
Implémentez une RAM synchrone simple port de 256 mots de 8 bits avec lecture synchrone et écriture synchrone.
RAM Double Port 128x16
Implé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
Implé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.
Maître AXI4-Lite
Implémentez un maître AXI4-Lite générique capable d'effectuer des accès en lecture et écriture sur un bus AXI4-Lite.
Esclave AXI4-Lite
Implémentez un esclave AXI4-Lite générique avec interface registre simplifiée.
Maître AXI4 - canaux d'écriture
Implémentez un maître AXI4 simple gérant les trois canaux d'écriture : Write Address (AW), Write Data (W) et Write Response (B).
Processeur mu0 (16 bits)
Implementez un mini-processeur 16 bits de type accumulateur : UAL, registres PC/IR/ACC/R, sequenceur FSM et assemblage top-level. 14 instructions couvertes.
Cœur SHA-256 (1 bloc)
Implé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.
Contrôleur SAR ADC 4 bits
Implémentez une FSMD de conversion par approximations successives pour piloter un DAC interne et lire un comparateur.
Multiplicateur float32 en 2 étages
Implémentez un multiplicateur IEEE-754 simple précision simplifié avec séparation mantisse/exposant.
ROM initialisée en Intel HEX
Construisez une ROM de simulation à partir de lignes au format Intel HEX fournies par le projet.
Compresseur audio µ-law
Développez un modèle fonctionnel de compression µ-law pour un signal réel normalisé.
Bascule double front
Modélisez une sortie DDR simple à partir de deux registres de fronts opposés.
Chronomètre
Réalisez un chronomètre décimal secondes/dixièmes piloté par un tick externe.
FIFO asynchrone
Implémentez une petite FIFO 8 bits entre deux domaines d’horloge.
Filtre IIR biquad
Implémentez une cellule IIR biquad entière à coefficients fixes.
Filtre de décimation
Moyennez quatre échantillons puis sortez un échantillon décimé.
Arbitre mémoire
Arbitrez deux maîtres vers un port mémoire simple.
Moteur de tri à bulles
Triez quatre valeurs 4 bits avec un réseau de comparateurs inspiré du tri à bulles.
Fusion de flux triés
Fusionnez deux paires déjà triées en quatre sorties triées.
Calculateur de médiane
Calculez la médiane de cinq valeurs 4 bits.
Moteur de convolution 1D
Implémentez une convolution 1D 3 taps à coefficients fixes `1,2,1`.
Transpose de matrice
Transposez une matrice 2x2 d’octets empaquetée sur 32 bits.
Plus longue séquence consécutive
Mesurez la plus longue suite `+1` dans quatre valeurs déjà triées.