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

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

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

Projekt z UCYF Dokumentacja końcowa. 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.

Technika mikroprocesorowa. Konsola do gier

Instrukcja do ćwiczenia : Matryca komutacyjna

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

Projektowanie Systemów Wbudowanych

Programowalne układy logiczne

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

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

4. Karta modułu Slave

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

Opis układów wykorzystanych w aplikacji

(57) Tester dynamiczny współpracujący z jednej strony (13) B1 (12) OPIS PATENTOWY (19) PL (11) PL B1. (54) Tester dynamiczny

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

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

Ćw. 7: Układy sekwencyjne

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Implementacja algorytmu szyfrującego

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

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

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

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

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

Specyfika projektowania Mariusz Rawski

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

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

2. Architektura mikrokontrolerów PIC16F8x... 13

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

Urządzenia zewnętrzne

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1

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

Rejestratory Sił, Naprężeń.

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

TeleVGA. Dokumentacja wer. 1.03

Architektura komputerów

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

Ćwiczenie MMLogic 002 Układy sekwencyjne cz. 2

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

WYKŁAD 8 Przerzutniki. Przerzutniki są inną niż bramki klasą urządzeń elektroniki cyfrowej. Są najprostszymi układami pamięciowymi.

Sterowniki programowalne

Program EDYTOR-AS-OUX

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

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

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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

WFiIS CEL ĆWICZENIA WSTĘP TEORETYCZNY

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

Elektroniczny sejf hotelowy

UKŁADY CYFROWE. Układ kombinacyjny

Licznik rewersyjny MD100 rev. 2.48

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

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

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005

Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01

Synchronizowanie czasu kontrolera PACSystems do urządzeń HMI

W przypadku spostrzeżenia błędu proszę o przesłanie informacji na adres

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

LEKCJA. TEMAT: Funktory logiczne.

ćw. Symulacja układów cyfrowych Data wykonania: Data oddania: Program SPICE - Symulacja działania układów liczników 7490 i 7493

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB

Odbiór i dekodowanie znaków ASCII za pomocą makiety cyfrowej. Znaki wysyłane przez komputer za pośrednictwem łącza RS-232.

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

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

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

Pamięci półprzewodnikowe na podstawie książki: Nowoczesne pamięci

Terminal WSP dla sygnalizatorów wibracyjnych

Technika Cyfrowa. Badanie pamięci

Pamięci półprzewodnikowe

Przykładowe zagadnienia na sprawdzian z wiedzy ogólnej. Linux to nazwa: A. Programu biurowego. B. Systemu operacyjnego. C. Przeglądarki internetowej.

Programowany układ czasowy

PRUS. projekt dokumentacja końcowa

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

Enkoder magnetyczny AS5040.

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem

Temat: Pamięci. Programowalne struktury logiczne.

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Politechnika Wrocławska, Wydział PPT Laboratorium z Elektroniki i Elektrotechniki

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

Cel. Poznanie zasady działania i budowy liczników zliczających ustaloną liczbę impulsów. Poznanie kodów BCD, 8421 i Rys. 9.1.

Projektowanie złożonych układów cyfrowych

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

LEKCJA TEMAT: Zasada działania komputera.

Licznik prędkości LP100 rev. 2.48

Zespół Szkół Technicznych. Badanie wyświetlaczy LCD

IMP Tester v 1.1. Dokumentacja Techniczno Ruchowa

Transkrypt:

Układy Cyfrowe Symulacje komputerowe Realizacja prototypu projektu z wykorzystaniem systemu CAD. Projekt: Realizacja: Emil Rosłanowski Adrian Staniec Michał Waśkiewicz 1

