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



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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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: TECHNIKA CYFROWA 2 TS1C

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Projektowanie Urządzeń Cyfrowych

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

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

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Tranzystor JFET i MOSFET zas. działania

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 1 (3h) Wprowadzenie do systemu Quartus II

Bezpieczeństwo informacji oparte o kryptografię kwantową

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL

Bramki logiczne Instrukcja do ćwiczeń laboratoryjnych

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

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. Automaty stanów

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Projektowanie z użyciem procesora programowego Nios II

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

1 Moduł Modbus ASCII/RTU

Systemy Czasu Rzeczywistego FPGA

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

ID1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki stacjonarne

LICZNIKI LABORATORIUM. Elektronika AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. Wydział Informatyki, Elektroniki i Telekomunikacji

1 Moduł Modbus ASCII/RTU 3

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

WYKONYWANIE ORAZ PRZYWRACANIE KOPII KONFIGURACJI ZA POMOCĄ INTERFEJSU 20-HIM-A6 / 20-HIM-C6S W PRZEMIENNIKACH SERII POWERFLEX 750

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

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

Elektronika i techniki mikroprocesorowe

Logiczny model komputera i działanie procesora. Część 1.

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

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

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

Projektowania Układów Elektronicznych CAD Laboratorium

Spis treści. 1 Moduł Modbus TCP 4

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

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

Programowalne układy logiczne

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

IZ1UAL1 Układy arytmetyczno-logiczne Arithmetic logic systems. Informatyka I stopień ogólnoakademicki niestacjonarne

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Kodery, dekodery, transkodery Synteza sprzętu przy pomocy VHDL

Ćw. 1: Systemy zapisu liczb, minimalizacja funkcji logicznych, konwertery kodów, wyświetlacze.

Techniki multimedialne

Temat: Pamięci. Programowalne struktury logiczne.

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

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Technika Cyfrowa 1 wykład 1: kody. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

EGZAMIN MATURALNY Z INFORMATYKI

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI

Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE

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

Sterowniki programowalne Programmable Controllers. Energetyka I stopień Ogólnoakademicki. przedmiot kierunkowy

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

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD.

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

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Rok akademicki: 2030/2031 Kod: EIT s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

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

Język opisu sprzętu VHDL

Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

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

WPROWADZENIE Mikrosterownik mikrokontrolery

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

Zadania do wykładu 1, Zapisz liczby binarne w kodzie dziesiętnym: ( ) 2 =( ) 10, ( ) 2 =( ) 10, (101001, 10110) 2 =( ) 10

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File

imei Instytut Metrologii, Elektroniki i Informatyki

Sterowniki PLC. Elektrotechnika II stopień Ogólno akademicki. przedmiot kierunkowy. Obieralny. Polski. semestr 1

KARTA PRZEDMIOTU. Nr Opis efektu kształcenia Metoda sprawdzenia efektu kształcenia. Forma prowadzenia zajęć

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

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

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

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

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

Programowanie sterowników PLC wprowadzenie

Scalone układy programowalne FPGA.

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

Zadanie 5 Projekt licznika wykorzystanie komórek standardowych

INSTYTUT TECHNOLOGII ELEKTRONOWEJ

Programowalne układy logiczne

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

Transkrypt:

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Struktury Logiczne studiów stacjonarnych I stopnia kierunku: Elektronika i Telekomunikacja specjalność: Aparatura elektroniczna Kod przedmiotu: TS1C420301 Instrukcję opracował: dr inż. Marian Gilewski Białystok 2014

1. Cel ćwiczenia Celem ćwiczenia jest nauka implementacji i inicjacji bloków pamięci ROM w strukturach programowalnych. 2. Część pierwsza synteza wewnętrznej pamięci ROM Z poziomu edytora graficznego z lewego menu wybieramy opcję nowego elementu (symbol bramki) a następnie w dolnej części aktywujemy MegaWizard Plug-In Manager. Następnie wybieramy Create a new custom megafunction variation i zatwierdzamy opcją Next

Następnie wybieramy grupę funkcji Memory Compiler a w niej ROM: 1 PORT, język opisu komponentu (VHDL) oraz wpisujemy nazwę pliku wynikowego. Syntezowana pamięć jest typu synchronicznego, oprócz szyny adresowej oraz wyjściowej szyny danych zawiera wejście sygnału zegarowego synchronizującego operację odczytu. Przy czym w zależności od konfiguracji synchronizacja szyn adresowej i danych może odbywać się za pomocą tego samego sygnału zegarowego lub dwóch niezależnych. Zawartość pamięci jest wpisywana do pliku heksadecymalnego lub pliku o wewnętrznym formacie typu.mif. Plik ten jest pobierany przez system projektowy podczas kompilacji a jego zawartość włączana do struktury. Plik konfigurujący należy przygotować przed rozpoczęciem procesu kompilacji. Sposób jego przygotowania został opisany w następnym rozdziale. Lokalizacja pamięci ROM w strukturze FPGA może zachodzić w dwóch obszarach: w wydzielonych blokach pamięci (np. M4K) lub w tablicach LUT struktury programowalnej wówczas mówimy o pamięci rozproszonej. Pamięć rozproszoną o niewielkiej pojemności wygodniej jest przygotować pisząc komponent bezpośrednio w kodzie VHDL. Kolejne okna konfiguracyjne MegaWizard służą do parametryzacji projektowanej pamięci ROM. W pierwszym z nich (przedstawionym na następnym rysunku) definiowana jest: - szerokość słowa (liczba bitów) danych w pamięci, - miejsce lokalizacji domyślne/m4k/lcs/... itp., - głębokość pamięci liczba słów danych (32, 64,...), - liczba sygnałów zegarowych pojedyńczy (danych), oddzielny (danych i adresu).

