Xilinx 7Series FPGA IO各阶段状态

一、IO类型

        (1)配置专用IO

名称功能
CFGBVS配置bank电压选择
M[2:0]配置模式选择
TCKJTAG标准信号,Test Clock
TMSJTAG标准信号,Test Mode Select
TDIJTAG标准信号,Test Data In
TDOJTAG标准信号,Test Data Out
PROGRAM_B配置逻辑复位信号,能触发新的配置过程
INIT_B双向,输出能指示初始化和错误,输入能停止加载过程
DONE

指示配置完成

CCLK配置始时钟

        (2)多功能IO

名称功能
PUDC_B低有效使能IOB内部上拉电阻(在上电之后,配置结束之前)
EMCCLK外部主控配置时钟输入
CSI_BSelectMap 片选输入
CSO_B片选输出
DOUT数据输出
RDWR_BSelectMap数据总线方向控制
D00_MOSIMaster SPI下的MOSI,BPI下的D00
D01_DINMaster SPI下的MISO,BPI下的D01
D[00-31]数据总线,不同模式使用不同
A[00-28]地址总线,不同模式使用不同
FCS_BFlash片选输出
FOE_BFlash输出是能输出
FWE_BFlash写使能输出
ADV_B地址有效
RS[0:1]版本选择,可以选择高位地址总线作为加载起始
VCCBATT外部电池供电输入

        多功能管脚在配置过程结尾的GTS失效之后,就变成用户IO,默认情况下就是DONE拉高后的一个时钟周期之后,用户IO可以对其进行操作。例如一个BPI FLASH接在了这些Multi-Function IO,在上电之后通过这些接口进行FPGA的配置,及配置成功结束之后,用户可以自由访问这些接口,对BPI FLASH进行读写擦操作。                       

        (3)用户IO

        用户IO也分为设计工程中使用的IO和未使用的IO。

二、不同阶段

        (1)上电到配置之前

        该场景讨论不是很多,一般都是上电-初始化,然后直接进去配置过程。可以认为在该过程中管脚的状态和配置过程中是一致的。

        (2)配置过程中

        配置过程中,配置专用输入IO的电平取决于VCCO_0,可以是LVCMOS15/18/25/33,配置专用输出IO的电平为VCCO_0,12mA驱动,fast slew rate。专用配置管脚中只有TDO、INIT_B、DONE、CCLK是可以作为输出的。TDO需要接菊花链中下个FPGA的TDI或者接JTAG接口的TDO,其电平状态取决与FPGA内部JTAG操作状态,INIT_B为open_drain(漏极开路)双向接口,当作为输出时,只能输出高阻和0,如果需要输出1,则需要额外的上拉电阻,xilinx也是建议通过小于4.7K的上拉电阻到VCCO_0,DONE也是漏极开路的双向IO,该管脚内部存在10K的上拉。CCLK在Master配置模式下是输出,Slave模式下是输入,JTAG模式下是高阻。

        配置过程中,多功能管脚的电平要与外部连接的器件一致,由VCCO_14/15来决定,也是LVCMOS,12mA驱动,fast slew rate,内部上下拉状态由PUDC_B决定。

        7系列中除V7外,多功能配置管脚存在一个特殊情况:

        就是在VCCO_14/15为1.8V或更低的时候,如果输入管脚为0或悬空,则该管脚会在EOS之后有一个CFGCLK时钟周期的高脉冲,因为此时已经配置完成,所以这个可能会对FPGA内部逻辑产生影响。

        普通用户IO的状态取决与PUDC_B。

        (3)配置成功完成后

        配置完成之后,专用管脚的电平可以由vivado进行配置上下拉,下面会给出。

        多功能管脚变成了普通IO管脚,状态与普通IO管脚一致。

        设计中使用的用户IO管脚状态由设计决定,每个输出或双向IO都可以设置内部上下拉,在没有驱动的时候决定管脚的状态:

        set_property KEEPER true [get_ports <ports>]

        set_property PULLDOWN true [get_ports <ports>]

        set_property PULLUP true [get_ports <ports>]

        设计未使用的管脚状态可以由vivado中设置上下拉,生成bit完成之后,open implemented design,然后点Tool-Setting-Bitstream-Configure additional bitstream settings:

        或者是在XDC中加入:

set_property BITSTREAM.CONFIG.UNUSEDPIN Pulldown [current_design]

set_property BITSTREAM.CONFIG.UNUSEDPIN Pullup [current_design]

set_property BITSTREAM.CONFIG.UNUSEDPIN Pullnone [current_design]

默认是Pulldown

        另外就是在给Flash烧程序的时候,也会让你选择管脚的上下拉状态,那个也是选择配置完成之后,unused pin的状态。

三、一表总结

pin类型\阶段上电后配置前配置中配置后
专用IOPUDC_BPUDC_B设置
多功能IOPUDC_BPUDC_B设置
用户IO使用的IOPUDC_BPUDC_B设计决定
未用的IOPUDC_BPUDC_B设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值