1. Informacje ogólne dotyczące realizacji gry Tetris: Cała realizacja tetrisa została rozłożona zgodnie ze specyfikacją wstępną na kilka głównych modułów omówionych w dalszej części: 1. Moduł automatu gry 2. Moduł obsługi klawiatury 3. Moduł wyświetlania VGA 4. Generator nowego klocka 5. Pamięć RAM 6. Rejestr pozycji poziomej (x) 7. Licznik punktów (w kodzie BCD) W obecnej wersji postanowiliśmy zintegrować rejestr pozycji pionowej (y) z modułem automatu gry. Wszystkie części zostały opisane w języku VHDL, łącznie z plikami najwyżej w hierarchii czyli połączeniem w/w bloków. Projekt testowany jest na płycie ewaluacyjnej NanoBoard z układem Altera Cyclone EP1C12Q240C7. Ze względu na specyfikę tej płyty (obecność klawiatury matrycowej) konieczne stało się dopisanie jeszcze jednego modułu do obsługi tej części projektu. 2. Moduł automatu gry start - sygnał startu automatu gry reset - reset automatu gry (docelowo powoduje wyczyszczenie tetrionu) klocek - 5-bitowe słowo opisujące aktualnie spadający klocek. Młodsze dwa bity symbolizują kąt obrotu klocka, a starsze rodzaj klocka (liczba z zakresu 1-7). x - pozycja pozioma klocka dane_z_ramu - magistrala służąca do odczytu danych z pamięci RAM gotowy - sygnalizacja zakończenia pracy automatu i oczekiwania na kolejny sygnał startu (1 - oczekuje, 0 - pracuje) losuj - linia służąca do wyzowlenia wylosowania kolejnego klocka (dodatni impuls trwający jeden takt zegara). y - wyjście rejestru pozycji pionowej tetramino. zegar_p - zegar do pamięci RAM. Narastające zbocze powoduje zatrzaśnięcie adresu i danych, opadające odczyt danych. adres - adres do pamięci RAM zapis - zapis/odczyt danych do/z pamięci RAM (1 - zapis, 0 - odczyt). dane_do_ramu - dane zapisywane do pamięci RAM 2

Moduł ten odpowiedzialny jest za obsługę opuszczania klocka. Wzorzec aktualnie opuszczanego tetramino odczytywany jest z pamięci RAM i przechowywany w 16 bitowym rejestrze. Następnie odczytywany jest obraz tetrionu (planszy gry) gdzie znajdzie się klocek po opuszczeniu (pozycja y o jeden mniejsza niż aktualnie). Otrzymane w ten sposób dwa 16-bitowe słowa są porównywane iloczynem logicznym i jeżeli co najmniej jedno z porównać będzie logiczną jedynką to opuszczenie klocka nie jest możliwe. W takiej sytuacji obraz klocka zapisywany jest do pamięci RAM w odpowiednie miejsce tetrionu. W przeciwnym wypadku klocek opuszczany jest o jedną pozycję w dół. Moduł ten składa się z kilku mniejszych podmodułów. Rysunek 1. Symulacja automatu gry wraz z dołączonymi podmodułami. 2.1. Automat start - sygnał startu automatu gry start_wzorzec - sygnał wyzwolenia automatu do wczytania wzorca klocka start_tetrion - sygnał wyzwolenia automatu do wczytania fragmentu tetrionu 3

reset - reset automatu gry (docelowo powoduje wyczyszczenie tetrionu) mozna_opuscic - sygnał informujący o tym, czy można opuścić klocek gotowy_wzorzec - sygnalizacja gotowości modułu odczytu wzorca klocka z pamięci (1 - gotowy) gotowy_tetrion - sygnalizacja gotowości modułu odczytu odpowiedniego fragmentu tetrionu z pamięci (1 - gotowy) gotowy_zapis - sygnalizacja gotowości modułu zapisu klocka do pamięci (1 - gotowy) start_zapis - sygnał wyzwolenia automatu do zapisu klocka do pamięci start_y - sygnał zerowania rejestru pozycji pionowej klocka (pojawienie się nowego) opusc - sygnał służący do inkrementacji rejestru y (opuszczania klocka) gotowy - sygnalizacja zakończenia pracy automatu i oczekiwania na kolejny sygnał startu (1 - oczekuje, 0 - pracuje) Jest to maszyna stanów kontrolująca wszystkie pozostałe moduły kontrolera gry. Uruchamiana jest sygnałem start z kontrolera VGA. Uruchamia odczyt wzorca klocka z pamięci RAM, następnie odczyt fragmentu tetrionu, a następnie w zależności od porównania tych wzorców powoduje zapisanie klocka do pamięci, lub opuszczenie o jedną pozycję w dół. Na rysunku poniżej przedstawiono graf przejść. 2.2. Zapis klocka do tetrionu gotowy - sygnalizacja zakończenia pracy automatu i oczekiwania na kolejny sygnał startu (1 - oczekuje, 0 - pracuje) 4

