打工人日报#20250925

打工人日报#20250925

周四,想要学FPGA的感觉爆棚

知识点

FPGA 主流厂商介绍

  • 赛灵思(Xilinx):全球 FPGA 市场的领导者,于 1984 年成立。开发工具为 Vivado 和 ISE。产品丰富,包括面向低端市场的 Spartan 系列;作为过渡的 Artix 系列;高端的 Kintex 和 Virtex 系列;可嵌入 ARM Cortex 系列 CPU 的全可编程 SoC 和 MPSoC 的 Zynq 系列等。其 Versal 系列 ACAP 平台是大数据、AI、自动驾驶等技术的核心支撑,广泛应用于通信、航空航天、AI 加速等众多高端领域。

  • 英特尔(Intel,原 Altera):2015 年英特尔收购 Altera。Altera 曾是与赛灵思齐名的 FPGA 供应商。开发工具为 Quartus Prime。产品有高端的 Stratix 系列,如 Stratix 10;集成 ARM 核的 SoC FPGA 的 Arria 系列;面向消费电子和物联网的低成本 Cyclone 系列;CPLD 产品 MAX 系列等。英特尔将 FPGA 技术与其主流处理器产品结合,推动了 FPGA 在边缘计算、AI 加速以及加密领域的应用创新。

  • 莱迪思(Lattice Semiconductor):成立于 1983 年,是著名的可编程逻辑解决方案供应商。产品有超低功耗的 iCE40 系列,适用于移动设备和边缘计算;ECP 系列可提供低成本、高密度的 FPGA 解决方案;MachXO3/CrossLink 系列为中低密度 FPGA,用于视频接口和工业控制;Certus - NX 系列基于 28nm 工艺,支持高速接口和 AI 推理。该公司专注于低功耗、小型化 FPGA 设计,在消费电子、汽车、通信及工业自动化领域应用广泛。

  • 微芯科技(Microchip,收购 Microsemi):Microsemi 在 2018 年被 Microchip 收购。其 SmartFusion 系列 FPGA 在嵌入式系统、工业自动化及通信领域应用广泛。PolarFire 系列为中端 FPGA,强调低功耗和安全性,适用于航空航天和国防;SmartFusion2/IGLOO2 系列是集成 MCU 的 SoC FPGA,在高可靠性领域,如汽车和工业自动化方面有独特优势。

  • Achronix Semiconductor:提供高性能、高密度 FPGA 方案的美国高科技公司,致力于先进工艺发展新一代 FPGA 器件。其 Speedster 系列产品,尤其是 Speedster22i 是世界上最快的 FPGA 之一,拥有丰富接口,如 100G Ethernet、100G Interlaken、PCI Express 和 DDR3 等,在高速数据处理和大数据、网络通信、数据中心以及高频交易等领域表现出色。

  • 紫光同创

  • 基本信息:深圳市紫光同创电子有限公司成立于 2013 年 12 月,是新紫光集团旗下公司紫光国微的子公司,也是国内 FPGA 综合实力领军者。

  • 产品情况:Titan 系列为高性能 FPGA,如 2024 年推出的基于 FinFET 工艺的 Titan-3 系列,性能对标国际高端 FPGA,应用于 AI 推理和高速计算;Logos 系列是高性价比 FPGA,采用先进成熟工艺和全新 LUT5 结构;Compact 系列为低功耗 CPLD;SoPC 系统平台有 Kosmo 系列,2024 年发布首款国产多核异构 SoPC 芯片 PG2K400,集成 ARM 处理器与 FPGA。

  • 安路科技

  • 基本信息:上海安路信息科技股份有限公司成立于 2011 年 11 月,总部位于上海张江高科技园区,是国内领先的 FPGA 及 FPSoC 设计企业,2021 年在科创板上市。

  • 产品情况:产品矩阵丰富,有 PHOENIX(凤凰)系列,定位高性价比;EAGLE(猎鹰)系列,低功耗低成本;ELF(精灵)系列,为 55nm 低功耗系列;SWIFT(雨燕)系列,为 FPSoC 系列,内置高性能 RISC - V 处理器硬核等;DRAGON(飞龙)系列,是多核 ARM/RISC - V 处理器与安路 FPGA 结合的 FPSoC 系列。

  • 高云半导体

  • 基本信息:广东高云半导体科技股份有限公司成立于 2014 年 1 月 3 日,是专注于 FPGA 芯片正向开发的高新技术企业,是国内唯一获得主流车规认证的 FPGA 企业。

  • 产品情况:晨熙家族(GW2A)为 22/28nm 中高端产品,定位高性能、低功耗,主攻通信、工业及汽车领域;小蜜蜂家族(GW1N)为 55nm 低功耗产品,主打消费电子和边缘计算。

  • 复旦微电子

  • 基本信息:1998 年在复旦大学逸夫楼成立,曾于 2000 年在港交所上市。在 FPGA 领域有近 20 年的研究和发展,是国内为数不多自主研发 FPGA 的研究机构。

  • 产品情况:率先开发了国内首款亿门级 FinFET FPGA、国内首款异构融合亿门级 PSOC 芯片,以及国内首款面向人工智能应用的可重构芯片 FPAI(FPGA+AI)芯片,产品广泛应用于通信、人工智能、工业控制、信号处理等领域。

  • 京微齐力

  • 基本信息:注册在北京经济技术开发区,总部设于亦庄,是国内最早进入自主研发、规模生产、批量销售通用 FPGA 芯片及新一代异构可编程计算芯片的企业之一。

  • 产品情况:有 HME - R(河)系列、HME - M7(华山)系列,M7 系列产品集成了主流的 ARM Cortex - M3 内核和高性能 FPGA;HME - P(飞马)系列,P1 采用了 TSMC 40nm CMOS 工艺,逻辑容量近 60K。

  • 智多晶

  • 基本信息:西安智多晶微电子有限公司成立于 2012 年,总部位于西安,北京设立有 EDA 软件研究中心。

  • 产品情况:已实现 55nm、40nm 工艺中密度 FPGA 的量产,推出了 Seagull 1000 系列、Sealion 2000 系列、Seal 5000 系列等产品。

  • 中科亿海微

  • 基本信息:成立于 2017 年 1 月,是 "可编程芯片与智能微系统" 技术领域的国家专精特新 "小巨人" 企业、中科院技术转化平台。

  • 产品情况:坚持全正向设计技术路线,有亿海神盾系列(2 系),为工业级 FPGA 芯片;亿海龙珠系列(9 系),支持异构计算与高速接口。

FPGA、CPU 和 DSP 对比

FPGA(现场可编程门阵列)、CPU(中央处理器)和 DSP(数字信号处理器)是现代计算和电子系统中常用的核心处理部件,它们在定义、架构、功能和应用场景等方面存在显著差异。

定义

  • FPGA(Field - Programmable Gate Array):是一种集成电路,内部包含大量可配置逻辑单元(如查找表 LUT 和触发器)以及可编程互连资源。用户可通过硬件描述语言(如 VHDL、Verilog)对其进行编程,以实现特定的数字逻辑功能。这种可编程特性使得 FPGA 能在不同应用场景下灵活配置硬件逻辑,适应多样化的需求。
  • CPU(Central Processing Unit):作为计算机系统的核心,是执行计算机指令和处理数据的关键部件。它遵循冯・诺依曼体系结构,由运算器、控制器、寄存器等组成,具备通用计算能力,能处理各种类型的任务,包括操作系统管理、应用程序执行、数据处理等。
  • DSP(Digital Signal Processor):是一种专门设计用于快速、高效处理数字信号的微处理器。其架构针对数字信号处理算法进行优化,如数字滤波、快速傅里叶变换(FFT)、卷积运算等,旨在实时处理大量数字信号数据,满足信号处理领域对运算速度和精度的严格要求。

架构特点

  • FPGA:
  • 并行处理:拥有众多可独立配置的逻辑单元,能够并行执行多个逻辑操作。例如,在图像处理中,可同时对图像的不同像素点进行处理。
  • 灵活性:通过编程可改变硬件逻辑结构,适用于不同算法和应用场景的快速迭代开发。例如,在通信系统中,可根据不同通信协议灵活配置逻辑实现调制解调功能。
  • 硬件资源定制:内部资源如逻辑单元、存储器、乘法器等可按需分配和组合,以满足特定应用对资源的需求。
  • CPU:
  • 通用指令集:具有丰富的通用指令集,可处理各种类型的任务,但执行特定功能时可能并非最优。例如,执行复杂数学运算指令时,相比专门的 DSP 可能效率较低。
  • 顺序执行:通常采用顺序执行指令的方式,在一个时间点主要处理一个任务流,虽然有多核 CPU 可并行处理多任务,但任务调度和上下文切换存在开销。
  • 缓存结构:配备多级缓存,用于存储频繁访问的数据和指令,以提高数据访问速度,但缓存大小和命中率会影响性能。
  • DSP:
  • 哈佛结构:通常采用哈佛结构,将程序存储器和数据存储器分开,允许同时访问程序和数据,提高数据处理速度。例如,在实时信号处理中,能快速读取数据和指令进行运算。
  • 专用硬件乘法累加器:集成了专门的乘法累加器(MAC)硬件电路,对乘法和累加运算具有极高效率,这是数字信号处理算法中常见的操作。
  • 流水线技术:广泛应用流水线技术,使多个操作能重叠执行,进一步提高处理速度,适用于处理连续的数据流。

