Układy Cyfrowe. Specyfikacja wstępna Zebranie informacji dotyczących tematyki projektu oraz przedstawienie koncepcji realizacji projektu.

Podobne dokumenty
Układy Cyfrowe. Symulacje komputerowe Realizacja prototypu projektu z wykorzystaniem systemu CAD. Projekt: Realizacja:

PROJEKT UCYF. Specyfikacja wstępna. 1. Informacje o grze: TEMAT: Sprzętowa realizacja gry Arkanoid przy pomocy języka opisu sprzętu VHDL.

Mateusz Żyliński Tadeusz Włodarkiewicz. WireWorld. Zebranie informacji dotyczących tematyki projektu oraz przedstawienie koncepcji realizacji projektu

Projekt z UCYF Dokumentacja końcowa. Temat: Sprzętowa realizacja gry Arkanoid

Projekt z UCYF Specyfikacja II (realizacja projektu w CAD) Temat: Sprzętowa realizacja gry Arkanoid

Technika mikroprocesorowa. Konsola do gier

2.1. Duszek w labiryncie

lekcja 8a Gry komputerowe MasterMind

Robo - instrukcja obsługi

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

LEKCJA TEMAT: Zasada działania komputera.

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Implementacja algorytmu szyfrującego

Stosowanie, tworzenie i modyfikowanie stylów.

STEROWANIE MASZYN I URZĄDZEŃ I. Laboratorium. 4. Przekaźniki czasowe

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Architektura komputerów

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C

RODZAJE PAMIĘCI RAM. Cz. 1

2. PRZERZUTNIKI I REJESTRY

Analogowy sterownik silnika krokowego oparty na układzie avt 1314

UONET+ moduł Dziennik

Podzespoły Systemu Komputerowego:

INSTRUKCJA MONTAŻU I OBSŁUGI PRZENOŚNEGO PANELU KONTROLUJĄCEGO

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Graniastosłupy mają dwie podstawy, a ich ściany boczne mają kształt prostokątów.

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

Projektowanie Systemów Wbudowanych

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF

INSTYTUT AUTOMATYKI I ROBOTYKI PW

Zajęcia nr 3_cz2 Praca z tekstem: WORD Wzory matematyczne. Tabele

DVR KEYB v1.4. Interfejs PS-2 do rejestratorów DVR

1. Wymagania funkcjonalne dla modułu pozycjonowania patroli zainstalowany moduł musi posiadać następującą funkcjonalność:

Wymagania edukacyjne z informatyki dla uczniów klas VI SP nr 53 w Krakowie w roku szkolnym 2019/2020

Instrukcja do ćwiczenia : Matryca komutacyjna

Instrukcja użytkowania oprogramowania SZOB LITE

Sterowanie urządzeniami elektronicznymi przy użyciu portu LPT

Nazwa implementacji: Pong. Autor: Jarosław Żok. Opis implementacji: Zmiany w skryptach gry Pong, dodające kolejny element zmieniający jej zasady.

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji

Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci. Ptc 2013/

PRZEDMIOTOWE ZASADY OCENIANIA I WYMAGANIA EDUKACYJNE Z MATEMATYKI Klasa 3

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano

STEROWNIK LAMP LED MS-1 Agropian System

Propozycje tematów zadań

Systemy uruchomieniowe

Wstęp Sterowanie Utworzenie, wybór i kasowanie gracza. utworzenia nowego gracza Nowy gracz Nastawienie gracza

System obsługi wag suwnicowych

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

Programowany układ czasowy

Systemy wbudowane. Paweł Pełczyński

Budowa systemów komputerowych

Animacje z zastosowaniem suwaka i przycisku

WPROWADZENIE Mikrosterownik mikrokontrolery

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Podstawy OpenCL część 2

Spadające jabłuszka. licencja CC-BY-SA Uznanie autorstwa Na tych samych warunkach 3.0 Polska. Strona 51

ZESPÓŁ SZKÓŁ W OBRZYCKU

System operacyjny System operacyjny

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP

INSTRUKACJA UŻYTKOWANIA

FIGURY I BRYŁY JEDNOSTKI MIARY KĄTY POLE I OBWÓD OBJĘTOŚĆ I POWIERZCHNIA TRÓJKĄT PROSTOKĄTNY

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

idream instrukcja do gry klasowej z rankingiem

Mikroprocesor Operacje wejścia / wyjścia

PAMIĘCI SYNCHRONICZNE

TELEWIZJA POLSKA Telewizyjne Centrum Wyborcze

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3

Baltie. Programujemy historyjki

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

Wymagania edukacyjne z matematyki dla klasy III gimnazjum

BAZY DANYCH Panel sterujący

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Komunikujemy się z komputerem.

Rejestratory Sił, Naprężeń.

Pamięci półprzewodnikowe

KONSTRUKCJA TRÓJKĄTA 1 KONSTRUKCJA TRÓJKĄTA 2 KONSTRUKCJA CZWOROKĄTA KONSTRUKCJA OKRĘGU KONSTRUKCJA STYCZNYCH

