0

我是 FPGA 新手,当我尝试在 zynq-7000 clg484 上实现我的解码器时,出现错误,说:

Bitgen:342 - 此设计包含具有非用户分配的位置 (LOC) 或非用户分配的 I/O 标准 (IOSTANDARD) 的引脚。这可能会导致 I/O 争用或与电路板电源或连接不兼容,从而影响性能、信号完整性,或者在极端情况下会损坏设备或其连接的组件。为防止此错误,强烈建议指定所有引脚位置和 I/O 标准,以避免潜在的争用或冲突,并允许正确创建比特流。要将此错误降级为警告并允许使用未指定的 I/O 位置或标准创建比特流,您可以应用以下 bitgen 开关:-g UnconstrainedPins:Allow

而且我尝试添加-g UnconstrainedPins:Allow,还是不行,说'clk' pin不是最优的,但是说真的,我不知道哪个pin号是通用时钟pin号!

我在哪里可以找到解释板针号的文件?我找不到它,所以我不知道板上的哪个按钮映射到哪个数字,所以在 PlanAhead(I/o 引脚规划)中,我总是不知道要定位哪个数字。

4

1 回答 1

0

您的电路板是 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...(玩得开心。

于 2015-09-04T14:31:10.173 回答