Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

SORTOWANIE (przykład zastosowania DMA)

Podobne prezentacje


Prezentacja na temat: "SORTOWANIE (przykład zastosowania DMA)"— Zapis prezentacji:

1 SORTOWANIE (przykład zastosowania DMA)
Orkiszewski Marcin Koło Naukowe Układów Cyfrowych DEMAIN

2 Zadanie: Posortować liczby 128-bitowe w jak najkrótszym czasie.
Liczby mogą się powtarzać. Liczba danych – 2^n (max. 4MB).

3 Algorytm sortujący: Jaki algorytm sortujący pasuje do układów FPGA ? Mergesort – rekurencyjne sklejanie uporządkowanych zbiorów. Sklejanie  łączenie strumieni.

4 Implementacja (1) SDRAM 8 MB (16 bit) 2x DMA 16 bit Komparator VHDL

5 Implementacja (1) – problemy…
SDRAM 8 MB (16 bit) zbyt wąska szyna danych (dane 128-bitowe) wydłużone porównywanie (komparator musi gromadzić dane) jednoczesny odczyt z SDRAM przez dwa DMA (znaczne spowolnienie odczytu)

6 Implementacja (2) Algorytm rekurencyjny
Tylko jedno DMA obsługujące SDRAM w danym momencie 2x DMA 128 bitowe (4x szybciej) Komparator 128 bitowy Algorytm rekurencyjny

7

8 Synchronizacja DMA_read pobiera dane z SDRAM i wypełnia pierwszą pamięć DMA_1 i DMA_2 wysyłają strumienie do komparatora DMA_RESULT odbiera posortowany strumień DMA_write zapisuje posortowane dane z drugiej pamięci do SDRAM

9 Merger128.vhd Dwa 128-bitowe porty wejściowe
Obsługa sygnału waitrequest dla każdego portu (pod DMA) Zawiera 2 liczniki dla danych wejściowych (ustawiane przez CPU): Jeżeli oba liczniki większe od 0, to wystaw na wyjście większą liczbę z dwóch strumieni oraz pobierz kolejną do porównania Jeżeli licznik dla danego strumienia osiągnął zero, to wystawiaj na wyjście liczbę z drugiego strumienia Jeżeli oba liczniki osiągnęły 0, zacznij od początku.

10 Założenie projektu

11 Altera NIOS II Wymagane oprogramowanie: Quartus II v. 9.0
Nios IDE v. 9.0 Do pobrania na stronie

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

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

14 1. Otworzenie projektu Quartus II Project Restore Archived Project…
Otworzenie archiwum projektu: Quartus II Project Restore Archived Project…

15

16

17 2. Kompilacja projektu Processing Start compilation
- Wykorzystanie komórek logicznych - Wykorzystanie bloków pamięci

18 3. Załadowanie obrazu do układu
Tools Programmer - Hardware Setup USB-Blaster Program/Configure Start - Czasami przydatne bywa włączenie zasilania  -

19 Programowanie

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

21 7. Założenie projektu (2/2)
Wskazanie obrazu systemu (.ptf): Select project template: Blank Project Name: szkolenie3_merger SOPC Builder System PTF File: ../szkolenie3_sopc.ptf Finish

22 8. Kompilacja biblioteki
Prawy klawisz myszki na szkolenie3_merger_syslib Properties System Library Reduced device drivers Small C library itp.. Build Project

23

24 9. Dodanie plików źródłowych (C/C++)
Prawy klawisz myszki na szkolenie3_merger Import… General File System szkolenie3_merger.h szkolenie3_functions.c szkolenie3_merger.c

25 10. Uruchomienie projektu
Run Run… Nios II Hardware Main Project: szkolenie3_merger Target Connection: USB-Blaster Run

26 Program

27 Program Gdy DMA_1 skończy kopiować dane do komparatora, uruchom DMA_read, aby uzupełnić dane dla strumienia, następnie ponownie uruchom DMA_1 Gdy DMA_2 skończy kopiować dane do komparatora, uruchom DMA_read, aby uzupełnić dane dla strumienia, następnie ponownie uruchom DMA_2 Gdy DMA_RESULT wypełni pamięć wynikami, uruchom DMA_write, aby zapisać wyniki do SDRAM, następnie ponownie uruchom DMA_RESULT

28 Wnioski Dzięki zastosowaniu „wirtualnego” podziału pamięci (adresami) możemy jednocześnie sortować i odczytywać / zapisywać dane! Całe sterowanie sortowaniem polega na odpowiednim uruchamianiu poszczególnych DMA wraz z wyliczonymi nowymi adresami!

29

30 Porównanie szybkości działania
MB

31 Materiały dostępne na stronie Koła
Publikacje 1 XII 2009


Pobierz ppt "SORTOWANIE (przykład zastosowania DMA)"

Podobne prezentacje


Reklamy Google