|
|
|
|
| Premier jour |
| De la porte logique au FPGA |
 |
Structure d'un Circuit Intégré |
|
 |
SSI (small scale integration), logique TTL |
|
 |
MSI (medium scale integration), PALs, GALs, PLDs |
|
 |
LSI (large scale integration), CPLDs |
|
 |
VLSI (very large scale integration), ASICs, ASSPs, FPGAs |
|
 |
Evolution des architectures logiques |
 |
Contraintes des technologies |
|
 |
Méthode d'interconnection (SRAM, Fuse, AntiFuse, Flash) |
|
 |
Réseaux d'horloges |
|
 |
Type d'éléments logiques |
|
 |
Problèmes de timings |
| Les apports du VHDL |
 |
Intérêt d'une programmation en VHDL |
 |
Différentes étapes de la conception |
|
 |
saisie |
|
 |
simulation |
|
 |
synthèse |
|
 |
adaptation à la technologie (mapping) |
|
 |
placement et routage |
|
 |
analyse des timings |
|
 |
génération des binaires (bitstream) |
| Concepts de base |
 |
Entités et architectures |
 |
Ports, signaux et variables |
|
 |
types de données |
|
 |
attributs |
|
 |
Différents styles d'architecture |
 |
Environnements de simulation (Test Bench) |
| Exercice : |
prise en main des outils de conception et découverte du flot de développement à l'aide d'exemples élémentaires |
| Deuxième jour |
| Logique combinatoire en VHDL |
 |
Utilisation des librairies IEEE |
 |
Outils de modélisation de composants |
 |
Traitements concurrents et séquentiels |
|
 |
affectations |
|
 |
processus |
|
 |
traitements conditionnels |
|
 |
Opérateurs relationnels |
 |
Opérateurs arithmétiques |
 |
Surcharge des opérateurs |
 |
Instantiation de composants |
| Exercice : |
conception d'une logique de décodage d'adresses |
| Notion de bancs de test (TestBench) |
 |
Création d'un package |
 |
Génération des vecteurs de test |
|
 |
intégration des vecteurs dans le source du bench |
|
 |
lecture depuis un fichier |
|
 |
stocker les résultats pour analyse ultérieure |
| Exercice : |
test du décodeur d'adresses |
| Troisième jour |
| La logique séquentielle |
 |
Rappels sur les bascules |
|
 |
problème des états métastables |
|
 |
Gestion du reset |
|
 |
prise en compte des reset/presets asynchrones |
|
 |
Buffers trois-états |
|
 |
interface avec des bus |
| Exercice : |
conception d'une FIFO |
| Le test des modèles synchrones |
 |
Vérification des timings |
|
 |
lors de la simultaion |
|
 |
tests de faisabilité du placement routage |
|
 |
simulation après placement routage |
| Exercice : |
vérification de la FIFO à vitesse élevée |
| Fonctions et procédures |
 |
Passage de paramètres à des fonctions |
 |
Surcharge des fonctions |
 |
Différences entre procédures et fonctions |
| Exercice : |
conception et test d'un arbitrage de bus |
| Quatrième jour |
| Les machines d'états |
 |
Rappels sur les machines de Mealy et de Moore |
|
 |
représentations graphique |
|
 |
implémentation |
|
 |
traduction en VHDL |
|
 |
Principes de conception d'une FSM à 2 process |
 |
Reset d'une machine d'états |
 |
Utilisation de la simulation pour vérifier la conception |
 |
Optimisation de l'utilisation des ressources |
| Exercice : |
conception d'une interface SRAM burst |
| Optimisation de la conception |
 |
Optimisation de l'utilisation des ressources |
 |
Optimisation des traitements |
|
 |
temps de traitement |
|
 |
fréquence de traitement |
|
 |
concept de pîpeline |
| Exercice : |
Optimisation des modèles précédents |
| Conception de systèmes complexes |
 |
Découpage hiérarchique |
 |
La librairie work |
 |
Création de librairies |
 |
Packages |
| Exercice : |
exemple de l'interface PCI |