首页 > 其他分享 >FPGA

FPGA

时间:2024-09-03 22:14:08浏览次数:13  
标签:FPGA 区别 芯片 硬件 单片机 寄存器

什么是FPGA

Filed programmable gate array 现场可编程门朕列

可编程逻辑整列 * PLD *(Programmable Logic Device)

  • PLD在上世纪70年代由专用集成电路(ASIC)发展而来,可由软件编程的方式进行反复的擦写

PLD发展历程简史

  • 上世纪70年代初期出现了PROM EPROM 和EEPROM
  • 在70年代中期又出现了GAL 和PAL
  • 在80年代后期就产生了CPLD
  • 90年代的末期又产生了SoPC和SoC(system on chip)技术

CPLD( complex PLD)和FPGA的区别:

  • CPLD 采用连续式的布线结构,较适合用来实现各种运算和组合逻辑
  • FPGA 采用分段式布线结构,适用于实现循序逻辑,寄存器资源丰富

FPGA和ASIC的区别:

  • ASIC是集成电路定制芯片,逻辑功能不可更改,一次流片成本很高。
  • FPGA是半定制芯片 可以作为ASIC的试样片 FPGA内部有大量的RAM程序来设置工作状态,可以反复使用。

FPGA的内部结构:

  • 可配置逻辑块 CLB configurable logic block 逻辑功能单元 每一个CLB包含4个Slice 采用开关矩阵方式 每个Slice内(2个寄存器输出和2个非寄存器输出-LUT查找表 独立的进位单元)
  • 内部连线 interconnect 内部资源的可重配置、链接
  • 输入输出模块 IOB input output Block 管理输入输出 包含输入通路(2个DDR寄存器)和输出通路(2个DDR寄存器和2个三态使能DDR寄存器)时钟和置位复位
  • 逻辑单元阵列
  • 数字时钟管理单元 DCM:每个期间最多12个DCM 位于芯片顶部或者底部。由时钟输入引脚驱动 可以分频倍频等等
  • 块状RAM :每块大小位18kb 双端口RAM 支持同步读写、异步读写、初始化、对输出锁存器同步复位、支持奇偶校验位
  • 嵌入式的IP核: 软核、固核、硬核

FPGA和单片机的区别

+结构上的区别

单片机是一种微处理器,类似于电脑CPU的,它一般采用的是哈佛总线结构,或者冯诺依曼结构,对单片机的编程很大程度上要考虑到它的结构和各个寄存器的作用,单片机用途比较广,一般用在控制流水线上。
FPGA 它的结构是查找表结构,其程序不用去太考虑芯片的结构,要注意的是时序上问题,它的结构比较复杂,功能也很强大,一般应用在通信领域等比较高端的场合。
单片机是一个微控制器,通过加载模块软件来实现某种功能,单片机是成型的芯片;
FPGA是用来设计芯片的芯片。

  • 速度上的区别

FPGA由于是硬件电路,运行速度直接取决于晶振速度,系统稳定,特别适合高速接口电路。单片机由于是单线程,哪怕是常用的M3系列流水线也是单线程执行,程序语句需要等待单片机周期才能执行。

  • 本质上的区别

FPGA和单片机的区别,本质上是软件和硬件的区别,FPGA更偏向于硬件电路,而单片机更偏于软件。
单片机设计属软件范畴;它的硬件(单片机芯片)是固定的,通过软件编程语言描述软件指令在硬件芯片上的执行;
FPGA设计属硬件范畴,它的硬件(FPGA)是可编程的,是一个通过硬件描述语言在FPGA芯片上自定义集成电路的过程;

  • 应用上的区别

应用上,差别更大。MCU(Microcontroller Unit,微控制单元)最终所有的指令在一个MCU中都是顺序执行的,而FPGA由于是逻辑单元,很容易做到并行执行。
MCU:微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、> UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。

  • 入门的难易程度

单片机比FPGA简单些,价格也低一些。要做PID算法控制的用单片机可以,STM32F4系列已经到300M+跑PID完全足够,如果是跑嵌入式的话可以上ARM芯片。涉及通信、图像等高速部分可以采用单FPGA模块。

标签:FPGA,区别,芯片,硬件,单片机,寄存器
From: https://www.cnblogs.com/forCC/p/18395347

