Programowalne układy logiczne

Podobne dokumenty
Układy reprogramowalne i SoC Implementacja w układach FPGA

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

Programowalne układy logiczne

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016

Projektowanie z użyciem bloków funkcjonalnych w układach programowalnych firmy Xilinx

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

Wygląd okna aplikacji Project Navigator.

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

Elementy cyfrowe i układy logiczne

Bezpieczeństwo informacji oparte o kryptografię kwantową

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

LABORATORIUM OPTOELEKTRONIKA I SENSORYKA Oprogramowanie bariery podczerwieni w układzie CPLD

1. Synteza układów opisanych w języku VHDL Xilinx ISE Design Suite 10.1 VHDL 2. Obsługa przetwornika CA Project Add source...

Programowalne układy logiczne

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

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

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

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

Systemy Czasu Rzeczywistego FPGA

Programowalne układy logiczne

Programowalne Układy Cyfrowe Laboratorium

Systemy Czasu Rzeczywistego FPGA

Język opisu sprzętu VHDL

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

Układy programowalne. Wykład z ptc część 5

Projektowanie z użyciem procesora programowego Nios II

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

Ćwiczenie 1 VHDL - Licznik 4-bitowy.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Opis przedmiotu zamówienia CZĘŚĆ 1

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS

Programowalne układy logiczne

Układy programowalne. Wykład z ptc część 5

Projektowanie Systemów Wbudowanych

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Projektowanie układów FPGA. Żródło*6+.

Systemy na Chipie. Robert Czerwiński

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

Systemy Czasu Rzeczywistego FPGA

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

MMfpga01. MMfpga11. Instrukcja konfiguracji środowiska, przykładowy projekt oraz programowanie układu

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Bezpieczeństwo informacji oparte o kryptografię kwantową

Krótkie wprowadzenie do ModelSim i Quartus2

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

Opis przedmiotu zamówienia

Projektowanie Urządzeń Cyfrowych

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

Ukªady Kombinacyjne - cz ± I

Podstawy programowania w środowisku Step 7

Systemy Czasu Rzeczywistego FPGA

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

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

Sposoby projektowania systemów w cyfrowych

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

ZL8AVR. Płyta bazowa dla modułów dipavr

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

Układy FPGA w przykładach, część 2

FPGA, CPLD, SPLD. Synteza systemów reprogramowalnych 1/27. dr inż. Mariusz Kapruziak pok. 107, tel

Opracował: Jan Front

Technika cyfrowa projekt: Sumator 4 bitowy równoległy

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

Cyfrowe układy scalone

Cyfrowe układy scalone

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

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

Technika cyfrowa. Laboratorium nr 7. Liczniki synchroniczne. Mirosław Łazoryszczak. Temat:

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

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Języki opisu sprzętu VHDL Mariusz Rawski

Elektronika i techniki mikroprocesorowe

Technika Cyfrowa 2 wykład 1: programowalne struktury logiczne - wprowadzenie

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

Układy reprogramowalne i SoC Język VHDL (część 4)

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

To nie huragan, to Cyclone II!

Katedra Mikroelektroniki i Technik Informatycznych

Szczegółowy opis przedmiotu zamówienia. Część 1 - Laboratoryjny zestaw prototypowy

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

ZL10PLD. Moduł dippld z układem XC3S200

Specyfika projektowania Mariusz Rawski

Technika Cyfrowa Wprowadzenie do laboratorium komputerowego

PROGRAMOWALNE STEROWNIKI LOGICZNE

SYSTEMY DEDYKOWANE W UKŁADACH PROGRAMOWALNYCH

Krótkie przypomnienie

ZL19PRG. Programator USB dla układów PLD firmy Altera

Podstawy programowania w środowisku Totally Integration Automation Portal

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji.

Wielokontekstowy sterownik programowalny przyszłości wykorzystujący układy programowalne psoc

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Technika Mikroprocesorowa

mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec

Programator procesorów rodziny AVR AVR-T910

Transkrypt:

Programowalne układy logiczne Wstęp Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 12 października 2015

Co to jest programowalny układ logiczny? PLD (ang. programmable logic device) Scalony układ cyfrowy Funkcja określana przez projektanta dopiero po wyprodukowaniu układu Programowanie sygnałami elektrycznymi

