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

电子说

1.2w人已加入

描述

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

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

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

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

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

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

步骤如下:

1.调用 Vivado。

Vivado

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

Vivado

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

Vivado

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

单击“下一步 (Next)”。

Vivado

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

Vivado

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

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

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

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

Vivado

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

单击“下一步 (Next)”。

Vivado

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

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

单击此按钮。

Vivado

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

Vivado

单击“是 (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。

审核编辑:符乾江

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分