您的电路板是 ZedBoard,而不是 XC7Z020-clg484,它是您电路板的 Zynq 内核(黑色散热器下方的芯片)。ZedBoard 的原理图可以在网站上找到。首先检查您的电路板版本:查看 Zynq 内核和 FMC 连接器之间的条形码标签。就在下方,您应该会在绿色标签上看到白色的“REV C”或“REV D”。接下来,访问http://zedboard.org/, Support -> Documentation -> ZedBoard -> Schematics 并下载您修改的原理图。你需要的一切都在那里。如果您想知道 Zynq 的哪个引脚驱动 LD0(靠近 8 个开关的 8 个用户 LED 中的最右侧),请搜索 LD0。您将看到它由 Zynq 的 bank 33 的引脚 T22 驱动,并且该 bank 具有 3.3V 电压。为了自动将 I/O 映射到 Zynq 的引脚,您可以使用这样的 TCL 脚本:
array set ios {
"gpi[0]" { "F22" "LVCMOS25" }
"gpi[1]" { "G22" "LVCMOS25" }
"gpi[2]" { "H22" "LVCMOS25" }
"gpi[3]" { "F21" "LVCMOS25" }
"gpi[4]" { "H19" "LVCMOS25" }
"gpi[5]" { "H18" "LVCMOS25" }
"gpi[6]" { "H17" "LVCMOS25" }
"gpi[7]" { "M15" "LVCMOS25" }
"gpo[0]" { "T22" "LVCMOS33" }
"gpo[1]" { "T21" "LVCMOS33" }
"gpo[2]" { "U22" "LVCMOS33" }
"gpo[3]" { "U21" "LVCMOS33" }
"gpo[4]" { "V22" "LVCMOS33" }
"gpo[5]" { "W22" "LVCMOS33" }
"gpo[6]" { "U19" "LVCMOS33" }
"gpo[7]" { "U14" "LVCMOS33" }
"srst" { "P16" "LVCMOS25" }
}
foreach io [ array names ios ] {
set pin [ lindex $ios($io) 0 ]
set std [ lindex $ios($io) 1 ]
set_property package_pin $pin [get_ports $io]
set_property iostandard $std [get_ports [list $io]]
}
在这个例子中,我们有一个 8 位输入总线 (GPI)、一个 8 位输出总线 (GPO) 和一个单比特输入 (SRST)。GPI 映射到 ZedBoad 的 8 个开关,GPO 映射到 8 个 LED,SRST 映射到 5 个按钮板的中心按钮。如您所见gpo[0]
,映射到T22
我上面提到的 LED,其iostandard
属性为LVCMOS33
(3.3 V)。适应您自己的 I/O 名称和功能。保存 TCLfoo.tcl
脚本Tools -> Run TCL script...
(玩得开心。