# Setup a Workspace in Xilinx Vivado

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/advanced_soc/)
- [Setup a Workspace in Xilinx Vivado](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/advanced_soc/setup/)
- [Create a custom AXI4 Peripheral](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/advanced_soc/creating_peripheral/)
- [Connect AXI4 Peripheral to ZYNQ Processing System](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/advanced_soc/connecting_peripheral/)
- [Generate the bitstream and write your application using Vitis IDE](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/advanced_soc/generating_bitstream/)
- [Next Steps](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/advanced_soc/_next-steps/)

On your Windows machine, start by downloading and installing the [Xilinx Vivado Design Tools](https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools.html).

After installation is complete, follow the steps outlined below to setup a workspace for this project.

1. Create a new workspace such that the path to the workspace does not contain any spaces. For Windows this could be a folder in C directory. For example: `C:/Workspace`.
2. Open Xilinx Vivado and create a new project in your workspace as shown below:

   ![](https://www.arm.com/learning-paths/embedded-and-microcontrollers/advanced_soc/images/picture2.png)
   _Figure 1.1. Creating a project_

3. Give it a meaningful name and click “Next”. Select RTL Project and click “Next”. You will not be adding any sources or constraints so click “Next” for the next two pages. In the next page, click the “Boards” tab and search for “Zybo” in the search bar and click the download button next to “Zybo Z7-10” if the option is available. Then select it and click “Next”. Do not click on the hyperlink but click on the empty area next to “Zybo Z7-10”.

   ![](https://www.arm.com/learning-paths/embedded-and-microcontrollers/advanced_soc/images/picture3.png)
   _Figure 1.2. Board Selection_

4. Click “Finish”. In the “Flow Navigator” menu on the left, click “Create Block Design” under “IP Integrator”:

   ![](https://www.arm.com/learning-paths/embedded-and-microcontrollers/advanced_soc/images/picture4.png)
   _Figure 1.3. Creating a new block design_

5. Choose a design name or use the default one and click “Ok”. Within the empty “Diagram” box on the right-hand side, right-click and select “Add IP”. Enter “Zynq” in the search box and choose “ZYNQ7 Processing System”. Click the “Run Block Automation” option that has now appeared.

   ![](https://www.arm.com/learning-paths/embedded-and-microcontrollers/advanced_soc/images/picture5.png)
   _Figure 1.4. Running Block Automation_

6. Click “Ok” on the pop-up window.

   ![](https://www.arm.com/learning-paths/embedded-and-microcontrollers/advanced_soc/images/picture6.png)
   Figure 1.5. Run Block Automation default settings*

You have now completed setting up the workspace for this project.
