1 / 58

TWORZENIE SYSTEMU NIOS II

TWORZENIE SYSTEMU NIOS II. Orkiszewski Marcin. Koło Naukowe Układów Cyfrowych DEMAIN. Altera NIOS II. Wymagane oprogramowanie: Quartus II v. 9.0 Nios IDE v. 9 .0 Do pobrania na stronie www.altera.com. Uwaga!.

tamar
Download Presentation

TWORZENIE SYSTEMU NIOS II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TWORZENIE SYSTEMU NIOS II Orkiszewski Marcin Koło Naukowe Układów Cyfrowych DEMAIN

  2. Altera NIOS II • Wymagane oprogramowanie: • Quartus II v. 9.0 • Nios IDE v. 9.0 • Do pobrania na stronie www.altera.com

  3. Uwaga! • Katalogi, w których instalujemy oprogramowanie oraz w których zakładamy projekty: ! NIE MOGĄ zawierać spacji !

  4. Uwaga! • Unikać powtarzania nazw: - block diagram: <..>_project - SOPC: <..>_sopc - Nios IDE <..>_soft • W razie problemów www.google.com

  5. Tworzenie systemu

  6. 1. Utworzenie projektu (1/3) Utworzenie pliku z obrazem systemu: Quartus II File New… Block Diagram/Schematic File

  7. 1. Utworzenie projektu (2/3) Założenie projektu: File Save As... …/szkolenie1.bdf „Do you want to create a newprojectwiththis file?” Tak

  8. 1. Utworzenie projektu (3/3) Wybór układu: Family: Cyclone II Device: EP2C35F672C6

  9. 2. Stworzenie systemu NIOS II (1/5) Utworzenie systemu Nios II: ToolsSOPC Builder System Name: szkolenie1_sopc Target HDL: VHDL

  10. 2. Stworzenie systemu NIOS II (2/5) Dodanie procesora CPU: Nios II ProcessorNios II/e

  11. 2. Stworzenie systemu NIOS II (2/5) Dodanie pamięci RAM (On-Chip): Memories and MemoryControllers On-Chip On-ChipMemory Memorytype: RAM Data width: 32 Total memorysize: 16 KBytes

  12. 2. Stworzenie systemu NIOS II (2/5) Dodanie komponentu JTAG Uart: InterfaceProtocols Serial JTAG UART

  13. 2. Stworzenie systemu NIOS II (2/5) Dodanie portów I/O (diody LED): PeripheralsMicrocontrollerPeripherals PIO (Parallel I/O) Outputportsonly - Width: 8

  14. 2. Stworzenie systemu NIOS II (2/5) Dodanie portów I/O (przełączniki SWITCH): PeripheralsMicrocontrollerPeripherals PIO (Parallel I/O) Inputportsonly - Width: 8

  15. 2. Stworzenie systemu NIOS II (2/5) Dodanie licznika czasu (Timer): PeripheralsMicrocontrollerPeripheralsIntervalTimer Period: 1 ms + Writable period, Start/Stop controlbits

  16. 2. Stworzenie systemu NIOS II (2/5) Zmiana nazw komponentów (Ctrl + R): • pio_0 leds • pio_1 buttons • timer_1 timer Powyższe nazwy będą używane w kodzie programu!

  17. 2. Stworzenie systemu NIOS II (3/5) Przydzielenie przestrzeni adresowej i priorytetów przerwań: System • Auto-AssignBaseAddresses • Auto-AssignIRQ’s

  18. 2. Stworzenie systemu NIOS II (4/5) Ustawienie adresu początku programu i adresu wektora przerwań: cpu_0: Reset Vector: onchip_memory2_0 ExceptionVector: onchip_memory2_0

  19. 2. Stworzenie systemu NIOS II (5/5) Zapisanie i wygenerowanie systemu: GenerateSave

  20. 3. Dodanie systemu do projektu (1/2) Dodanie obrazu systemu do pliku projektu: Edit Insert Symbol… Project szkolenie1_sopc Dodanie pinów wejścia/wyjścia: • input + output

  21. 3. Dodanie systemu do projektu (2/2) Połączenie pinów z systemem: • clk_0 clk • reset_n reset • in_port_to_the_buttons[7..0]switch[7..0] • out_port_from_the_leds[7..0]led[7..0]

  22. 4. Przypisanie pinów do projektu Dodanie obrazu systemu do pliku projektu: Assignments Import Assignments… File name: DE2_PIN.csv

  23. 5. Zapisanie i kompilacja projektu Processing Start compilation - Wykorzystanie komórek logicznych - Wykorzystanie bloków pamięci Minimalna częstotliwość taktowania - Compilation Report Timing Analizer

  24. 6. Załadowanie obrazu do układu ToolsProgrammer - Hardware Setup ByteBlaster • Program/Configure • Start - Czasami przydatne bywa włączenie zasilania  -

  25. Programowanie

  26. 7. Założenie projektu (1/2) File New Project… Nios II C/C++ Application

  27. 7. Założenie projektu (2/2) Wskazanie obrazu systemu (.ptf): Selectprojecttemplate: Blank Project Name: szkolenie1_soft SOPC Builder System PTF File: ../szkolenie1_sopc.ptf • Finish

  28. 8. Kompilacja biblioteki • Prawy klawisz myszki na szkolenie1_soft_syslib • Properties System Library • Reduceddevicedrivers • Small C library itp.. • Prawy klawisz myszki na szkolenie1_soft_syslib • Build Project

  29. 9. Dodanie plików źródłowych (C/C++) • Prawy klawisz myszki na szkolenie1_soft • Import… File System • szkolenie1.h • szkolenie1_1.c • szkolenie1_2.c

  30. 10. Uruchomienie projektu Run Run… Nios II Hardware Main Project: szkolenie1_soft Target Connection: USB-Blaster • Run

  31. Program 1

  32. Program 1 Typy danych: • alt_8, alt_u8 • alt_16, alt_u16 • alt_32, alt_u32 • Nagłówki: • <stdio.h> - funkcja printf() • ”system.h” - adresy komponentów wygenerowane przy tworzeniu systemu SoPC

  33. Program 1 intmain() { alt_u8 variable; while(1) { variable = IORD_ALTERA_AVALON_PIO_DATA( BUTTONS_BASE ); IOWR_ALTERA_AVALON_PIO_DATA( LEDS_BASE, variable ); } return 0; }

  34. Komunikacja z komponentami Przez makrodefinicje: • IOWR_ALTERA_AVALON_PIO_DATA( LEDS_BASE, variable ); (wpis)(dane) typ komponentu rejestr adres bazowy • variable = IORD_ALTERA_AVALON_PIO_DATA( BUTTONS_BASE ); (dane) (odczyt) ”system.h” - nagłówek z adresami bazowymi komponentów ”altera_avalon_pio_regs.h” – nagłówek z makrami

  35. Komunikacja z komponentami Przez rejestry: • STATUS – stan pracy komponentu np. ukończenie liczenia, zgłoszenie przerwania • CONTROL – rejestr konfiguracyjny np. odblokowanie przerwań, start, stop, reset, itp.. • DATA – rejestr danych • SPECJALISTYCZNE – w zależności od komponentu np. DIRECTION, PERIODL, PERIODH, itd..

More Related