我正在使用一些用于 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 需要更改(而不是源代码)。尽管有警告,但我所做的工作仍然有效……我只想做得更好并正确消除这些警告。