FPGA 15 ,Xilinx Vivado 的基本使用,使用 Vivado 点亮LED灯,具体实现(使用赛灵思 Vivado编写 Verilog 代码)

news2025/2/5 15:44:42

目录

前言
我们都知道 Xilinx Vivado 是一款强大的 FPGA 集成开发环境,支持从设计输入、综合、实现到仿真的全流程。它兼容 Verilog 和 VHDL 等硬件描述语言,具备高层次综合功能,能有效提升复杂数字系统的设计效率和性能优化。这里来分享记录, Vivado 的主要功能,并提供一些基本的操作指南,帮助我们开始使用 Vivado 进行 FPGA 设计。
一. 设置常用
1. 主页的侧边栏
2. 左边设置图标
​编辑
3. 右边设置图标
二. 运行综合
1. 点击运行
2. 确定运行
3. 打开综合
4. 右侧选择
5. 绑定引脚
6. 布局布线
7. 连接硬件

前言

我们都知道 Xilinx Vivado 是一款强大的 FPGA 集成开发环境,支持从设计输入、综合、实现到仿真的全流程。它兼容 Verilog 和 VHDL 等硬件描述语言,具备高层次综合功能,能有效提升复杂数字系统的设计效率和性能优化。这里来分享记录, Vivado 的主要功能,并提供一些基本的操作指南,帮助我们开始使用 Vivado 进行 FPGA 设计。

一. 设置常用

1. 主页的侧边栏

这里是主页左侧目录,请看

这里的测目录,分别表示(翻译):

项目管理器 (PROJECT MANAGER)
        设置 (Settings)
        添加源码 (Add Sources)
        语言模板 (Language Templates)
        IP 目录 (IP Catalog)


IP 集成器 (IP INTEGRATOR)
        创建块设计 (Create Block Design)
        打开块设计 (Open Block Design)
        生成块设计 (Generate Block Design)


仿真 (SIMULATION)
        运行仿真 (Run Simulation)


RTL 分析 (RTL ANALYSIS)
        打开详细设计 (Open Elaborated Design)


合成 (SYNTHESIS)
        运行合成 (Run Synthesis)
        打开综合设计 (Open Synthesized Design)


实现 (IMPLEMENTATION)
        运行实现 (Run Implementation)
        打开实现设计 (Open Implemented Design)


程序和调试 (PROGRAM AND DEBUG)
        生成位流 (Generate Bitstream)
        打开硬件管理器 (Open Hardware Manager)

2. 左边设置图标

这里点击顶部设置图标(这是全局的设置图标按键)

弹出各种选项内容

这里分别表示(翻译):

设置

左边表示>>

项目设置

  • 一般
  • 模拟
  • 细化
  • 合成
  • 实现
  • 位流
  • IP

工具设置

  • 项目
  • IP 默认值
  • XHub 存储库
  • 源文件
  • 显示
  • WebTalk
  • 帮助
  • 文本编辑器
  • 第三方仿真器
  • 颜色
  • 选择规则
  • 快捷键
  • 策略
  • 窗口行为

右边表示>>

文本编辑器 选择要使用的文本编辑器。

当前编辑器:Vivado 文本编辑器 (默认)

Vivado 编辑器常规设置

  • 执行代码折叠
  • 粘贴文本时缩进
  • 使用行注释时跳过空白行
  • 使用 'Alt' 键进行列选择(默认为 'Ctrl')
  • 编辑时同步拆分视图
  • 自动打开编辑器并显示模拟中断位置
  • 将一个打开的编辑器带到前面,并在模拟中断时显示其位置
  • 允许的最大撤销操作数:200 (默认)
  • 列表中最近查找的数量:20

Vivado 编辑器显示设置

  • 在文本编辑器中显示文件路径
  • 显示行号
  • 显示所选单词的匹配项

确定 取消 应用 还原...

3. 右边设置图标

这里点击右侧顶部设置图标(这是代码文件的设置图标按键)

弹出选项内容,选择第三项,禁用代码补全

这里分别表示(翻译):

代码补全 | 语法检查 | 常规

  • 按需显示选择列表(使用Ctrl+Space显示选择)
  • 在输入时显示选择列表
  • 禁用代码补全

