Problématique « utilisation »

Slides:



Advertisements
Présentations similaires
Du Software au Hardware
Advertisements

Architecture des processeurs généralistes haute performance
Test de Systèmes Intégrés Digitaux et Mixtes
Test Intégré pour Convertisseurs Analogique/Numérique
PRESENTATION DU SITE : Création du compte « administrateur » M.ANDRAL
Chapitre 3 Les Circuits Spécialisées ASIC et La consommation de puissance Smail NIAR MASTER1 INEM.
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
ACS et Séquences Comportementales en environnements non-markoviens
Claude Godart, Equipe ECOO, LORIA
Flow de conception (4h)-demo
Les Ateliers de Génie Logiciel
Présentation aux nouveaux Enseignants
Utilisation des modulettes informatiques et manuelles
Cours Systèmes logiques
Circuits Logiques Programmables
Ing Mohamed MASMOUDI Cours VHDL Ing Mohamed MASMOUDI
Journées scientifiques du CNFRS – C. Billard
Décrire un circuit numérique avec VHDL
CCT : Les Convertisseurs A / D
Cours #6 Conception d’unités de contrôle
Le VHDL De nos jours, les circuits numériques de haute performance sont habituellement créés à partir de descriptions en langages de haut niveau. Nous.
Les besoins en CAN pour les applications d'imagerie
Cours #8 Flot de conception d’un circuit numérique
1 TAL : une bibliothèque de cellules pour le design de circuits asynchrones QDI P. Maurine, J. B. Rigaud, F. Bouesse, G. Sicard, M. Renaudin.
La notion de public dans un genre spécifique
Cours #4 Éléments à mémoire et circuits séquentiels synchrones de base
Interfaces : comment classifier ?
©Frédéric Bastien 2006 Université de Montréal 1 LISATek LISATek pour concevoir des processeurs.
Introduction Objectifs du cours Évaluation Références
Formation en alternance
Plan Introduction DFT d’un additionneur asynchrone
Cours #7 Vérification d’un modèle VHDL
Logique séquentielle.
3.3 Circuits logiques à mémoire Bascules (latches)
Informatique 1. Les applications de l’informatique

INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Options d’implémentation.
Modélisation VHDL du chemin des données d’un processeur à usage général Sujets de ce thème
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Analyse de machines.
Tenue aux radiations des composants Logiques et Interfaces
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Description d’un circuit.
Advanced Boolean Equation Language
Composants logiques programmables
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Langages de description architecturale.
MICROLOR Le savoir partagé
Méthodologie de conception Outils de conception
Cours d’Outils de conception ESME SUDRIA 2003
INF8505: processeurs embarqués configurables
Les systèmes mono-puce
Modélisation d’un dopage
Synthèse et implémentation d’un circuit combinatoire
Journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Gwenolé CORRE, Nathalie JULIEN, Eric SENN, Eric MARTIN LESTER, Université de.
TP N°4 – M2 EEA SM Conception en Vue du Test. Objectifs Réaliser le flot complet de synthèse – test – synthèse en vue du test Utilisation d’un design.
Test et Testabilité des Circuits Intégrés Digitaux
Application à la Radio Logicielle Restreinte
Implantation de processeurs dans les FPGA et ASIC
Circuits intégrés Zoom sur le cœur des circuits intégrés…
Chapitre 5 : Les circuits séquentiels
Introduction au VHDL - R.WEBER - Polytech'Orleans
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
CIRCUITS LOGIQUES PROGRAMMABLES
Conception d ’ une IP d ’ un contrôleur de bus I ² C en SystemC1.0 ZHANG XUN Tuteurs du projet : Mr. P. Garda - Mr. O. Romain LISIF---Team SYEL Université.
Les FPGA « Field Programmable Gate Array »
INTRODUCTION.
INTRODUCTION.
Electronique Numérique 2
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Flot de conception de.
Composants à réseaux logiques programmables
ELE6306 : Test de systèmes électroniques Test intégré et Modèle de faute de délai Etudiante : S. BENCHIKH Professeur : A. Khouas Département de génie électrique.
Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Sept ,000.
Transcription de la présentation:

Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Pascal.Benoit@univ-montp2.fr

