-
Notifications
You must be signed in to change notification settings - Fork 0
xc7k325t的版图研究
minichao9901 edited this page May 18, 2024
·
1 revision
- 一共2x7=14个bank,其中10个bank作为通用bank,4个bank作为GTP的专用bank
- 每个bank有50个IO,分成25个差分对。一共大约可用的IO有50x10=500个不到(实际是400个,因为还要一些其它专用引脚,如时钟输入等)
- 1是delayctrl单元,用于延时校准的。以及BUFR, BUFIO, BUFMR。
- 2是PLL和MMCM,每个bank有1个PLL+1个MMCM。一共10个PLL, 10个MMCM。
- 每个IOB包括2个IO,每个IO有1个ILOGIC,OLOGIC, IDELAY
- 每个bank的IOB的中间位置有4个IOBUF, 4个BUFR, 2个BUFMR,1个DELAYCTRL校准单元
- 每个PLL(1),旁边有2个IN_FIFO, 2个OUT_FIFO(2), 以及一些phaser in/out电路(3)
- 绿色的是dsp资源,红色的是bram资源
- 每个bank有3列dsp,每列20个dsp,因此一共60个dsp。
- 每个bank有3列bram,每列10个bram,因此一共30个bram。
- 因此全芯片有60*14=840个dsp,有30x14=420个bram
- bram的容量420x36kb=15120kb,比芯片的实际略小
- 芯片最中心的地方是BUFG,一共只有32个
- 在对称轴上,除了BUFG,其余都是BUFH。一共有7组BUFH,每组BUFH有32个,负责左边/右边相邻的bank
- 这里是GTX的引脚,间距比较大
- 每个bank有4个GTX,一共4个bank,一共有16个GTX
- 每个GTX有4个引脚,分别是差分输入,差分输出
- 每个bank有2个时钟对,8个数据对,构成4个GTX
- 接下来看一个Slice的构成:有4个LUT6,8个DFF,1个CARRY4,3个MUX。
- 经过仔细数,一个bank有80列,50行个Slice,也就是4000个Slice,也就是4000*4=16000 LUT
- 因此总的Slice数是144000=56000,总的LUT数量是560004=224000,比实际略小一点点(实际是203800个LUT)。
- 可见一个bank的LUT也非常大了,足够平常使用了。正常情况很少能用的超过2个bank的LUT。