当前位置:首页 > 新闻资讯 > FPGA之家动态 >

【从0开始学FPGA-2】Vivado建立第一个工程实例

时间:2024-08-01      来源:网络搜集 关于我们 0

    一个多年老硬件工程狮,开始从0学FPGA......

01

    创建空白工程

启动Vivado软件创建空白工程:

在Quick Start菜单下点击Create Project,进入如下新建工程向导界面:

点击Next,根据实际情况输入工程名和保存路径。工程路径与工程名一定不能包含空格以及中文字符,否则在后续流程中会出现错误。

点击Next,出现 Project Type 对话框,如图所示。Vivado 工具可以创建多种不同类型的工程,如最常使用的 RTL 工程、综合后的网表工程、IO 规划工程以及导入其他设计工具的工程。在这里我们选择 RTL 类型的工程,我们可以在创建工程的阶段进行设计文件的添加或创建,也可以在工程创建完成后再进行设计文件的添加或创建。此处我们勾选下面的复选框 Donot specify sources at this time,不在设计创建阶段进行添加源文件。

单击 Next 按,出现 Select Device 对话框,如图所示。需要选择设计所用的具体 FPGA芯片的型号,根据板卡所用 FPGA 的器件系列、封装、速度等级以及温度级别来进行筛选,小编还没有对应的硬件板块,所以先随便选了一款~

点击Next,出现 New Project Summary 对话框,如图所示。单击 Finish 按钮,完成工程的创建。

接下来就进入 Vivado 工程设计界面,如图 所示。设计主界面主要包括:FlowNavigator、Project Manager、Design Runs 等模块。

02

添加设计实例代码

添加.V源文件,在 Flow Navigator 下,找到 Project Manager 并展开,单击 Project Manager 下的 AddSources 选项;或者在 Sources 面板下单击+按钮。

出现 Add Sources 对话框,如下图所示。该对话框界面提供了如下几个选项:

1)  Add or Create Constraints(添加或者创建约束);

2)  Add or Create Design Sources(添加或者创建设计源文件);

3)  Add or Create Simulation Sources(添加或者创建仿真文件);

在此。我们需要的是创建 Verilog HDL 源文件,因此选中第二项 Add or Create Design Source 前面的单选按钮。

点击Next,进入到源文件添加或者创建的界面。可以添加本地的源文件,或许新建,这里新建源文件。

点击Create File,输入文件名,默认保存在当前的工程目录下。

点击OK,后是如下的文件列表。

最后点击Finish,可以进入到端口的默认配置,这里的端口体现在代码里也可以后面在代码里修改。

单机OK,添加源文件完成,如下所示,可以看到,在新建文件时候配置的端口信息,已经体现成Verliog语言的描述,就可以开始编程了~

03

实例代码分析

在上述创建了源文件的过程中,默认配置了一个输出端口y,5个输入端口a,b,c,d,e.module TEST(            output y,            input a,            input b,            input c,            input d,            input e            );endmodule

现在在代码上增加功能代码,实现输出是输入的与,y=a&b&c&d&e,使用赋值变量assign实现,如下:

然后使用RTL ANALYSIS门级电路分析。原理图是依据 HDL 描述生成的,根据该原理图可以查看设计是否达到要求并加以修改。RTL可以看作是对HDL代码的翻译,翻译成了图形化的门级电路,方便检查是否是自己设计的功能电路。找到RTL ANALYSIS点击,Open Elaborated Design,就会进行代码的翻译:

进程结束后,点击Schematic,就可以看到,翻译后的门级电路图:

可以看到,通过4个与门,实现了5个输入端口的与结果输出,和我们的代码逻辑是一致的。

综合设计,RTL分析验证代码的逻辑性,综合设计的功能就是真正实现和FPGA的底层的结合了。如图所示,在 Flow Navigator 窗口下,找到 Synthesis 并展开。在展开项中,单击 Run Synthesis 开始对设计进行综合。

点击后可能会有如下提示路径,点击OK即可。

当综合完成后,出现 Synthesis Completed 对话框,如图所示。可以选择 Open Synthesis Design 来打开综合后的设计进行观察,单击 OK 按钮。

可以看到,此时的SYNTHESIS菜单下出现了许多可点击的综合文件。

点击Schematic查看综合后的设计图,显然,在综合后的原理图视图中,电路网表即采用 FPGA 器件中拥有的基本元件来搭建了,如图中的 LUT5 查找表。   

鼠标点击到LUT5上,在左边的属性栏,可以看到其真值表,可以看到只有当五个输入都是1的时候,查找表LUT5才会输出1,这和我们的设计是一致的。

添加约束设计,一个设计中的 FPGA 不会是独立使用的,FPGA 一定会与其他外设、接口相连接,并且 FPGA 通常需要有外部时钟的接入。因此,FPGA 设计需要在工具中指定对应的IO 引脚位置以及输入时钟的信息,即需要用户对 IO 进行约束以及进行时钟周期等时序约束。在 Vivado 中,用户可通过 I/O Planner 进行 IO 约束。这其实就是把端口和实际的FPGA的外围电路结合起来了。

选择和硬件设计对应的IO端口和对应的电平域。

以上就是新建一个工程的实例,下一步进行仿真验证。小编手上还没有硬件板子,等在云跑一些理论,再考虑购买一个开发板来玩玩~----------------------------------------------------------低温锡膏推荐淘宝店铺“电子eStore

"所卖的这款,无铅环保,有三种温度规格可供选择。

     【淘宝】https://m.tb.cn/h.5xAOllC?tk=obr6WoStcjl HU0025 「装针管装有铅无铅锡浆BGA芯片植锡低温中温焊锡膏电脑KX」点击链接直接打开 或者 淘宝搜索直接打开

----------------------------------------------------------------

----------------------------------------------------------------

关注小编一起学FPGA......


注明:本内容来源网络,不用于商业使用,禁止转载,如有侵权,请来信到邮箱:429562386ⓐqq.com 或联系本站客服处理,感谢配合!

用户登陆

    未注册用户登录后会自动为您创建账号

提交留言