constraints - VHDL UCF - 如何定义没有引脚的约束?

标签 constraints vhdl fpga

我正在使用一些简单的 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/

相关文章:

php - Symfony 将参数传递给验证器约束

range - VHDL 'range => ' 0' 命令

arrays - vhdl:将向量转换为字符串

c - 通过 USB 使用 FPGA 访问 PC 的 PCI 卡

c - 循环展开-Microblaze C编程

vhdl - 优化 fpga 实现的流水线吞吐量的最佳实践是什么?

algorithm - 与约束匹配

ios - 为每个实例更改 UITableViewCell 的宽度约束的常量值

SQL Server 空逻辑异或

syntax - 在非时钟信号上使用上升沿是不好的做法吗?还有其他选择吗?