EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 thinkfunny 于 2019-7-17 15:33 编辑 ( |2 N$ B" t- d9 u5 C
! r/ Z; ~4 }2 J! t" E% d/ K全局时钟系统使用举例 下面将举出实例,来看一下如何组建一个全局时钟系统。
/ a+ v; H$ C7 u7 q Q 某FPGA从全局时钟管脚引入频率为26M的晶振源,FPGA内部需要22MHz、22MHz反向、171.6MHz、36MHz,其中22MHz、22MHz反向、171.6MHz为FPGA内部使用,22MHz、36MHz经由普通I/O管脚输出,而且22MHz反向还要与信号t_rn作逻辑与运算,试给出该需求的全局时钟系统解决方案。 $ E% i' K9 v3 L
3 _0 v5 H8 [7 ^
在ISE中组建时钟系统有两种方法:一是用IP核生成器配置生成相应IP,再用线连接起来, 二是在文件中直接用语言配置生成各类资源(DCM、PLL、IBUFG、BUFG等),再用线连接。第一种方法较为简单但灵活性差,而第二种方法稍微复杂但灵活性较强,可以随时修改,使用哪种方法取决于个人喜好。
( M$ P, \8 m3 B 这里用第二种方法来生成上文需求的全局时钟系统,下图为最终效果图。
& \6 Q' k- b1 _) x; Y
% n6 R2 g% Q2 l/ Y- A
1、clk26为从全局时钟管脚输入的时钟源,从管脚输入后先经过一个IBUFG。. s/ w, L! ^+ H& _# O* n
2 r8 z% H1 ?2 t0 l4 h2 x
2、因为22MHz、171.6MHz和36MHz不能由一个PLL产生,故将IBUFG的输出时钟信号输入到两个PLL。
7 w; U/ ?/ X$ @) { s* f
+ d# F Z* `0 ~7 v0 I/ p$ e; y* C
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作逻辑与运算)后的信号,为全局时钟信号。
7 r8 T! U7 |/ w( o2 F
( I$ Z& E) v% s" X% V1 C
$ u9 }" {, h$ m4 e4、PLL1有一个输出:CLKOUT0,为36MHz,clk36_out为36MHz的I/O输出信号,故不经BUFG直接输出。
3 b$ g/ F; C4 }; H5 o4 D8 R' M4 H; X& C2 U: R4 E1 L$ _
+ ~/ z# `) X9 `0 A6 Z# C4 T6 `9 T4 g- K9 p" k; [/ _
1 ?/ O, j0 K' X* d- o# D7 u3 y+ o# t( G
4 S+ u) |0 w( l! s T
|