FPGA基本开发流程:

FPGA开发软件如quartas和vivado的开发流程基本都相同,在这里主要介绍以下xilinx家的vivado的开发流程,其开发流程基本为以下六步:
1、创建工程、添加源文件,编写verilog代码
2、RTL描述与分析
3、设计综合
4、添加设计约束
5、设计实现
6、比特流文件生成与下载

其一整套的开发流程都在vivado左侧的flow navigator中可以找到。

创建工程与IP核、添加源文件,编写verilog代码

我们编写verilog代码、添加IP核等任务基本都是在这一步来完成的,后面的其他部分都是对我们所编写的程序进行分析的。其功能都包含在PROJECT MANAGER(工程管理)中,如下图所示:

settings
主要是对整个vivado开发流程的一些设置,包括使用verilog或是VHDL语言、修改所选择的器件以及编辑的字体大小等等,都可以在这里找到进行调节。
add sources
是添加源文件选项,开发一个工程我们肯定需要源文件,在这里可以进行源文件的添加,文件的添加包括仿真源文件、设计源文件以及约束源文件。
language templates
提供了各种开发语言如verilog、VHDL的模板,在不知道某些函数如何使用的时候可以在这里进行检索。PS:一般很少用。
IP catalog
用于添加IP核,如PLL、RAM、ROM等IP核都是在此处进行选择添加。

RTL描述与分析

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

open elaborated design
通过此选项可以对设计好的工程进行RTL分析,默认会打开IO引脚分配的视图,让你对设计的IO引脚进行分配。如下图所示:
在上图中不需要进行任何操作,其只是展示出了芯片的各个IO引脚,对引脚的配置在下图中:

report methodology、report DRC、report noise
这三个选项是生成各种RTL分析结果的报告,如噪声等。对于新手来说无需关注它。
schematic
此选项非常重要,主要是用来打开RTL分析后的视图,通过此视图可以对我们写的代码进行分析,查看各个模块之间的连接,看与自己设想的是否相同。如下图所示是一个RTL schematic的例子:

**TIPS:**在 RTL 描述与分析阶段后的原理图网表是由与 FPGA 底层部件无关的逻辑符号来体现的。

设计综合

这一步是将RTL综合出来的与 FPGA 底层部件无关的逻辑符号组成的原理图网表映射到FPGA 中的底层部件(查找表(LUT))之后的结果,**但是与fpga的具体型号和具体布局布线无关。**此部分的操作都包含在SYNTHESIS (综合)中,如下图所示:

run synthesis
点击此选项就可以进行综合了。
open synthesis design
内部的各个选项都是对综合后的一些报告,如时序报告、资源利用率报告、噪声报告等等,新手一般不需要关注这些。重要的的放在下面叙述.
set up debug
此选项可以对综合后的结果进行调试仿真。
schematic
这里的schematic可以打开综合后的视图,如下图所示:

上图是对逻辑网表的部分截图,可以看出,经过综合后得到了与FPGA底层结构(查找表)有关的结构图。

添加设计约束

通常,一个设计中的 FPGA 不会是独立使用的,FPGA 一定会与其他外设、接口相连接,并且 FPGA 通常需要有外部时钟的接入。因此,FPGA 设计需要在工具中指定对应的IO 引脚位置以及输入时钟的信息,即需要用户对 IO 进行约束以及进行时钟周期等时序约束。其约束已经在RTL分析中介绍过了,这里不再赘述。

设计实现

Vivado 下的 FPGA 设计实现是指由 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 (可选):在布线后的设计上,参考布线后的设计延时,对逻辑、布局、布线等情况再次进行优化;
    TIPS:以上都是vivado自行进行优化的,无需我们自己操作。
    此部分的操作都包含在SYNTHESIS (综合)中,如下图所示:

    Run implementation
    点击此选项就可以进行实现了。之后会出现器件的结构图,如下图所示(若没有出现,可以在标题栏的window——device中打开)。调整结构图,可以清晰地看到该设计用到的器件和器件之间的连线(即布线)。

    很COOL吧!
    open implementation design
    内部的各个选项都是对实现后的一些报告,如时序报告、资源利用率报告、噪声报告等等,新手一般不需要关注这些。重要的放在下面叙述.
    schematic
    这里的schematic是打开综合后的视图,这里要注意,而不是实现后的视图,实现后的视图可以理解为上面的器件的结构图,其打开方式上面已经介绍。

比特流文件的生成与下载

设计的最后一步是将 Vivado 实现产生的网表文件转化为比特流文件,并且将比特流文件下载到 FPGA 芯片中。比特流文件用于完成对 FPGA 进行配置。此部分的操作都包含在program and debug (编写及调试)中,如下图所示:

generate bitstream
点击此选项可以生成比特流文件。
open Hardware Manager
此选项包含以下内容:open target、program device、add configuration memory device
open target
打开设备选择界面,可以选择你想要编程的器件。
program device
对器件进行编程
add configuration memory device
添加配置存储器件。如果直接对器件进行编程,其得到的程序是掉电就丢失的,通过此选项,可以将配置信息写在掉电不丢失的存储器中,在下一次上电时候自动编程FPGA器件。

