优质fpga读研读什么专业(fpga哪个专业学)


来源: 句子说说  /  作者: 已采纳 /  2023-05-04 00:10:01  /  次浏览
近期不少网友都在问:fpga读研读什么专业(fpga哪个专业学),小编也是查阅很多资料,整理了一些相关方面的答案,大家可以参考一下,

温馨提示:本文共有11059个字,大小约为48KB,预计浏览完需要28分钟,请仔细阅读吧!

目录:

如何零基础入门FPGA?这篇文章让你吃透



1 FPGA学习重点


1. 看代码,建模型


只有在脑海中建立了一个个逻辑模型,理解FPGA内部逻辑结构实现的基础,才能明白为什么写verilog和写C整体思路是不一样的,才能理解顺序执行语言和并行执行语言的设计方法上的差异。在看到一段简单程序的时候应该想到是什么样的功能电路。




2. 用数学思维来简化设计逻辑


学习FPGA不仅逻辑思维很重要,好的数学思维也能让你的设计化繁为简,所以啊,那些看见高数就头疼的童鞋需要重视一下这门课哦。举个简单的例子,比如有两个32bit的数据X[31:0]与Y[31:0]相乘。


当然,无论Altera还是Xilinx都有现成的乘法器IP核可以调用,这也是最简单的方法,但是两个32bit的乘法器将耗费大量的资源。那么有没有节省资源,又不太复杂的方式来实现呢?我们可以稍做修改:


将X[31:0]拆成两部分X1[15:0]和X2[15:0],令X1[15:0]=X[31:16],X2[15:0]=X[15:0],则X1左移16位后与X2相加可以得到X;同样将Y[31:0]拆成两部分Y1[15:0]和Y2[15:0],令 Y1[15:0]=Y[31:16],Y2[15:0]=Y[15:0],则Y1左移16位后与Y2相加可以得到Y,则X与Y的相乘可以转化为X1和X2 分别与Y1和Y2相乘,这样一个32bit*32bit的乘法运算转换成了四个16bit*16bit的乘法运算和三个32bit的加法运算。转换后的占用资源将会减少很多,有兴趣的童鞋,不妨综合一下看看,看看两者差多少。




3. 时钟与触发器的关系


“时钟是时序电路的控制者”这句话太经典了,可以说是FPGA设计的圣言。FPGA的设计主要是以时序电路为主,因为组合逻辑电路再怎么复杂也变不出太多花样,理解起来也不没太多困难。


但是时序电路就不同了,它的所有动作都是在时钟一拍一拍的节奏下转变触发,可以说时钟就是整个电路的控制者,控制不好,电路功能就会混乱。


打个比方,时钟就相当于人体的心脏,它每一次的跳动就是触发一个 CLK,向身体的各个器官供血,维持着机体的正常运作,每一个器官体统正常工作少不了组织细胞的构成,那么触发器就可以比作基本单元组织细胞。


时序逻辑电路的时钟是控制时序逻辑电路状态转换的“发动机”,没有它时序逻辑电路就不能正常工作。


因为时序逻辑电路主要是利用触发器存储电路的状态,而触发器状态变换需要时钟的上升或下降沿,由此可见时钟在时序电路中的核心作用。


最后简单说一下体会吧,归结起来就是多实践、多思考、多问。实践出真知,看100遍别人的方案不如自己去实践一下。实践的动力一方面来自兴趣,一方面来自压力。有需求会容易形成压力,也就是说最好能在实际的项目开发中锻炼,而不是为了学习而学习。




2 为什么你会觉得FPGA难学?


不熟悉FPGA的内部结构


FPGA为什么是可以编程的?


恐怕很多初学者不知道,他们也不想知道。


因为他们觉得这是无关紧要的。他们潜意识的认为可编程嘛,肯定就是像写软件一样啦。


软件编程的思想根深蒂固,看到Verilog或者VHDL就像看到C语言或者其它软件编程语言一样。一条条的读,一条条的分析。


拒绝去了解为什么FPGA是可以编程的,不去了解FPGA的内部结构,要想学会FPGA 恐怕是天方夜谭。


那么FPGA为什么是可以“编程”的呢?首先来了解一下什么叫“程”。


启示 “程”只不过是一堆具有一定含义的01编码而已。


编程,其实就是编写这些01编码。只不过我们现在有了很多开发工具运算或者是其它操作。


所以软件是一条一条的,通常都不是直接编写这些01编码,而是以高级语言的形式来编写,最后由开发工具转换为这种01编码而已。


对于软件编程而言,处理器会有一个专门的译码电路逐条把这些01编码翻译为各种控制信号,然后控制其内部的电路完成一个个的读,因为软件的操作是一步一步完成的。


而FPGA的可编程,本质也是依靠这些01编码实现其功能的改变,但不同的是FPGA之所以可以完成不同的功能,不是依靠像软件那样将01编码翻译出来再去控制一个运算电路,FPGA里面没有这些东西。


FPGA内部主要三块:可编程的逻辑单元、可编程的连线和可编程的IO模块。




3 可编程的逻辑单元


其基本结构某种存储器(SRAM、 FLASH等)制成的4输入或6输入1输出地“真值表”加上一个D触发器构成。


任何一个4输入1输出组合逻辑电路,都有一张对应的“真值表”,同样的如果用这么一个存储器制成的4输入1输出地“真值表”,只需要修改其“真值表”内部值就可以等效出任意4输入1输出的组合逻辑,这些“真值表”内部值就是那些01编码。


如果要实现时序逻辑电路怎么办?任何的时序逻辑都可以转换为组合逻辑 D触发器来完成。但这毕竟只实现了4输入1输出的逻辑电路而已,通常逻辑电路的规模那是相当的大。




3.1 可编程连线


