LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2017 Prowadzący: mgr inż. Maciej Rudek email: maciej.rudek@pwr.edu.pl Pierwszy projekt w środowisku Quartus Prime 16.1 Lite Edition 1. Cel zajęć: Zapoznanie się ze środowiskiem Quartus Prime 16.1 Lite Edition Zapoznanie się z architekturą układu Altera MAX 10 Stworzenie projektu w środowisku Quartus Prime 16.1 Lite Edition Tworzenie symulacji Synteza, fizyczna implementacja kodu w strukturę FPGA Zadania Proste struktury umożliwiające m. in.: sterowanie diodami LED z wykorzystaniem przycisków, proste konstrukcje logiczne asynchroniczne - bramki AND, OR, NAND, NOR, XOR, XNOR, multipleksery, demultipleksery, proste konstrukcje synchroniczne, wykorzystanie procesów i zmiennych - dzielniki częstotliwości, liczniki, maszyny stanowe, sterowanie diodami LED. Prowadzący może modyfikować program w zależności od postępów grupy.
Zadania: Uruchomić oprogramowanie klikając na ikonę programu: Quartus Prime 16.1 Lite Edition (z prawej), znajdującej się na pulpicie. Następnie poczekać na uruchomienie głównej aplikacji oprogramowania, dostarczonego przez producenta. Po chwili pojawi się głowne okno aplikacji Quartus Prime 16.1 Lite Edition: Następnie klikamy na New Project Wizard, po chwili pojawi się okienko zachęcające do akcji z informacjami o kolejnych krokach, następnie klikamy na przycisk NEXT i przechodzimy do wyboru ścieżki dostępu projektu oraz jego nazwy. 1 2 Rys 1 Pierwsze okno informacyjne podczas tworzenia nowego projektu Rys 2 Wybór ścieżki dostępu (1) oraz nazwy projektu (2)
Kolejnym krokiem jest wybór typu projektu, Empty project lub project template. Klikamy na pierwszy z nich, następnie przechodzimy do okna dodawania gotowych plików potrzebnych w projekcie. Rys 3 Wybór typu projektu Rys 4 Okno dodawania już gotowych plików, które mogą zostać wykorzystane w projekcie. Kolejnym krokiem jest wybór jednostki na której ma zostać wykonany projekt, należy wybrać w opcji Family rodzinę MAX 10, następnie wszystkie urządzenia w liście Device. Na koniec należy wybrać z listy Avialable devices urządzenie: 10M08DAF256C8GES Rys 5 Wybór urządzenia na którym zostanie wykonany projekt końcowy
Po stworzeniu projektu należy dodać pliki projektu na których zostanie wykonany projekt. W tym celu należy skorzystać z opcji: File New i wybrać w celach poznawczych opcję Block Diagram/Schematic File. Dzięki temu będzie możliwe przejście do opcji wykonywania schematu z poszczególnych elementów. Wybór elementów dodawany jest przez użycie opcji Symbol Toools., rozwijając opcję primitives logic, można wybrać np. bramkę AND w celu wykonania pierwszego projektu. Kolejnym krokiem jest akceptacja wyboru elementu i umiejscowienie go na polu schematu. Nastepnie należy dołączyć wejścia i wyjścia korzystając z opcji Pin Tool i połączyć je z nóżkami symbolu za pomocą opcji Diagonal Node Tool, nadać im nazwy A, B i X.
Kolejną czynnością jest wykonanie kompilacji przez wybór opcji Start Compilation. W razie prawidłowości, pozytywny proces kompilacji zostanie pokazany w okienku Massages: Kolejnym krokiem jest przejście do Analysis & Snthesis Netlist Viewers RTL Viewer. W celu podejrzenia struktury wykonanego układu. Następnie przechodząc do głównego okna należy wybrać opcję Pin Planner znajduącą się w Analysis & Snthesis I/O Assignment Analysis Po wykonaniu przypisania pinów na schemacie do pinów w fizycznym układzie. Należy zamknąć okno przejść do głównego i znów wykonać kompilacje przez wybór opcji Start Compilation. Jeśli oprogramowanie nie zgłasza żadnych błędów można przystąpić do programowania układu przez wybór opcji: Programmer.
Po uruchomieniu okna do programowania, należy wybrać ADD File i z katalogu output_file wybrać plik zakończony rozszerzeniem *.sof. Jeśli programator jest prawidłowo wykryty możliwe jest wykonanie programowania przez wykonanie akcji na przycisku Start. https://www.youtube.com/watch?v=cxlgaxxixk8 http://mikrokontroler.pl/2016/09/29/2-pierwsze-kroki-fpga-szkola-maximatora-pierwszyprojekt-edytorem-schematow/3/ https://blog.kamami.pl/?p=7119 http://maximator-fpga.org/