oneapi-src / oneapi-src/oneAPI-samples

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

Aperta
#1,515 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug
Lingua principale
C++
Stelle
1.2k
Fork
745
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con l’esempio GettingStarted fpga_compile/part4_dpcpp_lambda_buffers e il relativo src/vector_add.cpp, quindi riproduci l’esecuzione del simulatore FPGA dalla directory padre usando i comandi documentati. Traccia dove ci si aspetta simulation_raw.json rispetto a vector_add_sim.fpga_sim e verifica che l’esecuzione al di fuori della directory del progetto abbia esito positivo oppure segnali un errore specifico e significativo.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
devtools
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.