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

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

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

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

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

Technika mikroprocesorowa. Konsola do gier

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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Implementacja algorytmu szyfrującego

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH

T2210HD/T2210HDA Szerokoekranowy monitor LCD 21,5 Podręcznik użytkownika

Specyfika projektowania Mariusz Rawski

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

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Mikrokontrolery wytyczne do projektów

PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH,

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Systemy Czasu Rzeczywistego FPGA

Scenariusz zajęć. Moduł V. Projekt Gra zręcznościowa odbijanie piłeczki

T2200HD/T2200HDA Szerokoekranowy monitor LCD 21,5 Podręcznik użytkownika

Programowalne układy logiczne

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

T201W/T201WA Szerokoekranowy monitor LCD 20 Podręcznik użytkownika

MIKROKONTROLERY I MIKROPROCESORY

Artur Cichowski Paweł Szczepankowski Wojciech Śleszyński TECHNIKA CYFROWA I MIKROPROCESOROWA LABORATORIUM

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

USB DVB-T STICK. Instrucja obsługi. Watch & record Digital TV programs on Your PC! MT4152

Systemy uruchomieniowe

Podstawowe elementy układów cyfrowych układy sekwencyjne. Rafał Walkowiak

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

Technika Cyfrowa. Badanie pamięci

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci RAM w FPGA.

2. Architektura mikrokontrolerów PIC16F8x... 13

Systemy Czasu Rzeczywistego FPGA

Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Karta katalogowa JAZZ OPLC JZ20-T40/JZ20-J-T wejść cyfrowych, 2 wejścia analogowe/cyfrowe, 2 wejścia analogowe. 20 wyjść tranzystorowych

MIKROKONTROLERY ARM DOKUMENTACJA WSTĘPNA PROJEKTU GRA PONG

ROZDZIAŁ 1 Instrukcja obsługi Grand Video Console

Projektowanie Systemów Wbudowanych

Zwory na płycie z łączem szeregowym ustawienie zworek dla programowania.

Język opisu sprzętu VHDL

PRUS. projekt dokumentacja końcowa

Szkolenia specjalistyczne

Badanie zależności położenia cząstki od czasu w ruchu wzdłuż osi Ox

Podstawy Elektroniki dla Informatyki. Pętla fazowa

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

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

Opis implementacji: Poznanie zasad tworzenia programów komputerowych za pomocą instrukcji języka programowania.

Sygnały DRQ i DACK jednego kanału zostały użyte do połączenia kaskadowego obydwu sterowników.

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Systemy Czasu Rzeczywistego FPGA

Podstawy grafiki komputerowej

Instrukcja obsługi Głowica Ruchoma LED 15W

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO

Układy Cyfrowe projekt. Korekcja jasności obrazów w 24-bitowym formacie BMP z użyciem funkcji gamma. Opis głównych modułów sprzętowych

Podręcznik instalacji

Karta katalogowa JAZZ OPLC. Modele JZ20-T10/JZ20-J-T10 i JZ20-T18/JZ20-J-T18

My niżej podpisani... działając w imieniu i na rzecz... w odpowiedzi na ogłoszenie o przetargu nieograniczonym na :

PROGRAMY STEROWANIA I WIZUALIZACJI II

FINCH PONG. Realizator: Partner: Patronat:

Architektura systemów komputerowych Laboratorium 10 Symulator SMS32 Urządzenia wejścia i wyjścia

Pierwsze kroki z FPGA (9)

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

Pierwsze kroki z FPGA (9)

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

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

Systemy Czasu Rzeczywistego FPGA

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

Zestaw przedłużaczy sygnału HDMI 4K, 4K2K/60 Hz

Programowalne układy logiczne

Podręcznik instalacji

Układy sekwencyjne. 1. Czas trwania: 6h

INSTRUKCJA Model TC-20P

SML3 październik

Implementacja filtru Canny ego

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

Zmiana rozdzielczości ekranu

Przykładowe pytania DSP 1

Podręcznik instalacji

Załącznik Nr 2 do SIWZ. Sprzęt komputerowy i peryferyjny

Instrukcja do ćwiczenia : Matryca komutacyjna

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

