Vivado开发FPGA使用流程、教程 verilog(建立工程、编译文件到最终烧录的全流程)

news2024/12/23 23:42:11

目录
一、概述
二、工程创建
三、添加设计文件并编译
四、线上仿真
五、布局布线
六、生成比特流文件
七、烧录

一、概述
vivado开发FPGA流程分为创建工程、添加设计文件、编译、线上仿真、布局布线(添加约束文件)、生成比特流文件、烧录等步骤,下文将按照这些步骤讲解vivado从创建工程到程序烧录到FPGA里如何操作。
二、工程创建
打开Vivado软件后,出现下图:
在这里插入图片描述

上图选择creat project后,出现下图:

在这里插入图片描述

上图选择next后,出现下图:
在这里插入图片描述
上图在project name 中修改文件名称(名称和路径最好不要有中文),然后点击next后出现下图:

在这里插入图片描述

上图继续点击next,出现下图:
在这里插入图片描述
上图中,文件的添加和创建后面可以进行,这里可以直接点击next,然后出现下图:
在这里插入图片描述

上图中,约束文件后面也可以添加,所以继续点击next,出现下图:

在这里插入图片描述
上图中,选择对应的FPGA的型号以后点击next,出现下面的总结图:
在这里插入图片描述
上图中,点击finish,空的工程就创建完毕了
三、添加设计文件并编译

空的工程创建完毕后,如下图所示,点击➕按钮,添加verilog文件
在这里插入图片描述

然后下图里,我们现在在创建设计文件,所以默认的第二个就好,然后点击next
在这里插入图片描述
然后出现下图:
在这里插入图片描述
这里点击Create File,有的vivado会出现下面的图片,有的不出现,如果出现下面的图片,起一个名字,创建verilog HDL文件(也可以点击Add Files,添加已有文件,这里以创建新的文件为例)
在这里插入图片描述

上图中,选择名字和文件位置,然后点击ok,位置默认情况会放在工程文件夹下,点击ok,出现下图:
在这里插入图片描述
上图表示一个设计文件已经添加成功了,然后可以继续上述创建文件的操作,直到创建完毕,然后点击finish,出现下图:
在这里插入图片描述
上图点击ok,出现下图:
在这里插入图片描述
上图点击yes,这个时候一个空的文件就创建好了,然后写verilog代码(可以在vivado里编辑,也可以在其他的文字编辑器,诸如VSCODE、notepad++、电脑自带的txt文本等进行代码编辑,具体用什么进行编辑这里不再赘述),下图是代码已经写完的情况
在这里插入图片描述
写完代码以后,就要进行编译操作了,点击左侧导航栏的RUN Synthesis进行编译,这个编译在哪可以参考下图:
在这里插入图片描述
然后出现下图,点击ok
在这里插入图片描述
此时正在进行编译操作(具体vivado编译、布局布线、生成比特流文件都是什么意思,有什么意义,这里不再赘述,本文主要是讲解vivado开发FPGA的操作流程,流程的意义不再赘述),编译是否完成可以在下图所示的位置查看:
在这里插入图片描述
编译成功后,有的会出现下图所示的提示,有的不会出现,出现的话可以点×关掉这个提示框(编译不成功会报错,此时说明代码有问题,具体如何解决代码中出现的问题本文不再赘述),此时编译已经结束,说明verilog代码没有出现语法上的错误
在这里插入图片描述

四、线上仿真
三的操作只是写了代码,并且代码没有语法错误,但是不代表代码的功能也和预期一样,这个时候需要进行功能验证,也就是进行线上仿真。
第一步还是添加文件,三里添加的是设计文件,这次要添加仿真文件,也叫tb文件,还是点击+,然后选择第三个选项(仿真文件),如下图所示:
在这里插入图片描述
具体点了next以后怎么操作参考三里怎么添加的设计文件,流程一模一样,只是一个添加的是设计文件,一个添加的是仿真文件,这里不再赘述
同样,仿真文件添加完以后要写对应的代码,代码写完以后进行仿真,具体点哪里进行仿真可以参考下图:
在这里插入图片描述
如果报错,说明tb文件写的有问题,没问题会出现下图的仿真界面:
在这里插入图片描述

然后出现的仿真界面观察波形是否有问题,蓝色代表高阻态,红色代表未知态,绿色代表逻辑0或1,具体仿真界面的操作本文不再赘述,仿真没有问题以后,说明代码现在不仅没有语法错误,功能同样也没有错误。
五、布局布线
现在代码没有语法错误、功能错误,就可以考虑布局布线了,把具体的输入、输出映射到FPGA对应的引脚上,操作如下所示:
点击左侧导航栏的Run Implementation,让vivado先自动进行布局布线,点哪里可以参考下图:

在这里插入图片描述
等待一段时间,成功以后出现下面的框:
在这里插入图片描述

