Oprogramowanie środowiska symulacji jednostek funkcjonalnych
Instrukcja użytkownika
O tym dokumencie
W tym dokumencie opisano, jak symulować jakoample Jednostka funkcjonalna akceleratora (AFU) wykorzystująca technologię Intel
Środowisko środowiska symulacyjnego (ASE) jednostki funkcjonalnej akceleratora (AFU). Szczegółowe informacje na temat możliwości środowiska ASE i architektury wewnętrznej można znaleźć w podręczniku użytkownika Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE).
Środowisko symulacyjne Intel Accelerator Functional Unit (AFU) (ASE) to sprzętowe i programowe środowisko symulacyjne dla dowolnej karty akceleracyjnej Intel FPGA Programmable® Acceleration Card (Intel FPGA PAC). To środowisko symulacyjne programowe obsługuje obecnie następujące układy Intel FPGA PAC: 10 GX FPGA
- Programowalna karta akceleracyjna Intel FPGA D5005
- Programowalna karta akceleracyjna Intel z technologią Intel Arria®
ASE zapewnia model transakcyjny dla protokołu Core Cache Interface (CCI-P) i model pamięci dla pamięci lokalnej dołączonej do układu FPGA.
ASE sprawdza również zgodność jednostki funkcjonalnej akceleratora (AFU) z następującymi protokołami i interfejsami API: - Specyfikacja protokołu CCI-P
- Avalon
Specyfikacja interfejsu mapowanego w pamięci (Avalon-MM). - Otwarty programowalny silnik akceleracyjny (OPAE)®
Tabela 1. Stos akceleracji dla procesorów Intel Xeon® z FPGA Słowniczek
Termin | Skrót | Opis |
Intel Acceleration Stack dla procesorów Intel Xeon® z układami FPGA | Stos przyspieszenia | Zbiór oprogramowania, oprogramowania sprzętowego i narzędzi zapewniających zoptymalizowaną pod kątem wydajności łączność między układem Intel FPGA a procesorem Intel Xeon. |
Programowalna karta akceleracyjna Intel FPGA (Intel FPGA PAC) | PAC Intel FPGA | Karta akceleratora PCIe* FPGA. Zawiera menedżera interfejsu FPGA (FIM), który łączy się z procesorem Intel Xeon poprzez magistralę PCIe. |
Skalowalna platforma Intel Xeon ze zintegrowanym układem FPGA | Zintegrowana platforma FPGA | Platforma Intel Xeon plus FPGA z procesorem Intel Xeon i układem FPGA w jednym pakiecie, współdzieląca spójną pamięć podręczną za pośrednictwem połączenia Ultra Path Interconnect (UPI). |
Informacje powiązane
Podręcznik użytkownika środowiska symulacyjnego (ASE) Intel Accelerator Functional Unit (AFU).
Korporacja intelektualna. Wszelkie prawa zastrzeżone. Intel, logo Intel i inne znaki Intel są znakami towarowymi firmy Intel Corporation lub jej oddziałów. Firma Intel gwarantuje działanie swoich produktów FPGA i produktów półprzewodnikowych zgodnie z aktualnymi specyfikacjami zgodnie ze standardową gwarancją firmy Intel, ale zastrzega sobie prawo do wprowadzania zmian w dowolnych produktach i usługach w dowolnym momencie i bez powiadomienia. Firma Intel nie przyjmuje żadnej odpowiedzialności wynikającej z zastosowania lub wykorzystania jakichkolwiek informacji, produktów lub usług opisanych w niniejszym dokumencie, chyba że zostało to wyraźnie uzgodnione na piśmie przez firmę Intel. Klientom firmy Intel zaleca się uzyskanie najnowszej wersji specyfikacji urządzenia przed skorzystaniem z jakichkolwiek opublikowanych informacji i złożeniem zamówienia na produkty lub usługi.
*Inne nazwy oraz marki mogą być własnością osób trzecich.
Zarejestrowany zgodnie z ISO 9001: 2015
Wymagania systemowe
Oto wymagania systemowe środowiska symulacyjnego (ASE) Intel Accelerator Functional Unit (AFU)::
- 64-bitowy system operacyjny Linux. W tej wersji zatwierdzono następujące systemy operacyjne:
— Dla Intel FPGA PAC D5005: - RHEL 7.6 z jądrem 3.10.0-957
— Dla Intel PAC z Intel Arria 10 GX FPGA: - RHEL 7.6 z jądrem 3.10.0-957
- Ubuntu 18.04 z jądrem 4.15
- Jeden z poniższych symulatorów:
— 64-bitowy symulator Synopsys* VCS-MX-2016.06-SP2-1 RTL Simulator
— 64-bitowa grafika Mentor* Modelsim SE Simulator (wersja 10.5c)
— 64-bitowy symulator graficzny Mentor QuestaSim (wersja 10.5c) - Kompilator C: GCC 4.7.0 lub nowszy
- CMake: wersja 2.8.12 lub nowsza
- Biblioteka GNU C: wersja 2.17 lub nowsza
- Python: wersja 2.7
- Oprogramowanie Intel Quartus® Prime Pro Edition w wersji 19.2 (1)
Konfigurowanie środowiska
Przed uruchomieniem środowiska ASE należy skonfigurować środowisko symulacyjne i zainstalować oprogramowanie OPAE.
- Ustaw następujące zmienne środowiskowe dla oprogramowania symulacyjnego:
• Dla VCS:
$ eksport VCS_HOME=
$ eksport PATH=$VCS_HOME/bin:$PATH
Struktura katalogów instalacyjnych VCS jest następująca:
Upewnij się, że Twój system ma ważną licencję VCS.
• Dla Modelsim SE/QuestaSim:
$ eksport MTI_HOME=
$ eksport PATH=$MTI_HOME/linux_x86_64/:$MTI_HOME/bin/:$PATH
Struktura katalogów instalacyjnych Modelsim/Questa jest następująca:
Upewnij się, że Twój system ma ważną licencję Modelsim SE/QuestaSim.
• Dla Intel Quartus Prime Pro Edition:
$ eksport QUARTUS_HOME=
Struktura katalogów instalacyjnych Intel Quartus Prime jest następująca:
Dodaj zmienną środowiskową, aby sprawdzić licencję Modelsim:
$ eksport MGLS_LICENSE_FILE= - Eksport:
$ eksport LM_LICENSE_FILE= - Wyodrębnij archiwum wykonawcze filei zainstaluj biblioteki OPAE, pliki binarne, include files i biblioteki ASE zgodnie z opisem w sekcji: Instalowanie pakietu oprogramowania OPAE w odpowiednim Podręczniku użytkownika Intel Acceleration Stack Szybki start dla komputera Intel FPGA PAC.
Aby można było skonfigurować i zbudować jednostkę AFU, środowisko musi być poprawnie skonfigurowane. W szczególności należy prawidłowo zainstalować zestaw OPAE Software Development Kit (SDK). Skrypty OPAE SDK muszą znajdować się w PATH i zawierać files i biblioteki, które muszą być dostępne dla kompilatora C. Ponadto należy upewnić się, że zmienna środowiskowa OPAE_PLATFORM_ROOT jest ustawiona. Więcej informacji można znaleźć w części Instalacja pakietu oprogramowania OPAE.
Aby mieć pewność, że pakiet OPAE SDK i ASE są prawidłowo zainstalowane, w powłoce sprawdź, czy ścieżka PATH zawiera afu_sim_setup. Plik afu_sim_setup powinien znajdować się w katalogu /usr/bin lub w jeśli zbudowałeś OPAE ze źródła files.
Informacje powiązane
- Podręcznik użytkownika środowiska symulacyjnego (ASE) Intel Accelerator Functional Unit (AFU).
- Instalowanie pakietu oprogramowania OPAE
Dla Intel PAC z Intel Arria 10 GX FPGA. - Instalowanie pakietu oprogramowania OPAE dla Intel FPGA PAC D5005.
Symulacja hello_afu w trybie klient-serwer
Hello_afu, byłyample to prosty szablon AFU demonstrujący podstawowy interfejs CCI-P. RTL spełnia minimalne wymagania jednostki AFU, odpowiadając na odczyty wejść/wyjść mapowanych w pamięci w celu zwrócenia nagłówka funkcji urządzenia i identyfikatora UUID jednostki AFU.
Rysunek 1. Drzewo katalogów hello_afu
Notatka:
W tym dokumencie zastosowanoample>, aby odnieść się do byłegoample design, taki jak hello_afu na powyższym rysunku.
Oprogramowanie przedstawia minimalne wymagania dotyczące podłączenia do układu FPGA przy użyciu OPAE. RTL demonstruje minimalne wymagania, aby spełnić wymagania sterownika OPAE i hello_afu exampoprogramowanie.
filelist.txt określa files do symulacji i syntezy RTL.
Aby pomyślnie skonfigurować i zbudować AFU samples, środowisko musi być poprawnie skonfigurowane, zgodnie z opisem w sekcji Konfigurowanie środowiska.
Informacje powiązane
- Podręcznik użytkownika środowiska symulacyjnego (ASE) Intel Accelerator Functional Unit (AFU).
- Konfigurowanie środowiska na stronie 5
Opracowywanie AFU za pomocą OPAE SDK
W Przewodniku programisty jednostki funkcjonalnej akceleratora (AFU).
4.1. Symulacja w trybie klient-serwer
Następujący exampW pliku flow przedstawiono podstawowe skrypty ASE. Możesz symulować wszystkie examppliki z ASE, z wyjątkiem eth_e2e_e10 i eth_e2e_e40.
Symulacja wymaga dwóch procesów oprogramowania: jednego procesu do symulacji RTL i drugiego procesu do uruchomienia podłączonego oprogramowania. Aby skonstruować środowisko symulacyjne RTL, uruchom następujące polecenie w $OPAE_PLATFORM_ROOT/hw/samples/hello_afu:
$ afu_sim_setup –źródło hw/rtl/filelista.txt build_sim
To polecenie tworzy środowisko ASE w podkatalogu build_sim.
Aby zbudować i uruchomić symulator:
$ CD build_sim
$ zrobić
$ zrób sim
Symulator drukuje komunikat, że jest gotowy do symulacji. Wyświetla także komunikat z prośbą o ustawienie zmiennej środowiskowej ASE_WORKDIR.
Otwórz kolejną powłokę do symulacji oprogramowania. Musisz upewnić się, że zmienna środowiskowa OPAE_PLATFORM_ROOT jest ustawiona.
Aby zbudować i uruchomić oprogramowanie w nowej powłoce:
$ CD $OPAE_PLATFORM_ROOT
$ eksport ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/hello_afu/build_sim/work
$ cd $OPAE_PLATFORM_ROOT/hw/samples/hello_afu/sw
$ zrobić czysty
$ zrób USE_ASE=1
$ ./witaj_afu
Notatka:
Konkretna nazwa ścieżki dla ASE_WORKDIR może się różnić. Użyj nazwy ścieżki podanej w wierszu polecenia symulatora.
Oprogramowanie i symulator uruchamiają się, rejestrują transakcje i kończą działanie.
4.1.1. Dziennik symulacji Files
Katalog roboczy symulacji przechowuje przebieg, transakcje CCI-P i dziennik symulacji files.
Wykonaj następujące kroki, aby view baza danych przebiegów:
- Przejdź do katalogu, w którym wykonałeś polecenie make sim.
- Typ:
$ zrób falę
Polecenie make wave wywołuje przebieg vieweee.
4.1.2. Deklaracje projektowe
Następujące file i katalogi definiują symulację AFU:
- $OPAE_PLATFORM_ROOT/hw/samples/ample>/hw/rtl/filelist.txt określa źródła RTL.
- <AFU example> jest byłymample, jak pokazano na rysunku drzewa katalogów hello_afu.
- filelist.txt zawiera listę SystemVerilog, VHDL i notację obiektu JavaScript AFU (.json) file.
- Plik .json AFU opisuje interfejsy wymagane przez AFU. Zawiera także identyfikator UUID umożliwiający identyfikację jednostki AFU po jej pobraniu do układu FPGA.
- hw/rtl/hello_afu.json definiuje ccip_std_afu jako interfejs najwyższego poziomu, ustawiając afu-top-interfejs na ccip_std_afu. ccip_std_afu to podstawowy interfejs CCI-P obejmujący zegary, reset oraz struktury CCI-P TX i RX. Bardziej zaawansowany npamppliki definiują inne opcje interfejsu.
- Plik .json file deklaruje UUID AFU. Skrypt OPAE generuje identyfikator UUID. RTL ładuje UUID z afu_json_info.vh.
- sw/Makefile generuje plik afu_json_info.h. Oprogramowanie ładuje UUID z afu_json_info.h.
4.1.3. Rozwiązywanie problemów z symulacją klient-serwer
Jeśli polecenie afu_sim_setup nie powiedzie się, potwierdź, że:
- afu_sim_setup jest na Twojej ścieżce. afu_sim_setup powinien znajdować się w /usr/bin lub w jeśli zbudowałeś OPAE ze źródła files.
- Masz zainstalowany język Python w wersji 2.7 lub nowszej.
Jeśli nie możesz zbudować i uruchomić symulatora, prawdopodobnie nie zainstalowałeś poprawnie narzędzia symulacyjnego RTL.
Jeśli podczas próby skompilowania i uruchomienia oprogramowania zostanie wyświetlony komunikat „Błąd wyliczania AFC”, oznacza to, że pominięto ustawienie USE_ASE=1 w wierszu poleceń make. Oprogramowanie wyszukuje fizyczne urządzenie FPGA. Aby odzyskać, powtórz kroki z polecenia make clean.
Przykład AFUamples
Tabela 2.
Przykład AFUamples
Każdy np. AFUampplik zawiera szczegółowy plik README file, zawierający opis operacyjny i uwagi dotyczące sposobu symulacji projektu. Aby uzyskać pełne zrozumienie procesu symulacji, patrz dotview plik README file w każdym AFU example.
AFU | Opis | |
hello_mem_afu | hello_mem_afu demonstruje AFU, który buduje prostą maszynę stanów w celu uzyskania dostępu do pamięci. Maszyna stanów może korzystać z kilku wzorców dostępu do pamięci lokalnej podłączonej bezpośrednio do pinów FPGA, takiej jak moduły DIMM DDR4. Pamięć ta różni się od pamięci hosta, do której można uzyskać dostęp poprzez CCI-P. Host zarządza maszyną stanu kontrolera hello_mem_afu przy użyciu mapowanych w pamięci żądań we/wy (MMIO) do rejestrów kontrolnych i statusowych (CSR). | |
hello_intr_afu | hello_intr_afu demonstruje funkcję przerwania aplikacji w środowisku ASE. | |
DMA i f1.1 (2) _ | dma_afu demonstruje podstawowy blok konstrukcyjny DMA dla transferów pamięci z hosta do FPGA, FPGA do hosta i FPGA do FPGA. Podczas symulacji tej jednostki AFU rozmiar bufora używanego do transferu DMA jest mały, aby zapewnić rozsądny czas symulacji. Więcej informacji można znaleźć w Podręczniku użytkownika jednostki funkcjonalnej akceleratora DMA (AFU). | |
nlb_mode_O | nlb_mode_O to system CCI-P demonstrujący test kopiowania pamięci. $0PAE_PLATFORM_ROOT/sw/opae — liczba kreacji/łatwości>/sample/hello_fpga . c zawiera nlb_mode_0. | |
$ sh regres.sh -a -r rtl_sim -s < vcslmodelsimlquesta > [-i ) -B |
||
streaming_dma | streaming_dma demonstruje, jak przesyłać dane między pamięcią hosta a portem strumieniowym FPGA. Więcej informacji można znaleźć w Podręczniku użytkownika jednostki funkcjonalnej akceleratora strumieniowego DMA (AFU). | |
cześć_afu | hell lo_a fu to prosty AFU, który demonstruje podstawowy interfejs CCI-P. RTL spełnia minimalne wymagania AFU, odpowiadając na odczyty MMIO w celu zwrócenia nagłówka funkcji urządzenia i UUID AFU. |
Informacje powiązane
- Podręcznik użytkownika jednostki funkcjonalnej akceleratora DMA (AFU).
Aby uzyskać informacje na temat kompilowania i wykonywania dma_afu na komputerze Intel PAC z procesorem Intel Arria 10 GX FPGA. - Podręcznik użytkownika jednostki funkcjonalnej akceleratora DMA (AFU).
Aby uzyskać informacje na temat kompilowania i wykonywania streaming_dma_afu na komputerze Intel PAC z procesorem Intel Arria 10 GX FPGA. - Podręcznik użytkownika jednostki funkcjonalnej akceleratora DMA: Programowalna karta akceleracyjna Intel FPGA D5005
Aby uzyskać informacje na temat kompilowania i wykonywania dma_afu na Intel FPGA PAC D5005. - Podręcznik użytkownika jednostki funkcjonalnej akceleratora strumieniowego DMA: Programowalna karta akceleracyjna Intel FPGA D5005
Aby uzyskać informacje na temat kompilowania i wykonywania dma_afu na Intel FPGA PAC D5005.
Rozwiązywanie problemów
Jeśli podczas symulacji pojawi się następujący błąd, popraw go, wykonując poniższe czynności.
Komunikat o błędzie
# [SIM] Instancja ASE prawdopodobnie nadal działa w bieżącym katalogu!
# [SIM] Sprawdź PID 28816
# [SIM] Symulacja zakończy się… możesz użyć SIGKILL, aby zakończyć proces symulacji.
# [SIM] Sprawdź także, czy .ase_ready.pid file zostanie usunięty przed kontynuowaniem. Rozwiązanie
- Wpisz kill ase_simv, aby zakończyć procesy symulacji zombie i usunąć wszelkie pliki tymczasowe filepozostawione przez nieudane procesy symulacyjne lub blokady.
- Usuń plik .ase_ready.pid file, znaleziony w katalogu $ASE_WORKDIR.
Archiwa podręcznika użytkownika ASE Quick Start
Wersja stosu akceleracji Intel | Instrukcja użytkownika |
2.0 | Skrócona instrukcja obsługi środowiska symulacyjnego akceleratora Intel Accelerator (AFU) (ASE). |
1. | Skrócona instrukcja obsługi środowiska symulacyjnego akceleratora Intel Accelerator (AFU) (ASE). |
1. | Skrócona instrukcja obsługi środowiska symulacyjnego akceleratora Intel Accelerator (AFU) (ASE). |
1.0 | Skrócona instrukcja obsługi środowiska symulacyjnego akceleratora Intel Accelerator (AFU) (ASE). |
Historia wersji dokumentu dla skróconego podręcznika użytkownika ASE
Wersja dokumentu | Wersja stosu akceleracji Intel | Zmiany |
2020.03.06 | 1.2.1 i 2.0.1 | Zaktualizowano następujące elementy: • Wymagania systemowe |
2019.08.05 | 2.0 | • Zaktualizowano wersję Intel Quartus Prime Pro Edition w Wymaganiach systemowych. • Dodano hello_afu w AFU Examples. • Usunięto informację o symulacji w trybie regresji. • Dodano nową sekcję: Archiwa podręcznika użytkownika ASE Quick Start. |
2018.12.04 | 1. | Dodano obsługę Ubuntu. |
2018.08.06 | 1. | Zaktualizowano wymagania systemowe, strukturę katalogów i odpowiednie fileimiona. |
2018.04.10 | 1.0 | Pierwsze wydanie. |
683200 | 2020.03.06
Wyślij opinię
Dokumenty / Zasoby
![]() |
Oprogramowanie do symulacji jednostek funkcjonalnych Intel Accelerator [plik PDF] Instrukcja użytkownika Jednostka funkcjonalna akceleratora, oprogramowanie środowiska symulacyjnego, środowisko symulacyjne jednostki funkcjonalnej akceleratora, oprogramowanie, oprogramowanie środowiska symulacyjnego jednostki funkcjonalnej akceleratora |