IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VHDL Discussion :

Tester une sortie en VHDL + Attendre un certain temps en VHDL


Sujet :

VHDL

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Tester une sortie en VHDL + Attendre un certain temps en VHDL
    Bonjour,

    Alors voilà je suis entrain de coder de l’Ethernet et je voudrais attendre que RBYTEP soit à 1 pour télécharger les données, seulement c'est une sortie et je ne peux pas le mettre en inout, et je ne peux pas faire : if RBYTEP = '1' then" car on ne peut pas tester une sortie. Comment faire ?

    J'aimerais également attendre 800 ns mais wait for 800 ns n'est pas synthétisable. Comment faire ?

    Merci pour vortre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 32
    Points
    32
    Par défaut
    Salut,

    Créer un signal s_RBYTEP.

    Affecter le résultat dans s_RBYTEP et non RBYTEP.
    Et faire un if s_RBYTEP=1 then ....
    Ajouter un RBYTEP <= s_RBYTEP; dans l'architecture directement (hors
    process pour pas créer un retard)
    Je fais comme ça quand ça m'arrive, et j'ai jamais pris le temps de
    comprendre

    Concernant le wait 800ns, je conseil de coder un compteur, et
    tester le compteur à la valeur qu'il devra avoir au bout de 800ns,
    en fonction de la fréquence de l'horloge avec laquelle on simule

    Code que j’hésiterais pas à valider en simulation, j'ai parfois du mal
    du premier coup...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    -- Si clk est à 100MHz - période de 10 ns
    process(clk)
    begin
     
     if rising_edge(clk) then
        s_RBYTEP_d1 <= s_RBYTEP;
     
        if s_RBYTEP='1' and s_RBYTEP_d1='0' then
            counter <= 1;
        elsif counter<81 then
            counter <= counter +1;
        end if;
     
        if counter=80 then
            --> ce qui est à declencher par la suite
        end if;
     end if;
    end process;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/02/2010, 14h17
  2. Réponses: 3
    Dernier message: 02/02/2010, 20h30
  3. Réponses: 4
    Dernier message: 18/05/2007, 15h37
  4. Stopper l'exécution d'une fonction au bout d'un certain temp
    Par Eagle959 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/03/2006, 18h16
  5. Fermer une fenêtre au bout d'un certain temps.
    Par cprogil dans le forum Composants VCL
    Réponses: 5
    Dernier message: 27/11/2003, 18h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo