FPGA的工作原理、组成结构、优点以及和单片机的区别

注意:后续技术分享,第一时间更新,以及更多更及时的技术资讯和学习技术资料,将在公众号CTO Plus发布,请关注公众号:CTO Plus

FPGA的工作原理、组成结构、优点以及和单片机的区别FPGA (Field Programmable Gate Array,现场可编程门阵列) 是一种高度灵活的https://mp.weixin.qq.com/s?__biz=MzIyMzQ5MTY4OQ==&mid=2247485189&idx=1&sn=321ffbc20941fae37ee36256fe954e05&chksm=e81c2403df6bad15f08a1d0827a949de02010ab9fdb85e6915d4ffdf24a9ccd34428f23d84fd#rd

FPGA (Field Programmable Gate Array,现场可编程门阵列) 是一种高度灵活的可编程电路,它允许电子工程师在硬件上执行任意功能。FPGA 具有比常规芯片更高的可编程性,因此适用于各种应用程序。FPGA内部有大量的可编程逻辑功能块,使用verilog HDL(硬件描述语言)实现设计。

本文将介绍 FPGA 的工作原理、FPGA优点和应用领域,FPGA与单片机有着明显的区别,最后介绍下FPGA与单片机的区别。

FPGA专栏:https://blog.csdn.net/zhouruifu2015/category_5690253

FPGA的工作原理

FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,由可编程逻辑单元(PLC)和可编程互连网络(PCN)组成。

1. 可编程逻辑单元(PLC)

可编程逻辑单元(PLC)是FPGA的核心部分,它由可编程逻辑门、寄存器、存储器和触发器等组成,可以实现各种逻辑电路和数字电路的功能。PLC可以通过编程实现各种逻辑电路和数字电路的功能,例如加法器、乘法器、逻辑门等,从而实现各种电路的设计和开发。PLC可以通过可编程的时钟和控制信号实现各种电路的控制和调节,从而提高电路的性能和效率。

PLC的功能可以通过硬件描述语言(HDL)进行编程,例如VHDL和Verilog等。HDL是一种描述数字电路的语言,可以描述电路的逻辑结构、时序关系和信号传输等。通过HDL编程,可以实现各种逻辑电路和数字电路的功能。

PLC 中的逻辑门和触发器可以根据设计需要连接在一起。这种灵活性使 FPGA 能够处理各种不同的任务,包括数字信号处理、通信、图像处理等。

2. 可编程互连网络(PCN)

可编程互连网络(PCN)是FPGA的另一个重要组成部分,它由可编程的互连通道和交叉点组成,可以实现各种电路的互连和通信。PCN可以通过编程实现各种电路的互连和通信,例如数据通路、控制通路等,从而实现各种电路的集成和优化。

PCN的功能可以通过硬件描述语言(HDL)进行编程,例如VHDL和Verilog等。通过HDL编程,可以实现各种电路的互连和通信。PCN可以实现各种电路的集成和优化,从而提高电路的性能和效率。

FPGA的PLC和PCN可以通过编程实现各种逻辑电路和数字电路的功能,并实现各种电路的互连和通信,从而实现各种电路的设计和开发。FPGA具有可重构性和可编程性,可以根据应用需求进行灵活的配置和优化,从而提高电路的性能和效率。

与固定功能集成电路(ASIC)相比,FPGA 具有更高的可编程性。ASIC 的电路固定,因此无法更改其功能。相比之下,FPGA 的功能可以通过编程进行修改,从而使 FPGA 适用于不同的应用程序。

3. 可编程互连资源(PIR)

FPGA的工作原理是通过可编程逻辑单元(PLU)和可编程互连资源(PIR)来实现。PLU是FPGA中最小的可编程单元,它可以实现逻辑运算、存储和状态控制等功能。

PIR是FPGA中的互连资源,它可以将不同的PLU连接起来,形成不同的逻辑电路。它由可编程的互连通道和交叉点组成,可以实现各种电路的互连和通信。PIR的功能可以通过硬件描述语言(HDL)进行编程实现各种电路的互连和通信,例如数据通路、控制通路等,从而实现各种电路的集成和优化,从而提高电路的性能和效率。

FPGA的编程是通过HDL(硬件描述语言)来实现的,HDL是一种类似于C语言的语言,可以用来描述电路的结构和功能。在使用HDL进行FPGA编程时,需要将HDL代码转换成FPGA可以识别的比特流文件,然后将比特流文件下载到FPGA中,从而实现对FPGA的编程。

