前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅析FPGA现场可编程门阵列

浅析FPGA现场可编程门阵列

作者头像
FB客服
发布2018-02-02 15:06:34
1.3K0
发布2018-02-02 15:06:34
举报
文章被收录于专栏:FreeBufFreeBuf

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

参加某个公益活动,做了个FPGA显示1024的小程序,成果如下:

在介绍FGPA之前,首先介绍两位伟大的数学家。第一位是发现二进制的莱布尼茨(弗里德•威廉•莱布尼茨,Gottfried Wilhelm Leibniz,1646-1716),虽然大家对他发明的微积分更熟悉,但二进制应用于计算机,说具有划时代意义一点不为过;第二位是多逻辑运算做出突出贡献的布尔(乔治•布尔,George Boole,1815-1864),学过离散数学的人应该对“与、或、非”三种基本逻辑运算还有印象吧。

好了,闲话休提,言归正传。

FPGA介绍

PLD(可编程逻辑器件,Programmable Logic Device)的发展经历了可编程只读存储器PROM (Programmable Read only Memory),可编程逻辑阵列器件PLA ( Programmable Logic Array);可编程阵列逻辑PAL (Programmable Array Logic);通用阵列逻辑GAL ( Generic Array Logic);复杂可编程逻辑期间CPLD(Complex Programmable Logic Device)和现场可编程逻辑阵列FPGA(Field Programmable Gate Array)阶段。FPGA拥有大量的寄存器资源使其能非常好的应对复杂的高速控制应用和数据处理,小到MP3,大到地球卫星,飞船都有其用武之地。

主要的FPGA供应商是Xilinx,Altera,Actel,有兴趣的可以去搜索看看,其中Actel主要做航空和军用产品。Xilinx期间采用ISE软件做编程编译和下载,这里的下载是将程序编程FPGA中的电路,Altera采用QuartusⅡ,个人对QuartusⅡ更为熟悉。当然还有其他的编译综合工具,仿真工具,如synopsys,ModelSim等。有兴趣的可以去百度。

硬件描述语言

硬件编程和软件编程最大的不同在于,硬件实现的是电路功能,要考虑时序问题(时间顺序先后,各个寄存器的变化,控制信号的传递等等),主要的难点也在于电路的时序。接触过74或者40系列芯片的同学应该知道与门和加法器有着非常大的差别。

常用的硬件描述语言(Hardware Description Language)有VHDL和Verilog HDL,IEEE都有相应的标准。个人感觉VHDL形式更严谨,Verilog更接近于C语言。入门学习VHDL虽然比较难,但对于建立硬件编程的思想很有帮助。

学习FPGA的基础

想要学习FPGA首先要有耐心,如果说调MATLAB都嫌烦的话还是不要接触这个了,虐心。其次要细心,一个寄存器的小小的问题都会导致程序有错误或者功能不对。对于基本知识,会算100以内的加减法,有写数字电路的逻辑就够。

最重要的是要多看,大量的用户手册会很有帮助,当然几乎都是英文的。

就扯这些吧,抛砖引玉吧,有兴趣的同学可以去百度。文中有不妥的地方也希望大家指出。

有同学说这个比较小众,不能否认用的人不是特别多,但优势还是有的,看应用的领域吧。还有就是说没接触的不懂,其实是简单介绍下而已,没有提到技术的问题,就当多听个名词吧。

更新应该不会了,有兴趣可以去了解。百度,谷歌。

文/Black_Global (2014) QQ:kali@lcx.cc

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2014-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档