作为Xilinx 7nm芯片,Versal在架构上与前一代芯片UltraScale相比有诸多不同,这里我们就来看看都有哪些不同。
时钟资源
从时钟Buffer角度看,多了一种BUFG_FABRIC,专门用于驱动高扇出网线,从而降低了BUFG的利用率,缓解了布线资源的压力,其在芯片中的位置如图中红色标记所示。
可配置逻辑模块
再看CLB,Versal中一个CLB规模相当于UltraScale中的两个CLB,故其包含16个触发器和64个LUT。同时,这64个LUT中有32个LUT可配置为RAM/ROM/或移位寄存器。这意味着,Versal中的CLB不再有CLB_LL和CLB_LM之分。此外,CLB内部列方向相邻的LUT是可级联的,这对于缓解CLB外部的布线压力是有益的。
CLB内部还增加了Inverse Multipliexer Register (Imux Register),用于改善Fmax、解决保持时间违例。另一方面,CLB内部不再包含F7/8/9MUX,改由LUT实现相应的功能。
DSP58
Versal中的乘法器为DSP58,可支持27x24有符号数乘法,与UltraScale中的27x18相比有所提升。同时,就复数乘法而言,对于18-bit复数,只需要消耗2个DSP58。在UltraScale中,则要消耗3个DSP48。DSP58的另一亮点是可支持向量乘,也就是说27x24的乘法器可分解为3个9x8的乘法器,从而可方便地实现两个长度为3的向量乘法,这对于快速实现矩阵乘法是很有利的。此外,DSP58还支持浮点乘法和浮点加法。DSP48则需要额外的资源实现浮点运算。
URAM288
在UltraScale中,URAM288可支持的位宽是固定的72位,且初始值只能为0。但在Versal中,URAM288可支持4中位宽,分别为9/18/36/72,同时,初始值是用户可定义的。
Block RAM
在UltraScale中,一个RAMB36可配置的位宽为1/2/4/9/18/36/72,但在Versal中,1/2/4这些位宽不再支持。
复位
从复位角度看,Versal中的BRAM和DSP内部寄存器既支持同步复位又支持异步复位,而UltraScale中的BRAM和DSP仅支持同步复位。
编辑:jq
全部0条评论
快来发表一下你的评论吧 !