Przed rozpoczęciem podłączania urządzenia koniecznie zapoznać się z niniejszą instrukcją Eolis RTS!

Podstawy technologii WWW

Sieciowe Technologie Mobilne. Laboratorium 4

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Metody obsługi zdarzeń

MATEMATYKA - WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY

Elementy gry. Cel gry. Dla 1 do 4 graczy, w wieku od 6 do 116 lat. Gra autorstwa Antoine a Bauzy, zilustrowana przez Stéphana Escapę.

GRY I ZABAWY UMYSŁOWO- LOGICZNE JAKO FORMA UPOWSZECHNIANIA KULTURY. Donata Fraś

Prawdy i nieprawdy. Liczba graczy od 2 do 6 osób. Rekwizyty talia 50 kart (plus 4 do wariantu 2) Zasady gry. klasa II GRANIASTOSŁUPY

CEMEX Go. Faktury. Wersja 2.1

Proste układy wykonawcze

Spis Treści. Co to jest? Budowa Próbkowanie Synteza FM Synteza WT MIDI

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie

Projektowanie systemów zrobotyzowanych

Altus 50 RTS / 60 RTS

Instrukcja obsługi. 1. Dane techniczne. 2.Montaż

Odczyt zegara ze sterownika do panelu serii TIU z możliwością korekty ustawień zegara w sterowniku

4.6 OpenOffice Draw tworzenie ilustracji

Transkrypt:

Układy Cyfrowe Specyfikacja wstępna Zebranie informacji dotyczących tematyki projektu oraz przedstawienie koncepcji realizacji projektu Projekt: Realizacja: Emil Rosłanowski Adrian Staniec Michał Waśkiewicz

1. Informacje ogólne dotyczące gry Tetris: Krótki zarys historyczny Tetris gra komputerowa stworzona przez Aleksieja Pażytnowa w 1985 roku w Związku Radzieckim. Oryginalna wersja powstała podczas pracy Pażytnowa w Moskiewskiej Akademii Nauk dla komputera Electronica 60. Gra posiada dużą ilość różnorodnych wariacji i implementacji. Do powstania programu zainspirowała Pażytnowa gra Pentomino. Reguły gry Gra rozgrywa się na prostokątnej planszy(początkowo pustej) zwanej tetrionem lub matriksem ułożonej krótszym bokiem w poziomie. Tetrion ma wymiary 20 wierszy na 10 kolumn. W trakcie gry, pośrodku górnej krawędzi planszy, pojawiają się pojedynczo klocki złożone z czterech małych kwadratów nazywanych też blokami. Klocki te (określane mianem tetramino) przemieszczają się (spadają) w kierunku dolnej krawędzi w miarę możliwości. Kiedy jedno tetramino opadnie na samo dno, zostaje unieruchomione a następne ukazuje się u góry planszy nowy element. Gra trwa aż do momentu w którym klocek nie będzie mógł pojawić się na planszy. Zadaniem gracza jest układanie wykorzystując rotacje i przesuwając klocek w poziomie tetramino na planszy tak, aby kwadraty składające się na nie utworzyły wiersz na całej szerokości prostokąta. W takiej sytuacji wiersz ten zostaje usunięty, a pozostałe klocki opadają w kierunku dna tworząc więcej przestrzeni dla następnych elementów.możliwe jest jednoczesne usunięcie maksymalnie 4 wierszy umożliwia to tetramino "I". Sytuacja taka nosi nazwę identyczną jak gra, czyli "tetris". 2. Proponowany sposób realizacji: 1. W grze dostępnych jest 7 odmian klocków (przedstawione obok), przy czym każdy z nich można obrócić, co tworzy 19 różnych figur. 2. W naszej realizacji będą trzymane w pamięci mapy pełnych 28 możliwości 7 klocków x 4 obroty. 3. Plansza posiada standardowy rozmiar tj: 10x20. 4. Mapa statycznej części planszy (bez aktualnie opadającego klocka) przechowywana będzie w pamięci RAM. 5. Dane na temat aktualnie spadającego klocka (pozycja, rodzaj, obrót) przechowywane są w odpowiednich rejestrach. 6. W grze zostanie zaimplementowany prosty system punktacji 10pkt za ułożenie jednej linii. 7. Każdemu klockowi zostanie przyporządkowany jeden, ściśle określony kolor. 8. Sterowanie grą odbywa się za pomocą pięciu przycisków: lewo, prawo, szybki dół, obrót, start/pauza. 9. Przycisk szybki dół powoduje przyspieszenie obniżania się klocka. 10. Gra wyświetlana będzie na monitorze VGA wraz z punktacją i kolejnym klockiem.

