CLB:
1*CLB = 2*SLICE;
1*SLICE = 4 * (6 in_pin LUT ) + 8 * register + mux + 进位链;
6输入LUT还可用作为两个5输入LUT;寄存器可用作FF(触发器)和 latch(锁存器)。
slice 分 slicel(逻辑)和 slicem(存储),差不多三分之二是slicel,三分之一slicem。
slicel只能用作逻辑,slicem上的LUT还可用作分布式RAM和以为寄存器(SRL32/16)。
IOB
IOB值得注意的东西在网上文章里有很详细的,不多说了。
RAM
RAM只说一下深度宽度吧,ultra的最大位宽72,36Kb/18Kb
昨天才弄明白为什么是36和18,而不是32和16,因为有一位校验位
不带校验位配置 32K*1 16K*2 8K*4 4K*8 2K*16 1K*32 512*64
带校验位的配置 -------- -------- ------- 4K*9 2K*18 1K*36 512*72
DSP 27*18 signed mulitiply
时钟走线神马的现在还不够清晰,大致记一些东西
vivado里IBUF和OBUF是输入输出直接就连的,不用写原语(大神如是说)。
时钟进来要走IBUFG/BUFG,CCIO中MRCC全局时钟走线,SRCC走指定的某一个bank。
IP输出不想要过buf的话约束就可以的。
1*CLB = 2*SLICE;
1*SLICE = 4 * (6 in_pin LUT ) + 8 * register + mux + 进位链;
6输入LUT还可用作为两个5输入LUT;寄存器可用作FF(触发器)和 latch(锁存器)。
slice 分 slicel(逻辑)和 slicem(存储),差不多三分之二是slicel,三分之一slicem。
slicel只能用作逻辑,slicem上的LUT还可用作分布式RAM和以为寄存器(SRL32/16)。
IOB
IOB值得注意的东西在网上文章里有很详细的,不多说了。
RAM
RAM只说一下深度宽度吧,ultra的最大位宽72,36Kb/18Kb
昨天才弄明白为什么是36和18,而不是32和16,因为有一位校验位
不带校验位配置 32K*1 16K*2 8K*4 4K*8 2K*16 1K*32 512*64
带校验位的配置 -------- -------- ------- 4K*9 2K*18 1K*36 512*72
DSP 27*18 signed mulitiply
时钟走线神马的现在还不够清晰,大致记一些东西
vivado里IBUF和OBUF是输入输出直接就连的,不用写原语(大神如是说)。
时钟进来要走IBUFG/BUFG,CCIO中MRCC全局时钟走线,SRCC走指定的某一个bank。
IP输出不想要过buf的话约束就可以的。