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: Licznik góra/dół

Moderatorzy: Jacek Bogusz, Moderatorzy

bastik
-
-
Posty: 18
Rejestracja: 26 paź 2014, o 23:45

VHDL: Licznik góra/dół

Postautor: bastik » 20 maja 2016, o 22:40

Witam
Założenia są takie licznik modulo 10 zaprogramowany w języku VHDL, jednym guzikiem zlicza do góry impulsy a drugim w dół, niby proste a jednak :D

Kod: Zaznacz cały

library IEEE; use IEEE.std_logic_1164.all, IEEE.numeric_std.all; ENTITY counter is generic (n:natural :=4); port( button1: in std_logic; button2: in std_logic; clear: in std_logic; C : out std_logic; OUT1 : out std_logic_vector(n-1 downto 0) ); END counter; ARCHITECTURE beh of counter is begin p0:process (button1, clear) is variable licz: unsigned (n-1 downto 0); begin if clear = '1' then licz:= (others=>'0'); elsif button1='1' then licz:=licz+1; elsif licz=10 then licz:=(others=>'0'); C<='1'; else C<='0'; end if; if button2='1' then licz:=licz-1; if licz=0 then licz:=(others=>'1'); C<='1'; else C<='0'; end if; end if; OUT1<=std_logic_vector(licz); end process p0; end architecture beh;
Czyli tak mam dwa guziki sprawdzam, który jest wciśnięty, jeżeli jest to wykonuje przewidzianą dla niego "procedurę", zmienna C jest, jako wskaźnik przepełnienia. Tyle w teorii, w praktyce program się kompiluje, ale w symulacji nic nie działa, próbowałem w narastającym zboczem sygnału, no, ale w sumie jak już zrobiłbym sobie jeden sygnał z tych dwóch i sprawdzał zbocze to i tak nie będę wiedział, który guzik został wciśnięty, więc pozostaje sprawdzanie stanów button1 i button2 tylko pomóżcie mi teraz tak to poprawić żeby to działało. :)
Dziękuje i Pozdrawiam

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