Projet VHDL
Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

Projet VHDL



  1. #1
    invitea1f8a97e

    Projet VHDL


    ------

    Bonjour à tous, j'ai voulu poster ceci dans les projets électroniques mais apparemment, je n'y suis pas autorisé.

    Alors voila, on a un projet totalement libre à réaliser pour un cours d'électronique numérique mais celui-ci doit être fait en VHDL.

    Le projet est le suivant:

    Ce serait un petit jeu sur bredboard ou carte pré-trouée ou cpld. Le jeu est le suivant, quelques leds vous affichent en binaire un nombre et un affichage digital (7 segments) vous affiche un nombre. Dés que le nombre en binaire correspond au nombre décimal, il faut presser un bouton. Il y aurait un compteur pour le score ainsi que quelques niveaux de difficultés en fonction du score.


    Pour se faire, voici les idées que l'assistant m'a véhiculé.

    -Un compteur externe "aléatoire" 3 leds ou alors un convertisseur BCD-7seg externe
    -Quand celui-ci représente le nombre affiché par notre affichage digital (généré par un GAL), l'utilisateur presse le bouton
    -La GAL vérifie l'égalité entre les deux nombres
    -Comptage des points et évolution du niveau. Autre compteur pour les points piloté également par la GAL. La valeur du compteur est renvoyée en entrée pour gérer les différents niveaux du jeu (ou alors utiliser une autre solution ?).


    Qu'en pensez-vous ?
    Qu'elle est la complexité de ce projets ?
    Avez-vous des conseils?


    D'avance merci.


    Sébastien

    -----

  2. #2
    jiherve

    Re : Projet VHDL

    Bonsoir,
    Déjà il faudra être capable de convertir , in vivo, du binaire en décimal, et c'est pas gagné, sauf bien sur si il n'y a qu'un nibble à convertir!
    Pour le reste c'est assez trivial, sauf que programmer des GAL en VHDL c'est tout de même mal adapté.
    L'essentiel des problèmes seront localisés sur la détection propre de l'appui.
    Pour ce genre de bidouille un µcontroleur sera plus adapté.
    JR
    Ps : dès qu'apparait l'acronyme VHDL c'est souvent moi qui m'y colle mais là je n'en vois pas l'intérêt(du VHDL).
    l'électronique c'est pas du vaudou!

  3. #3
    invitea1f8a97e

    Re : Projet VHDL

    Le VHDL, tout simplement parce que c'est imposé. Merci de la réponse rapide. On va tout de même devoir le faire comme ça. Je ferai un suivi de l'évolution du projet... il doit être fini pour décembre donc voila.

  4. #4
    invitea1f8a97e

    Re : Projet VHDL

    Voilà comme promis je vous tiens au courant. On a pas encore commencer la réalisation mais on doit finir ça pour le 10 décembre.

    Donc voila on va utilisé une GAL22V10D (c'est imposé) et le langage VHDL. (le projet a très légèrement été modifié, on fait varier les deux valeurs en même temps, et quand elles sont égales, l'utilisateur presse le bouton).

    On doit donc générer plus ou moins aléatoirement une valeur sur 4 bits pour les 4 leds, et une valeur sur 4 bits également pour l'afficheur 7 segments (bcd-7seg).
    On aura un compteur externe (bcd-7seg) qui lui affichera le score. Avec ce score, on augmentera ou non la difficulté.

    On pense donc faire un maximum en VHDL dans la GAL pour avoir un minimum de composantes électroniques.
    Je suis à la recherche d'une fonction random en VHDL (j'ai trouvé la fonction UNIFORM, je sais pas ce que vous en pensé, mais est-elle applicable à ma situation ?).
    Sinon je pensais générer deux nombres aléatoires. Si ceux-ci sont égaux mod 3, générer un nombre aléatoire mod 10 et envoyer cette valeur aux leds et à l'afficheur. S'ils ne sont pas égaux, générer un nombre aléatoire mod 10 pour les leds, et un autre pour l'afficheur 7 seg (tout en vérifiant qu'ils ne soient pas égaux).

    Qu'en pensez-vous ?

  5. A voir en vidéo sur Futura
  6. #5
    Jack
    Modérateur

    Re : Projet VHDL

    Tu es sur de trouver un outil pour programmer le 22V10? Ça devient rare et il y a quelques années, je n'avais trouvé que ispLEVER de lattice. Encore faut-il que les GAL soient du même fabricant.

    A+

  7. #6
    invitea1f8a97e

    Re : Projet VHDL

    Exact, c'est l'ispLEVER de chez lattice et la gal est bel et bien du même fabricant.

  8. #7
    invitea1f8a97e

    Re : Projet VHDL

    Salut à tous,

    Notre projet à tout doucement évolué et voici le code:

     Cliquez pour afficher



    On a maintenant un autre petit soucis. On incrémente le "LEVEL_AFF" mais notre petit soucis, c'est de savoir comment faisons-nous pour augmenter la difficulté du jeu? c-à-d accélérer la vitesse d'affichage des valeurs?


    Merci beaucoup à vous

  9. #8
    indri

    Re : Projet VHDL

    Question personnel: c'est quoi la fonction uniform(,,) ??

    Ps: quelques tabulations rend le code bcp plus lisible
    Là où va le vent...

  10. #9
    invitea1f8a97e

    Re : Projet VHDL

    C'est une fonction qui génère un nombre compris entre 0.0 et 1.0 aléatoirement.

    PS: C'était tabulé dans mon éditeur de texte, j'ai fait copier coller, et la apparemment, ca ne l'est plus. Désolé :s

  11. #10
    indri

    Re : Projet VHDL

    Ok merci pour l'info.

    Sinon elle est à quelle fréquence ta clock? Elle doit être très lente apparament.
    Moi je ferais comme ca: avec une clock genre 50MHz je créerais une autre clock en qui dépend du niveau. Elle-même va faire fonctionner chaque process..

    Sinon pour l'appui sur un bouton on détecte généralement un flanc du bouton et pas seulement le niveau (sinon on fait qqch à chaque coup de clock)
    En faisant qqch du style:

    if bp='1' and old_bp='0' then ....
    end if;
    old_bp<=bp;
    Là où va le vent...

  12. #11
    invitea1f8a97e

    Re : Projet VHDL

    C'est mon premier projet en VHDL et j'ai pas tout a fait compris ce que tu voulais dire avec le bouton. Et pour ce qui est de la cloque non plus. Désolé.

    Mais le bouton, tu dois le presser quand les deux valeurs sont égales. Sinon tu pousses pas dessus.

  13. #12
    indri

    Re : Projet VHDL

    Ta clock est à quel fréquence?

    Si elle est à 50MHz, ton affichage va changer toutes le 20 ns(si j'ai +/- bien compris ton code), faut vachement être rapide pour appuyer sur un bp toutes les 20ns

    Donc pour changer moins rapidement, on crée une deuxième clock (de 1 Hz par exemple) à partir de l'autre via un compteur par ex. du style:
    if clk'event and clk='1' then
    compt:=compt+1;
    if compt=25000000 then
    compt=0;
    clk2=not(clk2);
    end if;
    end if;


    Pour le bp si tu fais :" if bp='1' then" dans un process clocké lorsque tu vas appuyé sur le bouton poussoir, tu n'appui pas qu'une nanoseconde mais plutot 10 ou 100 ms...donc des milliers de flanc montant de ta clock à 50MHz donc des milliers de fois ton process clocké sera appellé alors que toi tu voulais qu'il fasse l'action qu'une fois (et encore je parle pas des antirebonds..) ...bref on repère un flanc montant ou descandant...c'est préférable...

    Je sais pas si c'est plus claire
    Là où va le vent...

  14. #13
    invitea1f8a97e

    Re : Projet VHDL

    Oui merci... J'ai bien saisis pour le bouton.

    Et je définis comment la fréquence de ma clock? J'ai un peu rechercher sur google mais j'ai rien trouvé de bien concret.

  15. #14
    indri

    Re : Projet VHDL

    Ben ca dépend de ta carte...si y a un quartz ou que sais-je...Le fpga génère pas sa propre clock (pas que je sache en tout cas..mais bon il existe peut-être des modèles qui le font...)..
    Là où va le vent...

Discussions similaires

  1. Idées de projet vhdl
    Par invite331e4ee5 dans le forum Électronique
    Réponses: 17
    Dernier message: 02/06/2017, 17h58
  2. projet VHDL
    Par invite48f8686e dans le forum Électronique
    Réponses: 2
    Dernier message: 20/01/2010, 22h25
  3. probleme da un projet de VHDL aide moi SVP
    Par invite7038cc58 dans le forum Électronique
    Réponses: 2
    Dernier message: 30/04/2008, 20h54
  4. projet en VHDL
    Par invite62e19451 dans le forum Électronique
    Réponses: 7
    Dernier message: 30/06/2007, 10h34
  5. projet VHDL
    Par invite5497a1e2 dans le forum Électronique
    Réponses: 2
    Dernier message: 23/04/2006, 08h56
Découvrez nos comparatifs produits sur l'informatique et les technologies.