1 / 21

Pomysł

Pomysł. Wstępne rozwiązanie. S ymulacja. Poprawa rozwiązania. N ie. Wynik zadowala ?. Tak. S ukces. Podstawowa pętla projektowania. Implementa cja. Tworzenie prototypu. Test owanie. Mod yfikacja prototypu. Tak. N ie. Wszystko OK ?. Drobne błędy ?. N ie. Tak. Wersja finalna.

peigi
Download Presentation

Pomysł

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pomysł Wstępne rozwiązanie Symulacja Poprawa rozwiązania Nie Wynik zadowala? Tak Sukces Podstawowa pętla projektowania

  2. Implementacja Tworzenie prototypu Testowanie Modyfikacja prototypu Tak Nie Wszystko OK? Drobne błędy ? Nie Tak Wersja finalna Nowy prototyp Zalety układów programowalnych i płytek testowych Tworzenie prototypu

  3. Automat o skończonej liczbie stanów w VHDL-u

  4. deklaracje bibliotek

  5. deklaracje bibliotek entity model_name is end model_name;

  6. deklaracje bibliotek entity model_name is port ( list of inputs and outputs ); end model_name;

  7. deklaracje bibliotek entity model_name is port ( list of inputs and outputs ); end model_name; architecture behavior of model_name is end behavior;

  8. deklaracje bibliotek entity model_name is port ( list of inputs and outputs ); end model_name; architecture behavior of model_name is internal signal declarations begin end behavior;

  9. deklaracje bibliotek entity model_name is port ( list of inputs and outputs ); end model_name; architecture behavior of model_name is internal signal declarations begin –– proces state definije elementy pamięciowe state: process ( lista czułości –– clock, reset, wejścia next_state ) begin vhdl statements for state elements end process state; end behavior;

  10. deklaracje bibliotek entity model_name is port ( list of inputs and outputs ); end model_name; architecture behavior of model_name is internal signal declarations begin –– proces state definije elementy pamięciowe state: process ( lista czułości –– clock, reset, wejścia next_state ) begin vhdl statements for state elements end process state; –– proces comb definiuje logikę kombinacyjną comb: process ( lista czułości –– zwykle zawiera wszystkie wejścia) begin vhdl statements which specify combinational logic end process comb; end behavior;

  11. Deklaracje zmiennych pomocniczych architecture zachowanie of automat is type stan is (stan1, stan2, stan3…); -- lista możliwych stanów signal aktualny_stan, nastepny_stan : stan; begin ….

  12. Proces kombinacyjnypolecenie case • case wyrażenie is • when wartość => • przypisania wyjść; • warunkowe przypisania następnych stanów; • ….. • end case;

  13. Proces kombinacyjny Nie zapomnieć o przypisaniu standardowych wartości wyjść na początku procesu!!!

  14. Proces sekwencyjny state: process(clk, reset) begin if (reset = ’0’) then aktualny_stan <= wartość; elsif (clk’event and clk = ’1’) then aktualny_stan <= nastepny_stan; end if; end process state;

  15. Protokół PS/2 Wybrane szczegóły

  16. Wiadomości ogólne • synchroniczna, dwukierunkowa komunikacja szeregowa między hostem a urządzeniem • tylko jedna strona może nadawać w danej chwili • ogólnie standard umożliwia przesyłanie różnorodnych komend w obie strony • nas interesuje tryb "Stream mode”, kiedy urządzenie nadaje spontanicznie pakiety danych do hosta opisujące ruch myszy lub naciskanie przycisków

  17. Schemat połączeń PS/2 wykorzystuje dwie linie sygnałowe, zasilanie +5V i masę. Linie CLK i DATA są dwukierunkowe (standard otwarty kolektor); normalnie podciągnięte do poziomu wysokiego (+5V) przez rezystory 5-10K po stronie hosta. Obie strony mogą wymuszać na liniach stan niski. W stanie „ciszy” obie linie są w stanie wysokim. Host może zablokować transmisję z urządzenia przez wymuszenie na CLK stanu niskiego.

  18. Komunikacja szeregowado hosta Sygnał CLK przy przesyłaniu każdego bitu jest przez 30-50ms (t1) w stanie niskim i przez 30-50ms (t2) w stanie wysokim. Poziom linii DATA ustala się na co najmniej 5ms (t3) przed opadającym zboczem CLK i co najmniej 5ms (t4) po narastającym zboczu zegara.

  19. Transmisja pojedynczego bajtu • Każdy transmitowany bajt zawiera: • bit startu ( logiczne 0), • 8 bitów danych (pierwszy LSB), • bit parzystości (parzystość nieparzysta) • i bit stopu (logiczne 1). • Nieparzysta parzystość oznacza, że w 8 bitach danych i bicie parzystości przy prawidłowej transmisji musi znajdować się nieparzysta liczba jedynek . Podczas transmisji urządzenie generuje sygnał CLK dla wszystkich 11bitów i jednocześnie wymusza na linii DATA stan niski dla przesłania logicznego 0 lub nie robi nic i wtedy linia DATA jest podciągana na logiczne 1.

  20. Stany pomiędzy transmisją danych Idle - CLK i DATA w stanie wysokim, brak aktywności na magistrali. Inhibit - host wymusza na CLK stan niski, urządznienie nie może transmitować danych. Wewnętrzne działanie myszy trwa. Request to send - host wymusza na linii DATA stan niski i stan wysoki na CLK – oznacza to, że jest gotów do przesłania komendy lub bajtu z argumentem do urządzenia.

  21. Domyślny format danychtzw. tryb „Stream mode” Y ovfl: 1 = wartość Y delta jest spoza zakresu -256….255, 0 = brak przepełnienia. Jeśli 1, Y delta ma wartość -256 lub +255. X ovfl: 1 = wartość X delta jest spoza zakresu -256….255, 0 = brak przepełnienia. Jeśli 1, X delta ma wartość -256 lub +255. Y sign: 1 = wartość Y ujemna, 0 = Y delta zero lub dodatnia X sign: 1 = wartość X ujemna, 0 = X delta zero lub dodatnia. Middle: 1= przycisk środkowy naciśnięty, 0 = zwolniony. Right: 1= prawy przycisk naciśnięty, 0 = zwolniony. Left: 1= lewy przycisk środkowy naciśnięty, 0 = zwolniony. X delta : wielkość przesunięcia w kierunku X (poziomym) od ostatniego przesunięcia. Wraz z bitem X sign bajt ten tworzy 9 bitową liczbę ze znakiem w kodzie z uzupełnieniem do 2. Y delta : jak wyżej dla kierunku pionowego. Wartości dodatnie – ruch w górę.

More Related