Kolejne okno umożliwia wybór opcji: rejestrowego bufurowania danych wyjściowych/adresowych, utworzenia wejścia zezwolenia sygnału zegarowego, utworzenia asynchronicznego wejścia zerowania rejestrów buforowych. Piąte okno konfiguracyjne służy do podania nazwy i lokalizacji pliku zawartości pamięci (.hex lub.mif).

Kolejne okna zawierają bilans konfiguracji

Ostatnim etapem jest przeniesienie symbolu ROM w pole rysunkowe edytora graficznego Proszę zinterpretować strukturę wygenerowanego przez MegaWizard pliku VHDL opisującego ROM. 3. Część druga przygotowanie pliku inicjującego zawartość pamięci ROM Plik inicjujący jest tworzony z poziomu menu głównego systemu projektowego, w tym celu wybieramy funkcję Nowy plik a w nim Memory Files oraz w zależności preferencji: Memory Initialization File (.mif) lub Hexadecimal File (.hex).

Następnie należy określić głębokość pamięci (liczbę słów) i długość słowa danych (liczbę bitów komórki pamięci) - identyczne jak zarezerwowano to wcześniej w MegaWizard, a następnie wypełnić zawartość poszczególnych komórek i plik zapisać. Zawartość tak przygotowanego pliku zostanie wpisana do wewnętrznej struktura FPGA podczas programowania. Pliki konfigurujące są typu tekstowego, co oznacza, że ich edycję można przeprowadzać z użyciem dowolnego edytora tekstowego typu ASCII (nie dodającego znaków specjalnych). Należy przy tym zwracać uwagę na układ pliku tekstowego i użytych znaków separujących spacji i tabulacji. Wartości (adres i dane) w pliku konfiguracyjnym.mif mogą być wprowadzane w kodzie NKB, heksadecymalnym bądź dziesiętnie. Duże pliki konfiguracyjne jest wygodniej edytować inicjując je w wewnętrznym edytorze.mif a następnie obrabiając za pomocą edytora zewnętrznego i arkusza kalkulacyjnego. Zwłaszcza w arkuszu kalkulacyjnym wygodniej jest wprowadzić powtarzające się bloki danych lub stabelaryzowane wartości funkcji analitycznych, a następnie arkusz wyeksportować do edytora tekstowego.

4. Zadanie projektowe 1 Proszę przygotować i zainicjować z użyciem modułu MegaWizard pamięć ROM, której zawartość będzie konwertować wejściową 6-bitową liczbę binarną (szyna adresowa) na dwie wyjściowe liczby 7-bitowe (14-bitowa = 2 x 7 szyna danych) obsługujące dwie cyfry wyświetlacza siedmiosegmentowego. Plik konfigurujący zawartość pamięci proszę przygotować w formacie.mif. 5. Zadanie projektowe 2 synteza pamięci rozproszonej Rozproszoną pamięć ROM o niewielkiej pojemności można definiować w postaci tablicowej bezpośrednio w kodzie VHDL, wówczas do jej syntezy kompilator użyje przerzutników tablicy logicznej FPGA. Małą pamięć można zrealizować również używając np. instrukcji selektywnego przypisania do sygnału:... with Moj_adres select Moje_slowa <= "00100110 when 0000, 10101010 when 0001, 11001101 when 0010, 10101010 when 0011, 11001101 when 0100, 10001010 when 0101, 11101101 when 0110, 10111010 when 0111, 11111101 when 1000, 10101010 when 1001, 11101101 when 1010, 10111010 when 1011, 11011101 when 1100, 10001010 when 1101, 11111101 when 1110, 11111111 when others; Proszę zaprojektować, dokonać syntezy z zbadać pamięć rozproszoną ROM, która będzie dokonywać konwersji 4 bitowej liczby binarnej w kodzie dwójkowym znak moduł na 4 bitową liczbę binarną w kodzie znak uzupełnienie do 2. 6. Zadanie dodatkowe dla chętnych. Korzystając z dokumentacji technicznej DE2 proszę zaimplementować obsługę zewnętrznej pamięci Flash dostępnej w module prototypowym. Literatura: 1. Barski M., Jędruch W.: Układy cyfrowe, podstawy projektowania i opisu w języku VHDL, Wydawnictwo Politechniki Gdańskiej, 2007. 3. Łuba T.: Synteza układów cyfrowych, WKiŁ, Warszawa, 2004. 4. Mano M.M., Kime Ch.R.: Podstawy projektowania układów logicznych i komputerów, NT, Warszawa 2007. 5. Skahill K.: Język VHDL Projektowanie programowalnych układów logicznych, WNT, Warszawa, 2001.