从0开始计算机体系结构的学习(一):FGPA预备知识与Vivado环境搭建
引入与预备知识
什么是FPGA?
FPGA(Field-Programmable Gate Array,现场可编程门阵列)是一种集成电路(IC),其硬件功能可以通过用户在现场编程来定义。与传统的ASIC(专用集成电路)不同,FPGA在制造完成后仍然可以根据需求进行重新配置。因此,它们被广泛应用于需要灵活性和可定制性且性能要求较高的场景中,如通信、信号处理、自动驾驶和物联网等领域。
FPGA的主要特点包括:
可编程性:用户可以通过硬件描述语言(HDL),如Verilog或VHDL,来编写FPGA内部的逻辑功能,并通过工具进行综合、实现和下载到FPGA中。
并行处理能力:FPGA支持高度并行的运算,多个逻辑单元可以同时独立工作,因此它们在处理需要高吞吐量的应用时表现优越,比如图像处理或信号处理。
硬件加速:在某些特定的计算任务中,FPGA可以作为加速器,通过硬件来实现更高效的运算。
灵活性:FPGA可以在开发阶段或部署阶段根据需求进行功能修改,而无需像ASIC那样重新设计和制造芯片。
FPGA通常应用在需要高性能、低延迟且具有高度灵活性和可定制性的领域,比如通信基站、航空航天、工业控制、加密处理等。
什么是Vivado?
Vivado 是由 Xilinx(赛灵思)公司开发的一套设计工具,用于 FPGA 和 SoC(System on Chip,片上系统)等可编程逻辑器件的设计、综合、仿真和实现。它是专为 Xilinx FPGA 和可编程 SoC 平台(如 Zynq 系列)设计的,并且提供了从设计输入到硬件实现的全流程支持。
Vivado 工具的主要功能和特点包括:
综合(Synthesis):将硬件描述语言(HDL)代码(如 Verilog、VHDL)转换为可以在 FPGA 上实现的门级电路。Vivado 提供了高效的综合器,可以优化设计的性能、面积和功耗。
实现(Implementation):综合后的设计需要经过映射、布局布线等步骤,才能变成实际可用于 FPGA 的逻辑配置。Vivado 通过自动化的工具实现这些过程,并提供了详细的报告和优化建议。
IP 集成:Vivado 支持对现成的 IP 核进行集成,这些 IP 核可以是 Xilinx 自带的,也可以是第三方开发的功能模块,能够极大地加快开发过程。Vivado 的 IP Integrator 允许设计人员图形化地集成和连接多个模块。
仿真和验证:Vivado 提供了仿真功能,帮助设计人员在将设计下载到 FPGA 之前验证逻辑功能的正确性。通过仿真,设计人员可以在虚拟环境中测试设计的行为,减少错误和调试时间。
调试工具:Vivado 中集成了硬件调试工具,如 Vivado Logic Analyzer 和 Integrated Logic Analyzer(ILA),可以帮助设计人员在 FPGA 上运行代码时实时监控内部信号的状态,便于查找和解决问题。
高效的界面: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
- 也可直接参考本博客【较为完善】:最详细手把手教你安装 Vivado2019.2

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

破解证书
详细教程请看本文:最详细手把手教你安装 Vivado2019.2
- 安装完成后自动打开许可证管理软件,点击
Load License,点击Copy License,找到资源包里的许可证文件,点击打开 - 也可以通过下图所示再次打开许可证管理软件,选择自己获得的
license


VScode配置
请看教程:
Vivado软件教程
请看教程:
从0开始计算机体系结构的学习(一):FGPA预备知识与Vivado环境搭建的更多相关文章
- Java开发学习心得(一):SSM环境搭建
目录 Java开发学习心得(一):SSM环境搭建 1 SSM框架 1.1 Spring Framework 1.2 Spring MVC Java开发学习心得(一):SSM环境搭建 有一点.NET的开 ...
- JavaSE 学习笔记01丨开发前言与环境搭建、基础语法
本蒟蒻学习过C/C++的语法,故在学习Java的过程中,会关注于C++与Java的区别.开发前言部分,看了苏星河教程中的操作步骤.而后,主要阅读了<Java核心技术 卷1 基础知识>(第8 ...
- 【菜鸟学习Linux】-第三章- Linux环境搭建-使用VMware9安装Ubuntu 12.04系统
上一步,我们安装了VMware9虚拟机,现在我们就是用它来安装Ubuntu12.04系统,至于Ubuntu是什么,我就不废话了,大家google一下,比我讲的清楚,好了,开始干活! Ubuntu官网下 ...
- Python学习笔记 (1)Hello World(环境搭建+输出Hello World!)
随想 高考发挥失常.科三遇火车发挥失常,各种不顺……突然发现假期都快没了,才想起高考前想象的这个假期要做的一堆事,现在来多完成一件吧. 这几篇博客仅只是我的学习笔记,凑合看吧.我这个python小白看 ...
- 《精通并发与Netty》学习笔记(01 - netty介绍及环境搭建)
一.Netty介绍 Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. ...
- 【Spring学习笔记-1】Myeclipse下Spring环境搭建
*.hl_mark_KMSmartTagPinkImg{background-color:#ffaaff;}*.hl_mark_KMSmartTagBlueImg{background-color:# ...
- Spark学习笔记--Spark在Windows下的环境搭建
本文主要是讲解Spark在Windows环境是如何搭建的 一.JDK的安装 1.1 下载JDK 首先需要安装JDK,并且将环境变量配置好,如果已经安装了的老司机可以忽略.JDK(全称是JavaTM P ...
- Python零基础学习系列之二--Python介绍及环境搭建
1-1.Python简介: Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.像P ...
- OpenGL入门学习(一)(转)--环境搭建
http://blog.chinaunix.net/uid-20622737-id-1912797.html 说起编程作图,大概还有很多人想起TC的#include <graphics.h> ...
- 《视觉SLAM十四讲》学习日志(一)——预备知识
SLAM简介 : SLAM是 Simultaneous Localization and Mapping 的缩写,中文译作 " 同时定位与地图构建 ".它是指搭载特定传感器的主题, ...
随机推荐
- [oeasy]python0115_西里尔字符集_Cyrillic_俄文字符编码_KOI_8859系列
各语言字符编码 回忆上次内容 上次回顾了 非ascii的拉丁字符编码的进化过程 0-127 是 ascii 的领域 西欧.北欧语言 大多使用 拉丁字符 由iso组织 制定iso-8859-1 ...
- AT_arc111_a 题解
洛谷连接&Atcoder 链接 题目简述 给定两个数 \(n\) 和 \(m\),输出 \(\left\lfloor\frac{10^n}{m}\right\rfloor \bmod m\) ...
- 单细胞测序最好的教程(十四)测序原始数据公开至NCBI数据库
作者按 国内对于单细胞测序相关的中文教程确实不够全面,当然NCBI官网给的上传教程也比较详细了,所以变成了会者不难.本教程你现在可能用不上,但是你如果做单细胞测序,那么未来你一定会用上,建议收藏. 在 ...
- 硬件开发笔记(二十八):TPS54331电源设计(一):5V电源供电原理图设计
前言 电源供电电路设计很重要,为了更好的给对硬件设计有需求的人,特意将电源设计的基础过程描述出来. 本篇描述设计常用的12V转5V电路3A. TPS54331(DC-DC稳压器) 概述 ...
- 基于Hive的大数据分析系统
1.概述 在构建大数据分析系统的过程中,我们面对着海量.多源的数据挑战,如何有效地解决这些零散数据的分析问题一直是大数据领域研究的核心关注点.大数据分析处理平台作为应对这一挑战的利器,致力于整合当前主 ...
- 基于Drone实现CI/CD【0到1架构系列】
CI/CD是持续性集交和持续性部署,简单来讲就是自动化构建和自动化部署.目前有很多集成方案,也有很多组装方案,只要能实现自动化构建出制品,再自动部署到生产环境就行. 目前很多源代码都集成了CI/CD功 ...
- 虚拟硬盘系统 —— Windows系统 磁盘加速软件 —— 优缺点以及与真实物理磁盘访问文件的区别
在家里的局域网搞了一个NAS,但是由于磁盘读存速率问题导致远程copy的速度只有15MB/s,而如果NAS中的文件已在内存中有缓存则远程copy的速度为50MB/s. 于是考虑利用内存建立虚拟硬盘: ...
- (续) gym atari游戏的环境设置问题:Breakout-v0, Breakout-v4, BreakoutNoFrameskip-v4和BreakoutDeterministic-v4的区别
根据前文(https://www.cnblogs.com/devilmaycry812839668/p/14665072.html)我们知道: 首先是v0和v4的区别:带有v0的env表示会有25%的 ...
- Apache SeaTunnel 及 Web 功能部署指南(小白版)
在大数据处理领域,Apache SeaTunnel 已成为一款备受青睐的开源数据集成平台,它不仅可以基于Apache Spark和Flink,而且还有社区单独开发专属数据集成的Zeta引擎,提供了强大 ...
- DRF中serializer的中的模型字段解释
序列化器--Serializer 选项参数: max_length 最大长度 min_length 最小长度 allow_blank 是否允许为空 trim_whitespace 是否截断空白字符 m ...