32-bitowy procesor w maXimatorze: czy nadal wolisz Arduino?
Quartus Prime to zaawansowane środowisko dedykowane do obsługi układów programowalnych firmy Altera. Przy jego użyciu można implementować w FPGA najbardziej wyrafinowane projekty, używając różnych metod (za pomocą tekstu, schematów lub grafów) i języków opisu sprzętu (VHDL, Verilog czy AHDL), można także „wyklikać” konfiguracje IP core’ów za pomocą narzędzia Qsys.
Jednym z takich „wyklikiwanych” elementów jest 32-bitowy procesor NIOS II (rysunek 1), w artykule przedstawimy krok po kroku, jak go do pracy w maXimatorze i jak napisać oraz uruchomić program napisany w C. Żeby to zrobić, nie trzeba znać VHDL-a ani Verilog-a! Wystarczy znać język programowania C.
W prezentowanym projekcie zaimplementowano najprostszą wersję procesora NIOS II o nazwie NIOS II/e (od Economy), skrócone charakterystyki wszystkich wariantów pokazano w tabeli 1.
Tab. 1. Zestawienie najważniejszych cech procesorów NIOS II
W prezentowanym projekcie zaimplementowaliśmy w FPGA 32-bitowy mikroprocesor z pamięcią RAM, wyposażony w sprzętowy timer, podłączony do 4 bitowego cyfrowego wyjścia GPIO. Timer generuje przerwanie co pół sekundy i jest ono obsługiwane przez funkcję irr().Jeśli chodzi o samo programowanie, należy zwrócić uwagę na to, że nie operujemy bezpośrednio na adresach urządzeń a na zdefiniowanych nazwach, jest to bardzo ważne ponieważ przy modyfikacji projektu w Qsys-ie adresy bazowe dla poszczególnych komponentów mogą się zmienić.
Wszystkie najważniejsze definicje wygenerowane automatycznie przez Qsys na podstawie zadanych w nim wartości parametrów, znajdują się w pliku system.h w projekcie NIOS_LED.bsp, warto również zapoznać się z plikami znajdującymi się w katalogu drivers/inc w projekcie NIOS_LED.bsp. W tych plikach znajdują się makra ułatwiające pracę z komponentami wygenerowanymi w Qsys-ie, przy okazji widać jakie są możliwości sterowania komponentami.
Tworzenie nowego projektu
Po uruchomieniu programu Quartus z menu wybieramy File->New…
Wybieramy New Quartus Prime Project i naciskamy OK. Pojawia się okienko New Project Wizard, klikamy Next, wybieramy katalog w którym będzie projekt, wpisujemy nazwę projektu i klikamy Next.
W okienku (Project Type) zostawiamy wybraną opcję Empty project i klikamy Next, na następnym (Add Files) też NEXT. W okienku Family, Device & Board Settings wybieramy Family – MAX 10 i na liście (Available devices) wybieramy układ 10M08DAF256C8GES i klikamy Finish.
Konfiguracja NIOS-a
Uruchamiamy narzędzie Qsys wybierając z menu Tools->Qsys. W okienku IP Catalog wpisujemy NIOS, na samym dole listy wybieramy Nios II Processor i klikamy +Add…
Pojawi się okienko konfiguracji procesora, wybieramy Nios II/e i klikamy Finish.
Dalej tak samo dodajemy pamięć RAM, wpisujemy w pole (Total memory size) 32768.
oraz dodajemy i konfigurujemy timer:











Google stawia na fuzję jądrową. AI potrzebuje coraz więcej energii
Fotowoltaika perowskitowa: od wydajności laboratoryjnej do masowej komercjalizacji
Czy kamery termowizyjne pokazują nam całą prawdę? 

![https://www.youtube.com/watch?v=XkeyLmtLfxo O konkursie organizowanym przez firmę TRUMPF Huettinger i polskie uczelnie techniczne opowiada Alicja Peresada i prof. Jacek Rąbkowski oraz kilkoro nagrodzonych dyplomantów: mgr inż. Jakub Dobosz, inż. Maja Zielińska, dr inż. Jakub Kołodziej, dr inż Weronika Hryniewska-Guzik i dr inż. Grzegorz Bartyzel. Zapraszamy do obejrzenia filmu! [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/07/TRUMPF-czolowka.png)



