UltraScale和Versal之间有哪些不同?

作为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这些位宽不再支持。

本文来源网友上传,不代表hdxin.com蝴蝶芯城立场,如有侵权或其他问题,请及时联系我们举报

上一篇: 在深山里修建一座基站究竟有多困难?

下一篇: 2021年人工智能和机器学习的5个发展趋势