Problématique « fabrication » Miniaturisation Intégration SIP Intégration 3D Nouvelles technologies Rendement Variabilité Coûts de fabrication Pascal.Benoit@univ-montp2.fr

Problématique « conception » Problématiques « fabrication » Miniaturisation Intégration SIP Intégration 3D Nouvelles technologies Rendement Variabilité Coûts de fabrication Problématiques « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Problématiques « conception » Pascal.Benoit@univ-montp2.fr

Problématique « conception » Fonctionnalités / Partitionnement Performance / Consommation / Surface Variabilité Fiabilité Programmation / Debug Vérification / Test Coûts de conception “The root cause of variability in bulk CMOS technology is mainly RDF, random dopant fluctuations, i.e. variations in the exact number and position of dopant atoms in the channel of the transistor.” Capteurs Process Pascal.Benoit@univ-montp2.fr

Variabilité – Ring Oscillator Cpt Compteur n Activation Commande Horloge Résultat Commande Oscillateur Pascal.Benoit@univ-montp2.fr

Problématique « conception » Fonctionnalités / Partitionnement Performance / Consommation / Surface Variabilité Fiabilité Programmation / Debug Vérification / Test Coûts de conception Exemple: techniques TMR Pascal.Benoit@univ-montp2.fr

Problématique « conception » Fonctionnalités / Partitionnement Performance / Consommation / Surface Variabilité Fiabilité Programmation / Debug Vérification / Test Coûts de conception 3 2 1 T1 T3 T2 T4 3 2 1 T1 T3 T2 T4 Sender T1 IVLC T2 IQUANT T3 IDCT T4 Pascal.Benoit@univ-montp2.fr

Problématique « conception » Fonctionnalités / Partitionnement Performance / Consommation / Surface Variabilité Fiabilité Programmation / Debug Vérification / Test Coûts de conception Pascal.Benoit@univ-montp2.fr

Problématique « conception » Fonctionnalités / Partitionnement Performance / Consommation / Surface Variabilité Fiabilité Programmation / Debug Vérification / Test Coûts de conception Pascal.Benoit@univ-montp2.fr

Problématique « conception » Design productivity Comment faire pour tirer le meilleur bénéfice de l’intégration? ABSTRACTION & AUTOMATISATION Pascal.Benoit@univ-montp2.fr

