现在的位置: 首页 > 综合 > 正文

全局时钟global clock–怎么设置FPGA的全局时钟资源

2013年03月29日 ⁄ 综合 ⁄ 共 1117字 ⁄ 字号 评论关闭

Altera的综合器或者PR工具都会根据实际信号clockresetpresetfanout大小确定是不是用全局时钟资源。若用了全局时钟资源,你可以在Q2technology map view里看到Altclkctrlcell名称--时钟控制模块(Clock Control Block)。

 

 

当我们的系统占用比较多的全局时钟资源时,将外部的时钟和FPGA内部产生的时钟资源综合考虑,充分考虑PLL的位置以及外部输入时钟的管脚位置,保证每个时钟都能分配到全局时钟资源,得到最好的时序性能。

每个全局时钟都有一个时钟控制模块(Clock Control Block),如下图:

 

 

该部分的绝大部分配置都是由QuartusII完成,我们能够设置是(2CLKSELECT[1..0],在MegaWizard…选择I/O--ALTCLKCTRL模块,就可以得到相应的模块,由上图可以知道,该模块的数据必须来自专用时钟管脚或者PLL输出,无法与LC驱动的全局时钟资源连接。当我们需要进行时钟切换时,最好用该功能模块,因为用LC产生的时钟选择模块很容易产生毛刺,另时序电路无法正常工作。

我们知道外部输入或者内部产生时钟,时钟使能,异步清零信号以及其他高扇出信号都会占用全局时钟资源,当系统涉及的上述信号数量过多时,FPGA无法满足,我们就需要有取舍的设置哪些时钟可以占用Global Clock,哪些可以不用。具体设置在Assigment Editor中完成,说明如下:

Auto Global Clock:用于设置时钟是否占用Global Clock

Auto Global Register Control Signals:用于设置寄存器控制信号(异步复位,寄存器使能等)是否占用Global Clock

也可在Setting--Fitter Setting--More Setting…将上述设置关闭,则QuartusII阻止信号分配在全局时钟资源上(不推荐)。

 

 

 2——Xilinx

手工例化BUFGBUFG的输出可以布线到全局时钟网络。

 

FPGA的全局时钟路径需要专用时钟驱动器--------全局时钟缓冲器Global Clockbuffer(BUFG),时钟信号只有经过BUFG之后才可以驱动全局时钟网络。

 

BUFG的例化请参考XilinxISE设计工具内包含的《器件库指南》。这里需要指出的是IBUFGBUFG不同,IBUFG是全局时钟的引脚的缓冲器,是和其他普通管脚的IBUF对应的;而BUFG是内部的全局时钟的缓冲器。

 

 

 

原帖地址:http://www.eefocus.com/lubee/blog/10-07/192614_88d5f.html

抱歉!评论已关闭.