WPROWADZENIE Mikrosterownik mikrokontrolery

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Kontroler Xelee Master DMX64/512 - Instrukcja obsługi. Kontroler Xelee Master DMX64/512 Firmware 1.1 Instrukcja Obsługi.

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

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

Karta katalogowa JAZZ OPLC. Modele JZ20-R10/JZ20-J-R10 i JZ20-R16/JZ20-J-R16

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

GRAFIKA I ROZPOZNAWANIE OBRAZÓW

Podręcznik użytkownika PCI-x Karta przechwytująca 4xHDMI

Systemy na Chipie. Robert Czerwiński

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Ping-Pong. Gra dla dwóch graczy.

WEJŚCIE W TRYB PROGRAMOWANIA

Transkrypt:

Studenci: Tomasz Biały, Grzegorz Chmielewski, Michał Stasiuk, Prowadzący: dr inż. Paweł Tomaszewicz Projekt z UCYF Dokumentacja końcowa Temat: Sprzętowa realizacja gry Arkanoid 1. Informacje ogólne: Gra składa się z następujących modułów: 1. Nadrzędny moduł kontrolera VGA. 2. Moduł kontrolera paletki. 3. Moduł kontrolera ruchu piłeczki i wykrywania kolizji z klockami. 4. Pamięć ROM dla paletki. 5. Pamięć ROM dla piłeczki. 6. Pomocniczy moduł dzielnika zegara. 7. Pakiet stałych i komponentów. UWAGA: Na schematach modułów: niebieskie linie- porty typu in, fioletowe porty typu out, ziolone porty typu inout. 2. Moduł kontrolera VGA: v ga clk_f ster[1..0] hsy nc v sy nc rgb[2..0] Wejście: Clk_f zegar systemowy Ster[1..0] - sterowanie Wyjście: Hsync impuls synchronizacji poziomej Vsync impuls synchronizacji pionowej Rgb[2..0] - sygnały kolorów przekazyane do 1/5

VGA Moduł kontrolera VGA wyświetla na ekranie monitora plansze z obramowaniem, licznik 3 żyć w postaci 3 piłeczek, paletkę (czytajac z ROM u paletki), piłeczkę (czytając z ROM u piłeczki). W projekcie wybrano rozdzielczość obrazu 640x480. Częstotliwośc odświerzania: 60 Hz. Jednostka taktowana jest zegarem oscylatora kwarcowego równym 25.175 MHz. Do napisania tego modułu wykorzystaliśmy sterownik VGA opisany w [1] na str. 163 oraz korzystaliśmy ze strony internetowej [6]. Illustration 1: Symulacja sterownika VGA 3. Moduł obsługi paletki modul_paletki nast_plansza koniec_gry clock_pal ster[1..0] restart ster_pom[1..0] rusz ruszaj przesuniecie[31..0] : nast_plansza sygnał flaga informujący o zmianie planszy : ster_pom[1..0] pomocniczy sygnał sterowania 2/5

koniec_gry sygnał flaga informujący o zakończeniu gry Clock_pal zegar paletki (zdzielnikowany zegar systemowy) Ster[1..0] sygnały sterujące Rusz sygnał pozwalający piłce poruszac się leżąc na paletce (sytuacja na początku gry lub po restarcie) Ruszaj sygnał zwalniający piłkę z paletki Przesuniecie współrzędna położenia (pozioma) lewego krańca paletki Restart sygnał restartu 4. Moduł obsługi piłeczki i wykrywania kolizji z klockami modul_pileczki clock_pil rusz ruszaj ster_pom[1..0] przesuniecie[31..0] nast_plansza licz_zy c[1..0] koniec_gry restart wart_poz[31..0] wart_pion[31..0] wiersz0[7..0] wiersz1[7..0] wiersz2[7..0] wiersz3[7..0] wiersz4[7..0] wiersz5[7..0] wiersz6[7..0] wiersz7[7..0] wiersz8[7..0] kierunek_pion kierunek_poz Clock_pil zegar piłeczki (zdzielnikowany zegar systemowy) Rusz - sygnał pozwalający piłce poruszac się leżąc na paletce (sytuacja na początku gry lub po restarcie) Ruszaj - sygnał zwalniający piłkę z paletki nast_plansza sygnał flaga informujący o zmnianie planszy licz_zyc[1..0] licznik żyć koniec_gry sygnał flaga informujący o zakończeniu gry Restart sygnał restartu ster_pom[1..0] sygnał pomocniczy sterowania wart_poz[31..0] współrzędna pozioma piłki Przesunięcie[31..0] współrzędna położenia wart_pion[31..0] współrzędna pionowa piłki 3/5