O czym będzie na tym przedmiocie? Jak działają układy cyfrowe? Jak zaprojektować własny układ cyfrowy? Jak wykonać jego symulację? Jak zaimplementować algorytm w sprzęcie? Jak zbudowany jest mikroprocesor? Jak zaprojektować własny mikroprocesor? Jak zaprogramować swój projekt w FPGA?

Gdzie nam się to może przydać? Jednoukładowy sterownik urządzenia Akcelerator instalowany w komputerze na szynie PCI Układ peryferyjny instalowany w komputerze na szynie PCI Prototyp sprawdzający koncepcję projektową

Co zrobić, gdy potrzebujemy układu cyfrowego? Znaleźć gotowy układ realizujący potrzebną nam funkcję. Dla wielu typowych zastosowań produkuje się gotowe układy scalone. A co, gdy potrzebujemy nietypowego układu? Zbudować potrzebny układ z układów scalonych małej i średniej skali integracji, np. z układów serii 74HC. Opłacalne tylko, gdy projektowany układ jest niewielki i da się złożyć z co najwyżej kliku układów scalonych. Układ składający się z kilkudziesięciu lub kilkuset układów scalonych jest za duży, za drogi w produkcji i pobiera za dużo prądu. Zbudować układ mikroprocesorowy i zaprogramować w nim potrzebną funkcjonalność. Mikrokontrolery mają wiele przydatnych peryferii. Obecnie jest to bardzo powszechna praktyka.

Co zrobić, gdy potrzebujemy układu cyfrowego? Zaprojektować własny specjalizowany (ang. full custom) układ scalony od podstaw: trzeba poznać bardzo skomplikowane reguły projektowe; proces projektowania jest długi i kosztowny; opłaca się tylko przy bardzo dużych seriach produkcyjnych. Użyć ASIC (ang. application specific integrated circuit): bramki logiczne są już wykonane w krzemie; wymaga tylko zaprojektowania połączeń między bramkami; opłaca się tylko przy dużych seriach produkcyjnych. Użyć FPGA: proces projektowania jest istotnie krótszy i tańszy niż dla układów specjalizowanych lub ASIC; opłaca się przy małych i dużych seriach produkcyjnych; można tanio i szybko skonstruować i przetestować prototyp przed podjęciem decyzji o projektowaniu specjalizowanego układu scalonego; układ wolniejszy od układu specjalizowanego.

Sposoby opisu sprzętu Schemat ideowy Topografia układu scalonego PSPICE (ang. Personal Simulation Program with Integrated Circuit Emphasis) Schemat logiczny Schemat blokowy Tablica prawdy Tablica stanów Automat stanowy HDL (ang. hardware description language) VHDL (ang. Very High Speed Integrated Circuit Hardware Description Language) Verilog

Schemat ideowy i topografia VDD A OUT B VSS Są zbyt szczegółowe i niezrozumiałe dla informatyka.

PSPICE MP1 4 1 3 3 CMOSP W=28.0U L=2.0U AS=252P AD=252P MP2 4 2 3 3 CMOSP W=28.0U L=2.0U AS=252P AD=252P MN1 4 1 5 0 CMOSN W=10.0U L=2.0U AS=90P AD=90P MN2 5 2 0 0 CMOSN W=10.0U L=2.0U AS=90P AD=90P VDD 3 0 DC 5.0.MODEL CMOSN NMOS LEVEL=2 LD=0.121440U + TOX=410E-10 NSUB=2.355991E+16 VTO=0.7 + KP=8.165352E-05 GAMMA=1.05002 PHI=0.6 + UO=969.492 UEXP=0.308914 UCRIT=40000 + DELTA=0.262772 VMAX=71977.5 XJ=0.3U + LAMBDA=3.937849E-02 NFS=1E+12 NEFF=1.001 NSS=0 + TPG=1 RSH=33.290002 CGDO=1.022762E-10 + CGSO=1.022762E-10 CGBO=5.05317E-11 CJ=1.368E-04 + MJ=0.4925 CJSW=5.222E-10 MJSW=0.2358 PB=0.49 +... Podobnie można też opisać topografię układu scalonego.

Tablica prawdy Na poprzednich dwóch slajdach widzieliśmy dwuwejściową bramkę NAND. A B Y Informatykowi wystarczy tylko poznanie jej tablicy prawdy. A B Y L L H L H H H L H H H L Zobaczmy jakiś bardziej skomplikowany przykład, składający się z 6 trzywejściowych bramek NAND.

