Non, VHDL et Verilog sont deux langage de description matériel. Les deux sont conçus initialement pour simuler le comportement final d'un composant numérique.
L'un est basé sur un semblant de ADA et était une commande de l'armée américaine. L'autre est un langage initialement proprio de la société Cadence qui l'a «libéré» pour faire concurrence à VHDL.
Les deux sont «simulable» bien sur vu qu'ils sont conçu pour ça. Il y a même des logiciels de simulation libre :
Pour le Verilog
Icarus assez complet.
Verilator, celui là est un peu spécial, il converti le modèle Verilog en un objet C++, ce qui permet d'accélérer nettement la simulation (100 fois plus rapide environ)
Un truc qui est sympa aussi avec les LED. C'est qu'on peu s'en servir comme capteur de luminosité !
En effet branché «à l'envers» une led se comporte comme un condensateur dont la capacité varie en fonction de la luminosité.
Bravo pour ce journal qui nous éclairent sur un successeur (encore un ;-)) du couple fameux VHDL/Verilog.
Je ne trouve pas qu'il y en ait tant que ça perso. Mais c'est vrai que depuis 2 ou 3 ans ça commence à bouger. À ma plus grande joie ;)
Par contre, je suis surpris que ce langage prenne pour parti pris un tout-synchrone. J'ai certes arrêté la conception HW il y a quelques années, mais pour les designs complexe (au-delà de la dizaine de millions de portes), on parlait beaucoup de GALS (Globally Asynchronous Locally Synchronous). Comment un tel langage peut-il être compatible de ce paradigme ?
C'est bien l'esprit du langage en fait. On est bien «localement synchrone» avec le concept de domaines d'horloges. Il est tout à fait possible de changer de domaines d'horloges d'un module à l'autre. Mais c'est au développeur de bien soigner ses traversées de domaines d'horloge. C'est encore un point noir de Chisel à mon avis, même s'il existe quelques fonctions comme la fifo asynchrone ou le registres à décalage pour faciliter ça.
Il n'est pas possible de garantir le temps de propagation entre deux portes logique dans un FPGA à cause du placement routage.
En effet pour connecter la sortie d'une porte logique sur une autre il est nécessaire de passer par un nombre aléatoire de connexions qui seront différente à chaque synthèse/placement routage.
Si nos signaux d'entrées d'une porte logique «ET» par exemple n'arrive pas exactement en même temps, le résultat de sortie va passer par plusieurs valeurs fausses avant de se stabiliser.
Pour éviter de propager ces erreurs on va mémoriser le résultat à un moment précis − la plupart du temps sur le front montant d'une horloge principale − au moyen d'une Bascule D.
Ces la valeurs de sorties de la bascule D qui seront prisent comme résultat pour être propagées dans d'autre calculs. On parle de système synchrone quand toutes les Bascules D se déclenchent sur la même horloge.
L'analyse des timings consistera alors a s'assurer qu'entre deux bascules les signaux se propagent plus rapidement qu'une période de l'horloge.
Et effectivement c'est pas une présentation trop violente (limite j'ai dû chercher où était le message. C'est peut-être même pas assez visible pour le coup) donc c'est cool.
Faudrait peut-être que j'améliore un peu en effet. Peut-être le mettre au moins dans un cadre rouge. Mais je suis pas un dieux du HTML/Css donc il me faut toujours du temps pour faire les trucs web.
Edit: dommage qu'on puisse pas mettre de commentaires sur ton blog sans être inscrit. Je comptais laisser en commentaire là-bas et me suis rabattu sur le forum linuxfr par dépit. :-/
Il faut que j'améliore ça aussi ;). À la base c'était permis pour tout le monde mais je me tapait trop de spam. Du coup j'ai régulé de manière assez violente. Peut-être qu'avec une simple captcha je peu éviter le spam mais permettre les commentaire «publique» quand même.
silverlankaiz, il y a eu quelques tentatives de libération de gros FPGA par le passé. Je pense surtout au projet «debit» et son papier «from the bitstream to the netlist» qui s'était attaqué à la rétro-ingénierie du Spartan3. Mais il y a aussi, dans une certaine mesure, le projet Torc, mais développé par une université qui est financé par les gros du FPGA, du coup tout n'est pas reversé pour pas les froisser.
J’essaie de les recenser sur une page du front de libération des FPGA.
De tout les projets que je scrute depuis quelques années maintenant, le projet Icestorm est de très loin le projet le plus abouti. Le projet inclue même l'analyse des timings maintenant, ce qui était son gros point noir au début.
Merci pour tous les conseils jehan, bon le but n'est pas non plus de trop dégrader l'expérience utilisateur avec une popup dégueulasse qui encombre la vue.
L'idée est plutôt de faire un bandeau en haut de la page, ou un encart sur le coté donnant le message.
Juste histoire de contrer les messages qui me traitent de voleur à tout bout de champs quand je surf sur le web ;)
Chisel est un langage synthétisable et synchrone. Cela signifie que si ton code est correcte en chisel, il synthétisera !
Ce qui n'est pas le cas des HDL comme VHDL ou Verilog, qui eux sont des langages de simulation à l'origine. Prévu pour décrire le comportement d'un composant.
De plus Chisel est un langage synchrone. Écrire quelque chose d'asynchrone génèrera une erreur à la «compilation» contrairement au VHDL/Verilog. (Mais il existe des moyens d'avoir plusieurs domaines d'horloges tout de même).
C'est un langage beaucoup plus moderne que VHDL/Verilog qui est nettement moins verbeux et plus facile à factoriser (langage objet, fonctions plus facile à écrire, …).
Par contre c'est basé sur le scala, qui n'est pas un langage très courant dans le monde de l'embarqué. La courbe d'apprentissage du scala n'est pas forcément très douce pour qui est habitué au C/Python/…
Pour moi «brute-forcer» signifie : tester toutes les combinaison possibles bêtement une par une jusqu’à obtenir la bonne.
Après pour faire moins brute on peut réduire l'espace des combinaison possible en faisant des «attaques au dictionnaire» ou autre.
Mais le «brute-force» n'a rien de violent, c'est juste du calcul bête et long ;)
Tu peux tout à fait financer un projet libre et maintenir un fork pour ton compte. C'est un peu ce que font Ubuntu, Android et consort (pas sûr qu'ils financent beaucoup Debian et Linux en fait).
S'adosser à un projet libre énormément utilisé te donne une certaine pérennité. Tu n'as plus qu'a te concentrer sur les détails que tu veux spécialiser.
Perso je serais moins hostile à installer un système sachant qu'il est basé sur un truc connu et très utilisé plutôt que de me lancer sur un truc totalement nouveau développé par une petite équipe (quelque soit les millions engloutis dans un OS souverain, l'équipe sera nécessairement plus petite que celle développant Linux ou Debian).
# Un système d'exploitation pour gouziphone !
Posté par martoni (site web personnel, Mastodon) . En réponse à la dépêche Sortie de Replicant 6.0. Évalué à 2.
Hormis le dessin d'un robot ressemblant furieusement à celui d'android, rien ne dit que l'os libre en question est destiné aux téléphones à caresser !
Je dit ça car j'ai mis du temps à comprendre, mais ça doit être l'âge ;)
J'ai plus qu'une balle
[^] # Re: Cotisations != employé
Posté par martoni (site web personnel, Mastodon) . En réponse au journal Un four à pain c'est considéré comme un employé ?. Évalué à 0.
On parle de cotisations social pas de taxe là. Les cotisations social vont dans les caisses de la sécu, retraite, prévoyance,… pour les gens.
J'ai plus qu'une balle
[^] # Re: Preuve formelle et supervision de la fabrication et de la distribution
Posté par martoni (site web personnel, Mastodon) . En réponse au journal HiFive1: Un Arduino à 320Mhz entièrement libre pour 2017. Évalué à 2.
On vote ?
Moi j'dis qu'il bluff pas.
(je ne savais pas que le Commissaire Bialès moulait sur linuxfr, la classe ;) )
J'ai plus qu'une balle
[^] # Re: Preuve formelle et supervision de la fabrication et de la distribution
Posté par martoni (site web personnel, Mastodon) . En réponse au journal HiFive1: Un Arduino à 320Mhz entièrement libre pour 2017. Évalué à 4.
À quand les captchas sur les commentaires linuxfr ?
Histoire d'éviter ce genre de robot pipotron-complotiste.
J'ai plus qu'une balle
[^] # Re: Code VHDL : peu de lignes ?
Posté par martoni (site web personnel, Mastodon) . En réponse au journal OPEN-V : premier microcontrôleur libre ?. Évalué à 2.
Et pourtant il en existe une pour le Lattice ice40 -> Icestorm
J'ai plus qu'une balle
[^] # Re: Code VHDL : peu de lignes ?
Posté par martoni (site web personnel, Mastodon) . En réponse au journal OPEN-V : premier microcontrôleur libre ?. Évalué à 7.
Non, VHDL et Verilog sont deux langage de description matériel. Les deux sont conçus initialement pour simuler le comportement final d'un composant numérique.
L'un est basé sur un semblant de ADA et était une commande de l'armée américaine. L'autre est un langage initialement proprio de la société Cadence qui l'a «libéré» pour faire concurrence à VHDL.
Les deux sont «simulable» bien sur vu qu'ils sont conçu pour ça. Il y a même des logiciels de simulation libre :
Pour le Verilog
Pour le VHDL : principalement GHDL
J'ai plus qu'une balle
[^] # Re: Code VHDL : peu de lignes ?
Posté par martoni (site web personnel, Mastodon) . En réponse au journal OPEN-V : premier microcontrôleur libre ?. Évalué à 4.
Il y a même aucune ligne de code VHDL dans le lien donné puisque c'est du Verilog ;)
500 lignes de Verilog c'est déjà pas mal je trouve.
J'ai plus qu'une balle
# RISC-V
Posté par martoni (site web personnel, Mastodon) . En réponse au journal OPEN-V : premier microcontrôleur libre ?. Évalué à 2.
Bon j'avais commencé une dépêche sur le sujet, mais je me suis fait doubler ;)
C'est basé sur le cœur développé par l'université de Berkeley : Risc-V.
C'est un cœur qui commence à avoir son petit succès. Il a déjà été intégré dans d'autre projet d'ASIC je crois.
J'ai plus qu'une balle
# Led comme capteur de luminosité
Posté par martoni (site web personnel, Mastodon) . En réponse à la dépêche Les diodes ne sont pas toutes des lumières. Évalué à 10.
Un truc qui est sympa aussi avec les LED. C'est qu'on peu s'en servir comme capteur de luminosité !
En effet branché «à l'envers» une led se comporte comme un condensateur dont la capacité varie en fonction de la luminosité.
On trouve quelque montage sur le web pour exploiter cette propriété.
https://duckduckgo.com/?q=led+as+light+sensor&t=ffnt&ia=web
J'ai plus qu'une balle
[^] # Re: Langage synchrone
Posté par martoni (site web personnel, Mastodon) . En réponse à la dépêche Sortie de Chisel 3, un langage de description matériel basé sur Scala. Évalué à 2.
Je ne trouve pas qu'il y en ait tant que ça perso. Mais c'est vrai que depuis 2 ou 3 ans ça commence à bouger. À ma plus grande joie ;)
C'est bien l'esprit du langage en fait. On est bien «localement synchrone» avec le concept de domaines d'horloges. Il est tout à fait possible de changer de domaines d'horloges d'un module à l'autre. Mais c'est au développeur de bien soigner ses traversées de domaines d'horloge. C'est encore un point noir de Chisel à mon avis, même s'il existe quelques fonctions comme la fifo asynchrone ou le registres à décalage pour faciliter ça.
J'ai plus qu'une balle
[^] # Re: Tout l'inverse du soft !
Posté par martoni (site web personnel, Mastodon) . En réponse à la dépêche Sortie de Chisel 3, un langage de description matériel basé sur Scala. Évalué à 10.
Il n'est pas possible de garantir le temps de propagation entre deux portes logique dans un FPGA à cause du placement routage.
En effet pour connecter la sortie d'une porte logique sur une autre il est nécessaire de passer par un nombre aléatoire de connexions qui seront différente à chaque synthèse/placement routage.
Si nos signaux d'entrées d'une porte logique «ET» par exemple n'arrive pas exactement en même temps, le résultat de sortie va passer par plusieurs valeurs fausses avant de se stabiliser.
Pour éviter de propager ces erreurs on va mémoriser le résultat à un moment précis − la plupart du temps sur le front montant d'une horloge principale − au moyen d'une Bascule D.
Ces la valeurs de sorties de la bascule D qui seront prisent comme résultat pour être propagées dans d'autre calculs. On parle de système synchrone quand toutes les Bascules D se déclenchent sur la même horloge.
L'analyse des timings consistera alors a s'assurer qu'entre deux bascules les signaux se propagent plus rapidement qu'une période de l'horloge.
J'ai plus qu'une balle
[^] # Re: Emulation d'un CPU 32-bits sur MCU 8-bits
Posté par martoni (site web personnel, Mastodon) . En réponse au journal [Bookmark] Faire tourner Linux sur un micro-contrôleur 8-bit. Évalué à 2.
Visiblement oui, mais le résultat reste un Linux qui tourne sur un microcontrôleur 8bits.
J'aime beaucoup le temps de boot de 4h !
J'ai plus qu'une balle
[^] # Re: Gâteau d'anniversaire
Posté par martoni (site web personnel, Mastodon) . En réponse au journal Le noyau Linux a 25 ans. Évalué à 2.
Manque les bougies !
J'ai plus qu'une balle
[^] # Re: Il suffit d'inverser les codes de détection d'adblock
Posté par martoni (site web personnel, Mastodon) . En réponse au message Nous avons remarqué que vous n'utilisez pas de bloqueur de publicité .... Évalué à 1.
Faudrait peut-être que j'améliore un peu en effet. Peut-être le mettre au moins dans un cadre rouge. Mais je suis pas un dieux du HTML/Css donc il me faut toujours du temps pour faire les trucs web.
Il faut que j'améliore ça aussi ;). À la base c'était permis pour tout le monde mais je me tapait trop de spam. Du coup j'ai régulé de manière assez violente. Peut-être qu'avec une simple captcha je peu éviter le spam mais permettre les commentaire «publique» quand même.
J'ai plus qu'une balle
[^] # Re: Il suffit d'inverser les codes de détection d'adblock
Posté par martoni (site web personnel, Mastodon) . En réponse au message Nous avons remarqué que vous n'utilisez pas de bloqueur de publicité .... Évalué à 1.
Voici :
http://www.fabienm.eu/wordpress/?p=901
;)
J'ai plus qu'une balle
[^] # Re: le logiciel permet de dessiner son projet au moyen de blocs reliés...
Posté par martoni (site web personnel, Mastodon) . En réponse à la dépêche Icestudio 0.2, du schéma au verilog. Évalué à 4.
Dans un journal non c'est systématique ;) Par contre dans une dépêche c'est la première fois vu que c'est ma première dépêche.
J'ai plus qu'une balle
[^] # Re: Il suffit d'inverser les codes de détection d'adblock
Posté par martoni (site web personnel, Mastodon) . En réponse au message Nous avons remarqué que vous n'utilisez pas de bloqueur de publicité .... Évalué à 1.
Je n'y manquerais pas ;)
J'ai plus qu'une balle
[^] # Re: La "libération" de ce FPGA est une excellente chose
Posté par martoni (site web personnel, Mastodon) . En réponse à la dépêche Icestudio 0.2, du schéma au verilog. Évalué à 3.
silverlankaiz, il y a eu quelques tentatives de libération de gros FPGA par le passé. Je pense surtout au projet «debit» et son papier «from the bitstream to the netlist» qui s'était attaqué à la rétro-ingénierie du Spartan3. Mais il y a aussi, dans une certaine mesure, le projet Torc, mais développé par une université qui est financé par les gros du FPGA, du coup tout n'est pas reversé pour pas les froisser.
J’essaie de les recenser sur une page du front de libération des FPGA.
De tout les projets que je scrute depuis quelques années maintenant, le projet Icestorm est de très loin le projet le plus abouti. Le projet inclue même l'analyse des timings maintenant, ce qui était son gros point noir au début.
Il y a une vieille présentation de Sébastien Bourdeauducq sur comment s'y prendre pour faire le reverse engineering d'un fpga aussi.
J'ai plus qu'une balle
[^] # Re: Il suffit d'inverser les codes de détection d'adblock
Posté par martoni (site web personnel, Mastodon) . En réponse au message Nous avons remarqué que vous n'utilisez pas de bloqueur de publicité .... Évalué à 1.
Merci pour tous les conseils jehan, bon le but n'est pas non plus de trop dégrader l'expérience utilisateur avec une popup dégueulasse qui encombre la vue.
L'idée est plutôt de faire un bandeau en haut de la page, ou un encart sur le coté donnant le message.
Juste histoire de contrer les messages qui me traitent de voleur à tout bout de champs quand je surf sur le web ;)
J'ai plus qu'une balle
[^] # Re: Interressant
Posté par martoni (site web personnel, Mastodon) . En réponse au journal De retour du 4e workshop RISC-V. Évalué à 2. Dernière modification le 18 juillet 2016 à 10:36.
Chisel est un langage synthétisable et synchrone. Cela signifie que si ton code est correcte en chisel, il synthétisera !
Ce qui n'est pas le cas des HDL comme VHDL ou Verilog, qui eux sont des langages de simulation à l'origine. Prévu pour décrire le comportement d'un composant.
De plus Chisel est un langage synchrone. Écrire quelque chose d'asynchrone génèrera une erreur à la «compilation» contrairement au VHDL/Verilog. (Mais il existe des moyens d'avoir plusieurs domaines d'horloges tout de même).
C'est un langage beaucoup plus moderne que VHDL/Verilog qui est nettement moins verbeux et plus facile à factoriser (langage objet, fonctions plus facile à écrire, …).
Par contre c'est basé sur le scala, qui n'est pas un langage très courant dans le monde de l'embarqué. La courbe d'apprentissage du scala n'est pas forcément très douce pour qui est habitué au C/Python/…
J'ai plus qu'une balle
[^] # Re:
Posté par martoni (site web personnel, Mastodon) . En réponse au journal testmysite.thinkwithgoogle.com. Évalué à 1.
Pas si arbitraire que ça, ça permet de savoir comment google référence le site aussi.
J'ai plus qu'une balle
[^] # Re: bruter-forcer...
Posté par martoni (site web personnel, Mastodon) . En réponse au journal miniurl ki pu. Évalué à 4.
Pour moi «brute-forcer» signifie : tester toutes les combinaison possibles bêtement une par une jusqu’à obtenir la bonne.
Après pour faire moins brute on peut réduire l'espace des combinaison possible en faisant des «attaques au dictionnaire» ou autre.
Mais le «brute-force» n'a rien de violent, c'est juste du calcul bête et long ;)
J'ai plus qu'une balle
[^] # Re: Oui, il est bon
Posté par martoni (site web personnel, Mastodon) . En réponse au journal le retour du Virus Informatique [presse]. Évalué à 9.
Bon la conception de cette tablette était financé par elf d'après l'article …
J'ai plus qu'une balle
[^] # Re: Supaire
Posté par martoni (site web personnel, Mastodon) . En réponse à la dépêche Un système d’exploitation français pour la souveraineté numérique. Évalué à 3.
Tu peux tout à fait financer un projet libre et maintenir un fork pour ton compte. C'est un peu ce que font Ubuntu, Android et consort (pas sûr qu'ils financent beaucoup Debian et Linux en fait).
S'adosser à un projet libre énormément utilisé te donne une certaine pérennité. Tu n'as plus qu'a te concentrer sur les détails que tu veux spécialiser.
Perso je serais moins hostile à installer un système sachant qu'il est basé sur un truc connu et très utilisé plutôt que de me lancer sur un truc totalement nouveau développé par une petite équipe (quelque soit les millions engloutis dans un OS souverain, l'équipe sera nécessairement plus petite que celle développant Linux ou Debian).
J'ai plus qu'une balle
[^] # Re: Je trouve que le nom est trop facilement prononçable ...
Posté par martoni (site web personnel, Mastodon) . En réponse au journal Publication de la première version de fwtchrq.. Évalué à 1.
Ça me fait penser à un gag dans Kid paddle cherchant à faire un mot au scrabble ;)
J'ai plus qu'une balle