Bases d'architectures des systèmes électroniques SE204 Jean-Luc Danger Page 1 Télécom-ParisTech Jean-Luc Danger 2017 Architecture générique Test Traitement Mémoire Energie Communications Intégration Homme et Machines Page 2 Télécom-ParisTech Jean-Luc Danger 2017 Sécurité Le types de signaux Signaux de contrôle Horloge ─ Indispensable pour l'évolution des calculs Reset ─ Indispensable pour le démarrage Commandes ─ Générées pas les machines à états Données Données effectives Pointeurs de données (adresses) Indicateurs Page 3 Télécom-ParisTech Jean-Luc Danger 2017 Rappel de la logique synchrone tsu th 1 seule horloge de période T Calcul fiable si : H D T > tco + tcrit + tsu tco > th (toujours garanti) T tco Il suffit de connaître Tcrit ! tcrit tsu D D H1 Page 4 Télécom-ParisTech Jean-Luc Danger 2017 Génération d’horloge gain A Déphasage le système oscille si A=1 t le système oscille à la fréquence 1 2t 1 t le système oscille à la fréquence (impédance nulle) L 2 LC C la fréquence est plus stable avec un quartz qui a un facteur de qualité supérieur Page 5 Télécom-ParisTech Jean-Luc Danger 2017 Synthèse d’horloge Principe : système asservi en phase CLK ref /Q CLK_OUT Phase Locked Loop Fout=P/Q fref /P compensation le "skew" d'horloge multiplication de la fréquence si diviseur dans la boucle de réaction Page 6 Télécom-ParisTech Jean-Luc Danger 2017 Distribution de l’horloge Rail d'horloge Arbre d'horloge Page 7 Télécom-ParisTech Jean-Luc Danger 2017 Démarrage du système RESET_N RESET synchrone : RESET_N D D mise à 0 mise à 1 RESET_N RESET asynchrone : prn D RESET_N D clrn mise à 0 Exemple de circuit de RESET : Vcc s1 trigger de Schmitt s1 RESET_N mise à 1 RESET_N seuil t Page 8 Télécom-ParisTech Jean-Luc Danger 2017 Problèmes de démarrage Oubli du Reset sur les machines à état la variable d'état est initialisée sans condition sur le Reset. La simulation ne détecte pas le problème et le circuit démarre dans un état quelconque. Les contrôleurs peuvent ne pas démarrer en même temps à cause des différences de phase clk/reset CTR A CTR B CTR C N-RESET CLK Phase = -1° Page 9 Télécom-ParisTech Phase = +1° Jean-Luc Danger 2017 Stratégies pour bien démarrer Utilisation systématique du Reset sur tous les processus de contrôle commandes Contrôle centralisé Contrôleur unique Bloc A Bloc B Bloc C N-RESET CLK Contrôle distribué avec resynchronisation CTR A CTR B CTR C Bascules 1 CLK N-RESET Page 10 Télécom-ParisTech Jean-Luc Danger 2017 Unité de traitement traitement mémoire communication entrées : modes et indicateurs données entrantes actions partie contrôle Signaux de contrôle Page 11 Télécom-ParisTech partie opérative données sortantes Jean-Luc Danger 2017 Les types de traitement logiciel Mémoire instructions Mémoire données processeur Interface Le contrôle peut être modifié par les instructions : Flexibilité Temps de développement Page 12 Matériel Télécom-ParisTech Mémoire données Contrôleur Partie Opérative Interface Le contrôleur est optimisé Plusieurs opérations peuvent avoir lieu en même temps => Performances Jean-Luc Danger 2017 Machine à états Génère les signaux de contrôle : Machine séquentielle synchrone à états finis État futur entrées État présent registre Logique D H Machine à états de Moore : Machine à états de Mealy : Page 13 Télécom-ParisTech Logique sorties Registre des variables internes sorties = f(état) sorties = f(entrées,état) Jean-Luc Danger 2017 Graphe d'états spécification d'une machine à états par graphe : 1 2 e=0 4 3 condition de transitions sur les entrées Les sorties sont indiquées sur les états S=1 Le graphe doit être : complet : pour chaque état Sconditions = 1 Non contradictoire : SiSj!=iCiCj=0 Page 14 Télécom-ParisTech Jean-Luc Danger 2017 Exemple de machine à états Graphe d'états MON DES S0 haut m m='1' S1 DES='1' S3 Équations des sorties : MON = Q1 DES = Q3 Équations des états futurs : D1 = Q0.m + Q1. /haut D2 = Q1.haut + Q2. /d D3 = Q2.D + Q3. /bas D0 = Q3.Bas + Q0. /m MON='1' haut='1' bas='1' d Codage des états d='1' S2 Schéma logique "one hot": 1état sur 4 bits Q3 Q2 Q1 Q0 S0=0001 S1=0010 S2=0100 S3=1000 bas D Q m MON D Q haut D Q DES d D Q clk N_reset Page 15 Télécom-ParisTech Jean-Luc Danger 2017 Machine à état programmable : Séquenceur Le séquenceur ou "Automate" est une machine à états de MOORE où un compteur indique l’état courant action adresse Instruction : Mémoire programme Adresse de saut sorties état entrées compteur commandes +1,saut Page 16 Télécom-ParisTech Jean-Luc Danger 2017 Processeur Architecture à mémoire unique (Von Neumann) ou séparée (Harvard) : Mémoire programme Action Sur PC REG. INSTR. Décodage contrôle Adresse de saut ou mode d'accès aux données Adresse instruction contrôle Compteur Programme Télécom-ParisTech opération donnée Adresse donnée PC Page 17 Mémoire données REG ADRESSE REG DATA adresse données Jean-Luc Danger Unité de calcul 2017 Partie opérative « data flow » Contrôleur Centralise ou distribué Gestion du flux entrant Gestion du flux sortant registre Données_in D D D Données_out Traitement en pipeline Contrôle simple Page 18 Télécom-ParisTech Jean-Luc Danger 2017 Partie opérative « Control Driven » données commandes contrôleur D D H Contrôleur centralisé complexe séquentialisation des opérations Utilisé dans les processeurs Page 19 Télécom-ParisTech Jean-Luc Danger 2017 Mémoire raitement mémoire communication Page 20 Type Accès DFF direct **** - Y SRAM adresse *** ++ Y DRAM adresse ** +++ Y FLASH adresse * ++ N Télécom-ParisTech Vitesse Densité Volat. Techno Jean-Luc Danger 2017 Blocs mémoire traitement mémoire donnée à écrire communication mémoire mémoire lecture/écriture donnée lue adresse 2n mots de données n ROM RAM Plusieurs écritures : EPROM EEPROM 1écriture : FLASH OTP ROM 0 écriture: Mask ROM Page 21 Télécom-ParisTech SRAM DRAM Jean-Luc Danger Non volatiles : NVRAM MRAM FRAM Holographique… 2017 Mappe mémoire indique les champs d’adresse mémoire dans un système Chaque boîtier a son "Chip Select" LSBs adresse mémoire adressable FFFF mémoire 9FFF MEM 1 MSBs adresse LSBs adresse décodeur CS mémoire MEM 2 MSBs adresse données 9000 3FFF 3000 décodeur CS 0000 Page 22 Télécom-ParisTech Jean-Luc Danger 2017 MEM 1 MEM 2 Principales technologies silicium EEPROM, FLASH : basée sur les transistors à grille flottante grille polysilicium drain grille flottante N+ N+ oxyde vue en coupe SRAM : CMOS DRAM : capacité grille d'un transistor MOS => nécessité de rafraîchissement mais capacité x4 Page 23 Télécom-ParisTech Jean-Luc Danger 2017 Canaux de tranmission locaux traitement mémoire communication Bus point à point n n(n-1) connexions = 2 2 C Page 24 Télécom-ParisTech 1 seule connexion nécessite un arbitrage transfert simultané entre 2 éléments seulement Jean-Luc Danger 2017 Transfert sur un bus Nécessité d’associer un champ d’adresse à un élément. chaque élément a son propre décodeur d’adresse générant un ‘‘CS’’ Espace adressable soit dans la mappe mémoire soit dans la mappe E/S (n'existe pas toujours) maître du bus esclave 1 esclave 2 esclave 3 esclave 4 Bus de données Bus d’adresses bus de contrôle : horloge, activité du cycle de transfert, direction des transferts (lecture/écriture), gestion du proto Page 25 Télécom-ParisTech Jean-Luc Danger 2017 Sorties 3 états et "open drain" Modèles fonctionnels des sorties de portes logiques : sortie classique open drain trois états {0,1,Z} {0,1} {0,Z} e OE s e Page 26 Télécom-ParisTech Jean-Luc Danger 2017 Intérêt du 3 états pour les bus Nécessité d’une logique 3 états pour assurer la bidirectionnalité du bus : 1 seul buffer doit être actif sinon conflit. écriture maître du bus OE 1 1 esclave 1 n_CS OE 0 0 esclave 2 n_CS OE esclave 3 1 n_CS OE 0 0 Bus de données Page 27 Télécom-ParisTech Jean-Luc Danger 2017 Intérêt du 3 états pour les bus lecture maître du bus OE 0 esclave 1 1 n_CS OE 0 0 esclave 2 n_CS esclave 3 1 OE n_CS OE 1 0 Bus de données en résumé : Page 28 OE maître = écriture OE esclave_i =lecture ET CS_i Télécom-ParisTech Jean-Luc Danger 2017 Bus multiplexé Permet d'éviter les conflits potentiels Pas besoin de 3-états Exemple : AMBA Page 29 Télécom-ParisTech Jean-Luc Danger 2017 Intérêt de l' open drain possibilité de connecter les sorties entre elles : s1 e1 résistance de tirage à 1 s s2 e2 Page 30 Télécom-ParisTech s1 0 0 1 1 s2 0 1 0 1 S 0 0 0 1 porte ET cablée Jean-Luc Danger 2017 Exemple de sorties en open drain signal d’acquittement d’un bus ACK ACK ACK ACK Page 31 1 2 3 4 ACK ACK 1 OC ACK 2 OC ACK 3 OC ACK 4 OC Télécom-ParisTech maître ACK maître 1 seule équipotentielle Jean-Luc Danger 2017 Protocole de communication synchrone L’horloge rythme les échanges entre maître et esclave. Le nombre de cycle est constant cycle lecture cycle écriture CLK adresse adresse esclave à lire adresse esclave à écrire R/W émise par l’esclave émise par le maître donnée Page 32 Télécom-ParisTech Jean-Luc Danger 2017 Protocole de communication asynchrone L’échange est assuré par un processus de ‘‘Handshake’’, l’esclave renvoie au maître soit un signal pour acquiescer ou ralentir l'échange. cycle lecture cycle écriture CLK maître adresse adresse esclave à lire Read N_Write esclave adresse esclave à écrire esclav e Donnée maître N_WAIT Page 33 Télécom-ParisTech Jean-Luc Danger 2017 Test test processing memoire Energie communications integration Exhaustivité du test • Electrique (testeur sous pointes) • Optique • Boundary scan test par JTAG pour les cartes • Scan chain pour les ASICs securité Homme et Machines Page 34 Télécom-ParisTech Jean-Luc Danger 2017 Port JTAG Le JTAG est un contrôleur interne ou "TAP controller" qui permet Test de la connectivité (par Boundary Scan testing) Accès aux resssources internes des processeur pour le débogage Chargement de netlists pour les FPGAs Fonctions personnalisées exemple de Boundary Scan Test : TDI TD0 TD0 TDI chip1 chip2 Line to be tested Page 35 Télécom-ParisTech Jean-Luc Danger 2017 Contrainte de consommation d'énergie processing test memoire Energie communications integration Consommation dynamique En CMOS L'essentiel de la consommation provient des courants de charge et décharge des capacités réparties securité Homme et Machines Vdd Page 36 Télécom-ParisTech f P C Consommation statique • Due aux courants de fuite. Quasi nulle dans les technologies >130nM mais devient non négligeable Jean-Luc Danger 2017 Contrainte d'intégration sur carte processing test memoire Energie communications integration securité Homme et Machines Grande Densité d'intégration sur circuit imprimé • 2*n couches de routage • Composants CMS sur les 2 faces • Boîtiers très petits avec de + en + de broches Problèmes d’Intégrité du signal • Interférence entre lignes (émission/réception) • Adaptation de lignes (réfléxion) Page 37 Télécom-ParisTech Jean-Luc Danger 2017 Encapsulation des circuits Plus d'E/S* en moins d'espace • Réduire l'espace entre broches "pitch". : 2,54mm => 0,5 mmm • Utiliser une matrice de broches plutôt que sur la périphérie du boitier • Utiliser les circuits "FlipChip" où les E/S sont internes à la puce circuit boitier DIP (Dual In Line Package)QFP (Quad Flat Package) BGA (Ball Grid Array) pitch=0,5mmm Dissipation de puissance • Boitier céramique • Système de refroidissement Page 38 Télécom-ParisTech pitch=1mmm * Loi de Rent:N K .G N=nombre d'E/S K=nombre d'entrées/portes G=nombre de portes =constante de Rent dépendant de l'application~0,611 Jean-Luc Danger 2017 Contrainte de sécurité processing test memoire • Utiliser du matériel dédié Energie communications integration securité Homme et Machines Page 39 Télécom-ParisTech Eviter le copiage Protéger les communications • Cryptographie : Algorithmes très efficaces. Matériel vulnérable car fuit de l'information par le biais de canaux physiques. • Utiliser des structures résistantes aux "attaques" Jean-Luc Danger 2017