【FPGA】入门学习路线

news2024/9/25 11:22:10

文章目录

  • 编程语言
    • 语法
    • RTL设计
    • RTL验证
    • 学习方法
    • 仿真工具
  • 基础知识
    • (1)专业基础课
    • (2)FPGA相关专业知识
    • (3)FPGA开发流程
  • 开发工具
  • 动手实验

编程语言

硬件描述语言HDL(Hardware Description Language)/寄存器传输级语言RTL(Register Transfer Language)。这是一种描述数字电路功能和行为的语言,可以在寄存器的传输级、行为级、逻辑门级等描述电路。

主流的硬件描述语言又VHDL(语法更加严谨)、Verilog(语法更加灵活)、System Verilog,先掌握一个语言即可,推荐verilog

语法

  • 教材:《Verilog数字系统设计》、《Verilog HDL高级数字设计》
  • Verilog语法可以分为可综合(Synthesizable,这部分语句可以生成对应的硬件电路)和不可综合的部分(Non-Synthesizable,主要用于验证和仿真)
  • 刷题网站:HDLBits

RTL设计

RTL设计主要有组合电路时序电路两个部分,还有一个状态机,这些在刷题网站HDLBits里都有对应的题目。

RTL验证

如何写一个测试平台,写一些简单的测试用例

学习方法

  • 不要用软件编程的思想去思考硬件,软件编程大多是顺序执行的,硬件编程大多是并行执行的。
  • 在学习Verilog的时候一定要多思考它对应的硬件电路是什么样的。比如在Verilog中写一个for循环,它会综合出一个什么样的硬件电路。或者写一个if else语句,会综合出一个什么样的电路。写一个case语句,会综合出一个什么样的电路等等。
  • 对于一个给定的逻辑功能,要想象出它的电路结构,然后使用Verilog语言来实现,同时可以写一些简单的测试用例和测试环境。

仿真工具

在这里插入图片描述

基础知识

(1)专业基础课

电路、数电、计算机体系结构、接口、数字信号处理(数电必须)

(2)FPGA相关专业知识

FPGA芯片的结构以及一些基本组成单元的结构(如查找表、逻辑单元、逻辑块、DSP、存储器等等),这部分可以看FPGA的官方文档

(3)FPGA开发流程

在这里插入图片描述

开发工具

主流的开发工具主要是AMD的VIVADO和英特尔FPGA的Quartus。

  • 熟悉开发流程
  • 熟悉IP的配置使用(一些常见的IP:OLL、FIFO、存储器,一些复杂的IP:软核处理器NIOS、通信用的PCle、DDR控制器)
  • 学习硬件调试和时序分析的方法,比如如何看一个设计的最大频率、时序不收敛的时候如何修改你的设计、如何使用一些硬件调试的工具比如Quartus里的SignalTap。

关于FPGA开发工具的学习可以参考教材、并配合开发板进行学习

动手实验

数码管、流水灯、按键、红绿灯、常见的总线通信、数据处理和信号处理
《深入浅出玩转FPGA》、《勇敢的芯 伴你玩转Altera FPGA》
开发板:Xilinx A7

参考链接:入行十年,我总结了这份FPGA学习路线:搞定这四点,你也能轻松进阶

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

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

相关文章

项目型企业管理系统有哪些?这10款值得研究

国内外主流的 10 款企业项目管理系统对比:PingCode、Worktile、泛微 e-office、金蝶云星瀚、用友项目管理软件、Jira、Monday.com、Asana、Trello、Basecamp。 在面对复杂的项目管理需求时,许多企业经常感到手头的工具不足以支撑高效的运作。有效的项目型…

代码随想录刷题day17丨654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树

代码随想录刷题day17丨654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树 1.题目 1.1最大二叉树 题目链接:654. 最大二叉树 - 力扣(LeetCode) 视频讲解:又是构造二叉…

【GeoscenePro】Pro连接本机Portal

打开自己的portal下面框住的就是链接的地址 证书的话点击是即可

嵌入式数据库

概述 1.作用:存储大量数据,专业存储数据 存储在内存(数组,变量,链表)上的特点:程序运行结束,或者掉电,数据会丢失。 存储在硬盘(文件)上的特点…

恺英网络:有业绩,无“游戏”

2024年上半年,恺英网络的业绩依然很好,但有些不讲逻辑了。 8月22日晚,恺英网络发布了2024年半年度财报。 报告显示,上半年公司实现营业收入25.55亿元,同比增长29.28%;归母净利润和扣非净利润分别为8.09亿…

鸿蒙开发5.0【基于Search组件实现搜索栏】

场景一:自定义搜索图标 方案 基于Search组件的searchIcon属性设置搜索图标,searchIcon可以设置size、color。注意:当前搜索图标不支持隐藏且不支持位置调整。基于searchButton属性设置搜索框末尾搜索按钮。基于该属性可更改文本内容及文本样…

Pepper佩盼尔wordpress模板

Pepper佩盼尔WordPress模板是一款专为追求简洁、现代和专业外观的网站设计者和开发者打造的高品质主题。它以简站为主题,强调“让建网站更简单”的理念,旨在为用户提供一个易于使用、功能丰富的平台来构建他们的在线业务或个人网站。 模板特点包括&…

