2

我正在学习对 VHDL 进行编程并尝试在 FPGA(Xilinx Spartan-6 评估板)上实现它。到目前为止,我已经在这里查看了“入门”指南,但它是无用的——因为它只是向我展示了 FPGA 的潜力有多大,如果你知道你在做什么(我不知道)。然后,我观看了youtube 视频,通过原始 VHDL 代码、约束文件和最后通过 iMPACT/JTAG 对其进行编程,使 LED 闪烁。

所以我更进一步,制作了一个按钮,在按住时打开 LED,这也有效,但是当我按下按钮时,我的 LED 矢量打开,我必须为每个索引声明它们的引脚位置,如下;

NET "LED(0)" LOC = "D17";
NET "LED(1)" LOC = "AB4";
NET "LED(2)" LOC = "D21";
NET "LED(3)" LOC = "W15";
NET "CLK" LOC = "K21";
NET "BUTTON" LOC = "F3";

如何在一行中声明整个 LED(0) 到 LED(3) 阵列?考虑到 a 的大小,必须有另一种方法 std_logic_vector

作为一个后续问题,如果有人知道任何资源、教程、视频甚至书籍可以帮助我从新手级别实际编程 Spartan-6(或等效)FPGA 的基础知识,那将不胜感激!

非常感谢!

大卫

4

1 回答 1

3

Xilinx UCF 文件支持*?. 但不幸的是,引脚位置没有顺序或模式,因此您只能一一分配。

我们的PoC 库试图通过提供具有有意义的信号名称的即用型 UCF 文件来最大程度地减少最终用户的工作。可以将多个 UCF 文件加载到一个项目中。

这是一个Virtex-5 示例。Vivado 工具链也有 XDC 文件。

于 2015-10-31T07:56:50.787 回答