您的位置 首页 IC

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

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

今日想和咱们一同聊聊 FPGA 的 IO。先说说我当年入门的阅历吧。国内的大学有 FPGA 开发条件的实验室并不太多,当年大学的那帮同学有的做 ARM,有的做 linux,很少有人做 FPGA,其时学 FPGA 仅仅是因为十分巴望的好奇心。所以,在淘宝买了一块开发板,就开端了自己的 FPGA 之路。

大部分开发板的内容主要是教学员怎么样写 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的芯片内部资源:IO是什么

其次,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 结构的(MicromActel 等)上电时刻要长。有些国产 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 等等,但本质都是自同步的高速串行收发器,支撑的速率有所不同),不运用的情况下需相应的悬空或许接地。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/96739.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部