嵌入式学习小组
直播中

华一颖

7年用户 181经验值
私信 关注

学习FPGA是从事嵌入式那块领域吗?

本人今年刚接触EDA,学习VHDL,FPGA/CPLD,最菜得是我对这些名词的属性都还不了解。VHDL是硬件语言,FPGA/CPLD是想单片机一样的芯片吗?那如果我以后从事VHDL那是算计算机里哪个领域的工作啊,是嵌入式吗?我能做什么工作?工作是属于什么性质?FPGA的发展前景怎么样?学好能找到工作么?怎么学好?

回帖(2)

刘宇

2020-6-3 14:42:13
云汉达人 邀请回答
FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成威廉希尔官方网站 (ASIC)领域中的一种半定制威廉希尔官方网站 而出现的,既解决了定制威廉希尔官方网站 的不足,又克服了原有可编程器件门威廉希尔官方网站 数有限的缺点。

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:
1)采用FPGA设计ASIC威廉希尔官方网站 ,用户不需要投片生产,就能得到合用的芯片。 --2)FPGA可做其它全定制或半定制ASIC威廉希尔官方网站 的中试样片。

3)FPGA内部有丰富的触发器和I/O引脚。

4)FPGA是ASIC威廉希尔官方网站 中设计周期最短、开发费用最低、风险最小的器件之一。

5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的威廉希尔官方网站 功能。因此,FPGA的使用非常灵活。
FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。​
举报

杨柳

2020-6-3 14:51:22
云汉达人 邀请回答

FPGA入门学习
第一,首先得学会其语言。个人比较推荐学习Verilog HDL,VHDL不是太推荐,因为学VHDL的人相对少一些,如果你硬是要学习VHDL的话,可能要走的路会更崎岖一点,当你遇到困难,你能求助的人会比较有限,如果你对VHDL特别有情怀的话,也可以先学习Verilog HDL再学VHDL,先入门(Verilog HDL)再锦上添花(VHDL)。
第二,学会了编程语言,接下来最好再预习或者复习一下数电这本书,对数字威廉希尔官方网站 有一个清晰的理解。
第三,学了那么久的语法书,是不是想小试牛刀一下,现在你需要一本FPGA工具使用书籍,先理解FPGA工具的使用,试着自己不看书去编写简单代码,并在集成开发环境(比如赛灵思的Vivado和ISE)中编译通过,如果遇到报错,看看是不是语法上是不是出错了,比如少个标点或者使用了中文字符,这个阶段你只需要按照你的逻辑去编写代码,编译通过即可。
第四,前面进行了大量的准备,现在是时候开始实战了,如果你资金充沛,可以去购买一款适合自己的FPGA开发板,一分钱一分货,有入门的也有专业性很强的开发套件。
第五,你把前面那些路都走过了,那么恭喜你,你已经成功入门FPGA,你现在需要的是提升自己,做一些进阶性的训练。现在,你又得回归课本,去好好的学习高等数学学习算法,试着编写DDS、数字滤波器等代码,因为FPGA大多数时候是应用在大数据处理或者实时性要求高的场合中,所以,做FPGA开发算法要比较好一些。
第六,提升自己的过程都是有一些难度的,懂得求助别人是一个非常重要的品质,期间你可以在很多william hill官网 都可以发帖求助,比如电子创新网,DIGILENT中文技术william hill官网 等。
FPGA技能树
以下是在知乎上看到的FPGA工程师的技能树(可点击放到哦),挺有意思的,看看你爬到哪儿了呢?

FPGA就业谈
最后说说就业。FPGA就业领域比较集中在通信、图像和一些高端设备中,进入门槛会高一些。笔者在通信行业从事FPGA开发工作,日常的主要工作职责包括修改代码以满足客户提出的需求,再或者有更高性价比的芯片出来,进行芯片的更替,除此以外,还有新机型的评估与设计。
个人理解,FPGA开发的核心主要有三点:1、系统需求和FPGA资源评估;2、代码编写以及仿真验证;3、板上调试;这3点都需要在学习和工作中慢慢积累经验,目前有一些前沿技术对FPGA有较大需求,如对实时性准确性要求很高的无人机和机器人,还有高速摄像机等,都对当前的微处理提出了相当高的要求,FPGA是一个很不错的选择。
最后简单说一下体会吧,归结起来就多实践、多思考、多问。实践出真知,看100遍别人的方案不如自己去实践一下。实践的动力一方面来自兴趣,一方面来自压力,我个人觉得后者更重要。有需求会容易形成压力,也就是说最好能在实际的项目开发中锻炼,而不是为了学习而学习。
在实践的过程中要多思考,多想想问题出现的原因,问题解决后要多问几个为什么,这也是经验积累的过程,如果有写项目日志的习惯更好,把问题及原因、解决的办法都写进去。最后还要多问,遇到问题思索后还得不到解决就要问了,毕竟个人的力量是有限的,问同学同事,问搜索引擎,问网友,都可以,一篇文章、朋友们的点拨都可能帮助自己快速解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分