1ère Partie : Méthodologie
1 Méthodologie de conception
1.1 Introduction
1.2 Gestion d'un projet électronique
1.2.1 Spécifications de besoin
1.2.2 Conception d'architecture
1.2.3 Conception détaillée
1.2.4 Synthèse, Analyse
1.2.5 Placement, Routage
1.2.6 Simulation post layout
1.2.7 Fabrication, Programmation
1.2.8 Test et Production
1.3 Les clés du succès: Simplicité, Abstraction et Modularité
1.3.1 Simplicité
1.3.2 Abstraction
1.3.3 Modularité
1.4 Méthodologie et projets concrets
1.4.1 Exemples
1.5 Résumé
2 Validation des designs
2.1 Introduction
2.2 Test de modules
2.3 Structure générale d'un banc de test automatique
2.4 Collaboration entre le VHDL et les langages de plus haut niveau
2.5 Bancs de test évolués
2.6 Résumé
3 VHDL et Synthèse
3.1 Les bases de la synthèse
3.1.1 Synthèse : le concept
3.2 Sous-ensemble VHDL pour la synthèse
3.2.1 Packages
3.2.2 Architectures multiples et Configuration
3.2.3 Type buffer et inout
3.2.4 Opérateurs
3.2.5 Généricité
3.2.6 Code concurrent, séquentiel
3.2.7 Règles de notation
3.2.8 Blocs de base
3.3 Résumé
4 Les spécificités de la synthèse
4.1 Introduction
4.2 Optimisation Timing
4.3. Chemins multi-cycles
4.4 Modules VHDL
4.4.1 Partage de ressources
4.4.2 Unité arithmétique
4.4.3 Initialisation des variables
4.4.4 Tables de vérité partielles
4.4.5 Tableaux de données
4.4.6 sortie xxx_special
4.4.7 Entrée ntest
4.5 Estimation de surface
4.6 Estimation de vitesse
4.7 Technologie Cible
4.7.1 ASIC
4.7.2 Sea-of-Gates
4.7.3 FPGA
4.7.4 Comparaison des technologies
4.8 Résumé
2ème Partie : Techniques avancées
5 Générateurs d'horloge et de reset
5.1 Diviseurs d'horloge
5.1.1 Diviseur d'horloge synchrone
5.1.2 Diviseur d'horloge asynchrone
5.1.3 Diviseur d'horloge et VHDL
5.1.4 Synchronisation multi-fréquence
5.2 Générateurs de Reset
5.2.1 Circuits avec un reset unique
5.2.2 Circuits avec plusieurs reset
5.3 Résumé
6 Test des circuits; le scan-path
6.1 Introduction
6.2 Test de production
6.2.1 Observabilité
6.2.2 Contrôlabilité
6.2.3 Taux de couverture
6.3 Scan-path
6.3.1 Insertion de scan-path avec des outils informatiques
6.3.2 Insertion du scan-path directement dans le VHDL
6.4 Résumé
7 Basse consommation
7.1 Introduction
7.2 Calcul de la consommation
7.2.1 Estimation de la consommation
7.3 Techniques traditionnelles de réduction de la consommation
7.3.1 Contrôle des données
7.3.2 Consommation des entrées/sorties
7.3.3 Commutation d'horloge (gated-clock)
7.4 Synchronisation de l'horloge
7.4.1 Les arbres d'horloge
7.4.2 Les transistors à basse consommation
7.5 Designs synchrones, multi-synchrones et asynchrones
7.5.1 Latch
7.5.2 Flip-flop
7.5.3 Design synchrone
7.5.4 Design multi-synchrone
7.5.5 Design asynchrone
7.6 Design double latchs
7.6.1 Horloges non-recouvrantes
7.6.2 Remplacement des flip-flops
7.6.3 Scan-path intégré
7.6.4 Librairie de fonctions double latchs
7.7 Utilisation du double latchs
7.7.1 Ecriture explicite du signal d'activation
7.7.2 Optimisation pour banque de registres
7.7.3 Insertion de logique entre les deux latchs
7.8 Résumé
8 Simulation timing après placement-routage
8.1 Introduction
8.2 Caractérisation timing automatique
8.3 Résumé
9 La co-simulation, perspectives
9.1 Introduction
9.1.1 La co-simulation, description
9.2 Mise en œuvre
9.2.1 Exemple
9.3 Estimation de la consommation
9.4 Résumé
10 Simulation, test de production: regroupement des vecteurs
10.1 Introduction
10.2 Fonctionnement des testeurs
10.3 Testbench mixte validation et test
10.5 Evolution du modèle
10.6 Résumé
11 Le circuit intégré et son environnement
11.1 Introduction
11.2 Design multi-chip
11.2.1 Synchronisation de plusieurs Circuits
11.2.2 Consommation due aux interconnexions
11.2.3 Résumé
11.3 Boundary-scan
11.3.1 Test Access Port (TAP)
11.3.2 Le contrôleur TAP
11.3.3 Utilisation du Boundary-scan
11.3.4 Résumé
11.4 La métastabilité
11.4.1 Structure interne des flip-flops
11.4.2 L'effet
11.4.3 La probabilité d'apparition
11.4.4 Prévention de la métastabilité
11.4.5 Implémentation en VHDL
11.5 Résumé
Bibliographie
index