那怎么办呢?这个时候就需要用到可编程连线了。在这些连线上有很多用存储器控制的链接点,通过改写对应存储器的值就可以确定哪些线是连上的而哪些线是断开的。这就可以把很多可编程逻辑单元组合起来形成大型的逻辑电路。




3.2 可编程的IO


任何芯片都必然有输入引脚和输出引脚。有可编程的IO可以任意的定义某个非专用引脚(FPGA中有专门的非用户可使用的测试、下载用引脚)为输入还是输出,还可以对IO的电平标准进行设置。


总归一句话,FPGA之所以可编程是因为可以通过特殊的01代码制作成一张张 “真值表”,并将这些“真值表”组合起来以实现大规模的逻辑功能。


不了解FPGA内部结构,就不能明白最终代码如何变到FPGA里面去的,也就无法深入的了解如何能够充分运用FPGA。现在的FPGA,不单单是有前面讲的那三块,还有很多专用的硬件功能单元,如何利用好这些单元实现复杂的逻辑电路设计,是从菜鸟迈向高手的路上必须要克服的障碍。而这一切,还是必须先从了解FPGA内部逻辑及其工作原理做起。




3.3 错误理解HDL语言,怎么看都看不出硬件结构


HDL语言的英语全称是:Hardware Deion Language,注意这个单词Deion,而不是Design。老外为什么要用Deion这个词而不是Design呢?因为HDL确实不是用用来设计硬件的,而仅仅是用来描述硬件的。


描述这个词精确地反映了HDL语言的本质,HDL语言不过是已知硬件电路的文本表现形式而已,只是将以后的电路用文本的形式描述出来而已。而在编写语言之前,硬件电路应该已经被设计出来了。语言只不过是将这种设计转化为文字表达形式而已。


硬件设计也是有不同的抽象层次,每一个层次都需要设计。最高的抽象层次为算法级、然后依次是体系结构级、寄存器传输级、门级、物理版图级。


使用HDL的好处在于我们已经设计好了一个寄存器传输级的电路,那么用HDL描述以后转化为文本的形式,剩下的向更低层次的转换就可以让EDA工具去做了,这就大大的降低了工作量。这就是可综合的概念,也就是说在对这一抽象层次上硬件单元进行描述可以被EDA工具理解并转化为底层的门级电路或其他结构的电路。


在FPGA设计中,就是在将这以抽象层级的意见描述成HDL语言,就可以通过FPGA开发软件转化为上一点中所述的FPGA内部逻辑功能实现形式。


HDL也可以描述更高的抽象层级如算法级或者是体系结构级,但目前受限于EDA软件的发展,EDA软件还无法理解这么高的抽象层次,所以HDL描述这样抽象层级是无法被转化为较低的抽象层级的,这也就是所谓的不可综合。


所以在阅读或编写HDL语言,尤其是可综合的HDL,不应该看到的是语言本身,而是要看到语言背后所对应的硬件电路结构。




3.4 FPGA本身不算什么,一切皆在FPGA之外


FPGA是给谁用的?很多学校是为给学微电子专业或者集成电路设计专业的学生用的,其实这不过是很多学校受资金限制,买不起专业的集成电路设计工具而用FPGA工具替代而已。其实FPGA是给设计电子系统的工程师使用的。


这些工程师通常是使用已有的芯片搭配在一起完成一个电子设备,如基站、机顶盒、视频监控设备等。当现有芯片无法满足系统的需求时,就需要用FPGA来快速的定义一个能用的芯片。


前面说了,FPGA里面无法就是一些“真值表”、触发器、各种连线以及一些硬件资源,电子系统工程师使用FPGA进行设计时无非就是考虑如何将这些以后资源组合起来实现一定的逻辑功能而已,而不必像IC设计工程师那样一直要关注到最后芯片是不是能够被制造出来。


本质上和利用现有芯片组合成不同的电子系统没有区别,只是需要关注更底层的资源而已。


要想把FPGA用起来还是简单的,因为无非就是那些资源,在理解了前面两点再搞个实验板,跑跑实验,做点简单的东西是可以的。


而真正要把FPGA用好,那光懂点FPGA知识就远远不够了。因为最终要让FPGA里面的资源如何组合,实现何种功能才能满足系统的需要,那就需要懂得更多更广泛的知识。




3.5 数字逻辑知识是根本


无论是FPGA的哪个方向,都离不开数字逻辑知识的支撑。FPGA说白了是一种实现数字逻辑的方式而已。如果连最基本的数字逻辑的知识都有问题,学习FPGA的愿望只是空中楼阁而已。数字逻辑是任何电子电气类专业的专业基础知识,也是必须要学好的一门课。


如果不能将数字逻辑知识烂熟于心,养成良好的设计习惯,学FPGA到最后仍然是雾里看花水中望月,始终是一场空的。


以上几条只是我目前总结菜鸟们在学习FPGA时所最容易跑偏的地方,FPGA的学习其实就像学习围棋一样,学会如何在棋盘上落子很容易,成为一位高手却是难上加难。要真成为李昌镐那样的神一般的选手,除了靠刻苦专研,恐怕还确实得要一点天赋。




4 荐读


4.1 入门首先要掌握HDL(HDL=verilog VHDL)


第一句话是:还没学数电的先学数电。然后你可以选择verilog或者VHDL,有C语言基础的,建议选择VHDL。因为verilog太像C了,很容易混淆,最后你会发现,你花了大量时间去区分这两种语言,而不是在学习如何使用它。当然,你思维能转得过来,也可以选verilog,毕竟在国内verilog用得比较多。


接下来,首先找本实例抄代码。


抄代码的意义在于熟悉语法规则和编译器(这里的编译器是硅编译器又叫综合器,常用的编译器有:


Quartus、ISE、Vivado、Design Compiler 、Synopsys的VCS、iverilog、Lattice的Diamond、Microsemi/Actel的Libero、Synplify pro),然后再模仿着写,最后不看书也能写出来。


