我正在使用一些简单的 VGA 驱动程序代码,以便与 Xilinx Spartan 6 FPGA 一起使用(通过 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),从而抛出“警告:地点:838 - IO 总线找到了多个 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 总线”类型的警告?
我的目标是,在每个 channel 由引脚驱动或多或少位的设置中,只需要更改 UCF(而不是源代码)。尽管有警告,我所做的仍然有效...我只是想做得更好并正确消除这些警告。
最佳答案
您已要求在代码顶层(在您的实体
上)提供引脚。因此,工具必须提供它们。因此你必须映射它们(否则它会为你随机选择一些你通常不想要的)
如果这些引脚确实在电路板上无处可去,而且永远不会有,那么请将它们从设计中完全删除(UCF 和 HDL)。
否则,您必须找到它们。您可以在 UCF 中向它们添加一个 PULLDOWN
以确保它们达到较低的值。
关于constraints - VHDL UCF - 如何定义没有引脚的约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15515597/