FPGA学习-vivado软件的使用

news2024/11/30 6:38:32

FPGA学习-vivado软件的使用

  • 1.杂谈
  • 2. vivado新建工程

1.杂谈

又被封了7天。
正好封控前领导让我改下fpga代码,趁这个机会好好学习下,虽然在这块一片空白,但是毕竟这块是我的短板,一个不会写代码的硬件工程师是一个不完整的硬件工程师。
我很喜欢体验新鲜事物,我发现体验的多了,就会发现一切都没那么难,恐惧是因为你不了解它。
所以即使不会,那又怎样,去做,时间久了你就会。要是不做,你每次碰到类似问题就会觉得,好高深莫测,其实,去了解会发现,不过如此。

2. vivado新建工程

vivado是xlinx的集成开发环境,用来进行xlinx的fpga开发。
1.创建工程
在这里插入图片描述
进行工程命名,next
在这里插入图片描述
选择RTL(Register Transfer Level, 寄存器传输级)工程,并且勾选do not specify sources at this time,这次先不指定源文件。
在这里插入图片描述
选择器件,next
在这里插入图片描述
最后是新工程的总结,finish
在这里插入图片描述
2. 建立源文件
进入工程界面后,分成了工程管理、源文件管理、工程总结等几个部分。
在这里插入图片描述
project manager中包括仿真、RTL分析、综合、实现、生成比特流的过程。
综合是将verilog代码变成fpga基本单元如ram,lut等。
实现是将基本单元进行布局布线。
1)新建源文件
在这里插入图片描述
next,进行命名
在这里插入图片描述
ok,finish后,对top.v里的模块进行命名,保持与源文件名一致就行。
在这里插入图片描述
ok后可以看到design source和simulation source都出现了top.v文件。
在这里插入图片描述
2)建立仿真源文件
仿真文件是必要的,为了仿真你设计文件是否是自己想要的结果。
将上面add sources的类型改为simulation source。
在这里插入图片描述
同样进行源文件和模块命名,可以看到仿真文件只在仿真源文件里出现。
在这里插入图片描述
编写源文件后,进行综合和实现,可以从schematic看看是不是你想要实验的功能
在这里插入图片描述
3)调用IP
若要添加时钟PLL,可以选择IP catalog里 clock wizard
在这里插入图片描述
选择混合模式时钟管理器(MMCM),相对于PLL,更灵活。设置输入时钟。
在这里插入图片描述
在output clocks里设置输出时钟,reset type选择active low

在这里插入图片描述
ok后,可以选择global全局综合,而out of context per IP模式被称为OOC模式,在生成综合IP核时,已经将IP核综合为网表文件和IP调用文件,在后续整个工程实现时,不再对IP核的源文件进行综合实现,而是直接将网表与其他模块一起实现。
在这里插入图片描述
generate后可以看到时钟配置的源文件。
在这里插入图片描述
3.添加IO约束
在window-IO ports中进入IO 配置页面,配置package pin封装引脚、IO std -io的电平标准。ports中其他项是自动出现,drive strengh驱动强度,默认12mA,slew type上升下降沿的快慢,默认slow,off-chip terminnation 终端阻抗,默认50Ω
在这里插入图片描述
点击save,进行约束文件命名,ok后,会出现约束文件。
在这里插入图片描述
4.生成bit流
在这里插入图片描述
5.连接板子上的fpga
在这里插入图片描述
6.下载bit流
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

无条码商品新建商品档案,搭配蓝牙便携打印机移动打印条码标签

null无条码商品的商品档案新建,并打印条码标签,即可实现仓库条码管理,扫码入库,出库,盘点等操作。, 视频播放量 1、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 0、转发人数 0, 视频作者 汉码盘点机PDA, 作者简介 &am…

【WSN通信】A_Star改进LEACH多跳传输协议【含Matlab源码 487期】

⛄一、 A_Star改进LEACH多跳传输协议简介 1 理论基础 1.1 A*算法 A算法是一种智能搜索算法,他在求解问题时所得到的结果会选择所有路径中代价最小的节点。 A算法是一种基于启发式函数的算法,搜索过程如下:首先创建两个分别命名为open表和close表的表格,其中open表中存放还未访…

【Hack The Box】linux练习-- Doctor

HTB 学习笔记 【Hack The Box】linux练习-- Doctor 🔥系列专栏:Hack The Box 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 📆首发时间:🌴2022年11月23日🌴 &#x1f3…

量子计算(九):复合系统与联合测量

文章目录 复合系统与联合测量 一、张量积 二、复合系统的状态演化 复合系统与联合测量 拥有两个或两个以上的量子比特的量子系统通常被称为复合系统(composite systems)。单量子比特系统的描述与测量已有所了解,那么多个量子比特的系统该如…

R语言基于ARMA-GARCH过程的VaR拟合和预测

本文展示了如何基于基础ARMA-GARCH过程(当然这也涉及广义上的QRM)来拟合和预测风险价值(Value-at-Risk,VaR)。 最近我们被客户要求撰写关于ARMA-GARCH的研究报告,包括一些图形和统计输出。 视频&#xff…