start - sygnał startu automatu klocek - numer aktualnie spadającego klocka wraz z numerem obrotu wzorzec - 16-bitowe słowo reprezentujące wzorzec klocka do zapisania x - pozycja pozioma klocka do zapisania y - pozycja pionowa klocka do zapisania zegar_p - zegar do pamięci RAM. Narastające zbocze powoduje zatrzaśnięcie adresu i danych. adres - adres do pamięci RAM zapis - zapis/odczyt danych do/z pamięci RAM (1 - zapis, 0 - odczyt). dane_do_ramu - dane zapisywane do pamięci RAM Moduł ten odpowiedzialny jest za zapisanie aktualnego klocka, którego pozycja oraz typ przekazywany jest przez porty x, y oraz klocek. Sygnał start wyzwala automat. Komunikacja z pamięcią RAM odbywa się za pomocą odpowiednich portów. Rysunek 2. Symulacja zapisu klocka do pamięci RAM. 2.3. Moduł pobierania wzoru klocka z pamięci RAM start - sygnał startu automatu klocek - 5-bitowe słowo opisujące aktualnie spadający klocek. Młodsze dwa bity symbolizują kąt obrotu klocka, a starsze rodzaj klocka (liczba z zakresu 1-7). adres - adres do pamięci RAM zapis - zapis/odczyt danych do/z pamięci RAM (1 - zapis, 0 - odczyt). zegar_p - zegar do pamięci RAM. Narastające zbocze powoduje zatrzaśnięcie adresu i danych, opadające odczyt danych. 5

dane_z_ramu - magistrala służąca do odczytu danych z pamięci RAM gotowy - sygnalizacja zakończenia pracy automatu i oczekiwania na kolejny sygnał startu (1 - oczekuje, 0 - pracuje) wzorzec - odczytany wzorzec klocka Moduł odczytuje wzorzec klocka (o numerze przekazywanym przez port klocek) z pamięci RAM i zatrzaskuje wynik na wyjściu wzorzec. Analogicznie jak poprzednie moduły komunikuje się z pamięcią przez odpowiednie magistrale. W stanie nieaktywnym na magistralach pojawia się stan wysokiej impedancji (oprócz wyjścia zegara, gdzie utrzymywane jest zero logiczne). Koniec pracy sygnalizuje przez wystawienie jedynki logicznej na wyjście gotowy. Rysunek 3. Symulacja pobierania wzorca klocka z pamięci RAM. 2.4. Moduł pobierania fragmentu tetrionu z pamięci. start - sygnał startu automatu x - pozycja pozioma klocka y - pozycja pionowa klocka dane_z_ramu - magistrala służąca do odczytu danych z pamięci RAM gotowy - sygnalizacja zakończenia pracy automatu i oczekiwania na kolejny sygnał startu (1 - oczekuje, 0 - pracuje) wzorzec - odczytany wzorzec tetrionu adres - adres do pamięci RAM zapis - zapis/odczyt danych do/z pamięci RAM (1 - zapis, 0 - odczyt). zegar_p - zegar do pamięci RAM. Narastające zbocze powoduje zatrzaśnięcie adresu i danych, opadające odczyt danych. Moduł pobiera informacje o stanie tetrionu w odpowiednim obszarze określonym przez aktualną pozycję klocka (x,y). Po odczytaniu wzorca zatrzaskuje go na odpowiednim wyjsciu w celu późniejszego porównania z odczytanum wzorcem aktualnie opadającego klocka. 6

