找回密码
 注册
关于网站域名变更的通知
查看: 1052|回复: 2
打印 上一主题 下一主题

FPGA上电后IO的引脚默认状态深度分析

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-9-30 10:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
在进行FPGA硬件设计时,引脚分配是非常重要的一个环节,特别是在硬件电路上需要与其他芯片通行的引脚。Xilinx FPGA从上电之后到正常工作整个过程中各个阶段引脚的状态,会对硬件设计、引脚分配产生非常重要的影响。这篇专题就针对FPGA从上电开始 ,配置程序,到正常工作整个过程中所有IO的状态进行分析。& k, P1 m5 r9 {: @# n/ k
从时间阶段可以分为两部分,第一阶段是从FPGA上电开始直到配置(Configuration)完成之前。第二个阶段是配置完成之后,FPGA开始正常工作开始。: w; l) ?! |* T/ q; z2 i) l) ]  ~
从引脚类型上分,可以分为三大类:第一类是普通的IO,其中又分为程序设计中使用到的IO和程序设计中没有使用的IO(即在ucf或者XDC文件中没有进行约束的IO);第二类是专用下载配置引脚(Dedicated Pins),这类引脚只用于专用的功能,包括有M[2:0]、TCK、TMS、PROGRAM_B、INIT_B等。第三类为功能复用引脚,这类引脚在使用特定的功能时使用,例如在使用BPI配置模式时,D[00-31]和A[00-28]需要使用。如果使用SYSMON时,I2C_SDA和I2C_SCL需要使用。但在当前没有使用该功能的情况下,功能复用引脚可以看成普通IO。
  N0 B' S" B* D" h9 d/ Q( _: K5 R" E6 C8 s2 O6 r) G
FPGA IO的基本结构
! v$ a5 ^0 A; {3 H# r  d$ ?# m  t* h在《IO输入输出的各种模式》介绍了处理器IO的各种输入输出模式以及原理,那么FPGA的IO是什么样的结构和原理?图 1为Xilinx文档中提供的IOB的内部结构,可以看出:" u/ ?- M  [8 l# b4 m5 B
在FPGA IOB内部,Pad输出之前,内置上下拉电阻。且可以通过Passive Pull-up/Pull-down模块控制两个MOS管的导通与否来控制是否使能上下拉电阻。
7 `5 x! s+ b8 P& {0 B& P( y内部连接Pad的分别有一个Input Buffer和Output Buffer。其中Input Buffer对外应该始终呈现高阻状态,同时可以将Pad上的电平通过Input Buffer传到I1和I2,或者是下部的FF。Output Buffer有两个控制信号,分别是Slew Rate Control,用来控制输出信号的Slew Rate;另一个是三态控制信号T,可以控制Output Buffer输出高阻。
& |# Y: u+ N/ c% h+ U" z内部输出信号Out,可以通过上半部分的FF,经Output Clock同步后打出,也可以直接连接到Output buffer的输入端,直接输出。
; L- m# N: ?3 P0 t  Z- G5 T3 k# ]5 U同样Input Buffer的输出,可以直接连接到I1和I2,也可以经过下半部分的FF,经过input clock的同步之后输出到内部总线上。
# ?- S6 I- N% h% ], Y
1 L) p$ I6 s; [3 N5 H上下两个MOS并不是推挽输出的两个MOS管,因为并不受到互补信号的控制,并不一定一个导通另一个闭合。( ]' S, H1 l- [# z5 R

) {7 G# [7 c+ V; n% @3 \2 S这里介绍一下输入缓存器的结构和原理,其结构如图 2所示,其原理与推挽输出电路非常类似,只是输入端信号作为了两个互补MOS管的控制端,控制着输出端的电平。由于输入缓冲器有自己的供电电压,所以输入电平必须与缓冲器的电源电压相匹配。D1和D2两个钳位二极管用于防治输入电压过低或者过高,损坏输入缓冲器。0 ~; [2 S. f; c* k

  D( {- a; [9 c) G: G普通IO. j9 A1 O/ D) L+ N( f. J- Y
配置完成之前
" q8 ^2 }! s7 I1 T( i在FPGA上电到配置完成之前,由于当前FPGA还没有下载程序,无法区分哪些引脚被设计所使用,哪些引脚没有被使用。此时的普通IO包括两部分:3 _4 O) ^$ `2 R) \* N
该封装中所有的通用IO引脚。
0 C7 Y) q! Y+ n3 c0 {当前所选择的模式下没有使用到的所有功能复用管脚。$ |8 g( T$ j9 k3 o6 f: {
在Spartan6系列以及之前的器件中这些引脚的状态是根据HSWAPEN的状态决定的。
% A0 a. m& [" ?$ G& t配置完成之后& W8 ?0 L4 Q) e' }" f. h
在配置完成之后,FPGA就进入正常工作的模式了。在配置完成之后,普通引脚可以分为以下两种:! ^8 E1 C" S' w. c/ r: @0 e& J
工程设计中使用的IO,即在UCF或者XDC中有明确约束的IO。
2 X% q' f; n4 R$ S6 |% h# N; Y其余没有使用,也没有约束的IO。(称为Unassigned Pins)8 Z. c8 A: n8 [  V% C5 o5 I
首先,对于第一种情况,由于已经在设计中明确设定了这些引脚的设置,包括方向、电平、驱动能力等等,所以在配置完成之后,这些引脚的状态已经被设置为了预设的状态。
! w. O$ ~: ]8 @& T! w7 ~. g3 T

FPGA上电后IO的引脚默认状态深度分析.pdf

470.52 KB, 下载次数: 1, 下载积分: 威望 -5

该用户从未签到

2#
发表于 2022-9-30 11:28 | 只看该作者
上电的默认配置,对于外设还是蛮重要的。

该用户从未签到

3#
发表于 2022-9-30 13:16 | 只看该作者
FPGA器件在上电后都需要有一个确定的初始状态,以保证器件内部逻辑快速进入正常的工作状态。9 a9 U0 ]# o7 x  k& W
通常会有一个用于内部复位的输入信号,称为复位信号。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-4 13:37 , Processed in 0.109375 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表