【发布时间】:2015-10-30 23:39:12
【问题描述】:
我正在学习对 VHDL 进行编程并尝试在 FPGA(Xilinx Spartan-6 评估板)上实现它。到目前为止,我已经查看了“入门”指南here,它是无用的——因为它只是向我展示了如果你知道自己在做什么(我不知道),FPGA 的潜力有多大。然后我看了youtube video 通过原始 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) 阵列?考虑到 std_logic_vector 的大小,肯定还有其他方法。
作为后续问题,如果有人知道任何资源、教程、视频甚至书籍可以帮助我了解从新手级别实际编程 Spartan-6(或等效)FPGA 的基础知识,那将是大量的感激不尽!
非常感谢!
大卫
【问题讨论】:
-
LED 矢量中的每个元素都映射到芯片上的一个唯一引脚,因此在多行上不这样做是没有意义的。由于您使用的是 Spartan-6,因此您不得不使用旧的 Xilinx ISE 工具链而不是从未使用过的 Vivado,后者要好得多,例如具有 TCL 脚本形式的更高级的约束文件。
标签: io vhdl fpga xilinx spartan