~~TechArticle~~ ====== Using Digilent Pmod IPs in Vivado and Vitis (Under Construction) ====== == Under Construction == This guide has only been partially tested in Vivado and Vitis 2020.1. Not all Pmod IPs have been updated for 2020.1. Use at your discretion. No timeline is currently available for when this guide and all Pmod IPs will be updated. ===== Overview ===== This guide will work you through the process of setting up a project to use a Pmod IP core. These cores provide a simple way to interface between a processor and a Pmod, by way of an AXI connection. While this guide only covers the use of a single Pmod IP, the same workflow can be extended to create a design that uses multiple Pmods, your own custom hardware components, and the board's other peripherals. By the end of this guide, you will have created a design in both hardware and software that supports a Pmod and console-based standard output. **Note:** //Screenshots presented in this guide may not have been taken with your version of the tools. The workflow presented here has been verified in Vivado and Vitis 2020.1. While there are some differences between 2020.1 and older versions of the tools, screenshots taken in 2019.2 have been checked, and contain the same user interfaces that are seen in 2020.1.// ---- ===== Inventory and Design Requirements ===== * A Digilent FPGA Development Board * USB Programming cables, USB UART cables, and Power Supply, as required by the board. * Vivado and Vitis installations * See [[programmable-logic:guides:installing-vivado-and-vitis]] for instructions on how to install these tools. * One or more supported Digilent Pmods * See the [[programmable-logic:guides:pmod-requirements]] tables for more information on which Pmods are supported by a Pmod IP core. Keeping this page open in another tab while following this guide is recommended, as additional design requirements of your Pmod/s are included. ---- ===== Guide ===== {{page>programmable-logic:guides:vivado-launch&showheader}} {{page>programmable-logic:guides:vivado-new-project&showheader}} {{page>programmable-logic:guides:vivado-add-library&showheader}} {{page>programmable-logic:guides:vivado-create-block-design&showheader}} {{page>programmable-logic:guides:vivado-add-processor&showheader}} {{page>programmable-logic:guides:vivado-connect-pmod&showheader}} {{page>programmable-logic:guides:vivado-manual-address-editor&showheader}} {{page>programmable-logic:guides:vivado-validate-block-design&showheader}} {{page>programmable-logic:guides:vivado-create-hdl-wrapper&showheader}} {{page>programmable-logic:guides:vivado-generate-bitstream&showheader}} {{page>programmable-logic:guides:vivado-export-fixed-platform&showheader}} {{page>programmable-logic:guides:vitis-launch&showheader}} {{page>programmable-logic:guides:vitis-create-pmod-app&showheader}} {{page>programmable-logic:guides:vitis-add-pmod-example&showheader}} {{page>programmable-logic:guides:vitis-build-software&showheader}} It's time to program the application project onto your board! Plug your board into your computer through its USB programming and USB UART port/s, connect an external power supply (if necessary), and turn on the board. ---- {{page>programmable-logic:guides:vitis-launch-app&showheader}} **At this point, your application is running, and printed messages can be seen. Congratulations, you have finished this guide!!!**