• 0

Using PMOD pins on the Zedboard as GPIO.


Hey All,

//**very simple question**//

I was hoping to get some clarification on implementing a test  I would like to run on my PMOD pins. I want to use the lines of the PMOD pins as general digital outputs for flashing 1's and 0's, and I am seeking advice on how to best implement this. 

I would like to prepare the connections in Vivado and export to SDK to manage how/what I send to the pins. 

My understanding is that in Vivado I can add the constraint file for the Zedboard and write a top module that sets the pins to outputs then export to SDK and write my program there. Or I can prepare the hardware using a block design and the IP integrator, in this case would I just need to connect my ZynqP7 block to an axi-gpio block or is there another IP block I should be using? 

Finally, my goal is to access all of the PMOD pins as general output/input, however it is my understanding that the JE pmod connector is attached directly to the PS, so would I even need to do anything in Vivado to program the pins on JE? 


Any/all help is appreciated!




**Edit** I found the "PMODGPIO_0"  IP core and it looks like this generally does exactly what I described above.  However, I am still curious about how/if others implement this in there designs (i.e. using just the constraint file and verilog/vhdl or using the "axiGPIO" IP core). 

Edited by StefanOR

Share this post

Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 1

Hi @StefanOR,

Here is a Zedboard tutorial that shows you how to use the Zedboard board files with the on-board LEDs, BTN's, and SW's. To use Pmod Pins when you add the AXI GPIO IP core you want to configure the width. Then right click on the expanded GPIO out and select the pins you would like to use. I would suggest using the T Pins instead of the I or O pins. Then when you are done with the block design and you have made a wrapper you use the pin names in the wrapper to constrain them in an XDC.   Here is the master XDC for the Zedboard. Lets say that the GPIO pins in the wrapper are named "gpio_out_t" and you want to constrain the pins to the JA Port. You would constrain the first pin like this:

#set_property PACKAGE_PIN Y11 [get_ports { gpio_out_t[0] }]; # "JA1" 

thank you,


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now