ETRS 811 «FPGA et processeurs reconfigurables»

Dimension: px
Commencer à balayer dès la page:

Download "ETRS 811 «FPGA et processeurs reconfigurables»"

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 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étail

Les 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 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étail

ASR1 TD7 : Un microprocesseur RISC 16 bits

ASR1 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étail

SIN-FPGA DESCRIPTION PAR SCHEMA

SIN-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étail

Chapitre 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 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étail

IFT1215 Introduction aux systèmes informatiques

IFT1215 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étail

Chapitre II-2 : Conception SoPC (Altera)

Chapitre 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étail

Quoi de neuf en LabVIEW FPGA 2010?

Quoi 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étail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE 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étail

IV- Comment fonctionne un ordinateur?

IV- 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étail

VIII- Circuits séquentiels. Mémoires

VIII- 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étail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 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étail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION 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étail

Architecture des ordinateurs

Architecture 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étail

Thè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 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étail

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Hié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étail

Vers du matériel libre

Vers 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étail

1. 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. 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étail

PIC EVAL Dev Board PIC18F97J60

PIC 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étail

Initiation au HPC - Généralités

Initiation 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étail

Conception de circuits numériques et architecture des ordinateurs

Conception 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étail

Conception et Intégration de Systèmes Critiques

Conception 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étail

Potentiels 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 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étail

MAC-TC: programmation d un plate forme DSP-FPGA

MAC-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étail

MICROCONTROLEURS 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 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étail

GPA770 Microélectronique appliquée Exercices série A

GPA770 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étail

Informatique 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 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étail

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Modules 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étail

Architecture des Ordinateurs. Partie II:

Architecture 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étail

Exécution des instructions machine

Exé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étail

Conception Systèmes numériques VHDL et synthèse automatique des circuits

Conception 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étail

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ARDUINO 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étail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table 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étail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME 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étail

Conception de Systèmes de Communications Numériques

Conception 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étail

Chapitre 4 : Les mémoires

Chapitre 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étail

ET 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. 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étail

Compilation (INF 564)

Compilation (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étail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION 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 É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étail

Conception Systèmes numériques VHDL et synthèse automatique des circuits

Conception 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étail

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

DU 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étail

PRESENTATION 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 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

É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étail

Matériel & Logiciels (Hardware & Software)

Maté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étail

Partie 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 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étail

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

FONCTION 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étail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation 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étail

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Sur 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étail

Manipulations du laboratoire

Manipulations 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étail

Quoi 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...)? 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étail

ELP 304 : Électronique Numérique. Cours 1 Introduction

ELP 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étail

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

On 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étail

Cours 7 : Programmation d une chaîne d acquisition

Cours 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étail

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module

STS 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étail

QUESTION 1 {2 points}

QUESTION 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étail

Systèmes et traitement parallèles

Systè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étail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ 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étail

Rappels d architecture

Rappels 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étail

Ordinateurs, Structure et Applications

Ordinateurs, 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étail

Extrait des Exploitations Pédagogiques

Extrait 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étail

DOCUMENT PROTEGE PAR UN DROIT DE COPIE. CPLD ou FPGA Critères de choix. page 1

DOCUMENT 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étail

Conférence sur les microcontroleurs.

Confé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étail

PIC : COURS ASSEMBLEUR

PIC : 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étail

Profil UML pour TLM: contribution à la formalisation et à l automatisation du flot de conception et vérification des systèmes-sur-puce.

Profil 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étail

Programmer 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) 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étail

Contrôle d accès UTIL TP N 1 découverte

Contrô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étail

Fiche technique CPU 315SN/PN (315-4PN33)

Fiche 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étail

Conception des systèmes répartis

Conception 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étail

Projet M1 Année scolaire 2013/2014

Projet 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étail

Exécutif temps réel Pierre-Yves Duval (cppm)

Exé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étail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours 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étail

Architecture des calculateurs

Architecture 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étail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture 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étail

Fonctionnement et performance des processeurs

Fonctionnement 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étail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, 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étail

Modélisation des interfaces matériel/logiciel

Modé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étail

Génération de code binaire pour application multimedia : une approche au vol

Gé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étail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 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étail

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

THEME 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étail

11 Février 2014 Paris nidays.fr. france.ni.com

11 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étail

Architecture des ordinateurs

Architecture 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étail

TD Architecture des ordinateurs. Jean-Luc Dekeyser

TD 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étail

GenDbg : 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 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étail

GESTION DE LA MEMOIRE

GESTION 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étail

Sélection du contrôleur

Sé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étail

Les liaisons SPI et I2C

Les 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étail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 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étail

Cours n 12. Technologies WAN 2nd partie

Cours 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étail

Tout savoir sur le matériel informatique

Tout 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étail

IRL : Simulation distribuée pour les systèmes embarqués

IRL : 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étail

La programmation des PIC en C. Les fonctions, les interruptions.

La 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 [ 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étail

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Introduction à 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étail

systèmes étendus Guide des Version 6.7 pour systèmes HD sous Macintosh ou Windows Digidesign

systè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étail

Prise en main. Prise en main - 0

Prise 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étail

Architecture ordinateur. Organisation mémoire et Entrées/Sorties

Architecture 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étail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan 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étail

Windows Server 2008. Chapitre 1: Découvrir Windows Server 2008

Windows 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étail

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

MICROINFORMATIQUE 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