Review the information the in the New Project : Create a New Vivado Project window and then click Next.
In the New Project : Project Name window set Project Name to project, Project location to /home/steve/projects/leds_switches/fw & untick Create project subdirectory. Click Next to proceed.
No additional source files are required for this project so in the New Project : Project Type window tick the Do not specify sources at this time check box and then click Next.
In the Parts tab enter xc7z020clg484 inside the Search element, select the xc7z020clg484-1 part from the parts list and click Next to continue.
Look over the project details in the New Project : New Project Summary window and then click Finish.
The Vivado project window now appears.
Tip: The buttons in the top menu bar of a pane provide a very useful way of expanding the working area of that pane. Maximize
expands a pane within the project window. Float
expands the pane beyond the project window. Restore
reverses Maximise. Dock
reverses Float.
The Vivado project window now changes to reflect the addition of the Diagram pane. Expand the Diagram pane outside of the Vivado window by clicking on its Float icon
.
button.
Scroll down to the ZYNQ7 Processing System in the pop-up dialog and add this to the block design by double clicking on it.
The ZYNQ7 Processing System IP is now added to the block design.
Let Vivado automate some of the connections by clicking on Run Block Automation.
Review the connections proposed in the Run Block Automation dialog (note the missing Apply Board Preset checkbox) and then click OK.
Some of the connections are now made in the block design.
After execution of the script the ZYNQ7 Processing System should reflect the applied changes.
Remove the Timer connection from the ZYNQ7 Processing System as it is not required for this design. Click on MIO Configuration, expand Application Processor Unit and untick Timer 0.
Click OK to commit the changes.
icon and select AXI GPIO from the menu. The diagram now shows two unconnected IP modules.
Under GPIO tick All Outputs, set the GPIO Width to 8 and set the Default Output Value to 0x00000018. Tick Enable Dual Channel, then under GPIO 2 tick All Inputs and set the GPIO Width to 8.
Click OK to commit the changes.
Review each connection by selected GPIO, GPIO2 & S_AXI respectively. Once reviewed tick All Automation to enable all the suggested connections and then click OK to commit the changes.
The extra modules of Processor System Reset & AXI Interconnect are now added to the block design to make connecting up the ZYNQ7 Processing System & AXI GPIO possible. Resize the canvas to obtain a better view of the design and click on the Regenerate Layout
icon to obtain a better layout.
Using the same process rename gpio_rtl_1 to switches.
The block design should now reflect the changes.
icon. All being well the Validation successful dialogue should now appear.
Once validated return the floating Diagram pane back to Vivado by clicking on the Dock
icon. Save the Diagram.
The Create HDL Wrapper dialog now appears. Select Let Vivado manage wrapper and auto-update and then click OK.
In the Add Sources dialogue select Add or create constraints and then click Next.
In the Add Sources - Add or Create Constraints dialogue click on Create File.
In the Create Constraints File dialogue set the File name to zedboard, set the File location to /home/steve/projects/leds_switches/usr/con and then click Next.
In the Add Sources - Add or Create Constraints dialogue click on Finish.
Double click on the newly created constraints zedboard.xdc within Sources » Constraints » constrs_1 to edit.
Add the following to zedboard.xdc and save the file.