第1讲:FPGA 系统设计概述
学习目标
通过本章学习,读者应达到以下目标。首先,能够从数字系统实现平台的角度理解可编程逻辑器件与专用集成电路的基本差异,掌握 FPGA、CPLD 与 ASIC 的基本概念及其相互关系。其次,能够从体系结构层面认识 FPGA 的主要资源组成,理解其在逻辑实现、并行计算和系统集成中的工程价值。再次,能够结合开发周期、性能、功耗、成本与风险等因素,对 PLD 与 ASIC 的适用场景进行初步分析。最后,能够从产业生态与技术演进的角度,理解 FPGA 系统设计课程的学习意义,并为后续章节中硬件描述、时序设计和系统实现等内容的学习建立整体框架。
引例:为何许多复杂数字系统先用 FPGA 实现
在现代电子系统研发过程中,设计者往往需要在“尽快实现功能”和“最终获得最优性能”之间进行平衡。例如,在高速数据采集、通信基带处理、工业控制器或智能感知设备的研发中,系统需求通常并非在项目初期就完全确定,接口协议、算法流程乃至硬件资源分配都可能随着实验结果和应用需求而不断调整。如果直接采用 ASIC 方案,一旦前期判断失误,后续修改将面临极高的时间成本和经济成本。相较之下,FPGA 允许设计者在硬件层面快速迭代,通过反复下载配置文件完成逻辑更新,因此能够显著降低系统开发初期的不确定性风险。
以一套高速图像处理系统为例,系统最初可能仅要求完成图像采集与简单预处理,但在进一步开发过程中,往往需要增加边缘检测、目标提取、数据压缩和高速接口传输等复杂功能。如果采用 FPGA 平台,设计者可以在原有结构基础上逐步扩展模块,并通过板级实验验证算法效果和实时性能;若待系统功能稳定、出货规模明确之后,再考虑将关键模块转化为 ASIC 以进一步优化性能和成本,则能够形成更合理的技术路线。由此可见,FPGA 不仅是一种硬件实现平台,更是连接算法验证、系统原型和产品化设计的重要桥梁。本章所讨论的许多基本问题,实际上都可以在这一典型工程场景中得到体现。
在现代电子信息技术体系中,数字系统设计已成为计算机、通信、工业控制、汽车电子、人工智能等众多领域的重要基础。随着系统规模不断扩大、功能日趋复杂、性能指标持续提升,以及产品迭代周期不断缩短,如何选择恰当的硬件实现平台,已经成为数字系统设计中的关键问题之一。就实现路径而言,当前主流的数字硬件平台大体可以分为两类:一类是以 FPGA 和 CPLD 为代表的可编程逻辑器件,另一类是以 ASIC 为代表的专用集成电路。前者强调功能实现的灵活性与开发过程的快速性,后者则强调面向特定应用的高性能、低功耗以及大规模量产条件下的成本优势。二者并非简单的替代关系,而是在不同应用背景、不同开发阶段与不同工程目标下形成了互补性的技术路线。
本章作为全书的起始章节,旨在建立 FPGA 系统设计所需的总体认识。通过对可编程逻辑器件的发展脉络、ASIC 的基本设计思想、两类实现平台的技术差异、产业生态以及未来趋势的系统梳理,读者可以在进入后续具体设计方法与工程实践之前,对 FPGA 在数字系统设计中的定位形成较为清晰的理解。需要说明的是,市场规模、产品型号和产业格局会随时间持续变化,因此本章在涉及产业与市场分析时,更强调技术逻辑、体系结构特点与发展规律,而不以短期统计数据的绝对数值作为论述重点。
可编程逻辑器件的基本概念
可编程逻辑器件(Programmable Logic Device,PLD)是指用户能够在器件制造完成之后,借助相应开发工具和配置手段,自主定义其内部逻辑功能的数字集成电路。与传统固定功能芯片不同,PLD 并不在出厂时唯一对应某一种确定功能,而是为用户保留了逻辑实现和互连配置的自由度。设计者通过硬件描述语言、原理图输入等方式给出目标电路,经过综合、布局布线以及配置下载等步骤后,器件即可表现为预期的数字系统功能。
从数字系统设计方法的发展角度看,PLD 的意义并不局限于“可编程”这一表面特征,更重要的是它改变了硬件系统的实现模式。早期复杂数字系统通常由大量中小规模标准逻辑器件搭接而成,这种方法在设计规模较小时尚可接受,但随着系统复杂度提升,便逐渐暴露出布线复杂、调试困难、可靠性不足以及维护不便等问题。PLD 的出现使大量分散的逻辑功能可以集中到一颗器件中实现,从而显著提高系统集成度,缩短开发周期,并改善工程实现的一致性与可维护性。随着半导体工艺和电子设计自动化技术的发展,PLD 已由早期简单逻辑替代器件逐步演化为能够承担复杂控制、协议处理、算法加速和系统集成任务的重要平台。
从发展历程来看,PLD 大致经历了 SPLD、CPLD 和 FPGA 三个主要阶段。简单可编程逻辑器件(Simple PLD,SPLD)是较早出现的产品形式,典型代表包括 PAL 和 GAL。此类器件逻辑资源有限,主要用于实现较为简单的组合逻辑与时序逻辑功能,例如地址译码、片选控制和小规模状态控制等。尽管其容量较小,但在数字系统设计发展史上具有重要地位,因为它首次将“用户可定义硬件逻辑”的思想广泛引入实际工程应用。
复杂可编程逻辑器件(Complex PLD,CPLD)是在 SPLD 基础上的进一步发展。CPLD 一般由多个逻辑块和相对规则的互连结构构成,具有较好的时序可预测性和较稳定的输入输出特性,因此常用于控制逻辑实现、接口桥接、时序协调和系统启动管理等应用场景。与 FPGA 相比,CPLD 的逻辑规模通常较小,但结构规整、控制特性突出,因而更适合中小规模、以控制为主导的数字系统。在不少嵌入式系统和工业电子设备中,CPLD 仍承担着电源时序控制、总线接口转换和外围逻辑整合等任务。
现场可编程门阵列(Field Programmable Gate Array,FPGA)则代表了可编程逻辑器件发展的主要方向。现代 FPGA 内部通常包含大量可配置逻辑块、可编程互连资源、输入输出单元,以及片上存储器、时钟管理模块、数字信号处理单元乃至嵌入式处理器等专用资源。与早期器件相比,FPGA 在逻辑容量、并行处理能力以及系统集成能力等方面均有显著提升。它不仅可以实现复杂控制逻辑,还能够承担数字信号处理、图像与视频处理、高速接口协议实现以及人工智能推理加速等计算密集型任务。因此,在当代数字系统设计中,FPGA 已不再只是单纯的“逻辑实现器件”,而更接近一种具有系统级实现能力的可重构硬件平台。
需要进一步指出的是,“可编程”并不意味着所有 PLD 都能够在系统运行过程中任意动态修改功能。严格而言,不同器件在配置方式、重构机制和应用场景上存在明显差异。有些 FPGA 支持在线重配置或部分重配置,而许多 CPLD 和入门级 FPGA 则主要面向上电配置后长期稳定运行的应用。因此,在工程语境下讨论可编程性时,应当结合具体器件架构和应用需求进行分析,而不宜将其简单理解为任意时刻都可动态改变硬件功能。
FPGA 的体系结构与工程价值
在各类可编程逻辑器件中,FPGA 是本课程讨论的核心对象。理解 FPGA 的体系结构,是后续学习 HDL 建模、同步时序设计、约束编写、综合实现和板级验证的前提。一般而言,FPGA 的主体结构可以概括为逻辑单元阵列、可编程互连网络以及输入输出接口三大部分,并在此基础上进一步集成多种专用硬件资源。
逻辑单元通常由查找表、触发器以及进位逻辑等组成。查找表用于实现任意组合逻辑,触发器用于构成时序逻辑,二者共同构成 FPGA 实现数字电路的基本资源。与传统门级实现方式相比,基于查找表的逻辑实现具有较强的通用性和结构规则性,这也是 FPGA 能够灵活适配多种电路功能的重要原因。为了提高算术运算效率,现代 FPGA 还普遍提供专用高速进位链,用于高效实现加法器、计数器、比较器等常见逻辑结构。
可编程互连网络负责连接芯片内部各处的逻辑资源。由于数字系统的复杂性不仅来自局部逻辑单元本身,也来自信号之间的连接关系,因此互连结构对 FPGA 的性能、面积利用率和功耗均具有重要影响。事实上,FPGA 相对于 ASIC 在速度和能效上的差距,在很大程度上正来源于可编程互连所引入的额外延迟与资源开销。也正因如此,布局布线在 FPGA 设计流程中占据关键地位,设计者需要通过合理的模块划分、层次组织、时序约束和资源规划,尽可能提高最终实现效果。
除通用逻辑资源外,现代 FPGA 通常还集成块存储器、DSP 乘加单元、时钟管理模块、高速串行收发器以及片上处理系统等专用资源。这意味着 FPGA 已经从单纯的逻辑器件逐步演化为异构片上系统平台。例如,在数字通信和图像处理应用中,DSP 单元能够高效完成乘法、累加和滤波等运算;在嵌入式控制系统中,片上处理器与可编程逻辑的协同工作能够形成典型的 SoC 架构。由此可见,学习 FPGA 不仅需要掌握逻辑设计基础,还需要理解体系结构、接口协议以及软硬件协同优化等系统性问题。
从工程实践角度看,FPGA 的重要价值主要体现在开发灵活、验证高效以及系统实现能力强等方面。首先,FPGA 适合需求尚未完全稳定或需要快速迭代的项目,因为设计功能可以在较短周期内完成修改和验证。其次,FPGA 无需承担 ASIC 流片所涉及的高额前期费用,因此在中小批量产品、科研项目和教学实验中具有明显优势。再次,FPGA 能够在保持较强并行处理能力的同时,为算法落地、系统验证与架构探索提供切实可行的平台,这也是其长期活跃于通信、工业控制、航空航天以及高性能计算等领域的重要原因。
ASIC 的基本概念及其实现特点
专用集成电路(Application-Specific Integrated Circuit,ASIC)是为特定应用目标而设计的集成电路。与 PLD 的可重构特性不同,ASIC 在完成设计、制造和封装之后,其内部逻辑功能和物理连接关系即被固定,通常不能再由用户进行功能层面的重新配置。正因为这种“面向特定任务的固化实现”方式,ASIC 在性能、功耗和面积等方面具有显著优势。
从设计方法上看,ASIC 通常可以分为全定制设计、半定制设计和结构化设计等类型。全定制 ASIC 在晶体管级乃至版图级进行深度优化,能够最大限度发挥制造工艺潜力,常用于高性能处理器、存储器等对性能和面积极端敏感的产品。半定制 ASIC 则以标准单元库为基础,完成逻辑综合和物理实现,是工业界最常见的 ASIC 设计方式。结构化 ASIC 介于两者之间,通常通过预定义底层结构缩短设计周期并降低开发风险。尽管不同教材和企业在分类表述上略有差异,但其共同反映了 ASIC 设计在性能、成本和灵活性之间的多层次平衡关系。
ASIC 的核心优势在于能够围绕目标应用进行高度专门化优化。由于其内部无需像 FPGA 那样保留大量可编程配置资源,逻辑路径更短、寄生效应更小、单位面积上的有效功能密度更高,因此通常能够达到更高的工作频率和更低的功耗水平。对于智能终端主控芯片、车规级控制芯片、大规模人工智能加速器以及网络交换芯片等产品而言,ASIC 往往是最终量产形态中更具竞争力的选择。
然而,ASIC 的代价同样十分显著。其前期开发流程复杂,通常涉及体系结构设计、RTL 设计、功能验证、逻辑综合、静态时序分析、物理设计、设计规则检查、版图验证、可测试性设计以及流片与封测等多个环节。整个流程不仅对团队规模、开发经验和工具链有较高要求,而且一旦设计错误在流片后暴露,重新修版将带来巨大的时间和经济损失。因此,ASIC 虽然适用于大批量、成熟方案和高性能需求场景,但并不适合作为所有项目的起点。
PLD 与 ASIC 的比较分析
在数字系统设计中,PLD 与 ASIC 的选型并不存在脱离应用背景的绝对优劣,而是取决于系统目标、项目阶段、成本约束和性能要求。二者最根本的差异在于:PLD 通过保留可编程资源换取实现灵活性,而 ASIC 则通过固化实现换取性能、功耗和单位成本优势。
从设计灵活性来看,PLD 更适合快速验证和需求变化较频繁的场合。设计者可以在较短时间内完成从功能描述到硬件实现的闭环,并在发现问题后迅速修改设计并重新下载配置文件。对于高校教学、科研原型、中小批量产品以及前期体系结构探索而言,这种能力具有重要意义。相较之下,ASIC 一旦完成制造,其功能基本固定,任何重大逻辑错误都可能导致重新流片,因此其修改成本远高于 PLD。
从性能与功耗的角度分析,ASIC 通常优于 FPGA。这种优势并非仅来自制造工艺本身,而是来自体系结构和物理实现的深度优化。FPGA 内部需要大量可编程开关、配置存储单元和通用互连网络,这些结构不可避免地带来额外延迟和功耗。即使在相同工艺节点下,FPGA 在速度和能效方面也往往难以达到 ASIC 的水平。因此,当应用对吞吐率、时延、能效比或热设计功耗有严格要求时,ASIC 通常更具优势。
在成本方面,二者呈现出不同的分布特征。PLD 的前期投入较低,开发者无需承担昂贵的掩模和流片费用,因此适合中小批量生产与原型开发;但其单片成本通常较高,特别是在大规模量产条件下,成本劣势会更加明显。ASIC 则恰好相反,其前期非重复性工程费用较高,包括 EDA 工具许可、知识产权模块授权、流片以及验证等多方面支出,但当出货规模达到一定水平后,单位芯片成本可以显著下降。因此,是否采用 ASIC,往往与产品的市场规模、生命周期和商业模式密切相关。
开发周期同样是两类方案的重要分界因素。FPGA 项目通常可以在数周到数月内完成原型验证,而 ASIC 项目往往需要更长时间,并伴随严格的验证与签核流程。在竞争激烈、上市时间敏感的行业中,FPGA 因其开发效率较高,常被用于抢占市场窗口;待产品需求趋于稳定、销量预期明确后,再进一步演进为 ASIC。这种“先 FPGA 验证、后 ASIC 固化”的路径,已经成为产业界较为典型的开发模式。
从风险控制角度看,FPGA 具有较明显优势。其可重复编程特性使设计错误的修复成本相对较低,因而适合用于方案探索、算法验证和教学实验。相比之下,ASIC 要求设计在流片前达到极高的正确性,因此必须依赖完备的验证体系,包括功能验证、形式验证、时序验证以及可测试性分析等。由此可见,FPGA 与 ASIC 在工程流程中的角色并非相互对立,而是经常以前后衔接、相互配合的方式共同服务于复杂数字系统的开发。
FPGA 与 CPLD 的应用场景
尽管 FPGA 和 CPLD 同属于可编程逻辑器件,但二者在应用定位上存在明显差异。CPLD 的优势主要体现在结构规整、上电行为明确、控制逻辑实现稳定以及部分器件具备较好的非易失特性,因此更适合承担系统启动配置、地址译码、总线接口转换、电源时序控制以及中小规模状态机设计等任务。在一些对成本、可靠性和启动时序有明确要求的工业系统中,CPLD 仍具有稳定的应用空间。
相比之下,FPGA 更适合复杂逻辑和高并行计算场景。在通信系统中,FPGA 常用于基带处理、协议解析、数据帧重组和高速接口桥接;在工业控制领域,FPGA 可用于多轴运动控制、机器视觉预处理和实时数据采集;在消费电子中,FPGA 可承担图像处理、视频链路管理和显示时序控制;在航空航天、国防电子和科研仪器中,FPGA 还因其灵活性和可定制性被广泛应用于高可靠实时处理系统。近年来,随着片上异构资源的持续增加,FPGA 在边缘计算、智能感知和人工智能推理加速中的作用也日益突出。
此外,FPGA 还是 ASIC 设计流程中的重要验证平台。许多复杂芯片在正式流片之前,往往先利用 FPGA 对关键模块乃至整个系统进行原型验证。与软件仿真相比,FPGA 原型验证能够提供更接近真实硬件的运行环境,从而帮助设计者更早暴露系统级问题。正因如此,FPGA 在芯片设计产业链中兼具“最终产品形态”和“开发验证平台”双重身份。
产业生态与市场格局
从产业层面看,FPGA 和 CPLD 所在的可编程逻辑器件市场具有较高的技术门槛。其核心竞争力不仅体现在芯片本身,还体现在开发工具、知识产权模块、参考设计、技术文档以及生态支持等完整体系上。对于用户而言,是否选择某一器件平台,往往并不只是比较逻辑资源和器件价格,还需要综合考虑工具链成熟度、学习成本、第三方 IP 资源、开发社区活跃度以及长期供货能力等因素。
在国际市场中,AMD、Intel、Lattice 和 Microchip 等厂商在不同层级和不同方向上具有较强影响力。其中,高端 FPGA 市场长期由少数国际厂商主导,相关企业在通信、数据中心、嵌入式 SoC FPGA、高速接口以及低功耗可编程逻辑等方向形成了较深的技术积累。由于 FPGA 产品的竞争不仅取决于单颗芯片的逻辑规模和工艺水平,也取决于配套工具链、IP 生态和应用支持能力,因此这一领域呈现出较明显的高壁垒特征。
中国本土 FPGA 产业近年来发展较快。在国产化需求、产业政策支持和下游应用牵引的共同作用下,一批本土企业逐步形成了覆盖不同性能层级的产品布局,并在工业控制、通信设备、教育科研和部分专用领域取得了实质性进展。与国际领先厂商相比,国内企业在高端器件性能、完整工具生态、IP 丰富度和国际市场影响力等方面仍存在差距,但在本地化服务、应用适配以及自主可控需求背景下,相关产业的发展前景值得持续关注。
需要特别指出的是,市场规模、市场份额和厂商排名会受到统计口径、产品分类和时间区间的影响,因此教材写作中不宜将短期数字绝对化。总体而言,FPGA 市场近年来保持增长态势,其主要驱动力来自通信基础设施升级、数据中心异构计算、工业自动化、汽车电子以及人工智能等领域。相较之下,CPLD 市场总体规模相对较小、增长较为平稳,但在控制与接口类应用中仍具有较强生命力。从长期趋势看,FPGA 代表了高性能可重构计算平台的重要发展方向,而 CPLD 则继续在控制型和成本敏感型场景中发挥作用。
开发工具与设计方法的差异
PLD 与 ASIC 的差异不仅体现在硬件实现形式上,也体现在设计方法与开发环境上。FPGA 设计通常依赖器件厂商提供的专用 EDA 工具,例如 AMD Vivado、Intel Quartus Prime 以及国内厂商配套的开发环境等。这些工具一般集成了综合、约束、布局布线、时序分析、配置下载和在线调试等功能,适合形成从设计输入到硬件验证的完整开发闭环。由于工具与器件平台高度绑定,开发者通常能够较快完成设计迭代和实验验证。
ASIC 设计工具链则更为复杂,往往由多个专业软件和多个团队协同构成完整流程。例如,前端设计可能涉及仿真器、综合器和形式验证工具,后端实现则依赖布局布线、寄生参数提取、静态时序分析、功耗分析和物理验证工具。此外,ASIC 设计还需要结合工艺设计套件、标准单元库、存储器编译器以及第三方 IP。由此可见,FPGA 设计在教学和工程入门上的门槛通常低于 ASIC,这也是高校普遍以 FPGA 作为数字系统设计实践平台的重要原因之一。
从设计方法的角度看,学习 FPGA 有助于建立现代数字系统设计的基本观念。尽管 FPGA 与 ASIC 在物理实现层面有所不同,但二者在 RTL 建模、模块化设计、同步时序设计、接口协议划分和验证思维等方面具有较强共通性。许多优秀的 FPGA 设计规范同样适用于 ASIC 前端设计。因此,掌握 FPGA 系统设计,不仅能够服务于可编程逻辑项目本身,也为进一步学习数字集成电路设计奠定了扎实基础。
技术发展趋势
当前,可编程逻辑器件的发展正呈现出明显的系统化、异构化和平台化趋势。早期 FPGA 主要承担“可编程逻辑替代”的角色,而现代 FPGA 已逐步演化为集逻辑、存储、计算、互连和处理于一体的异构硬件平台。未来一段时期内,FPGA 的发展重点将不再局限于逻辑资源规模的增加,更重要的是体系结构层面的持续优化,例如更高效的 DSP 结构、更丰富的片上存储层次、更高速的串行接口以及更紧密的处理器耦合方式。
在应用层面,人工智能、边缘计算、高速网络和车载电子将持续推动 FPGA 技术演进。对于人工智能负载而言,FPGA 的优势在于能够根据具体模型和数据流特征灵活定制并行结构,从而在功耗、吞吐率和时延之间实现细粒度平衡。对于高速通信与网络处理而言,FPGA 则凭借其并行流水处理结构和高速收发能力,适合承担协议卸载和数据通路加速任务。可以预见,在通用处理器与专用加速器之间,FPGA 将继续保持其独特的技术地位。
CPLD 的未来发展则更多体现为低功耗、小封装和高可靠性方向。在电源管理、接口控制、启动配置和边缘节点控制等场景中,CPLD 仍将长期存在。尤其在嵌入式系统和工业电子领域,对“稳定、低成本、可长期供货”的需求并不会消失,因此 CPLD 不会因 FPGA 的持续发展而完全退出应用舞台。
另一方面,先进封装、芯粒和异构集成技术的发展,也在重新塑造 FPGA 与 ASIC 之间的边界。未来高性能系统可能不再完全依赖单一芯片形态,而是由多个不同功能的芯粒在封装层面组合而成。在这一趋势下,FPGA 作为可重构模块嵌入更大系统中的可能性将进一步提高,而 ASIC 与 FPGA 的协同设计也将更加普遍。
本课程的定位与学习意义
本课程以 FPGA 系统设计为主线,关注从硬件描述、逻辑综合、时序约束到板级验证的完整设计流程。其学习目标并不仅限于掌握某一种开发工具或某一类实验板卡的使用方法,而在于帮助读者建立现代数字系统设计的整体思维方式。通过学习 FPGA,读者将逐步理解抽象硬件建模、同步时序设计、资源与性能权衡、模块化系统构建以及工程化验证方法等关键思想。
对于电子信息、自动化、计算机工程及相关专业的学生而言,FPGA 是连接数字电路、计算机组成、嵌入式系统、数字信号处理和集成电路设计的重要桥梁。它既保留了硬件设计的本质特征,又具备较强的实验可操作性和系统实现能力,因此非常适合作为本科和研究生阶段的实践教学平台。通过系统学习,读者不仅能够完成中小规模 FPGA 项目,还能够为进一步进入 SoC 设计、数字集成电路设计、异构计算以及智能硬件开发等方向奠定基础。
本章小结
本章作为全书的绪论,围绕 FPGA 系统设计的背景、对象与方法进行了总体性介绍。首先,从数字系统实现平台的角度出发,说明了可编程逻辑器件与专用集成电路在现代电子系统中的基本地位,并指出二者分别代表“灵活可重构实现”与“面向特定应用的固化实现”两种重要技术路线。随后,围绕 PLD 的发展脉络,对 SPLD、CPLD 和 FPGA 的概念、结构特点及适用范围进行了梳理,从而为后续深入学习 FPGA 奠定了基本认知基础。
在此基础上,本章进一步分析了 FPGA 的体系结构与工程价值。通过对查找表、触发器、可编程互连、块存储器、DSP 单元、时钟管理模块以及片上处理系统等资源的介绍,可以看出,现代 FPGA 已经由早期的逻辑替代器件发展为具备较强系统实现能力的异构硬件平台。其核心优势不仅体现在逻辑功能的可配置性上,更体现在快速原型验证、并行处理能力以及软硬件协同实现方面。
与 FPGA 相对应,本章还介绍了 ASIC 的基本概念、实现特点及设计方法,指出 ASIC 在性能、功耗、面积和大规模量产成本方面具有显著优势,但同时也具有开发周期长、前期投入大、验证要求高以及修改代价昂贵等特点。因此,在工程实践中,FPGA 与 ASIC 并不是彼此排斥的关系,而是在不同阶段、不同规模和不同目标约束下形成互补性的实现路径。许多复杂电子系统往往先借助 FPGA 完成架构探索与功能验证,待方案成熟后再向 ASIC 演进,以获得更优的产品性能与成本结构。
最后,本章还从应用场景、产业生态、开发工具和技术趋势等多个维度,对 FPGA、CPLD 与 ASIC 的现实定位进行了分析。总体而言,FPGA 是数字系统设计教学、科研开发和中小批量工程应用中极具价值的平台,也是学习现代数字硬件设计思想的重要入口。掌握 FPGA 系统设计,不仅有助于完成具体的可编程逻辑项目,也能够为进一步学习片上系统、数字集成电路设计和异构计算体系结构奠定坚实基础。
术语表
| 术语 | 英文全称 | 含义说明 |
|---|---|---|
| PLD | Programmable Logic Device | 可编程逻辑器件的统称,指用户能够在器件制造完成后通过配置实现特定逻辑功能的数字集成电路。 |
| SPLD | Simple Programmable Logic Device | 简单可编程逻辑器件,逻辑规模较小,常用于实现基础组合逻辑和简单时序逻辑。 |
| CPLD | Complex Programmable Logic Device | 复杂可编程逻辑器件,通常由多个逻辑块和规则互连结构组成,适用于控制逻辑和接口管理。 |
| FPGA | Field Programmable Gate Array | 现场可编程门阵列,具有较大的逻辑容量和丰富的片上资源,是现代可重构数字系统的重要实现平台。 |
| ASIC | Application-Specific Integrated Circuit | 专用集成电路,面向特定应用进行专门设计,制造完成后功能固定。 |
| HDL | Hardware Description Language | 硬件描述语言,用于描述数字电路的结构、行为和时序关系,常见语言包括 Verilog 和 VHDL。 |
| RTL | Register Transfer Level | 寄存器传输级,是数字硬件设计中的常用抽象层次,用于描述寄存器之间的数据传送及其控制逻辑。 |
| LUT | Look-Up Table | 查找表,是 FPGA 实现组合逻辑的基本单元之一,可通过配置实现不同逻辑函数。 |
| CLB | Configurable Logic Block | 可配置逻辑块,是 FPGA 内部用于构成逻辑阵列的基本资源模块。 |
| DSP | Digital Signal Processing / DSP Block | 在 FPGA 中通常指专用数字信号处理单元,用于高效实现乘法、累加和滤波等运算。 |
| BRAM | Block Random Access Memory | 块存储器,是 FPGA 内部集成的专用存储资源,用于缓存数据或实现片上存储结构。 |
| EDA | Electronic Design Automation | 电子设计自动化,指用于电路设计、仿真、综合、布局布线和验证的软件工具体系。 |
| NRE | Non-Recurring Engineering | 非重复性工程费用,指芯片设计和流片过程中的一次性投入成本。 |
| SoC | System on Chip | 片上系统,将处理器、存储器、接口与专用逻辑等集成在单一芯片上的系统形态。 |
| IP 核 | Intellectual Property Core | 具有复用价值的预设计功能模块,可作为数字系统设计中的基本构件。 |
| 时序约束 | Timing Constraint | 用于指导综合与布局布线工具满足设计时钟、输入输出延迟等时序要求的约束条件。 |
| 原型验证 | Prototype Verification | 在正式产品实现前,通过 FPGA 等平台对系统功能、接口和性能进行先期验证的方法。 |
习题与思考
试从灵活性、性能、功耗、开发周期和成本五个方面比较 FPGA 与 ASIC 的差异,并结合具体应用场景说明二者为何能够长期并存,而非彼此完全替代。
结合 SPLD、CPLD 和 FPGA 的发展历程,分析可编程逻辑器件内部结构持续演进的技术原因,并说明这种演进对数字系统设计方法产生了哪些影响。
为什么说现代 FPGA 已不仅仅是“逻辑器件”,而更接近一种“可重构系统平台”?请结合片上存储器、DSP 单元、高速接口和嵌入式处理器等资源进行分析。
在一个需求尚未完全明确、产品上市周期较短的工程项目中,为什么 FPGA 往往比 ASIC 更适合作为初始实现平台?如果后续产品销量显著增加,是否有必要转向 ASIC?请说明理由。
CPLD 与 FPGA 同属 PLD,但二者在结构特征和应用定位上存在明显差异。请结合时序可预测性、逻辑规模、上电行为和典型应用,分析二者各自更适合的场景。
可编程互连网络为什么会成为影响 FPGA 性能和功耗的重要因素?这一事实对 FPGA 设计中的模块划分、布局布线和时序约束提出了哪些要求?
为什么说学习 FPGA 系统设计对于进一步学习数字集成电路设计具有基础性意义?请从 RTL 建模、同步设计思想、验证方法和工程流程等方面展开论述。
查阅近年来的相关资料,简要总结当前 FPGA 技术在人工智能、边缘计算、高速通信或汽车电子中的一个典型应用方向,并分析该方向适合采用 FPGA 的原因。
课程作业:FPGA 平台认知与技术调研
请围绕“为什么在课程设计早期选择 FPGA 作为实现平台”完成一份入门型调研作业。作业要求如下:
- 选择一个具体应用方向,例如图像处理、工业控制、边缘 AI、高速接口或机器人控制;
- 说明该应用为什么适合使用 FPGA,而不是直接采用 MCU、CPU、GPU 或 ASIC;
- 至少选取一款实际 FPGA 器件或开发板,整理其主要资源,包括逻辑单元、片上存储器、DSP、时钟资源和常用接口;
- 从性能、灵活性、开发周期、功耗和成本五个方面分析该平台的工程取舍;
- 给出一个简化的系统框图,说明输入、处理和输出三个主要环节;
- 用不超过 300 字总结:若后续产品规模扩大,哪些模块可能适合从 FPGA 迁移到 ASIC 或专用芯片。
作业报告要求
本章作业报告应至少包含以下内容:
- 作业题目与应用场景说明;
- 目标平台或器件简介;
- 资源整理表或系统框图;
- FPGA 与其他实现平台的比较分析;
- 个人结论与技术路线判断。
阅读建议
为了加深对本章内容的理解,读者在学习后可进一步查阅 FPGA 厂商的器件手册、开发工具用户指南以及典型应用白皮书,重点关注器件架构、资源类型、设计流程和应用案例之间的对应关系。在具备一定基础之后,还可以尝试阅读数字集成电路设计流程、ASIC 前后端设计方法以及 SoC 架构设计等入门材料,从更广阔的视角理解 FPGA 在整个数字系统设计链条中的位置。通过由平台认知走向方法认知、再走向系统认知的学习路径,可以更有效地建立完整的数字硬件设计知识框架。
