comment faire une détection de niveau haut ou "1" en vhdl ?

Discussion in 'VHDL' started by Arnaud, Feb 11, 2004.

  1. Arnaud

    Arnaud Guest

    Slt tlm

    je dois faire une détection de pik sur un signal, et mon programme VHDL doit
    détecter ce niveau haut du signal pour compter le nombre de période

    étant donné que je débute en VDHL, j'aurais besoin d'aide à ce sujet

    merci
     
    Arnaud, Feb 11, 2004
    #1
    1. Advertising

  2. Re: how to detect a high level...

    instantiate some counter that will be enabled by your signal.
    you can reset the counter with something like (signal_delayed and
    not(signal)) that will detect the falling edge.

    + find yourself a tutorial in vhdl, for ex:
    http://www.ece.odu.edu/~stough/ece695/gmtools/lib/tutorial.html

    good luck



    Arnaud wrote:
    > Slt tlm
    >
    > je dois faire une détection de pik sur un signal, et mon programme VHDL doit
    > détecter ce niveau haut du signal pour compter le nombre de période
    >
    > étant donné que je débute en VDHL, j'aurais besoin d'aide à ce sujet
    >
    > merci
    >
    >
     
    Stephane Guyetant, Feb 11, 2004
    #2
    1. Advertising

  3. Re: comment faire une =?ISO-8859-1?Q?d=E9tection_de_niveau_?==?ISO-8859-1?Q?haut_ou_=221=22_en_vhdl_=3F?=

    Arnaud wrote:
    > Slt tlm
    >
    > je dois faire une détection de pik sur un signal, et mon programme VHDL doit
    > détecter ce niveau haut du signal pour compter le nombre de période
    >
    > étant donné que je débute en VDHL, j'aurais besoin d'aide à ce sujet
    >
    > merci
    >
    >

    Arnaud,

    Tu dois d'abord faire une detection du flanc montant.
    You have to detect a rising edge.

    Tu dois respecter la lois d'echantillonnage : clock signal doit être au
    minimum 2 fois plus grand que la largeur de ton pulse.
    For clk frequency, you have to respect 'Shanon' !!!

    Clk : your system clock
    in1 : your input signal
    dff_in1 : synchonizing your input signal, registering in1
    dff_in1 : registering dff_in1
    rise_found : signal corresponding with a rising edge detection of you
    input in1

    rise_found <= '1' WHEN (dff_in1 = '1') AND (dff_in2 = '0') ELSE '0';

    clk _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
    in1 ____________------------------________________--------
    dff_in1 _____________------------------________________-------
    dff_in2 _______________------------------________________------
    rise_foundd_____________--________________________________--__

    The corresponding VHDL is :

    --> VHDL START HERE

    --
    -- VHDL Architecture
    --
    -- Created:
    -- by - gal.UNKNOWN (AMTBOOK)
    -- at - 10:30:51 03/18/03
    --------------------------------------------------------------------------------
    -- Copyright (C) since 1999, Amontec, www.amontec.com
    --------------------------------------------------------------------------------
    -- @@amtref
    -- @@amtcomment

    ARCHITECTURE rtl OF rising_edge detector IS

    SIGNAL dff_in1 : std_ulogic;
    SIGNAL dff_in2 : std_ulogic;

    BEGIN


    ------------------------------------------------------------------------------
    reg : PROCESS(rst, clk)

    ------------------------------------------------------------------------------
    BEGIN
    IF rst = '1' THEN
    dff_in1 <= '0';
    dff_in2 <= '0';
    ELSIF rising_edge(clk) THEN
    dff_in1 <= in1;
    dff_in2 <= dff_in1;
    END PROCESS reg;

    -- rising edge detection
    edge_found <= '1' WHEN ((dff_in1 = '1') AND (dff_in2 = '0')) ELSE '0';

    END rtl;

    --> VHDL END HERE

    Please visit our Amontec VHDL memo for more on VHDL

    Regards,
    Laurent
    www.amontec.com






    ------------ And now a word from our sponsor ---------------------
    For a secure high performance FTP using SSL/TLS encryption
    upgrade to SurgeFTP
    ---- See http://netwinsite.com/sponsor/sponsor_surgeftp.htm ----
     
    Amontec Team, Laurent Gauch, Feb 11, 2004
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Alec S.
    Replies:
    10
    Views:
    10,301
    Alec S.
    Apr 16, 2005
  2. Don Juan
    Replies:
    2
    Views:
    339
    Don Juan
    Feb 27, 2009
  3. baklouti

    comment envoyer une page html

    baklouti, Jul 14, 2004, in forum: ASP .Net Web Services
    Replies:
    0
    Views:
    212
    baklouti
    Jul 14, 2004
  4. kungfu-free

    faire équivalent en python

    kungfu-free, Dec 13, 2008, in forum: Ruby
    Replies:
    0
    Views:
    112
    kungfu-free
    Dec 13, 2008
  5. Alextophi
    Replies:
    13
    Views:
    277
    George
    Sep 8, 2005
Loading...

Share This Page