当前位置: 首页 > news >正文

大一,如何成为一名fpga工程师?


1、数电(必须掌握的基础),然后进阶学模电(选学),

2、掌握HDL(HDL=verilog+VHDL)可以选择verilog或者VHDL,建议verilog就行。

3、掌握FPGA设计流程/原理(推荐教材:FPGA权威指南、Altera FPGA/CPLD设计、IP核芯志-数字逻辑设计思想、静态时序分析、嵌入式逻辑分析仪等),

4、常用的协议(ARP协议、udp协议、SPI、AXI总线等等)够用就行,

5、独立的做些中小规模的设计,比如:像交通灯、电子琴、DDS等......

书籍推荐4本就够:

1、Verilog数字系统设计教程

这本书Verilog HDL语法讲的比较完整,适合作为语法工具书使用,第一部分讲述了Verilog HDL的基本语法,Verilog HDL运算符大部分与C语言是相同的,需要注意的有拼接符和缩减符。选择语句与C含义基本一致,Verilog HDL含有四种循环语句,但是只有for循环可以综合成电路,for循环的含义与C语言有本质区别,具体可以查看之前写的一篇文章去理解Verilog中for循环的含义。而always,assign,begin…end这些是Verilog最常用的,也是比较简单的。对于系统函数只需要有印象即可,因为这些都只能用于测试文件的编写,都是不可以综合成电路的。

第二部分主讲数字电路中加法器,数据选择器,状态机等常用器件Verilog HDL的描述方法,以及对阻塞赋值与非阻塞赋值这些概念进行更加详细的讲解。最后会有对risc的CPU进行设计的介绍。

2、手把手教你学FPGA设计:基于大道至简的至简设计法

这本书是潘老师进行编写的,主要通过讲解以计数器,状态机,FIFO为架构去实现uart,SCCB,SPI,SDRAM,UDP等模块的设计,以及模块接口设计。

做过FPGA的都知道,80%左右的设计都可以通过计数器、状态机、FIFO或者RAM去实现,讲解这几种结构的设计的书有很多,之所以推荐这一本是因为本书的设计思想以及计数器和状态机与其他书都有所区别。关注计数器无非在于其初始值是多少,什么时候加一,什么时候计数结束这三个问题。状态机很多书上也都只是对传统的一段式,二段式,三段式进行对比讲解,而本书总结出四段式。后面两章通过从模块划分,到各个模块内部实现,调试,最终实现两个案例。

注意计数器,状态机,FIFO并不是我们最终目的,架构都是为输出信号服务。实现同一种功能往往可以使用不同架构,根据难度选择合适的架构,这是需要多加练习的。

3、FPGA原理和结构

前面两本一本讲语法,一本讲计数器,状态机,FIFO这些架构的应用,这本书就是用来讲解FPGA的结构以及组成的,全书很少有代码,。

这本书更像一本介绍FPGA原理的科普书,读着就像读小说,写的很好,而且与现在主流的FPGA技术有结合,非常适合初学者。对FPGA的基本结构详细了解是很有必要的,前期不想直接看数据手册时,可以看看这本书,这本书还对altera和xilinx设计流程,工具以及原理进行了介绍。

4、FPGA设计实战演练(高级技巧篇)

本书建议在进阶时使用,主要以quartus讲解时序约束,快慢时钟域下数据传输,全局复位,面积与速度优化,可综合设计讲解。

现代FPGA的结构越来越复杂,多时钟域的设计现在已是常态。对于功能电路来说,复位结构都必不可少。在同步逻辑设计中如何很好地处理异步复位,甚至在多时钟域之间传递(异步)复位信号也是逻辑工程师经常面临的挑战。本书除专门介绍了上述电路的设计方法外,还介绍了状态机的设计。在介绍这些通用电路结构的基础上,还介绍了代码优化以及如何对设计进行综合与布局布线优化方面的相关内容。但是不建议初学者阅读。

当然这些只能自己摸索着学习,难度可能比较大,但题主毕竟才大一,也不着急,先学好数电模电,然后学好verilog,等到大三,或者研究生后在考虑其他的。

​ ​ 这里有一个入口:​FPGA学习资料免费领!

相关文章:

大一,如何成为一名fpga工程师?