Schemat logiczny Mimo że na architekturze komputerów omawia się bramki logiczne, niewiele osób na sali zgadnie, co robi ten układ.

Symbol logiczny D S Q R Q Wyższy poziom abstrakcji symbol układu z poprzedniego slajdu.

Tablica stanów Na poprzednich dwóch slajdach widzieliśmy przerzutnik D wyzwalany narastającym zboczem sygnału zegarowego. R S D C Q Q H L X X H L L H X X L H L L X X H H H H L L H H H H H L H H X X Q Q H H X Q Q Po wytłumaczeniu, co oznaczają poszczególne symbole, to już nawet informatyk zrozumie.

Opis w VHDL Deklaracja interfejsu jednostki projektowej entity D_flip_flop is port (C: in bit; D: in bit; R: in bit; S: in bit; Q: out bit; NQ: out bit); end entity D_flip_flop;

Implementacja jednostki projektowej architecture behavioral of D_flip_flop is begin process (C, R, S) begin if R = 0 and S = 1 then Q <= 1 ; NQ <= 0 ; elsif R = 1 and S = 0 then Q <= 0 ; NQ <= 1 ; elsif R = 0 and S = 0 then Q <= 1 ; NQ <= 1 ; elsif C event and C = 1 then Q <= D; NQ <= not D; end if; end process; end architecture behavioral; Wygląda przyjaźnie i znajomo, ale pozory mylą...

Rodzaje programowalnych układów logicznych PLA (ang. programmable logic array) dwie kaskadowo połączone programowalne matryce bramek: AND i OR iloczyn montażowy (ang. wired-and) PAL (ang. programmable array logic) programowalna matryca bramek AND i nieprogramowalne bramki OR wbudowane przerzutniki możliwość łączenia wyjść przerzutników z wejściami matrycy AND zwykle klika lub kilkanaście kompletów matryc CPLD (ang. complex programmable logic device) wiele układów PAL komunikujących się przez programowalne połączenia FPGA (ang. field programmable gate array) wiele małych bloków logicznych realizujących funkcję kombinacyjną i pamięciową specjalizowane bloki, np. RAM, układ mnożący bloki łączone za pomocą programowalnych połączeń

