Intel - logoOprogramowanie ś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.

  1. 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:
    Oprogramowanie do symulacji środowiska jednostki funkcjonalnej Intel Accelerator — rysunek 1Upewnij 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:
    Oprogramowanie do symulacji środowiska jednostki funkcjonalnej Intel Accelerator — rysunek 2Upewnij 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:
    Oprogramowanie do symulacji środowiska jednostki funkcjonalnej Intel Accelerator — rysunek 3Dodaj zmienną środowiskową, aby sprawdzić licencję Modelsim:
    $ eksport MGLS_LICENSE_FILE=
  2. Eksport:
    $ eksport LM_LICENSE_FILE=
  3.  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

Oprogramowanie do symulacji środowiska jednostki funkcjonalnej Intel Accelerator — rysunek 4

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:

  1. Przejdź do katalogu, w którym wykonałeś polecenie make sim.
  2. 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

  1. Wpisz kill ase_simv, aby zakończyć procesy symulacji zombie i usunąć wszelkie pliki tymczasowe filepozostawione przez nieudane procesy symulacyjne lub blokady.
  2. 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
Koncentrator TCL HH42CV1 — ikona 8Wyś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

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *