-
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
Następne wpisy z tego wątku
- 23.05.15 15:00 MiSter
- 23.05.15 16:35 Jakub Rakus
Najnowsze wątki z tej grupy
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
Najnowsze wątki
- 2025-01-26 Trump-2 JUŻ bardzo łaskawy [1_500 ułaskawień skazanych za Bidena za "Kawkę na Kapitolu"]
- 2025-01-26 Brak bolca ochronnego ładowarki oznacza pożar
- 2025-01-24 Elektryfikacja w ODWROCIE
- 2025-01-25 AMS spalony szybkim zasilaczem USB
- 2025-01-24 stalowe bezpieczniki
- 2025-01-23 Zenek Kapelinder - ?
- 2025-01-25 Błonie => Sales Specialist <=
- 2025-01-25 Lublin => iOS Developer (Swift) <=
- 2025-01-24 Warszawa => Java Developer <=
- 2025-01-24 Białystok => iOS Developer (Swift experience) <=
- 2025-01-24 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-24 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-01-24 Lublin => Delphi Programmer <=
- 2025-01-24 Kraków => Key Account Manager <=
- 2025-01-24 Lublin => Programista Delphi <=