将DDR内存添加到Microblaze设计

重要!这些步骤仅与通过以下链接提供的板文件版本兼容:https://github.com/digilent/vivado-boards/Archive/refs/heads/microblaze-mig.zip.

添加MIG IP

使用DDR创建设计时,最好先添加DDR接口,因为它通常还用于生成一个或多个时钟,您的其余设计将使用这些时钟。

在“板”选项卡中,右键单击DDR接口,然后选择“自动连接”。此过程将为设计添加MIG和外部DDR接口。还创建了两个时钟引脚,需要修改。


米格孵蛋的

删除“CLK_REF_I”引脚。这可以通过右键单击引脚并选择删除或选择并按删除键来完成。


验证“ui_addn_clk_0”引脚的频率接近200MHz.通过选择它并查看“块引脚属性”窗格中的“频率”值。


通过单击和拖动到另一个手动将“UI_ADDN_CLK_0”引脚连接到“CLK_REF_I”引脚。


值得注意的是,“sys_clk_i”引脚不会受到板文件的约束,并且您需要添加约束文件以将其映射到FPGA上的相应引脚位置。

如果您的项目不包含您的电路板的主Xilinx设计约束(XDC)文件,则下降下降详细信息如何添加它。此文件包含使用IT特定接口在某些示例中使用IT特定接口的设计的约束,以实现一些示例。点击下面的下拉列表,用于将此文件添加到项目中的演练。

将主XDC文件添加到Vivado项目

下载并提取digilent-xdc-master.zip.此文件包括为Digilent的电路板发布的所有最新的模板XDC文件,可在Github上使用Digilent-XDC.存储库。


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


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


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


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


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

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


添加后,XDC文件将出现在其中来源选项卡(在与此相同的窗格中木板标签)。双击它以打开文件。


找到董事会100的set_property和create_clock约束MHz.输入时钟,通过删除来取消注释它们在每行的开始时,并更改名称港口他们不得不这样做sys_clk_i,以匹配块设计中的端口名称。

如果你的黑板上有多个时钟,那就是100MHz.可以通过观察create_clock约束指定一个10.000正如右边的屏幕截图所示。

确保保存更改。


mig重置

接下来,MIG的RESET引脚将连接到电路板的RESET按钮。单击窗口顶部的绿色栏中的“运行连接自动化”。


在弹出对话框左侧的列表中,确保选中“sys_rst”框。点击好吧将重置连接到相应的电路板部件接口。


其他米格港口

MIG块可以具有其他端口,需要连接,以确保其正常工作。本节讨论这些端口中的每一个。

如果您的mig有一个“device_temp_i”端口,请打开此下拉列表

如果您的MIG块有一个“device_temp_i”端口,这意味着MIG没有使用芯片的XADC模数转换器功能。我们会将港口搁浅以防止它发出任何警告。在设计中添加一个“固定”IP。


双击块打开它的配置向导,修改它的值为“0”,宽度为“12”。


将其输出端口连接到MIG上的“device_temp_i”端口。


额外的时钟

如果您的设计需要更多的时钟,而不是MIG提供的UI_CLK,您需要添加由MIG的UI_CLK驱动的时钟向导IP。

使用“添加IP”按钮搜索并向设计添加时钟向导。


手动连接时钟向导的clk_in1和重置端口到MIG的ui_clk和ui_clk_sync_rst端口,分别。


最后,双击时钟向导打开并配置它。第三个选项卡,输出时钟包含指定所需的时钟以及频率所需的所有设置。右侧的屏幕截图显示了配置为创建100的向导MHz.Clk_out1和50MHz.clk_out2。

如果您的设计需要额外的时钟(例如ext_spi_clock针),那么应该在这里添加它们。

笔记:如果您不确定您拥有所需的所有时钟,请不要担心,您可以通过重新配置此IP来始终返回并添加它们。只要在设计过程中,可以执行此任务它变得必要。


米格成功

在此过程结束时,块设计将看起来像这样:


将MIG连接到MicroBlaze处理器

要将MIG的AXI接口连接到处理器,请单击连接自动化运行在块设计顶部的绿色横幅中的按钮。


在弹出的对话框中,您将介绍可以连接到其他接口的接口的多个选项。MicroBlaze的IC和DC端口以及MIG的AXI端口将出现。您只能为连接的一侧运行连接自动化 - S_AXI端口,如右侧的屏幕截图所示。确保选中其框。检查这一点主界面设置为“/microblaze_0 (Cached)”,表示microblaze本地内存将作为DDR内存的缓存,然后点击好吧建立连接。