Fichiers sources
Présentation
A titre d’exemple et de point de départ d’un projet, un certain nombre de fichiers sources vous sont proposés ci-après. Certain de ces fichiers ont servi d’illustration à la partie cours. Tous ces fichiers sont en principe dénués d’erreur et ne présenteront pas de problème de bibliothèque car celles qui s’y trouvent sont totalement portables.
Le style de présentation est toujours le même, majuscule pour les mots clefs, minuscules pour les identificateurs. Cela pourrait aisément être changé par un passage par emacs.
Chaque fichier est marqué comme synthètisable ou pas. le nom du fichier décrivant un circuit est entity_circuit.vhd alors que le fichier de test de ce circuit s’appellera test_entity_circuit.vhd
Vous pouvez télécharger l’archive (Zip 82k) de l’ensemble des fichiers .vhd
Les Fichiers classés par catégorie:
Exemple de structure : Projet compteur 4 bits
compteur4_e.vhd — entité seule
compteur4_a1.vhd
compteur4_a2.vhd
compteur4_a3.vhd
compteur4_cfg.vhd
bascule_d_e.vhd
equations10.vhd
bascule_d_a1.vhd
bascule_d_a2.vhd
bascule_d_a3.vhd
utils.vhd
basc_e.vhd
bascule_jk.vhd
Circuits combinatoires
Décodeurs et multiplexeur
ls138.vhd
primitives_pack.vhd # — une fonction de conversion bcd – 7 segments
multiplexeur4.vhd # — 4 écritures différentes de multiplexeur
bin2_7seg.vhd #– conversion binaire 7 segments
bin2bcd.vhd #– conversion binaire-BCD sur 2 chiffres
hexa_to_7seg.vhd — conversion hexadecimal 7 segments
Mémoires et registres
Bascules
Diviseur par 2 (en fréquence)
diviseur2.vhd #– bascule D rebouclée
Latch (déconseillé d’usage , donné à titre d’exemple)
Mémoire RAM, ROM
ram_gen.vhd — ne sera pas correctement interprété par un synthétiseur trop simple
cy7c150.vhd — Modèle comportemental de RAM
rs.vhd — Modèle comportemental
fifo_gen.vhd — FIFO générique (voir remarque ram_gen)
test_fifogen.vhd — fichier de test
rom16x8.vhd #exemple de description de ROM
rom_16x8.vhd #autre style d’écriture
test_rom16x8.vhd
Registre à décalage
reg_decalage.vhd # — Registre à décalage avec e/s parallèle et série
test_reg_dec.vhd # –Test
regdec1024.vhd # — Exemple d’emploi de « generate » (primitives Ram16x1)
Compteurs générique et leurs test
compteur_gen_synchrone.vhd # — Compteur générique
compteur_gen_asynchrone.vhd # — Compteur générique
test_compteur_gen.vhd # — Test
compteur_prog_gen.vhd # — Compteur générique avec chargement
test_compteur_prog.vhd # — Test
Fonction de résolution (non synthétisables)
Exemple de modèle de réseau tiré du livre de R.Airiau (VHDL …)
nor_res.vhd # — Fonction NOR cablée
pkg_res.vhd # — Paquetage
noeud.vhd # — Modèle d’un noeud (non synthétisable)
reseau.vhd # — Test du réseau de trois noeuds
Traitement image
utilitaires
camerapgm.vhd # — Lit un fichier pgm et extraie le flux pixel
camerappm.vhd # — Lit un fichier ppm et extraie le flux pixel
fonts.vhd # — Caracteres 8×8 pixels
interface_vga.vhd # — Interface VGA 480×640
moniteurpgm.vhd # — lit les pixels et construit un fichier pgm
moniteurppm.vhd # — lit les pixels et construit un fichier ppm
moniteur_vga.vhd # — construit un fichier ppm
Filtres
gaussien.vhd # — filtre gaussien
test_gaussien.vhd # — test
pixel2pgm.vhd # — tes
pgm2pixel.vhd # — tes
totalgaussien.vhd # — camera + filtre + moniteur
gradient.vhd # –
test_gradient.vhd # — test
totalgradient.vhd # — camera + filtre + moniteur
moyenne.vhd # — tes
test_moyenne.vhd # — tes
median.vhd # –
test_median.vhd # — test
totalmedian.vhd # — camera + filtre + moniteur
paq_tri.vhd # paquetage pour filtre médian
Circuits arithmétiques
Multiplieur par itérations
multiplieur_e.vhd # — entité
multiplieur_as1.vhd # — par additions succéssives et structuré
multiplieur_as2.vhd # — par additions succéssives en un seul process
multiplieur_ad1.vhd # — par additions et décalages et structuré
multiplieur_ad2.vhd # — par additions et décalages en un seul process
test_multiplieur.vhd # — Fichier de test des différentes versions.
Diviseurs
diviseur_e.vhd # — entité
diviseur_a1.vhd # — architecture 1
diviseur_a2.vhd # — architecture 2
Modulo (non signé)
Calcul du carre d’un nombre par itérations (faible surface)
carre_gen.vhd # — somme des n premiers nombres impairs
test_carre_gen.vhd # — test
Racine carrée
racine.vhd # — soustracttion des n premiers nombres impairs
Communication
Demi-uart
recept.vhd # — recepteur seul
test_recept.vhd # — test
Pilote de souris PS2
pilote_souris.vhd # — Acquisition du flux
Utilitaires
Description de caractères ASCII
ascii_pack.vhd # — codes ascii en format VHDL
Vérification de timing et conversion
utils.vhd # — type bit
verif_pkg.vhd # — type std_logic
Antirebonds et test
anti_rebonds.vhd # — signal d’un poussoir filtré de ses rebonds et décalé d’une valeur de temporisation de 5 ms
test_anti_rebonds.vhd # –preuve
bouton_poussoir.vhd # — Impulsion de largeur une période d’horloge signalant l’appui sur un poussoir filtré de ses rebonds. Elle est décalée d’une valeur de temporisation de 5 ms .
test_bouton_poussoir.vhd #–preuve
Détection de fronts
fronts.vhd # — detection des deux fronts par mémorisation
detection_front_montant.vhd # –
test_front.vhd # — test
Leave a Reply
You must be logged in to post a comment.