目录

一.创建工程

二.添加源文件

三.RTL描述与分析


一.创建工程

双击Vivado图标,进入到Vivado启动界面,如图所示:

在上述界面中有三个分栏,即:Quick Start、Tasks、Learning Center三个快速入口,其中这三个又包含各自的子项,即:

(1)Quick Start组包含有Create Project(创建工程)、Open Project(打开工程)、Open Example Project(打开实例工程)。

(2)Tasks组包含Manage IP(管理IP)、Open Hardware Manager(打开硬件管理器)、Xilinx Tcl Store(Tcl脚本存储库)。

(3)Learning Center组包含Documentation and Tutorials(文档和教程)、Quick Take Videos(快速上手视频)、Release Notes Guide(发布注释向导)。

通过单击Quick Start项目中的Create Project来新建一个Vivado设计工程。如图所示:

单击Next按钮,进入Project Name对话框,如图所示,填写工程名以及工程路径,根据实际情况确定是否勾选复选框Create project subdirectory,如果勾选会在上面设置的工程路径中以工程名称增加一级目录,可通过观察勾选是否,实际工程存放的路径进行理解该复选框的具体作用。此处需要注意的是,工程路径与工程名一定不能包含空格以及中文字符,否则在后续流程中会出现错误。然后单击Next按钮。

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

芯片的选择,在这里需要选择设计所用的具体FPGA芯片的型号,根据板卡所用FPGA的器件系列、封装、速度等级以及温度级别来进行筛选,如图所示:

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

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

二.添加源文件

在使用Vivado工具完成工程的创建之后,可以在Vivado中为工程添加源文件。接下来将通过创建一个Verilog源文件。

在Flow Navigator下,找到Project Manager并展开,单击Project Manager下的Add Sources选项;或者在Sources面板下单击按钮。Sources面板如图所示。

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

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

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

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

需要创建的是Verilog HDL源文件,因此选项中第二项Add or Create Design Sources(添加或者创建设计源文件)前面的单选按钮。单击Next按钮。

出现Add or Create Design Sources对话框,如图所示。此时,可以通过点击Add File来选择添加本地现有的源文件,或单击Create File按钮来创建一个新的源文件。这里选择Create File按钮。

出现Create Source File对话框,如图所示。在该对话框中选择文件的类型和输入文件的名字。参数设置如下。单击OK按钮。

出现Define Module对话框,可以在此处添加设计源文件中的顶层端口信号,如图所示。参数设置如图所示。单击OK按钮。

返回到设计主界面中Sources面板下,出现了先添加了LED.v文件,如图所示:

双击Sources面板下的LED.v文件,可以在主窗口中打开文件,编写相关代码。在编辑完成之后,保存源文件。至此源文件添加完成。

三.RTL描述与分析

RTL描述与分析功能简介

当用Verilog语言取描述一定电路的时候,可能存在语法或者逻辑上的错误。语法错误在编写的过程中(在保存文档的时候)会自动检测文件中的语法错误,并在Messages标记中显示其错误。而且Sources面板下会将出错的源文件放到对应错误文件夹的下面。然而逻辑上的错误Vivado软件是无法检测出来的,比如说模块之间的连线错误等。RTL描述分析功能可以对工程的RTL结构、语法进行查看,进而可以分析并修正逻辑上的错误。

RTL描述和分析过程

(1)如图所示,在Flow Navigator下,找到RTL Analysis并展开。单击Open Elaborated Design,打开Elaborated Design。可以看到Open Elaborated Design标题变为Elaborated Design。

(2)单击图中的Schematic,打开RTL原理图,如图所示。该原理图是依据HDL描述生成的,根据该原理图可以查看设计是否达到要求并加以修正。在Vivado的设计过程中用户可以在RTL分析、综合、实现阶段后打开设计原理图或设计网表来进行视察。

设计综合

(1)如图所示,在Flow Navigator窗口下,找到Systhesis并展开。

(2)在展开项中,单击Run Synthesis开始对设计进行综合。

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

(4)如果之前打开了Elaborated Design,会出现关闭Elaborated Design的提示对话框,单击YES按钮即可。

(5)在设计综合完成后的Systhesis展开项中工具会列出诸多可以在当前设计下进行的操作,如图所示。注意流程向导窗口中Synthesis下的Open Synthesized Design在综合完成并打开设计后变为Synthesised Design。

(6)在打开Synthesis Design后,默认打开Schematic视图,如图所示。如果没有打开,在Synthesis Design下单击Schematic即可打开。显然,在综合之后的原理图中,电路网表即采用FPGA器件中拥有的基本元件来搭建了,如图所示的LUT6查找表:

