Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

VHDL - program zliczający ilość '1' ...

Moderatorzy: Jacek Bogusz, Moderatorzy

xyspokusa
-
-
Posty: 3
Rejestracja: 16 sty 2008, o 19:31
Lokalizacja: Bydgoszcz

VHDL - program zliczający ilość '1' ...

Postautor: xyspokusa » 21 lut 2008, o 09:39

Witam serdecznie,
jak w temacie - chciałem napisać program w VHDL
który zlicza ilośc 1 w słowie 8 bitowym,
wynikiem jest 7bitowe słowo - które wrzucam na 7segmentówke
i wyświetla mi sie cyferka...
wg mnie powinno działać, w symulacji w modelSim nie działa.

z góry dziękuje za wzselkie uwagi.
Krzysztof

Kod: Zaznacz cały

library IEEE; use IEEE.std_logic_1164.all; entity vhdl_xys_last is port ( a : in std_logic_vector(0 to 7); y : out std_logic_vector(0 to 6) ); end entity vhdl_xys_last; architecture GENERATOR of vhdl_xys_last is signal pom : std_logic; signal i,ile : integer; begin ustal : process(a) begin pom <= '0'; ile <= 0; for i in 0 to 7 loop if a(i)='1' then ile<=ile + 1; end if; end loop; pom <= '1'; end process ustal; com : process (pom) is begin if (rising_edge(pom)) then -- czyli wiemy ze ma generowac ILOSC, -- tylko jesli skonczy zczytywac wszystkie 7 case ile is -- -- bitow wejsciowych when 0 => y <= "0001000"; when 1 => y <="0110111"; when 2 => y <= "1000010"; when 3 => y <= "0010010"; when 4 => y <= "0110001"; when 5 => y <= "0011000"; when 6 => y <= "0001000"; when 7 => y <= "0110110"; when 8 => y <= "0000000"; when others => y <= "1011010"; end case; end if; end process com; end architecture GENERATOR;
Ostatnio zmieniony 21 lut 2008, o 11:18 przez xyspokusa, łącznie zmieniany 1 raz.

rafszym
-
-
Posty: 44
Rejestracja: 4 gru 2007, o 12:39
Lokalizacja: Warszawa

Postautor: rafszym » 21 lut 2008, o 13:43

heja,
usuń "zegar" z procesu com bo proces ustal nie jest wykonywany sekwencyjnie jak pętla. pętla loop jest tylko zapisem a nie strukturą układu.

Wróć do „PLD/FPGA i inne zagadnienia techniki cyfrowej”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 18 gości