1 / 55

Problématique « utilisation »

Problématique « utilisation ». Fonctionnalités Performance Consommation Fiabilité Prix du produit . Problématique « fabrication ». Miniaturisation Intégration SIP Intégration 3D Nouvelles technologies Rendement Variabilité Coûts de fabrication. Problématique « conception ».

nikita
Download Presentation

Problématique « utilisation »

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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

  4. 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 CMOStechnology 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

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

  6. 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

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

  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.fr

  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.fr

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

  11. Exemple: registre 16 bits libraryieee ; use ieee.std_logic_1164.all; entitydffisport(data_in:in std_logic_vector(15 downto 0); clock:instd_logic; data_out:outstd_logic_vector(15 downto 0)); end dff; architecture behv of dffis begin process(data_in, clock) begin 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

  12. 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

  13. 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

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

  15. 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

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

  17. 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

  18. 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

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

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

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

  22. 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

  23. HDL: 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

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

  25. Flot de Conception Silicium Principaux acteurs de la CAO En réalité, c’est une trentaine d’outils nécessaires…

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

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

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

  29. VHDL • 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

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

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

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

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

  34. Latch vs Flip Flop (HDL) Un codage inapproprié peut entrainer la génération de latches à la place de flip flops ("if" and "case" incompletestatements). 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

  35. Latch vs Flip Flop (HDL) Un codage inapproprié peut entrainer la génération de latches à la place de flip flops ("if" and "case" incompletestatements). 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

  36. Latch vs Flip Flop (HDL) Un codage inapproprié peut entrainer la génération de latches à la place de flip flops ("if" and "case" incompletestatements). 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

  37. 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

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

  39. 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

  40. 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

  41. 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

  42. 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

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

  44. Règles de « nommage » (Naming) • Utiliser le même nom ou des nomssimilaires pour les ports/signaux aux différentsniveauxhiérarchiques • Exemple: a => a; oua => a_int; • Utiliser: • en ouenab pour signaux enable, s’il y en a plusieurs, préfixertouscessignaux avec en ouenab • Rstou reset pour tous les resets du circuit Pascal.Benoit@univ-montp2.fr

  45. Règles de « nommage » (Naming) • Utiliser le même nom ou des nomssimilaires pour les ports/signaux aux différentsniveauxhiérarchiques • Exemple: a => a; oua => a_int; • Utiliser: • en ouenab pour signaux enable, s’il y en a plusieurs, préfixertouscessignaux avec en ouenab • Rstou reset pour tous les resets du circuit • Nommer le testbench ’nom_du_bloc'_TB. Pascal.Benoit@univ-montp2.fr

  46. Horloges et reset • Uneseulehorlogeglobale Pascal.Benoit@univ-montp2.fr

  47. Horloges et reset • Uneseulehorlogeglobale • Elémentsséquentiels: Flip-flops sensiblessur front montantd’horloge Pascal.Benoit@univ-montp2.fr

  48. Horloges et reset • Uneseulehorlogeglobale • Elémentsséquentiels: Flip-flops sensiblessur front montantd’horloge • CIN “synchrones” • Dèsl’écriture du VHDL (pensersynthèse) • Avantages: • Optimisation du timing • Aléas / glitches, états ‘X’ • Test Pascal.Benoit@univ-montp2.fr

  49. Horloges et reset • Uneseulehorlogeglobale • Elémentsséquentiels: Flip-flops sensiblessur front montantd’horloge • CIN “synchrones” • Dèsl’écriture du VHDL (pensersynthèse) • Avantages: • Optimisation du timing • Aléas / glitches, états ‘X’ • Test • Partitionnement “intelligent” • Faciliteanalyse et optimisation du timing et test Pascal.Benoit@univ-montp2.fr

  50. 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'; elsifrising_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

More Related