Bon, du coup, j'ai fait mes tests verilator (d'abord avec 2 exemples Hello World de verilator (le second avec systemc) pour comprendre les principes de base (un bout de code initialisateur en c++ + le code verilog) avec succès et effectivement, je ne m'attendais pas à quelque chose d'aussi simple en terme de programmation. J'ai aussi regardé et testé les exemples SDL + affichage pareil (et regardé les variantes matérielles).
Vu avec ces exemples simples ça ressemble à de la programmation classique sur un processeur déjà fait, mais sans cette couche. Il y a bien les réglages d'horloge, mais on retrouve aussi ça dès qu'on gère un périphérique en bas niveau après tout. Il me faut un FPGA pour voir les étapes suivantes maintenant.
C'est fou les sites spécialisés dans les modèles de processeurs FPGA (ou leur transcriptions en ASIC), j'ai vu efabless.com et opencores.org je ne m'attendais pas à cette foison d'implémentations.
Par rapport à cette remarque:
placement routage, la verif des timings et le bitstream
Là j'ai vu la contrainte du masque, et un passage sous forme géométrique du schéma avec la bibliothèque python eigen avec des schéma de liaison entre des cellules je ne sais pas si ce sont les LUT ou à un niveau plus élevé ? Désolé, pour la course au LUT, comme certains font pour les mégapixels sur APN, dans les précédente réponses. C'est important pour que les projets disponibles tiennent pour commencer, mais ça n'est clairement pas la seule contrainte.
Dans les exemples de la simulation VGA avec SDL il y a une gestion du timing pour vsync/hsync. j'utilisais en logiciel, mais c'est intéressant de voir comment c'est mis en place à ce niveau. Il y a des exemples de sprites matériels aussi (pas en SDL, il faudrait une implémentation du système de balayage dans la partie SDL de la simulation). Cela nécessite l'émission des pixels au bon moment à l'intérieur d'une ligne de balayage, je crois que c'est un exemple de bitstream, la sync n'étant donnée qu'en début de ligne ? je ne sais pas si cela correspond bien.
[^] # Re: Grand merci !
Posté par tao popus . En réponse à la dépêche Sortie de la version 0.10 de Yosys. Évalué à 3.
Bon, du coup, j'ai fait mes tests verilator (d'abord avec 2 exemples Hello World de verilator (le second avec systemc) pour comprendre les principes de base (un bout de code initialisateur en c++ + le code verilog) avec succès et effectivement, je ne m'attendais pas à quelque chose d'aussi simple en terme de programmation. J'ai aussi regardé et testé les exemples SDL + affichage pareil (et regardé les variantes matérielles).
Vu avec ces exemples simples ça ressemble à de la programmation classique sur un processeur déjà fait, mais sans cette couche. Il y a bien les réglages d'horloge, mais on retrouve aussi ça dès qu'on gère un périphérique en bas niveau après tout. Il me faut un FPGA pour voir les étapes suivantes maintenant.
C'est fou les sites spécialisés dans les modèles de processeurs FPGA (ou leur transcriptions en ASIC), j'ai vu efabless.com et opencores.org je ne m'attendais pas à cette foison d'implémentations.
Par rapport à cette remarque:
Dans les exemples de la simulation VGA avec SDL il y a une gestion du timing pour vsync/hsync. j'utilisais en logiciel, mais c'est intéressant de voir comment c'est mis en place à ce niveau. Il y a des exemples de sprites matériels aussi (pas en SDL, il faudrait une implémentation du système de balayage dans la partie SDL de la simulation). Cela nécessite l'émission des pixels au bon moment à l'intérieur d'une ligne de balayage, je crois que c'est un exemple de bitstream, la sync n'étant donnée qu'en début de ligne ? je ne sais pas si cela correspond bien.