eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikapodstawy Verilog ktoś podpowie co jest żle?Re: podstawy Verilog ktoś podpowie co jest żle?
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!newsfeed.pionier.net.pl!newsfeed.fsmpi.rwth-aachen.de!news
    feed.straub-nv.de!eternal-september.org!feeder.eternal-september.org!mx02.etern
    al-september.org!.POSTED!not-for-mail
    From: Adam Górski <g...@w...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: podstawy Verilog ktoś podpowie co jest żle?
    Date: Tue, 29 Sep 2015 12:13:29 +0200
    Organization: A noiseless patient Spider
    Lines: 83
    Message-ID: <mudo4m$2lt$1@dont-email.me>
    References: <mudmj8$a1e$1@usenet.news.interia.pl>
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Injection-Date: Tue, 29 Sep 2015 10:11:34 +0000 (UTC)
    Injection-Info: mx02.eternal-september.org;
    posting-host="498725c36f7b9d3c7c2a8fe8d7a4f87b"; logging-data="2749";
    mail-complaints-to="a...@e...org";
    posting-account="U2FsdGVkX1+mgmcLUBs7DEgUw0K6K06k"
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101
    Thunderbird/38.2.0
    In-Reply-To: <mudmj8$a1e$1@usenet.news.interia.pl>
    Cancel-Lock: sha1:fGCjOAzu/gEUF8o7JQXUprfZWH8=
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:686635
    [ ukryj nagłówki ]

    Cześć,

    A teraz zastanów się co jest wejściem zegarowym a co sygnałem mówiącym o
    kierunku zliczania. A może są dwa wejścia zegarowe ?

    A może nie ma przerzutników z dwoma sygnałami zegarowymi w Twoim sprzęcie?

    Typowy problem początkujących. Pamiętaj zawsze na końcu występują bramki
    i przerzutniki ( fpga ) , koniec i kropka.
    Pisząc w verilogu czy VHDL trzeba o tym pamiętać.

    Poniżej tak jak to powinno wyglądać :

    always @( jakiś_zegar)
    if (pom_przy2==1)
    licz_wysw <= licz_wysw - 1;
    else
    if (pom_przy1==1)
    licz_wysw <= licz_wysw + 1;

    Jakiś zegar taktuje przerzutniki a sygnały informujące o zliczaniu w
    górę czy dół jedynie aktywują zmianę stanu ( lub nie )

    Może trochę duże uproszczenie ale wydaje mi się że niedaleko odbiega.
    Pomijam problem odbijania przycisków i synchronizacji sygnałów pom_przy1
    i 2 do sygnału zegarowego jakiś_zegar.

    Pzdr.

    Adam


    > Witam
    > W ramach zapoznawania się z Verilogiem chciałem zrobić w FPGA prosty
    > licznik. Przykłady które znalazłem działały w oparciu o jedno wejście
    > zegarowe i wejście definiujące kierunek zliczania. Ja chcę zrobić coś jak
    > 74193 czyli dwa wejściami zegarowe odpowiednio 'clkup' i 'clkdown'.
    > Wymyśliłem coś takiego:
    >
    > always @(posedge pom_przy1 or posedge pom_przy2)
    > if (pom_przy2==1)
    > licz_wysw <= licz_wysw - 1;
    > else
    > if (pom_przy1==1)
    > licz_wysw <= licz_wysw + 1;
    >
    > Niestety licznik ten poprawnie liczy tylko 'w górę' a przy liczeniu 'w dół'
    > przeskakuje po kilka stanów. Wydaje mi się że problem drgań przycisków
    > można pominąć ponieważ oba przyciski są filtrowane w taki sam sposób. Na
    > wszelki wypadek pokaże jak 'odkłócam' przyciski.
    >
    > prosty_przy przy1(.but(but0),.zegar(pom_clk),.wy(pom_przy1));
    > prosty_przy przy2(.but(but1),.zegar(pom_clk),.wy(pom_przy2));
    >
    > Jeśli dobrze rozumuję to tworzę dwie instancje (tak się to chyba nazywa)
    > modułu 'prosty_przy', czyli oba przyciski są traktowane tak samo. To może
    > jeszcze na koniec moduł 'prosty_przy'
    >
    > module prosty_przy(
    > input but,zegar,
    > output wy
    > );
    > reg r0,r1,r2,r3,r4,r5;
    >
    > always @(posedge zegar)
    > begin
    > r5=r4;
    > r4=r3;
    > r3=r2;
    > r2=r1;
    > r1=r0;
    > r0=but;
    > end
    > assign wy = r0 & r1 & r2 & r3 & r4 & r5;
    > endmodule
    >
    > Nie jest to może najładniejszy przykład 'debouncera' ale chyba powinien
    > działać. Całość jest napędzana zegarem około 760 Hz. Czekam na jakieś
    > podpowiedzi.
    >
    > MArek
    >

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: