byuccl / BYU_Senior_PYNQ_Project

2017 BYU Senior ECEN PYNQ Video Project
1 stars 3 forks source link

No parts matched 'xc7vx485tffg1157-1' #1

Open mslavescu opened 6 years ago

mslavescu commented 6 years ago

This is a continuation of https://github.com/AEW2015/PYNQ_PR_Overlay/issues/1 trying to build the bitstreams.

First step ran fine: BYU_Senior_PYNQ_Project/Pynq-Z1/vivado/base$ vivado -mode tcl -source ../../bitstream/base.tcl

Unfortunately I don't have this license: +License for PartialReconfiguration

I only have the free version: Vivado 2016.3 (WebPack License):

Is there a way to use (convert) the logic from Partial_Designs so it doesn't depend on the PartialReconfiguration license? Although I understand this will defeat the project scope, which is to show PartialReconfiguration capabilities.

Will you be able to provide the bitstreams? or they will still require the license to deploy/run.

Here is the error I get when I ran second step:

BYU_Senior_PYNQ_Project/Pynq-Z1/vivado/Partial_Designs$ vivado -mode tcl -source build_static_design.tcl 

****** Vivado v2016.3 (64-bit)
  **** SW Build 1682563 on Mon Oct 10 19:07:26 MDT 2016
  **** IP Build 1681267 on Mon Oct 10 21:28:31 MDT 2016
    ** Copyright 1986-2016 Xilinx, Inc. All Rights Reserved.

source build_static_design.tcl
# cd Source/pass_through
# if {[catch {source pass_through.tcl} fid]} {
#   open_project ./pass_through/pass_through.xpr
# }
## file normalize "$origin_dir/pass_through"
WARNING: [Device 21-436] No parts matched 'xc7vx485tffg1157-1'
ERROR: [Coretcl 2-27] Can't find specified project.
Vivado% quit
INFO: [Common 17-206] Exiting Vivado at Mon Dec  4 13:56:16 2017...
AEW2015 commented 6 years ago

It looks like I referenced a virtex part which is not necessary. I will go through and change it to reference the PYNQ board files and post an update.

Concerning the PartialReconfiguration license, Xilinx started to include that in the webpack license this year, but I am not sure if that extends to Vivado 2016.3.

If you do not want to use partial reconfiguration:

You can still build the projects, but you will have to edit the tcl files to not create a partial design, but instead just load an exisiting design into the black box cell. If you want to do this, I can go into more detail.

The SD card image already includes all the bitfiles and software to run the project.

mslavescu commented 6 years ago

Thanks a lot!

I'll use the SD card bitfiles in the mean time.

AEW2015 commented 6 years ago

I updated some files to change the part used. A webpack license should cover all the parts. There is still the question if Partial Reconfiguration is part of that license. I haven't tested all the whole build yet, but the part used was never important because we do an out-of-context synthesis that doesn't reference the part, just does synthesis on the VHDL module.

AEW2015 commented 6 years ago

image

mslavescu commented 6 years ago

Thanks!

I'll try to see if it works in Vivado 2017.3, if not I'll probably look into disconnecting the partial design, and I'll ask more questions.

I'm fairly new to FPGA design, but my plan is to build a smart camera for OSSDC:

https://www.element14.com/community/thread/59882/l/fpga-for-smart-camera-using-2-3-cameras?displayFullThread=true

https://github.com/OSSDC/OSSDC-Hacking-Book/wiki/OSSDC-Smart-Camera-Mono-Stereo-360---Xilinx-FPGA

I currently have PYNQ-Z1 and the $200 dual camera Lattice Embedded Vision Development Kit (http://www.latticesemi.com/Products/DevelopmentBoardsAndKits/EmbeddedVisionDevelopmentKit.aspx).

See them here in action (just simple HDMI pass through): https://twitter.com/GTARobotics/status/923511495182487552

AEW2015 commented 6 years ago

It looks like you will still need a paid license to do the Partial Reconfiguration.
Let me write you up a quick Tcl file to remove the need for partial reconfiguration.

Porting to different versions in Vivado can be a big hassle, and may not work properly.

AEW2015 commented 6 years ago

These TCL files will build a full bitstream for each different module and doesn't use Partial Reconfiguration. This should work for the Webpack license. The GUI from the PYNQ iPython will still work these filters and allow you to change the settings for the filters through the python interface.

tcl_files.zip

mslavescu commented 6 years ago

Thanks for the patch, now the default script runs:

BYU_Senior_PYNQ_Project/Pynq-Z1/vivado/Partial_Designs$ time vivado -mode tcl -source build_static_design.tcl

but ends as expected with:

ERROR: [Constraints 18-4613] A valid license was not found for feature 'PartialReconfiguration'. Please run the Vivado License Manager for assistance in determining which features and devices are licensed for your system.

I'll try the new tcl_files you attached above, to avoid this error.