PLA matryce bramek x 2 x 1 x 0 } {{ } matryca AND } {{ } matryca OR z 1 z 0 0

PLA realizacja bramki NOR y 0 x 1 x 2 V DD y 0 V SS x 1 x 2

PAL pojedyncza komórka z przerzutnikiem

PAL macierz bramek AND i bramki OR x 2 x 1 x 0 } {{ } matryca AND z 1 z 0

FPGA pojedyncza komórka

FPGA połączenia

FPGA pamięć konfiguracji SRAM programowanie w systemie potrzebna zewnętrzna pamięć nieulotna (ang. boot device) Pamięć stała, jednokrotnie programowalna antybezpieczniki bezpieczniki PROM Pamięć stała, wielokrotnie reprogramowalna EPROM EEPROM Flash

FPGA dodatkowe bloki Generator wewnętrznych sygnałów zegarowych Układ mnożący Dwuportowa pamięć RAM JTAG

BASYS 2

BASYS 2 100K Xilinx Spartan3E-100 CP132 Zegar 25, 50 lub 100 MHz Gniazdo na dodatkowy oscylator 8 przełączników bistabilnych 4 przyciski monostabilne 8 diod świecących 4-cyfrowy multipleksowany wyświetlacz 7-segmentowy 4 złącza 6-stykowe do podłączania układów peryferyjnych VGA PS/2 Progamowanie i zasilanie przez USB Zewnętrzna pamięć programu Flash

Najmniejszy z rodziny Spartan3E XC3S100E 2160 komórek logicznych Równoważnik 100000 bramek logicznych 15 Kib rozproszonej RAM 72 Kib dwuportowej RAM 4 układy mnożące 18-bitowe 2 generatory wewnętrznych synałów zegarowych 108 wejść-wyjść

Największy z rodziny Spartan3E XC3S1600E 33192 komórek logicznych Równoważnik 1600000 bramek logicznych 231 Kib rozproszonej RAM 648 Kib dwuportowej RAM 36 układów mnożących 18-bitowych 8 generatory wewnętrznych synałów zegarowych 376 wejść-wyjść Spartan3E to rodzina tanich FPGA z niższej półki

DE2

DE2 Altera Cyclone II EP2C35 Zegar 27 lub 50 MHz Programowanie przez USB Zewnętrzny zasilacz 9 V 18 przełączników bistabilnych, 4 przyciski monostabilne 27 diod świecących, 8-cyfrowy wyświetlacz 7-segmentowy Alfanumeryczny LCD 16 2 Wejścia i wyjście analogowe (przetwornik 24-bitowy A/D) Wyjście wideo (VGA, 10-bitowy przetwornik D/A) Wejście wideo (NTSC/PAL/Multi-format) RS232, USB 2.0 A i B Odbiornik i nadajnik na podczerwień PS/2 do podłączenia myszy lub klawiatury Ethernet 10/100 Mbit/s 2 złącza 40-pinowe do podłączania układów peryferyjnych 8 MiB SDRAM, 512 KiB SRAM, 4 MiB Flash Gniazdo pamięci SD

Cyclone II EP2C5 4608 komórek logicznych 119808 b RAM 33 układów mnożących 18-bitowych 2 PLL 158 wejść-wyjść binarnych EP2C35 33216 komórek logicznych 483840 b RAM 35 układów mnożących 18-bitowych 4 PLL 475 wejść-wyjść binarnych EP2C70 68416 komórek logicznych 1152000 b RAM 150 układów mnożących 18-bitowych 4 PLL 622 wejść-wyjść binarnych Cyclone II to rodzina tanich FPGA z niższej półki

Inne FPGA Xilinx Virtex-6, Spartan-6, EasyPath-6 Altera Stratix V, Aria V, HardCopy V, MAX V Actel Aeroflex Atmel Lattice Semiconductor...

Literatura Józef Kalisz i in.: Język VHDL w praktyce. WKŁ, Warszawa 2002. Marcin Nowakowski: PicoBlaze. Mikroprocesor w FPGA. Wydawnictwo BTC, Legionowo 2009. Jacek Majewski, Piotr Zbysiński: Układy FPGA w przykładach. Wydawnictwo BTC, Warszawa 2007. Kevin Skahill: Język VHDL. Projektowanie programowalnych układów logicznych. WNT, Warszawa 2001, 2004. Mark Zwoliński: Projektowanie układów cyfrowych z wykorzystaniem języka VHDL. WKŁ, Warszawa 2002, 2007.

Środowisko pracy Xilinx ISE Design Suite kompatybilne z układami Xilinxa każdy producent ma swoje środowisko, ale wszystkie wyglądają prawie identycznie korzystamy z darmowej wersji Xilinx ISE WebPack Digilent Adept narzędzie pomocnicze dla płytki BASYS 2 umożliwia wgrywanie programów wyprodukowanych przez ISE oraz komunikację z odpowiednio zaprogramowanym układem

Instalacja Wymagania: dużo RAM-u, co najmniej 1 GiB dużo dysku, ok. 10 GiB Skąd ściągnąć? http://www.xilinx.com/support/download/index.htm (wymaga rejestracji) http://www.digilentinc.com/products/detail.cfm? Prod=ADEPT Uruchomienie: Start Wszystkie programy Xilinx ISE Design Suite ISE Design Tools 64-bit Project Navigator Jeśli trzeba uaktualnić licencję: w labach: Help Manage License... Copy License... C:\...\Xilinx-webpack.lic w domu: Help Obtain a License Key... Get Free ISE WebPack License Poszczególne licencje różnią się rozmiarem obsługiwanych układów. Licencje potrzebne są także, aby używać gotowych komponentów.

Nowy projekt File New Project... Parametry: Family: Spartan 3E Device: XC3S100E Package: CP132 Speed: -5 Synthesis tool: XST Simulator: ISim Preferred language: VHDL

Nowy projekt

Nowy projekt Potrzebujemy stworzyć: wysokopoziomowy opis układu, który chcemy zaprogramować w języku VHDL; opis jego konfiguracji wewnątrz FPGA, w szczególności: podłączenia sygnałów do nóżek układu, wymaganych ograniczeń np. co do opóźnień sygnałów (to będzie w pliku.ucf User Constraints File).

Nowy projekt Project New Source... VHDL Module main library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity main is port ( btn : in std_logic_vector (3 downto 0); sw : in std_logic_vector (7 downto 0); led : out std_logic_vector (7 downto 0) ); end main; architecture behavioral of main is begin led <= sw; end behavioral;

Nowy projekt Project New Source... Implementation Constraints File basys2config NET "led<0>" LOC = "M5"; NET "led<1>" LOC = "M11"; NET "led<2>" LOC = "P7"; NET "led<4>" LOC = "N5"; NET "led<5>" LOC = "N4"; NET "led<3>" LOC = "P6"; NET "led<6>" LOC = "P4"; NET "led<7>" LOC = "G1"; NET "sw<0>" LOC = "P11"; NET "sw<1>" LOC = "L3"; NET "sw<2>" LOC = "K3"; NET "sw<3>" LOC = "B4"; NET "sw<4>" LOC = "G3"; NET "sw<5>" LOC = "F3"; NET "sw<6>" LOC = "E2"; NET "sw<7>" LOC = "N3"; NET "btn<0>" LOC = "G12"; NET "btn<1>" LOC = "C11"; NET "btn<2>" LOC = "M4"; NET "btn<3>" LOC = "A7";

Zegar konfiguracyjny FPGA rozpoczyna pracę (np. włączenia zasilania) od wczytania konfiguracji zaprogramowanego obwodu. Na płytce BASYS 2 mamy do wyboru dwa źródła, wybierane zworką MODE w prawym górnym rogu, z których ona może pochodzić: z pamięci nieulotnej (PROM) na płytce, z podłączonego komputera, przy użyciu interfejsu JTAG. Na zajęciach, o ile nie będzie zaznaczone inaczej, zawsze uruchamiamy układ przez interfejs JTAG. W ten sposób w pamięci nieulotnej będzie zawsze konfiguracja testowa, dzięki której można sprawdzić sprawność płytki.

Zegar konfiguracyjny Po zaprogramowaniu układ wykonuje sekwencję startową, do której potrzebuje aktywnego zegara. Informacja o tym, z której nóżki powinien pochodzić, musi być zapisana w pliku programu. Domyślnie jest tam ustawiony zegar pamięci nieulotnej, co należy zmienić: w oknie hierarchii należy wybrać moduł main, w oknie akcji (poniżej) rozwinąć Implement Design, klinąć prawym na Generate Programming File i wybrać Process Properties..., w części Startup Options wybrać JTAG Clock jako FPGA Start-Up Clock.

Kompilacja Process Implement Top Level Module Kroki kompilacji: synteza (Synthesis) zamiana kodu wysokopoziomowego na opis sprzętowy ( bramki i druty ) translacja (Translation) dołączenie informacji konfiguracyjnych do opisu sprzętowego odwzorowanie (Map) wyrażenie opisanego sprzętu w postaci elementów dostępnych na FPGA rozmieszczenie (Place and Route) przypisanie elementów w konkretne miejsca dostępne na FPGA wygenerowanie pliku do zaprogramowania (Generate Programming File) plik wynikowy ma rozszerzenie.bit. Obejrzeć raporty, schematy i takie tam bajery.

Symulacja Project New Source... VHDL Test Bench maintest Usuń kod odpowiadający za generowanie zegara, którego nie ma, a proces stim proc zaimplementuj np. tak: stim_proc: process begin wait for 1us; btn(0) <= 1 ; sw <= "01010101"; assert led = "01010101"; wait for 1us; btn(1) <= 1 ; sw <= "11010101"; assert led = "11010101"; wait for 1us; btn(2) <= 1 ; sw(7) <= not sw(7); wait; end process;

Symulacja Nie zapomnij zapisać pliku. Ponad panelem hierarchii wybierz Simulation i Behavioral. Zaznacz moduł maintest (a nie main!). W oknie procesów uruchom Behavioral Check Syntax (to ważne!). W oknie procesów uruchom Simulate Behavioral Model. Pobaw się okienkiem, które się pojawiło. Spróbuj wykonać to samo dla symulacji z uwzględnieniem efektów faktycznego rozmieszczenia elemenów w FPGA (Post-Route). Co się zmieniło?

Symulacja

Uruchomienie Podłącz płytkę do komputera. Ustaw zworkę MODE w pozycji PC, a POWER na ON. Uruchom program Adept. Zaprogramuj wygenerowany plik main.bit na FPGA.

Cyknij fotę na twarzoksiąg

Nudzi Ci się? Sprawdź, czy działa przerzutnik D? Kod w VHDL-u jest na wcześniejszym slajdzie. Jaka jest jego maksymalna rozsądna szybkość taktowania zegara?