[FPGA] MAXimator, konfigurowanie NIOS II
: wtorek 19 kwie 2016, 22:44
Jak by ktoś nie wiedział czym jest NIOS II to już wyjaśniam, jest to 32 bitowy mikroprocesor.
Zaczynamy, w Quartusie tworzymy nowy projekt, uruchamiamy narzędzie Qsys i dodajemy po kolei:
Nios II Processor, w pierwszej zakładce zmieniamy w Nios II Core na Nios II/e i Finish
On-Chip Memory (RAM or ROM), odznaczamy opcję Initialize memory content i Finish
JTAG UART, nic nie zmieniamy, Finish
PIO (Parallel I/O), zmieniamy opcję Width (1-32 bits) na 4, Finish
Kolejny raz dodajemy PIO (Parallel I/O), zmieniamy opcję Width (1-32 bits) na 2 oraz Direction na Input, Finish
Mamy coś takiego, teraz trzeba wszystko ładnie po podłączać i skonfogurować:
pio_0, prawy myszy, rename, wpisujemy LED, pio_1, zmieniamy na BUTTON
Przy LED i BUTTON przyy external_connection w kolumnie Export na napisie Double-click to export klikamy dwukrotnie, i nadajemy nazwę np led i button.
Kolumna Connections
Z clk_0 podpinamy wszedzie clk i clk_reset.
Z nios2_gen2_0 sygnał data_master podpinamy wszedzie, czyli onchip_memory2_0, jtag_uart_0, LED, BUTTON
Z nios2_gen2_0 sygnał instruction_master podpinamy do onchip_memory2_0
Z nios2_gen2_0 sygnał debug_reset_request podpinmy wszedzie.
Z jtag_uart_0 sygnał irq podpinamy do nios2_gen2_0
Teraz bardzo ważny moment, trzema przydzielić adresy bazowe poszczególnym komponentom, z menu System wybieramy Assign Base Addresses
Kolejny krok to konfiguracja procesora, klikamy prawym myszy na nios2_gen2_0, wybieramy Edit.
W zakładce Vectors zmieniamy w:
Reset vector memory z None na onchip_memory2_0.s1
Exception vector memory z None na onchip_memory2_0.s1
Gotowe, tak wygląda skonfogurowany procesor:
klikamy finish, nadajemy nazwę (np. processor), generujemy.
Zaczynamy, w Quartusie tworzymy nowy projekt, uruchamiamy narzędzie Qsys i dodajemy po kolei:
Nios II Processor, w pierwszej zakładce zmieniamy w Nios II Core na Nios II/e i Finish
On-Chip Memory (RAM or ROM), odznaczamy opcję Initialize memory content i Finish
JTAG UART, nic nie zmieniamy, Finish
PIO (Parallel I/O), zmieniamy opcję Width (1-32 bits) na 4, Finish
Kolejny raz dodajemy PIO (Parallel I/O), zmieniamy opcję Width (1-32 bits) na 2 oraz Direction na Input, Finish
Mamy coś takiego, teraz trzeba wszystko ładnie po podłączać i skonfogurować:
pio_0, prawy myszy, rename, wpisujemy LED, pio_1, zmieniamy na BUTTON
Przy LED i BUTTON przyy external_connection w kolumnie Export na napisie Double-click to export klikamy dwukrotnie, i nadajemy nazwę np led i button.
Kolumna Connections
Z clk_0 podpinamy wszedzie clk i clk_reset.
Z nios2_gen2_0 sygnał data_master podpinamy wszedzie, czyli onchip_memory2_0, jtag_uart_0, LED, BUTTON
Z nios2_gen2_0 sygnał instruction_master podpinamy do onchip_memory2_0
Z nios2_gen2_0 sygnał debug_reset_request podpinmy wszedzie.
Z jtag_uart_0 sygnał irq podpinamy do nios2_gen2_0
Teraz bardzo ważny moment, trzema przydzielić adresy bazowe poszczególnym komponentom, z menu System wybieramy Assign Base Addresses
Kolejny krok to konfiguracja procesora, klikamy prawym myszy na nios2_gen2_0, wybieramy Edit.
W zakładce Vectors zmieniamy w:
Reset vector memory z None na onchip_memory2_0.s1
Exception vector memory z None na onchip_memory2_0.s1
Gotowe, tak wygląda skonfogurowany procesor:
klikamy finish, nadajemy nazwę (np. processor), generujemy.