Whitney Knitter
Published © GPL3+

RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260

This project demonstrates how to implement a custom PL design on the KR260 utilizing its RPi & PMOD connectors.

IntermediateFull instructions provided2 hours6,204
RPi+PMOD Connector GPIO with Custom PL Design in Kria KR260

Things used in this project

Hardware components

Kria™ KR260 Robotics Starter Kit
AMD Kria™ KR260 Robotics Starter Kit
×1

Software apps and online services

Vivado Design Suite
AMD Vivado Design Suite
PetaLinux
AMD PetaLinux

Story

Read more

Code

pmod_pinout.xdc

Plain text
######################## PMOD 1 Upper ########################
set_property PACKAGE_PIN H12 [get_ports {pmod1_io[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod1_io[0]}]

set_property PACKAGE_PIN E10 [get_ports {pmod1_io[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod1_io[1]}]

set_property PACKAGE_PIN D10 [get_ports {pmod1_io[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod1_io[2]}]

set_property PACKAGE_PIN C11 [get_ports {pmod1_io[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod1_io[3]}]

######################## PMOD 1 Lower ########################
set_property PACKAGE_PIN B10 [get_ports {pmod1_io[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod1_io[4]}]

set_property PACKAGE_PIN E12 [get_ports {pmod1_io[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod1_io[5]}]

set_property PACKAGE_PIN D11 [get_ports {pmod1_io[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod1_io[6]}]

set_property PACKAGE_PIN B11 [get_ports {pmod1_io[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod1_io[7]}]

######################## PMOD 2 Upper ########################
set_property PACKAGE_PIN J11 [get_ports {pmod2_io[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod2_io[0]}]

set_property PACKAGE_PIN J10 [get_ports {pmod2_io[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod2_io[1]}]

set_property PACKAGE_PIN K13 [get_ports {pmod2_io[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod2_io[2]}]

set_property PACKAGE_PIN K12 [get_ports {pmod2_io[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod2_io[3]}]

######################## PMOD 2 Lower ########################
set_property PACKAGE_PIN H11 [get_ports {pmod2_io[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod2_io[4]}]

set_property PACKAGE_PIN G10 [get_ports {pmod2_io[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod2_io[5]}]

set_property PACKAGE_PIN F12 [get_ports {pmod2_io[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod2_io[6]}]

set_property PACKAGE_PIN F11 [get_ports {pmod2_io[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod2_io[7]}]

######################## PMOD 3 Upper ########################
set_property PACKAGE_PIN AE12 [get_ports {pmod3_io[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod3_io[0]}]

set_property PACKAGE_PIN AF12 [get_ports {pmod3_io[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod3_io[1]}]

set_property PACKAGE_PIN AG10 [get_ports {pmod3_io[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod3_io[2]}]

set_property PACKAGE_PIN AH10 [get_ports {pmod3_io[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod3_io[3]}]

######################## PMOD 3 Lower ########################
set_property PACKAGE_PIN AF11 [get_ports {pmod3_io[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod3_io[4]}]

set_property PACKAGE_PIN AG11 [get_ports {pmod3_io[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod3_io[5]}]

set_property PACKAGE_PIN AH12 [get_ports {pmod3_io[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod3_io[6]}]

set_property PACKAGE_PIN AH11 [get_ports {pmod3_io[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod3_io[7]}]

######################## PMOD 4 Upper ########################
set_property PACKAGE_PIN AC12 [get_ports {pmod4_io[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod4_io[0]}]

set_property PACKAGE_PIN AD12 [get_ports {pmod4_io[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod4_io[1]}]

set_property PACKAGE_PIN AE10 [get_ports {pmod4_io[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod4_io[2]}]

set_property PACKAGE_PIN AF10 [get_ports {pmod4_io[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod4_io[3]}]

######################## PMOD 4 Lower ########################
set_property PACKAGE_PIN AD11 [get_ports {pmod4_io[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod4_io[4]}]

set_property PACKAGE_PIN AD10 [get_ports {pmod4_io[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod4_io[5]}]

set_property PACKAGE_PIN AA11 [get_ports {pmod4_io[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod4_io[6]}]

set_property PACKAGE_PIN AA10 [get_ports {pmod4_io[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pmod4_io[7]}]

rpi_pinout.xdc

Plain text
######################## Raspberry Pi GPIO Header ########################
### AXI GPIO ### 
set_property PACKAGE_PIN AD15 [get_ports {rpi_gpio[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[0]}]

set_property PACKAGE_PIN AD14 [get_ports {rpi_gpio[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[1]}]

set_property PACKAGE_PIN AE15 [get_ports {rpi_gpio[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[2]}]

set_property PACKAGE_PIN AE14 [get_ports {rpi_gpio[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[3]}]

set_property PACKAGE_PIN AG14 [get_ports {rpi_gpio[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[4]}]

set_property PACKAGE_PIN AH14 [get_ports {rpi_gpio[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[5]}]

set_property PACKAGE_PIN AG13 [get_ports {rpi_gpio[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[6]}]

set_property PACKAGE_PIN AH13 [get_ports {rpi_gpio[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[7]}]

set_property PACKAGE_PIN AC14 [get_ports {rpi_gpio[8]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[8]}]

set_property PACKAGE_PIN AC13 [get_ports {rpi_gpio[9]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[9]}]

set_property PACKAGE_PIN AE13 [get_ports {rpi_gpio[10]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[10]}]

set_property PACKAGE_PIN AF13 [get_ports {rpi_gpio[11]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[11]}]

set_property PACKAGE_PIN AA13 [get_ports {rpi_gpio[12]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[12]}]

set_property PACKAGE_PIN AB13 [get_ports {rpi_gpio[13]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[13]}]

set_property PACKAGE_PIN W14 [get_ports {rpi_gpio[14]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[14]}]

set_property PACKAGE_PIN W13 [get_ports {rpi_gpio[15]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[15]}]

set_property PACKAGE_PIN AB15 [get_ports {rpi_gpio[16]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[16]}]

set_property PACKAGE_PIN AB14 [get_ports {rpi_gpio[17]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[17]}]

set_property PACKAGE_PIN Y14 [get_ports {rpi_gpio[18]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[18]}]

set_property PACKAGE_PIN Y13 [get_ports {rpi_gpio[19]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[19]}]

set_property PACKAGE_PIN W12 [get_ports {rpi_gpio[20]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[20]}]

set_property PACKAGE_PIN W11 [get_ports {rpi_gpio[21]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[21]}]

set_property PACKAGE_PIN Y12 [get_ports {rpi_gpio[22]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[22]}]

set_property PACKAGE_PIN AA12 [get_ports {rpi_gpio[23]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[23]}]

set_property PACKAGE_PIN Y9 [get_ports {rpi_gpio[24]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[24]}]

set_property PACKAGE_PIN AA8 [get_ports {rpi_gpio[25]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[25]}]

set_property PACKAGE_PIN AB10 [get_ports {rpi_gpio[26]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[26]}]

set_property PACKAGE_PIN AB9 [get_ports {rpi_gpio[27]}]
set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio[27]}]

### Special Functions ###
#set_property PACKAGE_PIN AD15 [get_ports {rpi_gpio0_id_sd}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio0_id_sd}]

#set_property PACKAGE_PIN AD14 [get_ports {rpi_gpio1_id_sc}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio1_id_sc}]

#set_property PACKAGE_PIN AE15 [get_ports {rpi_gpio2_sda}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio2_sda}]

#set_property PACKAGE_PIN AE14 [get_ports {rpi_gpio3_scl}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio3_scl}]

#set_property PACKAGE_PIN AG14 [get_ports {rpi_gpio4_gpclk0}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio4_gpclk0}]

#set_property PACKAGE_PIN AH14 [get_ports {rpi_gpio5}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio5}]

#set_property PACKAGE_PIN AG13 [get_ports {rpi_gpio6}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio6}]

#set_property PACKAGE_PIN AH13 [get_ports {rpi_gpio7_ce1}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio7_ce1}]

#set_property PACKAGE_PIN AC14 [get_ports {rpi_gpio8_ce0}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio8_ce0}]

#set_property PACKAGE_PIN AC13 [get_ports {rpi_gpio9_miso}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio9_miso}]

#set_property PACKAGE_PIN AE13 [get_ports {rpi_gpio10_mosi}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio10_mosi}]

#set_property PACKAGE_PIN AF13 [get_ports {rpi_gpio11_sclk}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio11_sclk}]

#set_property PACKAGE_PIN AA13 [get_ports {rpi_gpio12_pwm0}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio12_pwm0}]

#set_property PACKAGE_PIN AB13 [get_ports {rpi_gpio13_pwm1}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio13_pwm1}]

#set_property PACKAGE_PIN W14 [get_ports {rpi_gpio14_txd}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio14_txd}]

#set_property PACKAGE_PIN W13 [get_ports {rpi_gpio15_rxd}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio15_rxd}]

#set_property PACKAGE_PIN AB15 [get_ports {rpi_gpio16}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio16}]

#set_property PACKAGE_PIN AB14 [get_ports {rpi_gpio17}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio17}]

#set_property PACKAGE_PIN Y14 [get_ports {rpi_gpio18_pcm_clk}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio18_pcm_clk}]

#set_property PACKAGE_PIN Y13 [get_ports {rpi_gpio19_pcm_fs}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio19_pcm_fs}]

#set_property PACKAGE_PIN W12 [get_ports {rpi_gpio20_pcm_din}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio20_pcm_din}]

#set_property PACKAGE_PIN W11 [get_ports {rpi_gpio21_pcm_dout}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio21_pcm_dout}]

#set_property PACKAGE_PIN Y12 [get_ports {rpi_gpio22}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio22}]

#set_property PACKAGE_PIN AA12 [get_ports {rpi_gpio23}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio23}]

#set_property PACKAGE_PIN Y9 [get_ports {rpi_gpio24}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio24}]

#set_property PACKAGE_PIN AA8 [get_ports {rpi_gpio25}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio25}]

#set_property PACKAGE_PIN AB10 [get_ports {rpi_gpio26}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio26}]

#set_property PACKAGE_PIN AB9 [get_ports {rpi_gpio27}]
#set_property IOSTANDARD LVCMOS33 [get_ports {rpi_gpio27}]

Credits

Whitney Knitter

Whitney Knitter

158 projects • 1604 followers
All thoughts/opinions are my own and do not reflect those of any company/entity I currently/previously associate with.

Comments