ETRS 811 «FPGA et processeurs reconfigurables»
|
|
- Samuel Piché
- il y a 8 ans
- Total affichages :
Transcription
1 ETRS 811 «FPGA et processeurs reconfigurables» Emilie HERAULT Bâtiment Chablais, bureau
2 Présentation du cours Organisation : CM : 10.5 h en 7 séances 6 TDs (M. Montagny) 3 TPs (M. Montagny) Evaluation : 1 exam théorique (75% ) 1 exam de TP (25%) 2
3 Présentation du cours Objectifs du cours : Concevoir et appréhender des systèmes complexes à base de FPGA Savoir utiliser des IPs et des processeurs reconfigurables Maitriser la conception de circuits numériques synchrones Prérequis : VHDL, connaissances de base sur les FPGA 3
4 Matériel Logiciels QUARTUS II et Nios II Embedded Design Suite Possibilité de télécharger sur le site d Altera Quartus II Web Edition Carte DE1 d Altera 4
5 Plan global du cours I. Rappels et introduction II. Méthodologie de conception synchrone III. Microprocesseurs IV. SOPC, design re-use V. Processeur NIOS II VII. Initiation au langage Tcl 5
6 Plan global du cours I. Rappels et introduction Rappels FPGA et VHDL Introduction : Co-design II. Méthodologie de conception synchrone III. Microprocesseurs IV. SOPC, design re-use V. Processeur NIOS II VII. Initiation au langage Tcl 6
7 Rappels : FPGA Vidéo 7
8 Rappels : FPGA Virtex II (Xilinx) Pentium IV (Intel) 8
9 Rappels : FPGA 9
10 Rappels : FPGA 10
11 Rappels : FPGA Synthèse Placement, routage Téléchargement et tests Génération du bitstream 11
12 Rappels : FPGA Des circuits flexibles permettant des évolutions De meilleures performances qu un logiciel Moins chers que des ASICs pour de faibles volumes Un temps de développement moins élevé Mais : Plus chers que des circuits standards Gourmands en énergie (sauf les «low power») Volatiles Leur sûreté de fonctionnement est parfois considérée comme faible (à juste titre?) 12
13 Rappels : FPGA Programmation Par schématique Par langage de programmation HDL : Hardware Description Langage (AHDL, ABEL, ) VHDL : Very High Speed Integrated Circuit Hardware Description Langage Verilog : conception et simulation de circuits numérique SystemC : modélisation de systèmes numériques matériels et logiciels à l'aide de C++ (systèmes matériels, mais aussi des systèmes logiciels, mixtes ou non-partitionnés) 13
14 Rappels : VHDL Langage de modélisation et/ou de synthèse de systèmes électroniques Langage généraliste simulation Langage près des portes logiques VHDL de synthèse Système de CAO : Schéma ou VHDL ou mixte 14
15 Rappels : VHDL 15
16 Rappels : VHDL Instruction séquentielle : instruction à l intérieur d un process Instruction concurrente : instruction à l extérieur des process. Rappel : les instructions se placent toujours uniquement entre le begin et le end de l architecture 16
17 Rappels : machine à états Par essence la conception hardware est concurrente Pour introduire du séquentiel, on utilise des séquenceurs, par exemple une machine à états. 17
18 Rappels : machine à états Entrée 1 E0 P=0 Entrée 2 Entrée = 1 1=1 E1 P=0 Entrée = 2 Entrée 3 P=0 E2 Entrée = 3 E3 P=1 18
19 Rappels : machine à états 19
20 Exercice Concevoir une montre numérique Un système qui compte les secondes de 0 à 9 et qui affiche le résultat sur un afficheur 7 segments 3 groupes : une solution logicielle, une solution en vhdl, une solution en schématique 20
21 Exercice Solution logicielle 21
22 Exercice Solution schématique 22
23 Exercice Solution vhdl 23
24 Plan global du cours I. Rappels et introduction Rappels FPGA et VHDL Introduction : Co-design II. Méthodologie de conception synchrone III. Microprocesseurs IV. Design re-use V. Processeur NIOS II VII. Initiation au langage Tcl 24
25 Conception de systèmes 25
26 Définitions Système Toute «chose» constituée de parties organisées pour assurer une fonction ou un ensemble de fonctions dans son environnement Architecture Structure fondamentale et unifiante du système définie en termes de ses constituants, interfaces, liens, comportements et contraintes 26
27 Architectures Logicielles (software) Flexibilité, facilité de maintenance Faible temps de conception Faible coût de conception Pas d ajout de matériel Matérielles (hardware) Performances Consommation Protection industrielle Mixtes Objectif : prendre les avantages des 2 approches co-design 27
28 Flexibilité 60 % environ des activités dans le domaine des systèmes embarqués se situent dans la maintenance et les mises à jour Pour un logiciel : Si bug ou évolution du produit : modification du code Pour une carte : Généralement remplacement du produit 28
29 Performance Microprocesseur à 1 GHz opérations par seconde FPGA à 300 MHz avec 1000 multiplicateurs opérations par seconde 29
30 Complémentarité soft/hard Soft Hard Contraintes physiques Contraintes économiques du produit Contraintes économiques de développement Performance Intégration Consommation Coût de production Flexibilité Protection industrielle Coût de développement Temps de développement Prise de risque 30
31 Choix d une architecture 31
32 Qu est ce que le co-design? Conception (spécifier + valider + synthétiser) concurrente (logicielle + matérielle) d un circuit électronique complexe Etapes clé : Partitionnement hard/soft Modélisation Co-validation Co-synthèse 32
33 Flot de conception 33
34 Flot de conception Microprocesseur Microcontrôleur DSP 34
35 Flot de conception Code compréhensible par et optimisé pour le matériel 35
36 Flot de conception Peut prendre 60 % à 70 % du cycle de conception 36
37 Plan global du cours I. Rappels et introduction II. Méthodologie de conception synchrone Méthodologie Descriptions VHDL paramétrables Conception Full synchrone - Signal d horloge III. Microprocesseurs IV. Design re-use V. Processeur NIOS II VII. Initiation au langage Tcl 37
38 Méthodologie de conception synchrone Méthodologie orientée FPGA et CPLD Règle principale : conception FULL synchrone Dans le cas de réalisations pour un ASIC, de design asynchrone, les méthodologies et les règles peuvent être différentes 38
39 Complexité d un système Complexité densité Facteurs aggravants sur la complexité : Asynchronisme Spécification incomplète Proximité des limites technologiques Traitements numériques complexes 39
40 Les clés du succès Analyse détaillée Simplicité Décomposer un système complexe en blocs simples Simplicité = clareté Modularité Augmente le rendement Permet la réutilisation Abstraction Imaginer l interaction entre les blocs 40
41 Les clés du succès 41
42 Méthodologie Analyse du cahier des charges Décomposition du système Description et validation de chaque bloc Rassemblement des blocs élémentaires du système 42
43 Méthodologie Analyse du cahier des charges Elle n est jamais trop détaillée Déterminer les contraintes des E/S Timing Liaison asynchrone 43
44 Méthodologie Décomposition du système Etudier plusieurs architectures Un choix judicieux d architecture permet d optimiser la quantité de logique souvent solution plus rapide Eventuellement faire plusieurs décompositions (hiérarchie) Obtenir des blocs simples avec une seule fonction 44
45 Méthodologie Description des blocs Elle doit être SIMPLE et commentée Matériel optimum Si c est plus lisible, la maintenance est plus facile Le dépannage est plus facile Faire preuve de rigueur et de méthode Validation des blocs De bas en haut Simuler chaque bloc séparément 45
46 Méthodologie Rassemblement des blocs élémentaires A chaque hiérarchie : vérification des interconnexions Au top level : Vérification de la fonctionnalité globale Un outil : le cahier méthodologique Il définit des règles pour la description de systèmes numériques Rigueur indispensable Description uniforme au sein d une équipe 46
47 Exemple de cahier méthodologique 47
48 Exemple de cahier méthodologique 48
49 Exemple de cahier méthodologique 49
50 Exemple de cahier méthodologique 50
51 Fichiers VHDL Un fichier ne contient qu une seule entité Nom du fichier = nom de l entité Fichier de simulation : <nom_fichier>_tb.vhd Ecrire un entête Société, auteur Logiciels utilisés (nom, version, ) Explication du fonctionnement du module Liste des fichiers utilisés (hiérarchie) Liste des modifications Description des entrées/sorties 51
52 Top Level Adapter la polarité des signaux A l extérieur la logique peut être mixte (positive ou négative) A l intérieur, uniquement logique positive Signaux bidirectionnels uniquement au Top Level Instanciation de buffer 3 états au top level Exemple : data_in <= donnee_souris; donnee_souris <= data_out WHEN direction_donnee ELSE 'Z'; Signaux unidirectionnels dans les blocs 52
53 Plan global du cours I. Rappels et introduction II. Méthodologie de conception synchrone Méthodologie Descriptions VHDL paramétrables Conception Full synchrone - Signal d horloge III. Microprocesseurs IV. Design re-use V. Processeur NIOS II VII. Initiation au langage Tcl 53
54 Descriptions VHDL paramétrables Objectif : Décrire un circuit dont la taille des bus est un paramètre Plusieurs solutions : Taille des bus définie par les déclarations dans l entité Taille des bus définie dans un package Utilisation de constantes génériques 54
55 Descriptions VHDL paramétrables Signaux internes basés sur la taille des bus déclarés dans l entité : range 55
56 Descriptions VHDL paramétrables Exemple : compteur 4 bits 56
57 Descriptions VHDL paramétrables Déclaration d un package Par défaut le package est placé dans la bibliothèque work Déclaration d une constante dans un package 57
58 Descriptions VHDL paramétrables 58
59 Descriptions VHDL paramétrables Utilisation d un paramètre generic Valeur du paramètre fixée lors de l instanciation Penser à définir une valeur par défaut 59
60 Descriptions VHDL paramétrables Exemple 60
61 Descriptions VHDL paramétrables 61
62 Descriptions VHDL paramétrables 62
63 Descriptions VHDL paramétrables 63
64 Exercice Décrire un comparateur dont la sortie vaut 1 si les deux bus en entrée ont la même valeur, la taille des bus étant un paramètre générique 64
65 Exercice Instancier dans un circuit TopLevel un comparateur ayant en entrée 2 bus de 8 bits. Pour cela, utiliser le comparateur de l exercice précédant. 65
66 Plan global du cours I. Rappels et introduction II. Méthodologie de conception synchrone Méthodologie Descriptions VHDL paramétrables Conception Full synchrone - Signal d horloge III. Microprocesseurs IV. Design re-use V. Processeur NIOS II VII. Initiation au langage Tcl 66
67 Pourquoi Full synchrone? Pseudo - synchrone : le signal d horloge d une bascule dépend de bascules précédentes Full - synchrone : toutes les bascules sont synchronisées sur le même signal d horloge Avantages du full synchrone Facilite la conception Evolution des signaux est prédictible Retard identique pour chaque sortie de bascule Une analyse statique permet de déterminer la fréquence max de fonctionnement Arbre d horloge prévu dans les FPGA 67
68 Pourquoi Full synchrone? Compteur pseudo - synchrone 68
69 Pourquoi Full synchrone? Décompteur pseudo - synchrone Retard = N. Tp 69
70 Pourquoi Full synchrone? Compteur full - synchrone 70
71 Pourquoi Full synchrone? Compteur full - synchrone Retard identique pour chaque bascule Fmax < 1/(Tp bascule + Tp ET ) 71
72 Propagation de l horloge Problème si on fait de la logique combinatoire avec l horloge 72
73 Propagation de l horloge Problème si on fait de la logique combinatoire avec l horloge ERREUR!! Q2 risque de s activer une période d horloge trop tôt 73
74 Propagation de l horloge Analyse bascule Q1 : Q0 changera d état toujours après le front montant de clock Q1 sera mis à jour lors du prochain front montant de clock Fonctionnement indépendant du temps de propagation des bascules Analyse bascule Q2 : Q0 changera d état toujours après le front montant de clock Mais le front montant de clk_gated est retardé Il y a risque que Q2 soit mis à jour avant le prochain front montant de clock Fonctionnement dépendant du temps de propagation dans les portes 74
75 Analyse temporelle statique T b T SLC T FH Fmax horloge = 1/( T b + T SLC + T FH ) 75
76 Analyse temporelle statique Avec Quartus : dans le rapport de compilation 76
77 Analyse temporelle statique Tsu (clock setup time) : The length of time for which data that feeds a register via its data or enable input(s) must be present at an input pin before the clock signal that clocks the register is asserted at the clock pin. t SU = <pin to register delay> + <micro setup delay> - <clock to destination register delay> Tco (clock to output delay) : Time from a clock edge to the output of the register actually changing tco = <shortest clock to source register delay> + <micro clock to output delay> + <shortest register to pin delay> Th (clock hold time) : The minimum length of time for which data that feeds a register via its data or enable input(s) must be retained at an input pin after the clock signal that clocks the register is asserted at the clock pin. th = <clock to destination register delay> + <micro hold delay of destination register> - <pin to register delay> 77
78 Arbre d horloge Même si on prend des précautions, il peut y avoir un décalage d horloge (clock skew) lié au temps de propagation Utilisation d un arbre d horloge Pré cablé dans le FPGA Garantit que toutes les bascules voient l horloge au même instant Clock skew le plus faible possible Clock skew inférieur aux temps de propagation internes 78
79 Arbre d horloge Pour les Cyclones II d Altera 79
80 Arbre d horloge L arbre doit être équilibré pour garantir un temps de propagation uniforme Entrée d horloge 80
81 Arbre d horloge Pour les Cyclones II 81
82 Arbre d horloge Pour les Cyclones II 82
83 Modifier la fréquence d horloge Pour réduire la fréquence d horloge Diviseur de fréquence + utilisation des entrées clock enable Pour augmenter la fréquence d horloge PLL 83
84 PLL Phase Locked Loop : Boucle à verrouillage de phase Permet d asservir la phase instantanée de la sortie sur la phase instantanée de l entrée Permet d asservir la fréquence de sortie sur la fréquence d entrée Permet de générer une fréquence quelconque avec la même précision que celle de l oscillateur à quartz qui génère l horloge 84
85 PLL Avec Quartus : dans la bibliothèque de composants 85
86 PLL 86
87 Système multi clocks Pour être sûr de bien réussir son circuit synchrone : UNE seule horloge! Parfois il peut être utile de diviser un système en sous systèmes utilisant des horloges différentes Permet de réduire les contraintes de synthèse des systèmes les moins rapides Le meilleur moyen de créer plusieurs horloges est d utiliser des PLL 87
88 Système multi clocks Quand plusieurs horloges dans un même circuit sont totalement indépendantes, on parle de Systèmes Localement synchrones, Globalement Asynchrones GALS A l intérieur de chaque sous-circuit, le fonctionnement est synchrone Conception habituelle Problèmes aux interfaces 88
89 Métastabilité 89
90 Métastabilité Violation du T setup Métastabilité T r : temps de résolution de la métastabilité 90
91 Métastabilité Les interfaces sont traitées comme des liaisons entre circuits différents On peut prévoir des détecteurs d erreurs (bit de parité) pour s assurer que la transmission s est bien passée En revanche, une métastabilité peut de propager dans l ensemble des bascules du système Surtout si les temps de propagation dans les parties combinatoires sont longs 91
92 Métastabilité MTBF : Mean Time Between Faillure Temps moyen entre 2 pannes 92
93 Synchroniseur simple Objectif : Confiner l état intermédiaire dans le synchroniseur jusqu à ce qu il prenne une valeur 93
94 Synchroniseur simple Tr = Tc (Tcomb + Tsetup) Si Tc = 20 ns et Tsetup = 2.5 ns Tr = 17.5 Tcomb Si Tcomb = 1 ns, Tr = 16.5 ns MTBF = 272 ans Si Tcomb = 12.5 ns, Tr = 5 ns MTBF = 0.88 s 94
95 Synchroniseur double Synchroniseur le plus utilisé Tcomb = 0 ns Tr = Tc Tsetup = 17.5 ns MTBF = 2000 ans 95
96 Synchroniseur Le synchroniseur assure seulement que le système recevant le signal n entre pas dans un état métastable Il ne garantit pas la bonne transmission du signal 96
97 Transmission d un système lent vers un système rapide Système lent : 1 MHz Système rapide : 10 MHz 97
98 Transmission d un système lent vers un système rapide Système lent : 1 MHz Système rapide : 10 MHz Problème : l impulsion enable risque d être trop étroite pour être détectée 98
99 Transmission d un système lent vers un système rapide Procédé handshake 99
100 Transmission d un système lent vers un système rapide Côté émetteur 100
101 Transmission d un système lent vers un système rapide Côté récepteur 101
102 Plan global du cours I. Rappels et introduction II. Méthodologie de conception synchrone III. Microprocesseurs Architecture d un microprocesseur Amélioration des performances IV. Design re-use V. Processeur NIOS II VII. Initiation au langage Tcl 102
103 Microprocesseur 103
104 Programme C est une suite d instructions Une instruction est codée en code machine Instruction Opérande ou registre de l opérande 104
105 Fonctions du processeur Mettre a jour l adresse de la prochaine instruction Récupérer le code de l instruction en mémoire programme Décoder l instruction Aller chercher l opérande en mémoire donnée Exécuter l instruction Mettre à jour le registre d état Eventuellement stocker le résultat de l instruction en mémoire donnée 105
106 L unité de commande 106
107 L unité de commande Le compteur de programme (PC : programme Counter) appelé aussi Compteur Ordinal (CO) constitué par un registre dont le contenu est initialisé avec l'adresse de la première instruction du programme. Il contient toujours l adresse de la prochaine instruction à exécuter. Compteur mis à jour par le bloc logique de commande 107
108 L unité de commande Le registre d'instruction et le décodeur d'instruction : chacune des instructions à exécuter est transférée depuis la mémoire dans le registre instruction puis est décodée par le décodeur d instruction. Bloc logique de commande (ou séquenceur) : Il organise l'exécution des instructions au rythme d une horloge. Il élabore tous les signaux de synchronisation internes ou externes (bus de commande) du microprocesseur en fonction des divers signaux de commande provenant du décodeur d instruction ou du registre d état par exemple. Machine à états 108
109 L unité de traitement 109
110 L unité de traitement Les accumulateurs sont des registres de travail qui servent à stocker une opérande au début d'une opération arithmétique et le résultat à la fin de l'opération. Le registre d'état. Chacun de ces bits est un indicateur dont l'état dépend du résultat de la dernière opération effectuée par l UAL. On peut citer par exemple les indicateurs de : Retenue (carry : C) Retenue intermédiaire (Auxiliary-Carry : AC) Signe (Sign : S) Débordement (overflow : OV ou V) Zéro (Z) Parité (Parity : P) Registres 110
111 L unité de traitement L Unité Arithmétique et Logique (UAL) est un circuit complexe qui assure les fonctions logiques (ET, OU, Comparaison, Décalage, etc ) ou arithmétique (Addition, soustraction). Plusieurs circuits en parallèles, chacun réalisant une des fonctions du jeu d instruction + des multiplexeurs en entrée et en sortie 111
112 Exemple UAL : (TTL) 112
113 Exemple UAL : (TTL) 113
114 Exercice Concevoir une UAL réalisant ces fonctions : f S A and B A or B A + B Les entrées A et B sont sur 8 bits 11 A - B 114
115 Plan global du cours I. Rappels et introduction II. Méthodologie de conception synchrone III. Microprocesseurs Architecture d un microprocesseur Amélioration des performances IV. Design re-use V. Processeur NIOS II VII. Initiation au langage Tcl 115
116 Amélioration des performances Conception en «pipeline» Sans pipeline : Temps de traitement d un programme de m instructions de n étapes 116
117 Amélioration des performances Avec pipeline : Temps de traitement d un programme de m instructions de n étapes 117
118 Amélioration des performances Différents types de pipeline 3 niveaux Fetch, Decode, Execute 5 niveaux (ARM 9, MIPS) Instruction Fetch, Instruction Decode, Execution, Memory,Write Back Jusqu à 25 niveaux! (20 pour le pentium IV) 118
119 Amélioration des performances Pipeline 5 niveaux 119
120 Amélioration des performances Pipeline 5 niveaux 120
121 Deux types d architecture CISC : Microcode ou microprogramme d instruction Nombre d instructions élevé avec multiples modes d adressage Avantages : Code compact Instructions très complexes et très rapides Inconvénients Surface importante de silicium Consommation élevée Mauvaise utilisation des instructions complexes par les compilateurs 121
122 Deux types d architecture RISC : Instructions de taille fixe Limitation des modes d adressage Avantages : Architecture moins complexe Interruptions plus rapides Compilateur plus simple et efficace Inconvénients Taille du programme plus importante Traitements avec accès multiples à la mémoire pénalisés 122
123 Exercice Concevoir un processeur RISC 32 bits en utilisant 5 niveaux de pipeline 123
124 Plan global du cours I. Rappels et introduction II. Méthodologie de conception synchrone III. Microprocesseurs IV. Design re-use IP Exemples de processeurs Bus d interfaçage Operating System / Real Time Operating System V. Processeur NIOS II VII. Initiation au langage Tcl 124
125 Design re-use La complexité des circuits augmente plus vite que la productivité par ingénieur Il devient difficile de concevoir un SoC entièrement Il faut réutiliser des parties déjà conçues 125
126 Design re-use Exemples de complexité de projets 126
127 Design re-use Il faut concevoir des composants «virtuels» réutilisables Démarche qualité, méthodologie, paramètres génériques, Mais une entreprise seule ne peut pas toujours concevoir tous les composants dont elle a besoin Echange de composants «virtuels» Instauration d une protection juridique : «Intellectual Property» Nécessité d utiliser un même formalisme pour l utilisation et la modélisation pour une adaptation rapide au système 127
128 Différents types d IP matérielles «Soft»IP Modèle de description de matériel. Peut être non synthétisable pour la validation purement fonctionnelle Flexible, paramétrable Indépendant de la technologie Difficile à protéger «Firm»IP Liste d équipotentielles post synthèse logique Dépend de la technologie Assez difficile à protéger «Hard» IP Liste d équipotentielles placées et routées Contient les temps de propagation Facile à protéger (boite noire avec des entrées/sorties 128
129 Usage et format des IP Remarque : il faut toujours valider les IPs en simulation et en environnement de test de production 129
130 Les fournisseurs d IP Sociétés d études et de conception Sociétés sans fonderie dont le profit vient des droits sur les licences DSP Group (IP pour les télécoms), ARM (processeurs RISCs) Offre incluant des IPs Soft, de simulation et synthèse Sociétés de semi-conducteurs Peuvent fournir des IPs Hard en plus des IPs Soft TI, Motorola, Lucent, Altera, Xilinx, LSI Logic, STM Equipementiers Alcatel, Adaptec Fournisseurs d outils de CAO IPs soft uniquement Mentor Graphics, Cadence, Synopsys, Des passionnés : open source 130
131 Les types d IP Processeurs DSPs Composants de traitement spécialisés Cryptographie, traitement d images, multimédia, Contrôleurs de mémoire et de bus SDRAM, USB, PCI, UART, AMBA, Réseaux ATM, Ethernet IP commerciales : IP libres : 131
132 Exemple d IP Mega functions d Altera 132
133 Exemple d IP Cœur de processeur libre : LEON Processeur 32 bits compatible SPARC (Scalable Processor Architecture) conçu à l ESA (European Spatial Agency) 5 étages de pipeline Cache instruction et cache données MAC (multiplier-accumulator) et division câblées Contrôleur mémoire SRAM ou ROM Périphériques : uarts, timers, contrôleur d interruption, port E/S 16 bits Bus AMBA AHB et APB Interface co-processeur Mode veille Cœur sous licence «Lesser GPL», testbench vhdl sous licence GPL 133
134 Plan global du cours I. Rappels et introduction II. Méthodologie de conception synchrone III. Microprocesseurs IV. Design re-use IP Exemples de processeurs Bus d interfaçage Operating System / Real Time Operating System V. Processeur NIOS II VII. Initiation au langage Tcl 134
135 Spécifications des processeurs embarqués Développeur (nom, année) Fabricant de FPGA (optimisations) Type de licence (GPL, commerciales, ) Architecture Niveaux de pipeline, nombre de registres MMU Memory Management Unit, FPU Floating Point Unit, caches Multiprocesseur (SMP Symmetric Multiprocessing, AMP Asymmetric Multiprocessing) Multithreading 135
136 Spécifications des processeurs embarqués Performances (Fmax, Dhrystone MIPS/MHz) Dhrystone = Nb itérations par seconde Dhrystone MIPS=DMIPS = Dhrystone/ = Dhrystone d une machine de référence à 1 MIPS DMIPS/MHz = DMIPS / Freq processeur Ressources Langage de description (VHDL, Verilog) Bus (Amba, Avalon, ) OS/RTOS Real Time Operating System (ulinux, ) 136
137 Exemples de processeur MicroBlaze (Xilinx) Code source non accessible RISC 32 bits (Harvard) 3 ou 5 étages de pipeline, 32 registres, MMU 235 MHz, 1.2 Dhrystone MIPS/MHz Non orienté multiprocesseur Bus CoreConnect 137
138 Exemples de processeur 138
139 Exemples de processeur MICO32 (Lattice) 2006 Open source Verilog RISC 32 bits (Harvard) 6 étages de pipeline, 32 registres??? Dhrystone MIPS/MHz Non orienté multiprocesseur Bus Wishbone 139
140 Exemples de processeur 140
141 Exemples de processeur ARM CORTEX M1 Conception ARM/Actel pour FPGA optimisé pour Actel, Xilinx et Altera Licence commerciale RISC 32 bits 180 MHz, 0.8 Dhrystone MIPS/MHz Instructions Thumb2 3 étages de pipeline Bus Amba 141
142 Exemples de processeur 142
143 Exemples de processeur OpenRisc 1200 Open source développé par OpenCores Verilog Architecture 32 bits (Harvard) 5 étages de pipeline, 32 registres, MMU, caches 250 MHz, 1 Dhrystone MIPS/MHz Bus Wishbone 143
144 Exemples de processeur 144
145 Exemples de processeur NIOS II (Altera) Code source non accessible RISC 32 bits 6 étages de pipeline, 32 registres, MMU 200 MHz, 1.16 Dhrystone MIPS/MHz Non orienté multiprocesseur Bus Avalon 145
146 Plan global du cours I. Rappels et introduction II. Méthodologie de conception synchrone III. Microprocesseurs IV. Design re-use IP Exemples de processeurs Bus d interfaçage Operating System / Real Time Operating System V. Processeur NIOS II VII. Initiation au langage Tcl 146
147 Bus d interfaçage Bus Amba 1996 spécifié par ARM Advanced High-performance Bus (AHB) Nouvelle génération (supporte les bursts) Bus haute performance / haute vitesse / bits Advanced System Bus (ASB) Bus microcontrôleur bits Advanced Peripheral Bus (APB) Bus pour périphériques basse consommation 147
148 Bus d interfaçage Bus Wishbone Développé par Silicores et distribué en open source par OpenCores Interconnection souple : Point à point En chaîne (data flow) Par bus (avec arbitre si multimaitre) Par crossbar switch 148
149 Bus d interfaçage 149
150 Bus d interfaçage Bus Avalon Bus propriétaire Altera Interfaces : Avalon Memory Mapped Interface (Avalon-MM) Interface classique maitre/esclave Avalon Streaming Interface (Avalon-ST) Interface de streaming Avalon Memory Mapped Tristate Bus tristate pour connexion avec l extérieur du FPGA Avalon clock Avalon Interrupt 150
151 Bus d interfaçage 151
152 Plan global du cours I. Rappels et introduction II. Méthodologie de conception synchrone III. Microprocesseurs IV. Design re-use IP Exemples de processeurs Bus d interfaçage Operating System / Real Time Operating System V. Processeur NIOS II VII. Initiation au langage Tcl 152
153 OS/RTOS pour processeur embarqué uc-linux (Système Linux sans MMU) Altera NiosII, Xilinx MicroBlaze, Mico32, Leon FreeRTOS (RTOS open source) Altera NiosII, Xilinx MicroBlaze Micriµm µc/os-ii RTOS Altera NiosII, Xilinx MicroBlaze, Mico32 ecos (RTOS open source) Leon 153
154 Plan global du cours I. Rappels et introduction II. Méthodologie de conception synchrone III. Microprocesseurs IV. Design re-use V. Processeur NIOS II VII. Initiation au langage Tcl 154
155 Processeur NIOS II Présentation Altera Datasheet 155
156 Processeur NIOS II Comment utiliser dans la partie software du projet des données issues des périphériques définis dans la partie hardware? En utilisant directement les registres qui leur ont été attribués Noter les adresses des registres attribués sous SoPC Builder Dans le programme, définir des variables qui pointent sur ces registres #define switches (volatile char *) 0x #define leds (volatile char *) 0x Définition en volatile pour éviter des optimisations non voulues de compilateur 156
157 Processeur NIOS II En utilisant l interface Avalon Utiliser les fonctions définies dans altera_avalon_pio_regs.h Par exemple IORD_ALTERA_AVALON_PIO_DATA(base) et IOWR_ALTERA_AVALON_PIO_DATA(base, data) permettent de lire ou d écrire des données dans le registre base Le registre attribué à un périphérique est noté PERIPHERIQUE_BASE Le nom du périphérique est celui qu on lui a donné dans SoPCBuilder Le lien se fait grâce au fichier system.h 157
158 Processeur NIOS II Exemple : #include <stdio.h> #include "altera_avalon_pio_regs.h" #include "system.h" int main(void) { int led = 0x01; IOWR_ALTERA_AVALON_PIO_DATA(LEDS_BASE,led); return 0; } Ce programme écrit la valeur 0x01 dans le registre attribué au périphérique LEDS. Il allume donc une led. 158
159 Processeur NIOS II Ecrire un programme permettant d allumer des leds avec des interrupteurs en utilisant l interface Avalon #include <stdio.h> #include "altera_avalon_pio_regs.h" #include "system.h" int main(void) { } int led = 0x0F; printf("ca tourne\n"); while(1) { led = IORD_ALTERA_AVALON_PIO_DATA(ENTREE_BASE); IOWR_ALTERA_AVALON_PIO_DATA(SORTIE_BASE,led); } return 0; 159
160 Plan global du cours I. Rappels et introduction II. Méthodologie de conception synchrone III. Microprocesseurs IV. Design re-use V. Processeur NIOS II VII. Initiation au langage Tcl 160
161 Pourquoi utiliser des scripts? Pour lier des outils de conception entre eux Par exemple, modelsim + quartus Pour automatiser des tâches Pour diminuer la taille mémoire d un projet Pour faciliter la maintenance d un projet Pour créer des outils Par exemple, un désassembleur dans modelsim 161
162 Le langage Tcl/Tk Tcl = Tool Command Langage (Prononcer «Tickle») Tk = graphical ToolKit : Extension pour la gestion des interfaces graphiques (Prononcer «Ticket») Fonctionne sur tous types de machine Langage interprété (pas besoin de le compiler) Langage de script utilisé par Quartus II et Modelsim Editeur dédié dans Quartus 162
163 Syntaxe Tcl Sensible à la casse (majuscules-minuscules) Syntaxe courante : Le premier mot d une commande est toujours la commande Commande arg1 arg2 arg3 Exemple : set var 3 Affecte à var la valeur 3 Pour passer d une commande à une autre, soit on saute une ligne, soit on place un ; entre les commandes Les arguments sont séparés par des espaces Les arguments contenant des espaces sont écrits entre " "argument avec des espaces" 163
164 Syntaxe Tcl Commentaires : Ils sont précédés de # # ceci est un commentaire Variables Pas besoin de déclarer les variables, elles sont créés quand une valeur leur est affectée avec la commande set Les variables n ont pas de type Substitution de variable Si une variable a pour nom a, sa valeur est $a Exemple : set var 3 puts "La valeur de la variable est $var" Affiche dans la console : La valeur de la variable est 3 164
165 Syntaxe Tcl Substitution de commande L interprétation d une ligne se fait en 2 temps Substitution des variables par leur valeur et substitution du code entre [ ] Exécution de la commande Exemple : set var 3 puts «La valeur de la variable est [expr $var + $var]» Affiche dans la console : La valeur de la variable est 6 165
166 Syntaxe Tcl Arithmétique On passe par la commande expr Tout ce qui suit expr est considéré comme une opération arithmétique Exemple : expr Affiche dans la console : 30 Liste set a {1 2 3} donne à a 3 valeurs : a[0] = 1, a[1] = 2, a[2] = 3 set b [llength $a] b est égal à la longueur de a set c [lindex $a 2] c est égal à a[2], soit 3 166
167 Syntaxe Tcl if-elseif-else if {condition} {code si vraie} elseif {condition2} {code si vraie} else {code} Boucles while while {condition} {code à executer} Boucles for for {code d initialisation} {condition} {type d incrémentation} {code} Boucles foreach : permet de boucler sur les éléments d une liste foreach element $liste {code} 167
168 Exemples Que va-t-il s afficher sur la console après le lancement de ce script? (attention à bien mettre des espaces au bon endroit) for {set i 1} {$i<10} {incr i} {if {$i==1} {set pluriel ""} else {set pluriel "s"} puts "$i mouton${pluriel}"} 168
169 Exemples Que va-t-il s afficher sur la console après le lancement de ce script? set l [list ] foreach nombre $l {puts $nombre*2} Que faut-il modifier pour que ça affiche 6?
170 Paquetages Tcl Un paquetage (package) regroupe plusieurs fonctions proches Exemples de packages dans Quartus ::quartus::project ::quartus::flow ::quartus::report ::quartus::timing_report pour projets et affectations pour compilation et run pour créer des rapports particuliers pour les chemins critiques Pour charger un package : package require ou load_package package require ::quartus::project load_package ::quartus::project ou load_package project 170
171 Commandes utiles Vérifier le répertoire de travail pwd Changer le répertoire de travail cd repertoire exemple : cd "D:/Mes documents/projet" Lancer le script contenu dans un fichier source fichierscript.tcl Ouvrir un projet : project_open nomduprojet Fermer un projet : project_close Pour lancer la compilation execute_flow -compile 171
172 Exemple de script Tcl 172
173 Exemple de script Tcl 173
174 Exercice Que va faire Quartus à l exécution de ce script? load_package project load_package flow project_close cd "D:/Mes documents/enseignement/ /semestre 2/ETRS 811/vhdl/" pwd project_open proj execute_flow -compile 174
175 Pour aller plus loin Site en anglais de la communauté Tcl/Tk Site en anglais contenant beaucoup d informations Cours en français pour programmer en Tcl et Tk Site d Altera sur les commandes Tcl qui peuvent être utiles. On y trouve des exemples et la description des package Quartus 175
Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007
Introduction à l architecture des ordinateurs Adrien Lebre Décembre 2007 Plan - partie 1 Vue d ensemble La carte mère Le processeur La mémoire principal Notion de bus Introduction à l architecture des
Plus en détailLes systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon
Les systèmes embarqués Introduction Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon Introduction aux systèmes embarqués Définition. Caractéristiques d
Plus en détailASR1 TD7 : Un microprocesseur RISC 16 bits
{Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit
Plus en détailSIN-FPGA DESCRIPTION PAR SCHEMA
SIN-FPGA DESCRIPTION PAR SCHEMA Documents ressources: http://www.altera.com/literature/lit-index.html Introduction to Quartus II : intro_to_quartus2.pdf Documentation QUARTUS II : quartusii_handbook.pdf
Plus en détailChapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE
Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE 1. Rappel de ce qu est un SE 2. Conception au niveau système (ESL) Méthodologie de conception (codesign logiciel/matériel)
Plus en détailIFT1215 Introduction aux systèmes informatiques
Introduction aux circuits logiques de base IFT25 Architecture en couches Niveau 5 Niveau 4 Niveau 3 Niveau 2 Niveau Niveau Couche des langages d application Traduction (compilateur) Couche du langage d
Plus en détailChapitre II-2 : Conception SoPC (Altera)
Chapitre II-2 : Conception SoPC (Altera) Plan 1. 2. Processeurs embarqués : conception conjointe System on Programmable Chip = 1. 2. 3. Systèmes à base de Nios-II Le bus système Avalon Les périphériques
Plus en détailQuoi de neuf en LabVIEW FPGA 2010?
Quoi de neuf en LabVIEW FPGA 2010? Yannick DEGLA Ingénieur d Application Fonctionnalités de LabVIEW FPGA 2010 Nœud d intégration d IP - Importer directement des fichiers.xco de Xilinx ou vos propres VHDL
Plus en détailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Plus en détailIV- Comment fonctionne un ordinateur?
1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions
Plus en détailVIII- Circuits séquentiels. Mémoires
1 VIII- Circuits séquentiels. Mémoires Maintenant le temps va intervenir. Nous avions déjà indiqué que la traversée d une porte ne se faisait pas instantanément et qu il fallait en tenir compte, notamment
Plus en détail1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :
GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailArchitecture des ordinateurs
Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?
Plus en détailThème 3 Conception et vérification d architectures de systèmes sur puce
Thème 3 Conception et vérification d architectures de systèmes sur puce Conception et simulation Frédéric Pétrot Vérification Laurence Pierre Conception et vérification d architectures de systèmes sur
Plus en détailHiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique
Architecture d ordinateur : introduction Dimitri Galayko Introduction à l informatique, cours 1 partie 2 Septembre 2014 Association d interrupteurs: fonctions arithmétiques élémentaires Elément «NON» Elément
Plus en détailVers du matériel libre
Février 2011 La liberté du logiciel n est qu une partie du problème. Winmodems Modem traditionnel Bon fonctionnement Plus cher Electronique propriétaire Blob sur DSP intégré au modem Bien reçu par les
Plus en détail1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
Plus en détailPIC EVAL Dev Board PIC18F97J60
PIC EVAL Dev Board PIC18F97J60 2 TP1 : Prise en main de l environnement de programmation pour la carte PIC EVAL-ANFA Pour répondre aux questions et justifier vos réponses, vous pouvez faire des copies
Plus en détailInitiation au HPC - Généralités
Initiation au HPC - Généralités Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 2 septembre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Généralités 1/49 Plan du cours
Plus en détailConception de circuits numériques et architecture des ordinateurs
Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique
Plus en détailConception et Intégration de Systèmes Critiques
Conception et Intégration de Systèmes Critiques 15 12 18 Non 50 et S initier aux méthodes le développement de projet (plan de développement, intégration, gestion de configuration, agilité) Criticité temporelle
Plus en détailPotentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés
Potentiels de la technologie FPGA dans la conception des systèmes Avantages des FPGAs pour la conception de systèmes optimisés Gérard FLORENCE Lotfi Guedria Agenda 1. Le CETIC en quelques mots 2. Générateur
Plus en détailMAC-TC: programmation d un plate forme DSP-FPGA
MAC-TC: programmation d un plate forme DSP-FPGA Tanguy Risset avec l aide de: Nicolas Fournel, Antoine Fraboulet, Claire Goursaud, Arnaud Tisserand - p. 1/17 Plan Partie 1: le système Lyrtech Introduction
Plus en détailMICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44
MICROCONTROLEURS PIC PROGRAMMATION EN C V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44 Chapitre 1 GENERALITES 1 DEFINITION Un microcontrôleur est un microprocesseur RISC (Reduced Instruction Set
Plus en détailGPA770 Microélectronique appliquée Exercices série A
GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément
Plus en détailInformatique Industrielle Année 2004-2005. Architecture des ordinateurs Note de cours T.Dumartin
Informatique Industrielle Année 2004-2005 Architecture des ordinateurs Note de cours T.Dumartin 1 GENERALITES 5 1.1 INTRODUCTION 5 1.2 QU ENTEND-T-ON PAR ARCHITECTURE? 5 1.3 QU EST CE QU UN MICROPROCESSEUR?
Plus en détailModules du DUT Informatique proposés pour des DCCE en 2014/2015
Modules du DUT Informatique proposés pour des DCCE en 2014/2015 Résumé de l offre : Parmi les 5500 heures d enseignement informatique dispensées au département informatique de l IUT (avec 2880 heures de
Plus en détailArchitecture des Ordinateurs. Partie II:
Architecture des Ordinateurs Partie II: Le port Floppy permet le raccordement du lecteur de disquette àla carte mère. Remarque: Le lecteur de disquette a disparu il y a plus de 6 ans, son port suivra.
Plus en détailExécution des instructions machine
Exécution des instructions machine Eduardo Sanchez EPFL Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr]
Plus en détailConception Systèmes numériques VHDL et synthèse automatique des circuits
Année 2011-2012 Conception Systèmes numériques VHDL et synthèse automatique des circuits Travaux pratiques WIDEMACV1 LAAS-CNRS 2011 Présentation du simulateur VHDL sous environnement Cadence Présentation
Plus en détailARDUINO DOSSIER RESSOURCE POUR LA CLASSE
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée
Plus en détailTable des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
Plus en détailPROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN
PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,
Plus en détailConception de Systèmes de Communications Numériques
Conception de Systèmes de Communications Numériques CSCN Markus Muck, Xavier Miet Markus.Muck@motorola.com Motorola Labs Paris (CRM) -1 - Motorola Labs CRM Paris Motorola consacre chaque année environ
Plus en détailChapitre 4 : Les mémoires
1. Introduction: Chapitre 4 : Les mémoires Nous savons que dans un ordinateur toutes les informations : valeur numérique, instruction, adresse, symbole (chiffre, lettre,... etc.) sont manipulées sous une
Plus en détailET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
Plus en détailCompilation (INF 564)
Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailÉléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Plus en détailConception Systèmes numériques VHDL et synthèse automatique des circuits
Année 2008-2009 Conception Systèmes numériques VHDL et synthèse automatique des circuits Travaux pratiques Pentium4 Présentation du simulateur VHDL sous environnement Cadence Présentation de l outil Synopsys
Plus en détailDU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION
145 NOTION DE PROGRAMMATION 1/ Complétons notre microprocesseur Nous avons, dans les leçons précédentes décrit un microprocesseur théorique, cependant il s inspire du 6800, premier microprocesseur conçu
Plus en détailPRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille
PRESENTATION RESSOURCES Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille 1) Introduction, Objectifs et Intentions Le BTS SN (Systèmes Numériques) intègre la formation
Plus en détailÉléments d'architecture des ordinateurs
Chapitre 1 Éléments d'architecture des ordinateurs Machines take me by surprise with great frequency. Alan Turing 1.1 Le Hardware Avant d'attaquer la programmation, il est bon d'avoir quelques connaissances
Plus en détailMatériel & Logiciels (Hardware & Software)
CHAPITRE 2 HARDWARE & SOFTWARE P. 1 Chapitre 2 Matériel & Logiciels (Hardware & Software) 2.1 Matériel (Hardware) 2.1.1 Présentation de l'ordinateur Un ordinateur est un ensemble de circuits électronique
Plus en détailPartie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com
Partie 1 Professeur : Haouati Abdelali CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie I : Généralités et algorithmique de base 1. Environnement matériel et logiciel
Plus en détailFONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE
I/ GÉNÉRALITÉS I.1/ Fonction Un compteur binaire est utilisé : -pour compter un certain nombre d'évènements binaires -pour diviser la fréquence d'un signal logique par 2 m Page 1 FONCTION COMPTAGE BINAIRE
Plus en détailProgrammation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Plus en détailSur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)
1/ Généralités : Un ordinateur est un ensemble non exhaustif d éléments qui sert à traiter des informations (documents de bureautique, méls, sons, vidéos, programmes ) sous forme numérique. Il est en général
Plus en détailManipulations du laboratoire
Manipulations du laboratoire 1 Matériel Les manipulations de ce laboratoire sont réalisées sur une carte électronique comprenant un compteur 4-bit asynchrone (74LS93) avec possibilité de déclenchement
Plus en détailQuoi de neuf en contrôle/commande et systèmes embarqués (RIO, WSN...)?
Quoi de neuf en contrôle/commande et systèmes embarqués (RIO, WSN...)? Mathieu PACE National Instruments, Ingénieur d applications L architecture RIO se développe Processeur FPGA E/S E/S E/S personnalisées
Plus en détailELP 304 : Électronique Numérique. Cours 1 Introduction
ELP 304 : Électronique Numérique Cours 1 Introduction Catherine Douillard Dépt Électronique Les systèmes numériques : généralités (I) En électronique numérique, le codage des informations utilise deux
Plus en détailOn distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)
Mémoire - espace destiné a recevoir, conserver et restituer des informations à traiter - tout composant électronique capable de stocker temporairement des données On distingue deux grandes catégories de
Plus en détailCours 7 : Programmation d une chaîne d acquisition
Cours 7 : Programmation d une chaîne d acquisition 4 Concepts 4 Programmation Cible Pentium : Langages de haut niveau Langage graphique G sous LabView + librairies de VI ; Langage C + librairies de fonctions
Plus en détailSTS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module
François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,
Plus en détailQUESTION 1 {2 points}
ELE4301 Systèmes logiques II Page 1 de 8 QUESTION 1 {2 points} En se servant de paramètres électriques donnés dans le Tableau 1 ci-dessous, on désire déterminer la fréquence d opération du compteur présenté
Plus en détailSystèmes et traitement parallèles
Systèmes et traitement parallèles Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma 1 Système et traitement parallèle Objectif Etude des architectures parallèles Programmation des applications
Plus en détailACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
Plus en détailRappels d architecture
Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée
Plus en détailOrdinateurs, Structure et Applications
Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle
Plus en détailExtrait des Exploitations Pédagogiques
Pédagogiques Module : Compétitivité et créativité CI Première : Compétitivité et créativité CI institutionnel : Développement durable et compétitivité des produits Support : Robot - O : Caractériser les
Plus en détailDOCUMENT PROTEGE PAR UN DROIT DE COPIE. CPLD ou FPGA Critères de choix. page 1
Une des caractéristiques du domaine des circuits programmables est d être résolument moderne, tirant parti des évolutions concernant les procédés technologiques, la propriété intellectuelle(ip), l Internet,
Plus en détailConférence sur les microcontroleurs.
Conférence sur les microcontroleurs. Le microcontrôleur Les besoins et le développement. Vers 1970, pour des calculs (calculatrice). Le premier est le 4004 de Intel, 90K. La technologie. Les 2 principales
Plus en détailPIC : COURS ASSEMBLEUR
PIC : COURS ASSEMBLEUR I) Fonctions de base d une machine informatique Contenir de façon permanente les tâches à exécuter (mémoire programme) en ROM ou sur support magnétique. Contenir de façon temporaire
Plus en détailProfil UML pour TLM: contribution à la formalisation et à l automatisation du flot de conception et vérification des systèmes-sur-puce.
INSTITUT NATIONAL POLYTECHNIQUE DE GRENOBLE N attribué par la bibliothèque T H È S E pour obtenir le grade de DOCTEUR DE L INPG Spécialité : «Micro et Nano Électronique» préparée au laboratoire CEA LIST/DTSI/SOL/LISE
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailContrôle d accès UTIL TP N 1 découverte
Contrôle d accès UTIL TP N 1 découverte A partir de : Documents sur CD TIL : \CD usesame\documentations\produits_til\modules\util_tillys fpr_utilv2.pdf FTe_UTiL_V2.pdf UTiL2_express.pdf \CD usesame\documentations\logiciels_til\tilman
Plus en détailFiche technique CPU 315SN/PN (315-4PN33)
Fiche technique CPU 315SN/PN (315-4PN33) Données techniques N de commande 315-4PN33 Information générale Note - Caractéristiques SPEED-Bus - Données techniques de l'alimentation Alimentation (valeur nominale)
Plus en détailConception des systèmes répartis
Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan
Plus en détailProjet M1 Année scolaire 2013/2014
Institut Supérieur de l Électronique et du Numérique Tél. : +33 (0)2.98.03.84.00 Fax : +33 (0)2.98.03.84.10 20, rue Cuirassé Bretagne CS 42807-29228 BREST Cedex 2 - FRANCE Projet M1 Année scolaire 2013/2014
Plus en détailExécutif temps réel Pierre-Yves Duval (cppm)
Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications
Plus en détailCours Informatique 1. Monsieur SADOUNI Salheddine
Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale
Plus en détailArchitecture des calculateurs
Formation en Calcul Scientifique - LEM2I Architecture des calculateurs Violaine Louvet 1 1 Institut Camille jordan - CNRS 12-13/09/2011 Introduction Décoder la relation entre l architecture et les applications
Plus en détailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détailFonctionnement et performance des processeurs
Fonctionnement et performance des processeurs Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan Fonctionnement des processeurs Unités de calcul
Plus en détailPG208, Projet n 3 : Serveur HTTP évolué
PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif
Plus en détailModélisation des interfaces matériel/logiciel
Modélisation des interfaces matériel/logiciel Présenté par Frédéric Pétrot Patrice Gerin Alexandre Chureau Hao Shen Aimen Bouchhima Ahmed Jerraya 1/28 TIMA Laboratory SLS Group 46 Avenue Félix VIALLET
Plus en détailGénération de code binaire pour application multimedia : une approche au vol
Génération de binaire pour application multimedia : une approche au vol http://hpbcg.org/ Henri-Pierre Charles Université de Versailles Saint-Quentin en Yvelines 3 Octobre 2009 Présentation Présentation
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailTHEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs
Architecture Matérielle des Systèmes Informatiques. S1 BTS Informatique de Gestion 1 ère année THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT Dossier 1 L environnement informatique. Objectifs Enumérer et
Plus en détail11 Février 2014 Paris nidays.fr. france.ni.com
11 Février 2014 Paris nidays.fr Construire l enregistreur de données autonome de demain Marc-Junior LARROUY, Ingénieur d Applications, National Instruments France Contenu Introduction à l enregistrement
Plus en détailArchitecture des ordinateurs
Décoder la relation entre l architecture et les applications Violaine Louvet, Institut Camille Jordan CNRS & Université Lyon 1 Ecole «Découverte du Calcul» 2013 1 / 61 Simulation numérique... Physique
Plus en détailTD Architecture des ordinateurs. Jean-Luc Dekeyser
TD Architecture des ordinateurs Jean-Luc Dekeyser Fiche 1 Nombres de l informatique Exercice 1 Une entreprise désire réaliser la sauvegarde de ses données sur un site distant. Le volume de données à sauvegarder
Plus en détailGenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion
GenDbg : un débogueur générique Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion 2008 Qui sommes nous? Centre d électronique de l Armement (CELAR) Maîtrise et protection
Plus en détailGESTION DE LA MEMOIRE
GESTION DE LA MEMOIRE MEMOIRE CENTRALE (MC) MEMOIRE SECONDAIRE (MS) 1. HIÉRARCHIE ET DIFFÉRENTS TYPES DE MÉMOIRE... 2 2. MÉMOIRE CACHE... 3 3. MODÈLE D'ALLOCATION CONTIGUË (MC OU MS)... 5 3.1. STRATÉGIE
Plus en détailSélection du contrôleur
Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du
Plus en détailLes liaisons SPI et I2C
DAMÉCOURT BENJAMIN AVRIL 28 Liaisons synchrones Les liaisons SPI et I2C Face arrière d un imac : trois ports USB, un port Firewire 4 et un port Firewire 8 CHRONOLOGIE ANNÉES 7 La liaison SPI et la création
Plus en détailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailCours n 12. Technologies WAN 2nd partie
Cours n 12 Technologies WAN 2nd partie 1 Sommaire Aperçu des technologies WAN Technologies WAN Conception d un WAN 2 Lignes Louées Lorsque des connexions dédiées permanentes sont nécessaires, des lignes
Plus en détailTout savoir sur le matériel informatique
Tout savoir sur le matériel informatique Thème de l exposé : Les Processeurs Date : 05 Novembre 2010 Orateurs : Hugo VIAL-JAIME Jérémy RAMBAUD Sommaire : 1. Introduction... 3 2. Historique... 4 3. Relation
Plus en détailIRL : Simulation distribuée pour les systèmes embarqués
IRL : Simulation distribuée pour les systèmes embarqués Yassine El Khadiri, 2 ème année Ensimag, Grenoble INP Matthieu Moy, Verimag Denis Becker, Verimag 19 mai 2015 1 Table des matières 1 MPI et la sérialisation
Plus en détailLa programmation des PIC en C. Les fonctions, les interruptions.
La programmation des PIC en C Les fonctions, les interruptions. Réalisation : HOLLARD Hervé. http://electronique-facile.com Date : 26 août 2004 Révision : 1.2 Sommaire Sommaire... 2 Introduction... 3 Structure
Plus en détail[ Rencontres Mondiales du Logiciel Libre 2011 Lundi 11 juillet 2011 ] Introduction à l'open Hardware Auteur : Dr Ir Robert Viseur
[ Rencontres Mondiales du Logiciel Libre 2011 Lundi 11 juillet 2011 ] Introduction à l'open Hardware Auteur : Dr Ir Robert Viseur Qui suis-je? Robert Viseur Ingénieur Civil, Mastère en Management de l'innovation,
Plus en détailIntroduction à l informatique temps réel Pierre-Yves Duval (cppm)
Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 -Définition et problématique - Illustration par des exemples -Automatisme:
Plus en détailsystèmes étendus Guide des Version 6.7 pour systèmes HD sous Macintosh ou Windows Digidesign
Guide des systèmes étendus Version 6.7 pour systèmes HD sous Macintosh ou Windows Digidesign 2001 Junipero Serra Boulevard Daly City, CA 94014-3886 États-Unis Tél. : 650 731 6300 Fax : 650 731 6399 Assistance
Plus en détailPrise en main. Prise en main - 0
Prise en main 0404 Prise en main - 0 1- Introduction Creative Professional Merci d avoir choisi le Digital Audio System 0404 d E-MU. Nous avons conçu ce produit E-MU pour qu il soit logique, intuitif et
Plus en détailArchitecture ordinateur. Organisation mémoire et Entrées/Sorties
Architecture ordinateur Organisation mémoire et Entrées/Sorties 243 Plages mémoire et E/S Dans une architecture à bus partagé, seule une partie des adresses active le contrôleur mémoire. Il reste des adresses
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailWindows Server 2008. Chapitre 1: Découvrir Windows Server 2008
Windows Server 2008 Chapitre 1: Découvrir Windows Server 2008 Objectives Identifier les caractéristiques de chaque édition de Windows Server 2008 Identifier les caractéristiques généraux de Windows Server
Plus en détailMICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C
Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...
Plus en détail