1 / 62

KOMPONENTY TYPU SLAVE

KOMPONENTY TYPU SLAVE. 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!.

imala
Télécharger la présentation

KOMPONENTY TYPU SLAVE

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. KOMPONENTY TYPU SLAVE 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... …/szkolenie3.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: szkolenie3_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 (3/5) Przydzielenie przestrzeni adresowej i priorytetów przerwań: System • Auto-AssignBaseAddresses • Auto-AssignIRQ’s

  14. 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

  15. Tworzenie komponentu

  16. AlteraNios II

  17. Altera Avalon (1/2) • „System” realizujący połączenia między komponentami • MemoryMapped – komponenty rozmieszczone w przestrzeni adresowej • StreamingMode – bezpośrednie połączenie między komponentami

  18. Altera Avalon (2/2) • Każdy port typu Master posiada bezpośrednie połączenie z wybranym portem typu Slave • W przypadku próby jednoczesnego dostępu wykonywany jest arbitraż (w przykładzie 4:1)

  19. Sygnały (1/6) Sygnały kontrolne: • [in] reset – reset • [in] clk – zegar • [out] irq – przerwanie (musi trwać wystarczająco długo, mechanizm dezaktywacji)

  20. Sygnały (2/6) Szyny danych: • [in] writedata(.. downto 0) – szyna przesyłająca dane do komponentu • [out] readdata(.. downto 0) – szyna odczytująca dane z komponentu • [bidir] data(.. downto 0) – szyna dwukierunkowa Szyny muszą być tej samej szerokości. Szerokość szyn musi być potęgą 2.

  21. Sygnały (3/6) address - szyna adresowa • [in] address(.. downto 0) – szyna adresowa określająca rejestr docelowy IOWR( SWAP_IN1_BASE, 1, data); address <= b’01’ if (address = b’00’ ) then register_0 <= writedata; elsif (address = b’01’ ) then register_1 <= writedata; … Czy to zadziała z DMA ??

  22. Sygnały (4/6) write - żądanie zapisu

  23. Sygnały (5/6) read - żądanie odczytu

  24. Sygnały (6/6) waitrequest - żądanie wstrzymania transferu

  25. Przykładowy zapis process(clk) variableaddr : INTEGER := conv_integer(address); begin if(clk'eventandclk ='1') then if( (write ='1') and (chipselect='1') ) then registers(addr) <= writedata; end if; end if; end process;

  26. Przykładowy odczyt process(clk) variableaddr : INTEGER := conv_integer(address); begin if(clk'eventandclk ='1')then if( (read='1') and (chipselect='1') ) then readdata<= registers(addr); endif; end if; end process;

  27. Konwencja nazw sygnałów (typ portu)_(nazwa portu)_(nazwa sygnału) Np. csi_clock_clk : inSTD_LOGIC; csi_clock_reset_n : inSTD_LOGIC; ins_interrupt_irq : out STD_LOGIC; avs_in1_chipselect : inSTD_LOGIC; avs_in1_write_n : inSTD_LOGIC; avs_in1_address : inSTD_LOGIC_VECTOR(1 downto 0); avs_in1_writedata : inSTD_LOGIC_VECTOR(31 downto 0); avs_out1_chipselect : inSTD_LOGIC; avs_out1_read_n : inSTD_LOGIC; avs_out1_address : inSTD_LOGIC_VECTOR(1 downto 0); avs_out1_readdata : out STD_LOGIC_VECTOR(31 downto 0));

  28. Dodanie komponentu

  29. Uwaga! Katalog z kodem komponentu musi znajdować się w katalogu projektu !!

  30. Dodanie plików

  31. Sygnały

  32. Przerwanie

  33. Port in1

  34. Port out1

  35. Architektura systemu

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

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

  38. 3. Dodanie systemu do projektu (2/2) Połączenie pinów z systemem: • clk_0 clk • reset_n reset

  39. 4. Przypisanie pinów do projektu Dodanie obrazu systemu do pliku projektu: AssignmentsAssignmentEditor Category: PIN clk PIN_N2 reset_n PIN_G26

  40. 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

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

  42. Programowanie

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

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

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

More Related