上一篇文章我们讲到7系列FPGA的时钟结构,这篇文章我们来看下clock region内部都有哪些东西?
下面这个图是7系列FPGA的clock region的结构图:
首先我们来明确几个Buffer的含义(我们后面会有一篇文章专门来讲这几个buffer)
- BUFG:global clock buffer
- BUFH:horizontal clock buffer,可驱动左右相邻的两个region
- BUFR:regional clock buffer,从名字就可以看出来,只能驱动当前region
- BUFIO:I/O buffer,位于IO Bank中,只能用于驱动IO
- BUFMR:multi-clock region buffer,它可以驱动本BANK和上下相邻BANK的BUFIO和BUFR,起到了扩展连接的作用
- CC:clock capable
下图是clock region更详细的内部结构图,
可以看到:
- 每个IO Bank的4个cc管脚可以驱动CMT中的PLL/MMCM,也可以驱动BUFH;
- HROW中有12个routing track,BUFG和BUFH共享12个track;
- GT Quad有10个专门的track用于驱动CMT和clock backbone中的BUFFER;
- BUFR有4个track驱动逻辑资源、CMT和BUFG;
- CMT在一定条件下可以通过CMT backbone驱动上下相邻的CMT;
- 一个region中的时钟资源可以驱动本region或者水平临近region的时钟BUFFER;
- CMT、cc管脚和GT时钟可以通过BUFH来驱动左右相邻region
下图是BUFR/BUFMR/BUFIO的详细结构图,
可以看出:
- 每个IO Bank都含有4个BUFIO和BUFR;
- clock buffer都可以被cc管脚或者MMCM来驱动;
- 图中可以看到CC又分了MRCC和SRCC,它们的区别我们放到下一篇文章中专门来讲;
- 从MMCM输出到BUFR和BUFIO之间有一条专门的高性能差分路径;
这里需要说明的一点是,不是所有的7系列FPGA的时钟结构都像上面的图中所画,比如包含不同数量的GT可能会导致时钟结构位置不太一样,但这并不妨碍上面这些图对7系列FPGA时钟结构的说明。