Apprendre le Verilog - un ouvrage de référence à conseiller? [FPGA] - Nano-ordinateur, microcontrôleurs, FPGA - Electronique, domotique, DIY
Marsh Posté le 06-09-2020 à 19:32:31
950 vues et pas une recommandation? C'est l'anglais le problème ou le Verilog en soit?
Marsh Posté le 08-09-2020 à 20:34:41
Eh ben ça semble être un peu (même beaucoup) la misère. Je trouve surtout des trucs super anciens et plus dispo ou alors à des prix exorbitants (j'ai vu du 900$ pour un bouquin!).
Voilà ce qui ressort de ma recherche:
Programming FPGAs: Getting Started With Verilog (2016) de Simon Monk. <20€. Beau et en couleurs, mais d'après certains commentaires c'est un peu léger/maigre.
Ensuite il y a Verilog by Example: A Concise Introduction for FPGA Design (2011) de Blaine Readler. 21€ outre-Rhin (out). Un commentaire le compare au K&R mais je ne trouve même pas de table de matières ou autre. La maison d'édition ne semble pas avoir de site web digne de ce nom.
Il y a aussi ce livre allemand: FPGA-Design mit Verilog (2010) de Harald Flügel, mais c'est pas donné celui-là (50€ out). En même temps il semble pas mal du tout. (Ich spreche deutsch. )
Des avis, des commentaires, des liens, ...?
Marsh Posté le 16-11-2020 à 19:49:55
Bon, petit retour même si tout le monde s'en fout.
J'ai pris le bouquin allemand et j'en suis un peu déçu vu le prix. Certes, ça parle de Verilog, mais si on a un minimum de compétences/connaissances en C le Verilog c'est vraiment simple au niveau syntaxe/grammaire/... PAR CONTRE il faut adapter une toute autre façon de penser quand on fait du Verilog (donc du hardware avec le parallèlisme etc) et non pas du soft genre en C etc. Et la le livre n'en parle pas du tout (ou presque). Du coup bon courage pour optimiser un design (->fréquence de fonctionnement max, autres contraintes de timing, ...) ou même savoir comment "interroger" correctement un bouton poussoir (débounce, synchronisation entre différents domaines d'horloge etc).
Bref, je cherche une bonne introduction à cette "algorithmie hardware" ou "façon de penser hardware". Si quelqu'un a une recommandation, un livre, un site web, ... Anglais/Français/Allemand.
Ah oui, un rongeur m'a dit que le standard Verilog peut se trouver sur le net de façon plus ou moins légale, mais il doit être aussi lisible que le standard C (soit pas du tout).
Marsh Posté le 29-12-2020 à 22:08:01
14000 vues et pas une recommandation?
Comme je disais, le Verilog c'est simple au niveau syntaxe, mais je cherche un bouquin sur la façon de penser en termes de hardware/FPGA.
Personne?
Marsh Posté le 29-12-2020 à 23:45:56
ReplyMarsh Posté le 30-12-2020 à 16:45:59
Merci, je vais regarder le "FPGA-101". La recherche d'un livre reste quand même d'actualité.
Marsh Posté le 31-12-2020 à 10:53:09
Pour le verilog tu peux regarder Digital Integrated Circuit Design Using Verilog and SystemVerilog ou RTL Modeling with SystemVerilog for Simulation and Synthesis: Using SystemVerilog for ASIC and FPGA Design.
Marsh Posté le 31-12-2020 à 16:21:59
Merci, mais outre les prix (surtout le deuxième) je pense que ce n'est pas ce que je cherche. J'ai déjà un bouquin sur le Verilog, je cherche plutôt un truc qui aborde (uniquement) des choses genre synchronisation entre différents domaines d'horloge, comment faire un anti-rebond sur un bouton-poussoir, comment coder pour une fréquence maximale X, etc. Tu vois? Un peu comme un livre de recettes de cuisine peut-être(?). Et je devrais vérifier, mais il me semble que le SystemVerilog c'est pas synthétisable par le Toolchain libre(?).
Marsh Posté le 31-12-2020 à 16:37:07
Du coup ça ne correspond pas à ta demande initiale d'un livre pour apprendre le Verilog. Ce que tu cherches c'est les concepts de l'électronique numérique pour les FPGA.
De façon générale les livres de ce type sont souvent chers.
Marsh Posté le 31-12-2020 à 19:48:46
Oui, comme indiqué dans le sujet ma demande initiale a changé. J'ai acheté un livre sur le Verilog mais je me suis rendu compte que ça ne suffit pas.
Et concernant les prix, je sais que ce genre de livre coûte cher, mais 110€ de mémoire pour le deuxième c'est vraiment trop. J'ai une limite à 50€ vu que j'ai déjà mis 50€ dans le livre Verilog.
Marsh Posté le 05-01-2021 à 22:41:19
Salut,
Je ne regarde pas souvent la catégorie Elec (enfin "tous les sujets" ).
Le problème du Verilog ou du VHDL ce n'est pas tant le langage en lui-même, mais de décrire correctement ce que l'on veut faire. On peut faire un programme "sémantiquement" ok, mais qui sera une véritable merde en synthèse.
Il y a des bonnes pratiques mais ça s'apprend sur le tas.
Perso quand je faisais du VHDL à l'école le site fpga4fun.com est pas mal. Regarde la page Verilog Tips : https://www.fpga4fun.com/VerilogTips.html tout en bas il y a des liens.
Mais le truc c'est d'avoir une carte de démo pour pouvoir expérimenter, notamment avec un port VGA et UART pour s'entraîner avec les timings.
edit modo : RdC aura peut être corrigé de lui-même, mais il manque un "a" dans ton lien https://www.fpga4fun.com/ , je corrige juste ça.
Marsh Posté le 13-05-2021 à 11:59:38
C'est un article fantastique et une aide précieuse pour moi qui suis novice en la matière.
Marsh Posté le 26-05-2021 à 15:20:35
zeql_ a écrit : Le problème du Verilog ou du VHDL ce n'est pas tant le langage en lui-même, mais de décrire correctement ce que l'on veut faire. On peut faire un programme "sémantiquement" ok, mais qui sera une véritable merde en synthèse. |
Oui, ça décrit exactement le problème. Merci pour le lien, des choses très intéressantes, même si pour l'instant je suis de nouveau occupé du côté µC.
PS: VGA j'ai pas encore regardé, mais un UART (TX only par contre) je l'ai déjà fait et j'ai pas eu de mal. Faut dire que c'est pas exactement des fréquences élevées, si on veut un design qui tourne à 100MHz+ là ça devient "intéressant"...
Marsh Posté le 26-05-2021 à 22:50:51
L'UART ça reste assez simple surtout en TX
Le VGA faut être organisé en fait. Faire un truc simple, même si c'est codé de manière dégueulasse ça fonctionnera. En revanche quand tu commence à complexifier, faut que ça soit codé correctement. En école d'ingé, c'est ce qui m'était arrivé, un code avec une liste de trig sur la clock et les signaux VGA, bref un merdier synchrone/asynchrone. Ca a tenu jusqu'à l'affichage de formes simple.
Quand il a fallu gérer des déplacements d'images, bah le truc marchait plus
Marsh Posté le 28-05-2021 à 05:50:31
rat de combat a écrit :
|
Il est plus simple de diversifier les sources de documentation quand on veut apprendre un langage, une technologie, si un truc n'est pas clair dans un livre alors il le sera probablement dans un autre livre par un autre auteur, qui aura pris une autre approche pour expliquer la chose,
grâce à internet cette diversification de la documentation est devenue facile, et souvent gratuite,
on peut commencer par la page wikipédia qui présente le verilog, pour avoir une première idée de ce que c'est :
https://en.wikipedia.org/wiki/Verilog
https://fr.wikipedia.org/wiki/Verilog
un tutoriel en anglais :
https://www.chipverify.com/verilog/verilog-tutorial
les tutoriels youtube :
https://www.youtube.com/watch?v=q1QwC3YlHG0
https://www.youtube.com/watch?v=PJGvZSlsLKs
puis on enchaîne avec les cours :
https://www.aime-toulouse.fr/DOCPDF [...] erilog.pdf
http://classweb.ece.umd.edu/enee35 [...] torial.pdf
on choisit ensuite un FPGA pour se faire la main, visiblement tu veux faire du FPGA sous linux avec des outils libres, donc probablement avec des FPGA de la marque lattice et le projet icestorm :
https://linuxfr.org/users/martoni/j [...] n-des-fpga
Marsh Posté le 28-05-2021 à 23:07:36
C'est gentil et je regarderai au moins les cours, mais ma demande initiale a évolué si tu regardes le sujet.
Marsh Posté le 19-07-2021 à 23:52:42
Bon bah purée, c'est dur ce monde. Je suis de nouveau à deux doigts de laisser tomber les FPGA. Le Verilog au niveau syntaxe aucun soucis, mais cette approche tout est en parallèle et machin, pfffff, quand on a passé sa vie à faire du µC... Et puis on peut pas mettre un printf() simplement, faut écrire des testbench, simuler, se taper les diagrammes de timing, se battre contre le "compilateur" pour la fréquence max du design etc ...
Désolé pour le coup de gueule.
Marsh Posté le 20-07-2021 à 18:10:28
Pour les printf tu peux toujours prendre des FPGA avec µC classique / SoftCore intégré et n'utiliser que le µC
Bon évidemment ça réduit un peu l'intérêt du truc
Marsh Posté le 20-07-2021 à 19:02:30
Non mais quel troll ce modo...
Sérieusement, c'est pas con du tout, mais les softcore c'est un truc auquel je ne veux pas encore toucher. C'est sur ma liste mais bien en bas, avec les machins DSP embarqués et pleins d'autres trucs.
Marsh Posté le 28-07-2021 à 08:01:02
https://forum.hardware.fr/forum2.ph [...] #t26350760
Au cas où ça pourrait t'aider dans ton apprentissage
Marsh Posté le 28-07-2021 à 16:10:05
Merci mais j'ai ce qu'il faut.
Je vois que tu es intéressé aussi, n'hésite pas à te faire plaisir. Par contre perso je vérifierais quand même qu'il existe une toolchain gratuite ("free" comme dans "free beer" ) pour ce FPGA. Je ne pense pas que Yosys ("free" comme dans "freedom" ) supporte cette famille mais je peux me tromper.
Marsh Posté le 28-07-2021 à 21:32:04
rat de combat a écrit : Merci mais j'ai ce qu'il faut. Je vois que tu es intéressé aussi, n'hésite pas à te faire plaisir. Par contre perso je vérifierais quand même qu'il existe une toolchain gratuite ("free" comme dans "free beer" ) pour ce FPGA. Je ne pense pas que Yosys ("free" comme dans "freedom" ) supporte cette famille mais je peux me tromper. |
Intel doit bien fournir la toolchain gratuitement pour ce FPGA, c'est assez vieux.
Marsh Posté le 28-07-2021 à 21:43:00
Maintenant pour l'entrée de gamme que ce soit chez Intel ou Xilinx, les outils sont gratuits. Mais RdC cherche de l'open-source.
Marsh Posté le 25-08-2020 à 01:15:51
Bonsoir ami(e)s de la nuit ,
je cherche un bon bouquin (en anglais!) pour apprendre le Verilog. Je connais (plus ou moins) les microcontrôleurs, les portes logiques, l'algèbre de Boole et ce genre de choses, mais mon expérience avec les FPGA et autres CPLD est très très limité et remonte à loin (et c'était du VHDL).
Existe-t-il un ouvrage de référence à lire absolument, comme le K&R pour le language C ou le "Camel book" pour Perl?
Oui, je veux apprendre le Verilog, pas le VHDL, car je souhaite utiliser une toolchain libre pour FPGA Lattice (cherchez "icestorm" ) et cette toolchain ne supporte que le Verilog.
Bonne nuit.
Message édité par rat de combat le 25-08-2020 à 18:16:21