Bandes d'énergie ; niveau de Fermi ; conductivité électrique et équations de transport ; génération et recombinaison ; jonction PN à l'équilibre et polarisée ; transistor et capacité MOS ; Modèle de Jespers, effets canal court ; transistor bipolaire ; modèle Ebers et Moll ; modèle de transport ; calcul du courant ; modèles grands et petits signaux des transistors et jonctions ; montages de base des transistors ; montages de base à deux transistors, aperçu d'autres dispositifs électroniques: diode Schottky, Thyristors, MEMS, Capteurs. Introduction aux technologies électroniques modernes: transistor FINFET, microélectronique.

Embedded Software using Python/SoC 
FR. L'émergence de l'environnement de développement Python Productivity for Zynq (PYNQ) basé sur des notebooks Jupyter permet de résoudre les problèmes de programmabilité FPGA. Grâce à une carte de développement spécialement conçue pour prendre en charge PYNQ, les développeurs avec peu d'expérience FPGA peuvent implémenter rapidement des conceptions capables de tirer pleinement parti des performances des FPGA pour accélérer les applications impliquant des tâches de calcul intensives, pour des applications tels que la Domotique, IoT et Machine Learning. La programmation basique des FPGA se fait avec 2 langages possibles : le langage Verilog, et le VHDL. Le VHDL nécessite en outre une connaissance de l'électronique combinatoire et séquentielle, au contraire de Python, un langage open source, reconnu pour sa simplicité et très courant chez les programmeurs.
Architectures. Les architectures hétérogènes
Components. Les composants de base des sous-systèmes programmables
Methodology. Les étapes de développement de software embarquée (Python et Linux)
Overlays. Le développement des interfaces, périphériques et drivers associées
IOPs. Les interfaces configurables et programmables
Tools. Les outils et environnements de développement (Pynq, Jupyter, SDSoC)
Cas d'application : des exemples de développement : interfaces audio, interfaces périphériques (I2C, UART, Analog, PWM, etc.), Domotique, IoT, Machine Learning (YOLO, BNN Binary Neural Networks)

Edge Computing High Level Synthesis
FR. Cette section présente une vue unifiée des domaines matériel et logiciel en tant que solutions de remplacement d'implémentations basées sur l'exploration de la conception et les métriques. L'objectif du cours est d'apprendre à développer un système complet programmable et configurable, appelé de System-on-Chip (SoC). Ces systèmes utilisent des langages de haut niveau, tels que Python et C / C ++. Cependant, certaines fonctionnalités, telles que le calcul intensif, accès au périphériques, traitement de signaux, ou contrôle en temps réel, on besoin d'accélérateurs matériels. Ces accélérateurs et leurs interfaces programmables associées sont le résultat de étapes de développement donnant accès à une électronique reconfigurable, ou FPGAs. Des accélérateurs et leurs interfaces programmables associées sont le résultat de étapes de développement donnant accès a une électronique reconfigurable, ou FPGAs. On ne passe pas par la logique combinatoire et séquentielle pour programmer un FPGA ; on dispose des outils de haut niveau, tels que SDSoC et HLS (High Level Synthesis). On procède à la programmation d'un niveau supérieur, pour réaliser une architecture matérielle dans un circuit FPGA. Le circuit FPGA peut être une carte Zybo, Pynq ou une Zed Board, où on développe des applications avancées comme du traitement d'image. Le système sera considéré comme un system-on-chip ou SoC, dans lequel, l'exécution des applications en Python peuvent être accélérées par des accélérateurs matériels reconfigurables. Le cours explore les différentes tendances, composantes et alternatives en fonction de l'objectif final. La conception au niveau du système est introduite dans un premier temps par une description des différents composants impliqués, depuis la conception et l'utilisation des circuits intégrés jusqu'aux logiciels, processeurs et processeurs matériels personnalisés. Il couvre également les méthodologies de conception, les techniques d'optimisation et les environnements de test. Le cours est complété par des exercices pratiques et des séances de laboratoire utilisant les technologies de pointe, les tendances en matière de technologies et les défis de conception.
Exploration de l'architecture SoC. Analyse de conception et alternatives de mise en oeuvre.
Améliorer les performances. Stratégies d'optimisation. Améliorer les ressources.
Synthèse d'interface. Encapsulation matériel / logiciel et protocoles IO.
Etapes de vérification et de validation. Prototypage, planification, simulation et émulation.
Création de la propriété intellectuelle. Création et utilisation de composants.
Considérations de codage.