编译完代码,就打开RTL图,看一下综合出来是什么样的电路。


HDL是硬件描述语言,突出硬件这一特点,所以要用数电的思维去思考HDL,而不是用C语言或者其它高级语言,如果不能理解这句话的,可以看《什么是硬件以及什么是软件》。


在这一阶段,推荐的教材是《Verilog传奇》、《Verilog HDL高级数字设计》或者是《用于逻辑综合的VHDL》。不看书也能写出个三段式状态机就可以进入下一阶段了。


此外,你手上必须准备Verilog或者VHDL的官方文档,《verilog_IEEE官方标准手册-2005_IEEE_P1364》、《IEEE Standard VHDL Language_2008》,以便遇到一些语法问题的时候能查一下。




4.2 独立完成中小规模的数字电路设计


现在,你可以设计一些数字电路了,像交通灯、电子琴、DDS等等,推荐的教材是夏老《Verilog 数字系统设计教程》(第三版)。在这一阶段,你要做到的是:给你一个指标要求或者时序图,你能用HDL设计电路去实现它。这里你需要一块开发板,可以选Altera的cyclone IV系列,或者Xilinx的Spantan 6。


还没掌握HDL之前千万不要买开发板,因为你买回来也没用。这里你没必要每次编译通过就下载代码,咱们用Modelsim仿真(此外还有QuestaSim、NC verilog、Diamond的Active-HDL、VCS、Debussy/Verdi等仿真工具),如果仿真都不能通过那就不用下载了,肯定不行的。


在这里先掌握简单的testbench就可以了。推荐的教材是《WRITING TESTBENCHES Functional Verification of HDL Models》。




4.3 掌握设计方法和设计原则


你可能发现你综合出来的电路尽管没错,但有很多警告。这个时候,你得学会同步设计原则、优化电路,是速度优先还是面积优先,时钟树应该怎样设计,怎样同步两个异频时钟等等。


推荐的教材是《FPGA权威指南》、《IP核芯志-数字逻辑设计思想》、《Altera FPGA/CPLD设计》第二版的基础篇和高级篇两本。学会加快编译速度(增量式编译、LogicLock),静态时序分析(timequest),嵌入式逻辑分析仪(signaltap)就算是通关了。如果有不懂的地方可以暂时跳过,因为这部分还需要足量的实践,才能有较深刻的理解。




4.4 学会提高开发效率


因为Quartus和ISE的编辑器功能太弱,影响了开发效率。所以建议使用Sublime text编辑器中代码片段的功能,以减少重复性劳动。Modelsim也是常用的仿真工具,学会TCL/TK以编写适合自己的DO文件,使得仿真变得自动化,推荐的教材是《TCL/TK入门经典》。


你可能会手动备份代码,但是专业人士都是用版本控制器的,所以,为了提高工作效率,必须掌握GIT。


文件比较器Beyond Compare也是个比较常用的工具。此外,你也可以使用System Verilog来替代testbench,这样效率会更高一些。如果你是做IC验证的,就必须掌握System Verilog和验证方法学(UVM)。推荐的教材是《Writing Testbenches using SystemVerilog》、《The UVM Primer》、《System Verilog1800-2012语法手册》。


掌握了TCL/TK之后,可以学习虚拟Jtag(ISE也有类似的工具)制作属于自己的调试工具,此外,有时间的话,最好再学个python。脚本,意味着一劳永逸。




4.5 增强理论基础


这个时候,你已经会使用FPGA了,但是还有很多事情做不了(比如,FIR滤波器、PID算法、OFDM等),因为理论没学好。我大概地分几个方向供大家参考,后面跟的是要掌握的理论课。


  • 信号处理 —— 信号与系统、数字信号处理、数字图像处理、现代数字信号处理、盲信号处理、自适应滤波器原理、雷达信号处理


  • 接口应用 —— 如:UART、SPI、IIC、USB、CAN、PCIE、Rapid IO、DDR、TCP/IP、SPI4.2(10G以太网接口)、SATA、光纤、DisplayPort


  • 无线通信 —— 信号与系统、数字信号处理、通信原理、移动通信基础、随机过程、信息论与编码


  • CPU设计 —— 计算机组成原理、单片机、计算机体系结构、编译原理


  • 仪器仪表 —— 模拟电子技术、高频电子线路、电子测量技术、智能仪器原理及应用


  • 控制系统 —— 自动控制原理、现代控制理论、过程控制工程、模糊控制器理论与应用


  • 压缩、编码、加密 —— 数论、抽象代数、现代编码技术、信息论与编码、数据压缩导论、应用密码学、音频信息处理技术、数字视频编码技术原理


现在你发现,原来FPGA会涉及到那么多知识,你可以选一个感兴趣的方向,但是工作中很有可能用到其中几个方向的知识,所以理论还是学得越多越好。如果你要更上一层,数学和英语是不可避免的。




4.6 学会使用MATLAB仿真


设计FPGA算法的时候,多多少少都会用到MATLAB,比如CRC的系数矩阵、数字滤波器系数、各种表格和文本处理等。


此外,MATLAB还能用于调试HDL(用MATLAB的计算结果跟用HDL算出来的一步步对照,可以知道哪里出问题)。推荐的教材是《MATLAB宝典》和杜勇的《数字滤波器的MATLAB与FPGA实现》。




4.7 图像处理


Photoshop


花一、两周的时间学习PS,对图像处理有个大概的了解,知道各种图片格式、直方图、色相、通道、滤镜、拼接等基本概念,并能使用它。这部分是0基础,目的让大家对图像处理有个感性的认识,而不是一上来就各种各样的公式推导。推荐《Photoshop CS6完全自学教程》。


基于MATLAB或OpenCV的图像处理


