FPGA对绝大多数的人来说相对有些陌生。经常有朋友问我,你们成天搞的这个 FPGA 到底是什么东西。

我想很难用一两句通俗易懂的语言解释什么是 FPGA,因为当今的 FPGA 已经是一个非常复杂的系统了。打个比喻来说,对于热爱乐高的人来说 FPGA 设计就像搭积木,对于爱涂鸦的我来说 FPGA 就像是一张精密的画布。借助赛灵思这样的 FPGA 厂商提供给设计师的易用的“画笔”,有创意的设计师就能根据需求创作自己心仪的作品。


那么这张画布有什么好处呢?且听我 一 一 道来:

易用性:对“画家”来说,FPGA 令人生畏的地方,就是只有“硬件工程师使用”的硬件可编程模式。硬件描述语言虽然硬件发展了30多年,但是由于 HDL 是一种用形式化的语言描述极其复杂的数字系统的,抽象级别较低,因而大大提高了编程难度,限制了FPGA 的推广和普及。其次随着系统级 FPGA 和片上系统(SoC)的出现和迅速发展,FPGA 开发已不再单单只是一个模块的“编程”工作。系统设计,软硬件协同设计变得越来越重要,这也大大提高了“准入”门槛。

然而,“山穷水复疑无路,柳暗花明又一村” 觊觎 FPGA 的优势又苦于无法不会使用的软件和系统工程师们, 现在可以再次把FPGA 开发提到日程上来了, 因为赛灵思在解决“易用性”问题上已经迈出了几大步,其中包括:

赛灵思 2012 年就发布了 Vivado 设计套件集成环境,大大简化了 FPGA 的开发流程,使画家的画笔更好用更易用。

HLS (High level Synthesis,高层次综合)工具给“画家”提供了新的画笔——可以直接用抽象级别更高的c/c++进行硬件编程。

SDSoC(Software Defined SoC)顾名思义,软件定义的SoC。它赋予了系统设计极高的灵活性,将设计灵活地在PS(ARM processor)/PL(可编程逻辑)进行分配。

System Generator 作为 matlab/simulink 的插件,使算法仿真和 FPGA 设计进行 bit 级的无缝连接。

还有最近 赛灵思最近推出的又一力作 Module Composer,极大地提高了算法仿真速度,并降低了在FPGA上实现复杂算法的门槛。

当然,赛灵思新的 CEO 在3月19日刚刚发布的ACAP (自适应计算加速平台)这个超越 FPGA 的新型产品,更是为 FPGA 在软件和算法工程师中的普及描绘了一个美好的蓝图。


系统级:当今 FPGA 技术飞速发展,FPGA 早已经不是只能做 glue logic(胶合逻辑)或者 I/O 连接的硬件电路的一部分了。FPGA 越来越成为开发各种应用的系统中最核心的一部分了。除了PL(可编程逻辑),赛灵思还集成了 PS(ARM processor),以及各种高性能的硬核。2017年,我想业内最爆炸的新闻莫过于“Xilinx公布了基于16nm工艺的Zynq UltraScale + RFSoC 产品系列”。Xilinx 将高性能的 ADC/DAC 集成在 FPGA 中,这就相当于赛灵思 FPGA 不仅提供了精密的画布还提供了华美的边框,用户不再需要额外布置片外的 ADC/DAC 芯片和相应的模拟电路,就可以在数字与模拟之间自由切换。这个创举不仅在功耗/成本/面积上带来巨大的优势,还给用户(设计者)带来了极大的方便。(FPGA工程师轻呼一口气,终于可以扔掉恼人的 JESD 了)

功耗:如果对某个成熟的算法或者技术,已经有某种成熟的 ASIC 可以满足需求,我就不建议考虑 FPGA了。因为无论是价格还是功耗,FPGA 都可能略逊一筹。但是对于那些喜欢与众不同,喜欢用差异化甩开竞争对手, 并希望自己的设计能够与时俱进、灵活应变的企业,FPGA 就是你最佳的选择。

随着科技的飞速发展,技术的更新迭代,昨天成熟的技术今天可能就已经过时了,这正是可重配置的“万能”芯片 FPGA 的时代。当然, 如前所述,当今的 FPGA 是一个片上的系统,如果从整体系统的角度来看,FPGA 在性能功耗比上无疑都有着巨大的优势。


总之,同十年前相比,FPGA 的开发和使用的难度已经大大降低了。赛灵思已经不再满足于只向用户提供业界最领先的“画布”,它还提供了一整套的生态环境和解决方案,力争使设计者玩 FPGA  玩出乐高乐趣,玩出大师级画家的精彩。 通过简单的“插”“拔”,使用户更容易的完成系统级的 masterpiece。

