APP下载

基于Xilinx芯片的FPGA的DONE信号上拉电阻阻值分析

2017-06-15段小虎

网络安全与数据管理 2017年10期
关键词:阻值电平校验

郭 京,沈 华,段小虎

(中航工业西安航空计算技术研究所,陕西 西安 710068)

基于Xilinx芯片的FPGA的DONE信号上拉电阻阻值分析

郭 京,沈 华,段小虎

(中航工业西安航空计算技术研究所,陕西 西安 710068)

基于Xilinx芯片的FPGA集成了越来越多的可配置逻辑资源、各种各样的外部总线接口以及丰富的内部RAM 资源。在FPGA的电路设计中,上电配置电路至关重要。其中,DONE信号上拉电阻阻值的选择很容易被人忽略,错误的阻值选择往往会导致意想不到的情况。通过采用4.7 kΩ电阻上拉DONE信号产生的试验结果,来分析DONE信号上拉电阻必须为330 Ω的原因。

FPGA;上拉电阻;DONE信号

图1 FPGA加载序列

0 引言

随着半导体和芯片技术的飞速发展,现在的现场可编程门阵列(Field-Programmable Gate Array,FPGA)集成了越来越多的可配置逻辑资源、各种各样的外部总线接口以及丰富的内部RAM 资源,使其在国防、医疗、消费电子等领域得到了越来越广泛的应用。但是FPGA 大多数是基于SRAM 工艺的,具有易失性,因此FPGA 通常使用外部存储器件(如PROM) 存储必需的配置信息,防止设备掉电后FPGA丢失自我配置能力。但FPGA 配置在一定的条件和时间下才能成功完成,随着FPGA 容量的不断攀升,配置时间也被大大加长,上电时如不充分考虑FPGA的配置时序以及对其他器件的影响,根据常规经验设计电路,往往会影响系统其他外围器件的正常工作,严重时会导致整个系统的失效。因此,FPGA 的配置方式和上电时序已成为系统设计的重要一环[1]。本文主要分析在FPGA上电配置过程中,因DONE上拉电阻阻值的不同而引起的不同上电结果。

1 FPGA的加载过程

FPGA加载过程分为8个序列[1],如图1所示。

在前7个步骤完成后,配置数据的CRC校验完成,进入最后的Startup序列,Startup序列所需要处理的事件如图2所示。

图2 Startup序列

这7个事件的前后关系是可以在FPGA的目标码bit文件生成选项中进行设置的,默认的设置顺序如图3所示。

图3 Startup事件默认状态

所以,默认状态下,FPGA在配置数据加载完并且通过CRC校验后,依次完成以下工作:

(1)释放DONE信号:配置数据加载期间FPGA驱动DONE信号为低,到Startup序列后FPGA将DONE信号置为高阻态,靠外部上拉电阻将DONE信号拉为高。

(2)处理GTS事件:配置数据加载期间FPGA IO管脚为高阻态(或也可由FPGA的某个配置管脚将所有IO在配置数据加载期间设置为上拉,该管脚的名字通常为PUDC_B或HSWAPEN),到Startup序列后FPGA取消IO的高阻态,使能其输出。

(3)处理GWE事件:配置数据加载期间FPGA禁止RAM的写入和flip-flop状态的改变,到Startup序列后使能RAM的写入,并允许flip-flop状态发生改变。

默认状态下DLL和DCI不作为Startup序列的一部分,由FPGA自行处理完成后进入Lock状态。

2 DONE信号上拉电阻与GTS事件

为了分析DONE信号上拉电阻阻值对上电配置的影响,本文将DONE信号上拉4.7 kΩ电阻来观察造成的结果。使用一个离散量输出作为GTS事件的标志,该离散量在VHDL源码中赋为“0”,由于FPGA电路配置为在加载期间IO上拉,从而该离散量信号在GTS事件之前时为高电平,在GTS事件后变为低电平,该信号的电平变化就标志了GTS事件的发生,离散量无变化即为GTS未发生。FPGA采用XCF32P PROM Flash的CLKOUT作为配置时钟CCLK的时钟源。默认状态下,该时钟仅可输出20 MHz或40 MHz时钟,若使用MCS压缩模式,该时钟还可以输出10 MHz时钟。

当DONE信号上拉电阻阻值为4.7 kΩ时,经过多种组合情况的测试,结果如表1所示。

表1 不同时钟频率下离散量输出情况

通常而言,如果PCB走线较差,FPGA配置电路信号完整性不好,FPGA配置时钟频率较高时容易发生配置失败,但这通常会使配置数据载入错误,造成CRC校验错误,从而导致配置失败。而在这样配置环境中,即使采用40 MHz的配置时钟,CRC校验仍然不会发生错误,所以离散量不输出并不是信号完整性较差引发的,肯定有着与GTS事件处理直接相关的原因。

进一步对GTS事件时配置电路的行为进行波形捕获与分析,在不同的配置时钟频率下,使用示波器对该离散量、DONE信号、配置时钟进行捕获,获得波形如图4、图5、图6所示。

图4 10 MHz配置时钟GTS事件波形

图5 20 MHz配置时钟GTS事件波形

图6 40 MHz配置时钟GTS事件波形

以上三幅图中的T表示相应情况下的时钟周期。总结分析如表2所示。

表2 不同时钟频率下的时序分析