有C/C 基础的可以学习OpenCV,否则的话,建议学MATLAB。这个阶段下,只要学会简单的调用函数即可,暂时不用深究实现的细节。推荐《数字图像处理matlab版》、《学习OpenCV》。


图像处理的基础理论


这部分的理论是需要高数、复变、线性代数、信号与系统、数字信号处理等基础,基础不好的话,建议先补补基础再来。看不懂的理论也可以暂时先放下,或许学到后面就自然而然地开窍了。推荐《数字图像处理》。


基于FPGA的图像处理


把前面学到的理论运用到FPGA上面,如果这时你有前面第七个阶段的水平,你将轻松地独立完成图像算法设计(图像处理是离不开接口的,上面第五个阶段有讲)。推荐《基于FPGA的嵌入式图像处理系统设计》、《基于FPGA的数字图像处理原理及应用》。


进一步钻研数学。要在算法上更上一层,必然需要更多的数学,所以这里建议学习实分析、泛涵分析、小波分析等。




5 其它问题


5.1 为什么不推荐学习MicroBlaze等软核?


性价比不高,一般的软核性能大概跟Cortex M3或M4差不多,用FPGA那么贵的东西去做一个性能一般的CPU,在工程上是非常不划算的。不如另外加一块M3。


加上软核,可能会影响到其它的逻辑的功能。这是在资源并不十分充足的情况下,再加上软核,导致布局布线变得相当困难。软核不开源,出现Bug的时候,不容易调试。工程上很少使用,极有可能派不上用场。




5.2 为什么不推荐0基础学习ZYNQ或SOC?


入门应该学习尽量简单的东西,要么专心学习ARM,要么专心学习FPGA。这样更容易有成就感,增强信心。


ZYNQ和SOC的应用领域并不广,还有很多人没听过这种东西,导致求职的不利。开发工具编译时间长,浪费较多时间。绝大多数工作,都只是负责一方面,也就是说另一方面,很有可能派不上用场。




5.3 为什么已经存在那么多IP核,仍需写HDL?


问这种问题的,一般是学生,他们没有做过产品,没有遇到过工程上的问题。IP核并非万能,不能满足所有需求。尽量少用闭源IP核,一旦出问题,这种黑匣子很可能让产品难产。


深入理解底一层次,可以更好地使用高一层次。该法则可以适用于所有编程语言。



声明:本文转载自大鱼机器人,如涉及作品内容、版权和其它问题,请于联系工作人员,我们将在第一时间和您对接删除处理!


学习FPGA,就业范围有哪些方面?

部分FPGA学习爱好者在转入这一行业之前,都会发出这么一个疑问,学习FPGA,就业如何,就业的范围和前景如何?有没更具体一点的分享和讲述?其实,想要一个更具体的岗位描述,有个简单快捷的方法就是找一些大型专业的招聘网站输入“FPGA”进一步了解相关的岗位信息。当然,作为招聘企业都是具体到某一项工作对能力有具体的要求,从大范围来看,FPGA的行业应用主要包括以下几大方面。一、通信行业通常情况下,通信行业综合考虑成本以及运营等各方面的因素,在终端设备数量比较多的位置,FPGA的用量比较大,基站最适合使用FPGA,基站几乎每一块板子都需要使用FPGA芯片,目前,5G宏基站中都在使用FPGA。无论是在边缘(eFPGA)还是在云(FPGA)中,可编程技术都将在刚刚开始的5G数据爆炸式增长中扮演关键角色。FPGA可编程的核心特性与 5G无线网络对灵活性、性价比和智能化的需求不谋而合。因此,很多高校方面选读通信工程专业的同学,如对FPGA有更浓厚的兴趣,可进一步学习FPGA相关的知识。二、数据中心FPGA已经在大型数据中心得到大规模应用,比如,微软就在自家的数据中心里部署了上百万个 FPGA 加速卡,用来对网络功能进行卸载和加速。亚马逊 AWS、阿里云、腾讯云,百度云等公有云提供商,也在自家的公有云数据中心里部署了 FPGA 硬件加速实例,比如 AWS 的 EC2 F1 实例等。我们在生活中经常听到的数据采集就是“高速公路的数据采集”。为何是FPGA,而不是ASIC。这是因为数据中心的计算任务是灵活多变的,而 ASIC 研发成本高、周期长。好不容易大规模部署了一批某种神经网络的加速卡,结果另一种神经网络更火了,钱就白费了。FPGA 只需要几百毫秒就可以更新逻辑功能。FPGA 的灵活性可以保护投资。连微软 FPGA 的玩法其实也在不断变化。数据中心是租给不同的租户使用的,如果有的机器上有神经网络加速卡,有的机器上有 Bing 搜索加速卡,有的机器上有网络虚拟化加速卡,任务的调度和服务器的运维会很麻烦。使用 FPGA 可以保持数据中心的同构性。三、工业物联网物联网在工业中的应用被称为工业物联网,工业物联网将具有感知、监控能力的各类采集或控制传感或控制器以及泛在技术、移动通信、智能分析等技术不断融入到工业生产过程各个环节,从而大幅提高制造效率,改善产品质量,降低产品成本和资源消耗,最终实现将传统工业提升到智能化的新阶段。从功能领域来看,连接和智能是其主要的两大特性,而FPGA的可编程性和灵活性,使FPGA产品在工业物联网发展运作中发挥着关键作用。FPGA在工业互联网的应用领域聚焦在五个方面:工业网络通信,机器视觉,工业机器人,边缘计算,工业云。四、自动驾驶自动驾驶是近年来越演越烈的商业契机,而且,也将是社会发展的一种趋势。对技术的要求在各方面都要求高,反应迅速,要用到摄像头、雷达和激光雷达。人工智能芯片是必须的。由于FPGA的灵活性,很多使用通用处理器或 ASIC难以实现的底层硬件控制操作技术,利用 FPGA 可以很方便地实现。这个特性为算法的功能实现和优化留出了更大空间和可修改性。同时 FPGA 一次性成本(光刻掩膜制作成本)远低于 ASIC,在芯片需求还未成规模、深度学习算法暂未稳定,需要不断迭代改进的情况下,利用 FPGA 芯片具备可重构的特性来实现半定制的人工智能芯片是最佳选择之一。五、AI领域的应用5G时代,人工智能领域的需求呈现持续快速爆发式增长。基于CPU的传统计算架构无法充分满足人工智能高性能并行计算的需求,FPGA是低功耗异构芯片,开发周期快,编程灵活,在AI领域应用广泛。此外,FPGA在安防,工业等领域也有着比较广泛的应用,比如安防领域的视频编码解码等协议在前端数据采集和逻辑控制的过程中可以利用FPGA处理。另外,在军工以及航天领域也有比较广泛的应用,如安全通信、雷达和声纳、电子战;测试和测量领域,如通信测试和监测、半导体自动测试设备、通用仪表。


