首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

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

编程知识
2024年09月13日 22:21

引入与预备知识

什么是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软件教程

请看教程:

From:https://www.cnblogs.com/ranxi169/p/18413083
本文地址: http://www.shuzixingkong.net/article/2000
0评论
提交 加载更多评论
其他文章 论文阅读笔记 --- 图模互补:知识图谱与大模型融合综述 --- 按参考文献整理
论文阅读笔记 图模互补:知识图谱与大模型融合综述 按参考文献整理 关于 首次发表日期:2024-09-13 论文原文链接:http://xblx.whu.edu.cn/zh/article/doi/10.14188/j.1671-8836.2024.0040/ 将文章中的参考文献整理一下,基本保持原
Angular Material 18+ 高级教程 – Datepicker の Calendar & Custom DateAdapter (Temporal)
前言 本篇只会教 Angular Material Datepicker 里最关键的组件 -- Calendar 组件。 还有如何自定义 DateAdapter,让 Calendar 支持 TC39 Temporal。 有兴趣想学完整 Datepicker 的人,请移步官网。 只对 Cal
Angular Material 18+ 高级教程 – Datepicker の Calendar & Custom DateAdapter (Temporal) Angular Material 18+ 高级教程 – Datepicker の Calendar & Custom DateAdapter (Temporal) Angular Material 18+ 高级教程 – Datepicker の Calendar & Custom DateAdapter (Temporal)
代码整洁之道--读书笔记(9)
代码整洁之道 简介: 本书是编程大师“Bob 大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更高台阶。 本书适合所有程序员阅读,
代码整洁之道--读书笔记(9) 代码整洁之道--读书笔记(9)
为什么在EffectiveJava中建议用EnumSet替代位字段,以及使用EnumMap替换序数索引
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,在第37条中建议 用EnumMap替换序数索引,为什么? EnumSet 在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段 36、用 EnumSet替代位字段 如果枚举类型的元素主要在
Redis 入门 - 收官
《Redis入门》系列完成,涵盖Redis基本信息、安装、可视化工具、基础数据类型、C#/.NETCore客户端库及封装。分享学习经验,帮助初学者少走弯路,形成系统性概念。后续将分享《Redis进阶》。
Redis 入门 - 收官 Redis 入门 - 收官 Redis 入门 - 收官
Hugging Face NLP课程学习记录 - 0. 安装transformers库 & 1. Transformer 模型
Hugging Face NLP课程学习记录 - 0. 安装transformers库 & 1. Transformer 模型 说明: 首次发表日期:2024-09-14 官网: https://huggingface.co/learn/nlp-course/zh-CN/chapter1 关
Dubbo框架的1个核心设计点
Java领域要说让我最服气的RPC框架当属Dubbo,原因有许多,但是最吸引我的还是它把远程调用这个事情设计得很有艺术。
Dubbo框架的1个核心设计点 Dubbo框架的1个核心设计点
SQL Server 中的 NUL 设备/NIL设备
SQL Server 中的 NUL 设备/NIL设备 在 SQL Server 中,有一个特殊的设备叫做 NUL(注意,不是 NULL),它类似于文件系统中的“黑洞”。NUL 设备类似于 Linux 系统中的 /dev/null,所有写入到 NUL 的数据都会被直接丢弃。 我们可以利用这个特性,在不
SQL Server 中的 NUL 设备/NIL设备 SQL Server 中的 NUL 设备/NIL设备