Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cour VHDL

    28 février 2012 à 16:02:41

    Citation : Gwenn

    • La liste de sensibilité est plus une doc qu'autre chose
    • Il faut utiliser des process synchrones, même si ils sont combinatoires (synchrone === clock et reset uniquement comme déclencheurs)

    En fait, avec des process synchrones, le synthétiseur est capable de déterminer les temps de propagation des signaux et donc la tenue en fréquence du système. Sans ça, il faut calculer le déphasage de chaque combinatoire pour déterminer la stabilité du système. Le synchrone, quand c'est possible, c'est le Bien. Quand c'est pas possible... ca me semble dépasser le niveau du SdZ.
    • Partager sur Facebook
    • Partager sur Twitter
    64kB de mémoire, c'est tout ce dont j'ai besoin
      29 février 2012 à 2:08:18

      Citation : Nathalya

      Le synchrone, quand c'est possible, c'est le Bien. Quand c'est pas possible... ca me semble dépasser le niveau du SdZ.


      Le SdZ avec ou sans Mewtow ? :D
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        29 février 2012 à 7:53:55

        Mewtow et zeqL.
        • Partager sur Facebook
        • Partager sur Twitter
          1 mars 2012 à 12:09:44

          ok, donc tu séquence tes entrées par ton horloge, si ton entrée est plus rapide que ton horloge, tu ne la vois pas.
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            1 mars 2012 à 12:21:32

            Oui, clairement. Le truc, c'est que là au moins tu maîtrise la fréquence des calculs qui s'ensuivent : si tu es OK pour calculer à 10MHz, tu échantillonne à 10MHz et c'est bon. En revanche, imagine que ton calcul aie un temps effectif tel que le process ne peut se faire que 10 fois par seconde : ton signal si il se produit trop souvent va potentiellement foutre un bazar pas possible... Séquencer le signal permet de maîtriser la fréquence de calcul.

            Le seul cas où c'est pertinent, sur un FPGA, c'est quand tu ne peux pas échantillonner le signal, comme tu l'as bien dit, mais soyons sérieux : un FPGA assez basique peut échantillonner un signal carré à 100MHz, ce qui est le maximum que peut acquérir un oscilloscope milieu de gamme. Tu vas souvent au delà de ça toi ?
            • Partager sur Facebook
            • Partager sur Twitter
              1 mars 2012 à 13:34:07

              Si ton entrée est plus rapide que ton horloge, tu accélères ton horloge. Si tu ne peux pas, c'est que ta combinatoire se stabilise moins vite que ton signal n'évolue. Dans ce cas, tu ne peux plus faire de numérique.

              Et si tu ne connais pas ton signal d'entrée, mets un filtre anti-repliement avant ton FPGA. Sans ça, tu ne sais pas si ton système est capable de traiter ton signal.
              • Partager sur Facebook
              • Partager sur Twitter
              64kB de mémoire, c'est tout ce dont j'ai besoin
                20 mars 2012 à 20:27:37

                Bonjour, je serai aussi partant pour un tuto sur le VHDL.
                Pour ceux que ça intéresse, un prof de Telecom Paris à mis sur son site un cours très complet sur le VHDL :
                http://comelec.enst.fr/hdl/vhdl_structurel.html
                • Partager sur Facebook
                • Partager sur Twitter
                  14 mai 2012 à 20:46:05

                  Bonjour, je voudrai savoir ou êtes vous rendu avec ce tuto, sa m'intéresse vrmnt.
                  je vous remercie.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    1 juin 2012 à 19:28:37

                    Je pense qu'il va être fini par un autre membre
                    • Partager sur Facebook
                    • Partager sur Twitter
                      1 mars 2013 à 6:44:27

                      Salut,

                      Je réveille peut-être un mort mais j'aimerais savoir si la rédaction de ce cours est toujours en cours ou bien si c'est complètement arrêté. D'après ce que j'ai compris, bourgneuf a pas mal avancé, donc même si le tuto n'est pas complet, je trouverais ça bien de le mettre en ligne, au moins pour avoir une introduction, quitte à ce qu'il soit complété par la suite. Je trouve que cela serait dommage que le boulot qui a été fait soit mis de côté. J'aimerais vraiment pouvoir avoir accès à un tel tuto, c'est un sujet qui m'intéresse.

                      • Partager sur Facebook
                      • Partager sur Twitter
                        5 mars 2013 à 0:27:26

                        j'ai pas oublier l'idée mais en ce moment, j'ai vraiment pas le temps.

                        Quand au tuto, il ne peux pas etre en ligne s'il n'est pas validé et il ne le sera pas s'il n'est pas fini

                        désoler

                        • Partager sur Facebook
                        • Partager sur Twitter
                          5 mars 2013 à 10:40:41

                          Coucou,

                          Merci pour ce déterrage car je suis vraiment très très intéressé. Je suis partant pour t'aider. J'ai je penses de bonnes connaissances sur le sujet puisque que je travaille avec le VHDL presque tous les jours.

                          Si tu veux me contacter par MP pour organiser cela je suis plus que partant.

                          • Partager sur Facebook
                          • Partager sur Twitter
                            5 mars 2013 à 11:26:35

                            J'y ai un peu réfléchi et faire un cours sur le langage VHDL en tant que tel n'a pas grand intérêt. Ce qui peut être intéressant c'est un cours le desgin numérique, qui s'appuierait pourquoi pas sur le VHDL. Mais ce n'est même pas la peine de parler de ça si on ne connait pas les bases de l’électronique numérique et, par régression vers le plus petit dénominateur commun (on est sur le sdz hein), on se rends compte qu'il va falloir commencer le cours par l'algèbre de bool.... C'est un travail titanesque.

                            Autre point qui me semble délicat : ce qui fait que les cours d'informatique du sdz on si bien marché, c'est que pour les consulter il faut avoir un ordinateur donc on a déjà l'outil de travail. Pour l’électronique (même numérique), c'est plus compliqué.

                            Ces difficultés ne sont pas insurmontable mais il est clair que de se lancer bille en tête dans un cours qui ânonne les différentes instructions et leur syntaxe (souvent affreuse d'ailleurs) ce n'est pas une bonne idée.

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Zeste de Savoirbépocode minimal  — Ge0 <3
                              5 mars 2013 à 11:37:00

                              Je suis totalement d'accord avec toi pour le fait que faire un cours sur le VHDL comme ça sortie de nul part n'est pas le top du top car il faut des connaissances préalables.

                              Mais il pourra toujours servir à une personne devant/voulant se consacrer à un projet sur FPGA et ayant déjà des bases en électronique numérique.

                              Au delà de ça si j'ai fait cette proposition c'est surtout car j'ai rejoint il y a peu le groupe rédigeant le tuto sur l'électronique de zéro. Nous sommes en train de voir pour changer la structure du cours afin d'avoir quelque chose de compet. Dans cette optique il y aurait une partie sur la logique de base conduisant aux base de l'électronique numérique. Il semble que du coup le cours sur le VHDL ne soit pas si hors de propos que cela.

                              Et si cela se fait il peut être intéressant de voir ce qui a déjà été fait plutôt que de partir totalement de zéro.

                              • Partager sur Facebook
                              • Partager sur Twitter
                                5 mars 2013 à 13:46:31

                                Polinichon a écrit:

                                Mais il pourra toujours servir à une personne devant/voulant se consacrer à un projet sur FPGA et ayant déjà des bases en électronique numérique.

                                Certes mais ce n'est pas la philosophie du site.

                                Et si cela se fait il peut être intéressant de voir ce qui a déjà été fait plutôt que de partir totalement de zéro.

                                Si on peut dire aux zéros de commencer par la lecture de tel tuto avant, c'est clair qu'il faut en profiter. Je tenais juste à rappeler qu'il faut déjà avoir une bonne base en numérique avant d'aborder le langage, sinon on se retrouve avec des débutants qui ne comprenne pas qu'ils ont affaire à des portes et des bascules et qui feront du VHDL comme on ferait de l'Ada.

                                Je reste très content que ce genre de projet voit le jour sur ce site, je ne sais pas si j'ai le sens pédagogique pour rédiger mais vous pouvez toujours compter sur moi pour de la relecture.

                                -
                                Edité par simbilou 5 mars 2013 à 13:47:15

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Zeste de Savoirbépocode minimal  — Ge0 <3
                                  5 mars 2013 à 14:20:31

                                  Je ne connais pas du tout l'Ada mais j'imagine ce que tu veux dire. J'ai déjà expérimenter la lecture de code VHDL mais fait comme si c'était du C.

                                  Je suis d'accord qu'il faut un minimum de connaissance en numérique afin de comprendre ce que l'on fait, ce sur quoi on travaille. Mais il n'y a pas besoin non plus d'être un expert. Du moment que l'idée du design et son architecture son bien précisé il est tout à fait de s'en sortir.

                                  Pour en revenir au lien avec le cours je pensais justement présenter les différentes manières de coder les éléments de base de l'électronique numérique présenter dans le cours. De cette manière cela pourra lier cour et pratique.

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    5 mars 2013 à 15:08:07

                                    Polinichon a écrit: >Je ne connais pas du tout l'Ada mais j'imagine ce que tu veux dire.

                                    C'est un langage impératif, sa syntaxe est très proche du VHDL (en fait ce serait plutôt le contraire mais bon).

                                    >Je suis d'accord qu'il faut un minimum de connaissance en numérique afin de comprendre ce que l'on fait, ce sur quoi on travaille. Mais il n'y a pas besoin non plus d'être un expert. Du moment que l'idée du design et son architecture son bien précisé il est tout à fait de s'en sortir.

                                    Être expert non (d'ailleurs personne n'est expert ici), mais je pense qu'on n'est pas d'accord avec le minimum requis . Mais peut être que ne suis simplement pas assez bon. C'est toujours plus facile d'expliquer quelque chose avec lesquels on a du recul. Si tu arrive à rendre tes explications limpides même pour un néophyte alors bravo.

                                    Pour en revenir au lien avec le cours je pensais justement présenter les différentes manières de coder les éléments de base de l'électronique numérique présenter dans le cours. De cette manière cela pourra lier cour et pratique.

                                    Oui c'est évident comme approche, de toute façon faut en bouffer de la bascule D avant de comprendre le design synchrone.

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Zeste de Savoirbépocode minimal  — Ge0 <3
                                      5 mars 2013 à 15:27:59

                                      C'est justement sur ce point que nos avis diffère.

                                      Je ne pense pas que la connaissance de la bascule D (bien que ça soit assez simple) soit impérative lorsque tu veux créer un design. Pour ma part lorque je fait un design j'en décrit le comportement de la manière la plus clair possible. En aucun cas je fais référence à des bascules ou autres composant de base de l'électronique numérique. Je laisse ça au compilateur/synthétiseur.

                                      Après c'est mon point de vue et peut être que en réalité si je les utilise mais sans m'en rendre compte. Si c'est le cas alors je pense que j'ai pas fini d'en chier pour le cours :)

                                      Tu entends quoi toi par le minimum requis ?

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Anonyme
                                        5 mars 2013 à 15:59:07

                                        Justement, on ne peut pas concevoir un système numérique sans comprendre ce qui se passe en dessous, la notion de logique synchrone, des bascules, des boucles logiques, du chemin minimum...
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          5 mars 2013 à 16:08:18

                                          Polinichon a écrit:

                                          Après c'est mon point de vue et peut être que en réalité si je les utilise mais sans m'en rendre compte. Si c'est le cas alors je pense que j'ai pas fini d'en chier pour le cours :)

                                          Si tu fais des choses toujours sur le front montant d'une horloge, par exemple comme ceci :

                                          process(clk)
                                            if rising_edge(clk) then
                                             -- blabla
                                            end if;
                                          end process;
                                          

                                          Alors oui tu as forcément de la bascule D la dessous. Et je ne conçois pas qu'on puisse ne pas comprendre ça et faire un design correct.

                                          Tu entends quoi toi par le minimum requis ?

                                          Eh bien pour moi un cours partant de connaissances de lycéen devrait d'une manière ou d'une autre aborder les points suivants :

                                          • Logique combinatoire
                                            • algèbre de bool
                                            • porte logique
                                            • Circuit de base (mux, additionneur, ...)
                                          • Logique séquentiel
                                            • horloge
                                            • bascule D
                                            • Circuit de base (registre à décalage, compteur)
                                            • Machine d'état
                                          • Design Synchrone
                                            • analyse top-down
                                            • conception bottom-up
                                          • Le VHDL
                                            • langage de description matériel
                                            • instruction concurrente
                                            • instruction sequentiel
                                            • instruction structurel
                                            • banc de test, simulation
                                          • Synthèse sur composant programmable
                                            • Une cible et donc un constructeur et son flot de conception associé
                                            • Généralités translate/map/Place and route
                                            • Contrainte de timing, métastabilité

                                          Ce n'est pas une proposition de plan de cours mais juste ce qui me semble nécessaire de savoir ou au moins connaitre pour faire du design numérique sur FPGA ou CPLD. Après, comment (sous quel forme et dans quel ordre) présenter tous ces points dans un/des cours ludiques et intéressants c'est tout le travail du pédagogue. Et c'est loin d'être facile...

                                          Edit : J'ai dit VHDL parce que c'est le sujet mais en fait n'importe quel HDL ferait l'affaire, je pense en particulier au Verilog, mais il y en a d'autre.

                                          -
                                          Edité par simbilou 5 mars 2013 à 16:13:33

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Zeste de Savoirbépocode minimal  — Ge0 <3
                                            5 mars 2013 à 16:30:26

                                            Je suis assez d'accord avec ton plan de cours ça me parrait logique.

                                            VHDL ça me convient très bien comme je ne connais pas du tout le Verilog.

                                            Pour le coup du process synchrone je suis totalement d'accord avec toi qu'il y a de la bascule D en dessous. Mais je ne pense pas la connaissance de la bascule soit indispensable. Par contre la compréhension du fonctionnement d'un système système synchrone me parrait en effet indispensable.

                                            EDIT: Après petite réflexion je me rends compte que tu as raison. En me remémorant comment j'ai apris le fonctionnement des circuits synchrones c'est vrai qu'il a fallu passé pas la bascule D. C'est juste que j'ai tellement l'habitude que je n'y prête plus attention je penses.

                                            -
                                            Edité par Polinichon 5 mars 2013 à 16:34:29

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              5 mars 2013 à 16:41:04

                                              Polinichon a écrit:

                                              Je suis assez d'accord avec ton plan de cours ça me parrait logique.

                                              Ce n'est pas un plan de cours. Un cours avec les choses présentés dans cet ordre serait horrible à suivre et presque impossible à assimiler, imagine on ne commencerait la pratique qu'à la 4ième partie ! N'oublie pas que les zéro n'ont ni de labo d’électronique, ni de TD, ni d'assistants pour les aider au fur et à mesure. Non non, c'est juste un récapitulatif des points par catégorie, faire un bon tuto à partir de ça demande de faire un gros travail pédagogique, pas simplement remplir les trous.

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Zeste de Savoirbépocode minimal  — Ge0 <3
                                                5 mars 2013 à 16:50:59

                                                Oui oui je suis d'accord j'ai dit plan comme ça. J'aurais tout autant pu dire contenu.

                                                De toute façon on y pas encore à faire ce cours. On serait surement 2 à le reprendre pour essayer de l'inclure du mieux possbile dans le cours général sur l'électronique.

                                                Le gros problème avec la pratique du VHDL c'est que le matériel est un peu plus cher que pour un simple arduino. Mais en contre-partie seule la carte de dev est nécéssaire (à condition de prendre une carte avec ce qu'il faut dessus comme afficheur, bouton, switch) pour débuter. Ca sera l'occasion aussi de m'en acheter une pour moi ! Depuis le temps que je dis qu'il faut que j'en achète une.

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  7 mars 2013 à 4:06:13

                                                  simbilou a écrit:

                                                  • Logique combinatoire
                                                    • algèbre de bool
                                                    • porte logique
                                                    • Circuit de base (mux, additionneur, ...)
                                                  • Logique séquentiel
                                                    • horloge
                                                    • bascule D
                                                    • Circuit de base (registre à décalage, compteur)
                                                    • Machine d'état
                                                  • Design Synchrone
                                                    • analyse top-down
                                                    • conception bottom-up
                                                  • Le VHDL
                                                    • langage de description matériel
                                                    • instruction concurrente
                                                    • instruction sequentiel
                                                    • instruction structurel
                                                    • banc de test, simulation
                                                  • Synthèse sur composant programmable
                                                    • Une cible et donc un constructeur et son flot de conception associé
                                                    • Généralités translate/map/Place and route
                                                    • Contrainte de timing, métastabilité

                                                  Merci pour ça, c'est vraiment très bon à savoir. Le jour où j'aurai le temps de m'y mettre, je ne manquerai pas de revenir voir cette belle petite liste. Merci simbilou

                                                  -
                                                  Edité par maggotsBrain 7 mars 2013 à 4:07:48

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    12 avril 2013 à 20:36:57

                                                    On peut filer un coup de main ?
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      14 avril 2013 à 19:40:53

                                                      Bonjour,

                                                      Je serai également intéressé pour filer un coup de main pour un éventuel tuto sur le VHDL et ses pré-requis

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        17 avril 2013 à 5:07:18

                                                        ça a l'air mort...

                                                        Je trouve cela dommage, il y en a qui disent que c'est vraiment trop dur pour faire un tuto là-dessus, mais quand je vois qu'il existe sur ce site un tuto sur la mécanique quantique...

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          6 mai 2013 à 13:09:46

                                                          Je ne sais ps si il y a une section électronique numérique ? Je suis un peu perdu avec la nouvelle interface mais si ça n'existe pas, je pense commencer par faire un tuto la dessus.
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            6 mai 2013 à 13:43:23

                                                            raoullevert a écrit:

                                                            Je ne sais ps si il y a une section électronique numérique ?

                                                            Non mais il y a déjà des tutos électroniques dans la section science. Et puis le numérique c’est beaucoup de programmation donc ça a tout à fait sa place sur le sdz. Il n’y a pas, pour le moment, d’outils de rédaction de tuto sur le site mais rien ne t’empêche de commencer ton cours avec ton éditeur de texte préféré. Le travail qu’un tel tuto suppose est je pense suffisamment important pour pouvoir reléguer à plus tard des questions de mise en page.

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                            Zeste de Savoirbépocode minimal  — Ge0 <3
                                                              6 mai 2013 à 14:17:02

                                                              simbilou a écrit:


                                                              Non mais il y a déjà des tutos électroniques dans la section science. Et puis le numérique c’est beaucoup de programmation donc ça a tout à fait sa place sur le sdz.

                                                              En fait l'électronique numérique et analogique sont deux choses assez différentes. Je ne parle pas ici de microcontroleur du genre PIC ou AVR mais plutôt de logique combinatoire. En fait il s'agit de partir d'un peu plus loin, au niveau portes logiques. L'idée est de faire le lien entre les deux mondes en partant de la base.

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Cour VHDL

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown