以Altera CYCLONEIII 为例
1.EP3C16系列的FPGA 支持16个时钟输入,clk0-3 ,clk4-clk7 clk8- clk11 clk12-clk15 四组,
每一组对应一个PLL,共四个PLL 如CLK4-CLK7 对应PLL2, PLL 的输入只能从CLK4-CLK7
或者其他PLL的输出作为输入。每个PLL 都有5个输出
C0,C1,C2,C3,C4.每个pll只支持一个或者一对差分信号(间隔180度)输出,在c0脚。这里与cyclone2中的略有不同,它用c2作
为输出。
2.EP3C16 共有20个全局时钟网络 可以把PLL 的输出时钟 异步复位信号
分布在全局时钟上,让时钟的skew最小。这20个全局时钟网络 可分为4组, 每组5个,由分布在FPGA 的四个边上的时钟控制模块,输出,一个时钟
控制模块只控制一个全局时钟网络。
注意 这是个多选一的电路,其实 对应于一个PLL,还有四个时钟控制模块没有画出(一共5个) 假设n=0, 那么CLK0,CLK1, CLK2,
CLK3 还有DPCLK 以及C0 C1 C2 C3 C4 这么多个输入,输入到一个时钟控制模块中 却只能由一个输出到全局时钟网络上。 当然
因为一共有5个这样的模块,所以最多可以有5个能够连到全局时钟网络上,其他的就甭想了。
举个全局时钟不够的例子。
如果我用了PLL的四个输出C0,C1,C2,C3,作为内部逻辑用的时钟,还有个外部时钟连接到了CLK0 上 那么这5个信号已经把这一侧的5个全局
时钟占满了,如果我还有一个时钟输入进来,这时候如果接到了CLK1引脚上,抱歉!它不能走全局时钟了,只能走普通的布线资源,时钟skew会很大,时序
就会出乱子。那怎么办呢?
只好将这个时钟信号 连接到下一组 时钟输入上 如clk4-clk7 中的任何一个。就可以走全局时钟了。
所以全局时钟资源是很宝贵的。
文章评论(0条评论)
登录后参与讨论