了解FPGA的芯片内部资源:IO是什么

时间:2025-09-17  作者:Diven  阅读:0

今天想和大家一起聊聊 FPGA 的 IO。先说说我当年入门的经历吧。国内的大学有 FPGA 开发条件的实验室并不太多,当年大学的那帮同学有的做 ARM,有的做 linux,很少有人做 FPGA,当时学 FPGA 仅仅是由于非常渴望的好奇心。所以,在淘宝买了一块开发板,就开始了自己的 FPGA 之路。

了解FPGA的芯片内部资源:IO是什么

大部分开发板的内容主要是教学员怎么样写 Verilog 代码,很少会对 FPGA 的芯片架构做详细的说明和解读,所以当年面试的时候就碰到了一个很尴尬的事情,面试官第一个问题问的就是:用的是哪颗 FPGA,内核电压是多少?当时就懵了,虽然做了快一年 FPGA,我还没有关注过芯片的内核电压···。

但其实熟悉 FPGA 的基本架构,了解 FPGA 的芯片内部资源真的很重要。

虽然很多 FPGA 工程师都是写代码,但是作为硬件编程工程师,如果不熟悉 FPGA 的底层资源和架构,是很难写出高质量的代码——至少很难写出复杂逻辑的高质量代码,也很难站在系统的层面去考虑芯片的选型等问题。那熟悉 FPGA 架构,首先最主要的一点,我们先来了解 FPGA 的 IO。

FPGA 的 IO 命名。FPGA 芯片 IO 命名方式太多,管脚也多,让人感觉很乱。这是我当年的感觉,诸如会经常听到:A13,B14···BANK34,BANK12····MIO0,EMIO···。但这确实是 FPGA 的特点,FPGA 可以兼容多种不同的电压标准,也有丰富的 IO。

FPGA 的 IO 物理命名规则,也就是我们做管脚约束时候的命名,芯片通常是长方体或者正方体,所以命名通常采用字母+数字组合的方式,从上到下是字母(A,B,C,D```),从左到右是数字(1,2,3```),所以诸如:A13(见下图),就是图上标红的位置,这个是 xilinx 的一颗芯片示意图,其厂商的 FPGA 芯片也类似。

FPGA 的功能命名规则。功能命名规则每个厂家都会自己的一套规则,但都大同小异,我们重点来讲述一下 xilinx 的命名(xilinx 的文档是行业标杆,其 FPGA 厂家的资料多多少少会参考 xilinx)。通常 xilinx 的功能命名格式为:IO_LXXY#/IO_XX。其中:

(1) IO 代表用户 IO;

(2) L 代表差分,XX 代表在当前 BANK 下的唯一标识号,Y=[P|N]表示 LVDS 信号的 P 或者 N;

(3) #表示 Bank 号。

比如,我们的原理图中有一个 IO 的名字为:IO_L13P_T2_MRCC_12,那通过功能命名的规则我们就可以知道,这是一个用户 IO,支持差分信号,是 BANK12 的第 13 对差分的 P 端口,与此同时也是全局时钟网络输入管脚(MRCC 是全局时钟网络)。

再次,什么是 Bank。Bank 是一组物理位置和特性相近的 IO 的总称,同一 BANK 的电压的基准是一致的,通常如果我们需要各种不同标准的电压,可以通过给到 BANK 的电压基准不同的方式来实现多种电平标准的输入输出。通常封装越大,BANK 数量也越多,可以支持电压标准也越多。如下图就是 ZYNQ 7030 的一个 IO BANK 分布图:

除了 FPGA 的用户 IO 外,还有很多其功能 IO,如下载接口,模式选择接口,还有 MRCC,也即我们前文讲到的全局时钟网络和局部时钟网路等。其中最值得关注的是 FPGA 的电源引脚,其中 ZYNQ 器件包含两套完全独立的供电系统,一套是嵌入式端的电源(PS),一套是逻辑端的电源(PL),两套供电系统完全独立,因此也没有先后上电的时序需求。如下:

通常包含的电压有:

(1) 内核电压,Vccpint 和 Vccint 分别为 PS 的内核电压和 PL 的内容电压,内核电压的大小通常和工艺相关,如 48nm XILINX 器件的内核电压为 1.2v,28nm 的 ZYNQ 器件的内核电源为 1.0v(通常电压都有一个范围,范围也和速度等级相关),当然,电压越低,在同样逻辑规模和主频下,对应的功耗也会越低。

(2)Vccpaux 和 Vccaux 分别为 PS 和 PL 的辅助电压。在 ZYNQ 器件中为 1.8v。

(3) Vccpll 为内部锁相环供电电压。

