(本文转载自:fpga2嵌入式;在此特别鸣谢!)
很多人对fpga理解还停留在cpld阶段,认为fpga只是用来做一些逻辑接口或算法而已,那就大错特错了,如果你一直做fpga的逻辑而又不是很精通,又或者做其它嵌入式(如单片机、arm)开发可以看下这篇文章,或许对你有所帮助。
1. 如果你是学习数字电路后,直接入行fpga的话
你比较容易吃透fpga的并行编程思想,比较容易入门fpga的逻辑编程,然后在逻辑编程中越走越远,最后成为逻辑大牛,这样的人大有人在,但是也有很多 人成不了大牛,然后就去学习zynq,其实不太建议直接去学习zynq,因为 zynq的门槛比较高,需要的基础知识比较多,而此时你只是逻辑并行编程厉害,串行世界处理器的c编程你或许是个小白,更不说操作系统的编程应用。
此时,建议你去学习下单片机c编程,学习单片机原理,吃透微处理器原理,然后在fpga中使用nios等软核进行编程及应用。在这里,有很多人是按照教程使用软核的,导致最直接的后果就是微处理原理没吃透,学起来很累也很死板。如果你学的比较深的话,你会发现所有的微处理器基本都是基于soc架构相连的,简单说就是通过总线互联fpga的软核、外设及自己编写的逻辑。
当你把逻辑、微处理器、操作系统都理解了,还会点高级语言编程的话(建议学下qt、python),你就可以自由组合这些资源来开发自己的项目:可以通过fpga来开发项目,规划好彼此的分工协作(使用fpga的软核或者硬核处理器搭建处理器平台);也可以集fpga和单片机或arm来开发项目。
当然,你也可以走另外一条路:做ic开发,ic开发还是比较难,但是由fpga转入ic开发还是比较轻松的,也是为中国“芯”贡献力量。
2. 如果你是从事单片机/arm开发的话
你一般就业面很广,但时时刻刻会听到或接触fpga,这很正常,因为fpga这些年一年比一年好,很有可能以后都是用c来开发fpga。并且你会发现fpga待遇高的一逼,你有点慌了,想要学习fpga,此时问题来了:单片机/arm的开发一直是串行思维,你发现你根本很难入门fpga,更谈不上灵活使用,看看verlog和c没俩样,但为什么就是用起来这么难用,你可能就这样放弃学fpga,在单片机/arm上越走越远,最后可能做了项目经理,但每次项目要用到fpga时总感觉差点什么,而且所做的项目档次也没有fpga高,是不是?
其实,这是很正常,虽然你很擅长串行思维思考你的架构,但缺少并行思维的你离高端就是差很多。要从单片机/arm转入fpga开发,你需要摆脱以前学的东西,不用单片机、arm的思维来学习fpga,这是第一步,这有这步做好了后后面才有可能,然后就是拿起数电,从头开始学习fpga的逻辑,切记:此时一定不能用以前的经验来学,要摸索并行的思维方式来学。
当你迈过最艰难的fpga逻辑学习后,基本成功一大半,此时学习下soc总线,结合以前学习的单片机.arm。你就会变的越来越厉害,对嵌入式和系统理解收获更多,以后从事人工智能或者大数据就很容易。如果你对ic感兴趣,入行ic也行,但是不太建议,因为此时的你强项仍然是串行嵌入式思维方式。
3. 本文为什么以fpga来说嵌入式的出路
因为,做嵌入式的最终做好的最终出路肯定是做项目研发的系统架构开发,那些螺丝钉的开发人员遍地都是,而能做系统的人很少,做系统的最大境界就是会灵活使用多种思维方式来思考项目、产品和开发。fpga正是一个很好把各种思维方式结合的嵌入式工具:
fpga的逻辑:并行加速思维方式;
fpga的软核或硬核处理器:串行思维方式;
fpga:软硬件协调合作思维方式,类似项目开发初期取舍优化。
本文转载自:fpga2嵌入式
铁路线路冲击状况检测系统的设计方案
USB2.0设备接口IP核的设计实用性分析
努比亚M2畅玩版拆解教程
中欣晶圆混改和扩产增资轮投资完美收官
耐能收购OTUS(欧特斯)公司,加速智能驾驶应用
为什么以FPGA来说嵌入式的出路 FPGA属于嵌入式吗
怎么设计一个32位超前进位加法器?
电商支付是怎样被生物识别改变的
基于RISC技术的8位微控制器设计
多土层土壤参数监测仪的详细介绍
浙大科学家用“彩虹”造出全球最小光谱仪,成本降低数千倍
AI医疗想要落地 还要看医疗与大数据的结合
华为Mate 9保时捷版开箱谍照:简直帅到颜值炸裂
工业自动化领域如何降低机器人风险
热水器泄压阀安装位置_热水器泄压阀一直流水
热保护器和温控器的区别
虚拟网络流量的采集与分析有什么作用?应该怎么做?
Xilinx KU系列三速以太网IP核RGMII时序约束方法
调频发射又一新招
Bebop无人机目标跟踪与运动控制环境搭建