Pomysł

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

description

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. - PowerPoint PPT Presentation

Transcript of Pomysł

Page 1: Pomysł

Pomysł

Sukces

Wstępne rozwiązanie

Symulacja

Wynik zadowala?

Poprawa rozwiązania

Nie

Tak

Podstawowa pętla projektowania

Page 2: Pomysł

Tworzenie prototypu

Implementacja

Wersja finalna

Tworzenie prototypu

Testowanie

Wszystko OK?

Modyfikacja prototypu

Nie

Tak

Drobne błędy ?

Tak

Nowy prototypZalety układów programowalnych i płytek testowych

Nie

Page 3: Pomysł

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

Page 4: Pomysł

deklaracje bibliotek

Page 5: Pomysł

deklaracje bibliotekentity model_name is

end model_name;

Page 6: Pomysł

deklaracje bibliotekentity model_name isport(list of inputs and outputs);end model_name;

Page 7: Pomysł

deklaracje bibliotekentity model_name isport(list of inputs and outputs);end model_name;architecture behavior of model_name is

end behavior;

Page 8: Pomysł

deklaracje bibliotekentity model_name isport(list of inputs and outputs);end model_name;architecture behavior of model_name isinternal signal declarationsbegin

end behavior;

Page 9: Pomysł

deklaracje bibliotekentity model_name isport(list of inputs and outputs);end model_name;architecture behavior of model_name isinternal signal declarationsbegin–– proces state definije elementy pamięciowestate: process ( lista czułości –– clock, reset, wejścia next_state )beginvhdl statements for state elementsend process state;

end behavior;

Page 10: Pomysł

deklaracje bibliotekentity model_name isport(list of inputs and outputs);end model_name;architecture behavior of model_name isinternal signal declarationsbegin–– proces state definije elementy pamięciowestate: process ( lista czułości –– clock, reset, wejścia next_state )beginvhdl statements for state elementsend process state;–– proces comb definiuje logikę kombinacyjnącomb: process ( lista czułości –– zwykle zawiera wszystkie wejścia)beginvhdl statements which specify combinational logicend process comb;end behavior;

Page 11: Pomysł

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….

Page 12: Pomysł

Proces kombinacyjnypolecenie case

case wyrażenie iswhen wartość =>

przypisania wyjść;warunkowe

przypisania następnych stanów;…..end case;

Page 13: Pomysł

Proces kombinacyjny

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

Page 14: Pomysł

Proces sekwencyjny

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

Page 15: Pomysł

Protokół PS/2

Wybrane szczegóły

Page 16: Pomysł

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

Page 17: Pomysł

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.

Page 18: Pomysł

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.

Page 19: Pomysł

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.

Page 20: Pomysł

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.

Page 21: Pomysł

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 dodatniaX 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ę.