Xilinx约束文件[VHDL Spartan-6]中的IO数组

Xilinx约束文件[VHDL Spartan-6]中的IO数组,io,vhdl,fpga,xilinx,spartan,Io,Vhdl,Fpga,Xilinx,Spartan,我正在学习编写VHDL并尝试在FPGA(Xilinx Spartan-6评估板)上实现它。到目前为止,我已经看过了“入门”指南,这是没有用的——因为它只是向我展示了如果你知道自己在做什么(我不知道),FPGA的潜力有多大。然后,我观看了通过原始VHDL代码、约束文件以及最终通过iMPACT/JTAG编程使LED闪烁的过程 因此,我进一步做了一个按钮,按下该按钮时,LED会亮起,这也起了作用,但是当我按下按钮时,LED的矢量会亮起,我必须声明每个索引的pin位置,如下所示 NET "LED(0)"

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

因此,我进一步做了一个按钮,按下该按钮时,LED会亮起,这也起了作用,但是当我按下按钮时,LED的矢量会亮起,我必须声明每个索引的pin位置,如下所示

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\u逻辑\u向量的大小,必须有另一种方法

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

非常感谢


David

Xilinx UCF文件支持像
*
这样的占位符。但不幸的是,pin位置没有顺序或模式,因此您只能逐个分配它们

我们通过提供具有有意义的信号名称的随时可用的UCF文件,尽量减少最终用户的工作。可以将多个UCF文件加载到一个项目中


这是一个例子。Vivado工具链也有XDC文件。

LED矢量中的每个元素都映射到芯片上的唯一管脚,因此不在多行上执行该操作没有意义。由于您使用的是Spartan-6,因此您不得不使用旧的Xilinx ISE工具链,而不是never Vivado,后者更好,例如,它有更高级的TCL脚本形式的约束文件。啊,好的-因此,如果管脚是顺序的,例如D0到D3,那么这是可能的?这并不是因为您使用的是ex.8 LED,而是
D?
匹配10个管脚。但是可以将
IOSTANDARD
DRIVE
分配给所有LED引脚。