Vivado 2020.02 doesn't start syntesis because VRS doesn't exist

0

Hello all,
I've been using Vivado 2019.2, Ubuntu 20.04 and the latest release of AWS-FPGA toolkit to build and use my designs. It worked as expected. Now, I've installed Vitis 2020.2, and I observe weird behavior. I patch my Vivado setup by running aws-fpga/hdk_setup.sh, then source my .tcl script which creates the project, instantiates IPs and so on, and then when I start the Synthesis, I get the following error.
ERROR: Could not find 64-bit executable.
ERROR: /tools/Xilinx/Vitis_HLS/2020.2/bin/unwrapped/lnx64.o/vrs does not exist
I checked and this file definitely doesn't exist in my system, but when I do:
$ find /tools/Xilinx/ -iname "vrs"
/tools/Xilinx/Vivado/2020.2/bin/unwrapped/lnx64.o/vrs
/tools/Xilinx/Vitis/2020.2/bin/unwrapped/lnx64.o/vrs

So there definitely is a vrs script, but not on the place where Vivado expects it to be. Another weird thing is that I'm trying to do synthesis on Vivado, and I get the error that this application doesn't exist on Vitis tree.

I guess Vivado switches to HLS flow, because at one point I have "aws::make_ipi" command which creates AWS F1 instance which is needed to have PCIe access to the FPGA. I don't know other way to achieve this. Am I missing something?

I've double checked and I'm definitely using the latest release of AWS-FPGA.
Any ideas about this?

Edited by: jelicicm on May 11, 2021 6:37 AM

asked 3 years ago409 views
8 Answers
0

Could you show/provide the log leading up to this error? I would like to see what steps and messages are being issued beforehand to better understand what area of the flow it is in.
Also, does this error occur when you issue "aws::make_ipi" for an example design, such as "aws::make_ipi -examples hello_world"?

answered 3 years ago
0

Hello and thanks for your quick reply. I will provide the log tomorrow but there isn't much to see there. Inside of Vivados Output console, everything looks normal, just like when synthesis process is starting, and all is working fine.

Basically, Vivado gives launch_runs command, and then I see the pop up window for "generate f1 instance", "generate AXI Interconnect", and so on, for all IPs in my design. And then, I get this message in the terminal from where I've started Vivado with vivado -source setup_project.tcl.
Inside of the Vivado GUI, after crash, I can see that Syntesis run is "Queued", and I can see individual runs for each IP, but none have been started, and even though their directories inside of <project_name>.runs have been created, they are all empty.
aws::make_ipi doesn't create problems when it executes, it runs normally, creates a block design and creates an instance of F1, as expected. Although, I believe that somewhere there is a hidden secret on why Vivado switches to HLS flow.

answered 3 years ago
0

Hello again, I'm providing full log given by Vivado.
Before that, in Ubuntu 20.04 terminal I do:

$ export CL_DIR=$(pwd)  
$ source /tools/Xilinx/Vivado/2020.2/settings64.sh && source /work/aws-fpga/hdk_setup.sh  
$ vivado -source setup_prj.tcl &  

Full log provided here:
https://pastebin.com/7aVk9M45

After this, terminal prints out:
ERROR: Could not find 64-bit executable.
ERROR: /tools/Xilinx/Vitis_HLS/2020.2/bin/unwrapped/lnx64.o/vrs does not exist

Top right corner of Vivado window:
https://imgur.com/PUDw2sn
https://imgur.com/PUDw2sn

answered 3 years ago
0

Thanks for providing the log. The run starts processes for the IP's in the design, can you check and see if any of the runme logs show the same error you get in the terminal?

/work/vivado_builds/aws_two_bram/AWS_TWO_BRAM/build/AWS_TWO_BRAM.runs/cl_f1_inst_0_synth_1/runme.log
/work/vivado_builds/aws_two_bram/AWS_TWO_BRAM/build/AWS_TWO_BRAM.runs/cl_xbar_0_synth_1/runme.log
/work/vivado_builds/aws_two_bram/AWS_TWO_BRAM/build/AWS_TWO_BRAM.runs/cl_axi_bram_ctrl_0_0_synth_1/runme.log
/work/vivado_builds/aws_two_bram/AWS_TWO_BRAM/build/AWS_TWO_BRAM.runs/cl_blk_mem_gen_0_0_synth_1/runme.log
/work/vivado_builds/aws_two_bram/AWS_TWO_BRAM/build/AWS_TWO_BRAM.runs/cl_axi_bram_ctrl_1_0_synth_1/runme.log
/work/vivado_builds/aws_two_bram/AWS_TWO_BRAM/build/AWS_TWO_BRAM.runs/cl_auto_pc_0_synth_1/runme.log
/work/vivado_builds/aws_two_bram/AWS_TWO_BRAM/build/AWS_TWO_BRAM.runs/cl_blk_mem_gen_1_0_synth_1/runme.log

answered 3 years ago
0

Hi, I've double checked and there is no "runme.log" file in any of the locations you propose.
$ cd PRJ_NAME.runs/
$ ls cl_f1_inst_0_synth_1/
cl_f1_inst_0.tcl dont_touch.xdc gen_run.xml htr.txt ISEWrap.js ISEWrap.sh rundef.js runme.bat runme.sh
$ ls cl_xbar_0_synth_1/
cl_xbar_0.tcl dont_touch.xdc gen_run.xml htr.txt ISEWrap.js ISEWrap.sh rundef.js runme.bat runme.sh
$ ls cl_axi_bram_ctrl_0_0_synth_1/
cl_axi_bram_ctrl_0_0.tcl dont_touch.xdc gen_run.xml htr.txt ISEWrap.js ISEWrap.sh rundef.js runme.bat runme.sh
$ ls cl_axi_bram_ctrl_1_0_synth_1
cl_axi_bram_ctrl_1_0.tcl dont_touch.xdc gen_run.xml htr.txt ISEWrap.js ISEWrap.sh rundef.js runme.bat runme.sh
$ ls cl_blk_mem_gen_0_0_synth_1
cl_blk_mem_gen_0_0.tcl dont_touch.xdc gen_run.xml htr.txt ISEWrap.js ISEWrap.sh rundef.js runme.bat runme.sh
$ ls cl_auto_pc_0_synth_1/
cl_auto_pc_0.tcl dont_touch.xdc gen_run.xml htr.txt ISEWrap.js ISEWrap.sh rundef.js runme.bat runme.sh

answered 3 years ago
0

Unfortunately I am not having any luck in reproducing this locally with aws::make_ipi example designs. I am not able to find any script or tool that would reference 'vrs' in that specific location. Could you try building one of the examples just to confirm that it isn't specific to this design?

answered 3 years ago
0

Hi again kmorris,
I've just tested with aws::make_ipi -example hello_world, then, when it was built launch_runs synth_1 -jobs 4, and the same thing happened.
Meanwhile, I've reverted back to Vivado 2020.1, and it works as expected. I think I'll let this problem be for the moment, as I have much more urgent matters to tend to :)
If you do find some advice or solution please let me know.

Thank you for your desire to help!

Best regards,
jelicicm

answered 3 years ago
0

I've found the problem with this - the issue is that the <vivado_install_dir>/2020.2/settings.sh has the last line that invokes the setup of environment for Vitis, and I don't have Vitis installed. The line is as such: source /data/tools/xilinx/Vitis_HLS/2020.2/.settings64-Vitis_HLS.sh. Once I removed this line - Vivado flow started working as expected.

answered 3 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions