EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 thinkfunny 于 2019-7-17 15:33 编辑 ' A; z8 r/ i( z: E
" y, z I3 i! o \) o+ {
全局时钟系统使用举例 下面将举出实例,来看一下如何组建一个全局时钟系统。
/ x+ \1 e+ X$ r 某FPGA从全局时钟管脚引入频率为26M的晶振源,FPGA内部需要22MHz、22MHz反向、171.6MHz、36MHz,其中22MHz、22MHz反向、171.6MHz为FPGA内部使用,22MHz、36MHz经由普通I/O管脚输出,而且22MHz反向还要与信号t_rn作逻辑与运算,试给出该需求的全局时钟系统解决方案。 r. i( {( g: ]
# x/ S \& P9 ]1 z& d1 g; }
在ISE中组建时钟系统有两种方法:一是用IP核生成器配置生成相应IP,再用线连接起来, 二是在文件中直接用语言配置生成各类资源(DCM、PLL、IBUFG、BUFG等),再用线连接。第一种方法较为简单但灵活性差,而第二种方法稍微复杂但灵活性较强,可以随时修改,使用哪种方法取决于个人喜好。 . ^) s% u$ g' K& R: ^9 N
这里用第二种方法来生成上文需求的全局时钟系统,下图为最终效果图。
- k+ f8 u( `3 Z( o: v9 ~9 F5 [* k
. R4 J7 W' i8 S! I4 ]; A2 A I2 l, }
1、clk26为从全局时钟管脚输入的时钟源,从管脚输入后先经过一个IBUFG。. T" I6 J0 Q$ Z/ a4 Z* k( U0 `1 ?
6 O6 ]5 i5 m4 ^0 p* }
2、因为22MHz、171.6MHz和36MHz不能由一个PLL产生,故将IBUFG的输出时钟信号输入到两个PLL。7 [7 g @/ H1 S9 H
/ o$ D5 a6 s2 p" I4 D" k) d- }" E, i7 D) Y# L* r$ L: N1 V; {: f
3、PLL0有三个输出:CLKOUT0、CLKOUT1、CLKOUT2,分别为22MHz、171.6MHz和22MHz反向。clk22_out为22MHz时钟的I/O输出信号,故不经BUFG直接输出;clk22为22MHz经过BUFG后的信号,为全局时钟信号;clk171p6为171.6MHz经过BUFG后的信号,为全局时钟信号;clk22_inv为22MHz反向经过BUFGCE(与t_rn作逻辑与运算)后的信号,为全局时钟信号。
6 K a$ Q/ ^& `: d* F! u
( P$ t: K5 w1 Z* p
* I3 X: N* Q1 v% E$ r4、PLL1有一个输出:CLKOUT0,为36MHz,clk36_out为36MHz的I/O输出信号,故不经BUFG直接输出。
6 [, z0 v, l* \) ?: V k# u9 [
: Y3 m! b; D( R* N" z$ {3 l. t) e+ H
6 v9 ^9 h. I* s9 q! Q" S! W8 H |6 K s! s
& \0 _' }5 D: ^ _! Z0 `* z! p$ h4 t2 _
( n# }( j [, A3 w5 z+ _7 w |