(4) Vcc_mio0 为 PS 的 MIO0 BANK 的基准电压,VCCO_DDR 为 PS 端的 DDR 的电压,此电压通常和选择的 DDR 颗粒相关,如(DDR3,LDDR3 等相对应的值就有所不同,这一部分我们都要在相关视频中做详细解读)。

(5) Vccon 这部分就我们前面讲到的 PL 端的 Bank 基准。

对于纯逻辑的 FPGA 器件,由于没有 PS 端,因此相应的 PS 端供电就没有,只有 PL 端的供电,实现更简单。

我们来聊聊 FPGA 的上电。和所有的器件一样,FPGA 的上电遵循一定的上电逻辑,通常情况下 SRAM 结构(XILINX、Altera 等都属于 SRAM 结构)的上电时间会比 FLASH 结构的(MICrom,Actel 等)上电时间要长。有些国产 FPGA 为了简化 BOM 成本(如安路半导体)不需要用户特别关注上电时序,用单电源供电,芯片内部控制上电时序。虽然不合理的上电时序有时候也能让 FPGA 正常工作,但不正常的上电或掉电过程有可能会造成瞬时电流过大,无法保证上电期间 FPGAIO 为三态,甚至损坏芯片,因此需要设计者特别关注上电时序。针对 XILINX FPGA 的上电通常需要遵循以下规则:

(1)在 PS 端,Vccpint,Vccpaux,Vccpll 一起上电,后启动 PS 的 Vcco 电源(Vcco_mio0,Vcco_mio1,Vcco_ddr),其中 PS_POR_B 在上电期间应保持低电平,直到内核,辅助电压,PLL 电压和 BANK 的电压达到相应阈值。掉电的顺序和上电顺序保持一致。

(2)在 PL 端,推荐的上电顺序依次为 Vccint,Vccbram,Vccaux,Vccaux_io,Vcco。其中,如果 Vccint 和 Vccbram 是相同的电压,则可以采用同一电源供电,同时启动。Vccaux,Vccaux_io 和 Vcco 为同一电压则亦可以采用同一电源,同时启动。

除此,在设计 FPGA 的原理图中要需要特别关注 Serdes 的供电(不同的厂家,甚至同一厂家不同的器件对 Serdes 都有不同的名称,如:GTH,GTX 等等,但实质都是自同步的高速串行收发器,支持的速率有所差别),不使用的情况下需相应的悬空或者接地。

猜您喜欢

随着新能源汽车的普及,充电桩作为其配套基础设施的重要性日益凸显。高效便捷、智能化的充电桩管理系统,不仅能提升用户充电体验,更为构建绿色、可持续的交通体系提供了有...
2024-03-20 00:00:00

监控电源是保障监控系统稳定运行的关键部件,正确的接线是确保电源安全有效工作的首要步骤。本文将为您详细介绍监控电源AC(交流电)和DC(直流电)的接线方法,帮助您...
2024-03-24 00:00:00

手套在我们的日常生活中是重要的配件,具有多种作用。手套可以有效保护我们的双手,避免直接接触有害物质,比如化学品、细菌和病毒,这在医疗和实验室环境中尤为重要。手套...
2010-06-14 00:00:00

随着企业管理理念的不断演变,员工持股计划(EmployeeStockOwnershipPlan,简称ESOP)已经成为越来越多企业吸引和留住人才的重要工具。特别...
2025-02-24 12:55:34

电阻的性能要求也日益提升。尤其是在恶劣环境下工作的电子设备,防硫化电阻的需求越来越大。作为知名品牌,TOKEN(德键)防硫化电阻优异的性能和可靠的品质,赢得了市...
2024-03-27 03:43:29

开关配件和盖帽是电气设备中不可少的组成部分,不仅影响设备的外观,还直接关系到使用的安全性和便捷性。根据功能和设计,开关配件可分为多种类型。开关盖帽是最常见的配件...
2017-12-15 00:00:00

现代工业和制造领域,选择合适的材料和产品对于提升生产效率和产品质量非常重要。PM_110X50MM作为一种新兴的产品,因其独特的尺寸和性能,逐渐受到市场的关注。...
2025-03-05 22:00:09

现代电子产品和配件的设计中,尺寸和功能的精确性非常重要。本文将重点介绍名为“Accessories_15.85X9.89MM_TM”的配件,探讨其特点、应用及市...
2025-04-22 06:30:03

在工业和建筑领域,防爆锹和防爆镐是不可少的工具,其分类主要根据材质、用途和设计特点进行划分。根据材质,防爆锹和镐一般分为钢制和铝合金制。钢制工具因其耐用性和强度...
2009-10-01 00:00:00