(7)单击Synthesis Design下的Report Utilization选项。出现Report Utilization对话框,如图所示。通过Report Utilization功能。可以得到工具针对当前设计的资源利用率的详细报告。

单击OK按钮,Vivado开始计算核设计的资源消耗量。在Vivado下方打开Utilization-utilization_1标签窗口。如图所示,给出设计的利用资源。

添加设计约束

通常一个设计中的FPGA不会是独立使用的,FPGA一定会与其它外设、接口相连接,并且FPGA通常需要外部时钟的接入。因此,FPGA设计需要在工具中指定对应的IO引脚位置以及输入时钟的信息,即需要用户对IO进行约束以及进行时钟周期等时序约束。在Vavido中用户可通过I/O Planner进行IO约束,使用Timing Constraints Manager指定期望设计性能即进行设计的时序约束。

IO约束步骤为:

(1)首先在综合完成后的设计上点击Open Synthesized Design来打开综合后的设计。

(2)在菜单栏视图下拉I/O Planning View点击进入IO规划视图界面,如图所示:

分配好引脚之后,点击保存按钮后会弹出保存约束文件窗口,输入LED,然后点击OK,保存约束文件,如图所示:

设计实现

Vivado下的FOGA设计实现是指由FPGA实现工具将FPGA综合后的电路网表针某个具体指定的器件以及相关物理与性能约束进行优化、布局、布线并生成可以下载到FPGA芯片配置文件的过程。

实现过程分为:

(1)优化设计Opt Design:针对所有器件,对逻辑设计进行优化,以便达到最优实现;

(2)功耗设计优化Power Opt Design(可选):从降低功耗的角度,对逻辑设计进行优化;

(3)布局设计Place Design(必选):将设计网表在所选器件上进行布局;

(4)布局后功耗优化Post-Place Power Opt Design(可选):在布局之后的网表基础上优化功耗;

(5)布局后物流优化Post-Place Phys Opt Design(可选):在布局之后的网表基础上进行物理优化,主要针对时序性能;

(6)布线设计Route Design(必选):在布局后的设计上,进行布线;

(7)布线后物理优化Post-Route Phys Opt Design(可选):在布线后的设计上,参考布线后的设计延时,对逻辑、布局、布线等情况再次进行优化;

同样的,Vivado设计实现部分也有一些相关的设置,打开工程设置中的实现设置窗口,如图所示。可以看到,与设计综合类似,设计实现的每个子步骤都具有Tcl钩子脚本功能,用户可以使用Tcl脚本灵活的制定设计实现流程。此外,对于设计实现的每个子步骤,用户都可以去指定工具的Directive,即让工具按照设计者预期的目标进行设计实现结果的探索。

在Vivado下进行设计实现的具体步骤如下:

(1)在Flow Navigator下找到并展开Implementation,如图所示。单击Run Implementation选项,开始执行实现过程。

(2)完成过程之后会出现如图所的Implementation Completed对话框。选择Open Implemented Design,单击OK按钮。如图所示:

6.比特流文件的生成与下载

设计的最后一步是将Vivado实现产生的网表文件转化为比特流文件,并且将比特流文件下载到FPGA芯片中。比特流文件用于完成对FPGA进行配置。

(1)比特流文件的生成

如图所示,在Flow Navigator窗口下找到Program and Debug选项并展开。单击Generate Bitstream选项,开始生成比特流文件。

(2)比特流文件的下载

比特流文件生成后,会出现如图所示的Bitstream Generation Completed对话框,选择Open Hardware Manager选项。单击OK选项。如图所示:

在图中,Open Hardware Manager变为Hardware Manager;如果没有,则单击Open Hardware Manager打开Hardware Manager。在Vivado右侧出现Hardware Manager界面,如图所示:

在Hardware Manager界面中,单击Auto Connect连接设备。

在Hardware Manager界面下出现选中的设备,如图所示:

在Hardware Manager界面中找到并右键单击xc7a35t_0(0),在浮动菜单中单击Program Device...选项。

如图所示,出现Program Device对话框。默认情况下比特流文件会自动选中,如果没有单击按钮,找到并选中LED.bit文件。在Program Device对话框中单击Program按钮,开始下载。

7.bin文件的生成固化

在设置里面按照下图勾选-bin_file*,点击确定后,再重新生成一次bit文件,这个时候就会在生成bit文件的同时也会生成bin文件,如图所示:

再次打开Hardware Manager界面如下选择:

弹出界面按照如下选择(具体是根据开发板上的flash来选择的),如图所示:

配置好参数之后电机OK会弹出如下的界面,按照下面来定位到bin文件,点击OK就可以了。

