FPGA入门的基本知识介绍,工作原理和特点是什么

时间:2025-04-26  作者:Diven  阅读:0

近几年来,由于现场可编程门阵列(FPGA)的使用非常灵活,又可以无限次的编程,已受到越来越多的电子编程者的喜爱,很多朋友都想学习一些FPGA入门知识准备进行这个行业,现在关于FPGA入门知识的书籍、论坛、教程等种类繁多各式各样。下面笔者也通过搜寻一些关于FPGA入门知识的资料供大家学习和参考。

FPGA入门的基本知识介绍,工作原理和特点是什么

FPGA入门知识首先要从FPGA的定义开始,什么是FPGA呢,有什么作用这些都是基本需要了解的东西。FPGA是可编程器件,目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。

FPGA入门知识还应该包含FPGA工作原理、FPGA的基本特点、FPGA芯片结构等基础的知识,下面从以下几个方面来对FPGA入门知识进行简单的介绍。

FPGA工作原理

FPGA采用了逻辑单元阵列LCA这样一个概念,内部包括可配置逻辑模块CLB、输出输入模块IOB和内部连线三个部分。FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其逻辑电路或驱动I/O,由此构成了即可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能, 加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。FPGA是由存放在片内RAM中的程序来设置其工作状态的,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。

FPGA的基本特点

1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。

2)FPGA可做其全定制或半定制ASIC电路的中试样片。

3)FPGA内部有丰富的触发器和I/O引脚。

4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件。

5) FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

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

FPGA芯片结构

目前主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、时钟管理和DSP)的硬核(ASIC型)模块。FPGA芯片主要由7部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。

1. 可编程输入输出单元(IOB)

可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求。为了便于管理和适应多种电器标准,FPGA的IOB被划分为若干个组(bank),每个bank的接口标准由其接口电压VCCO决定,一个bank只能有 VCCO,但不同bank的VCCO可以不同。只有相同电气标准的端口才能连接在一起,VCCO电压相同是接口标准的基本条件。

I/O块内部结构图

典型的IOB内部结构示意图

2. 可配置逻辑块(CLB)

CLB是FPGA内的基本逻辑单元。CLB的实际数量和特性会依器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些 选型电路(多路复用器等)和触发器组成。开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。

4. 嵌入式块RAM(BRAM)

大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器 (CAM)以及FIFO等常用存储结构。CAM存储器在其内部的每个存储单元中都有一个比较逻辑,写入 CAM中的数据会和内部的每一个数据进行比较,并返回与端口数据相同的所有数据的地址,因而在路由的地址交换器中有的应用。除了块RAM,还可以将 FPGA中的LUT灵活地配置成RAM、ROM和FIFO等结构。在实际应用中,芯片内部块RAM的数量也是选择芯片的一个重要因素。

5. 丰富的布线资源

布线资源连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA芯片内部有着丰富的布线资源,根据工艺、长度、宽度和分布位置的不同而划分为4类不同的类别。第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;第二类是长线资源,用以完成芯片 Bank间的高速信号和第二全局时钟信号的布线;第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;第四类是分布式的布线资源,用于专有时钟、复位等控制信号线。

在实际中设计者不需要直接选择布线资源,布局布线器可自动地根据输入逻辑网表的拓扑结构和约束条件选择布线资源来连通各个模块单元。从本质上讲,布线资源的使用方法和设计的结果有密切、直接的关系。

6. 底层内嵌功能单元

内嵌功能模块主要指DLL(Delay Locked Loop)、PLL(Phase Locked Loop)、DSP和CPU等软处理核。现在越来越丰富的内嵌功能单元,使得单片FPGA成为了系统级的设计工具,使其具备了软硬件联合设计的能力,逐步向SOC平台过渡。

DLL和PLL具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。

7. 内嵌专用硬核

内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核(Hard Core),等效于ASIC电路。为了提高FPGA性能,芯片生产商在芯片内部集成了一些专用的硬核。例如:为了提高FPGA的乘法速度,主流的FPGA 中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SERDES),可以达到数十Gbps的收发速度。

结束语

了解现场可编程门阵列(FPGA)的一些基本知识对于想要开发和编程用户是十分必要的。本文主要是针对初级的FPGA爱好者对 FPGA入门知识进行简单的FPGA入门需要了解FPGA的工作原理、基本特点、以及FPGA芯片的构成和功能模块等各个方面。

猜您喜欢

选择合适瓦数的贴片电阻,主要考虑功率。功率过小,电阻容易烧毁;功率过大,则成本增加且占用更多PCB空间。计算功率的方法很简单:P=I²*R 或 P=U²/R,其...
2024-11-29 10:26:17

电容是电子设备中重要的元件。的好坏直接影响到电路的工作。今天我们就来谈谈如何用万能表检测电容的好坏。准备好万能表得准备好万能表。万能表又叫万用表,能测量电压、电...
2025-03-19 22:30:38

现代设计与工程领域,P=3mm这一标准常常被提及。不仅是产品设计中的一个关键参数,更在许多行业中是重要的配件。本文将深入分析P=3mm的含义、应用及其对设计质量...
2025-04-26 10:31:49

雪崩二极管(Avalanche Diode)是特殊的半导体器件,应用于电子设备中,尤其是在高电压和高频率的应用场景下。工作原理基于雪崩效应,这种效应使得二极管在...
2025-03-29 16:31:06

在选择粘合剂时,了解其参数非常重要。溶剂基和水基粘合剂各有特点,适用于不同的应用场景。溶剂基粘合剂通常具有更强的附着力和耐水性,适合用于金属、塑料等难以粘合的材...
2018-05-30 00:00:00

清洗设备在现代工业和日常生活中是重要配件,其应用领域。在制造业中,各类机械设备和零部件的清洗非常重要,以确保产品质量和延长设备使用寿命。食品加工行业也离不开清洗...
2008-11-19 00:00:00

贴片电阻2R7,别看它身材小巧,却是电子电路中不可或缺的重要元件。它代表着2.7欧姆的电阻值,「R」是电阻值的单位符号,这种表示方法在电子领域十分常见。贴片电阻...
2024-11-26 11:30:01

隔离式USB芯片(带电源)是高效、安全的连接解决方案,应用于工业自动化、医疗设备和数据传输等领域。其规格尺寸通常根据具体应用而有所不同,但常见的隔离式USB芯片...
2009-10-29 00:00:00

IEC(国际电工委员会)于1994年5月公布了PLC标准(IEC1131)。它有五个部分组成:通用信息,设备与测试要求,编程语言,用户指南和通信。其中第三部分(...
2019-07-08 17:39:00

随着城市化进程的加快,城市水务管理面临着前所未有的挑战。窖井作为城市排水系统的重要组成部分,其水位监测对于预防内涝、保障城市安全至关重要传统的窖井水位监测方式存...
2024-08-20 15:50:00