• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

菜鸟求助啊~!学习FPGA是从事嵌入式那块领域吗?

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

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • CPLD適合用來實現各種運算和組合邏輯(combinational logic),FPGA則是適用於實現循序邏輯(sequential logic)

    同樣來說,都是可編程的ASIC元件,因此算IC設計領域喔,RD的話是做前端的RTL開發,主要達到IC該有的功能和規格,FPGA/CPLD就是擔任前期ASIC驗證的工作,因為一次Tape out花費都很大的,所以前期的功能和規格驗證非常重要

    前景不錯的,因為基本上ASIC需求在各領域都有,但競爭也多,要有專門的技術或者演算法

    學好的方法則和純軟設計無差別囉,就是多動手練習,多看,不懂就問

    • 发布于 2016-11-22
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 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工艺,功耗低,可以与CMOSTTL电平兼容。

    可以说,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作为微处理器的外设,由微处理器对其编程。
    • 发布于2016-11-22
    • 举报
    • 评论 0
    • 0
    • 0

  • FPGA入门学习

    第一,首先得学会其语言。个人比较推荐学习Verilog HDL,VHDL不是太推荐,因为学VHDL的人相对少一些,如果你硬是要学习VHDL的话,可能要走的路会更崎岖一点,当你遇到困难,你能求助的人会比较有限,如果你对VHDL特别有情怀的话,也可以先学习Verilog HDL再学VHDL,先入门(Verilog HDL)再锦上添花(VHDL)。

    第二,学会了编程语言,接下来最好再预习或者复习一下数电这本书,对数字电路有一个清晰的理解。

    第三,学了那么久的语法书,是不是想小试牛刀一下,现在你需要一本FPGA工具使用书籍,先理解FPGA工具的使用,试着自己不看书去编写简单代码,并在集成开发环境(比如赛灵思的Vivado和ISE)中编译通过,如果遇到报错,看看是不是语法上是不是出错了,比如少个标点或者使用了中文字符,这个阶段你只需要按照你的逻辑去编写代码,编译通过即可。

    第四,前面进行了大量的准备,现在是时候开始实战了,如果你资金充沛,可以去购买一款适合自己的FPGA开发板,一分钱一分货,有入门的也有专业性很强的开发套件。

    第五,你把前面那些路都走过了,那么恭喜你,你已经成功入门FPGA,你现在需要的是提升自己,做一些进阶性的训练。现在,你又得回归课本,去好好的学习高等数学学习算法,试着编写DDS、数字滤波器等代码,因为FPGA大多数时候是应用在大数据处理或者实时性要求高的场合中,所以,做FPGA开发算法要比较好一些。

    第六,提升自己的过程都是有一些难度的,懂得求助别人是一个非常重要的品质,期间你可以在很多论坛都可以发帖求助,比如电子创新网,DIGILENT中文技术论坛等。

    FPGA技能树

    以下是在知乎上看到的FPGA工程师的技能树(可点击放到哦),挺有意思的,看看你爬到哪儿了呢?

    FPGA就业谈

    最后说说就业。FPGA就业领域比较集中在通信、图像和一些高端设备中,进入门槛会高一些。笔者在通信行业从事FPGA开发工作,日常的主要工作职责包括修改代码以满足客户提出的需求,再或者有更高性价比的芯片出来,进行芯片的更替,除此以外,还有新机型的评估与设计。

    个人理解,FPGA开发的核心主要有三点:1、系统需求和FPGA资源评估;2、代码编写以及仿真验证;3、板上调试;这3点都需要在学习和工作中慢慢积累经验,目前有一些前沿技术对FPGA有较大需求,如对实时性准确性要求很高的无人机和机器人,还有高速摄像机等,都对当前的微处理提出了相当高的要求,FPGA是一个很不错的选择。

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

    在实践的过程中要多思考,多想想问题出现的原因,问题解决后要多问几个为什么,这也是经验积累的过程,如果有写项目日志的习惯更好,把问题及原因、解决的办法都写进去。最后还要多问,遇到问题思索后还得不到解决就要问了,毕竟个人的力量是有限的,问同学同事,问搜索引擎,问网友,都可以,一篇文章、朋友们的点拨都可能帮助自己快速解决问题。

    • 发布于2016-11-22
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

菜鸟求助啊~!学习FPGA是从事嵌入式那块领域吗?