​ 1、数电(必须掌握的基础),然后进阶学模电(选学), 2、掌握HDL(HDLverilogVHDL)可以选择verilog或者VHDL,建议verilog就行。 3、掌握FPGA设计流程/原理(推…...

MyBatisPlus学习三:Service接口、代码生成器

学习教程 黑马程序员最新MybatisPlus全套视频教程,4小时快速精通mybatis-plus框架 Service接口 简介 在MyBatis-Plus框架中,Service接口的作用是为实体类提供一系列的通用CRUD(增删改查)操作方法。通常情况下,Servi…...

产品经理如何选择城市?

年底,全国性的人口大迁徙即将开始。选择城市,堪称年轻人的“二次投胎”,族望留原籍,家贫走他乡。 古人在选择城市时,主要的考量因素是家族势力,这一点放在当代,大致也成立,如果在老…...

再谈“敏捷”与“瀑布”在产品开发过程中的反思

作为一家专注于软件开发的公司《智创有术》,我们致力于为客户提供创新、高效和可靠的解决方案。通过多年的经验和专业知识,我们已经在行业内建立了良好的声誉,并赢得了客户的信任和支持。 支持各种源码,网站搭建,APP&a…...

设计模式② :交给子类

文章目录 一、前言二、Template Method 模式1. 介绍2. 应用3. 总结 三、Factory Method 模式1. 介绍2. 应用3. 总结 参考内容 一、前言 有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书&qu…...

Hive 源码

hive 编译 issue Failed to execute goal com.github.os72:protoc-jar-maven-plugin:3.5.1.1:run (default) on project hive-standalone-metastore: Error resolving artifact: com.google.protobuf:protoc:2.5.0: The following artifacts could not be resolved: com.goog…...

调整几行代码,接口吞吐提升 10 倍,性能调优妙啊!

景 分析过程 总结 背景 公司的一个ToB系统,因为客户使用的也不多,没啥并发要求,就一直没有经过压测。这两天来了一个“大客户”,对并发量提出了要求:核心接口与几个重点使用场景单节点吞吐量要满足最低500/s的要求。 当时一想,500/s吞吐量还不简单。Tomcat按照100个线程…...

MACOS Atrust服务异常

MAC版Atrust服务异常 点击进入办公后出现提示其一: 核心服务未启动,部分功能存在异常,确定重新启动吗? 可能的原因: 1.上次已完全退出客户端 2.核心服务被其他程序优化禁用 点击重新启动后,出现提示&#x…...

LLM大语言模型(四):在ChatGLM3-6B中使用langchain

目录 背景准备工作工具添加LangChain 已实现工具Calculator、Weather Tool配置 自定义工具自定义kuakuawo Agent 多工具使用参考 背景 LangChain是一个用于开发由语言模型驱动的应用程序的框架。它使应用程序能够: 具有上下文意识:将语言模型与上下文源(提示指令&…...

Dubbo入门介绍和实战

1. 引言 Dubbo是一款开源的高性能、轻量级的Java RPC(远程过程调用)框架,旨在解决分布式服务之间的通信问题。本文将介绍Dubbo的基础概念、核心特性以及使用场景,包括实际示例演示。 2. 什么是Dubbo? Dubbo是阿里巴…...

如何实现无人机识别功能

无人机识别算法可以基于不同的传感器和技术,结合多种方法进行实现。以下是一些常见的无人机识别算法和技术: 视觉识别: 图像处理: 使用计算机视觉技术对无人机图像进行处理,包括特征提取、目标检测和跟踪等。深度学习&…...

Python学习笔记(四)流程控制方法

流程控制有三种方法:分支、循环、跳出 流程的控制通过布尔值来实现,分支和循环都需要对一定的条件进行判断,根据判断结果(布尔值)决定下一步要做什么 布尔值通过比较运算符、逻辑运算符来进行判断是True还是False 不…...

【Qt- C++ Qml 交互】

Qt编程指南 VX:hao541022348 ■ 将C对象注册到 QML中,在QML使用C对象■ C对象注册到元对象系统■ Q_INVOKABLE 宏定义是将C 的 函数(方法)声明为元对象系统可调用的函数■ 演示步骤 ■ 将 C类注册到 QML,并在QML声明一…...

ubuntu 20.04 自由切换 python 的版本

问题描述 当前 ubuntu 20.04 默认安装了多个 python 的版本,执行 python 时,默认版本是 Python 2.7.18 zhangszzhangsz:~$ python Python 2.7.18 (default, Jul 1 2022, 12:27:04) [GCC 9.4.0] on linux2 Type "help", "copyright&quo…...

程序性能优化全能手册

本文聊一个程序员都会关注的问题:性能。 当大家谈到“性能”时,你首先想到的会是什么? 是每次请求需要多长时间才能返回? 是每秒钟能够处理多少次请求? 还是程序的CPU和内存使用率高不高? 这些问题基本上…...

LiveSIPB流媒体国网B接口功能-国网B接口服务安装使用说明

LiveSIPB 国网B接口服务安装使用说明 1、服务说明1.1、安装包说明1.2、国网B接口信令服务1.3、国网B接口流媒体服务1.4、配置信令服务(LiveCMS)1.5、配置流媒体服务(LiveSMS) 2、服务运行2.1、Windows2.2、Linux 3、配置设备接入3.1、海康STATE_GRID接入示例 4、平台使用4.1、管…...

利用小红书笔记详情API:为内容运营提供强大的支持

利用小红书笔记详情API,内容运营者可以获得对小红书平台上的笔记内容的深入洞察,从而为其运营工作提供强大的支持。以下是该API如何支持内容运营的几个关键方面: 获取笔记内容与数据: API允许内容运营者直接获取小红书平台上的笔记…...

地理空间分析1——入门Python地理空间分析

写在开头 地理空间分析是一门涉及地球表面数据处理和解释的科学,通过对地理现象的研究,我们可以更深入地了解地球各个角落的关系。Python作为一种功能强大的编程语言,在地理空间分析领域展现了强大的潜力。本文将带您深入了解入门级别的Pyth…...

哈尔滨爆火的背后有什么值得我们学习的,2024普通人如何创业/2024风口行业

这个冬天,“南方小土豆”带火东北冰雪游。“冰城”黑龙江哈尔滨的文旅市场异常火爆,元旦假期3天,哈尔滨市累计接待游客304.79万人次,实现旅游总收入59.14亿元。旅游总收入达到历史峰值。哈尔滨旅游怎么就爆火了?背后究…...

element中Tree 树形控件实现多选、展开折叠、全选全不选、父子联动、默认展开、默认选中、默认禁用、自定义节点内容、可拖拽节点、手风琴模式

目录 1.代码实现2. 效果图3. 使用到的部分属性说明4. 更多属性配置查看element官网 1.代码实现 <template><div class"TreePage"><el-checkboxv-model"menuExpand"change"handleCheckedTreeExpand($event, menu)">展开/折叠&l…...

数据结构OJ实验15-插入排序与交换排序

A. DS内排—直插排序 题目描述 给定一组数据&#xff0c;使用直插排序完成数据的升序排序。 --程序要求-- 若使用C只能include一个头文件iostream&#xff1b;若使用C语言只能include一个头文件stdio 程序中若include多过一个头文件&#xff0c;不看代码&#xff0c;作0分…...

鹿目标检测数据集VOC格式500张

鹿&#xff0c;一种优雅而神秘的哺乳动物&#xff0c;以其优美的外形和独特的生态习性而备受人们的喜爱。 鹿的体型通常中等&#xff0c;四肢细长&#xff0c;身体线条流畅。它们的头部较小&#xff0c;耳朵大而直立&#xff0c;眼睛明亮有神。鹿的毛色因品种而异&#xff0c;…...

静态网页设计——电影推荐网(HTML+CSS+JavaScript)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV1NK411x7oK/?vd_source5f425e0074a7f92921f53ab87712357b 使用技术&#xff1a;HTMLCSSJS&#xff08;…...

ARM CCA机密计算架构软件栈简介

本博客描述了Arm机密计算架构(Arm CCA)的固件和软件组件。 在这篇博客中,您将学到如何: 列出组成Arm CCA软件栈的组件集了解Arm CCA引入新软件组件的原因了解监视器和领域管理监视器(RMM)的角色了解如何创建和管理领域1.1 开始之前 我们假设您熟悉AArch64异常模型、AAr…...

C#编程-使用集合

使用集合 您学习了如何使用数组来有效地存储和操作相似类型额数据。但是,以下限制于数组的使用相关联: 您必须在声明时定义数组的大小。您必须编写代码以对数组执行标准操作,如排序。让我们思考一个示例。假设您想要存储在组织工作的五个雇员的姓名。您可以使用以下语句来声…...

linux 设备模型之设备

在最低层, Linux 系统中的每个设备由一个 struct device 代表: struct device { struct device *parent; struct kobject kobj; char bus_id[BUS_ID_SIZE]; struct bus_type *bus; struct device_driver *driver; void *driver_data; void (*release)(struct device *dev); /* …...

电源滤波可采用 RC、LC、π 型滤波。电源滤波建议优选磁珠,然后才是电感。同时电阻、电感和磁珠必须考虑其电阻产生的压降。

电源滤波是为了减少电源中的噪声和干扰,确保电子设备正常工作。RC、LC、π 型滤波是常用的电源滤波器结构,其选择主要取决于需要滤波的频率范围和所需的滤波效果。 RC滤波器是由电阻和电容组成,适用于高频噪声的滤波。当电流通过电容时,电容会阻止高频噪声信号的通过,起到…...

STM32通用定时器-输入捕获-脉冲计数

一、知识点 编码器   两相编码器&#xff08;正交编码器&#xff09;&#xff1a;两相编码器由 A 相和 B 相组成&#xff0c;相位差为 90 度。当旋转方向为顺时针时&#xff0c;A 相先变化&#xff0c;然后 B 相变化&#xff1b;当旋转方向为逆时针时&#xff0c;B 相先变化…...

Flutter GetX 之 路由管理

路由管理是插件GetX常用功能之一&#xff0c;为什么说之一呢&#xff1f;因为GetX的功能远不止路由管理这么简单。 GetX的重要功能如下&#xff1a; 1、路由管理2、状态管理3、国际化4、主题5、GetUtil工具6、dialog 弹框7、snackbar 其实上面功能介绍的还是不够详细&#xff…...

基于单片机的农田灌溉系统(论文+源码)

1.系统设计 本系统主要实现如下目标&#xff1a; 1&#xff0e;可以实时监测土壤湿度&#xff1b; 2&#xff0e;土壤湿度太低时&#xff0c;进行浇水操作&#xff1b; 3&#xff0e;可以按键设置湿度的触发阈值&#xff1b; 4. 可以实现远程操控 5&#xff0e;可以实现手…...

申请建设政府门户网站/企业网站建设流程

2019独角兽企业重金招聘Python工程师标准>>> 在分布式系统中&#xff0c;对传统的单体应用进行水平或垂直的拆分&#xff0c;拆分后不可避免的出现了如何保证系统状态、数据之间一致性的问题。 在分布式的架构中&#xff0c;一致性指分布式服务化系统之间的弱一致性…...

南通制作手机网站/互联网公司排名100强

最近在做一个字体编辑的软件&#xff0c;其中需要用 TextArea 接受用户输入&#xff0c;并转换成 Text 保留在 图片上&#xff0c;碰到了字符自动换行的问题&#xff0c;开始是在 TextArea 的text 里 追加 "\n" , 但后来找到了一种更简单的办法&#xff0c;就是动态控…...

东莞黄页/云优化

他曾是高考文科状元&#xff0c;北大才子&#xff0c;80年代的天之骄子&#xff0c;在他34岁的年纪&#xff0c;他被迫操起了杀猪刀&#xff0c;开始了杀猪剁肉的买卖&#xff0c;柴静曾经对他有个专访&#xff0c;问他希望自己以后能做什么&#xff0c;他说&#xff0c;现在不…...

wordpress 进销存插件/seo优化上海牛巨微

这题的关键点在于对数组的重排序方法&#xff0c;高度先由高到低排列不会影响第二个参数&#xff0c;因为list.add的方法在指定index后面插入&#xff0c;因此对于同高的人来说需要对第二个参数由低到高排&#xff0c;具体代码如下 1 public class Solution {2 public int[…...

孔为民医生个人网站/网站关键词排名优化方法

原文发布时间为&#xff1a;2009-08-26 —— 来源于本人的百度文章 [由搬家工具导入]方法一&#xff1a;按照XML的结构一步一步的构建XML文档. 通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的方法二&#xff1a;直接定影XML文档&#xff…...

给wordpress语音朗读/seo网络优化师招聘

复仇者联盟中多个人物之间有着关系&#xff0c;同样的&#xff0c;表和表之间也会有关系&#xff0c;这种关系在数据库里叫做联结(join)&#xff0c;多表查找也是通过联结来实现的。这是《从零学会sql》系列课程第5节课《多表查询》的练习题&#xff0c;也是常考常考的面试题。…...