将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.存储库。
回到了添加来源对话框中,确保所选的约束文件出现在表中。同时,确保复制约束文件到项目检查框。如果不选中此框,则该文件将由项目链接,在项目中进行的任何修改都将影响下载的版本。由于您可能需要在其他项目中再次使用此文件,因此建议复制约束文件,以便您总是可以从一个新的副本工作。
点击完成将约束文件添加到项目中。
找到董事会100的set_property和create_clock约束MHz.输入时钟,通过删除来取消注释它们 如果你的黑板上有多个时钟,那就是100MHz.可以通过观察create_clock约束指定一个 确保保存更改。 |
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来始终返回并添加它们。只要在设计过程中,可以执行此任务它变得必要。