FPGA组成结构

典型的FPGA组成结构如下图所示:

Cyclone IV E FPGA芯片

Cyclone IV E FPGA芯片是英特尔公司推出的一款低成本、低功耗、高性能的可编程逻辑芯片。它由多个可编程逻辑单元(PLU)、可编程互连资源(PIR)、存储器、时钟管理单元、高速收发器等组成。

1. 可编程逻辑单元(PLU)

Cyclone IV E FPGA芯片的可编程逻辑单元(PLU)是由4输入Look-Up Table(LUT)、寄存器和级联器组成,可以实现各种逻辑电路和数字电路的功能。每个LUT可以存储16个不同的逻辑函数,可以通过编程实现各种逻辑电路和数字电路的功能。PLU还包括寄存器和级联器,可以实现时序电路和流水线电路的功能。

可编程逻辑功能块(Altera-LE(Logic Element) / Xlinx-Slice)是实现用户功能的基本单元,多个逻辑功能块通常规则地排成一个阵列结构,分布于整个芯片;

2. 可编程互连资源(PIR)

Cyclone IV E FPGA芯片的可编程互连资源(PIR)是由可编程的互连通道和交叉点组成,可以实现各种电路的互连和通信。PIR可以通过编程实现各种电路的互连和通信,例如数据通路、控制通路等,从而实现各种电路的集成和优化。

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

3. 存储器

Cyclone IV E FPGA芯片还包括多种存储器,例如片上存储器(On-Chip Memory)、外部存储器(External Memory)和Flash存储器等。片上存储器用于存储中间结果和数据,可以提高电路的性能和效率。外部存储器和Flash存储器用于存储程序和数据,可以扩展芯片的存储容量。

4. 时钟管理单元

Cyclone IV E FPGA芯片的时钟管理单元可以生成多个时钟信号,并提供时钟分频、时钟延迟和时钟相位调节等功能。时钟管理单元可以实现时序电路和流水线电路的功能,提高电路的性能和效率。

5. 高速收发器

Cyclone IV E FPGA芯片还包括多个高速收发器,可以实现高速数据传输和通信。高速收发器可以支持多种通信协议,例如PCI Express、Gigabit Ethernet、USB等,可以满足不同应用的需求。

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

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

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

    1. PLL锁相环:模拟电路,将输入的周期信号进行分频和倍频,或改变相位,输出一个或多个稳定的时钟信号。
    2. M9K存储器:嵌入式块RAM,容量大小9Kbit,这些存储器可以被配置成单端口、简单双端口、真双端口RAM、FIFO缓冲器、ROM。
    3. 18*18硬件乘法器:快速进行运算。

FPGA中资源分布特点:

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

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

FPGA的优点

FPGA 具有多个优点,包括:

  1. 可重构性:FPGA 可以根据需要进行重新编程,因此可用于多种不同的应用程序。
  2. 快速开发时间:与 ASIC 相比,FPGA 的开发时间更短,因为它不需要制造新的硬件。
  3. 低成本:FPGA 可以在不需要大量定制硬件的情况下实现多种应用程序,因此可以大大降低开发成本。
  4. 高速性能:由于 FPGA 可以在硬件级别上实现特定任务,因此它们通常比基于软件的解决方案更快。

FPGA的应用领域

由于 FPGA 具有高度灵活性和可重构性,它们在多个领域中都得到了广泛应用。以下是 FPGA 常见的应用领域:

  1. 通信:FPGA 可以实现各种通信协议,例如以太网、USB 和 PCI Express。
  2. 数字信号处理:FPGA 可以高效地执行数字信号处理任务,例如音频处理和视频处理。
  3. 医疗:FPGA 可以用于医疗成像设备,例如核磁共振成像(MRI)和计算机断层扫描(CT)。
  4. 汽车:FPGA 可以用于汽车电子系统中的控制、诊断和安全功能。
  5. 航空航天:FPGA 可以用于航空航天领。

FPGA与单片机的区别

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

FPGA和单片机虽然都是用来实现电路控制的器件,但它们有着明显的区别。

1. 灵活性:FPGA比单片机更加灵活,因为FPGA可以根据需要进行编程,而单片机的功能是固定的,只能实现预先定义好的功能。

2. 处理能力:FPGA比单片机的处理能力更强,因为FPGA可以并行处理多个任务,而单片机只能串行处理任务。