新手建议选择禁用代码补全,养成习惯。


二. 运行综合

一般完成相关的代码编写后,这里就到运行综合的步骤了,请看

1. 点击运行

这里点击主页左侧 Run Synthesis ,运行合成选项

弹出综合配置框

这里一般情况下,电脑配置越高,数字越大,综合作业、核心数量也就越大,运行速度也就更快

 

这里分别表示(翻译):

        启动运行

启动选定的综合或实现运行。

 启动目录: <默认启动目录>

选项


在本地主机上启动运行: 作业数量:8

仅生成脚本

不再显示此对话框

确定 取消

2. 确定运行

选择综合作业核心数量后,点击OK,编译中

编译完成,弹出提示

这里分别表示(翻译):

综合完成

!综合已成功完成。

下一步


  • 运行实施
  • 打开综合设计
  • 查看报告

不再显示此对话框

确定 取消

3. 打开综合

这里我们选择第二项,打开综合设计。或者关闭后,在左侧边栏,也有 Open Synthesized Design,综合设计选项按键,点击打开综合设计,运行中

完成综合

4. 右侧选择

这里点击右侧布局选项,绑定管脚(即分配I/O引脚)

这里右上角选项,分别表示(翻译):

       I/O 规划

  • 默认布局

  • I/O 规划

  • 布局规划

  • 调试

  • 时序分析

  • 另存为新布局…

  • 重置布局 F5

这里选择 I/O Planning, I/O 布局。

5. 绑定引脚

因为我们的这块 FPGA 芯片,有400多的引脚,这么多 IO 口,所以这里需要选择配置对应的 IO 口输出。这里查看对应的文档,选择对应的 IO 口

可以看到,我们的文档中 LED1 对应着 T12。如果想点亮对应的 LED 等,需要选择对应的引脚进行绑定,这里选择 T12

然后,选择电瓶标准,

选择完后,CTRL + S 保存

保存后,会弹出提示框,直接点击 OK 确定。这时会弹出约束文件的提示框,也就是绑定管脚的文件,直接填写 File name  文件名称,点击 OK 确定,创建约束文件。

这里可以在 Sources 模块,找到该文件,直接打开创建文件,可以看到,刚才我们的配置信息

可以看到,里面有T12、led、LVCMOS33等配置信,也就是刚才我们配置的 IO口、文件名称和电瓶标准。

6. 布局布线

这里选中文件,点击左侧 Run implementation 运行实施该文件

这里运行后,会弹出提示框,直接选择 YES 执行,然后,弹出启动运行的提示框,直接点击 OK 运行

这里,可以在 Design Runs 设计运行中,查看运行情况

运行完成后,弹出提示框,选择第二项,Generate Bitstream 生成比特流文件,或者点击左侧边栏中的选项 Generate Bitstream 生成比特流文件,效果同样。这个文件,就是我们最终下载运行到发板的文件,通过这个文件点亮 LED1 灯。

选择后,点击 OK ,这里再次弹出,提示确认,直接点击 OK 运行生成。

7. 连接硬件

这里运行生成完成后,会弹出提示,直接选择 Open Hardware Marager 打开硬件管理器,同样可以点击左侧边栏中的选项 Open Hardware Marager 打开硬件管理器,效果同样

这时,我们就可以连接上我们的 FPGA 开发板。

注意,这里连接的是板子上的 JTAG 调试和供电口USB接口,正常情况下,刚插上线的时候,所有的 LED 灯都会亮一下,以确保供电正常。然后,这时点击左侧 Open Target 开放目标 选择 Auto Connect  自动连接

连接时候,需要注意,需要关闭电脑防护墙操作,否则会有病毒提示,导致连接失败。当有提示时,直接选择允许,继续连接。

连接成功后,可以看到开发板型号。

这里直接点击左侧 Program Device 程序装置,选择 开发板

这里弹出提示框,直接点击 Program 下载比特流文件到开发板

直到这里 LED1 灯点亮。

这些分享的只是 Vivado 的基本使用,实际项目中会设计很多具体步骤和细节。

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

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

相关文章

VxLAN 集中式网关配置实验

