oneapi-src / oneapi-src/oneAPI-samples

FPGA simulation run fails if <binary>.fpga_sim.prj not in same location

Offen
#1,515 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug
Vorherrschende Sprache
C++
Sterne
1.2k
Forks
745
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Summary

If a <binary>.fpga_sim is run from a directory where <binary>.fpga_sim.prj does not exist then the runtime throws an exception:
-2 (PI_ERROR_DEVICE_NOT_AVAILABLE) -2 (PI_ERROR_DEVICE_NOT_AVAILABLE).

This must be because the simulation_raw.json file generated by Modelsim is written to <binary>.fpga_sim.prj/reports/resources/json/simulation_raw.json instead of to the current directory. Maybe erroring out is the intended behaviour, but in that case the specific runtime error is misleading.

Version

oneAPI Toolkit version 2023.1.0 (2023.1.0.20230320)
oneAPI Sample hash 5be94fc7db259dafd54e8aedfcc99b39dc025cfc

Environment

Ubuntu 22.04, Quartus 22.4, Questa Starter Edition 22.1

Steps to reproduce

Following the GettingStarted guide:

cd DirectProgramming/C++SYCL_FPGA/Tutorials/GettingStarted/fpga_compile/part4_dpcpp_lambda_buffers/src
icpx -fsycl -fintelfpga -DFPGA_SIMULATOR -I../../../../include vector_add.cpp -Xssimulation -Xstarget=Arria10 -Xsghdl -o vector_add_sim.fpga_sim
cd ..
./src/vector_add_sim.fpga_sim

Observed behavior

-2 (PI_ERROR_DEVICE_NOT_AVAILABLE) -2 (PI_ERROR_DEVICE_NOT_AVAILABLE)

Expected behavior

Simulation runs. <binary>.fpga_sim.prj is found based on the binary path. If not found, either write simulation_raw.json to the current directory or give a meaningful error.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem GettingStarted fpga_compile/part4_dpcpp_lambda_buffers-Beispiel und seiner src/vector_add.cpp und reproduziere anschließend den FPGA-Simulatorlauf aus dem übergeordneten Verzeichnis mithilfe der dokumentierten Befehle. Verfolge, wo simulation_raw.json relativ zu vector_add_sim.fpga_sim erwartet wird, und überprüfe, dass die Ausführung außerhalb des Projektverzeichnisses entweder erfolgreich ist oder einen spezifischen, aussagekräftigen Fehler meldet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.