基本结构
FPGA 器件属于专用集成电路中的一种半定制电路,是可编程的逻辑列阵,能够有效的解决原有的器件门电路数较少的问题。FPGA 的基本结构包括可编程输入输出单元,可配置逻辑块,数字时钟管理模块,嵌入式块RAM,布线资源,内嵌专用硬核,底层内嵌功能单元。由于FPGA具有布线资源丰富,可重复编程和集成度高,投资较低的特点,在数字电路设计领域得到了广泛的应用。FPGA的设计流程包括算法设计、代码仿真以及设计、板机调试,设计者以及实际需求建立算法架构,利用EDA建立设计方案或HD编写设计代码,通过代码仿真保证设计方案符合实际要求,最后进行板级调试,利用配置电路将相关文件下载至FPGA芯片中,验证实际运行效果。
工作原理
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。
资源
以上是关于FPGA的基本定义,他是半定制化的可编程逻辑门阵列。内部含有丰富的资源包括逻辑单元、RAM、乘法器、寄存器、PLL等硬件资源。
FPGA最大的特点就是用面积换速度,串并转换,这是讲到的。
功能
视频图像处理:包括图像的压缩算法(MPEG-2,MPEG-4,H.264,H.265),图像的处理算法(边缘检测、模糊处理、形态学、直方图等)
通讯领域:有线通讯、无线通讯
数字信号处理:定制化DSP处理器
嵌入式领域:比如软和NIOSII、MicroBlaze、嵌入硬核处理器ZYNQ等。
高速数据传输:PCIE、千兆以太网、USB、SATA等
开发
对于Intel FPGA芯片:Quartus II 以及NIOS II的开发
对于Xilinx FPGA芯片:Vivado、SystemGenerator、Vivado HLS以及嵌入式内核的开发
开发中用到的语言:逻辑开发使用Verlog、VHDL,内核开发:C语言
本专题的主要内容
带领大家从最简单的verlog语言基础开始,通过简单的里程逐步的了解FPGA进行数字图像处理的流程。主要以Xilinx FPGA的开发为主,其中包括纯逻辑的设计,嵌入式内核microblaze、嵌入式硬核的开发。