一、拓扑&#xff1a; 二、配置思路&#xff1a; 1、CE1、2、3 配置 IGP&#xff0c;如 RIP 2、CE1、3 配置 BD 域并绑定二层 VNI&#xff0c;起用 NVE 并建立 VxLAN 隧道&#xff1a;源是自己的环回口&#xff0c;对端是 CE2、3 的环回口&#xff0c;用二层 VNI 联接&#x…

qml项目创建的区别

在Qt框架中&#xff0c;你可以使用不同的模板来创建应用程序。你提到的这几个项目类型主要针对的是Qt的不同模块和用户界面技术。下面我将分别解释这些项目类型的区别&#xff1a; 根据你提供的信息&#xff0c;以下是每个项目模板的详细描述和适用场景&#xff1a; Qt Widgets…

仿真s7 snap7 写入

# 准备写入数据 data bytearray(20) # 创建 20 字节的缓冲区 (每个整数占 2 字节&#xff0c;共 10 个整数)# 按顺序将值 1, 2, 3, ..., 10 写入数据缓冲区 for i in range(10):set_int(data, i * 2, i 1) # 每个整数占 2 字节&#xff0c;从 i * 2 的位置开始写入整数# 将…

【计算机网络】实验6:IPV4地址的构造超网及IP数据报

实验 6&#xff1a;IPV4地址的构造超网及IP数据报 一、 实验目的 加深对IPV4地址的构造超网&#xff08;无分类编制&#xff09;的了解。 加深对IP数据包的发送和转发流程的了解。 二、 实验环境 • Cisco Packet Tracer 模拟器 三、 实验内容 1、了解IPV4地址的构造超网…

[CSP-J 2024] 小木棍

题目传送门 P11229 [CSP-J 2024] 小木棍 题解思路&#xff1a; 1、首先想到的是搜索&#xff0c;全排列填盒子的思想&#xff0c;小木棍数够组成某个数&#xff0c;把某个数放到盒子里&#xff0c;这里就是累加到sum上&#xff0c;还做了个剪枝&#xff0c;中间如果已经大于…

AI运用落地思考:如何用AI进行物料条码的识别及异常检测?

一、AI进行物料条码识别 &#xff08;一&#xff09;基于深度学习的方法 图像预处理 首先需要对包含物料条码的图像进行预处理。这包括调整图像的大小、对比度、亮度等操作&#xff0c;以便提高条码图像的清晰度和可识别性。例如&#xff0c;如果图像较暗&#xff0c;可以通过…

基于STM32的电能监控系统设计:ModBus协议、RS-485存储和分析电能数据(代码示例)

一、项目概述 随着智能电网的发展&#xff0c;电能管理的科学性与有效性变得越来越重要。本项目旨在设计并实现一个基于STM32103C8T6单片机的电能监控系统&#xff0c;该系统可以实时采集、存储和分析电能数据&#xff0c;帮助用户实现对电能的高效管理。 项目目标 实时监控&…

从数据库模型设计到字段设计,用自然语言实现数据库开发,颠覆传统的数据库开发模式

前言 在数据库开发过程中&#xff0c;开发者经常面临以下困扰&#xff1a; 1. 焦头烂额的数据库设计阶段 在设计数据库阶段&#xff0c;开发者需要全面考虑表结构、关系模型、字段定义等&#xff0c;稍有不慎就会影响后续的开发与维护&#xff0c;常常让人感到无从下手。 2…

51c自动驾驶~合集39

我自己的原文哦~ https://blog.51cto.com/whaosoft/12707676 #DiffusionDrive 大幅超越所有SOTA&#xff01;地平线DiffusionDrive&#xff1a;生成式方案或将重塑端到端格局&#xff1f; 近年来&#xff0c;由于感知模型的性能持续进步&#xff0c;端到端自动驾驶受到了来…

docker安装hadoop环境

一、使用docker搭建基础镜像 1、拉取centos系统镜像 # 我这里使用centos7为例子 docker pull centos:7 2、创建一个dockerfiler文件&#xff0c;用来构建自定义一个有ssh功能的centos镜像 # 基础镜像 FROM centos:7 # 作者 #MAINTAINER hadoop ADD Centos-7.repo /etc/yum.re…