可以×掉上面的框,在左侧导航栏打开Open Implemented Design,也可以点击上图的Open Implemented后点击OK
打开布局布线设计以后,出现下面的图
在这里插入图片描述
上图选择I/O ports,如果找不到,就点击layout,再点击I/O planning(注意,只有open implementation时才可以在layout里找到I/O planning)
然后如下图,点击scalar ports,进行引脚约束
在这里插入图片描述
在上图里,在Scalar ports 更改端口的位置(Package Pin)、以及电压标准(I/O Std)
具体设置到什么端口看原理图,电压标准大多数时候选择LVCOMS33就好,只有差分等特殊情况选择别的电压标准,这里不再介绍如何查看原理图,不同电压标准的区别
然后端口、电压标准等设置好以后,键盘按ctrl+s进行约束文件的保存(约束文件里就是刚才对引脚、电压标准等的约束)
现在,我们设计文件、仿真文件、约束文件就都写好了,可以看一下下面的图:
在这里插入图片描述
这就是刚才我们创建的设计文件、仿真文件、约束文件,然后再点一次Run Implementation,因为我们更改了约束文件,所以重新进行一下编译和布局布线操作,具体的对话框的提示都很简单,大概意思就是文件已经改变了是否重新编译这种意思,点击yes重新编译、布局布线就好了,然后布局布线在这里也就结束了
六、生成比特流文件
现在已经可以生成比特流文件了(这个文件就是烧录到FPGA里的文件),点击左侧的Generate Bitstream,如下图所示:
在这里插入图片描述
点一些框的ok、yes之类的,然后生成比特流文件成功(如果不成功,考虑是约束文件的问题,这里不再对约束文件进行太过详细的解释,可以百度约束文件的作用,然后查看自己刚才保存的约束文件是否有问题,通常ctrl+s,如果有默认的没有改变的引脚号,它不会保存在约束文件里,自己添加即可)
七、烧录
接下来就是烧录操作了,点击左侧导航栏的Opmen Hardware Manager,然后点击Open Target 然后点击 Auto Connect进行连接,如下图所示:

在这里插入图片描述
然后点击Program Device 选择型号
在这里插入图片描述
出现下图,直接点program就好
在这里插入图片描述
现在文件就可以烧录到FPGA里了,观察上板后的情况即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1372678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

公司内部核心文件数据\资料防泄密软件系统,防止未经授权文件、文档、图纸、源代码、音视频...等数据资料外泄,自动智能透明加密保护!

为了保护公司内部的核心文件和数据资料,防止未经授权的外泄,使用自动智能透明加密保护软件系统是非常重要的。 这样的系统可以通过以下方式实现防泄密: 自动智能加密:该系统可以对公司内部的核心文件和数据资料进行自动智能加密&…

夏目友人帐OVA:和猫咪老师的初次跑腿、曾几何时下雪之日 2013.12.15

夏目友人帐OVA 1、和猫咪老师的初次跑腿 / ニャンコ先生とはじめてのおつかい2、曾几何时下雪之日 / いつかゆきのひに 1、和猫咪老师的初次跑腿 / ニャンコ先生とはじめてのおつかい 和夏目一起外出的途中,猫咪老师因追蜻蜓遇到了一对迷路的龙凤胎兄妹。猫咪老师不…

僵尸毁灭工程手动存档工具

介绍 这是一个可以对僵毁游戏存档进行备份的小工具,其基本原理是对僵毁存档中数以万计的小文件做哈希值计算并保存下来,下一次备份时再对存档文件进行哈希值计算,每次备份只对两次计算结果中存在差异的文件进行复制与替换从而忽略掉大部分未…

汽车IVI中控开发入门及进阶(十二):手机投屏

前言: 汽车座舱有车载中控大屏、仪表/HUD多屏的显示能力,有麦克风/喇叭等车载环境更好的音频输入输出能力,有方控按键、旋钮等方便的反向控制输入能力,还有高精度的车辆数据等。但汽车座舱中控主机硬件计算能力升级迭代周期相对较长,汽车的应用和服务不够丰富。现在很多汽…

电脑USB接口不同颜色的含义

当你看到笔记本电脑或台式机的USB端口时,你会发现USB端口的颜色很多;这些颜色可不只是为了好看,实际上不同颜色代表着不同的性能,那么这些带颜色的USB端口都是什么含义呢,下面就具体介绍下不同颜色代表的含义。-----吴…

Oracle regexp_substr

select regexp_substr(123|456|789, [^|], 1, 2) from dual;

高性能、可扩展、支持二次开发的企业电子招标采购系统源码

在数字化时代,企业需要借助先进的数字化技术来提高工程管理效率和质量。招投标管理系统作为企业内部业务项目管理的重要应用平台,涵盖了门户管理、立项管理、采购项目管理、采购公告管理、考核管理、报表管理、评审管理、企业管理、采购管理和系统管理等…

