• # icestorm et lattice ice40 et autres liens

    Posté par . En réponse au message par ou commencer pour "jouer" avec les FPGA et ce genre de circuit programmables ?. Évalué à 3. Dernière modification le 24 mai 2023 à 22:56.

    Je regarde aussi les FPGA et les sets d'instructions, et les microcontroleurs depuis quelques mois. Le Web est rempli de truc à regarder. Pas mal de bouts de verilog et de VHDL sur GitHub.

    • j'ai commencé avec des vieilles datasheet de 8051 et de microcontroleur PIC12 PIC16 (les vielles archis sont hyper bien documentées et c'est facile d'avoir une idée de comment ça fonctionne
    • Il y a un site historique avec du open hardware verilog/vhdl sur https://opencores.org
    • Le code de ce projet tiens en 1 page avec 4 instructions pour tout faire (super bien pour comprendre le tout) https://github.com/cpldcpu/MCPU
    • Le gros soucis c'est de programmé toutes ces petites merveilles, à compiler c'est la mort (et je suis microélectronique et pas du tout informatique...). La programmation en assembleur ça a aussi l'air d'être horrible. Au fur et à mesure de mes explorations je suis tombé sur Forth, qui repose sur les stack machines. Il y a un bouquin en ligne pour comprendre le fonctionnement https://www.forth.com/starting-forth/0-starting-forth/ et quelques projets niveau hardware
    • Dernier lien trouvé qui était bien rigolo: les One Page Code CPU https://revaldinho.github.io/opc/

    À titre personnel, le verilog me parait plus digeste et moins verbeux

    Côté matos, j'avais initialement trouvé les cartes artix7. Au fur et à mesure des explorations, je suis tombé sur icestorm: un projet en logiciel libre de synthèse/placement/routage pour FPGA Ice40 de Lattice. Ces jouets sont relativement abordables, les datasheets sont bien faites.

    https://www.latticesemi.com/products/developmentboardsandkits/ice40ultraplusbreakoutboard

    Les délais d'attente sont longs, mais en gros je viserais cette carte 62.40$ qui a le FPGA le plus gros de la gamme: Ice40 UltraPlus. Ou un truc du genre : il y a d'autres cartes avec ce FPGA faites par d'autres boites. Il faut voir ce que les fournisseurs européens ont, j'ai un peu peur des frais de port et de douanes.

    Ice40UltraPlus:

    • plus de 5000 LUT/FF pour jouer
    • 120kb de mémoire Two Port en blocs de 4kb configurables en 16 bits 8 bits 4 bits 2 bits, et directement programmable
    • 1 PLL et oscillateur sur puce
    • des blocs DSP avec des multiplicateur 16x16bits et des adders 32+32bits, a priori la synthese est capable d'inférer ces fonctions et de les utiliser (ça a l'air d'être rigolo)
    • 1Mb de mémoire RAM toute conne qui tourne à 70MHz
    • les trucs de protocole SPI et I2C, j'ai déjà vu ça quand j'ai lu de la doc sur les microcontroleurs
    • les IOs sont capables de gérer du PWM
    • le site de Lattice regorge d'IP core (des implémentations de trucs) et de Reference Design => pas sûr si ça impose les tools maison. Un exemple un ADC sigma delta https://www.latticesemi.com/products/designsoftwareandip/intellectualproperty/referencedesigns/referencedesign03/simplesigmadeltaadc
    • les tools maisons pour cette famille de FPGA sont gratuits et disponible pour Linux

    Ça a l'air d'être une bonne plateforme pour jouer. Si quelqu'un a des cartes avec un iCE40 UltraPLus UP5K à conseiller je suis tout ouï