FPGA实战演练逻辑篇18:FPGA时钟和复位电路设计
FPGA时钟和复位电路设计
本文节选自特权同学的图书《FPGA设计实战演练(逻辑篇)》
配套例程下载链接:http://pan.baidu.com/s/1pJ5bCtt
FPGA的时钟输入都有专用引脚,通过这些专用引脚输入的时钟信号,在FPGA内部可以很容易的连接到全局时钟网络上。所谓的全局时钟网络,是FPGA内部专门用于走一些有高扇出、低时延要求的信号,这样的资源相对有限,但是非常实用。FPGA的时钟和复位通常是需要走全局时钟网络的。如图3.17所示,这是Cyclone III器件的内部全局时钟网络的布局示意图。如果说一个城市当中的各种羊肠小道、普通马路是FPGA器件内部的一般布线资源,那么我们就可以认为FPGA内部的全局时钟网络就是高架路(高速公路)。图中我们也不难发现,除了FPGA外部的一些专用时钟引脚,PLL的输出以及FPGA内部的一些信号也都可以连接到FPGA的全局布线网络上。(特权同学,版权所有)
图3.17 FPGA全局时钟网络
时钟和复位电路如图3.18所示。外部使用了25MHz的有源晶振,连接FPGA的专用时钟输入引脚,FPGA内部的PLL可以将外部时钟频率进行倍频或分频,甚至进行相位的调整。复位使用简单的RC电路,也是连接到FPGA的专用输入时钟引脚,走内部全局时钟网络。(特权同学,版权所有)
图3.18 时钟和复位电路
前面我们提到过,FPGA上电复位时间需要大于FPGA器件启动后的配置加载时间,这样才能够确保FPGA运行后的复位初始化过程有效。因此,我们也可以来看看这个电路的设计是否满足实际要求。(特权同学,版权所有)
如图3.19所示,这是器件手册中关于上电配置时间的计算公式。(特权同学,版权所有)
图3.19 器件手册中AS配置时间计算公式的截图
如图3.20所示,我们所使用的EP3C器件的配置数据量为3,000,000bits。(特权同学,版权所有)
图3.20 器件手册中配置数据存储量的截图
如图3.21所示,配置时钟的频率为20~40MHz,对应周期为25~50ns。(特权同学,版权所有)
图3.21 器件手册中配置时钟频率的截图
有了这两个参数,我们便可以计算配置所需的时间,取最坏的情况,即配置时钟频率在最低情况下,配置所需时间为:3000000bits*(50ns/1bit) = 150ms。(特权同学,版权所有)
如图3.22所示,这里标示了复位输入引脚作为3.3-V LVTTL标准电平的最低VOH电压值是1.7V,那么可以由此计算阻容复位电路从0V上升到1.7V所需的时间。(特权同学,版权所有)
图3.22 器件手册中I/O电平标准的截图
设V0 为电容上的初始电压值;V1为电容最终可充到或放到的电压值;Vt 为t时刻电容上的电压值。则有公式t = RC*Ln[(V1-V0)/(V1-Vt)]。(特权同学,版权所有)
求充电到1.7V的时间。将已知条件V0=0,V1=3.3V,Vt=1.7V代入上式得: 1.7=0+3.3*[[1-exp(-t/RC)],算得t = 0.7239RC。(特权同学,版权所有)
代入R=47k ,C=10uf得t = 0.34s,即340ms。(特权同学,版权所有)
由此我们验证了阻容复位的时间远大于FPGA器件的上电复位时间。当然了,这里没有考虑FPGA器件从上电到开始配置运行所需的电压上升时间,一般这个时间不会太长。所以我们的阻容复位肯定是有效的。如果需要实际的确认,还是要通过示波器设备来辅助观察实际信号的延时情况。(特权同学,版权所有)
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 赛灵思:可编程逻辑不仅已是大势所趋,而且势不可挡(07-24)