DSP专家给你一个选择FPGA的理由(让人看了热血沸腾的一篇科普文章)相关推荐

  1. 一个叫花子的故事(十个人看完十个人开悟)

    一个叫花子的故事(十个人看完十个人开悟) 从前有一个叫花子,每天出门乞讨,他很想过正常人的生活,于是他把乞讨粮食积攒起来.可是他积攒了好多年,他的粮仓还是只有一点米. 一天夜里,他悄悄地躲在角落,果然 ...

  2. 信迈TI OMAP-L138(定点/浮点DSP C674x+ARM9) + Xilinx Spartan-6 FPGA开发板规格书

    1 评估板简介 基于TI OMAP-L138(定点/浮点 DSP C674x+ARM9)+ Xilinx Spartan-6 FPGA处理器: OMAP-L138 FPGA 通过uPP.EMIFA.I ...

  3. keras 自定义层input_从4个方面介绍Keras和Pytorch,并给你选择其中一个学习库的理由...

    全文共3376字,预计学习时长7分钟 对许多科学家.工程师和开发人员而言,TensorFlow是他们的第一个深度学习框架. TensorFlow 1.0于2017年2月发布:但客观来说,它对用户不是非 ...

  4. (102)FPGA面试题-如何选择FPGA型号?

    1.1 FPGA面试题-如何选择FPGA型号? 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-如何选择FPGA型号: 5)结束语. 1.1.2 本节引言 ...

  5. 使用C#在VS窗体应用中调起一个选择框,完成图片替换

    调起一个选择框 此窗口不是window窗口,是C#设计出来的,默认打开选择框在文档 前期准备: 首先创建WinForm窗体应用,在Form1中设置一个button按键,再设置一个pictureBox图 ...

  6. android 筛选电影,Movie - 该看什么电影呢?这几个小程序或许能给你一个选择 - Android 应用 - 【最美应用】...

    如果你也遇到了这一问题的话,不妨看一看这篇电影小程序专辑,让你不在为看什么电影而发愁. 毒舌Pro 如果你对电影足够热爱,你一定听说过「 Sir电影 」微信公众号,而「 毒舌Pro 」则就是它们所做的 ...

  7. 矿大计算机学院徐慧,【导师制进行时】徐慧:给学生一个选择的权利

    这几年,在中国矿业大学(北京)的校园里,"导师"这个称呼对每一位本科生来说都不再遥远陌生,不需要等到考取硕士研究生,刚刚迈入大学的那一天,他们就已经幸运地拥有属于自己的导师了. 在 ...

  8. 微信 10 年,张小龙的 7 个逻辑和一个选择

    摘要 微信为何依旧是那个小而美的产品? 可能少有人知道,当年出现在微信 4.2 版本开屏页的文字是出自张小龙之手. 也少有创始人会劝用户少用自己的产品,但张小龙却在那次开屏页写到:「放下手机,少发微信 ...

  9. 一个选择,错过了也就错过了!

    人生就是一个一个,不断的择! 择喜欢的东西, 择不喜欢的东西, 不得不择不喜欢的东西. 择兴趣,择专业, 择工作,择创业, 择对象,择婚姻, 每一个选择,通往不同的道路! 时后悔,时坚定,时坚持! 时 ...

最新文章

  1. JAVA开发Web Service几种框架介绍
  2. 拾取物品怎么实现_Dynamo如何实现图层的效果
  3. 感知机中任一点到超平面的距离的公式推导
  4. vba将数值转化文本格式_Excel文本格式和数字格式的相互转换
  5. 前端学习(3312):redux的正确构建
  6. html多个单元格合并单元格内容,excel怎样快速把多个单元格内容合并 合并多个单元格内容的设置方法...
  7. php 查找键名,array_key_exists()函数搜索数组键名步骤详解
  8. 22 MM配置-采购-采购信息记录-定义编码范围
  9. jQuery的hide() 、show() 、toggle()
  10. Oracle数据库的创建、数据导入导出
  11. 产能不足?英特尔DG2 GPU将采用台积电7nm工艺
  12. java 删除zip文件_Java--字节缓冲流的效率有多高?测试一下
  13. 使textarea支持tab缩进
  14. 解决PyScripter中文乱码问题
  15. android局域网调试无法安装,真机调试出现:INSTALL_FAILED_USER_RESTRICTED 安装错误解决方案...
  16. assert函数_类成员函数指针在成员函数内部的调用
  17. Android播放器
  18. 小程序报错 出现脚本错误或者未正确调用 Page()
  19. android自定义控件
  20. idea java文件重命名_IDEA项目重命名的操作

热门文章

  1. asp.net 取得上一页的url
  2. 编译安装mysql带boost_编译安装mysql时报缺少boost1.59后,编译安装boost1.59
  3. android viewpager 复杂指示器_View Pager 性能优化之 无限循环
  4. android 共享代码,Android团队成员间的代码共享!(Git+Github版)
  5. android omx,android OMX相关4:编码输入线程和输出线程
  6. python 内存回收机制_Python垃圾回收机制是什么
  7. libsybcomn64.dll php,libsybcomn.dll下载|
  8. php 获取手机品牌,三到五年内,这家品牌要冲刺手机市场第一梯队
  9. java 取得textfield_怎样获取java中textfield的内容
  10. 看直播赢大奖-智能物流技术培训