我正在使用一些简单的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总线”的警告?
我的目标是,在每个通道由引脚驱动的位数更多或更少的设置中,只需要更改UCF(不是源代码)。我做了什么工作,尽管有警告......我只是想做得更好并正确消除这些警告。
答案 0 :(得分:3)
您已经在代码的顶层(在entity
上)请求了引脚。因此,工具必须提供它们。因此你必须映射它们(否则它会为你选择一些随机的,你通常不想要的)
如果这些引脚真的无处可去,并且永远不会有,那么将它们完全从设计中移除(UCF和HDL)。
否则,你必须LOC。您可以在UCF中添加PULLDOWN
,以确保它们达到较低的值。