Rysunek 4. Symulacja pobierania fragmentu tetrionu z pamięci RAM. 2.5. Rejestr pozycji pionowej klocka (y) start - ustawienie rejestru na wartość 1 opusc - zwiększenie rejestru o 1 y - wyjście rejestru Rejestr odpowiedzialny jest za pozycję pionową klocka. Rysunek 5. Symulacja działania rejestru pozycji pionowej. 2.6. Porównanie wzorców Jest to część odpowiedzialna za porównywanie wcześniej odczytanych wzorców. Wykonuje operację iloczynu logicznego na dwóch 16-bitowych wejściach (odpowiedni pin z jednego wejścia z pinem z drugiego wejścia). Jeżeli wynik jest równy 0 to wystawiana jest jedynka logiczna na wyjście. W przeciwnym wypadku wystawiane jest zero logiczne. 7

3. Moduł kontrolera VGA reset - zresetowanie modułu dane - dane z pamięci RAM pkty - punkty zdobyte przez gracza przekazywane w kodzie BCD (0-999) klocek_nowy - 5-bitowe słowo opisujące kolejny klocek. klocek - 5-bitowe słowo opisujące aktualnie spadający klocek. Młodsze dwa bity symbolizują kąt obrotu klocka, a starsze rodzaj klocka (liczba z zakresu 1-7). klocek_y - pozycja pionowa aktualnie spadającego klocka klocek_x - pozycja pozioma aktualnie spadającego klocka gotowy_gra - sygnał zakończenia pracy automatu gry gotowy_lr - sygnał zakończenia pracy automatu obsługującego klawiaturę (przesuwania klocka i obroty) adres - adres do pamięci RAM zegar_p - zegar do pamięci RAM. Narastające zbocze powoduje zatrzaśnięcie adresu i danych, opadające odczyt danych. zapis - zapis/odczyt danych do/z pamięci RAM (1 - zapis, 0 - odczyt). hsync - ompulsy synchronizacji poziomej VGA vsync - impulsy synchronizacji pionowej VGA rgb - sygnały kolorów przekazyane do VGA start_gra - wyzwolenie pracy automatu gry start_lr - wyzwolenie pracy automatu kontrolującego klawiaturę Moduł kontrolera VGA wyświetla na ekranie monitora obraz składający się z czterech części: 1. Plansza gry wraz z zawartością oprócz aktualnie opadającego klocka. 2. Aktualnie opadający klocek. 3. Liczba zdobytych przez użytkownika punktów. 4. Obraz nowego klocka. Poza tymi obszarami wyświetlane jest zielone tło. Obraz tetrionu, wzór klocków zarówno opadających jak i nowego oraz kształt cyfr 8

wyświetlanych w punktacji pobierany jest z pamięci RAM. W projekcie wybrano rozdzielczość obrazu 800x600 z częstotliwością odświeżania 72Hz co umożliwia współpracę z nowymi monitorami LCD. Aby zapewnić odpowiednią częstotliwość kolejnych pikseli konieczne jest taktowanie jednostki zegarem 50MHz. Moduł ten wyzwala również dwa pozostałe moduły: moduł kontrolera klawiatury oraz automat gry w czasie gdy nie jest konieczne wysyłanie danych na ekran. Przy pisaniu tego fragmentu układu wzorowaliśmy się na kodzie z [2] oraz korzystaliśmy z zależności czasowych opisanych na stronie [4]. Rysunek 6. Symulowania generacji jednej linii poziomej obrazu VGA. 4. Moduł kontrolera klawiatury adres - adres do pamięci RAM 9