FPGA、OpenCV和单片机怎么选

单论行业前景的情况下优先级如下:


  1. 首选FPGA;
  2. 其次是OpenCV;
  3. 最后是51和STM32;

下面是自己对这三个行业的一点见解。


1.FPGA

学习难易:FPGA的学习成本非常高,FPGA没有什么封装好的片内资源给你用,都是你需要什么就写什么,而且对于使用者的英文学习程度有一定的要求;FPGA很少有靠谱的资料和教程,市面上做FPGA教程的,拿来入门还可以,但是做到开拓性的工作基本上只有官方的文档和论文能查询,而且学习的时间成本很高,单片机编译烧录基本上在几分钟之内就可以完成,但是FPGA上稍微成规模的设计一次综合实现都要在30分钟以上。


求职方面:FPGA的准入门槛相对比较高,很多招聘的硬性要求都是硕士学历以上,在这一点上很多人都难以达到这个标准,通常FPGA相对成本较高,很多私企因为产品成本问题没有从事这方面的工作岗位,相对军工业,大型企业,研究所才有这些对应的岗位,虽然竞争人数相对的少,但是工作岗位也相对的少。


2. OpenCV

机器视觉基本上已经算是纯软件了,很多CS班科出来的也会搞,相对来说竞争比较大,另外搞机器视觉和图像处理需要对机器学习的算法有所进阶。


求职方面:一般做机器视觉监测、图像处理识别等的公司可能会有需求,比如虹软、微模式、理光,很多大公司也有图像处理技术研发的需求。OpenCV只是其中的一点吧,最好还要会点Matlab、图像处理理论。现在人脸识别逐渐融入人们的生活中,涉及的领域广,而且需求非常的多,前景还是非常的不错的。


3. 51和STM32

学习难易:单片机的学习资料非常多,官方的源码库也很丰富,只要沉下心来入门,如果是学生的话就去参加比赛做个设计拿个奖,如果是转业者就多做几个实战项目;能够使用片内的大部分资源基本上就可以了。


求职方面:单片机入门槛低,不论是本科、大专、中专或者是更低的学历都可以学会,只要你够努力,所以相对应的竞争会比较的激烈,FPGA和OpenCV的天花板都会比单片机要高。但是单片机的工作岗位会远远多于它们,大多数学单片机的人员都是为了找份工作,混口饭吃,至于后面要搞到什么程度就看个人的努力了,而且单片机的高端人才的收入并不见得会比其它们低。


全球半导体设备行业一片繁荣,22 年展望乐观。根据SEAJ,22 年1月份日本半导体设备销售额同比增长69.4%,创下历史新高。受益于旺盛的下游需求,全球半导体设备龙头21 年业绩亮眼。多家公司预期22 年全球WFE 将达到1000 亿美元以上,增速20%左右;22 年半导体测试设备同比增长10-20%。当前多家国际半导体设备龙头产能利用率达到100%以上,在手订单饱满,部分公司排产已经到23 年。


总的来说,FPGA都不是电子专业学生入门自学的首选,但是读研以后,如果你的导师有项目支撑你再去学习效果会比较好;而对于用人单位来说,就算是卡硕士学历,也很难找到自己心仪的工程师,很多行业在卡学历时都有一个矛盾,一纸学历有时候能够说明很多东西,而有时候能够证明的东西又太少了。如果是社会转业者那FPGA就不要去想了。而且现在我们的芯片被围堵的情况下,国家加大力度发展半导体等行业,对于从事单片机行业的人员来说机会也会变多。


希望以上的知识能够给大家提供帮助,这期我们先分享到这里,觉得有用的可以给华维点个赞关注一下!




想要一起学习单片机的朋友,评论”我要入门“,有惊喜,加入我们,就可以与导师一对一互动,快速成长


【学习FPGA必看】一个FPGA小白的自述

知道明德扬科教是一个偶然,但后来耐心看完明德扬知识大串讲系列视频却是一个必然。因为做得用心,所以看得放心。




本人是一个纯FPGA小白,就连FPGA这个名词我都是最近才知道,所以如果你也正想入门学习FPGA的话,请耐心看下去吧,相信你看完绝对不会后悔。




因为最近参加了一个集成电路类的比赛,需要用FPGA进行功能的实现,无奈我们专业目前还没有开设这门课,于是就只能自己开始着手自学了。经过我们老师的推荐,我第一次了解到了明德扬科教,了解到这样一个这么纯粹做技术和教育的机构,免费看完潘老师知识大串讲系列视频后颇有感触,下面我来向大家分享一下作为一个FPGA小白的学习经历吧!