【JavaEE】网络原理 UDP协议

🔥个人主页: 中草药 🔥专栏:【Java】登神长阶 史诗般的Java成神之路 🎃一.运输层 运输层(Transport Layer)是OSI七层模型中的第四层,也是TCP/IP四层模型中的第三层。它的主要职责是…

在3D Slicer中使用 Monai Bundle 和 Model Zoo 标注医学影像数据-全身CT器官分割

在3D Slicer中使用 Monai Bundle 和 Model Zoo 标注医学影像数据-全身CT器官分割 文章持续更新,可以关注微公【医学图像人工智能实战营】获取最新动态。人手有限,文中涉及的链接前往微公对应文章查看。关注Tina姐,一起学习进步~ 导读 本系列…

云计算基础之Docker

云计算是什么 云计算的本质是计算资源的虚拟化。 与磁盘逻辑卷的分配类似,云计算是在负载波动时动态调整服务器计算资源,避免资源浪费的做法,生产环境中,厂商一般将服务器组成一个池,实现逻辑管理计算资源&#xff0…

实时图像编辑大革新!Adobe发布TurboEdit:可以通过文本来编辑图像,编辑时间<0.5秒!

今天给大家介绍Adobe研究院新的研究TurboEdit&#xff0c;可以通过文本来编辑图像&#xff0c;通过一句话就能改变图像中的头发颜色、衣服、帽子、围巾等等。而且编辑飞快&#xff0c;<0.5秒。简直是图像编辑的利器。 相关链接 项目&#xff1a;betterze.github.io/TurboE…

闪存刷新机制文献的解读

闪存刷新机制文献的解读 一、文献信息1、标题&#xff1a;Flash Correct-and-Refresh: Retention-Aware Error Management for Increased Flash Memory Lifetime2、作者来源&#xff1a;卡耐基梅隆大学 二、Motivation三、Technique ( Flash Correct-and-Refresh, FCR )1、Repr…

如何使用Svg矢量图封装引用到vue3项目中

前言 在现代前端开发中&#xff0c;SVG&#xff08;可缩放矢量图形&#xff09;因其高质量和灵活性成为了图标和图形设计的热门选择。对于 Vue 3 项目而言&#xff0c;将 SVG 图标封装和引用到项目中不仅能提升性能&#xff0c;还能带来更高的可维护性和一致性。SVG 图标本质上…

LED的使用寿命评估

一&#xff0e;前言 LED光源随着时间的推移&#xff0c;输出光功率会逐渐衰减。在某一时间点&#xff0c;当LED发出的光衰减到一定水平&#xff0c;就无法满足应用要求。因此&#xff0c;常遇见客户会索取产品中LED光源的使用寿命数据。那么怎样确认LED的使用寿命呢&#xff1…

视觉Mamba综述——Visual Mamba: A Survey and New Outlooks论文总结

Visual Mamba: A Survey and New Outlooks &#xff08;31页&#xff0c;视觉Mamba综述&#xff09; 香港科技大学计算机科学与工程系 https://github.com/Ruixxxx/Awesome-Vision-Mamba-Models. 任务背景 0.摘要 Mamba是最近提出的一种选择性结构化状态空间模型&#xff…

公共DNS大测评,哪个解析性能最好?

日前阿里云方面发布公告称&#xff0c;由于产品升级&#xff0c;将于2024年9月30日24时起对公共DNS中免费的解析请求采取智能流量管控措施。据其透露&#xff0c;“公共DNS仍会致力于为广大免费用户提供高质量的基础递归解析服务&#xff0c;但在高并发解析场景&#xff0c;将对…

建模杂谈系列249 增量数据的正态分布拟合

说明 从分布开始&#xff0c;分布又要从正态开始 假设有一批数据&#xff0c;只有通过在线的方式增量获得。 内容 1 生成 先通过numpy生成一堆随机数据&#xff0c;从3个正态分布生成&#xff0c;然后拼接起来。 import numpy as np import matplotlib.pyplot as plt from …

【智能算法改进】路径规划问题的多策略改进樽海鞘群算法研究

目录 1.算法原理2.改进点3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】樽海鞘群算法&#xff08;SSA)原理及实现 2.改进点 无标度网络策略 复杂网络在图论中可以用边和节点表示&#xff0c; Barabasi 等于1999年通过分析大量的数据提出了无标度网络模型. 该网络…

框架 +【Mybatis】概述 以及 基础环境搭建

目录 什么是框架&#xff1f; java后端框架包括 Mybatis概述 1、背景介绍 2、mybatis介绍 Mybatis环境搭建 1.创建一个maven项目 2.导入mysql数据库驱动包 导入mybatis依赖的jar包 3.创建一个全局的mybatis配置文件 4.创建数据库,创建表,准备数据 5.创建一个访问接口…

单图生成 2D 和 3D 人物,高质量图像处理模型 CharacterGen来啦!

CharacterGen引入了一个简化的生成流程和一个图像条件的多视图扩散模型。该模型有效地将输入姿态校准到规范形式&#xff0c;同时保留输入图像的关键属性&#xff0c;从而解决了多样化姿态带来的挑战。 CharacterGen的另一个核心组成部分是基于Transformer的、可泛化的稀疏视图…