Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
playground:vivado_github_demo_startup_rework [2017/05/10 18:06] – [Prerequisites] Arthur Brownplayground:vivado_github_demo_startup_rework [2022/03/04 20:49] (current) – redirected to offical page James Colvin
Line 1: Line 1:
-====== Using Digilent Github Demo Projects ====== +====== Using Digilent Github Demo Projects (REDIRECT) ======
-===== Overview ===== +
-Digilent provides several projects through Github that are designed to demonstrate different uses of our FPGA and Zynq boards. This guide will describe how to download and use these projects. +
  
-At the end of this tutorial you will have your demo project running on your board.+~~REDIRECT>learn/programmable-logic/tutorials/github-demos/start~~
  
------+~~NOSEMANTIC~~
  
-===== Prerequisites ===== +{{tag>redirect}}
- +
-=== Hardware === +
-  * **A Supported Digilent 7-Series FPGA or Zynq Board** +
-  * **USB Cables** +
- +
-=== Software === +
-  * **Xilinx Vivado 2016.X** +
-    * //Vivado 2016.4 is used in this tutorial// +
-  * **Digilent Board Support Files** +
-    * //Follow the **[[vivado:boardfiles|wiki guide]]** on how to install Board Support Files for Vivado 2015.X// +
- +
- +
---> Projects Supported by this Tutorial# +
- +
-^ Platform ^ Project Name  ^ Uses SDK ^ Hardware Handoff Available ^ Wiki Link ^ Github Link ^ +
-| Arty     | Pmod VGA Demo | No       | No                         | [[https://reference.digilentinc.com/learn/programmable-logic/tutorials/arty-pmod-vga-demo/start|Internal Link]] | [[https://github.com/Digilent/Arty-Pmod-VGA|External Link]] | +
-| Zybo     | DMA Demo      | Yes      | Yes                        | link | link | +
- +
-<-- +
- +
-<WRAP round important 660px>  +
-===Important=== +
-For further requirements, please review the project's wiki page. +
-</WRAP> +
- +
------ +
- +
-=====Tutorial===== +
- +
-====1. Download the Project ZIP from the Digilent Github ==== +
- +
->1.1) From the demo repository landing page, select the **release** link. +
-+
->{{:playground:clickrelease.jpg?600|}} +
- +
->1.2) If the repository has multiple releases, select **Latest Release**, then click on the project ZIP file included in the Downloads section of the release to download it. +
-+
-><WRAP round important 660px>  +
-===Important=== +
-Make sure that you download the project-2016.4-x.zip, not the source code archive. +
-</WRAP> +
-+
->{{:playground:downloadzip.jpg?600|}} +
- +
->1.3) All of the necessary files are included within each project folder, with relative file paths established, so as long as the files aren't moved around within the folder, you can move and run the project from any location. +
- +
------ +
- +
-====2. Open the Project ==== +
- +
-Select the "SDK Hardware Handoff" option if your project supports Vivado SDK and you want to jump directly in, otherwise select the "Vivado Block Design or HDL Only" option. Review the Supported Projects table above to determine if the Hardware Handoff option is available. +
- +
---> Vivado Block Design or HDL Only# +
- +
->2.1) Within the project folder there will be several subfolders named "hw_handoff", "proj", "src", "repo", and "sdk". Go into the proj folder, right click the “create_project” file and select **Properties**. Highlight and copy the file's location. +
-+
->{{:playground:tcl_address.jpg?800|}} +
- +
->2.2) Open Vivado and find the Tcl Console on the bottom of the window. Enter the letters 'cd' (change directory) followed by the file path you copied earlier. +
-+
-><WRAP round important 660px>  +
-===Important=== +
-Select the proj folder from the drop-down menu to make sure that Vivado converts the path's back slashes ' / ' to forward slashes ' \ '. Vivado will not recognize the path otherwise. +
-</WRAP> +
-+
->{{:playground:cd.jpg?400|}} +
- +
->2.3) Enter the command "source ./create_project.tcl", this will set up the project for you within the proj directory you previously cd'd into. +
-+
->{{:playground:fullcd.jpg?600|}} +
- +
->2.4) The project will now be open in Vivado and you can navigate through the **Design Sources** subwindow or select **Open Block Design** in the project flow manager to the left to see how the project hardware works. (Not all projects will have a block design) +
- +
-<-- +
- +
---> SDK Hardware Handoff# +
- +
->2.1) Find and Launch Vivado SDK. +
- +
->2.2) In the Select Workspace dialog, click **Browse**, then find and select the "sdk" directory of your project. +
-+
->{{:playground:hw-wkspace-browse.png?400|}} +
- +
->2.3) Click **Ok** to finish launching Vivado SDK. +
-+
->{{:playground:hw-wkspace.png?400|}} +
- +
->2.4) In the main page that pops up, click the **Import Projects** button. +
-+
->{{:playground:hw-sdk-splash.png?400|}} +
- +
->2.5) Check the **Select root directory** option, then click **Browse**, again find and select the "sdk" directory. +
-+
->{{:playground:hw-import.png?400|}} +
- +
->2.6) Make sure that the hw_handoff, application, and application board support package (BSP) project are all checked, then click **Finish** to pull the projects into SDK. +
- +
-<WRAP round tip 660px>  +
-===TIP=== +
-Some common issues at this stage can be solved by right clicking the BSP project and selecting **Regenerate BSP Sources**. +
-</WRAP> +
- +
-<-- +
- +
------ +
- +
-====3. Compile, Program, and Run the Project ==== +
- +
-The options in this step carry through from step 2. If you chose SDK Hardware Handoff before, select that again, otherwise, select the option that applies to the project you are working with. Review the Supported Projects table to help determine what kind of project you are working with. +
- +
---> HDL Only# +
- +
->3.1) Click **Generate Bitstream** on the left hand menu towards the bottom. In the "Launch Runs" dialog, make sure **Launch runs on local host** is selected and click **OK**. In the "No Implementation Results Available" dialog, click **Yes** to run synthesis and implementation. +
-+
-><WRAP round tip 650px>  +
-===Tip=== +
-If your computer has multiple cores, you can increase the number of jobs to make this process faster. +
-</WRAP> +
->{{:playground:generatebitstream.jpg?1000|}} +
- +
->3.2) When this process has finished, which may take a while, in the "Bitstream Generation Completed" dialog, select **Open Hardware Manager** and click **OK**. Other interesting options here include "Open Implemented Design" which will show how your project logic will be placed on the FPGA. "View Reports" will show a number of different statistics about your project, including how well it meets timing requirements and what resources of your board will be used. +
-+
->{{:playground:openhwmanager.jpg?400|}} +
- +
->3.3) After the last step, if you don't have the hardware manager opened, select **Hardware Manager** from the Program and Debug section of the Flow Navigator to the left, just underneath **Generate Bitstream**. +
- +
->3.4) Select **Open Target** from the green bar at the top. In the drop down menu that this creates, select **Open New Target**. +
-+
->{{:playground:opentarget.jpg?600|}} +
- +
->3.5) Click **Next**. Then make sure that **Local server** is selected in the "Connect to" drop down. Connect your board to your computer with a JTAG USB cable, then click **Next**. +
-+
->{{:playground:hardwareserversettings.jpg?600|}} +
- +
->3.6) Click **Next** and click **Finish**. +
-+
->{{:playground:connect.jpg?600|}} +
- +
-<WRAP round important 650px>  +
-===Important=== +
-The project may have further setup requirements, such as connecting a serial terminal to your board, visit it's wiki page to make sure. +
-</WRAP> +
- +
->3.7) Select **Program Device** from the green bar, then select your device from the dropdown list (there will usually only be one device listed).  Then click **Program**. +
-+
->{{:playground:program.jpg?600|}} +
-+
-><WRAP round important 660px>  +
-===Important=== +
-If nothing shows up in the "Bitstream file" text box, click the **...** button to the right, navigate to "proj/*.runs/impl_1" subdirectory of your project and select the "*.bit" file. +
-</WRAP> +
- +
->The project will now be programmed onto your board and you can return to the project's wiki page to verify functionality. +
- +
-<-- +
- +
---> SDK Hardware Handoff# +
- +
->3.1) After plugging your board into your PC with a USB cable, select **Program FPGA** from the Xilinx Tools dropdown in the toolbar. Then click **Program**. +
-+
->{{:playground:prog.jpg?600|}} +
- +
-<WRAP round important 650px>  +
-===Important=== +
-The project may have further setup requirements, such as connecting a serial terminal to your board, visit it's wiki page to make sure. +
-</WRAP> +
- +
->3.2) Right click on the application project - the one that doesn't end with "_hw_platform" or "_bsp" - and under "Run As", select **Launch on Hardware (System Debugger)**. +
-+
->{{:playground:runas.png?600|}} +
- +
->The project will now be programmed onto your board and you can return to the project's wiki page to verify functionality. +
- +
-<-- +
- +
---> SDK and Block Design# +
- +
->3.1) Generate Bitstream +
-+
->{{:playground:bd-genbit.png?400|}} +
-+
->{{:playground:bd-gencomplete.png?400|}} +
-+
->{{:playground:bd-imp.png?400|}} +
- +
->3.2) Export Hardware - Include Bitsream - Local to project +
-+
->{{:playground:bd-export.png?400|}} +
-+
->{{:playground:bd-export-dialog.png?400|}} +
- +
->3.3) Launch SDK - Local to Project +
-+
->{{:playground:bd-launch.png?400|}} +
-+
->{{:playground:bd-launch-dialog.png?400|}} +
- +
-><WRAP round tip 650px>  +
-===Tip=== +
-Some warnings and errors can be resolved by right clicking on the BSP project and selecting **Re-generate BSP Sources**. +
-</WRAP> +
- +
->3.4) Import the existing SDK projects. +
-+
->{{:playground:bd-import.png?400|}} +
-+
->{{:playground:bd-import-dialog-1.png?400|}} +
-+
->{{:playground:bd-import-dialog-2.png?400|}} +
-+
->{{:playground:bd-import-dialog-3.png?400|}} +
- +
->3.5) After plugging your board into your computer with a JTAG USB cable, select **Program FPGA** from the Xilinx Tools dropdown in the toolbar. Then click **Program**. +
-+
->{{:playground:bd-program.png?400|}} +
-+
->{{:playground:bd-program-dialog.png?400|}} +
- +
-<WRAP round important 650px>  +
-===Important=== +
-The project may have further setup requirements, such as connecting a serial terminal to your board, visit it's wiki page to make sure. +
-</WRAP> +
- +
->3.6) Right click on the application project - the one that doesn't end with "_hw_platform" or "_bsp" - and under "Run As", select **Launch on Hardware (System Debugger)**. +
-+
->{{:playground:bd-runas.png?400|}} +
- +
->The project will now be programmed onto your board and you can return to the project's wiki page to verify functionality. +
- +
- +
-<-- +
- +
------+