首先大家可能会疑问学习FPGA需要什么基础知识,实话告诉你,基本不需要。我在学习FPGA之前除我们专业开设的模拟电子技术课外,自己只是自学了一下51单片机开发和数字电子技术的一些最简单基础的东西,最后发现用到的就是一个二进制和一些基本的门级电路知识,其次就是一种编程思维的培养,但我相信作为想学FPGA的你应该也多少具备一些这类知识吧。如果没有的话不妨简单看看吧。


视频的六个部分




知识大串讲系列视频一共由六个部分组成,分别是:学习误区、FPGA知识大串讲、组合逻辑、D触发器、时序逻辑和FPGA时序。每个视频针对性地讲一个小点,条理清楚,逻辑清晰,由浅入深,循序渐进,非常适合新手入门。这套视频不像其他有些视频一样很冗长,让人一看到视频的时长就望而却步,这套视频最长的不过半个小时,最短的也就五分半,让人看着不会觉得很枯燥。日常刷一个小视频的时间而已,而且还能学会很多东西,何乐而不为呢?




明德扬知识大串讲系列视频的知识体系




大家可能还会疑惑一个问题:在这么短的时间内真的能学到知识吗?




诚然,在如此短的时间内想要掌握一门技术有些不太实际,但我看完视频的经历告诉我,这套视频只要你认真看,理解潘老师讲的每一个细节,看不明白的地方就反复看看,再结合自己的理解思考一下,有些问题你就会恍然大悟。而且视频中有些言语非常地道幽默,所以也很让人容易理解接受。另外潘老师每个视频只针对一个小点进行讲解和分析,所以也很容易听懂,当然大家也不要有会听不懂的顾虑了。当然,对于能力比较强的初学者来说1.5倍速播放可能更适合你!




大家都知道,一个工程的好坏不在于代码量的多少,不是说实现一个功能用的代码越少越好。评价一个工程的好坏要看综合出来的电路,如果一个工程所在效率满足的前提下,所调用的资源最少、可维护性高、拓展性强、代码精简便于阅读,那么这就是一个好的工程。关于代码,潘老师在视频中也详细教了一些方法和思维,以下是我学习后的一些思考和总结。




不要试图用软件思维去编写代码。因为软件思维是在单片机编写程序时运用广泛的一种思维,主要通过一些串行或并行输出的代码去控制单片机处理一些问题,这样就会涉及到一些诸如延时和初始化这样的代码,但在FPGA中则不一样,在FPGA中是电路的反应,只要一通电就开始执行。在FPGA中也没有for循环和while循环、高阻态和不定态的说法。关于时序的功能都是通过时钟来实现的。FPGA是使用Verilog语言进行编写的,Verilog中文翻译又叫硬件描述语言,不是一种设计语言。所以我们在做一个FPGA设计之前,其实已经有硬件的电路结构在头脑里面了,我们只是用Verilog语言把它描述出来而已,绝不是用Verilog设计一门电路出来,这个思维模式是完全不一样的。




FPGA中是电路的反应




软件思维编写的代码可读性较差,而且和硬件思维编写的代码比起来运行的时候更耗时。




以下是两者实现一个摄像头输入模块采集功能的代码对比:


软件思维编写的代码


明德扬规范的代码


可以看出,两种思维的代码相形见绌。用软件思维写出的代码不仅结构冗长、可读性差,而且理解起来也比较麻烦。同样是实现一个摄像头输入模块采集功能,摄像头输入过来有三个信号:时钟、使能和数据。数据分别用两个字节的二进制数的值来表示一个像素点中RGB的值,我们主要做的就是把这两个值通过一个16bit的总线输入到下一个模块。软件思维就是定义一个变量进行加一运算,而明德扬规范中就用一个取反就解决了。这只是一个简单的例子,如果不够明显的话,接下来我们来看一个稍微复杂一点的例子。




现在我们需要实现一个帧频率的计算,统计两秒钟内输入帧的个数,然后把得到的数除以2就得到一秒钟的帧频率。下面我们来一起看看这个功能用两种不同代码实现的区别:


软件思维写出的代码


明德扬规范的代码


大家不难看出,用软件思维写出的代码不仅繁杂,理解起来也比较困难,而明德扬规范的代码则显得更简洁、高效,效率也是不可同日而语的。




另外我们还不难发现一点,潘老师和明德扬规范的代码结构和语法非常简单,很多语法几乎都只是用得到了if和else这些最简单的语句,所以我们在学习语法上其实不用花费太多的时间,这也为我们新手入门降低了很多难度,节省了很多宝贵的时间。


明德扬规范的代码结构和语法


另外潘老师个人讲课也比较有特点,虽然潘老师普通话不是特别标准,但这并不影响我们对于知识和思维的学习。


潘老师研发经验非常丰富,曾在华为这种世界500强的公司工作过,做过很多项目的开发,所以实战经验丰富,讲的很多东西实用性比较强。特别是对于我这种是抱着参加竞赛的小白来说帮助很大。


我们都知道,想要提要时钟频率就要减小时钟周期,但因为D触发器和线路之间传递的那部分延时是由物理器件决定的跟器件的工艺和材料等因素有关,我们没办法进行修改,我们能做的就是对组合逻辑那部分电路的延时减到最小。这条把延时减到最小的路径也叫关键路径。


关键路径


老师在一开始就讲过在FPGA里面的电路是一通电就可以工作,指的是对于最基本的门电路而言的。于是老师就举了他在海思里面做项目的一个例子:要把一个集成电路跑到2G的频率!可想而知这需要多么小的时钟周期,他们的方法就是把所有能拆的组合逻辑都拆成了基本的门电路,甚至连选择器他们也不放过,只为了一步步提高频率。就这样一直不停地拆,直至把任何两个寄存器之间的延时缩小到最小最小,从而达到就可以达到提高时钟频率的目标,这个方法也叫流水线设计。


减小时钟周期