性能表现

  • FPGA:在并行处理大量简单任务或对特定算法进行硬件加速时性能出色,如在加密解密、高速数据采集与预处理等场景中,能提供高带宽和低延迟处理能力。但其编程和配置相对复杂,开发周期较长,不适合执行通用的、复杂逻辑的软件任务。
  • CPU:通用性强,能处理各种类型的任务,包括操作系统、数据库管理、网络服务等。在处理复杂逻辑、任务调度和通用计算方面具有优势,但在处理大规模并行数据或特定领域(如数字信号处理)的高性能需求时,可能性能受限,尤其在实时性要求高的场景下。
  • DSP:专注于数字信号处理领域,对数字信号处理算法的执行效率极高,能在短时间内处理大量数据,满足实时性要求。但相比 CPU,其通用性较差,处理非信号处理任务的能力有限。

应用场景

  • FPGA:常用于通信领域(如 5G 基站的信号处理、软件定义无线电)、图像处理(图像识别、视频编码)、军事和航空航天(雷达信号处理、卫星通信)以及需要快速原型开发和定制硬件逻辑的场景。
  • CPU:广泛应用于通用计算机系统(个人电脑、服务器)、操作系统管理、办公软件、数据库管理系统、网络服务器等,是处理各种通用任务的核心。
  • DSP:主要应用于音频处理(语音识别、音频编码)、视频处理(视频编解码)、通信系统(调制解调、信道均衡)、工业控制(电机控制、机器人控制)等对数字信号实时处理要求高的领域。

FPGA 组成单元 每个单元介绍

FPGA(现场可编程门阵列)主要由可编程逻辑单元、可编程互连资源、输入输出单元和其他辅助单元组成。以下是对各组成单元的详细介绍:

可编程逻辑单元

  • 查找表(LUT,Lookup Table)
  • 结构与原理:LUT 本质上是一种基于真值表的数据存储结构,通常为 4 - 6 输入。以 4 输入 LUT 为例,它有 24=16 种可能的输入组合,每种组合对应一个存储在 LUT 中的输出值。当输入信号给到 LUT 时,LUT 会根据输入信号的组合,直接输出预先存储在对应位置的值,从而实现逻辑功能。例如,要实现一个 4 输入的与逻辑函数,只需将 16 种输入组合对应的与运算结果存入 LUT 中。
  • 功能:是实现组合逻辑的核心部件。通过配置 LUT 中存储的内容,可实现任意的 n 输入组合逻辑函数,使得 FPGA 能够灵活地构建各种数字电路,如编码器、译码器、多路选择器等。
  • 触发器(Flip - Flop)
  • 结构与原理:触发器是一种具有记忆功能的基本逻辑单元,常见的有 D 触发器、JK 触发器等。以 D 触发器为例,在时钟信号的触发沿(上升沿或下降沿),D 触发器会将输入信号 D 的值存储起来,并在输出端 Q 输出。在时钟信号无效期间,输出保持不变,从而实现数据的存储和同步处理。
  • 功能:用于实现时序逻辑功能,在 FPGA 中,与 LUT 配合使用,可构建计数器、寄存器、状态机等时序电路。例如,多个 D 触发器可级联组成移位寄存器,实现数据的串行移位操作。
  • 可配置逻辑块(CLB,Configurable Logic Block)
  • 结构与原理:CLB 是 FPGA 中实现逻辑功能的基本单元,它通常由多个 LUT 和触发器组成,不同厂商的 CLB 具体结构可能有所差异,但基本功能相似。CLB 内部的 LUT 实现组合逻辑,触发器实现时序逻辑,二者通过内部连线进行连接和协同工作。
  • 功能:作为一个相对独立的逻辑模块,CLB 可实现复杂的逻辑功能,多个 CLB 相互配合,可构建大规模的数字逻辑电路系统,如微处理器内核、数字信号处理模块等。

可编程互连资源

  • 布线资源
  • 结构与原理:布线资源包括不同长度和类型的金属导线,它们分布在 FPGA 芯片内部,用于连接各个可编程逻辑单元、输入输出单元以及其他功能模块。这些导线通过可编程的开关元件(如传输门)进行连接和断开控制,用户通过编程配置这些开关,来确定信号在芯片内部的传输路径。
  • 功能:实现 FPGA 内部各个模块之间的信号传递,确保不同逻辑功能之间能够按照设计要求进行数据交互。布线资源的灵活性和性能直接影响 FPGA 整体的逻辑实现能力和工作速度。例如,在设计一个复杂的数字系统时,需要合理利用布线资源,将各个功能模块连接起来,以实现正确的数据流向和系统功能。
  • 可编程开关
  • 结构与原理:可编程开关是控制布线资源连接的关键元件,常见的可编程开关有传输门、多路选择器等。以传输门为例,它由一个 NMOS 管和一个 PMOS 管并联组成,通过控制栅极信号来决定传输门的导通与截止,从而实现信号的传输与阻断。多路选择器则根据选择信号,从多个输入信号中选择一个输出。
  • 功能:根据用户的编程配置,控制布线资源的连接状态,实现不同逻辑单元之间的灵活互连。可编程开关的性能(如开关速度、导通电阻等)会影响 FPGA 的信号传输质量和工作频率。

