原创 Jimfan的FPGA实践笔记(一) — FPGA的特点和应用范围

2013-1-8 21:59 1509 4 6 分类: FPGA/CPLD 文集: FPGA实践笔记

    自从三年前毕业后参加工作,一直从事着FPGA或者和FPGA相关的工作。现在本人就这几年的经验,来谈谈FPGA的应用范围和其特点。

    FPGA的全称是Field Programble Gate Array,译成中文是一个稍显蹩脚的名字:现场可编程门阵列。这么一个拗口的名字是什么意思呢?下面本人来做一个感性的解释:) 现场可编程门阵列,这里的现场是什么意思呢?OK,现场的意思呢就是马上,当场的意思,意思就是你要设计的电路经过综合,布局布线后的bit文件可以马上下载到FPGA里,然后在FPGA里发挥作用。可编程的意思就不用说了,就是这个芯片是可以反复“擦写”(套用一下MCU或者DSP的常见概念)的。那么门阵列呢?门阵列是什么意思?学过电子类专业的人都知道,只要是数字电路,一定会涉及到“门”这个概念,在数字电路中,要实现一个功能,就要有各种门组成一定的逻辑来实现,这个各种门可以是异或门,与非门,多路复选器等。因此,门阵列这里的意思就是FPGA里有这种门阵列(往深里讲,实际上在FPGA里实现组合逻辑功能的基本上还是LUT),而且是可编程的,用户可以使用FPGA里的门阵列来实现你想要实现的功能。粗浅的解释了一下这个概念,博主心想,这个FPGA的发明者可真够**的,起了个这么拗口但是又贴切无比的名字!

    下面博主来讲讲FPGA的应用范围。博主一直从事通信系统设备的研发,这两年做IC设计,所以这个应用范围就从博主熟悉的领域来阐述,不熟悉的怕讲错了贻笑大方。

    博主认为FPGA的应用可分三大类:1. ASIC的原型系统验证。 2. 在某些领域需要厂家作出自己灵活的功能,不需要死板的ASIC或者是在该应用领域还没有相关的ASIC出现。3. 在产品总销量不大的情况下,使用FPGA来完成功能比购买别人的ASIC或者自己设计的ASIC更加省成本。 现在先讲讲第一类, ASIC的原型系统验证。ASIC就是专用集成电路,这是一个跟通用集成电路相对应的概念,MCU,Flash, DDR SDRAM等都是通用集成电路,用这些IC可以设计出不同的产品。而ASIC则是专用的IC,只能在某一个产品或者某种类型的产品中应用。比方说,万用表里的主芯片,ADSL里面的调制解调芯片,路由器里面的Network Processor等。这些芯片只具有实现该种特定功能,必须应用于该类型的产品才能发挥作用。由于设计ASIC的成本很高,在变成芯片前要反复的对其功能进行验证,因此FPGA就可以作为验证平台,把芯片流片前的代码(或者部分代码,现在有些芯片规模很大,往往要N多片FPGA级联才能实现部分功能的验证)下载到FPGA里进行多方位的测试。现在再来讲讲第二种功能,比如说通信设备里有一种叫软件无线电的技术,意思就是可以通过改变代码来实现对不同制式信号的接收。这样子节省了运营商成本,也节省了设备商成本,这种情况下使用固定功能的ASIC就很麻烦,因此FPGA是一个很好的选择。第三种情况则是在该应用中没有专用的IC或者专用的IC很昂贵,所以只好用FPGA来实现该功能。

    这是本人的一些粗浅见解,笼统的说了一大堆,也该喝喝水去了~~~~

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户615011 2013-1-8 19:59

希望可以整体一下,文字太乱了。

用户1696769 2012-9-26 22:37

不好意思,Jim,由于系统敏感词的设定,所以这篇博文临时进入了待批。看到第二段结尾的**了么?我也没看到是什么敏感词,你可以特殊处理一下。由于目前网络安全的要求,我们也是不得已而为之,望理解!
相关推荐阅读
用户1501359 2015-06-15 00:19
小弟编写的FPGA设计经验总结感悟书籍:FPGA深度解析 准备上架销售,北航出版社出版
全书目录如下,从第九章开始为笔者对FPGA常用模块设计思想的深度阐述和解析,为作者从事逻辑设计之经验感悟与总结,希望大家多多指教 目录   第1章FPGA简介   1.1什么是...
用户1501359 2013-01-27 18:56
DSP硬件实现的优化(八)— saturation, rounding的原理和实现
    在数字信号处理系统中,大部分情况下数据都是用定点表示。但是由于DSP经常使用到乘法器,那么两个定点数相乘后的数的位宽将是两个操作数位宽之和。比如说A*B,A的位宽是(1,7,4),B的位宽是(...
用户1501359 2013-01-24 21:26
DSP硬件实现的优化(七)—硬件实现中的定点表示
    用硬件实现DSP基本上是基于定点的算法。什么叫做定 点呢?定点的意思就是小数点的位置是确定的,这是跟浮 点不同的地方。比如说,有一种常用的表示定点的方法, 比如说一个数的定点方...
用户1501359 2013-01-21 22:27
DSP硬件实现的优化(六)—多个M比特有符号数做累加运算时符号位的优化处理方法
    在通信系统中,经常会遇到多个数进行累加的情况。一般情况下,在更好的掌控时序的目标下,我们会选择用基于CSA结构的Wallace tree进行加法树压缩。基本上,参加运算的数都是有符号数,在这种...
用户1501359 2013-01-19 22:54
DSP硬件实现的优化(五)—输入数据带缺口时反馈环路的优化
    在通信数字信号处理中,经常会遇到带有反馈环路的设计。例如数字时钟恢复或者自适应均衡滤波器。该类设计的基础都是对输入数据进行滤波或者均衡,调相,而进行上述计算所用到的系数来自于该滤波器或者均...
用户1501359 2013-01-14 20:30
FPGA实践笔记(七)—verilog组合逻辑描述用assign或者always@(*)的区别和值得注意之处
    verilog描述组合逻辑一般常用的有两种:assign赋值语句和always@(*)语句。两者之间的差别有:     1. 被assign赋值的信号定义为wire型,被always@...
EE直播间
更多
我要评论
2
4
关闭 站长推荐上一条 /3 下一条