3. 适用范围:FPGA适用于需要高速处理和大规模数据处理的应用,如数字信号处理、图像处理等;而单片机适用于需要实现简单控制和数据处理的应用,如传感器数据采集、控制器等。

4. 硬件成本:FPGA的硬件成本比单片机高,因为FPGA需要更多的硬件资源来实现更复杂的功能。

FPGA 性能对比:FPGA 相比于单片机、 CPU 等集成电路芯片拥有效率更高、功耗更低的特点,但是易于开发程度远远不如单片机、CPU;在数字芯片设计领域,FPGA 虽然相比 ASIC 具有更短的开发周期与开发难度,但是其存在着成本过高、性能较差并且在资源的利用率上远不及 ASIC 等问题,不能真正的替代 ASIC。

总之,FPGA和单片机在应用范围、处理能力、灵活性和硬件成本等方面有着明显的区别。在选择使用哪种器件时,需要根据具体的应用需求来进行选择。

SteveRocket的博客_CSDN博客-Python进阶,Django进阶,C进阶领域博主SteveRocket擅长Python进阶,Django进阶,C进阶,等方面的知识https://blog.csdn.net/zhouruifu2015/


更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。

关于公众号的描述访问如下链接


关于Articulate“做一个知识和技术的搬运工。做一个终身学习的爱好者。做一个有深度和广度的技术圈。”一直以来都想把专业领域的技https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q

推荐阅读:

  • FPGA在工业缺陷检测上的应用实践

  • FPGA设计Verilog基础之Verilog全局变量和局部变量定义

  • FPGA设计Verilog基础之Verilog中clk为什么要用posedge,而不用negedge

  • 初学者必须弄懂的一些基本FPGA设计概念(1)

  • 工作总结之全网最全的103个Verilog关键字总结(上)

  • 工作总结之全网最全的103个Verilog关键字总结(下)​

  • 5G时代的FPGA发展趋势和应用分析

  • FPGA结合chatgpt的应用开发实践

  • FPGA | FPGA设计流程指南 v2.0

  • 设计规范 | 总结开发过程中DDR3和FPGA部分的设计规范

  • 术语一览 | 总结开发过程中关于FPGA的专业术语

  • 用AI帮我写一篇关于FPGA的文章,并推荐最热门的FPGA开源项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/15266.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

11-5 当前厂商领航辅助驾驶系统 NOA 解决方案

借助介绍 AEB 系统的感知架构,本文主要讲解当前领航辅助驾驶系统 NOA 解决方案。以下章节的技术参数可能不是各厂商当前最新配置,权当是方便大家理解,请把关注重点移回如何开发出 AEB 产品。 1. Tesla 特斯拉 NOA 解决方案 • 后车牌的上方装有一个摄像头; • 超声波传感…

WPS香港与奇文N维减持金山办公:套现19亿 受益于ChatGPT概念

雷递网 雷建平 6月19日 北京金山办公软件股份有限公司(证券代码:688111,券简称:金山办公)今日发布公告,宣布WPS香港、奇文N维减持细节。 据介绍,WPS香港、奇文N维此次询价转让的价格为402元/股&…

如何在笔记本电脑上构建私有gpt,实现chatgpt功能支持向 AI 询问您自己的领域知识(GPT4All教程)

在本文中,我们将学习如何在只有 CPU 的计算机上部署和使用 GPT4All 模型 在本文中,我们将在我们的本地计算机上安装 GPT4All(一个强大的 LLM),我们将发现如何使用 Python 与我们的文档进行交互。PDF 或在线文章的集合将成为我们问题/答案的知识库。 什么是 GPT4All 从官…

chatgpt赋能Python-python_fem

Python在有限元分析中的应用 什么是有限元分析 有限元分析(Finite Element Analysis, FEA)是一种针对工程结构、材料及其它物理现象进行数值仿真的方法。它通过将结构或者物理现象的连续域分割成有限个小元素,再在每个小元素中建立数学模型…

【matlab 多元回归】matlab数值预测--多元回归算法

主要内容: 1、excel数据读取 2、回归模型建立 3、预测及作图 4、相关性分析 对七个自变量,2个因变量分别做多元线性线性回归。 数据形式如下: 下面是matlab 代码: clc,clear all %% % 读取excel数据,data存…

电动机正反转继电器控制系统

【ChatGPT】前些天发现了一个巨牛的人工智能学习电子书,通俗易懂,风趣幽默,无广告,忍不住分享一下给大家。(点击查看学习资料) wx供重浩:创享日记 对话框发送:plc2 免费获取完整无水…