Exemple: registre 16 bits library ieee ; use ieee.std_logic_1164.all; entity dff isport(data_in:in std_logic_vector(15 downto 0); clock:in std_logic; data_out:out std_logic_vector(15 downto 0)); end dff; architecture behv of dff is begin process(data_in, clock) if (clock='1' and clock'event) then data_out <= data_in; end if; end process; end behv; 15 lignes de VHDL ∼ 96 portes logiques ∼ 768 segments Pascal.Benoit@univ-montp2.fr ∼ 384 transistors

Un exemple d’abstraction… Registre simple16 bits… Description VHDL  15 lignes de code Portes logiques  96 portes logiques Circuit électrique  384 transistors Dessin des masques  768 « segments » En résumé, l’abstraction permet de décrire plus simplement des choses compliquées… Outils CAO pour automatiser le passage d’un niveau d’abstraction à un autre Outils de synthèse Attention: ce n’est pas magique… Vérification: outils de simulation, etc. Pascal.Benoit@univ-montp2.fr

Problématiques « conception » Problématiques « fabrication » Miniaturisation Intégration SIP Intégration 3D Nouvelles technologies Rendement Variabilité Coûts de fabrication Problématiques « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Problématiques « conception » Fonctionnalités / Partitionnement Performance / Consommation / Surface Variabilité Fiabilité Programmation / Debug Vérification / Test Coûts de conception Pascal.Benoit@univ-montp2.fr

Problématiques « conception » Problématiques « fabrication » Miniaturisation Intégration SIP Intégration 3D Nouvelles technologies Rendement Variabilité Coûts de fabrication Problématiques « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Problématiques « conception » Fonctionnalités / Partitionnement Performance / Consommation / Surface Variabilité Fiabilité Programmation / Debug Vérification / Test Coûts de conception Pascal.Benoit@univ-montp2.fr

« Lois de l’évolution » Pascal.Benoit@univ-montp2.fr

QUIZZ Tendance actuelle sur le marché de la microélectronique Application? Technologie? Performance des circuits intégrés -> fréquence: MHz GHz THz Complexité des circuits intégrés -> nombre de transistors 1 000 000 10 000 000 100 000 000 1 000 000 000 Pascal.Benoit@univ-montp2.fr

QUIZZ Complexité de ces circuits au début des années 1970 100 1 000 100 000 Consommation des circuits intégrés -> Application Processor d’un SE en activité: 100 nW 100 uw 100 mw Consommation des circuits intégrés -> Processor d’un PC en activité: 1 W 10 W 100 W Pascal.Benoit@univ-montp2.fr

QUIZZ Capacité des batteries de téléphone portable 10 mAh 100 mAh 1 000 mAh Semiconductors Techno providers Asia Europe US Qu’est-ce qu’une entreprise Fabless? Une entreprise qui ne conçoit pas ses circuits Une entreprise qui ne produit pas ses circuits Pascal.Benoit@univ-montp2.fr

QUIZZ Quel est le nœud technologique le plus avancé en production 45 nm 32/28 nm 22/20 nm Quel sera le prochain nœud technologique? Que représente cette dimension? Pascal.Benoit@univ-montp2.fr

QUIZZ Quels sont les deux problèmes majeurs dans les technologies récentes? Quelles est la différence entre la dérive technologique, et la variabilité? Quelles sont les nouvelles pistes technologiques de la CMOS? Quelles sont les perspectives potentielles post-CMOS? Pascal.Benoit@univ-montp2.fr

QUIZZ Quelle est la partie prépondérante dans la phase de conception d’un CIN / SIN? Design Vérification Pour un CIN programmable, la partie logicielle est-elle réalisée pendant la conception ou après la fabrication du circuit? Pascal.Benoit@univ-montp2.fr

Flot de Conception générique CIN Cahier des charges / Spécifications du composant Processeur Multimédia … F = 500 MHz P = 1 Watt Description VHDL OK Outil de Simulation Synthèse Logique Cibles Matérielles Bibliothèque Technologique Description Logique Synthèse Physique Outils de CAO Le passage de la description comportementale à la description structurelle s’appelle la « synthèse logique ». Le passage du niveau structurel au niveau « masques » s’appelle la « synthèse physique ». Au niveau masque, on parle aussi de niveau « physique ». Description comportementale = description fonctionnelle. Description Physique Niveau d’abstraction du composant Pascal.Benoit@polytech.univ-montp2.fr

Cibles matérielles Cibles matérielles Logic Standard Logic ASIC PLD Gate Arrays Cell-Based IC Full Custom IC SPLD (PLA) CPLD FPGA SPLD Simple Programmable Logic Device CPLD Complex PLD (Programmable Logic Device) FPGA Field Programmable Gate Array Pascal.Benoit@univ-montp2.fr

HDL: Cibles matérielles Logic Standard Logic ASIC PLD Gate Arrays Cell-Based IC Full Custom IC SPLD (PLA) CPLD FPGA SPLD Simple Programmable Logic Device CPLD Complex PLD (Programmable Logic Device) FPGA Field Programmable Gate Array Pascal.Benoit@univ-montp2.fr

Flot de Conception Silicium Cahier des charges / Spécifications du circuit Processeur Multimédia … F = 500 MHz P = 1 Watt Description VHDL OK Outil de Simulation Synthèse Logique Fondeur Bibliothèque Technologique Description Logique Synthèse Physique Outils de CAO Le passage de la description comportementale à la description structurelle s’appelle la « synthèse logique ». Le passage du niveau structurel au niveau « masques » s’appelle la « synthèse physique ». Au niveau masque, on parle aussi de niveau « physique ». Description comportementale = description fonctionnelle. Description Physique Niveau d’abstraction du circuit Pascal.Benoit@polytech.univ-montp2.fr

Flot de Conception Silicium Principaux acteurs de la CAO Le passage de la description comportementale à la description structurelle s’appelle la « synthèse logique ». Le passage du niveau structurel au niveau « masques » s’appelle la « synthèse physique ». Au niveau masque, on parle aussi de niveau « physique ». Description comportementale = description fonctionnelle. En réalité, c’est une trentaine d’outils nécessaires…

Flot de Conception FPGA Cahier des charges / Spécifications du composant Processeur Multimédia … F = 500 MHz P = 1 Watt Description VHDL OK Outil de Simulation Synthèse Logique Programmation du FPGA Bibliothèque Technologique Description Logique Synthèse Physique Outils de CAO Le passage de la description comportementale à la description structurelle s’appelle la « synthèse logique ». Le passage du niveau structurel au niveau « masques » s’appelle la « synthèse physique ». Au niveau masque, on parle aussi de niveau « physique ». Description comportementale = description fonctionnelle. Description Physique Niveau d’abstraction du composant Pascal.Benoit@polytech.univ-montp2.fr

Flot de Conception FPGA Les fabricants de FPGA fournissent leurs propres outils CAO… Le passage de la description comportementale à la description structurelle s’appelle la « synthèse logique ». Le passage du niveau structurel au niveau « masques » s’appelle la « synthèse physique ». Au niveau masque, on parle aussi de niveau « physique ». Description comportementale = description fonctionnelle.

Flot de Conception générique Cahier des charges / Spécifications du composant Processeur Multimédia … F = 500 MHz P = 1 Watt Description VHDL OK Outil de Simulation Synthèse Logique Cibles Matérielles Bibliothèque Technologique Description Logique Synthèse Physique Outils de CAO Le passage de la description comportementale à la description structurelle s’appelle la « synthèse logique ». Le passage du niveau structurel au niveau « masques » s’appelle la « synthèse physique ». Au niveau masque, on parle aussi de niveau « physique ». Description comportementale = description fonctionnelle. Description Physique Niveau d’abstraction du composant Pascal.Benoit@polytech.univ-montp2.fr

VHDL Entretien d’embauche! Retour sur les notions de base Circuit logique Latch / Flip-Flop Compteur Instanciation Testbench MEF Gestion du Reset / Clock Entretien d’embauche! Pascal.Benoit@univ-montp2.fr

Latch vs Flip Flop (CMOS) Quand CK=1, transparent Quand CK=0, mémoire CK D Q CK CK CK CK CK D Q CK CK CK CK CK CK Pascal.Benoit@univ-montp2.fr

CLK D Qlatch Qff Pascal.Benoit@univ-montp2.fr

Latch vs Flip Flop (HDL) Un codage inapproprié peut entrainer la génération de latches à la place de flip flops ("if" and "case" incomplete statements). A éviter clairement, les latches sont plus sensibles aux glitches. Pascal.Benoit@univ-montp2.fr

Latch vs Flip Flop (HDL) Un codage inapproprié peut entrainer la génération de latches à la place de flip flops ("if" and "case" incomplete statements). A éviter clairement, les latches sont plus sensibles aux glitches. Surface Latch< Surface Flip-flop Pascal.Benoit@univ-montp2.fr

Latch vs Flip Flop (HDL) Un codage inapproprié peut entrainer la génération de latches à la place de flip flops ("if" and "case" incomplete statements). A éviter clairement, les latches sont plus sensibles aux glitches. Surface Latch< Surface Flip-flop Les Flip flops permettent de synchroniser la logique combinatoire Pascal.Benoit@univ-montp2.fr

Latch vs Flip Flop (HDL) Un codage inapproprié peut entrainer la génération de latches à la place de flip flops ("if" and "case" incomplete statements). A éviter clairement, les latches sont plus sensibles aux glitches. Surface Latch< Surface Flip-flop Les Flip flops permettent de synchroniser la logique combinatoire Latches peu compatibles avec les outils de DFT Pascal.Benoit@univ-montp2.fr

Latch vs Flip Flop (HDL) Un codage inapproprié peut entrainer la génération de latches à la place de flip flops ("if" and "case" incomplete statements). A éviter clairement, les latches sont plus sensibles aux glitches. Surface Latch< Surface Flip-flop Les Flip flops permettent de synchroniser la logique combinatoire Latches peu compatibles avec les outils de DFT La plupart des outils CAO optimisent mal les timings en présence de latches, pire, peuvent passer à côté d’un chemin critique… Pascal.Benoit@univ-montp2.fr

Logic Design Objectif: concevoir un composant SYNTHETISABLE Règles de design Naming Vendor independence IEEE standard types Commentaires IP Reuse Design synchrone Partitionnement RTL Pascal.Benoit@univ-montp2.fr

Règles de « nommage » (Naming) Respecter les spécifications! Pascal.Benoit@univ-montp2.fr

Règles de « nommage » (Naming) Respecter les spécifications! Nommage explicite: signaux, ports, fonctions et paramètres. Exemple: pas ra pour le bus d’adresse de la RAM, plutôt ram_addr or RamAddr (VHDL insensible à la casse). Pascal.Benoit@univ-montp2.fr

Règles de « nommage » (Naming) Respecter les spécifications! Nommage explicite: signaux, ports, fonctions et paramètres. Exemple: pas ra pour le bus d’adresse de la RAM, plutôt ram_addr or RamAddr (VHDL insensible à la casse). Utiliser clk pour les signaux d’horloge S’il y a plusieurs horloges, utiliser clk comme préfixe pour tous les signaux d’horloge clk4m, clk8m Même nom pour tous les signaux d’horloge pilotés par le même signal Pascal.Benoit@univ-montp2.fr

Règles de « nommage » (Naming) Respecter les spécifications! Nommage explicite: signaux, ports, fonctions et paramètres. Exemple: pas ra pour le bus d’adresse de la RAM, plutôt ram_addr or RamAddr (VHDL insensible à la casse). Utiliser clk pour les signaux d’horloge S’il y a plusieurs horloges, utiliser clk comme préfixe pour tous les signaux d’horloge clk4m, clk8m Même nom pour tous les signaux d’horloge pilotés par le même signal Pour les signaux actifs sur niveau bas, on suffixe avec underscore x (toto_x). Pascal.Benoit@univ-montp2.fr

Règles de « nommage » (Naming) Respecter les spécifications! Nommage explicite: signaux, ports, fonctions et paramètres. Exemple: pas ra pour le bus d’adresse de la RAM, plutôt ram_addr or RamAddr (VHDL insensible à la casse). Utiliser clk pour les signaux d’horloge S’il y a plusieurs horloges, utiliser clk comme préfixe pour tous les signaux d’horloge clk4m, clk8m Même nom pour tous les signaux d’horloge pilotés par le même signal Pour les signaux actifs sur niveau bas, on suffixe avec underscore x (toto_x). Pour les bus, toujours le même ordre, plutôt (y downto x) Pascal.Benoit@univ-montp2.fr

Règles de « nommage » (Naming) Utiliser le même nom ou des noms similaires pour les ports/signaux aux différents niveaux hiérarchiques Exemple: a => a; ou a => a_int; Pascal.Benoit@univ-montp2.fr

Règles de « nommage » (Naming) Utiliser le même nom ou des noms similaires pour les ports/signaux aux différents niveaux hiérarchiques Exemple: a => a; ou a => a_int; Utiliser: en ou enab pour signaux enable, s’il y en a plusieurs, préfixer tous ces signaux avec en ou enab Rst ou reset pour tous les resets du circuit Pascal.Benoit@univ-montp2.fr

Règles de « nommage » (Naming) Utiliser le même nom ou des noms similaires pour les ports/signaux aux différents niveaux hiérarchiques Exemple: a => a; ou a => a_int; Utiliser: en ou enab pour signaux enable, s’il y en a plusieurs, préfixer tous ces signaux avec en ou enab Rst ou reset pour tous les resets du circuit Nommer le testbench ’nom_du_bloc'_TB. Pascal.Benoit@univ-montp2.fr

Horloges et reset Une seule horloge globale Pascal.Benoit@univ-montp2.fr

Horloges et reset Une seule horloge globale Eléments séquentiels: Flip-flops sensibles sur front montant d’horloge Pascal.Benoit@univ-montp2.fr

Horloges et reset Une seule horloge globale Eléments séquentiels: Flip-flops sensibles sur front montant d’horloge CIN “synchrones” Dès l’écriture du VHDL (penser synthèse) Avantages: Optimisation du timing Aléas / glitches, états ‘X’ Test Pascal.Benoit@univ-montp2.fr

Horloges et reset Une seule horloge globale Eléments séquentiels: Flip-flops sensibles sur front montant d’horloge CIN “synchrones” Dès l’écriture du VHDL (penser synthèse) Avantages: Optimisation du timing Aléas / glitches, états ‘X’ Test Partitionnement “intelligent” Facilite analyse et optimisation du timing et test Pascal.Benoit@univ-montp2.fr

Horloges et reset Eviter les « gated-clocks » Technology-specific (cf. Power…) Glitches, skew, violation de contraintes de hold, testabilité clk_int<= port_en_1 and clk; p1:process (rst,clk_int,port_en_1, port_in_1) begin if rst='1' then port_out_1<='0'; elsif rising_edge(clk_int) then port_out_1<=port_in_1; end if; end process; WARNING:PhysDesignRules:372 - Gated clock. Clock net clk_int is sourced by a combinatorial pin. This is not good design practice. Use the CE pin to control the loading of data into the flip-flop. Pascal.Benoit@univ-montp2.fr

Horloges et reset Eviter les « gated-clocks » Technology-specific (cf. Power…) Glitches, skew, violation de contraintes de hold, testabilité process(clk, rst) begin if rst='1' then retard1 <= '0'; retard2 <= '0'; retard3 <= '0'; elsif clk'event and clk='1' then retard1 <= entree; retard2 <= retard1; retard3 <= retard2; end if; end process; sortie <= retard1 and retard2 and (not retard3); process (mclk, rst) begin if rst='1' then q <= (others => '0'); elsif mclk'event and mclk='1' then q <= q+1; end if; end process; clk25 <= q(0); clk190 <= q(17); clk3 <= q(23); WARNING:Route:455 - CLK Net:pulse may have excessive skew because 4 CLK pins and 0 NON_CLK pins failed to route using a CLK template. WARNING:Route:455 - CLK Net:U1/q<17> may have excessive skew because 1 CLK pins and 1 NON_CLK pins failed to route using a CLK template. Pascal.Benoit@univ-montp2.fr

Horloges et reset Eviter les « gated-clocks » Technology-specific (cf. Power…) Glitches, skew, violation de contraintes de hold, testabilité Pascal.Benoit@univ-montp2.fr

Horloges et reset Eviter les « gated-clocks » Exemple de solution Technology-specific (cf. Power…) Glitches, skew, violation de contraintes de hold, testabilité Exemple de solution XILINX DCM DCM Pascal.Benoit@univ-montp2.fr

Horloges et reset Eviter les RESET générés en interne S’assurer que les registres sont initialisés par un même reset Eviter les conditions sur les RESET Pascal.Benoit@univ-montp2.fr

Partitionnement du design Avantages d’un bon partitionnement Facilite la synthèse: optimisation, vitesse de synthèse, etc. Reuse   Mieux…  Pascal.Benoit@univ-montp2.fr