3

我正在使用一些用于 Xilinx Spartan 6 FPGA 的简单 VGA 驱动程序代码(通过 Papilio Pro 板)。该代码期望每种颜色有 4 位输出,因此为每种颜色定义了逻辑向量。但是,我的设置碰巧不能为每种颜色提供完整的 4 位,所以我想找到一种创造性的方法来通过 UCF 控制它。

最初的 UCF 为每种颜色定义了 4 个引脚。在蓝色的情况下,我只有两个引脚,所以我选择将我必须的两个映射到蓝调 MSB,因此:

NET Blue(0)                 IOSTANDARD=LVTTL;  # N/C
NET Blue(1)                 IOSTANDARD=LVTTL;  # N/C
NET Blue(2)     LOC="P92" | IOSTANDARD=LVTTL;  # to a pin
NET Blue(3)     LOC="P87" | IOSTANDARD=LVTTL;  # to a pin

(起初我完全忽略了前两个约束,它仍然编译并工作,但抱怨电压标准不一致(缺席的默认为 IOSTANDARD = LVCMOS25),因此抛出“WARNING:Place:838 - An IO Bus with more than找到一个 IO 标准。”)

主要警告是我想知道如何消除的警告,最好是在 UCF 内:

WARNING:Place:837 - Partially locked IO Bus is found. 
    Following components of the bus are not locked: 
     Comp: Blue<1>
     Comp: Blue<0>

将没有可编程引脚位置的网络映射到 UCF 内的默认值(逻辑“1”或“0”,或者可能是三态值)的正确方法是什么,以消除这种“部分锁定的 IO巴士”之类的警告?

我的目标是,在每个通道或多或少位由引脚驱动的设置中,只有 UCF 需要更改(而不是源代码)。尽管有警告,但我所做的工作仍然有效……我只想做得更好并正确消除这些警告。

4

1 回答 1

3

您已在代码的顶层(在您的entity)中要求输入引脚。因此,工具必须提供它们。因此你必须映射它们(否则它会为你选择一些随机的,你通常不想要的)

如果这些引脚在电路板上真的无处可去并且永远不会有,那么将它们从设计中完全移除(UCF 和 HDL)。

否则,您必须锁定它们。您可以PULLDOWN在 UCF 中为它们添加一个以确保它们达到较低的值。

于 2013-03-20T11:52:39.223 回答