Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

write_dsa failed #11

Open
oska874 opened this issue Aug 18, 2018 · 10 comments
Open

write_dsa failed #11

oska874 opened this issue Aug 18, 2018 · 10 comments

Comments

@oska874
Copy link

oska874 commented Aug 18, 2018

image

As the picture shows,when I try to write dsa in vivado 2018.2, it shows the error that "Project property dsa.name needs to be set before generating a DSA.", how to solve this problem?

@BUPTHELLO
Copy link

BUPTHELLO commented Aug 21, 2018

image

As the picture shows,when I try to write dsa in vivado 2018.2, it shows the error that "Project property dsa.board_id and dsa.name needs to be set before generating a DSA.", how to solve this problem?

when I use "set_property dsa.board.id xc7z020clg400-1 [current_project]" command to set dsa.board.id, it shows error that "The object 'project' does not have a property 'dsa.board.id", how to solve it ?
image

@randyh62
Copy link

Hello oska874 and BUPTHELLO,

It looks like the form of your write_dsa tcl command is not correct. The Instruction in Step 5.1 is to use the following Tcl command:
write_dsa -force -include_bit /<project dir>/<project name>/<project name>.dsa

As the project and the block design were both supposed to be called zynq7_board, the name should resolve to something like:
/<project dir>/zynq7_board/zynq7_board.dsa
Where <project_dir> is the path to the Vivado tools project.

The platform name is automatically assigned based on the block design name when you "Enable platform interfaces" link as described in Step 3.2 of Lab1 of the Tutorial. This results in the following Tcl command:
set_property pfm_name zynq7_board [get_files {/<project_dir>/zynq7_board/zynq7_board.srcs/sources_1/bd/zynq7_board/zynq7_board.bd}]

This name can be found under the PFM_NAME property in the Source File Properties window as discussed in Step 3.2.

The attached image shows the output DSA file in the zynq7_board project directory as expected:
zynq7_board_directory

Can you retry the steps in Lab 1?

@nlbutts
Copy link

nlbutts commented Oct 12, 2018

I'm having the exact same problem. I followed the tutorial to the letter. The project is stored in:
c:\projects\xilinx\zynq7_board
I run the following command and get the following error:

write_dsa -force -include_bit /projects/xilinx/zynq7_board/zynq7_board.dsa
INFO: [Vivado 12-4895] Creating DSA: /projects/xilinx/zynq7_board/zynq7_board.dsa ...
WARNING: [BD 5-230] No cells matched 'get_bd_cells -of {}'
ERROR: [Common 17-55] 'get_property' expects at least one object.
Resolution: If [get_<value>] was used to populate the object, check to make sure this command returns at least one valid object.
ERROR: [Vivado 12-5878] Failed to generate hpfm file for BD File: C:/projects/xilinx/zynq7_board/zynq7_board.srcs/sources_1/bd/zynq7_board/zynq7_board.bd
ERROR: [Common 17-53] User Exception: Unable to get hpfm file from project property dsa.hpfm_file or from the BD itself.

@ghost
Copy link

ghost commented Oct 12, 2018

Can you attach your vivado.log and vivado.jou files for the lab exercise so I can look it over? You may need to step through the lab again to get a clean copy. Just the log for Lab 1 would be great. Thanks.

1 similar comment
@randyh62
Copy link

Can you attach your vivado.log and vivado.jou files for the lab exercise so I can look it over? You may need to step through the lab again to get a clean copy. Just the log for Lab 1 would be great. Thanks.

@nlbutts
Copy link

nlbutts commented Oct 13, 2018

There are numerous vivado.log and vivado.jou logs:

nlbutts@RyzenMintVM:~/projects/xilinx/zynq7_board$ find . -name *.log
./zynq7_board.runs/impl_1/runme.log
./zynq7_board.runs/zynq7_board_proc_sys_reset_0_0_synth_1/runme.log
./zynq7_board.runs/synth_1/runme.log
./zynq7_board.runs/zynq7_board_proc_sys_reset_0_1_synth_1/runme.log
./zynq7_board.runs/zynq7_board_clk_wiz_0_0_synth_1/runme.log
./zynq7_board.runs/zynq7_board_proc_sys_reset_0_2_synth_1/runme.log
./zynq7_board.runs/zynq7_board_processing_system7_0_0_synth_1/runme.log
./zynq7_board.runs/zynq7_board_xlconcat_0_0_synth_1/runme.log
./zynq7_board.runs/zynq7_board_proc_sys_reset_0_3_synth_1/runme.log
./zynq7_board.cache/ip/2018.2/966d543e0ccdfe39.logs/runme.log
./zynq7_board.cache/ip/2018.2/3a06fe5122cb2c02.logs/runme.log
./zynq7_board.cache/ip/2018.2/e12d2e9bc3c3eee3.logs/runme.log
./zynq7_board.cache/ip/2018.2/63bb014a7b76630e.logs/runme.log
./zynq7_board.cache/ip/2018.2/fec62037164ddb1c.logs/runme.log
./zynq7_board.cache/ip/2018.2/74e6882188d5d3ed.logs/runme.log
./zynq7_board.cache/ip/2018.2/c2e5117a78ce0869.logs/runme.log
nlbutts@RyzenMintVM:~/projects/xilinx/zynq7_board$ find . -name  vivado.jou
./zynq7_board.runs/impl_1/vivado.jou
./zynq7_board.runs/zynq7_board_proc_sys_reset_0_0_synth_1/vivado.jou
./zynq7_board.runs/synth_1/vivado.jou
./zynq7_board.runs/zynq7_board_proc_sys_reset_0_1_synth_1/vivado.jou
./zynq7_board.runs/zynq7_board_clk_wiz_0_0_synth_1/vivado.jou
./zynq7_board.runs/zynq7_board_proc_sys_reset_0_2_synth_1/vivado.jou
./zynq7_board.runs/zynq7_board_processing_system7_0_0_synth_1/vivado.jou
./zynq7_board.runs/zynq7_board_xlconcat_0_0_synth_1/vivado.jou
./zynq7_board.runs/zynq7_board_proc_sys_reset_0_3_synth_1/vivado.jou

Which one(s) do you want?

@randyh62
Copy link

randyh62 commented Oct 17, 2018

The Vivado journal and log files would be in the directory from which you launched Vivado on a Linux system, or in the <user>/AppData/Roaming/Xilinx/Vivado folder on Windows. They would be called vivado.jou and vivado.log. The journal file is a simple list of the commands you used when using Vivado, and the log file is those same commands with response transcript from the tool. I am attaching my vivado.jou journal file for Lab 1 (renamed to vivado.txt to post here). You can use this to check against your own journal.
vivado.txt

@peter2chang
Copy link

Hi,
I am using Vivado 2017.4, and it seems there is no "Platform Interfaces" option, so I set all PFM properties with the Tcl commands provided in the tutorial.
I got an error msg " can't read "sdsoc::ps_instance": no such variable" after running write_dsa command. Do you know how to solve this issue? And for Vivado 2017.4, if Tcl command is the only way to set the PFM properties and is there any way to check the PFM properties values that set previously? Thank you in advance!

error

@randyh62
Copy link

This tutorial was written for 2018.2 and will be updated shortly for 2018.3. The document you should use for 2017.4 is UG1236: https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_4/ug1236-sdsoc-platform-tutorial.pdf

@peter2chang
Copy link

Got it, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants