Mise à jour : 06-Jan-2022



Vous trouverez ici un certain nombre d'informations sur ce sujet :
Voici une liste de livres traitant des systèmes embarqués et des systèmes Temps Réel que j'ai lus et dont voici ma revue. La plupart sont en anglais. Ces livres sont disponibles à la bibliothèque de l'ENSEIRB-MATMECA pour les étudiants de l'école.
TOP 3 :
Codification :
****
****
******
28/08/19 FPGA prototyping by VHDL examples. 2nd edition. Xilinx MicroBlaze
MCS SoC. P. Chu. Editions Wiley. 2017. Il s'agit de la 2ème édition
du livre "FPGA prototyping by VHDL examples. Xilinx Spartan-3 version"
revu et mis à jour dans un contexte SoPC. Globalement, par rapport
à la première édition, la première partie théorique
sur le développement de circuits numériques en VHDL reste la
même. Je vous conseille de maîtriser à 100 % cette partie.
La nouveauté réside dans les parties 2 à 4 du livre avec
une approche codesign pour la construction d'un système SoPC sur une
carte Xilinx Nexys 4 DDR appelé FPRO (Fun and PROfessional). L'usage
du microcontrôleur MicroBlaze MCS à la place du processeur PicoBlaze
dans la version 1 permet de programmer en langage C/C++. Cette 2ème
partie présente les aspects matériels VHDL (MicroBlaze MCS,
bridge, sous-système MMIO d'E/S, GPIO, timer et UART) et logiciels
(drivers et applications de test) d'un premier système appelé
FPRO vanilla. Ce système permet d'intégrer jusqu'à 64
blocs IP ayant au plus 32 registres de contrôle. Le choix du processeur
MicroBlaze MCS permet de s'afranchir du bus complexe AXI et d'avoir un bus
synchrone très simple ce qui facilite l'écriture du pont vers
le sous-système MMIO. C'est didactique et cela marche ! La 3ème
partie aborde le développement d'autre blocs IP et de leurs drivers
: XADC, PWM, afficheurs 7 segments, SPI, I2C,PS2, DDFS et ADSR. La partie
4 concerne l'interface vidéo VGA et reprend des parties de la première
version du livre avec des choses plus avancées comme l'OSD ou le frame
buffer. Ce livre n'est pas un livre sur l'apprentissage du langage VHDL et
le lecteur devra déjà avoir un peu étudié ce langage
bien que l'on puisse aussi l'apprendre à travers la première
partie du livre. Les exercices proposés ainsi que le système
SoPC FPRO sont téléchargeables.
En annexe, on trouvera des tutoriaux pour la mise en oeuvre de Vivado et du
système FPRO vanilla. Au final, c'est un ligne génial où
l'on avance progressivement et qui permet de bien maîtriser le langage
VHDL et l'approche SoPC avec une programmation aisée en langage C/C++.
J'adore !
***** 12/04/17 Embedded
SoPC design with NIOS II processor and VHDL examples. P. Chu. Editions Wiley.
2011. C'est une reprise du premier livre de l'auteur "FPGA prototyping
by VHDL examples. Xilinx Spartan-3 version" mais dans l'univers Altera.
Il s'agit là aussi de la mise en oeuvre du langage VHDL sur carte cible
Altera. Le livre traite des cartes DE1 et DE2. La première partie reprend
la première partie de son livre précédent avec un chapitre
en plus de présentation des systèmes embarqués. A maîtriser
bien sûr ! La méthodologie et le style d'écriture des
exercices proposés que l'on peut télécharger
sont facilement adaptables à ses propres besoins comme pour développer
une FSMD. C'est vraiment très didactique notamment pour ceux qui veulent
se faire une piqûre de rappel de VHDL. La deuxième partie est
plus spécifique à Altera avec la mise en oeuvre du microcontrôleur
softcore NIOS II : présentation du microcontrôleur NIOS II, mise
en oeuvre avec les outils Altera en langage C et non en assembleur, périphériques
d'E/S du processeur NIOS II, HAL, interruptions, périphériques
custom, bus Avalon, contrôleurs SRAM et SDRAM. Puis on retrouve les
périphériques abordés dans le précédent
livre mais là interfacés au processeur NIOS II et contrôlés
en C : clavier et souris PS/2, contrôleur VGA, contrôleur audio,
contrôleur de carte SD. La quatrième et dernière partie
traite du développement d'accélérateurs matériels
comme des accélérateurs PGCD, fractales, synthèse de
fréquence directe DDFS. Il y a aussi en annexe les références...
Au final, c'est un ligne génial et complémentaire en 703 pages
(!) du précédent livre de l'auteur mais plus spécifique
à Altera et parfait pour apprendre à maîtriser le langage
VHDL dans l'environnement Altera/NIOS II dans la perspective de développer
des accélérateurs matériels sous forme de blocs IP interfacés
sur ls bus Avalon en VHDL. J'adore aussi
******
12/04/17 FPGA prototyping by VHDL examples. Xilinx Spartan-3 version. P. Chu.
Editions Wiley. 2008. Un livre un peu ancien sur la mise en oeuvre du langage
VHDL sur carte cible Xilinx. Le livre traite de la carte Spartan-3 mais cela
marche aussi avec une carte Basys-2 (celle que j'ai utilisée avec ISE
14.7) , Basys-3, Nexys-3, Nexys-4... Ce livre n'est pas un livre sur l'apprentissage
du langage VHDL et le lecteur devra déjà avoir un peu étudié
ce langage bien que l'on puisse aussi l'apprendre à travers la première
partie du livre. Ce livre a plutôt pour ambition sa mise en oeuvre dans
un esprit synthèse RTL, ce qui revient indirectement à faire
l'apprentissage du langage. Les 6 premiers chapitres balayent le langage VHDL
dans ses principales utilisations : IDE pour le développement de circuits
FPGA, circuit combinatoire, circuit séquentiel au niveau RTL, circuit
séquentiel régulier, FSM, FSMD. Je vous conseille de bien maîtriser
les chapitres de cette première partie car c'est vraiment le fondamental
à connaître. La méthodologie et le style d'écriture
des exercices proposés que l'on peut télécharger
sont facilement adaptables à ses propres besoins comme pour développer
une FSMD. C'est vraiment très didactique notamment pour ceux qui veulent
se faire une piqûre de rappel de VHDL de synthèse. La deuxième
partie traite des périphériques d'E/S toujours en VHDL : UART,
clavier PS/2, souris PS/2, SRAM externe, VGA (graphiques fixes et animés,
fontes de caractères) avec comme exemple le fameux jeu pong ! La troisième
partie est plus spécifique à Xilinx avec la mise en oeuvre du
microcontrôleur softcore PicoBlaze : jeu d'instructions ASM, interfaçage
avec les E/S, interruptions... En annexe, on trouvera des templates VHDL usuels
à prendre comme des fiches de cuisine sur la syntaxe VHDL. Il y a aussi
en annexe les références... Au final, c'est un ligne génial
où l'on avance progressivement et qui permet de bien maîtriser
le langage VHDL surtout si l'on fait les exercices. J'adore !
******
14/10/16 RTL Hardware Design Using VHDL. P. Chu. Editions Wiley. 2006. Un
livre complet sur le langage VHDL et sa mise en oeuvre au niveau RTL : les
bases du langage VHDL, assignements en concurrent, en séquenciel, synthèse
du VHDL. On verra aussi le design des circuits séquentiels et combinatoires,
le design des machines d'états régulières, FSM ainsi
que la méthodologie RT (Register Transfer). L'auteur aborde enfin les
problèmes d'horloge et de synchronisation. Le livre est très
didactique et aborde tous les points importants du langage VHDL. Ce livre
présente en fait toute la "théorie" du VHDL mis ensuite
en pratique dans les livres "FPGA prototyping by VHDL examples. Xilinx
Spartan-3 version" et "Embedded SoPC design with NIOS II processor
and VHDL examples" de l'auteur. Il est donc conseillée de le lire
avant ces 2 livres. A lire pour une meilleure maîtrise du langage VHDL
et de l'écriture de machines FSM ou FSMD. On pourra télécharger
les exemples du livre ainsi que les transparents d'un cours bâti sur
le livre
***** 07/12/16 The
Zynq Book. L. Crockett and al. Editions Strathclyde Academic Media. 2014.
Un livre complet sur le codesign avec le composant FPGA Zynq de Xilinx. Cela
va bien au-delà de la présentation du Zynq avec la présentation
des SoC, des systèmes embarqués, de la synthèse de haut
niveau HLS, des OS, de Linux... A travers 24 chapitres, on voit l'architecture
du Zynq, le développement autour du Zynq avec Vivado et Vivado HLS,
les cartes à base de Zynq comme la carte ZedBoard, le bus AXI, la création
de blocs IP, la synthèse HLS (chapitres 14 et 15), la gestion des blocs
IP, Linux et sa mise en oeuvre avec le Zynq. C'est un livre très riche
et très complet qui présente le Zynq mais aussi bien plus. A
lire par tout utilisateur du Zynq. Télécharger
librement l'ebook. Télécharger
librement l'ebook des tutoriaux
**** 08/11/16 La conception
de systèmes avec FPGA. P. Simpson. Editions Dunod. 2014. Un livre complet
sur la conception industrielle de systèmes électroniques à
base de FPGA. C'est un livre assez général, pas trop technique
détaillant la gestion de projet, la spécification de la conception,
la modélisation système, l'étude des ressources, l'environnement
de conception, la conception des cartes, la consommation thermique, la conception
au niveau RTL, les blocs IP, la vérification fonctionnelle, le respect
des contraintes temporelles, le debogage et la validation du circuit FPGA.
On sent toute l'expertise de l'auteur, ingénieur chez Altera. Il y
a 2 parties un peu plus techniques très intéressantes sur SystemC
(chapitre 3) et sur l'art d'écrire correctement du code VHDL RTL (chapitre
9.5). C'est un bon livre à lire pour avoir en tête tout le processus
de conception d'un circuit FPGA dans un environnement industriel
**** 07/10/15 FPGA-based
Implementation of Signal Processing Systems. R. Woods and al. Editions Wiley.
2008. Un livre sur la mise en oeuvre de FPGA pour le traitement vidéo.
Le livre aborde dans un premier temps le traitement du signal, les FPGA, l'arithmétique
et son implémentation, les outils et le prototyping. Différents
exemples d'implémentations dans le traitement DSP sont ensuite donnés.
Le livre est très pointu mais donne beaucoup d'informations utiles.
A lire en tant que concepteur avancé dans le DSP
**** 07/10/15 Design
for Embedded Image Processing on FPGAs. D. Bailey. Editions Wiley. 2011. Un
livre sur la mise en oeuvre de FPGA pour le traitement d'images. Le livre
aborde dans un premier temps le traitement d'images, les FPGA, les langages
HDL puis la mise en oeuvre des FPGA et des techniques matérielles à
mettre en oeuvre (architectures mémoire, caching, buffering...). L'auteur
le fait pour différentes opérations : pixels, histogrammes,
filtrages, transformations géométriques, transformations linéaires,
labelling... L'interfaçage est aussi abordé : bus, liaisons
série... Un livre qui donne de bonnes pistes pour l'implantation matérielle
d'algorithmes de traitement d'images
***** 02/10/15 Advanced
Digital Logic Design with VHDL. S. Lee. Editions Thomson Prentice Hall. 2006.
Un livre sur le langage VHDL et sa mise en oeuvre. Un rappel en premier lieu
sur les systèmes numériques suivi de la présentation
du langage VHDL et des testbenches. Présentation du VHDL RTL en vue
de la synthèse, machines d'états, composants programmbles. Des
exemples VHDL sont ensuite décrits : analyseur de protocole USB, unité
arithmétique rapide, microprocesseur RISC. Un livre très complet
sur le langage VHDL et agréable à lire
**** 08/11/11 Digital
System Design with VHDL. M. Zwolinski. 2ème édition. Editions
Prentice Hall. 2004. Un livre sur le langage VHDL à lire si l'on veut
approndir le sujet et non s'initier. Ce livre aborde la logique combinatoire
et séquentielle depuis le langage VHDL en passant par le niveau RTL.
La simulation, la synthèse et le test sont aussi abordés. La
testabilité (BIST, Boundary Scan...) est traitée ainsi que la
logique asynchrone. Enfin, VHDL-AMS est aussi brièvement présenté.Un
livre à lire si l'on possède les bases en VHDL
**** 07/11/11 Rapid System
Prototyping with FPGAs. R. Coffer and al. Editions Newnes. 2006. Pas très
technique, un livre pleins de recettes et de conseils sur les différentes
phases de conception et d'usage de circuits FPGA sur carte électronique
: conception du PCB, design, simulation synthèse, implantation, programmation...
Des chapitres intéressants sur les coeurs de processeurs embarqués,
le DSP et les interconnexions d'I/O. Un livre très intéressant
à lire pour avoir à l'esprit les "règles d'or"
lors de la mise en oeuvre de circuits FPGA !
**** 07/11/11 FPGAs 101.
G. Smith. Editions Newnes. 2010. Un livre d'introduction sur le langage VHDL
et les éléments de base RTL. Toutes les phases de développement
sur circuits FPGA sont abordées notamment avec l'outil ISE de Xilinx
: design, simulation synthèse, implantation, programmation... Facile
à lire, un bon petit livre pour se faire une piqure de rappel sur le
sujet
**** 23/11/09 Architecture
des systèmes sur puce. A. Attoui. Editions Technosup. 2005. Un livre
sur la conception de systèmes SoPC. Ce livre reprend les thèmes classiques
de la logique combinatoire et séquentielle avant de parler de l'architecture
des circuits logiques programmables. Les systèmes à microprocesseur
sont abordés. Les outils de synthèse ISE de Xilinx et Quartus
II Altera sont aussi décrits. Il y a une présentation classique
du langage VHDL. La conception d'un SoC est vue avec ISE. C'est ensuite le
processeur softcore NIOS d'Altera qui est présenté du matériel
au logiciel embarqué en passant par la mise en oeuvre d'un noyau Temps
Réel ! L'intégration d'un périphérique sous NIOS
est aussi abordée. On a au final un excellent livre. Ecrit en 2005,
le processeur NIOS est obsolète, remplacé par le processeur
NIOS II différent du premier, ce qui rend un peu obsolète la
partie sur NIOS
***** 15/11/05 The
Design Warrior's Guide to FPGAs. C. Maxfield. Editions Newnes. 2004. Un livre
sur la conception de systèmes numériques à l'aide de circuits FPGA. Un excellent
livre sur le sujet, clair, simple, facile à lire qui traite à peu près tous
les sujets sur la question : l'origine des FPGA, architecture des FPGA, programmation
des FPGA, FPGA vs ASIC, saisie schématique, HDL, approche C/C++, DSP, processeurs
embarqués, modules IP, design high speed, les outils de modélisation et de
synthèse, reconfigurabilité, outils opensource, les LFSR...En un mot : clair
et complet. L'auteur est-il le "Jack Ganssle" du FPGA ?
**** 10/11/05 FPGA-Based
System Design. W. Wolf. Editions Prentice Hall. 2004. Un livre sur la structure
des circuits FPGA et leur mise en oeuvre : la fabrication, les différents
types de circuits, design de logique combinatoire et séquentielle,
méthodologie de conception, langages HDL, systèmes multi FPGA.
Un exemple est donné au final. Très bon livre abordant tous
les aspects des circuits FPGA
**** 07/10/05 Practical
FPGA Programming in C. David Pellerin and al. Editions Prentice Hall. 2004.
Ce livre aborde le vaste sujet de l'opportunité d'utiliser un langage
informatique généraliste pour synthétiser un circuit
numérique FPGA. Un très bon chapître présente l'intérêt
des circuits FPGA comme plateforme de calcul. Un modèle de programmation
pour les applications FPGA est ensuite abordé comme préambule
à la description du langage Impulse C. L'idée de base est de
créer des processus C (threads) communicant par des canaux ou Streams.
On voit alors le lien avec les langages HDL comme VHDL avec ses processus
et signaux. Il est alors possible à partir d'un fichier source Impulse
C de générer un fichier RTL avant synthèse. Le reste
du livre est consacré à des application de Impulse C : filtre
FIR, triple DES...Les circuits FPGA ciblés sont ceux de Xilinx et d'Altera.
Un chapître est aussi consacré au mariage de Impulse C et µClinux
(écrit par J. Williams). Un très bon livre expliquant l'intérêt
d'utiliser des langages comme C comme langages de présynthèse
HDL
***** 14/03/05
Digital Signal Processing with Field Programmable Gate Arrays. U.
Meyer-Baese. Editions Springer. 2001. Un livre rare sur l'implantation
matérielle d'algorithmes de traitement du signal : filtres
IIR, FIR, multirate, transformées de Fourier FFT, DFT, DCT,
cryptographie, modulations numériques. Un livre exceptionnel
avec une partie théorique complétée à
chaque fois d'une partie pratique d'exemples en VHDL. Un CDROM contient
les exemples en VHDL et Verilog et le logiciel Altera MAX Plus II
Baseline. Exceptionnel !
**** Rapid Prototyping
of Digital Systems. J. Hamblen and al. Editions KAP. 2001. Présentation
de l'environnement de développement Altera (schématique,
VHDL et Verilog) et utilisation de la platine de tests UP1. Très
bien fait
**** VHDL. Du langage
au circuit, du circuit au langage. J. Weber and al. Editions Masson.
1997. Un livre sur le VHDL et particulièremnent sur le VHDL synthétisable.
A lire quand on maîtrise le langage VHDL et que l'on désire
synthétiser des circuits numériques à partir de
sources VHDL. Le livre explique les pièges du VHDL et donne des
astuces. Très bien fait !
Il existe des processeurs (softcore) pouvant être intégrés dans un circuit programmable de forte densité. Ils sont généralement avec ou sans MMU, la tedance étant maintenant au spport de la MMU, et peuvent être utilisés avec un système d'exploitation de type Linux embarqué comme Linux ou µClinux. Voir ma page Linux embarqué.
Softcore Altera NIOS II :
NIOS II est le processeur softcore avec ou sans MMU développé par Altera.
Softcore Xilinx Microblaze :
Microblaze est le processeur softcore avec ou sans MMU développé par Xilinx.
Softcore LEON :
LEON est un processeur softcore sous GPL développé par Jiri Gaisler. C'est un processeur full SPARC V8 standard.