将GPIO外设添加到块设计中

本节介绍添加GPIO一个街区的外围设计。而阿喜GPIO当使用IP时,其他IP和接口也可以以相同的方式添加到您的设计中。这里介绍了两种方法,分别针对两个AXIGPIO将被连接的外围设备。第一个利用板文件自动生成约束,第二个介绍了如何将IP接口连接到手动选择的引脚。

单板文件支持的Digilent单板接口请参见董事会选项卡。对于本指南的目的,请查找GPIO部分,右击一个领导接口,并选择连接板接口选择。

注意:如果你的电路板没有单色led,你可以使用它的RGB led代替。注意,这些接口各有三个引脚领导,对于R、G、B分量。


在弹出的对话框中,选择GPIO接口(不是GPIO2)的新AXIGPIOIP。

有些单板使用其中一个用户按钮作为复位源。在这些情况下,请确保选择组件模式这还不包括重置按钮。

点击好吧继续。这将将IP添加到您的设计中,并将其连接到外部端口,这将不需要任何进一步的工作来约束。


接下来,选择axi_gpio_0块。的块的属性面板在Diagram左边和Board选项卡下面,将允许您查看关于块的一些信息,并以某种方式修改它,而无需运行它的自定义向导。现在,只需将其名称更改为“AXI_”GPIO_领导,然后输入的名字字段。按回车键或单击文本框外的按钮以确认更改。在块设计中使用容易记忆的名称可以使您在以后用Vitis编写软件时更容易记住哪个IP做了什么。


接下来是第二个AXIGPIOIP将被手工添加到框图中,并用XDC文件手工约束。单击添加IP按钮(),并搜索“AXIGPIO”。双击唯一的结果添加第二个AXIGPIO块到设计。添加后,将该IP重命名为“AXI_”GPIO_BUTTONS”


选择AXI_GPIO_BUTTONS IP的GPIO界面点击文本"GPIO,右键单击突出显示的文本,然后选择使外部.此选项创建一个不依赖于板文件的新的外部接口端口。因为这里没有使用板文件,所以必须将Xilinx Design Constraint (XDC)文件添加到项目中,以告诉Vivado要将接口连接到哪个FPGA引脚。


如果您的项目不包含板的主Xilinx Design Constraint (XDC)文件,下面的下拉菜单将详细说明如何添加它。此文件包含您的板对使用它的设计施加的约束——特定接口连接到特定引脚、时钟频率和FPGA银行电压,举例说明。单击下面的下拉列表了解如何将此文件添加到项目中。

将主XDC文件添加到Vivado项目

下载并提取digilent-xdc-master.zip.这个文件包含了Digilent的所有最新的XDC模板文件,这些文件可以在Github的digilent-xdc存储库。


返回Vivado,单击添加资源按钮项目经理部分的流导航器窗格。这将启动一个对话框,您可以使用该对话框向项目添加各种类型的源文件(或创建新的源文件)。


在第一个屏幕上,选择添加或创建约束.点击下一个继续。


在下一个屏幕中,确保指定的约束集(主XDC将被添加到的约束集)被设置为constrs_1,它是活跃的集。单击添加文件按钮。


在弹出的对话框中,导航到digilent-xdc-master.zip文件被提取到。突出显示您的板的XDC文件,然后单击好吧继续。


回到添加资源对话框中,确保所选的约束文件出现在表中。同时,确保复制约束文件到项目检查框。如果不选中此框,则该文件将由项目链接,在项目中进行的任何修改都将影响下载的版本。由于您可能需要在其他项目中再次使用此文件,因此建议复制约束文件,以便您总是可以从一个新的副本工作。

点击完成将约束文件添加到项目中。


添加后,XDC文件将出现在来源选项卡(与董事会选项卡)。双击它以打开文件。


Digilent板的主XDC文件包含了板提供的I/O接口的引脚限制。这些约束按接口排序。向下滚动,直到看到用户按钮的约束。这些约束通常针对名为“btn”的总线端口。取消对按钮约束的注释,方法是删除对应按钮的每行中的一个前‘#’字符,如右边的截图所示。


接下来是街区设计的名称GPIO必须确定按钮的端口,以便对按钮进行适当的限制。重新打开选项卡,然后选择GPIO_0连接到AXI_的外部接口GPIO_BUTTONS块。修改的外部接口名称为“btn”属性窗格。

阿喜的GPIOIP自动使用三态缓冲区的引脚,其接口连接。当通过加号按钮展开接口时,可以看到单独的I、O和T总线(),在IP块的接口名称旁边。可以看到,组成接口的各个端口被命名为_tri_i、_tri_o和_tri_t。当被限制为三态缓冲区时,连接到FPGA端口的总线被命名为_tri_io。


了解了这些知识后,返回到XDC文件,并更改受约束的按钮总线的名称。具体地说,将按钮接口的每行“get_ports”调用后的文本更改为“btn_tri_io[#]”,其中#是一个十进制数,从0开始计数。完成后,保存文件。

端口的约束完成后,AXIGPIO必须手动配置。特别是宽度GPIO接口必须与单板上可用的按钮数量相匹配。请注意XDC中限制了多少按钮。


返回到选项卡,然后双击AXI_GPIO_BUTTONS块。这将打开一个对话框,允许您配置IP的设置。切换到配置向导IP配置选项卡。

为了本指南的目的,只需要更改一个设置。控件中限制的按钮数量GPIO接口的GPIO宽度字段。当完成时,单击好吧保存更改。


最后,两个AXIGPIO在你的设计中,IP块需要连接到处理器。单击连接自动化运行绿色按钮设计师的帮助酒吧。


在弹出的对话框中,请确保S_AXI两个AXI的接口GPIO“诱导多能性”检查。单击OK以运行连接自动化并连接AXIGPIO块到处理器。