不同配置时钟频率下“DONE信号爬升时间”有所差异,DONE信号的爬升速度缓慢造成了GTS事件的失败,在较低频率的配置时钟下,DONE信号需要较少时钟周期即可为高,而在较高频率的配置时钟下,DONE信号需要较多时钟周期才能升高。所以配置时钟频率较高时,发生GTS事件失败的概率较高。

根据不同配置时钟频率下“DONE信号释放到GTS事件时间”的差异,进一步得出GTS事件的发生需要对DONE信号的电平状态进行回采,即FPGA在释放DONE信号后,并不是在下一个时钟周期立即执行GTS事件,而是要在每个时钟周期对DONE信号的状态进行采集判断,直至外部上拉电阻将DONE信号电平拉高之后才会开始执行GTS事件。

根据GTS事件到配置时钟终止时间,猜测XCF32P PROM Flash是根据FPGA的DONE信号电平状态来决定何时终止CLKOUT配置时钟的输出,待其CE#管脚采集到DONE信号为高后,再给出7~8个配置时钟周期,即终止配置时钟。

至此,对GTS事件失败的原因分析结果为:配置数据加载并校验完成之后,FPGA释放DONE信号,由外部上拉电阻将DONE信号拉为高,DONE信号开始爬升。FPGA对DONE信号的实际电平状态进行回采,待其电平为高后执行GTS事件。如果FPGA的DONE信号并未按照Xilinx手册用330 Ω电阻上拉,而使用了4.7 kΩ电阻上拉,这就造成了DONE信号爬升太过缓慢,需要配置多个时钟周期才可为高。这样的话,在FPGA对DONE信号实际电平进行回采时,即有可能因为DONE信号有回沟而采集到混乱的DONE信号状态(例如首先为高然后为低),这就可能造成GTS事件的失败,从而造成FPGA 的IO管脚无法输出,进而影响整个系统。

3 分析结果的验证

为验证以上分析,需要加快DONE信号爬升速度,来观测GTS事件失败的情况。

在FPGA的目标码bit文件生成选项中,选择“Drive Done Pin High”选项来使FPGA在配置数据加载并校验完成之后,并不释放DONE信号,而是主动将DONE信号驱动为高。选择该选项后,DONE信号不再需要外部上拉电阻来驱动,而是由FPGA直接从低驱动为高,在这种情况下,示波器采集所获波形如图7所示。

图7 DONE信号被“Drive Done Pin High”选项驱动

在这种情况下,FPGA对DONE信号实际电平进行回采时,就不会再采集到DONE信号的不定态,GTS事件不会再失败。离散量也就输出正常。

经此选项后,在40 MHz配置时钟下多次试验,GTS事件也不会再失败。

通过FPGA的目标码bit文件生成选项可以更改GTS事件和GWE事件的前后关系。如果将GWE事件与GTS事件交换位置,则会发生GWE事件失败而GTS事件成功的情况。这说明DONE信号释放后的第一个事件会受到影响,再之后的事件由于DONE信号已爬升为高,因而不会再失败。

4 结论

Xilinx不直接对DONE信号进行驱高,而是由外部上拉电阻拉高,这样可以让多个FPGA的DONE信号连在一起,回采其信号,从而可使所有FPGA都加载完成之后,同步开始工作。

Xilinx要求使用330 Ω电阻对DONE信号进行上拉的原因是,该阻值可以保证在所允许的最高频率的配置时钟下,DONE信号仍可在一个时钟周期内爬升为高,从而保证后续GTS事件的成功处理。

[1] 纪斌.Xilinx FPGA 上电时序分析与设计[J].电讯技术,2012,52(4):591-594.

Analysis of pull-up resistor of the DONE signal of FPGA based on Xilinx chip

Guo Jing,Shen Hua,Duan Xiaohu

(Xi’an Aeronautical Computing Technique Research Institute,AVIC,Xi’an 710068,China)

FPGA based Xilinx chip integrates more and more configurable logic resources,a wide variety of external bus interfaces and a wealth of internal RAM resources.In the circuit design of FPGA,the design of the power up circuit is very important.Among them,the DONE signal pull-up resistor is very easy to be ignored,the error resistor selection often leads to unexpected situations.In this paper,the reason that the pull-up resistor of the DONE signal must be 330 Ω is analyzed,by the test results generated by the 4.7 kΩ pull-up resistor of DONE signal.

FPGA; pull-up resistor; DONE signal

TP302.7

A

10.19358/j.issn.1674- 7720.2017.10.011

郭京,沈华,段小虎.基于Xilinx芯片的FPGA的DONE信号上拉电阻阻值分析[J].微型机与应用,2017,36(10):37-39.

2016-10-26)

郭京(1989-),男,硕士研究生,助理工程师,主要研究方向:计算机系统结构。

沈华(1976-),男,研究员,主要研究方向:计算机系统结构。

段小虎(1986-),男,工程师,主要研究方向:计算机系统结构。

猜你喜欢

阻值电平校验
四线制阻值检测电路实验研究
使用Excel朗读功能校验工作表中的数据
三电平PWM整流器下的地铁牵引供电系统探讨
励磁线圈对插入式电磁流量计的影响
低电阻碳膜板制作及其阻值的优化
对一道电学实验题的思考
三相三电平PFC(VIENNA)控制策略研究
炉温均匀性校验在铸锻企业的应用
电子式互感器校验方式研究
三电平H桥逆变器差模干扰源研究