相关文章

  • 基于FPGA的QPSK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不
    1.算法仿真效果       本系统在以前写过的QPSK调制解调系统的基础上,增加了高斯信道模块,误码率统计模块,可以验证不同SNR情况下的QPSK误码情况。 vivado2019.2仿真结果如下(完整代码运行后无水印): SNR=15DB   SNR=10DB   SNR=5DB   SNR=1DB ......
  • 基于FPGA的QPSK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不
    1.算法仿真效果本系统在以前写过的QPSK调制解调系统的基础上,增加了高斯信道模块,误码率统计模块,可以验证不同SNR情况下的QPSK误码情况。vivado2019.2仿真结果如下(完整代码运行后无水印):SNR=15DBSNR=10DBSNR=5DBSNR=1DB系统RTL结构图:2.算法涉及理论知识概要QPSK是一种数......
  • 正点原子FPGA新品ZYNQ7035/7045/7100开发板,ZYNQ 7000系列、双核ARM、PCIe2.0、SFPX2!
    正点原子FPGA新品ZYNQ7035/7045/7100开发板,ZYNQ7000系列、双核ARM、PCIe2.0、SFPX2!正点原子Z100ZYNQ开发板,搭载XilinxZynq7000系列芯片,核心板支持XilinxZynq-7035、Zynq-7045和Zynq-7100三种型号。开发板由核心板+底板组成,外设资源丰富,板载2路千兆以太网接口(PS+PL)、PCIe2.0x8、......
  • 【教程4>第3章>第9节】8FSK解调系统的FPGA开发与matlab验证
    本课程学习成果预览 欢迎订阅FPGA/MATLAB/Simulink系列教程《★教程1:matlab入门100例》《★教程2:fpga入门100例》《★教程3:simulink入门60例》《★教程4:FPGA/MATLAB/Simulink联合开发入门与进阶X例》目录1.软件版本2.8FSK解调理论简介3.8FSK解调过程的MATLAB......
  • FPGA案例程序
    由于FPGA编程通常依赖于特定的硬件描述语言(HDL)和FPGA开发环境(如XilinxVivado、IntelQuartus等),以下代码将以VerilogHDL为例,并且是一个高度简化的示例,用于说明FPGA编程的基本概念。以下是一个简单的Verilog模块,该模块实现了一个基本的计数器功能。计数器从0开始计数,每当接......
  • 【FPGA数字信号处理】- 什么是频域?
    在数字信号处理的广袤领域中,频域犹如一座神秘的宝库,等待着我们去开启和探索。它为我们理解和分析信号提供了独特而强大的视角,无论是在通信、音频处理、图像处理还是众多其他科学技术领域,频域都发挥着至关重要的作用。今天,就让我们一同深入这个充满魅力的数字信号处理基础——......
  • 每天分享一个FPGA开源代码(1)- spi
    1、SPI总线进行通信的结构 SPI总线主要包括四根关键信号线:(1)SCK(SerialClock)串行时钟线,由主设备产生,控制数据传输的速率和时机。(2)MOSI(MasterOutSlaveIn)主设备数据输出线,数据由主设备发送给从设备。(3)MISO(MasterInSlaveOut)从设备数据输出线,数据由从设备发......
  • 系统化提升FPGA设计技能:从基础到高级应用的全面指南
    引言FPGA(Field-ProgrammableGateArray,现场可编程门阵列)是现代数字电路设计和嵌入式系统开发中极其重要的工具。与传统的专用集成电路(ASIC)不同,FPGA允许设计人员在硬件层面进行灵活的编程,从而在各种应用中实现高性能和低延迟的解决方案。FPGA在数字信号处理、通信、视频处理、......
  • FPGA第 7 篇,FPGA开发环境搭建,Altrea开发环境搭建,Quartus几个版本之间的区别,以Quartus/
    前言我们知道FPGA的应用领域非常广泛,包括但不限于以下,请看,而且未来应用前景也可以,几乎涵盖了所有涉及数字信号处理和技术实现的领域。上期我们介绍了FPGA的基础知识数字电路,请看,FPGA与数字电路https://blog.csdn.net/weixin_65793170/article/details/141363656?spm=10......
  • FPGA与STM32_FSMC总线通信实验
    在嵌入式系统设计中,FPGA(现场可编程门阵列)与微控制器如STM32的通信是常见的应用场景。STM32通过FSMC(灵活静态存储控制器)接口与FPGA进行数据交换,可以实现高速数据传输和复杂逻辑控制。本文将介绍如何通过FSMC总线实现STM32与FPGA之间的通信。实验目的理解FSMC总线的基本工作......