文章目录

  • 前言
  • ASIC原型验证
    • 流片
  • SOC
  • SOPC
  • 小规模产品
  • 要求功能灵活可配置的产品
  • 更新换代快的产品
  • 科研领域

前言

备注:本篇博客内容摘自于《FPGA之道》
FPGA已经从最早的只应用于辅助功能以及胶合逻辑(连接各种功能块以及集成电路的逻辑电路)的简单器件,发展到现今众多产品的核心器件。并且随着功耗和成本的进一步降低,FPGA还将进入更多的应用领域。

ASIC原型验证

ASIC,英文全称:Application Specific Integrated Circuit,翻译成中文即:专用集成电路。它是应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,它在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。

流片

随着IC设计的密度越来越高、产品的需求越来越苛刻,ASIC芯片的设计也已经变得越来越复杂,其中软件设计或软件协助设计的成分也越来越多。而把软件设计转换成为ASIC芯片的过程叫做“流片”,在集成电路设计领域,“流片”指的是“试生产”,就是说设计完电路以后,先生产几片几十片,供测试用。如果测试通过,就照着这个样子开始大规模生产了;如果测试失败,可不是简单的回头修改软件,等待再次流片这么简单。要知道,“流片”的成本是十分高昂的,如果连续两次以上“流片”都失败,那么公司很可能就会考虑取消该ASIC芯片的制造计划,因为继续下去投入的人力、物力和资金过多,即使最后“流片”成功也挽回不了损失。因此在“流片”之前,对软件设计的正确性进行充分的验证是十分且非常必要的。
而研究表明,60%以上“流片”失败的原因都是由于软件设计中存在逻辑或功能性的错误,剩下的才是时序或者功率、功耗问题。由此可见,功能验证已经成为ASIC开发周期中最最关键的环节。可是,随着ASIC密度的提高和设计复杂性的增加,对“流片”一次性成功的需求越来越迫切,而此时设计中出现错误的可能性也会越来越高,所以设计师无疑需要一种能够在短时间内发现复杂芯片设计中错误的高效验证方法。

SOC

现代的ASIC产品常包含完整的处理器、类似ROM、RAM、EEPROM或Flash的存储单元以及其他模块,因此这样的ASIC产品也常被称为SOC,即System On Chip,翻译成中文即片上系统。

SOPC

SOPC,英文全称:System on a Programmable Chip,翻译成中文即可编程片上系统。SOPC是一种特殊的SOC,因为它也是由单个芯片完成整个系统的主要逻辑功能。所不同的是SOPC所基于的单个芯片主要是可编程的FPGA芯片,所以它具有灵活的设计方式:可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。
目前Xilinx公司的FPGA芯片支持嵌入Power PC系列CPU,Altera公司也推出了自己的CPU软核nios系列,并且随着FPGA资源的爆炸式增长,只要肯尝试,我们可以将越来越多的处理器用FPGA内部的资源来实现。在FPGA芯片上嵌入软核,再配合上适当的FPGA IP核以及必要的外围存储芯片和接口芯片,这样的片上系统兼顾软件、硬件的特点,能够让开发者更加方便、灵活的实现系统需求的各种功能。因此以FPGA芯片为核心来搭建一套系统已经成为当前电路设计的一个重要方向。

小规模产品

