La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit

Présentations similaires


Présentation au sujet: "Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit"— Transcription de la présentation:

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

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

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

4 Problématique « conception » Fonctionnalités / Partitionnement Performance / Consommation / Surface Variabilité Fiabilité Programmation / Debug Vérification / Test Coûts de conception Pascal.Benoit@univ-montp2.fr4 Capteurs Process 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.

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

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

7 Problématique « conception » Fonctionnalités / Partitionnement Performance / Consommation / Surface Variabilité Fiabilité Programmation / Debug Vérification / Test Coûts de conception Pascal.Benoit@univ-montp2.fr7 SenderT1 IVLCT2 IQUANTT3 IDCTT4 32 01 T1 T3T2 T4 32 01 T1 T3T2 T4

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

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

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

11 Exemple: registre 16 bits Pascal.Benoit@univ-montp2.fr11 15 lignes de VHDL 96 portes logiques 384 transistors 768 segments

12 Un exemple dabstraction… 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é, labstraction permet de décrire plus simplement des choses compliquées… Outils CAO pour automatiser le passage dun niveau dabstraction à un autre Outils de synthèse Attention: ce nest pas magique… Vérification: outils de simulation, etc. Pascal.Benoit@univ-montp2.fr12

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

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

15 « Lois de lévolution » Pascal.Benoit@univ-montp2.fr15

16 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.fr16

17 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 dun SE en activité: 100 nW 100 uw 100 mw Consommation des circuits intégrés -> Processor dun PC en activité: 1 W 10 W 100 W Pascal.Benoit@univ-montp2.fr17

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

19 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.fr19

20 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.fr20

21 QUIZZ Quelle est la partie prépondérante dans la phase de conception dun 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.fr21

22 Flot de Conception générique CIN Pascal.Benoit@polytech.univ-montp2.fr22 Processeur Multimédia … F = 500 MHz P = 1 Watt … Cahier des charges / Spécifications du composant Description VHDL Description Logique Description Physique Synthèse Logique Synthèse Physique Outils de CAO Niveau dabstraction du composant BibliothèqueTechnologique OK Outil de Simulation Cibles Matérielles

23 Cibles matérielles Pascal.Benoit@univ-montp2.fr23 Logic Standard Logic Standard Logic ASIC Cell-Based IC Cell-Based IC Full Custom IC Full Custom IC PLD Gate Arrays Gate Arrays SPLD (PLA) SPLD (PLA) CPLD FPGA SPLDSimple Programmable Logic Device CPLDComplex PLD (Programmable Logic Device) FPGAField Programmable Gate Array Cibles matérielles

24 HDL: Cibles matérielles Pascal.Benoit@univ-montp2.fr24 Logic Standard Logic Standard Logic ASIC Cell-Based IC Cell-Based IC Full Custom IC Full Custom IC PLD Gate Arrays Gate Arrays SPLD (PLA) SPLD (PLA) CPLD FPGA SPLDSimple Programmable Logic Device CPLDComplex PLD (Programmable Logic Device) FPGAField Programmable Gate Array Cibles matérielles

25 Fondeur Flot de Conception Silicium Pascal.Benoit@polytech.univ-montp2.fr25 Processeur Multimédia … F = 500 MHz P = 1 Watt … Cahier des charges / Spécifications du circuit Description VHDL Description Logique Description Physique Synthèse Logique Synthèse Physique Outils de CAO Niveau dabstraction du circuit BibliothèqueTechnologique OK Outil de Simulation

26 Flot de Conception Silicium Principaux acteurs de la CAO En réalité, cest une trentaine doutils nécessaires…

27 Programmation du FPGA Flot de Conception FPGA Pascal.Benoit@polytech.univ-montp2.fr27 Processeur Multimédia … F = 500 MHz P = 1 Watt … Cahier des charges / Spécifications du composant Description VHDL Description Logique Description Physique Synthèse Logique Synthèse Physique Outils de CAO Niveau dabstraction du composant BibliothèqueTechnologique OK Outil de Simulation

28 Flot de Conception FPGA Les fabricants de FPGA fournissent leurs propres outils CAO…