多级缓存设计实践

缓存是什么&#xff1f; 缓存技术是一种用于加速数据访问的优化策略。它通过将频繁访问的数据存储在高速存储介质&#xff08;如内存&#xff09;中&#xff0c;减少对慢速存储设备&#xff08;如硬盘或远程服务器&#xff09;的访问次数&#xff0c;从而提升系统的响应速度和…

状态模式S

状态模式&#xff08;State Pattern&#xff09;是行为设计模式的一种&#xff0c;它允许一个对象在其内部状态发生改变时改变其行为。这个对象被视为类型的有限状态机&#xff08;Finite State Machine&#xff09;。 在状态模式中&#xff0c;我们创建表示各种状态的对象和一…

数据结构 (23)并查集与等价类划分

一、并查集 并查集&#xff08;Union-Find Set或Disjoint Set&#xff09;是一种数据结构&#xff0c;用于处理一些不相交集合&#xff08;disjoint sets&#xff09;的合并及查询问题。它通常表示为森林&#xff0c;并用数组来实现&#xff08;类似于二叉堆&#xff09;。在并…

【Linux】开启你的Linux之旅:初学者指令指南

Linux相关知识点可以通过点击以下链接进行学习一起加油&#xff01; 在 Linux 开发中&#xff0c;GDB 调试器和 Git 版本控制工具是开发者必备的利器。GDB 帮助快速定位代码问题&#xff0c;Git 则提供高效的版本管理与协作支持。本指南将简明介绍两者的核心功能与使用技巧&…

Python语法1

Python语法1 作者&#xff1a;王珂 邮箱&#xff1a;49186456qq.com 文章目录 Python语法1[TOC] 前言一、环境搭建1.1 安装Python解释器1.2 安装第三方包1.3 安装Pycharm1.4 虚拟环境 二、Python语法2.1 基础语法2.1.1 注释2.1.2 变量2.1.3 数据类型2.1.4 关键字和标识符 2.2…

普及组集训--图论最短路径

定义&#xff1a;表示顶点u到顶点v的一条边的权值&#xff08;边权&#xff09; 最短路径算法有常见的四种&#xff1a;floyd&#xff0c;dijkstra&#xff0c;Bellman-Ford&#xff0c;SPFA 不过Bellman-Ford并不常用&#xff0c;所以本文不提&#xff1b; 重点在于dijkstr…

蓝桥杯第 23 场 小白入门赛

一、前言 好久没打蓝桥杯官网上的比赛了&#xff0c;回来感受一下&#xff0c;这难度区分度还是挺大的 二、题目总览 三、具体题目 3.1 1. 三体时间【算法赛】 思路 额...签到题 我的代码 // Problem: 1. 三体时间【算法赛】 // Contest: Lanqiao - 第 23 场 小白入门赛 …

前缀和篇——繁星斗斗数字交织中,觅得效率明月辉光(1)

前言 在这片无边无际的数字海洋中&#xff0c;如何从中提取出有价值的讯息&#xff0c;成为了计算机科学中的一项重要课题。前缀和算法&#xff0c;作为一种巧妙的技术&#xff0c;恰如其名——通过计算序列中各个元素的前缀和&#xff0c;能够为我们提供一种高效的查询方式&a…

STM32 HAL库 + LM2904运算放大器 + ADC + VDO温度传感器:电路设计及代码实现

本文将详细介绍如何使用STM32F407的HAL库&#xff0c;实现通过单通道ADC采集VDO温度传感器的信号&#xff0c;并通过串口将采集到的温度值打印输出。具体流程包括&#xff1a;通过分压电阻将获得VDO温度传感器的分压电压&#xff0c;再利用运算放大器LM2904对信号进行放大&…

Python酷库之旅-第三方库Pandas(252)

目录 一、用法精讲 1191、pandas.tseries.offsets.BusinessMonthBegin.n属性 1191-1、语法 1191-2、参数 1191-3、功能 1191-4、返回值 1191-5、说明 1191-6、用法 1191-6-1、数据准备 1191-6-2、代码示例 1191-6-3、结果输出 1192、pandas.tseries.offsets.Busine…