固乔快递查询助手:批量、快速、全面的快递信息查询软件

在快递行业飞速发展的今天,如何高效、准确地掌握快递信息成为了很多人的需求。而固乔快递查询助手正是解决这一难题的利器。 固乔快递查询助手是一款专注于快递信息查询的软件,支持多家主流快递公司查询。用户只需输入单号,即可快速查询到实时…

BitMap解析之RoaringBitMap

文章目录 BitMap计算的问题Roaring BitMap原理解析Container 介绍1. ArrayContainer2. BitmapContainer3. RunContainer小结 Roaring BitMap的集合运算1. 两个ArrayContainer的and过程2. 两个BitmapContainer的and过程时空分析 Container的创建与转换为什么说Roaring Bitmap压缩…

关于Django字段类型DateTimeField默认是不是不能为空的测试【DateTimeField学习过程记录】

chatgpt说这个字段默认情况下: blankFalse,nullFalse,也就是在数据库层面和表单层面都不能为空,我们不妨来测试一下在数据库层面是不是这样。 沿用博文 https://blog.csdn.net/wenhao_ir/article/details/135499962的配置。 模型…

科大讯飞星火大模型加持数字员工系列产品发布

面对时代浪潮,基业长青的企业总会率先拥抱变化,在时代交替中创造新的增长空间。当数字化浪潮涌入千行百业,企业掌舵者如何选择转型? 从数字员工到灯塔工厂,愈发成熟的人工智能技术已深入企业管理,持续提高…

Python3 安装教程(windows)

Python (官网)是这两年来比较流行的一门编程语言。相对简单的语法以及丰富的第三方库。 步骤有三步: 1.下载 Python 安装包 2.安装 Python 3.查验是否安装成功 一.下载 Python 安装包 (Python、Sublime 官方下载地址是外国的服…

「超级细菌」魔咒或将打破,MIT 利用深度学习发现新型抗生素

作者:加零 编辑:李宝珠、三羊 MIT 利用图神经网络 Chemprop 识别潜在抗生素,特异性杀死鲍曼不动杆菌。 自然界中充满了各种各样的微生物,例如结核杆菌(导致肺结核)、霍乱弧菌(导致霍乱&#…

1991-2022年A股上市公司股价崩盘风险指标数据

1991-2022年A股上市公司股价崩盘风险指标数据 1、时间:1991-2022年 2、来源:整理自csmar 3、指标:证券代码、交易年度、NCSKEW(分市场等权平均法)、NCSKEW(分市场流通市值平均法)、NCSKEW(分市场总市值平均法); NCSKEW(综合市…

Android开发基础(一)

Android开发基础(一) 本篇主要是从Android系统架构理解Android开发。 Android系统架构 Android系统的架构采用了分层的架构,共分为五层,从高到低分别是Android应用层(System Apps)、Android应用框架层&a…

最新GPT4、AI绘画、DALL-E3文生图模型教程,GPT语音对话使用,ChatFile文档对话总结

一、前言 ChatGPT3.5、GPT4.0、GPT语音对话、Midjourney绘画,文档对话总结DALL-E3文生图,相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和…

Vue 自定义仿word表单录入之单选按钮组件

因项目需要&#xff0c;要实现仿word方式录入数据&#xff0c;要实现鼠标经过时才显示编辑组件&#xff0c;预览及离开后则显示具体的文字。 鼠标经过时显示 正常显示及离开时显示 组件代码 <template ><div class"pager-input flex border-box full-width fl…

006集 正则表达式 re 应用实例—python基础入门实例

正则表达式指预先定义好一个 “ 字符串模板 ” &#xff0c;通过这个 “ 字符串模 板” 可以匹配、查找和替换那些匹配 “ 字符串模板 ” 的字符串。 Python的中 re 模块&#xff0c;主要是用来处理正则表达式&#xff0c;还可以利用 re 模块通过正则表达式来进行网页数据的爬取…

monocle2 fibroblast silicosis inmt

gc() #####安装archr包##别处复制 .libPaths(c("/home/data/t040413/R/x86_64-pc-linux-gnu-library/4.2","/home/data/t040413/R/yll/usr/local/lib/R/site-library", "/usr/local/lib/R/library","/home/data/refdir/Rlib/")).libPa…

Every Nobody Is Somebody 「每小人物都能成大事」

周星驰 NFT Nobody即将发售&#xff0c;Nobody共创平台 Every Nobody Is Somebody Nobody 关于Nobody&#xff1a;Nobody是一款Web3共创平台&#xff0c;旨在为创作者提供一个交流和合作的场所&#xff0c;促进创意的产生和共享。通过该平台&#xff0c;创作者可以展示自己的作…