29 Flot de Conception générique Pascal.Benoit@polytech.univ-montp2.fr29 Processeur Multimédia … F = 500 MHz P = 1 Watt … Cahier des charges / Spécifications du composant Description VHDL Description Logique Description Physique Synthèse Logique Synthèse Physique Outils de CAO Niveau dabstraction du composant BibliothèqueTechnologique OK Outil de Simulation Cibles Matérielles

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

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

32 Pascal.Benoit@univ-montp2.fr32 CLK D Q latch Q ff

33 Latch vs Flip Flop (HDL) Pascal.Benoit@univ-montp2.fr33 1)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.

34 Latch vs Flip Flop (HDL) Pascal.Benoit@univ-montp2.fr34 1)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. 2)Surface Latch< Surface Flip-flop

35 Latch vs Flip Flop (HDL) Pascal.Benoit@univ-montp2.fr35 1)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. 2)Surface Latch< Surface Flip-flop 3)Les Flip flops permettent de synchroniser la logique combinatoire

36 Latch vs Flip Flop (HDL) Pascal.Benoit@univ-montp2.fr36 1)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. 2)Surface Latch< Surface Flip-flop 3)Les Flip flops permettent de synchroniser la logique combinatoire 4)Latches peu compatibles avec les outils de DFT

37 Latch vs Flip Flop (HDL) Pascal.Benoit@univ-montp2.fr37 1)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. 2)Surface Latch< Surface Flip-flop 3)Les Flip flops permettent de synchroniser la logique combinatoire 4)Latches peu compatibles avec les outils de DFT 5)La plupart des outils CAO optimisent mal les timings en présence de latches, pire, peuvent passer à côté dun chemin critique…

38 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.fr38

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

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

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

42 Règles de « nommage » (Naming) Respecter les spécifications! Nommage explicite: signaux, ports, fonctions et paramètres. Exemple: pas ra pour le bus dadresse de la RAM, plutôt ram_addr or RamAddr (VHDL insensible à la casse). Utiliser clk pour les signaux dhorloge Sil y a plusieurs horloges, utiliser clk comme préfixe pour tous les signaux dhorloge clk4m, clk8m Même nom pour tous les signaux dhorloge 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.fr42

43 Règles de « nommage » (Naming) Respecter les spécifications! Nommage explicite: signaux, ports, fonctions et paramètres. Exemple: pas ra pour le bus dadresse de la RAM, plutôt ram_addr or RamAddr (VHDL insensible à la casse). Utiliser clk pour les signaux dhorloge Sil y a plusieurs horloges, utiliser clk comme préfixe pour tous les signaux dhorloge clk4m, clk8m Même nom pour tous les signaux dhorloge 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.fr43

44 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.fr44

45 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, sil 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.fr45

46 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, sil 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.fr46

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

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

49 Horloges et reset Une seule horloge globale Eléments séquentiels: Flip-flops sensibles sur front montant dhorloge 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.fr49

50 Horloges et reset Une seule horloge globale Eléments séquentiels: Flip-flops sensibles sur front montant dhorloge 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.fr50

51 Horloges et reset Eviter les « gated-clocks » Technology-specific (cf. Power…) Glitches, skew, violation de contraintes de hold, testabilité Pascal.Benoit@univ-montp2.fr51 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.

52 Horloges et reset Eviter les « gated-clocks » Technology-specific (cf. Power…) Glitches, skew, violation de contraintes de hold, testabilité Pascal.Benoit@univ-montp2.fr52 process (mclk, rst) begin if rst='1' then q '0'); elsif mclk'event and mclk='1' then q <= q+1; end if; end process; clk25 <= q(0); clk190 <= q(17); clk3 <= q(23); process (mclk, rst) begin if rst='1' then q '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 may have excessive skew because 1 CLK pins and 1 NON_CLK pins failed to route using a CLK template. 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(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);

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

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

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

56 Partitionnement du design Avantages dun bon partitionnement Facilite la synthèse: optimisation, vitesse de synthèse, etc. Reuse Pascal.Benoit@univ-montp2.fr56 Mieux…


Télécharger ppt "Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit"

Présentations similaires


Annonces Google