潘老师讲课还善于联系现实生活进行分析。在讲到关于状态机的设计时,为了将状态机设计的目和过程一目了然,于是便联系生活讲到了我们日常生活中常见的自动售货机的设计。






自动售货机的设计


并且还就这个例子讲到了代码设计的三段论格式,让设计代码显得非常实用高效,便于分析。


自动售货机代码的设计




总而言之,看完整套视频后,作为一个小白的我感觉对于FPGA有了一个大概的了解了,让原本在门外徘徊的我慢慢地就走进了门里。在这里常感谢明德扬科教提供的这个让我免费学习的机会。




以上就是我看完明德扬知识大串讲系列视频后的一些收获和总结,希望能给同样热爱学习的你带来一些启发!也让我们在学习FPGA的道路上共同进步吧!




明德扬科教专注FPGA教学和开发!




文末给大家带来一些福利,免费赠送《FPGA知识大串讲》课程供大家学习




“芯片”行业成就业新风口,该学啥专业?认准这10所大学准没错

#教育听我说#近两年,芯片作为被“卡脖子”的行业,逐渐被大家重视,各高校也纷纷开办相关专业。去年4月,清华大学成立“芯片学院”(集成电路学院);同年7月,北大、华中大成立芯片学院(北京大学集成电路学院、华中科技大学集成电路学院),短短半年,4家高校成立集成电路学院,可见专业火爆程度和重要程度。不少同学都想报考,但是又不知道“芯片专业”到底学什么、就业如何,今天给大家好好盘点一下。


01什么是“芯片”专业


目前我们所说的“芯片”专业其实是一个广泛的名字,代表和制作芯片相关的专业,实际的专业名录里是没有“芯片”专业的。而和“芯片”专业最密切的就是集成电路。去年1月,国务院学位委员会、教育部正式发布关于设置“交叉学科”门类、“集成电路科学与工程”和“国家安全学”一级学科的通知。文件指出,根据党和国家事业发展需要,按照《学位授予和人才培养学科目录设置与管理办法》规定,经专家论证,国务院学位委员会批准,决定设置“交叉学科”门类(门类代码为“14”)、“集成电路科学与工程”一级学科(学科代码为“1401”)和“国家安全学”一级学科(学科代码为“1402”)。业界透露,此前集成电路专业属于电子科学与技术下属二级学科。


02“芯片”专业都学什么


想学研发芯片类的专业,实际上可以报考的专业比较多,除了上面说的集成电路专业以外,还有一些专业也可以入行芯片研发。比如大类就是电子科学与技术,小的分类有微电子技术、微机电系统等等都可以学到芯片技术,门槛较高,本科期间与计算机专业、通信工程等专业学的课程差不多,这类专业往往是各大学的电子信息工程学院开设的专业。集成电路设计与集成系统培养具有较宽厚的自然科学理论基础知识、电路与系统的学科专业知识、必要的人文社会学科知识和良好的外语基础;具有通信、计算机、信号处理等相关学科领域的系统知识及其综合运用知识解决问题的能力;较强的科学研究和工程实践能力,总结实践经验发现新知识的能力;具有集成电路与系统设计能力和创新创业能力;掌握电子设计自动化(EDA)工具的应用;掌握资料查询的基本方法和撰写科学论文的能力,了解该专业领域的理论前沿和发展动态。集成电路设计本科会涉及大量的课程。从底层的数学基础(工程数学课,工科都要学的)、物理原理(电磁场与微波、量子力学、半导体物理、半导体器件物理)、电路原理(电路理论、模电数电、CMOS),再到中间层的计算机(C/C 、数据结构、计算机组成原理、嵌入式系统、处理器体系结构)、信号处理(信号与系统、计算方法、数字信号处理),以及高阶的课程:集成电路前端(硬件描述语言、FPGA、ASIC)、集成电路后端(芯片版图设计与优化、布局布线技术)、不同应用中的集成电路设计(放大器、电源、处理器等)。


03哪些大学开设了相关专业




1.最牛的顶层芯片领域大学:清华大学、北京大学、上海交通大学和复旦大学


清华、北大不难理解,国家每年投入海量的资金、学生也是国内最好的学霸,芯片相关专业也是国内数一数二。复旦以及上交大也都有自己的微电子学院,实力也是可以和清华、北大不分上下的。当然这四所学校要求的分数也相对高一些。




2.中科大


国内比较牛的的芯片公司寒武纪核心研发人员都是中科大的博士生,就可以看出中科大的实力。还有我们人人都听说过的龙芯,是由胡伟武研发出来的,他是中科大86级校友,现为中科院计算机研究所研究员。他带领的团队,研发了我国自主知识产权的“龙芯”系列芯片。所以中科大的在芯片研发方面的实力,不输清华、北大。




3.电子科技大学以及西安电子科技大学


国内芯片领域也出现了很多比较牛的公司,比如华为、中兴等,他们大部分人才都来自于电子科技大学和西安电子科技大学。这些学校成了芯片领域培养人才最多的高校,也是我们国内芯片研发人才的主力军。




除此之外,还有这些学校可以考虑:




电子科学与技术专业第四轮学科评估结果






04“芯片”专业就业如何?




该专业本科毕业后主要是从事集成电路研发设计、生产销售等相关工作,能够在集成电路生产企业担任芯片设计工程师、研发工程师、销售主管、运营维护经理等相关职务,具有广阔的就业途径和良好的职业发展前途。众所周知,集成电路产业是当今高新技术企业重点发展的行业,也是国家鼓励支持发展的战略性产业之一。集成电路用通俗的话来说,主要就是芯片设计等相关的技术。这个技术当前在世界上属于高尖精的行列,对于很多国家来说都是卡脖子技术。 作为今后能够从事芯片研发设计等相关工作的主要专业之一,集成电路专业毕业生在就业前景方面比较宽广,而且这一行业也是正处于朝阳行业,具有良好的发展潜力。


