引入与预备知识

什么是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. SCSS与CSS的区别

    SCSS(Sassy CSS)是一种CSS预处理器,它扩展了CSS的功能,并为样式表的编写提供了额外的便利性.以下是两者之间的主要区别: 1. 语法扩展:           CSS标准层叠样式表语言 ...

  2. Linux-makefile命令后面的-j4 -j8是什么意思?

    其实是指在编译指定的文件时用多少个线程进行编程的意思~ 相关命令示例如下: make zImage -j8 make modules -j8 --------------------------- m ...

  3. Django集成的密码找回功能

    要实现忘记密码功能,您需要进行以下修改: 添加忘记密码链接到登录页面. 创建密码丢失修改页面. 创建密码修改页面. 编写相应的视图函数来处理密码丢失修改和密码修改逻辑. 编写发送验证信息到邮箱的逻辑. ...

  4. [oeasy]python0104_指示灯_显示_LED_辉光管_霓虹灯

    编码进化 回忆上次内容 x86.arm.riscv等基础架构 都是二进制的 包括各种数据.指令   但是我们接触到的东西 都是屏幕显示出来的字符   计算机 显示出来的 一个个具体的字型   ​   ...

  5. [oeasy]python0007-Guido的简历

    ​ 执行 esc 退回到正常模式 ​ 编辑 esc退出插入模式 准备底行命令模式运行当前py文件 保存执行 ​:w|!python3 %​ 保存并用 python3 解释当前程序(%) ​ 编辑 可以 ...

  6. P10507 Georgia and Bob 题解

    思路 对棋子坐标排序,\(x_{i}-x_{i-1}-1\) 就是棋子可以移动的距离. 移动第 \(i\) 个棋子,相当于将 \(i+1\) 的移动范围扩大. 这于是变形成了一个台阶 nim 博弈论. ...

  7. CF941

    A link 其实,只要有第一次,那么下次随意找一个队列里有的数加\(k-1\)个进去,加上队列里那一个删掉\(k\)个,到最后一次肯定是剩\(k-1\)个. 没有第一次,就是\(n\). 点击查看代 ...

  8. holiday week3

    本周开始进行小学期实验报告B 上周LOL打的rank分又掉了回去 星际争霸打到了铂金段位 JAVA预备在小学期完成之后开始正式学习 现已了解雏形 本周发布了一个视频https://www.bilibi ...

  9. 【Java-GUI】05 绘图 Part1

    案例: package cn.dzz; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.Acti ...

  10. 解密prompt系列35. 标准化Prompt进行时! DSPy论文串烧和代码示例

    一晃24年已经过了一半,我们来重新看下大模型应用中最脆弱的一环Prompt Engineering有了哪些新的解决方案.这一章我们先看看大火的DSPy框架,会先梳理DSPy相关的几篇核心论文了解下框架 ...