Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
playground:vivado_github_demo_startup_rework [2017/05/16 18:16] – Finalized 5 step revision Arthur Brown | playground: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 |
- | ===== 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> |
- | ----- | + | ~~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: | + | |
- | + | ||
- | + | ||
- | --> Projects Supported by this Tutorial# | + | |
- | + | ||
- | ^ Platform ^ Project Name ^ Uses SDK ^ Hardware Handoff Available ^ Wiki Link ^ Github Link ^ | + | |
- | | Arty | Pmod VGA Demo | No | No | [[https:// | + | |
- | | Zybo | DMA Demo | Yes | Yes | [[https:// | + | |
- | + | ||
- | <-- | + | |
- | + | ||
- | <WRAP round important 660px> | + | |
- | ===Important=== | + | |
- | For further requirements, | + | |
- | </ | + | |
- | + | ||
- | ----- | + | |
- | + | ||
- | =====Tutorial===== | + | |
- | + | ||
- | ====1. Download the Project ZIP from the Digilent Github ==== | + | |
- | + | ||
- | >1.1) From the demo repository landing page, select the **release** link. | + | |
- | > | + | |
- | >{{: | + | |
- | + | ||
- | >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. | + | |
- | > | + | |
- | >< | + | |
- | ===Important=== | + | |
- | Make sure that you download the project-2016.4-x.zip, | + | |
- | </ | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >1.3) All of the necessary files are included within each project folder, with relative file paths established, | + | |
- | + | ||
- | ----- | + | |
- | + | ||
- | + | ||
- | + | ||
- | ====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” option. Review the Supported Projects table above to determine if the Hardware Handoff option is available. | + | |
- | + | ||
- | --> SDK Hardware Handoff# | + | |
- | + | ||
- | >2.1) Find and Launch Vivado SDK. This will open a " | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >2.2) Click **Ok** to finish launching SDK. | + | |
- | + | ||
- | <-- | + | |
- | + | ||
- | --> Vivado# | + | |
- | + | ||
- | >2.1) Within the project folder there will be several subfolders named “hw_handoff”, | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >2.2) Open Vivado and find the Tcl Console on the bottom of the window. Enter the letters ' | + | |
- | > | + | |
- | >< | + | |
- | ===Important=== | + | |
- | Vivado will not recognize paths that include back slashes, be very careful to make sure that it is properly converted. | + | |
- | </ | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >2.3) Enter the command “source ./ | + | |
- | + | ||
- | <-- | + | |
- | + | ||
- | ----- | + | |
- | + | ||
- | + | ||
- | + | ||
- | ====3. Generate Bitstream ==== | + | |
- | + | ||
- | Skip this step if you previously selected the "SDK Hardware Handoff" | + | |
- | + | ||
- | --> Generate Bitstream# | + | |
- | + | ||
- | >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. | + | |
- | > | + | |
- | >< | + | |
- | ===Tip=== | + | |
- | If your computer has multiple CPU cores, you can increase the number of jobs to make this process faster. | + | |
- | </ | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >3.2) When this process has finished, which may take a while, in the “Bitstream Generation Completed” dialog you will be presented with several options. You can **Open Implemented Design** to view how your design will be placed onto the FPGA. **View Reports** will show you a number of different diagnostics on your project, including how the resources of your board will be used. **Open Hardware Manager** is used to program the bitstream onto the board (this will not be used for the SDK flow). **Generate Memory Configuration File** creates a file that can be used to program the bitstream from local memory on your device. | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | <-- | + | |
- | + | ||
- | ----- | + | |
- | + | ||
- | ====4. Import SDK Projects ==== | + | |
- | + | ||
- | Skip this step if your project doesn' | + | |
- | + | ||
- | --> SDK Hardware Handoff# | + | |
- | + | ||
- | >4.1) In SDK's main page, click the **Import Projects** button. | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >4.2) If it is not checked, check the **Select root directory** option. Click **Browse**, again find and select the “sdk” directory. | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >4.3) Make sure that the hw_handoff, application, | + | |
- | + | ||
- | <-- | + | |
- | + | ||
- | --> Launch from Vivado# | + | |
- | + | ||
- | >4.1) If the " | + | |
- | + | ||
- | >4.2) In the top toolbar, select **File -> Export -> Export Hardware**. | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >4.3) Make sure that the " | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >4.4) In the top toolbar, select File -> Launch SDK, make sure that " | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >4.5) In SDK, from the top toolbar, select **File -> Import**. | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >4.6) In the " | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >4.7) In the " | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >4.8) Make sure that the application and application board support package (BSP) projects are checked, then click **Finish**. | + | |
- | > | + | |
- | > | + | |
- | > | + | |
- | >< | + | |
- | ===Tip=== | + | |
- | Many apparent errors at this stage can be solved by right-clicking the bsp project and selecting Re-generate BSP Sources. | + | |
- | </ | + | |
- | + | ||
- | <-- | + | |
- | + | ||
- | ----- | + | |
- | + | ||
- | ====5. Run the Project ==== | + | |
- | + | ||
- | If you have opened your project in SDK in previous steps, select the " | + | |
- | + | ||
- | --> SDK# | + | |
- | + | ||
- | >5.1) Ensure your board is turned on and connected to your computer by a JTAG-USB cable. | + | |
- | + | ||
- | >5.2) Revisit the project' | + | |
- | + | ||
- | >5.3) Select **Program FPGA** from the Xilinx Tools dropdown in the toolbar. Then click **Program**. | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >5.4) Right click on the application project - the one that doesn' | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >5.5) The project will now be programmed and running on your board and you can return to the project' | + | |
- | + | ||
- | <-- | + | |
- | + | ||
- | --> Vivado# | + | |
- | + | ||
- | >5.1) Ensure your board is turned on and connected to your computer by a JTAG-USB cable. | + | |
- | + | ||
- | >5.2) Revisit the project' | + | |
- | + | ||
- | >5.3) In the Generate Bitstream Complete dialog, select "Open Hardware Manager", | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >5.4) Select **Open Target** from the green bar at the top. In the drop down menu that this creates, select **Open New Target**. | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >5.5) Make sure that **Local server** is selected in the " | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >5.6) Make sure that your board shows up in the " | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >5.7) Select **Program Device** from the green bar, then select your device from the dropdown list (there will usually only be one device listed). | + | |
- | > | + | |
- | >< | + | |
- | ===Important=== | + | |
- | If nothing shows up in the " | + | |
- | </ | + | |
- | > | + | |
- | > | + | |
- | + | ||
- | >5.8) The project will now be programmed and running on your board and you can return to the project' | + | |
- | + | ||
- | <-- | + | |
- | + | ||
- | ----- | + | |