zynq7020的版图研究 - minichao9901/TangNano-20k-Zynq-7020 GitHub Wiki

概貌

  • zynq一共有6个bank,其中4个大bank,2个小bank image image

分析资源情况

  • 一共4个大bank有MMCM,每个bank有2个MMCM,因此一共有8个MMCM
  • 每个大bank有50个IO,因此一共有200个IO,实际可用IO是125个(因为要除掉一些特定IO,比如时钟引脚)
  • 每个大bank有3列bram,3列dsp。每列bram有10个36kb,每列dsp有20个。因此一个bank有30个bram,60个dsp。每个小bank有1列bram,1列dsp。因此全芯片有304+102=140个bram,有604+202=280个dsp,与实际情况吻合
  • 右边的3个大bank,每个bank有64列,50行个Slice,也就是3200个Slice,也就是40004=12800 LUT。 左边的大bank是50列,50行个Slice,也就是2500个Slice。左边小的bank是12列,50行个Slice,因此一共600个Slice。 总的Slice数量=32003+2500+6002=13300,因此LUT数量是133004=53200,跟实际完全吻合。

image

布局

  • IO的布局与k7基本一样:每个IOB有2个IO构成差分,每个IO有1个ILOGIC, OLOGIC, IDLAY
  • 每个bank的IO的中心位置,有HCLK的模块:包括4个BUFIO, 4个BUFR,2个BUFMR,1个DELAYCTRL模块
  • 对称轴上,BUFG在第1/2层的分界的位置,一共32个BUFG。每层的中间位置有一组BUFH,一共有3组BUFHCE,每组BUFHCE有32个。
  • 在BUFHCE的位置上,水平方向有时钟布线通道 image

image

具体细节

image DELAYCTRL模块,看起来像是一个65级的DLL环路

image image

ILOGIC和OLOGIC模块,看起来是有串并转换的功能

image

IDELAY模块,里面有5bits的CNTVAL,作用?

image image

一个IOB有2个PAD,每个PAD有IO_tri模块,可以实现D2S和S2D功能

image

Slice与K7完全一样,一个Slice包含4个LUT6, 8个DFF,1个CARRY4, 3个MUX