Programmation FPGA
Répondre à la discussion
Affichage des résultats 1 à 23 sur 23

Programmation FPGA



  1. #1
    thomasalbert1993

    Programmation FPGA


    ------

    Bonjour !!

    Je souhaite utiliser un FPGA Altera sur un de mes projets. Or, je n'ai jamais utilisé de FPGA.
    Au niveau électronique, que doit comporter ma carte au minimum pour faire fonctionner un FPGA ? Doit-on obligatoirement lui soumettre un signal d'horloge ?
    Quel est le protocole de programmation du FPGA si celui-ci est programmé grace à un microcontroleur ? (en SPI ?) Quelles connections sont utilisées pour la programmation ?
    Et enfin, comment choisir le FPGA ?

    Merci beaucoup !

    Thomas A.

    -----

  2. #2
    jiherve

    Re : Programmation FPGA

    Bonsoir,
    Il faut bien sur une ou des horloges, une alim pour le cœur .
    Le protocole de programmation dépasse largement le but de ce forum.
    Il va te falloir charger l'edition WEB de Quartus II et beaucoup de courage car seul ce n'est pas évident.
    JR
    l'électronique c'est pas du vaudou!

  3. #3
    maximilien

    Re : Programmation FPGA

    Ce sera difficile de faire du FPGA at home.
    C'est du cms...

    Mais tout est possible!

    Et voici un exemple:
    http://www.lextronic.fr/R931-base-fpga-xilinx.html

    et plus particulièrement ces platines là:
    http://www.lextronic.fr/P4848-platin...ion-basys.html
    http://www.lextronic.fr/P4850-platin...exys2-500.html

    J'ai failli en acheter une il y à peu.

    Mais l'investissement est lourd!

  4. #4
    thomasalbert1993

    Re : Programmation FPGA

    Je ne compte pas souder moi même le fpga, j'y ferai souder par la société qui fera mes circuits.

    En quoi c'est si compliqué ces fpga ?
    Et pourquoi ils ont besoin Dun horloge puisque ce sont des composants programmables de "logique combinatoire" (mais pas que)? Si on a besoin une horloge pour un registre par exemple, on peut bien la faire rentrer dans une entrée/sortie non ?

  5. A voir en vidéo sur Futura
  6. #5
    thomasalbert1993

    Re : Programmation FPGA

    Et jai deja quartus , c'est pour ça que je préfèrerais utiliser des altéra plutôt que des xilinx

  7. #6
    maximilien

    Re : Programmation FPGA

    As tu réellement 16 ans?!!?
    J'ai fais du FPGA en IUT! Il y a de quoi pâlir!

    Citation Envoyé par thomasalbert1993 Voir le message
    En quoi c'est si compliqué ces fpga ?
    Et pourquoi ils ont besoin Dun horloge puisque ce sont des composants programmables de "logique combinatoire" (mais pas que)? Si on a besoin une horloge pour un registre par exemple, on peut bien la faire rentrer dans une entrée/sortie non ?
    C'est pour cela, qu'il faut un vrai cours avant de s'attaquer à ces bêtes et pas seulement des conseils donné sur le forum.

  8. #7
    thomasalbert1993

    Re : Programmation FPGA

    Mais je connais grossièrement les fpga, j'ai fais qq programmes et simulations sur pc, mais j'aimerais m'intéresser a la partie hardware des fpga (dc comment sont ils alimentés, les composants nécessaires etc...) pr les interfacer avec mes microcontroleurs (nouveaux ATxMEGA d'atmel).
    Si tu pouvais m'aider

    ps : oui j'ai 16 ans, pourquoi ?

  9. #8
    thomasalbert1993

    Re : Programmation FPGA

    (à défaut un CPLD pourrait me convernir, du moment que je puisse aisement le programmer avec un microcontroleur, et qu'il aie suffisamment de portes logiques pour réaliser mon circuit..)

  10. #9
    maximilien

    Re : Programmation FPGA

    Citation Envoyé par thomasalbert1993 Voir le message
    j'aimerais m'intéresser a la partie hardware des fpga (dc comment sont ils alimentés, les composants nécessaires etc...)
    Tu peux regarder les liens que j'ai donné plus haut.
    Et donc voir la doc des cartes.

    Tu y verra notamment les schémas...

    L'horloge est nécessaire par exemple pour les bascules (et pour faire des process).

  11. #10
    thomasalbert1993

    Re : Programmation FPGA

    j'ai bien vu les schémas des cartes sur les liens que tu m'as donnés, mais ce que j'aimerais connaitre est juste le stricte minimum à connecter

    En ce qui concerne l'horloge, je ne comprend toujours pas car, si on a besoin d'une horloge à un quelconque endroit on peut bien la faire rentrer par une patte d'E/S non ? surtout que je fais mes designs, ou "programmes" du fpga, juste avec des schémas (et non du VHDL etc..)

  12. #11
    maximilien

    Re : Programmation FPGA

    Citation Envoyé par thomasalbert1993 Voir le message
    En ce qui concerne l'horloge, je ne comprend toujours pas car, si on a besoin d'une horloge à un quelconque endroit on peut bien la faire rentrer par une patte d'E/S non ?
    Sur ton µC Atmachin tu cable où l'horloge?
    Sur la patte dédiée.

    Par ce qu'une horloge (pour être distribuée dans tout le circuit) doit être bien câblée.

    Si tu ne comprend pas pourquoi il y a besoin d'une horloge alors fais moi un circuit qui fait clignoter une LED.


  13. #12
    thomasalbert1993

    Re : Programmation FPGA

    Mais je comprend bien qu'il faille une horloge dans le cas du clignotement d'une LED par exemple, ce que je ne comprend pas c'est que tu compares un microcontrolur (qui execute des INSTRUCTIONS selon une certaine cadence, définie par le quartz) et un FPGA (qui est une série de blocs LOGIQUES, pas d'instructions, et qui sont donc en "temps réel" et executés en parallèles).

    Imaginons qu'on souhaite faire une fonction OU ou ET a laide d'un FPGA :
    2 BP, une led en sortie.
    A-t-on obligatoirement besoin d'une horloge pour faire cela ?!

    (avec un microcontroleur, oui on en a besoin, je te l'accorde mais un µc n'a rien a voir avec un FPGA !)

    Deuxieme cas : réalisation d'une bascule D
    Entrée : D0 et CLK, sortie Q.
    La aussi, CLK peut etre une entrée sortie standard non ? on doit obligatoirement le faire entrer dans une ligne d'horloge du FPGA ?

    Merci beaucoup

    Thomas A.

  14. #13
    maximilien

    Re : Programmation FPGA

    Citation Envoyé par thomasalbert1993 Voir le message
    ce que je ne comprend pas c'est que tu compares un microcontrolur (qui execute des INSTRUCTIONS selon une certaine cadence, définie par le quartz) et un FPGA (qui est une série de blocs LOGIQUES, pas d'instructions, et qui sont donc en "temps réel" et executés en parallèles).
    C'était pour imager. Quand tu vois Vcc sur un µC tu te dis "je le met/je le met pas?".
    Il faut mettre une clock.

    On peut faire du séquentiel avec un FPGA!

    Citation Envoyé par thomasalbert1993 Voir le message
    Imaginons qu'on souhaite faire une fonction OU ou ET a laide d'un FPGA :
    2 BP, une led en sortie.
    A-t-on obligatoirement besoin d'une horloge pour faire cela ?!
    Oui.

  15. #14
    thomasalbert1993

    Re : Programmation FPGA

    j'ai compris que c'était imagé ! Mais meme pour du séquentiel, pourquoi l'horloge est commune à tous ? (ya pas 50 pins d'horloges sur le FPGA)
    Ce que je pige pas, c'est qu'on dit qu'un FPGA n'effectue pas des instructions les unes à la suite des autres, mais des connections entre des portes logiques une bonne fois pour toute une fois programmé, et ce pour que les signaux transitent en parallele, en meme temps donc.

    Oui.
    ok, mais pourquoi ?

  16. #15
    jiherve

    Re : Programmation FPGA

    Bonsoir,
    Il faut utiliser la ou les entrées d'horloge car ce sont les seules qui garantissent une distribution correcte du signal.
    On peut bien sur utiliser quelquefois une entrée lambda mais dans ce cas il sera délicat de contrôler le timing avec précision bien que dans bien des cas le compilo sera capable de te router le signal sur un arbre d'horloge.
    Pour ne faire que du combinatoire il faut :
    soit n'avoir à implémenter qu'une fonction triviale
    soit être un dieu en logique, c'est possible car certains futurs micro seront asynchrones.
    La solution synchrone est déjà suffisamment difficile pour ne pas se compliquer la vie.
    JR
    l'électronique c'est pas du vaudou!

  17. #16
    thomasalbert1993

    Re : Programmation FPGA

    Donc, pour résumer, si j'entre mon signal d'horloge (ou plutôt mes signaux, car j'en aurais plusieurs) dans les broches dédiées, ca n'affectera pas le reste, et je pourrai connecter mes composants dans les schémas à ces lignes d'horloge ?
    Donc si j'ai bien compris c'est juste des lignes optimisées pour les horloges, pas quelque chose qui va permettre le déroulement du programme.

    A partir de quelle fréquence doit on obligatoirement passer par des lignes d'horloge pour que notre schéma fonctionne correctement ? Mes fréquences vont jusqu'à 24,576MHz...

    Merci !

    Thomas

  18. #17
    jiherve

    Re : Programmation FPGA

    Again,
    le nombre d'arbre d'horloge est limité donc il vaut mieux réfléchir à l'architecture de ton bidule avant de pisser du code.
    Bien souvent les horloges sont multiples les unes des autre dans ce cas il faut utiliser celle de fréquence la plus élevée et générer des signaux d'enable pour les autres.
    Ne jamais utiliser de ripple clock (horloge générées par division interne)on ne maitrise pas le skew .
    Attention au changement de domaine d'horloge il y a un joli phénomène nommé métastabilité qui t'attend au tournant, cela vaut aussi pour des horloges apparemment synchrones car issues d'une même source.
    Mais toujours utiliser les entrées d'horloges dédiées cela permet aussi d'accéder aux PLL internes.
    Le FPGA cela semble simple ce n'est pas du tout le cas, car ce n'est pas du soft, la preuve trés rares sont les informaticiens capable de pondre du VHDL fonctionnel et fiable.
    JR
    l'électronique c'est pas du vaudou!

  19. #18
    thomasalbert1993

    Re : Programmation FPGA

    ok ok, merci bien !

    confirmez-moi quand meme quelque chose pour que j'en sois sur : si notre circuit logique est purement combinatoire (ou comporte des éléments séquentiels fonctionnant à très basse fréquence et de manière non synchrone), on peut utiliser le FPGA sans horloge, c'est bien ça ?

  20. #19
    jiherve

    Re : Programmation FPGA

    RE
    non si tu as du séquentiel quelque soit la fréquence il faut utiliser une horloge c'est la garantie du succés.
    Faire du séquentiel sans bascules physiques c'est possible mais couillu!
    la fonction latch est déconseillée et bien souvent thermométrique
    à noter que certaines violations , de Hold en particulier sont indépendantes de la fréquence.
    JR
    l'électronique c'est pas du vaudou!

  21. #20
    thomasalbert1993

    Re : Programmation FPGA

    (ceci dit, comme je le disais un CPLD pourrait peut être me convenir à la limite, c'est déjà plus simple d'utilisation. Mais je ne sais pas s'il pourra comporter tout ce que je souhaite )

  22. #21
    thomasalbert1993

    Re : Programmation FPGA

    non si tu as du séquentiel quelque soit la fréquence il faut utiliser une horloge c'est la garantie du succés.
    Faire du séquentiel sans bascules physiques c'est possible mais couillu!
    Mais si je veux implémenter une bascule RS par exemple, c'est bien physique non ?! ^^ et c'est du séquentiel jusqu'à preuve du contraire ; je ne vois pas trop où ajouter une clock là dessus oO (puis c'est bien constitué de portes logiques NOR / NAND, donc on part de simple combinatoire, non ?).

    qu'entends tu par fonction LATCH ? bascules D ?

  23. #22
    jiherve

    Re : Programmation FPGA

    Bonsoir,
    oui une RS c'est du séquentiel dans la mesure ou cela assure une fonction mémoire maintenant l'exercice sera de faire un compteur 8 bits avec ce type de bascule, c'est faisable.
    J'attends.
    JR
    l'électronique c'est pas du vaudou!

  24. #23
    thomasalbert1993

    Re : Programmation FPGA

    ok ok , je suis d'accord. C'est du théorique que je recherche pour l'instant, de sorte à comprendre le fonctionnement global de ces ptits bébêtes de FPGA..
    Mais, imaginons cette fois, que je veuille implémenter un compteur 8 bits.. Tu me diras certainement de relier l'horloge à une ligne d'horloge, ou a une division de celle-ci. Mais si l'horloge que je veux attribuer à ce compteur est de meme pas 10Hz, je ne vais qd meme pas utiliser une ligne d'horloge pour ça si oO ? (ou bien si cest un bouton poussoir qui incrémente le comteur)

Discussions similaires

  1. programmation FPGA avec quartus
    Par invited58ee606 dans le forum Électronique
    Réponses: 4
    Dernier message: 01/02/2020, 01h07
  2. Fpga
    Par invite170c50c2 dans le forum Électronique
    Réponses: 1
    Dernier message: 24/03/2009, 10h34
  3. Fpga
    Par invite57f3f2ba dans le forum Électronique
    Réponses: 0
    Dernier message: 29/03/2007, 12h49
  4. Fpga
    Par invite48fedcb2 dans le forum Électronique
    Réponses: 8
    Dernier message: 29/03/2007, 10h54
  5. Réponses: 1
    Dernier message: 07/11/2006, 16h53
Découvrez nos comparatifs produits sur l'informatique et les technologies.