什么是约束文件?
当通过Xilinx的Vivado等软件编程FPGA时,您需要告知软件FPGA上的哪些物理引脚,您计划使用或连接到与描述FPGA行为相关的HDL代码。
在微控制器领域,这很像在微控制器上写一个高或低寄存器来转动领导开或关,驱动时钟,或充当数据线。然而,在微控制器中,许多这些引脚是“硬连线”的,在某种意义上,您不能将连接到SPI控制器的引脚重新定位到微控制器上的物理上不同的引脚。一般来说,这不是一个选择。
这不是FPGA的情况;相反,您可以用HDL创建一个硬件接口,然后将该接口上相应的输入和输出限制到(本质上)FPGA上任何您想要的引脚,使FPGA对于复杂和定制设计非常灵活。
然而,这并不是说您可以通过软件在物理上重新安排电路板上的PCB布局。FPGA板制造商,如Digilent,可能会在合理的情况下将一些FPGA引脚物理连接到某些板上组件,例如将FPGA上的一些高速收发通道路由到HDMI端口,而不是Pmod主机端口或板上领导.你将无法改变那些物理位置。这并不会阻止你在你的代码中指定你的时钟引脚被限制在一个HDMI连接器内的时钟引脚上……你只是在物理上很难访问它(同时正常使用HDMI)。
Xilinx的Vivado使用的约束文件称为XDC文件(Xilinx Design constraints文件)。为没有经验的用户编写自己的约束文件可能非常困难,因为FPGA引脚连接到板上的物理位置会限制您,如果您不知道它们在哪里以及它们支持的电气性能标准……这很快就会变得非常令人沮丧。
我可以在哪里找到XDC文件?
在Vivado中积极支持的所有Digilent板的主XDC文件可以在digilent-xdc在Github库。下载此ZIP以获取以下文件的最新版本:digilent-xdc-master.zip
主板的主XDC文件列出了所有的FPGA引脚,这些引脚路由到主板上的物理引脚;它们是由外部组件组安排在板上一般方便。主XDC文件上的所有引脚都被注释掉了,因此用户只需要取消注释他们打算使用的引脚。
如何将XDC文件导入项目?
如果您的项目不包含板的主Xilinx Design Constraint (XDC)文件,下面的下拉菜单将详细说明如何添加它。此文件包含您的板对使用它的设计施加的约束——特定接口连接到特定引脚、时钟频率和FPGA银行电压,举例说明。单击下面的下拉列表了解如何将此文件添加到项目中。
- 将主XDC文件添加到Vivado项目
-
下载并提取digilent-xdc-master.zip.这个文件包含了Digilent的所有最新的XDC模板文件,这些文件可以在Github的digilent-xdc存储库。
回到添加资源对话框中,确保所选的约束文件出现在表中。同时,确保复制约束文件到项目检查框。如果不选中此框,则该文件将由项目链接,在项目中进行的任何修改都将影响下载的版本。由于您可能需要在其他项目中再次使用此文件,因此建议复制约束文件,以便您总是可以从一个新的副本工作。
点击完成将约束文件添加到项目中。