引入与预备知识

什么是FPGA?

FPGA(Field-Programmable Gate Array,现场可编程门阵列)是一种集成电路(IC),其硬件功能可以通过用户在现场编程来定义。与传统的ASIC(专用集成电路)不同,FPGA在制造完成后仍然可以根据需求进行重新配置。因此,它们被广泛应用于需要灵活性和可定制性且性能要求较高的场景中,如通信、信号处理、自动驾驶和物联网等领域。

FPGA的主要特点包括:

  1. 可编程性:用户可以通过硬件描述语言(HDL),如Verilog或VHDL,来编写FPGA内部的逻辑功能,并通过工具进行综合、实现和下载到FPGA中。

  2. 并行处理能力:FPGA支持高度并行的运算,多个逻辑单元可以同时独立工作,因此它们在处理需要高吞吐量的应用时表现优越,比如图像处理或信号处理。

  3. 硬件加速:在某些特定的计算任务中,FPGA可以作为加速器,通过硬件来实现更高效的运算。

  4. 灵活性:FPGA可以在开发阶段或部署阶段根据需求进行功能修改,而无需像ASIC那样重新设计和制造芯片。

FPGA通常应用在需要高性能、低延迟且具有高度灵活性和可定制性的领域,比如通信基站、航空航天、工业控制、加密处理等。

什么是Vivado?

Vivado 是由 Xilinx(赛灵思)公司开发的一套设计工具,用于 FPGA 和 SoC(System on Chip,片上系统)等可编程逻辑器件的设计、综合、仿真和实现。它是专为 Xilinx FPGA 和可编程 SoC 平台(如 Zynq 系列)设计的,并且提供了从设计输入到硬件实现的全流程支持

Vivado 工具的主要功能和特点包括:

  1. 综合(Synthesis):将硬件描述语言(HDL)代码(如 Verilog、VHDL)转换为可以在 FPGA 上实现的门级电路。Vivado 提供了高效的综合器,可以优化设计的性能、面积和功耗。

  2. 实现(Implementation):综合后的设计需要经过映射、布局布线等步骤,才能变成实际可用于 FPGA 的逻辑配置。Vivado 通过自动化的工具实现这些过程,并提供了详细的报告和优化建议。

  3. IP 集成:Vivado 支持对现成的 IP 核进行集成,这些 IP 核可以是 Xilinx 自带的,也可以是第三方开发的功能模块,能够极大地加快开发过程。Vivado 的 IP Integrator 允许设计人员图形化地集成和连接多个模块。

  4. 仿真和验证:Vivado 提供了仿真功能,帮助设计人员在将设计下载到 FPGA 之前验证逻辑功能的正确性。通过仿真,设计人员可以在虚拟环境中测试设计的行为,减少错误和调试时间。

  5. 调试工具:Vivado 中集成了硬件调试工具,如 Vivado Logic Analyzer 和 Integrated Logic Analyzer(ILA),可以帮助设计人员在 FPGA 上运行代码时实时监控内部信号的状态,便于查找和解决问题。

  6. 高效的界面:Vivado 提供了现代化的图形用户界面(GUI),用户可以通过拖拽、连接组件的方式进行设计,同时也支持命令行和脚本操作,适合不同的设计需求。

Vivado 是 Xilinx FPGA 开发流程的核心工具,支持从 RTL(寄存器传输级)设计输入到最终配置文件生成的全流程,是 FPGA 设计工程师不可或缺的开发环境之一。

环境准备

Vivado下载安装

下载

下载通过百度网盘更加方便,教程和链接可通过此链接获取:win10安装vivado + vitis 2019.2 教程_vitis2019.2安装教程-CSDN博客

需要注意,其他版本的下载链接不附带vitis,故需通过上述链接安装。网盘直达:

Vivado19.2 安装包:链接:https://pan.baidu.com/s/1fPlNDzpC0EPXMhOloDyzfA

提取码:1234

安装教程

  • 参考电子书:《达芬奇 Pro 之 FPGA 开发指南第四章p110,访问链接:

通过网盘分享的文件:FPGA开发指南 V1.3.pdf

链接: https://pan.baidu.com/s/1Zqfn0Vq5Kqbzhe6X5WwMyA?pwd=5y97

取码: 5y97

需要补充一点,这里选项很重要(书上没写,也没有涉及图片)!!!选择vitis,我查了下,你选择vitis相当于选择了全家桶,包括了vitis + vivado,如果选择下面vivado选项的话,那么就没有vitis IDE.就不能进行PS端开发。

破解证书

详细教程请看本文:最详细手把手教你安装 Vivado2019.2

  • 安装完成后自动打开许可证管理软件,点击 Load License,点击 Copy License,找到资源包里的许可证文件,点击 打开
  • 也可以通过下图所示再次打开许可证管理软件,选择自己获得的license

VScode配置

请看教程:

Vivado软件教程

请看教程:

