Vivado 设计输入纪事 - RTL 设计输入

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45825101/article/details/119058360

注:本文转自赛灵思中文社区论坛,源文链接在此。本文原作者为XILINX工程师。

以下为个人译文,仅供参考,如有疏漏之处,还请不吝赐教。

本篇博文是面向希望学习使用 Vivado 进行 FPGA 设计输入的新手的系列博文第一讲。

这些实践旨在为用户提供快速入门指导,帮助其简要了解工具流程原理。我们选择了一项非常简单的设计,便于读者理解流程中的不同步骤。

这些实践将按如下顺序展示:RTL 流程、基于 IP 的流程、基于 HLS 的流程、基于 IP integrator 的流程,最后是混用前述流程创建设计。

第一项实践是 RTL 流程。 每个步骤都包含截屏,以便用户自行尝试时参考。

步骤如下:

1.调用 Vivado。

2.用户提供自己选择的工程名称(该工具使用的默认工程名称为 project_1),并提供工程创建路径,然后单击“下一步 (Next)”。

3.默认情况下,该工具会选中“选择 RTL 工程 (Select RTL Project)”,然后单击“下一步 (Next)”。

4. 该工具会提示您选择“Add Sources”以添加源文件。选择“添加文件 (Add Files)”,然后提供此处随附的 RTL 文件 (top.v)。

单击“下一步 (Next)”。

以下提供了 RTL 的详细信息:

RTL 用于描述自由运行的简单 32 位计数器。当该计数器达到其最大值时,就会翻转触发器。此触发器连接到输出。

这样会使用另一个缓冲器 (IBUFDS) 来创建时钟差分对,其输出将在设计中使用。在下一节中,我们将讲解为何使用此缓冲器。

5. 您将看到“添加约束 (Add Constraints)”对话框,其中包含“添加 (Add Files)”选项。

选择“Add Files”,提供此处随附的 top.xdc,然后单击“Next”。

6.单击开发板选项卡,搜索 zcu102,然后选择此处显示的开发板(Zynq UltraScale+ ZCU102 评估板)。

单击“下一步 (Next)”。

7.在以下窗口中,单击“完成 (Finish)”。

8.在左侧,您将看到“生成比特流 (Generate Bitstream)”按钮。

单击此按钮。

9.这样将显示如下提示:

单击“是 (Yes)”。这样将弹出另一条提示,要求您启动运行。单击“OK”。

这样就会触发综合 (Synthesis),然后实现 (Implementation),并且将生成比特流。

实践至此完成。

XDC 文件内容:

XDC 文件包含:

create_clock -name clk_p -period 8 [get_ports clk_p]
set_property LOC G21 [get_ports clk_p]
set_property LOC AG14 [get_ports dout]

set_property IOSTANDARD LVCMOS18 [get_ports dout]
set_property IOSTANDARD DIFF_HSTL_I_18 [get_ports clk_p]

使用 IBUFDS 的原因:

使用 IBUFDS 的原因是因为我们选择的开发板需要差分时钟。

每块开发板都有其自己特定的管脚 LOC 及其支持的系统时钟频率。

此开发板支持 300Mhz 和 125Mhz,因此我们使用 125Mhz 和与之对应的管脚 LOC。输出连接至 LED,其 LOC 为 AG14。最后 2 条语句用于指定端口的 IOSTANDARD。

最新文章

最新文章