树莓派安装ubuntu系统

ubuntu镜像下载 官方地址:https://cn.ubuntu.com/download/raspberry-pi 清华镜像:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cdimage/ubuntu/releases/22.04.1/release/ 准备树莓派镜像工具(Raspberry Pi Imager) 下载地…

如何在 Spring Boot 中使用 JPA 和 JPQL 进行自定义查询示例

在本教程中,您将了解如何在 Spring Boot 示例中使用 Spring JPA Query进行自定义查询。我将向您展示: 使用JPQL(Java持久性查询语言)的方法如何在 Spring 引导中执行 SQL 查询具有 WHERE 条件的 JPA 选择查询示例内容 JPQL 与本机…

【408专项篇】C语言笔记-第七章(函数)

第一节:函数的声明与定定义 1. 函数的声明与定义 函数间的调用关系是:由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意次。 #include "func.h"int main() {int a10;aprint_star(a);print_…

SPI和API还在傻傻分不清楚?

什么是SPI 介绍 再聊下一个类加载器框架OSGI之前,我们首先学习一下前驱知识SPI 全称:Service Provider Interface 区别于API模式,本质是一种服务接口规范定义权的转移,从服务提供者转移到服务消费者。 怎么理解呢&#xff1f…

JavaScript游戏开发(3)(笔记)

文章目录七、支持移动设备的横向卷轴游戏准备7.1 角色的简单移动7.2 背景7.3 加入敌人与帧数控制7.4 碰撞、计分、重新开始7.5 手机格式7.6 全屏模式7.7 存在的问题附录素材可以去一位大佬放在github的源码中直接下,见附录。 七、支持移动设备的横向卷轴游戏 使用…

手摸手使用IDEA创建多模块(maven)项目

有了前面两篇手摸手打底,相信大家对IDEA创建项目和配置使用maven已经没有什么问题了。那么这篇文章阅读起来也会非常流畅。 对于IDEA来说,可以用拼接模块(Module)并引用的方式来“搭”一个项目(Project)。…

【全志T113-S3_100ask】15-2 linux系统gpio模拟spi驱动屏幕——ILI9341

【全志T113-S3_100ask】15-2 linux系统gpio模拟spi驱动屏幕——ILI9341背景(一)查阅参考文档(二)使能内核模块(三)修改设备树(四)测试(五)后语背景 在上一小…

nginx的安装与nginx降权+匹配php

安装nginx: 安装的插件的作用: 1.gcc 可以编译 C,C,Ada,Object C和Java等语言(安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境) 2.pcre pcre-devel pcre是一个perl库,包括perl兼容的正则表达式库,ngin…

样本于抽样分布(1)-基本概念

从理论上讲,只要对随机现象进行足够多次的试验,被研究的随机现象的规律 性就能清楚地呈现出来. 但实际上,试验的次数只能是有限的,有时甚至是很少 的,因为采集某些数据时,常要将研究的对象破坏&…

【Gradle】四、使用Gradle创建SringBoot微服务项目

使用Gradle创建SringBoot微服务项目一、 创建Springboot项目0、阿里云脚手架创建项目1、引入 t springboot2 、引入依赖3、执行 geradle bootRun 指令4、spring-boot-gradle-plugin 插件‘二、多模块项目1、settings.gradle2、build.gradle3、version.gradle4、test_service的配…

图论:自反与对称

图论1.自反与反自反2.对称与反对称3.传递与非传递1.自反与反自反 自反:相同顶点都在集合内。 反自反:相同顶点都不在集合内。 参考下图:有三部分,红色的自反,蓝色的反自反,以及白色的都不是。 例1&#…

Animation

1、Animation窗口 Window——>Animation——>Animation Animation窗口 直译就是动画窗口,它主要用于在Unity内部创建和修改动画,所有在场景中的对象都可以通过Animation窗口为其制作动画 原理: 制作动画时:记录在固定时间…

[Linux]-----进程信号

文章目录前言一、什么是信号我们是如何得知这些信号呢?我们知道对应的信号产生时,要做什么呢?二、进程信号前台进程和后台进程注意三、信号列表信号的捕捉四、信号产生前用户层产生信号的方式signal函数killraiseabort由软件条件产生信号硬件…

【Java】才疏学浅·小石Java问道之路

大家好,这里是喜爱编程,又热爱生活的小石~———— ————个人情报昵称:小石(起源于姓氏啦~)破壳日:4月12日身高:1 m ↑技术基础:c node.js mysql 爱好:上网冲浪 听…

【学习笔记45】JavaScript的分页效果

highlight: an-old-hope 一、分页效果 (一) 首次打开页面 从数组内截取部分数据展示调整页码信息为:当前页 / 总页码处理按钮 3.1 如果当前在第一页,禁用上一页按钮(添加类名disable)3.2 如果当前页在最后一页(当前页 总页码),禁用下一页按钮(添加类名…