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 :

Retard synthétisable en VHDL


Sujet :

VHDL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 6
    Points : 8
    Points
    8
    Par défaut Retard synthétisable en VHDL
    Bonjour,
    Je veux savoir comment créer un retard de 16 microsecondes synthétisable en VHDL de la sortie synchronisé sur une horloge de 1 MHz (1 microseconde):
    On peut le créer par un process sensible à l'horloge 1 MHz et aussi utilisé "wait for 16 us". Le problème qu'il n'est pas synthétisable mais il marche au niveau de simulation.
    exemple:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    entity retard is
        Port ( Entree : in  STD_LOGIC_VECTOR (19 downto 0);
               Horloge_1MHz : in  STD_LOGIC;
     
               Sortie : out  STD_LOGIC_VECTOR (3 downto 0));
    end retard;
     
    architecture Behavioral of retard is
     
    Process(Horloge_1MHz)
    begin
    if rising_edge (Horloge_1MHz) then
    Sortie <= Entree(3 downto 0);
    wait for 16us;
    Sortie <= Entree(7 downto 4);
    wait for 16us;
    Sortie <= Entree(11 downto 8);
    wait for 16us;
    Sortie <= Entree(15 downto 12);
    wait for 16us;
    Sortie <= Entree(19 downto 16);
    wait for 16us;
     
    end if;
    end Process;
     
    end Behavioral;
    Donc comment créer cette temporisation pour avoir un code synthetisable sachant que 1us (période d'horloge 1 MHz) x 16 = 16us
    Et merci d'avance.

    Isamel

  2. #2
    Membre habitué Avatar de monnoliv
    Homme Profil pro
    Opticien-ébéniste: lunettes de WC
    Inscrit en
    Août 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Opticien-ébéniste: lunettes de WC

    Informations forums :
    Inscription : Août 2003
    Messages : 139
    Points : 195
    Points
    195
    Par défaut Easy
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SIGNAL t1,t2,t3,...,t15	: std_logic;
     
    PROCESS (MCLK_1_MEG)
    BEGIN<div style="margin-left:40px">IF rising_edge(MCLK_1_MEG) THEN
    <div style="margin-left:40px">t1 <= SIGIN;
    t2 <= t1;
    ...
    t15 <= t14;
    SIGOUT <= t15;</div>END IF;</div>END PROCESS;
    IoT CC3200, ESP8266
    8051, ARM Cortex-M (forever)/Cortex A (TI, Silabs, NXP), FPGA, Bare Metal Raspberry-PI programming
    VHDL-ALTERA-XILINX

  3. #3
    Futur Membre du Club
    Homme Profil pro
    rêveur
    Inscrit en
    Mars 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : rêveur

    Informations forums :
    Inscription : Mars 2015
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Outre la technique du registre à décalage que monnoliv donne (quoiqu’on puisse l’écrire de manière bien plus élégante), on peut aussi tout
    simplement compter 16 coups d’horloges (ce qui nécessite moins de bascules d’ailleurs).

Discussions similaires

  1. retard intempestif vhdl
    Par sebgimi dans le forum VHDL
    Réponses: 2
    Dernier message: 05/06/2016, 21h27
  2. L'heure qui retarde sous Gentoo
    Par ..:: Atchoum ::.. dans le forum Administration système
    Réponses: 5
    Dernier message: 30/07/2004, 10h55
  3. horloge qui retarde
    Par bourvil dans le forum Ordinateurs
    Réponses: 9
    Dernier message: 23/11/2003, 15h17
  4. [DLL] -> Retarder le chargement ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 3
    Dernier message: 18/08/2003, 20h32
  5. DirectX 6, un peu en retard ... :\
    Par multani dans le forum DirectX
    Réponses: 3
    Dernier message: 28/05/2002, 19h19

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