reset - zresetowanie modułu lewy - wejście przycisku odpowiedzialnego za przesuwanie klocka w lewo prawy - wejście przycisku odpowiedzialnego za przesuwanie klocka w prawo obroc - wejście przycisku odpowiedzialnego za obracanie klocka X - pozycja pozioma klocka Y - pozycja pionowa klocka start - wyzwolenie automatu klocek - 3-bitowy numer aktualnego klocka obrot - liczba określająca obrót aktualnego klocka dane_z_ramu - dane z pamięci RAM zegar_p - zegar do pamięci RAM. Narastające zbocze powoduje zatrzaśnięcie adresu i danych, opadające odczyt danych. gotowy - sygnalizacja zakończenia pracy automatu i oczekiwania na kolejny sygnał startu (1 - oczekuje, 0 - pracuje) xp - impuls przesunięcia klocka w prawo xm - impuls przesunięcia klocka w lewo oe - impuls obrotu klocka Moduł odpowiedzialny jest za sprawdzenie czy możliwy jest obrót/przesunięcie klocka. Przykładowo jeżeli użytkownik nacisnął przycisk obrotu klocka, automat sprawdza czy jest możliwa taka operacja i jeżeli jest to generuje impuls na odpowiednim wyjściu. Moduł wyzwalany jest z modułu głównego impulsem na wejściu start i sygnalizuje koniec pracy jedynką logiczną na wyjściu gotowy. Rysunek 7. Symulacja sprawdzenia czy możliwy jest obrót klocka. 10

5. Moduł losowania nowego klocka klawiatura - wejścia wszystkich przycisków dołączonych do gry nastepny - sygnał wylosowania kolejnego klocka obroc - narastajace zbocze powoduje obrócenie klocka aktualny - numer aktualnego klocka nowy - numer kolejnego klocka W module tym zaimplementowano licznik modulo 28, który zlicza impulsy zegarowe.wartość tego licznika zatrzaskiwana jest przy naciśnięciu dowolnego przycisku z klawiatury. Kolejny rejestr zatrzaskuję tą wartość w momencie przyjścia impulsu z wejścia nastepny. 6. Pamięć RAM data - dane do zapisu wren - zezwolenie na zapis address - adres inclock - zegar sterujący rejestrami wejściowymi outclock - zegar sterujący rejestrem wyjściowym q - wyjście danych Pamięć RAM została wygenerowana za pomocą kreatora wbudowanego w pakiet Quartus. Jest to pamięć o słowach 4-bitowych i pojemności 512 słów. Posiada oddzielny sygnał zegarowy wejść oraz wyjść. W projekcie gry tetris poszczególne obszary pamięci wykorzystywane są w następujący sposób: 11

Adres Przeznaczenie 0-319 Obraz tetrionu 320-431 Wzory klocków 432-511 Mapa cyfr do punktacji 7. Podsumowanie W tej części projektu udało nam się uruchomić na płycie ewaluacyjnej NanoBoard moduł wyświetlania obrazu na monitorze VGA współpracujący z modułem kontrolera gry i pamięcią RAM. Dołączono również kontroler klawiatury z możliwością przesuwania aktualnie spadającego klocka w zawężonym zakresie. Sprawdzono poprawność działania akrualnie działającej części algorytmu gry i moduł losowania nowego klocka. Postanowiono rozbudować moduł losujący o algorytm LSFR. Pozostałe bloki (kontrola obracania/przesuwania oraz kasowanie tetrionu) zostały przetestowane w symulacjach komputerowych bez połączenia z całym układem. 8. Bibliografia [1] Projektowanie układów cyfrowych z wykorzystaniem języka VHDL Zwoliński Mark [2] Układy FPGA Sterownik monitora VGA s.163 Majewski, Zbysiński [3] Synteza układów cyfrowych Łuba Tadeusz [4] http://www.tinyvga.com/vga-timing/800x600@72hz 12