【FPGA入门教程】(一)初识FPGA

  FPGA(Field-Programmable Gate Array,现场可编程门阵列),正如其名,FPGA内部有大量的可编程逻辑功能块,使用verilog HDL(硬件描述语言)实现设计。

  玩过单片机的小伙伴刚接触FPGA可能会有点困惑,其实FPGA与单片机最大的区别就在于:FPGA设计的是电路,单片机设计的是程序。单片机只有一个CPU在工作时钟的驱动下顺序的执行程序(取指、译码、执行),所以工作速度较慢,而FPGA设计出来的是整个电路逻辑系统,根本不需要单片机这么复杂,所以FPGA的工作速度自然很快,在两者各有各的优势下,单片机主要用于进行相关控制,FPGA多用于信号处理相关。

  典型的FPGA原理和结构如下图(注:以Cyclone IV E FPGA芯片为例),主要包括三类基本资源

          

  • 可编程逻辑功能块(Altera-LE(Logic Element) / Xlinx-Slice)

                是实现用户功能的基本单元,多个逻辑功能块通常规则地排成一个阵列结构,分布于整个芯片;

  • 可编程内部互连资源

    包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或输入/输出块连接起来,构成特定功能的电路。用户可以通过编程决定每个单元的功能以及它们的互连关系,从而实现所需的逻辑功能。

  • 可编程输入/输出(I/O)块

     完成芯片内部逻辑与外部管脚之间的接口,围绕在逻辑单元阵列四周;

  

  FPGA从简单的逻辑粘合,发展到现在的可编程片上系统,FPGA厂家也在基本的FPGA架构上加入了一些扩展资源,比如时钟管理单元(PLL、DLL)、嵌入式存储器单元和硬件乘法器单元,DSP单元一些高端器件还加入了高速收发器、甚至嵌入式硬核处理器,让FPGA的应用领域更广阔,Cyclone IV E器件加入的扩展资源有:

  • PLL锁相环

    模拟电路,将输入的周期信号进行分频和倍频,或改变相位,输出一个或多个稳定的时钟信号;

  • M9K存储器

    嵌入式块RAM,容量大小9Kbit,这些存储器可以被配置成单端口、简单双端口、真双端口RAM、FIFO缓冲器、ROM

  • 18*18硬件乘法器

    快速进行运算

 

  FPGA中除了三类基本资源和一些扩展资源外,由图中可以看到,FPGA中资源分布也是很精致的:

    1、逻辑阵列和M9K存储器交替分布,这样做的优点是缩短数据的传输路径,以获得更优的时序性能;

    2、IOEs和PLL单元分布在器件的四周,数据流一般从左侧IO流入,经过处理、运算、存储,通过右侧IO流出,控制信号通过上下IO输入输出;有时候系统需要高质量时钟(比如软核所需工作时钟)通常由PLL单元产生,而这些分布在四周的PLL可以最短时钟源产生工作时钟,另外,PLL属于模拟电路,放在周围更利于生产;

  两种主流FPGA的资源情况如下:

  Altera Cyclone IV E系列FPGA常见硬件资源详情列表:

 

 

  Xilinx 7 系列FPGA 硬件资源详情:

  

   最后,放上两张开发板图片,一块是小梅哥基于Cyclone IV EP4CE10的AC620,一块是Digilent基于Xilinx Artix7的Basys3,两块都很精致有木有~

  

  

 

 

  

 

 

  • 39
    点赞
  • 279
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
FPGA是一种可编程的逻辑器件,广泛应用于数字信号处理和图像处理领域。想要深入学习FPGA并开发图像处理算法,需要先掌握FPGA的基本原理和编程语言。首先,可以学习Verilog或VHDL这两种常用的FPGA编程语言,掌握其基本语法和逻辑设计方法,了解FPGA的工作原理和内部结构。 进阶部分,可以学习FPGA开发工具的使用,如Vivado或Quartus等,掌握如何进行FPGA的逻辑设计、综合、布局和布线。同时,还可以学习FPGA的时序分析和时序优化方法,以及FPGA的时钟网络设计和管理技巧。此外,还可以学习FPGA的高级特性,如片上RAM、DSP模块、时钟管理等,以及FPGA和外设的接口技术。 在图像处理算法开发方面,可以学习数字图像处理的基本理论和方法,包括图像的采集、预处理、特征提取、目标识别等,掌握常用的图像处理算法和技术。然后,可以结合FPGA的并行计算和硬件加速能力,进行图像处理算法在FPGA上的移植和优化,实现高效的图像处理和实时图像处理应用。 最后,可以通过实际的项目实践,如设计一个基于FPGA的实时视频处理系统、图像识别系统等,来巩固所学的知识和技能,提高对FPGA和图像处理算法的理解和应用能力。同时,可以通过参加相关的竞赛和项目,与其他FPGA和图像处理领域的专业人士交流经验和分享成果,不断提高自己的水平和能力。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mculover666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值