在介绍ASIC的FPGA原型验证的重要性时,我们介绍了“流片”的概念,并且了解到“流片”的成本是十分高昂的,因此,如果某个功能模块不是能够大量销售的,或者不存在潜在大规模用户,那么通常就不会采用ASIC的形式来实现它,因为小规模的生产无法拉低ASIC芯片生产时的边际成本。例如,PC机的CPU和手机中的相关通信芯片都是ASIC的,因为它们的销售市场相当大,可以把ASIC芯片的边际成本拉到很低。若没有大批量的后续产能作为支撑,选择FPGA芯片将成为这类功能模块的一个很好的承载平台。
除此以外,有些公司由于规模较小,财力有限,也不会采用ASIC“流片”的冒险形式来实现自己的产品。虽然目前市面上的微处理器和DSP芯片发展都比较成熟,但FPGA芯片和它们相比则有着得天独厚的并行处理优势,再加上可以基于FPGA构建SOPC,因此这类公司也会对FPGA青睐有佳。
还有的公司或机构虽然财力充沛,但是由于其行业的特点,导致产品的数量相对较少——例如航天领域,同步卫星轨道资源有限,不可能任由你发射太空垃圾——因此这类行业使用FPGA也比较多。
最后还有一些公司,虽然它们的产品规模可能不小,但由于它们出售的产品本身就价格高昂,早就赚得盆满钵盈,因此也就不在乎并且也懒得用ASIC替代FPGA。

要求功能灵活可配置的产品

如果你生产的产品的应用领域不确定,也就是说它不是一个专用的设备,例如测试测量行业的某些测试仪器或测试板卡,你不知道客户会拿它去测试什么信号。而这个行业不可能针对每个客户的测试需求来生产一个专用的测试设备,但如果你的测试设备不能满足客户的要求又卖不出去,这时FPGA就派上了用场。这些厂商,一般会根据FPGA来搭建一个通用的测试平台,然后再根据客户的要求去适当的对系统进行少量的外围硬件重配置和内部FPGA的功能修改,从而快速的适应客户的需求,最终达到共赢的目的。

更新换代快的产品

数字产品的更新换代速度是异常快的,2年前一块2000大洋的伪高端显卡,即使在通货膨胀如此恶劣的环境下,游戏性能也还比不上今天一块950元的中低端显卡。当然,显卡中GPU芯片的技术非常的成熟,并且目前已经基本被NVIDIA和ATI两家公司垄断,所以显卡没有使用FPGA,这里只是通过显卡举个例子。但是类似这样的行业,有时候为了抢得先机,抢占客户,就必须使用FPGA。

科研领域

在科研领域中使用FPGA的很多,例如众多高校和科研院所,此时科研工作者们可以利用FPGA开发速度快,有很多现成的IP核可供使用的特点来快速搭建实验系统。并且可以利用FPGA并行的特点来验证某些理论、算法的可行性或者效率。尤其是科研领域最需要的就是创新性、与众不同、灵感闪现,他们要研究的主要都是现在没有的东西或者现在不成熟的东西,所以定制的电路无法为这些充满活力的大脑提供“胡作非为”的平台,此时FPGA就能成为他们的好帮手!

