2018.9.1 初识FPGA --xilinx zynq为例

–文中参考xilinx datasheet 以及百度百科,如有错误之处还请不吝赐教! 
1.什么是FPGA 
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

2.FPGA内部结构 
以xilinx zynq为例(zynq 包含PS 和 PL,这里只说PL端),查看官方Data sheet的分类,主要包括以下内容: 
输入/输出模块 Input/Output Blocks (IOB) 
可配置逻辑单元 Configurable Logic Blocks (CLB) 
36 Kb Block RAM 
DSP Blocks 
JTAG Boundary-Scan 
PCI Express® Block 
Serial Transceivers 
12位数模转化Two 12-Bit Analog-to-Digital Converters

3.FPGA的基本特点 
1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。 
2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 
3)FPGA内部有丰富的触发器和I/O引脚。 
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 
5) FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

4.FPGA的优势 
1)通信高速接口设计。FPGA可以用来做高速信号处理,一般如果AD采样率高,数据速率高,这时就需要FPGA对数据进行处理,比如对数据进行抽取滤波,降低数据速率,使信号容易处理,传输,存储。 
2)数字信号处理。包括图像处理,雷达信号处理,医学信号处理等。优势是实时性好,用面积换速度,比CPU快的多。 
3)更大的并行度。这个主要是通过并发和流水两种技术实现。并发是指重复分配计算资源,使得多个模块之间可以同时独立进行计算。

5.FPGA的三个主要方向 
1)第一个方向,也是传统方向主要用于通信设备的高速接口电路设计,这一方向主要是用FPGA处理高速接口的协议,并完成高速的数据收发和交换。这类应用通常要求采用具备高速收发接口的FPGA,同时要求设计者懂得高速接口电路设计和高速数字电路板级设计,具备EMC/EMI设计知识,以及较好的模拟电路基础,需要解决在高速收发过程中产生的信号完整性问题。FPGA最初以及到目前最广的应用就是在通信领域,一方面通信领域需要高速的通信协议处理方式,另一方面通信协议随时在修改,非常不适合做成专门的芯片。因此能够灵活改变功能的FPGA就成为首选。到目前为止FPGA的一半以上的应用也是在通信行业。 
2)第二个方向,可以称为数字信号处理方向或者数学计算方向,因为很大程度上这一方向已经大大超出了信号处理的范畴。例如早就在2006年就听说老美将FPGA用于金融数据分析,后来又见到有将FPGA用于医学数据分析的案例。在这一方向要求FPGA设计者有一定的数学功底,能够理解并改进较为复杂的数学算法,并利用FPGA内部的各种资源使之能够变为实际的运算电路。目前真正投入实用的还是在通信领域的无线信号处理、信道编解码以及图像信号处理等领域,其它领域的研究正在开展中,之所以没有大量实用的主要原因还是因为学金融的、学医学的不了解这玩意。不过最近发现欧美有很多电子工程、计算机类的博士转入到金融行业,开展金融信号处理,相信随着转入的人增加,FPGA在其它领域的数学计算功能会更好的发挥出来,而我也有意做一些这些方面的研究。不过国内学金融的、学医的恐怕连数学都很少用到,就不用说用FPGA来帮助他们完成数学_运算了,这个问题只有再议了。 
3)第三个方向就是所谓的SOPC方向,其实严格意义上来说这个已经在FPGA设计的范畴之内,只不过是利用FPGA这个平台搭建的一个嵌入式系统的底层硬件环境,然后设计者主要是在上面进行嵌入式软件开发而已。设计对于FPGA本身的设计时相当少的。但如果涉及到需要在FPGA做专门的算法加速,实际上需要用到第二个方向的知识,而如果需要设计专用的接口电路则需要用到第一个方向的知识。

6.实验室方向 
目前主要有三个方向: 
1.RISC-V 基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),更简单、更快、更低功耗的硬件,且具有免费、开放、简单的指令集架构,主要是负责一些教学方面的研究。 
2.深度学习,神经网络加速,具有代表性的CNN、YOLO,以及视频编解码的后处理。 
3.类脑计算,是指仿真、模拟和借鉴大脑生理结构和信息处理过程的装置、模型和方法,其目标是制造类脑计算机和类脑智能,这方面比较前沿,还在摸索调研学习中,但小伙伴已经搭建好了蚁群的mpi、pynn,相信后面也会继续不断的去开展相关工作。

相关学习资料推荐: 
1.ZIRCON 皓石科技的资料下载:http://www.fpga.gs/h-col-116.html 
2.crazybingo 老师的《FPGA设计技巧与案例开发详解》 
3.特权老师的 《深入浅出玩转FPGA》 
4.NingHeChuan 的微信订阅号:开源FPGA
--------------------- 
作者:clancy_lee 
来源:CSDN 
原文:https://blog.csdn.net/weixin_40604731/article/details/82292219 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/weixin_38438451/article/details/83718647