eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaVHDL - checa przy symulacji › Re: VHDL - checa przy symulacji
  • X-Received: by 10.140.93.38 with SMTP id c35mr161905qge.38.1432384095912; Sat, 23 May
    2015 05:28:15 -0700 (PDT)
    X-Received: by 10.140.93.38 with SMTP id c35mr161905qge.38.1432384095912; Sat, 23 May
    2015 05:28:15 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!
    z60no3370298qgd.1!news-out.google.com!4ni28qgh.1!nntp.google.com!z60no3370293qg
    d.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.misc.elektronika
    Date: Sat, 23 May 2015 05:28:15 -0700 (PDT)
    In-Reply-To: <mjpqrf$iu9$1@node1.news.atman.pl>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=185.53.155.164;
    posting-account=67yd9woAAAAHUu8VHyA7Js47M98NE3m3
    NNTP-Posting-Host: 185.53.155.164
    References: <9...@g...com>
    <mjpqrf$iu9$1@node1.news.atman.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <5...@g...com>
    Subject: Re: VHDL - checa przy symulacji
    From: s...@g...com
    Injection-Date: Sat, 23 May 2015 12:28:15 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:681671
    [ ukryj nagłówki ]

    W dniu sobota, 23 maja 2015 14:12:32 UTC+2 użytkownik Jakub Rakus napisał:
    > On 23.05.2015 10:31, s...@g...com wrote:
    > > Napisałem kawałek kodu do obliczania C=|A-B|, gdzie A,B,C to 11 bitowe liczby bez
    znaku. Liczy dobrze, ale przy symulacji behawioralnej wynik pojawia się na opadającym
    zboczu zegara.Za cholerę nie wiem dlaczego?! Poniżej kod:
    > >
    > > library IEEE;
    > > use IEEE.STD_LOGIC_1164.ALL;
    > >
    > > library UNISIM;
    > > use UNISIM.VComponents.all;
    > >
    > > entity amod is
    > >
    > > Port ( A : in STD_LOGIC_VECTOR (10 downto 0);
    > > B : in STD_LOGIC_VECTOR (10 downto 0);
    > > CLK : in STD_LOGIC;
    > > C : out STD_LOGIC_VECTOR (10 downto 0));
    > > end amod;
    > >
    > > architecture Behavioral of amod is
    > > signal Cs:std_logic_vector(11 downto 0);
    > > begin
    > >
    > > process(CLK,A,B)
    > > begin
    > > if CLK'event and CLK='1' then
    > > Cs<=std_logic_vector(to_unsigned(abs(to_integer(sign
    ed('0'&A))-to_integer(signed('0'&B))),12));
    > > end if;
    > > C<=Cs(10 downto 0);
    > > end process;
    > >
    > > end Behavioral;
    > >
    >
    > Jeśli działanie jest synchronizowane zegarem to po co na liście czułości
    > procesu dajesz A i B?

    Faktycznie masz rację. Zrobiłem to z rozpędu.

    > Zamiast CLK'event and CLK='1 daj rising_edge(CLK). Gdzieś czytałem, że
    > wbrew pozorom nie zawsze to zadziała tak samo.

    Nie pomogło.

    > C<=Cs(10 downto 0); wywal poza proces. Albo Cs zrób jako variable
    > wewnątrz procesu.

    Pomogło, ale dalej nie kojarzę dlaczego w oryginalnej wersji takie jaja.
    >
    > --
    > Pozdrawiam
    > Jakub Rakus

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: