【问题标题】:VHDL UCF - how to define a constraint that has no pin?VHDL UCF - 如何定义没有引脚的约束?
【发布时间】:2013-03-20 04:48:37
【问题描述】:

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

【问题讨论】:

    标签: constraints vhdl fpga


    【解决方案1】:

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

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

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

    【讨论】:

    • 如有必要,将顶层封装在一个 VHDL 适配器中,该适配器会悄悄地丢弃引脚。这节省了修改“顶级”本身!简单地离开端口,没有 LOC 限制,会给你随机放置你不想要的引脚!此外,检查地图报告 (.mrp) 文件以确保您得到的内容是正确的。
    • [Upvote question if education] 太糟糕了,你不能在 UCF 中上下拉动非定位 I/O(因为它是设备本身和底层 VHDL 之间的实际映射,这似乎是合乎逻辑的把这些松散的末端绑起来的地方)。地图报告没有引脚编号,但 .pad 报告确实显示“未定位”焊盘确实是随机布线的(奇怪的是,没有明确的警告/错误)。并且试图将所有未使用的东西连接到一个焊盘会导致“Pack:2811 - 定向包装无法服从用户设计”。刚找到另一个类似的问答:fpgarelated.com/usenet/fpga/show/106417-1.php
    • @Martin - 感谢您的回答。现在找出创建包装器的最佳方法(如果它不仅仅是充当接口的另一个模块)。以下是我后来读到关于缺乏明确警告/错误的地方 - 原来你也在那个线程上! electronics.stackexchange.com/questions/26527/…
    • 包装器只是一个模块(ent/arch)实现所需的接口(端口)并实例化实际的“顶级”模块。大多数连接都在后者的端口映射中。其中唯一的其他代码是调整任何修改过的端口(删除一些输出引脚,将未使用的输入连接到 0V 等)几分钟的工作。
    • @Brian - 听起来很简单,我只是不确定它是具有特殊语法的特殊模块类型还是只是接口类型层。感谢您的有用建议!
    猜你喜欢
    • 1970-01-01
    • 2016-08-14
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    相关资源
    最近更新 更多