3. Opis funkcji poszczególnych elementów i sposób ich współdziałania: 3.1. Generator nowego klocka Generator nowego klocka zbudowany jest z licznika i rejestru zatrzaskowego. Licznik zlicza cykle zegara systemowego, natomiast rejestr jest zatrzaskiwany w chwili, kiedy zostanie naciśnięty dowolny z przycisków sterujących. ie podejście do generowania nowego klocka zapewniło bardzo dużą losowość w tym elemencie. Na wyjściu modułu zawsze dostępny jest numer wylosowanego klocka. 3.2. Moduł kontrolera klawiatury Moduł ten odpowiedzialny jest za komunikację z klawiaturą. Moduł zaczyna swoją pracę w chwili gdy na linii start pojawi się stan wysoki. Sprawdza czy użytkownik wcisnął jakikolwiek przycisk i realizuje odpowiednią funkcję. Moduł odpowiedzialny jest również za sprawdzenie czy przy przesuwaniu klocka na boki nie następuje zderzenie ze ścianami a także czy możliwy jest dany obrót. Moduł korzysta z pamięci RAM, a także z rejestrów w których przechowywane są dane aktualnie spadającego klocka (pozycja X,Y; rodzaj klocka; obrót). Może również modyfikować te dane, zgodnie z wejściem z klawiatury. Po zakończeniu pracy, moduł wystawia sygnał stop.

3.3. Moduł kontrolera gry Moduł kontrolera gry odpowiedzialny jest za ogólne kierowanie grą, sprawdzanie, czy nie nastąpiło osadzenie aktualnego klocka, obliczanie punktów, kasowanie linii i wykrywanie ewentualnego końca gry. Moduł komunikuje się z pamięcią RAM, gdzie zaspisywana jest plansza oraz przechowywane są szablony klocków, rejestrami odpowiedzialnymi za dane o aktualnym klocku. Moduł uruchamiany jest stanem wysokim na linii start, a zakończenie swojej pracy sygnalizuje za pomocą linii stop. Poniżej przedstawiono wstępny algorytm pracy modułu: Wstaw nowy klocek na poczatek Losuj kolejny klocek Sprawdz czy mozna opuscic element Zapisz do planszy Ostatnia linia pelna Sprawdz czy usunac wiersze Opusc klocek Usun wiersz Koniec Gry Zwieksz liczbe punktow

3.4. Bloki pamięciowe Elementem z których będą korzystać wszystkie bloki i niejako scaleniem wszystkich tych elementów są moduły pamięciowe, tj. pamięć RAM w której przechowywana jest mapa planszy bez aktualnie opuszczanego klocka (każde pole reprezentowane jest przez jedną liczbę 3 bitową - 0 jako brak klocka i odpowiednie liczby jako numer klocka) a także siatki (4x4 pola) wszystkich klocków wraz z obrotami. Dodatkowo konieczne jest przechowywanie położenie środka aktualnego klocka, a także jego rodzaju i obrotu. W tym celu wykorzystano rejestry zatrzaskowe. 3.5. Blok kontrolera VGA

Ze względu na to, że podczas wystawiania sygnałów na linie VGA konieczny jest ciągły dostęp do pamięci RAM, nie jest możliwe w tym czasie manipulowanie danymi. W związku z tym to właśnie moduł kontrolera VGA pełni rolę nadrzędną w systemie i to on wystawia sygnały startu zarówno dla kontrolera klawiatury jak i dla modułu kontrolera gry. Zapobiega się w ten sposób próbie jednoczesnego dostępu przez kilka modułów do wspólnych danych i jednocześnie umożliwia synchronizację wszystkich elemntów gry. Dodatkowo zapewniona jest możliwość sterowania szybkością gry (poprzez różną częstotliwość generowania sygnałów startu dla poszczególnych modułów). Kontroler VGA generuje na ekran oprócz głównej planszy programu także punktację oraz wizualizację kolejnego elementu. Aktualny stan Tetrionu, czyli planszy gry generowany jest na podstawie zawartości RAMu oraz rejestrów odpowiedzialnych za przechowywanie informacji o spadającym klocku. W bloku kontrolera VGA zaimplementowana będzie również funkcjonalność związana z obsługą nowej gry a także zakończeniem całej gry. Proponowany graf działań wygląda następująco: Tetris Generator Planszy Start Wlasciwa Gra Zagraj Ponownie Koniec 4. Możliwości rozbudowy Po usunięciu określonej ilości wierszy prędkość gry wzrasta utrudniając tym samym precyzyjne sterowanie kolejnymi tetramino. Punktacja jest obliczana w zależności od ilości linii usuniętych jednocześnie - większa ilość punktów za jednoczesne usunięcie kilku linii.

5. Bibliografia 5.1. Projektowanie układów cyfrowych z wykorzystaniem języka VHDL Zwoliński Mark 5.2. Układy FPGA Sterownik monitora VGA s.163 Majewski, Zbysiński 5.3. Synteza układów cyfrowych Łuba Tadeusz 5.4. Opis płytki testowej: http://www.zpt.tele.pw.edu.pl/~ptomasze/docs/univ.pdf 5.5. Wikipedia informacje ogólne