输入输出单元(IOB,Input/Output Block)

  • 结构与原理:IOB 位于 FPGA 芯片的边缘,是 FPGA 与外部电路进行数据交互的接口。每个 IOB 通常包含输入缓冲器、输出缓冲器、数据寄存器、电平转换电路等部分。输入缓冲器用于接收外部输入信号,并进行信号的缓冲和预处理;输出缓冲器则将 FPGA 内部产生的信号驱动输出到外部电路;数据寄存器可对输入或输出的数据进行寄存,实现数据的同步处理;电平转换电路用于匹配 FPGA 内部逻辑电平与外部电路的电平标准。
  • 功能:实现 FPGA 与外部设备(如传感器、执行器、其他芯片等)之间的数据传输和信号交互。IOB 支持多种不同的电平标准(如 TTL、CMOS、LVDS 等),可适应不同外部设备的接口需求。例如,在与传感器连接时,IOB 可接收传感器输出的模拟信号经过 A/D 转换后的数字信号,并将其输入到 FPGA 内部进行处理;在与显示设备连接时,IOB 可将 FPGA 内部处理后的图像数据输出到显示设备进行显示。
    其他辅助单元

- 配置存储器

  • 结构与原理:配置存储器用于存储 FPGA 的编程配置数据,这些数据决定了 FPGA 内部可编程逻辑单元、互连资源以及输入输出单元的工作状态和连接方式。配置存储器通常采用 SRAM(静态随机存取存储器)、Flash 等存储技术。基于 SRAM 的配置存储器,其数据在掉电后会丢失,因此每次上电时需要重新加载配置数据;而基于 Flash 的配置存储器则具有掉电数据不丢失的特性。
  • 功能:存储 FPGA 的配置信息,在 FPGA 上电或重新配置时,将存储的配置数据加载到 FPGA 内部,使其按照用户设计的逻辑功能工作。配置存储器的容量和访问速度会影响 FPGA 的配置时间和可实现的逻辑规模。
  • 时钟管理单元(CMU,Clock Management Unit)
  • 结构与原理:CMU 用于产生、分配和管理 FPGA 内部的时钟信号。它通常包含锁相环(PLL,Phase - Locked Loop)、时钟分频器、时钟倍频器等电路模块。PLL 可根据输入的参考时钟信号,产生与参考时钟信号频率成倍数关系且相位锁定的时钟信号;时钟分频器和倍频器则用于对时钟信号进行频率调整,以满足不同逻辑模块对时钟频率的需求。
  • 功能:为 FPGA 内部的各个逻辑模块提供稳定、精确且满足不同频率要求的时钟信号。合理的时钟管理对于 FPGA 的正常工作和高性能运行至关重要,它可确保数据在不同逻辑模块之间的同步传输和处理,避免出现时序错误。例如,在高速数据处理电路中,需要通过 CMU 产生高频且稳定的时钟信号,以保证数据的快速准确处理。

阅读

开始新旅途

《杀死一只知更鸟》

第一章结束,先记录一个人物

感恩

天气不错

相关推荐
hahaha60163 小时前
PS_PL设计
fpga开发
ARM+FPGA+AI工业主板定制专家3 小时前
基于RK3576+MCU+FPGA的工业自动化控制板解决方案
fpga开发
Kevinhbr4 小时前
CSP-J/S初赛赛后总结
c++·程序人生·ccf csp-j/s
9527华安6 小时前
FPGA实现双目摄像头红蓝3D融合,提供6套工程源码和技术支持
图像处理·3d·fpga开发·3d融合
#include<菜鸡>21 小时前
AXI_CAN IP 简单使用。(仿真、microblaze)
网络协议·tcp/ip·fpga开发
郝学胜-神的一滴21 小时前
QT与Spring Boot通信:实现HTTP请求的完整指南
开发语言·c++·spring boot·后端·qt·程序人生·http
余生H21 小时前
Macbook突然无法开机和充电导致项目无法编译-《时光小铺》的开发意外事故~另寻求维修高手指导
程序人生·全栈
风已经起了1 天前
FPGA学习笔记——图像处理之亮度调节(乘法型)
图像处理·笔记·学习·fpga开发·fpga
文火冰糖的硅基工坊1 天前
[硬件电路-320]:模拟电路与数字电路,两者均使用晶体管(如BJT、MOSFET),但模拟电路利用其线性区,数字电路利用其开关特性。
单片机·嵌入式硬件·数学建模·fpga开发·系统架构·信号处理