flow navigator中还有IP INTEGRATOR以及SIMULATION,分别是IP集成器以及仿真,都较为重要,再次文章中暂不赘述。

注:本人纯手打,能力有限,如果错误之处,请多包涵!

vivado基本开发流程相关推荐

  1. (6)Vivado软件开发流程(第2天)

    (6)Vivado软件开发流程(第2天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)Vivado软件开发流程(第2天) 5)技术交流 6)参考资料 2 FPG ...

  2. Vivado配置+开发流程介绍

    Vivado配置+开发流程 在Vivado出现之前,大家开发赛灵思FPGA普遍始终赛灵思官网下的的ISE集成环境,我最开始也打算下载这个..但是由于自己学校是军工七子..已经被美国拉入实体清单,而网上 ...

  3. (14)Vivado开发流程(FPGA不积跬步101)

    一句话的事:你浪费了多少时间,你就有多少时间:没有人能了解你,只有你自己. 1 Vivado 开发流程 1)建立工程 a.打开vivado Vivado 2019.1. b.Create Projec ...

  4. 从多图对比看Vivado与ISE开发流程的差异

    从多图对比看Vivado与ISE开发流程的差异 特性比较 对 Vivado 和它的前一代设计套件,ISE 做一个组件功能上的平行比较和总结是很有用的.其目的是让那些具有在 ISE 下工作经验 (但是不 ...

  5. 【基于zynq的卷积神经网络加速器设计】(一)熟悉vivado和fpga开发流程:使用Vivado硬件调试烧写hello-world led闪烁程序实现及vivado软件仿真

    HIGHLIGHT: vivado设计流程: note: 分析与综合 和 约束输入 可以调换顺序 [基于zynq的卷积神经网络加速器设计](一)熟悉vivado和fpga开发流程:使用Vivado硬件 ...

  6. FPGA的设计艺术(2)FPGA开发流程

    前言 注:本文首发易百纳技术社区,文章链接:FPGA的设计艺术(2)FPGA开发流程 本文介绍整个FPGA设计流程以及设计FPGA所需的各个步骤-从一开始到可以将设计下载到FPGA的阶段.但是在此之前 ...

  7. Zynq的AMP开发流程说明(基于OCM)

    目录 一.平台说明 二.软件安装 三.基本开发流程 3.1.AMP模式介绍 3.2.开发流程框图 四.具体开发流程 4.1.下载官方Demo源码 4.2.Vivado工程创建(Windows 64位环 ...

  8. (15)QuartusII 17.1开发流程(FPGA不积跬步101)

    名言:持续学习使你成为一个成熟的完整人!!! 引言:一直从事Xilinx FPGA开发,开发软件有vivado .ISE.modelsim等,对于Intel FPGA开发项目较少,QuartusII软 ...

  9. Zynq芯片开发流程

    ZYNQ将CPU和FPGA集成到了一起 开发人员需要具备技能: 1.ARM操作系统应用程序 2.设备驱动程序 3.FPGA硬件逻辑设计 需要了解Linux操作系统,系统架构,FPGA和ARM系统之间的 ...

最新文章

  1. 算法----------最长上升子序列(Java 版本)
  2. 史上最简洁易懂的PGP邮件加密教程(MAC OS X版)
  3. 服务器开机提示修复,电脑开机提示自动修复怎么办?win10电脑开机提示自动修复教程...
  4. C++ 对引用的理解4
  5. 白话C++系列(27) -- RTTI:运行时类型识别
  6. 下一代 IDE:Eclipse Che 究竟有什么奥秘?
  7. 其实,大部分人都不需要你去培养
  8. windows批处理执行多条命令
  9. Centos下tmux工具使用方法
  10. 嵌入式FTP服务器的移植与配置:VSF…
  11. Kali 2021.3安装RTL8192EU(腾达U6)无线网卡
  12. 3dmax如何建模(二)
  13. Qt报错Parse error at “IID“的解决办法
  14. 理科生学酒店管理好一点还是计算机,酒店管理专业是文科还是理科
  15. heaptargetutilization/heapmaxfree/heapminfree/heapstartsize/multiplier虚拟机参数的配置
  16. TortoiseSVN安装及使用总结
  17. 保存二维码图片到手机相册
  18. Tecplot进阶——如何用Tecplot制作一张满足论文投稿要求的图片
  19. 手机android进程管理,手机进程管理app_华为手机进程管理_手机自动进程管理软件-多特软件站安卓网...
  20. 检测网络连接是否正常的方法

热门文章

  1. 微信电商小程序流量入口介绍
  2. 【2022】超详细的JAVA JDK配置和IDEA安装教程(Windows 版)
  3. AI笔记: 数学基础之正交矩阵与矩阵的QR分解
  4. Hibernate实战——双向N-N关联
  5. python线性加权回归_第二十一章 regression算法——线性回归局部加权回归算法(上)...
  6. 根据依序输入的一元多项式的系数输出此多项式
  7. explicit的作用
  8. 如何看待华文的《二十岁无资本无未来》?
  9. 使用bat批处理脚本自动设置IP和IE代理
  10. 认识Android应用开发(一)