从0开始计算机体系结构的学习(一):FGPA预备知识与Vivado环境搭建的更多相关文章

  1. Java开发学习心得(一):SSM环境搭建

    目录 Java开发学习心得(一):SSM环境搭建 1 SSM框架 1.1 Spring Framework 1.2 Spring MVC Java开发学习心得(一):SSM环境搭建 有一点.NET的开 ...

  2. JavaSE 学习笔记01丨开发前言与环境搭建、基础语法

    本蒟蒻学习过C/C++的语法,故在学习Java的过程中,会关注于C++与Java的区别.开发前言部分,看了苏星河教程中的操作步骤.而后,主要阅读了<Java核心技术 卷1 基础知识>(第8 ...

  3. 【菜鸟学习Linux】-第三章- Linux环境搭建-使用VMware9安装Ubuntu 12.04系统

    上一步,我们安装了VMware9虚拟机,现在我们就是用它来安装Ubuntu12.04系统,至于Ubuntu是什么,我就不废话了,大家google一下,比我讲的清楚,好了,开始干活! Ubuntu官网下 ...

  4. Python学习笔记 (1)Hello World(环境搭建+输出Hello World!)

    随想 高考发挥失常.科三遇火车发挥失常,各种不顺……突然发现假期都快没了,才想起高考前想象的这个假期要做的一堆事,现在来多完成一件吧. 这几篇博客仅只是我的学习笔记,凑合看吧.我这个python小白看 ...

  5. 《精通并发与Netty》学习笔记(01 - netty介绍及环境搭建)

    一.Netty介绍     Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序.     ...

  6. 【Spring学习笔记-1】Myeclipse下Spring环境搭建

    *.hl_mark_KMSmartTagPinkImg{background-color:#ffaaff;}*.hl_mark_KMSmartTagBlueImg{background-color:# ...

  7. Spark学习笔记--Spark在Windows下的环境搭建

    本文主要是讲解Spark在Windows环境是如何搭建的 一.JDK的安装 1.1 下载JDK 首先需要安装JDK,并且将环境变量配置好,如果已经安装了的老司机可以忽略.JDK(全称是JavaTM P ...

  8. Python零基础学习系列之二--Python介绍及环境搭建

    1-1.Python简介: Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.像P ...

  9. OpenGL入门学习(一)(转)--环境搭建

    http://blog.chinaunix.net/uid-20622737-id-1912797.html 说起编程作图,大概还有很多人想起TC的#include <graphics.h> ...

  10. 《视觉SLAM十四讲》学习日志(一)——预备知识

    SLAM简介 : SLAM是 Simultaneous Localization and Mapping 的缩写,中文译作 " 同时定位与地图构建 ".它是指搭载特定传感器的主题, ...

随机推荐

  1. .Net4.5及.Net Core2.1下的HttpClient使用详解

    一.HTTP系列演进 方式 说明 HttpWebRequest .NET早期版本,同步方式 WebClient HttpWebRequest的封装简化版,同步方式 HttpClient .NET4.5 ...

  2. SUM-2024成信大天梯赛

    查看代码中有仔细的批注 L1-5 yihan的新函数 题解:(字符串)需要用到一个知识,整数与字符串之间的变换"to_string()",字符串变成整数"stoll()& ...

  3. 【服务器】Ubuntu虚拟内存设置

    引子 最近服务器内存老是爆掉,64G的内存对于四五个人同时使用还是有点勉强,上网查询了一下虚拟内存的教程,本博客记录一下方法. swap内存设置 假设你想将swap文件放在/mnt/data/mem目 ...

  4. h5py文件写入之——flush和update

    技术背景 在前面的一篇博客中,我们介绍过使用VMD可视化H5MD标准化格式的轨迹文件的方法.H5MD本质上就是一个有规范格式的hdf5二进制文件,本文主要介绍两个关于hdf5的内容更新操作. 写入和更 ...

  5. 助动词&情态动词

    助动词 (auxiliary verbs) 任何整句都分为主语和谓语,而谓语部分的核心是谓语动词, 但是谓语动词本身往往无法独立表达某些语法概念,需要其他词的辅助, 而这类来辅助构成谓语但自己本身不能 ...

  6. 【RabbitMQ】07 SpringBoot整合RabbitMQ

    生产者和消费者的依赖基本一致: 注意工程名称不是一样的 <?xml version="1.0" encoding="UTF-8"?> <pro ...

  7. python3解析wav文件获取dtmf值

    操作系统 :Windows 10_x64 Python版本:3.9.2 从事FreeSwitch相关工作,大概率会遇得到DTMF,DTMF的传递方式有三种: In-band RFC2833 SIP-I ...

  8. 同策略强化学习算法可以使用经验缓存池(experience buffer)吗 ??? 设计一个基于缓存池的改进reinforce算法,给出初步的尝试 ---------- (reinforce + experience buffer)

    本文使用代码地址: https://gitee.com/devilmaycry812839668/reinforce_with_-experience-buffer ================= ...

  9. hibernate validation,spring validation自定义参数校验

    1.背景 在实际开发中,我们除了会使用常用的参数判断,如字符串不为空,最大值,最小值等 我们还可以自定义参数校验规则 2.实际生产问题 实际生产中同步订单的时候, 假设我们要求订单状态值只能是 -1, ...

  10. php 开发日常收获

    最近项目需求: 仿制某网站的菜单功能 效果如下: 效果大概就是这样啦.分析下吧:主要是分级查询我的思路:首先从数据库中查询所有的顶级目录: 目前就是这几个顶级目录在数据库中特点就是 父级id是0(一般 ...