从事行业:


1 电子技术/半导体/集成电路


2 新能源


3 计算机软件


4 其他行业


5 通信/电信/网络设备


从事岗位:


1 硬件工程师


2 电子工程师


3 电气工程师


4 模拟集成电路设计工程师


5 高级硬件工程师


#教育听我说#近两年,芯片作为被“卡脖子”的行业,逐渐被大家重视,各高校也纷纷开办相关专业。去年4月,清华大学成立“芯片学院”(集成电路学院);同年7月,北大、华中大成立芯片学院(北京大学集成电路学院、华中科技大学集成电路学院),短短半年,4家高校成立集成电路学院,可见专业火爆程度和重要程度。不少同学都想报考,但是又不知道“芯片专业”到底学什么、就业如何,今天给大家好好盘点一下。


01什么是“芯片”专业


目前我们所说的“芯片”专业其实是一个广泛的名字,代表和制作芯片相关的专业,实际的专业名录里是没有“芯片”专业的。而和“芯片”专业最密切的就是集成电路。去年1月,国务院学位委员会、教育部正式发布关于设置“交叉学科”门类、“集成电路科学与工程”和“国家安全学”一级学科的通知。文件指出,根据党和国家事业发展需要,按照《学位授予和人才培养学科目录设置与管理办法》规定,经专家论证,国务院学位委员会批准,决定设置“交叉学科”门类(门类代码为“14”)、“集成电路科学与工程”一级学科(学科代码为“1401”)和“国家安全学”一级学科(学科代码为“1402”)。业界透露,此前集成电路专业属于电子科学与技术下属二级学科。


02“芯片”专业都学什么


想学研发芯片类的专业,实际上可以报考的专业比较多,除了上面说的集成电路专业以外,还有一些专业也可以入行芯片研发。比如大类就是电子科学与技术,小的分类有微电子技术、微机电系统等等都可以学到芯片技术,门槛较高,本科期间与计算机专业、通信工程等专业学的课程差不多,这类专业往往是各大学的电子信息工程学院开设的专业。集成电路设计与集成系统培养具有较宽厚的自然科学理论基础知识、电路与系统的学科专业知识、必要的人文社会学科知识和良好的外语基础;具有通信、计算机、信号处理等相关学科领域的系统知识及其综合运用知识解决问题的能力;较强的科学研究和工程实践能力,总结实践经验发现新知识的能力;具有集成电路与系统设计能力和创新创业能力;掌握电子设计自动化(EDA)工具的应用;掌握资料查询的基本方法和撰写科学论文的能力,了解该专业领域的理论前沿和发展动态。集成电路设计本科会涉及大量的课程。从底层的数学基础(工程数学课,工科都要学的)、物理原理(电磁场与微波、量子力学、半导体物理、半导体器件物理)、电路原理(电路理论、模电数电、CMOS),再到中间层的计算机(C/C 、数据结构、计算机组成原理、嵌入式系统、处理器体系结构)、信号处理(信号与系统、计算方法、数字信号处理),以及高阶的课程:集成电路前端(硬件描述语言、FPGA、ASIC)、集成电路后端(芯片版图设计与优化、布局布线技术)、不同应用中的集成电路设计(放大器、电源、处理器等)。


03哪些大学开设了相关专业




1.最牛的顶层芯片领域大学:清华大学、北京大学、上海交通大学和复旦大学


清华、北大不难理解,国家每年投入海量的资金、学生也是国内最好的学霸,芯片相关专业也是国内数一数二。复旦以及上交大也都有自己的微电子学院,实力也是可以和清华、北大不分上下的。当然这四所学校要求的分数也相对高一些。




2.中科大


国内比较牛的的芯片公司寒武纪核心研发人员都是中科大的博士生,就可以看出中科大的实力。还有我们人人都听说过的龙芯,是由胡伟武研发出来的,他是中科大86级校友,现为中科院计算机研究所研究员。他带领的团队,研发了我国自主知识产权的“龙芯”系列芯片。所以中科大的在芯片研发方面的实力,不输清华、北大。




3.电子科技大学以及西安电子科技大学


国内芯片领域也出现了很多比较牛的公司,比如华为、中兴等,他们大部分人才都来自于电子科技大学和西安电子科技大学。这些学校成了芯片领域培养人才最多的高校,也是我们国内芯片研发人才的主力军。




除此之外,还有这些学校可以考虑:




电子科学与技术专业第四轮学科评估结果






04“芯片”专业就业如何?




该专业本科毕业后主要是从事集成电路研发设计、生产销售等相关工作,能够在集成电路生产企业担任芯片设计工程师、研发工程师、销售主管、运营维护经理等相关职务,具有广阔的就业途径和良好的职业发展前途。众所周知,集成电路产业是当今高新技术企业重点发展的行业,也是国家鼓励支持发展的战略性产业之一。集成电路用通俗的话来说,主要就是芯片设计等相关的技术。这个技术当前在世界上属于高尖精的行列,对于很多国家来说都是卡脖子技术。 作为今后能够从事芯片研发设计等相关工作的主要专业之一,集成电路专业毕业生在就业前景方面比较宽广,而且这一行业也是正处于朝阳行业,具有良好的发展潜力。


从事行业:


1 电子技术/半导体/集成电路


2 新能源


3 计算机软件


4 其他行业


5 通信/电信/网络设备


从事岗位:


1 硬件工程师


2 电子工程师


3 电气工程师


4 模拟集成电路设计工程师


5 高级硬件工程师


:

【本文标题和网址】fpga读研读什么专业(fpga哪个专业学) www.chun1983.cn/cjxs/120914.html

页面缓存最新更新时间: 2023年06月06日 星期二
TOP