点击OK等待程序下载完成,这样就完成了程序的固化。

Xilinx FPGA开发基本流程相关推荐

  1. Xilinx FPGA 开发流程及详细说明

    本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的"傻瓜式"讲解,让电子.信息.通信类专业学生.初入职场小白及打算进阶提升的职 ...

  2. xilinx fpga 开发工具vivado 软件的安装,使用详细教程

    文章目录 xilinx fpga 开发工具vivado 软件的安装,使用详细教程 xilinx fpga 开发工具vivado 软件的安装,使用详细教程 点此下载vivado软件的安装说明文档 点此下 ...

  3. (21)Xilinx FPGA开发软件(FPGA不积跬步101)

    1 Xilinx FPGA开发软件 Vivado软件 vivado 2015.2 vivado 2016.1 vivado 2016.4 vivado 2017.4 vivado 2018.1 viv ...

  4. Xilinx 原语简介--(Xilinx FPGA开发实用教程)

    目录 前言 1.Xilinx 原语简介 1.1 时钟组件原语(Clock Components) 1.1.1 BUFG 1.1.2 BUFGMUX 1.2 I/O端口组件(IO Components) ...

  5. FPGA开发基本流程

    转自:https://www.cnblogs.com/synow/p/5498654.html FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程.典型FPGA的开发流程一 ...

  6. Xilinx FPGA开发板 Digilent Spartan-3E 学习资料整理

    很多人抱怨Xilinx FPGA的资料很难找,Digilent的板卡资料网上怎么就没有呢!针对这些问题写了如下的BLog,希望对大家有帮助. 最近几日在整理关于Xilinx FPGA和Digilent ...

  7. Xilinx FPGA开发板 Digilent Spartan-3E 学习资料

    一.FPGA相关资料贴 EDK实验 base in spartan-3e 适合mircoblaze初学者  MicroBlaze嵌入式软核是一个被Xilinx公司优化过的可以嵌入在FPGA中的RISC ...

  8. 【FPGA-F3】阿里云FAAS平台,极大简化FPGA开发部署流程

    摘要: 阿里FPGA云服务器平台FaaS(FPGA as a Service)在云端提供统一硬件平台与中间件,可大大降低加速器的开发与部署成本.普惠开发者 FPGA (现场可编程门阵列)由于其硬件并行 ...

  9. FPGA开发基本流程详解

    FPGA是一种可编程逻辑器件,与传统的硬连线电路不同,它具有高度的可编程性和灵活性.FPGA的设计方法包括硬件设计和软件设计两部分,硬件设计包括FPGA芯片电路.存储器.输入输出接口电路等等,软件设计 ...

最新文章

  1. 进度查询php,php exec如何查看进度
  2. 减小Delphi xe系列生成的exe文件大小
  3. Git-rebase 小筆記
  4. caffe cifar10试跑问题总结
  5. mysql事务顺序重排_MySQL事务处理及字符集和校对顺序
  6. Flask爱家租房--订单支付(支付过程)
  7. s5pv210的中断源
  8. linux java socket编程_深入学习socket网络编程,以java语言为例
  9. python如何输入多行数据合并_关于Python中的合并字典,这些问题必须搞清楚!
  10. 程序员找 Bug 福音!微软全新开源查找修复 Bug 工具——Project OneFuzz
  11. 闭关修炼——six——Spring
  12. SEO基础知识完美教程
  13. 《Person Re-identification:Past, Present and Future》论文笔记
  14. 如何找回存储在DBeaver连接中的数据库密码
  15. 企业数据备份,需要多少容量和性能满足?
  16. 竞逐新能源汽车续航,背靠广汽的巨湾技研能否打好“技术牌”?
  17. Gom传奇引擎的微端连不上的原因是什么?附:微端配置教程
  18. R语言机器学习 格兰杰因果关系检验(Granger cointegratance)
  19. 2022高处安装、维护、拆除考试题库模拟考试平台操作
  20. VGG-传统神经网络之巅峰

热门文章

  1. 逻辑运算符号“”、“||”和“!=”的相对优先级是怎样的,代码解释。
  2. HTML编辑器-HTML5极速入门
  3. 电池工况测试 matlab,电动汽车锂电池荷电状态估计研究
  4. 【博弈论】找出游戏的必胜策略
  5. Android开发-helloAndroid
  6. HDUOJ 1078 FatMouse and Cheese
  7. 面试中个人简介怎么说
  8. Android应用安全现状与解决方案
  9. 关于找工作,听听树莓老学长怎么说
  10. 服务器虚拟化vmware价格,vmware服务器虚拟化实施方案(vmware服务器虚拟化收费)...