Beckhoff Ubuntu ADS库结构、编译与使用优化(像使用OpenCV一样使用ADS库!)

Beckhoff Ubuntu ADS库结构、编译与使用优化 库结构优化 倍福官方的ADS库结构看着不简洁,比较冗余,编译起来效果一般,而且不便于使用 官方ADS库原结构 redwallredwall-G3-3500:~/3rd_party/ADS$ tree . ├── AdsLib │ ├── AdsDef…

机器人控制系统软硬件平台

工业机器人软硬件平台架构 工业机器人软硬件平台架构的概述 工业机器人的发展历程: 1950s-1960s:工业机器人诞生,开始应用于生产线自动化。1970s-1980s:工业机器人技术快速发展,引入新的控制方法和结构设计。1990s-…

python与PLC通信的数据转换

测试代码: from time import sleep as sleep import socket import time import threading import struct# 生成线程 class MakeThreading(threading.Thread):def __init__(self, target, set_daemonTrue):super().__init__()self._target targetself.setDaemon(s…

基本指令的编程练习-PLC认识实验-定时器/计数器功能实验

【ChatGPT】前些天发现了一个巨牛的人工智能学习电子书,通俗易懂,风趣幽默,无广告,忍不住分享一下给大家。(点击查看学习资料) wx供重浩:创享日记 对话框发送:plc1 免费获取完整无水…

谷歌版 ChatGPT 这次低调公测炸了!比 GPT-4 数学能力还强,体验名额发得很快,传送门在此...

这是「进击的Coder」的第 815 篇技术分享 作者:杨净 金磊 发自 凹非寺 来源:量子位(ID:QbitAI) “ 阅读本文大概需要 6 分钟。 ” 谷歌吃了大亏之后,这次一声不吭,放了大招: 对标 C…

【汇正财经】沪深创缩量调整

盘面回顾: 沪深创缩量调整,早盘震荡,午盘回落,收盘沪指跌0.49%,深成指跌0.62%,创业板指跌0.48%。上涨家数1383家,下跌3539家。从资金面来看,固态电池,动力电池回收&…

研报精选230405

目录 【行业230405中航证券】国防军工:航天产业月报:冬至阳生春又来 【行业230405华西证券】AIGC行业深度报告(6):ChatGPT:存算一体,算力的下一极 【行业230405国联证券】国防军工:大…

A股市场全景分析系列—指数通行红绿灯指标

说明 股票分析应该遵循先大后小、先宏观后微观的原则,先分析整体市场的趋势,然后挖掘当前的热点概念板块,最后聚焦到强势股中。 当前市面上有各种各样的指标,我理解的是任何指标都有它的适用场景。我们应该深入理解各个指标的用途…

上海亚商投顾:沪指震荡调整跌0.21% 两市成交金额不足8000亿

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 三大指数今日震荡调整,上证50午后一度跌超1%,以保险为首的权重板块走低。军工股逆市大涨&a…

上海亚商投顾:沪指窄幅震荡涨0.28% 农业股全天低迷

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 沪指今日窄幅震荡,创业板指午后跌近1%,随后跌幅有所收窄。市场焦点股中航电测打开一字涨停…

A股市场全景分析系列—板块通行红绿灯指标

说明 股票分析应该遵循先大后小、先宏观后微观的原则,先分析整体市场的趋势,然后挖掘当前的热点概念板块,最后聚焦到强势股中。 当前市面上有各种各样的指标,我理解的是任何指标都有它的适用场景。我们应该深入理解各个指标的用途…

汇正财经靠谱吗?创业板大涨近2%

盘面回顾: 沪深创集体上涨,创业板更是持续走高,截止收盘沪指涨0.64%,深成指涨1.6%,创业板指涨1.98%,两市个股涨多跌少,市场赚钱效应大幅回暖。军工、新能源汽车、锂电池、电商、ChatGPT等多板块…

使用 TensorFlow、Keras-OCR 和 OpenCV 从技术图纸中获取信息

简单介绍 输入是技术绘图图像。对象检测模型获取图像后对其进行分类,找到边界框,分配维度,计算属性。 示例图像(输入) 分类后,找到“IPN”部分。之后,它计算属性,例如惯性矩。它适用…

【关于ChatGPT的30个问题】24、ChatGPT的学习时间是多少?/ By 禅与计算机程序设计艺术

24、ChatGPT的学习时间是多少? 目录 24、ChatGPT的学习时间是多少? ChatGPT的学习时间