FPGA之道(2)FPGA应用方向相关推荐

  1. FPGA之道(82)功能仿真之仿真原理

    文章目录 前言 功能仿真篇 仿真原理 串行模仿并行思路分析 有限模仿无限思路分析 组合逻辑仿真原理 时序逻辑仿真原理 HDL的仿真原理 仿真时间与物理时间 前言 本文摘自<FPGA之道>. ...

  2. FPGA之道(79)静态时序分析(五)外部接口的相关时序分析

    文章目录 前言 外部接口相关时序分析 功能仿真对接口分析的帮助 纯输入接口 纯时钟输入接口 纯同步输入接口 纯异步输入接口 同步输入异步采集 纯输出接口 纯时钟输出接口 纯同步输出接口 纯异步输出接口 ...

  3. FPGA之道(76)静态时序分析(二)一道时序分析的例题

    文章目录 前言 一道时序分析的例题 解答一:能否正确工作分析 解答二:最大时钟速率分析 延伸二:最小时钟速率? 解答三:保持时间不足情形分析 前言 本文来自于<FPGA 之道>,在正式讲解 ...

  4. FPGA之道(59)时空变换之时域优化

    文章目录 前言 时空变换之基本概念 时空概念简介 时空变换方案 时空变换之时域优化 逻辑化简 逻辑化简讨论 空域方面的颠倒现象 时域方面的颠倒现象 逻辑化简总结 结构调整 分布调整 思路转换 提前进位 ...

  5. FPGA之道(58)关于外界接口的编程思路

    文章目录 前言 关于外界接口的编程思路 按传递方向分类 输入接口 输出接口 双向接口 原理简介 工作模式 主从模式 对等模式 简单示例 按电气特性分类 单端接口 差分接口 无线接口 按功能特性分类 时 ...

  6. FPGA之道(49)DCM与PLL

    文章目录 前言 DCM与PLL PLL模块基本端口简介 时钟输入.输出端口 时钟反馈端口 PLL锁定指示端口 PLL复位端口 PLL配置端口 DCM模块基本端口简介 时钟输入端口 时钟输出端口分类 时 ...

  7. FPGA之道(43)编写纯净的组合或时序逻辑

    文章目录 前言 编写纯净的组合或时序逻辑 组合逻辑描述方法 范例介绍 注意事项 注意语句顺序 纯时序逻辑描述方法 范例介绍 注意事项 避免敏感双沿 注意语句顺序 清晰的时序逻辑描述方法 范例介绍 无伤 ...

  8. FPGA之道(40)HDL的语法结构

    文章目录 前言 语法结构 省略与否请一致 范围方向请一致 端口声明请一致 参数声明请一致 映射方式请一致 代码缩进请一致 空格空行 注释编写 解释说明 段落分隔 代码保留 模块设计 确定好端口的顺序 ...

  9. FPGA之道(39)HDL的命名规则

    文章目录 前言 命名规则 命名要有意义 简单意义命名 复杂意义命名 一.下划线分隔法. 二.非首单词首字母大写分隔法. 多重相似命名 电平敏感命名 方向敏感命名 命名格式要统一 命名格式要区分 前言 ...

最新文章

  1. 解读Windows更新下载器文件列表(推荐)
  2. 大话PM|产品设计中常被忽视的业务异常
  3. PHP中 base64_decode与base64_encode加密解密函数
  4. Java ArrayList的实现原理详解
  5. 那些对你说学历不重要,技术重要的人,他们大部分都是有学历的。
  6. 建议看 | 计算机网络核心概念
  7. 如何切底卸载Oracle
  8. sublime html乱码,HTML5 sublime 编码出现乱码怎么处理
  9. JAVA集合一:ArrayList和LinkedList
  10. ROS的学习(十六)用C++写一个简单的服务器(service)和客户端(client)
  11. 使用Spring框架对接Twitter(一)
  12. markdown_Latex各种符号
  13. 三菱FX Q FX5U PLC 程序加密,使用ST结构化文
  14. csol永恒python属性_狗神弑神参上!CSOL缔造者新添Lua功能脚本
  15. sorted()函数
  16. httpclient
  17. 使el-input失焦
  18. 计算机四级月工资多少,大学教授工资多少一月 薪水是多少
  19. 如何判断外汇平台是否整个?MT4外汇投资靠谱吗?
  20. 安全帽识别软件能够解决现场管理中的很多问题

热门文章

  1. Cisco Catalyst 2960系列交换机资料
  2. 荣耀有鸿蒙手机吗,荣耀手机也能升鸿蒙!这5款机型用户有福了
  3. mysql sqlstate 28000_mysql ERROR 1045 (28000): 错误解决办法
  4. 路由器与计算机IP配置,路由器设置之前 如何给电脑设置IP地址
  5. vuejs和html语言一样么,vue和vue.js有区别吗?
  6. 遮掩java_关于java中的覆写、重载、隐藏、遮掩、遮蔽
  7. python pandas聚合_Python Pandas分组聚合的实现方法
  8. 智能车竞赛技术报告 | 基础四轮组 - 哈尔滨工程大学 - 济海追风5队
  9. 应用在机器学习中的聚类数据集产生方法
  10. ESP32开发板 V1.0.0 Rev1 wifi 蓝牙4MB FLASH MicroPython