(pozioma) lewego krańca paletki Wierszi[7..0], gdzie i należy do <0;8> - rejestry informjące o stanie planszy; każdy rejestr to wiersz klocków (0 wiersz na górze planszy, 8 wiersz na dole planszy), 1 w rejestrze oznacza, że klocek nie został zbity, 0 klocek zbito. kierunek_pion zwrot wektora poruszania się piłki w pionie (0 dół, 1 - góra) kierunek_poz zwrot wektora poruszania się piłki w poziomie (1 lewo, 0 - prawo) W tym module działa zaimplementowany jest też automat gry. 5. Moduł dzielnika zegara dzielnik Param eter Value Type g 2 Signed Integer h 3 Signed Integer clock setup wy nik 3 Clock zegar systemowy Setup sygnał startowy Wynik zegar po zdzielnikowaniu Dzielnik zegara wykorzystywany jest do zmniejszenia zegara systemowego odpowiednio do potrzeb taktowania poruszania się piłki (50 000 razy mniejszy = 503,5 Hz) lub paletki (30 000 razy mniejszy = 839,2 Hz).. 6. Moduł ROM piłki rom_pilka wy sokosc[3..0] data[0..29] 4 Wysokość - wysokość piłki Data opis każdego piksela w linii (każdy piksel opisują 3 bity) Pamięć ROM piłki służy do nadania piłce okrągłych kształtów. Przechowuje ona sekwencje bitów 4/5

odpowiadające konkretnym kolorom w rejestrze kolorów. 7. Moduł ROM paletki rom_paletka wy sokosc[4..0] data[0..299] 5 Wyokość wysokość paletki Data - opis każdego piksela w linii (każdy piksel opisują 3 bity) Pamięć ROM paletki służy do wymodelowania kształtów paletki. Przechowuje ona sekwencje bitów odpowiadające konkretnym kolorom w rejestrze kolorów. Pisząc pamięci ROM nie korzystaliśmy z MegaWizarda, lecz pisaliśmy je samodzielnie korzystając z pozycji [1], s. 168. 8. Podsumowanie W ostatecznj wersji projektu udało nam się uruchomić wszystkie opisane moduły, a więc moduł kontrolera VGA, moduł obsługi paletki, piłeczki i detekcji kolizji pilki z klockami, wykorzystując przy tym pomocnicze moduły dzielnika zegara oraz pamięci ROM dla paletki i piłeczki. Projekt wygląda następująco: wyświetlane są plansza i jej obramowanie, licznik żyć, paletka i piłeczka. Zwolnienie piłeczki z paletki nastepuje po jednoczesnym naciśnięciu przycisków sterowania, następnie tymi przyciskami steruje się paletką. Stworzyliśmy 5 różnych plansz. Nie wykorzystaliśmy pamięci RAM, jak to było opisane w specyfikacji wstępnej, zastosowaliśmy zamiast tego układ 9 niezależnych rejestrów. Projekt zajmuje 2136 komórek logicznych. Kompilacja trwa ok. 1 min 40 sec. 9. Bibliografia [1] Projektowanie układów cyfrowych z wykorzystaniem języka VHDL Zwoliński Mark [2] Układy FPGA w przykładach Sterownik monitora VGA s.163 Majewski, Zbysiński [3] Synteza układów cyfrowych Łuba Tadeusz [4] VHDL język opisu i projektowania układów cyfrowych Włodzimierz Wrona [5] Rapid Prototyping of Digital Systems James O. Hamblen, Michael D. Furman [6] http://www.tinyvga.com/vga-timing/640x480@60hz 5/5