Electrostatique; courants stationnaires et calcul des circuits à courant continu; notions élémentaires de magnétisme; courants variables et courants sinusoïdaux; le substitut complexe, description des machines principales de l'électrotechnique rencontrées dans le bâtiment; analyse du RGIE et des installations électriques du bâtiment; protection des individus, du bâtiment et des installations contre le risque électrique; structure d'une installation, conception, mise en oeuvre, agréation, introduction à la domotique (Système KNX).

Introduction: Review of Semi-conductors models and elementary stages with BJT and MOS transistors. Multistage amplifiers. Operational amplifier's basic building blocs : current mirros, differential amplifiers, output stages (classes A, B, AB), voltage and current reference circuits. Frequency response of amplifiers. Stability of amplifiers. Operational amplifiers imperfections. Operational amplifiers applications: Non-linear amplifiers, Switched-capacitors circuits, DAC and ADC converters, Gm-C filters, Power management circuits(PMICs). Current mode-circuits: translinears loops. Analog microelectronics : design of amplifiers from specs using the gm/Id methodology. Layout. Cadence tools.

Signaux électriques analogiques et numériques ; Fourier ; Shannon ; fonctions électroniques ; blocs fonctionnels, physiques ; duadripôles ; impédances d'entrée, de sortie ; gain ; déphasage ; fonction de transfert harmonique ; diodes ; transistors ; redresseurs ; transformateurs ; amplificateurs ; filtres ; alimentations ; oscillateurs ; montages à AOP divers ; boucle de courant ; amplificateur d'instrumentation ; convertisseurs D/A et A/D ; appareils et chaînes de mesure électroniques, numériques.

Introduction aux ASIC, FPGA et composants standards ; modélisation du transistor MOS ; construction de portes logiques ; marges de bruit ; estimation des délais ; composants passifs ; dimensionnement de drivers ; problèmes de floorplanning ; lay-out ; structures régulières de type mémoires, additionneurs, multiplieurs ; circuits séquentiels ; synthèse logique ; test des circuits intégrés ; influence dominante de la technologie CMOS/FPGA par rapport au bipolaire.

- Embedded systems overview and design challenges.
- Custom Single-purpose processors.
- General-purpose processors.
- Memory.
- Interfacing.
- State machine and concurrent process models.
- Control systems.
- Open-loop and closed-loop control systems.
- General control systems and PID controllers.
- Fuzzy control.
- Full-custom (VLSI) and semi-custom (ASIC)IC technology.
- Design technology.
- Automation.
- Verification.
- Reuse.
- Design process models.

Architectures logicielle/matérielle. Techniques de gestion électronique des évènements. Dispositifs électronique de communication filaire et sans fils (WIFI, Bluetooth, Zigbee, NFC, addoc). Capteurs/Senseurs intégrés numériques (Accéléromètre, gyroscope, GPS, Magnétomètre, Lumière, Température, ultrason, infra-rouge, ...), Actuateurs mécaniques/électroniques (servomoteur, moteur DC, Triac/Thyristor, LED, ...), Interfaces électroniques Homme/Machine (I2C, UART, écran tactile, display, ...), Plateformes matérielles et logicielles (microprocesseur, FPGA, Raspberry-Pi, Linux, Android), Paradigmes de codification embarquée, Méthodologie de spécification, vérification et validation. Gestion de projet (étude de marché, taches, points de contrôle, résultats).

Structure d'un ordinateur ; la couche physique ; la couche microprogrammée ; la couche conventionnelle ; la couche langage d'assemblage ; les architectures évoluées RISC et CISC.

L'étude de l'organisation interne des ordinateurs : leurs structures, les interactions entre les diverses unités fonctionnelles qui les constituent, la compréhension approfondie des différentes architectures de microprocesseurs, les implications au niveau de la programmation et des mécanismes d'interaction avec l'environnement.  Les travaux pratiques feront largement appel à des techniques de programmation, l'utilisation des interruptions et l'utilisation de périphériques.

This course aims to introduce students to the desing of integrated circuits and systems with application to the Intenet-of-Things. It is the convergence of several disciplines: 

-Analog electronics
-Digital electronics
-Microelectronics
-Embedded systems
-Digital Communications
-Analog communications
-Wireless Networks
-Digital Signal Processing
-Microprocessors
-Hardware-software co-design
 
Special emphasis is put on : ADC-DAC Data Converters, Power Management Integrated Circuits, RF Circuits Design and System Level Simulations. Also, several cases study and commercial applications will be addressed.