在versal acap中,同一个clb内同一列的lut是可以级联的,这是与前一代fpga ultrascale+系列的一个显著不同点。这里我们先看看versal中lut的结构,如下图所示(图片来源:figure4, am005)。
可以看到,一个lut6(6输入lut)是由4个lut4(4输入lut)外加一些mux(数据选择器)共同构成。同时,lut6有4个输出端口。其中,prop端口只有在lut用作进位逻辑时使用,且在clb外部不可见。用做6个输入的逻辑函数发生器时,输出在o6端口;双lut5模式时,输出在o5_1和o5_2端口。同时还可以注意到,多了一个级联端口cascade_in,该端口用于与前一级lut的o6输出相连接。级联端口不需要手工连接,工具会自动判断是否使用该端口。
我们看一个具体的案例,如下图所示。输入a为6bits,b为5bits,a/b分别执行异或位缩减运算(^a,^b),然后再将两者结果执行逻辑与。显然a的异或位缩减运算会占用一个lut6,b的异或位缩减运算与后续的与门共同消耗一个lut6。
上述电路图布线后打开schematic视图,锁定其中的两个lut6,如下图所示。
进一步在device视图中可以看到具体的物理连接方式,如下图所示。可以看到图片下方的lut由o6输出,并连接到上方lut的级联端口。
再从时序角度看,这里我们设定时钟频率为600m,在时序报告中,可以看到这部分的延迟(两个lut之间的布线延迟)为0.019ns。整个设计的wns为0.923ns。
同样的设计,如果在ultrascale+中执行,结果如下图所示,可以看到两个lut相距很远,因为ultrascale+中的lut是不支持级联的,这就要消耗clb外部的布线资源。
从时序角度看,这部分的延迟为0.205ns,显然大了很多。
综上所示,我们可以得出如下结论:
lut的级联可以有效降低关键路径上的延迟,同时减少clb外部布线资源的消耗。这对于缓解布线拥塞非常有利。还要注意的是这种级联仅限于同一个clb中的同一列lut,且级联方向由下至上,这意味着级联所用到的布线资源都在clb内部,而不会消耗clb外部布线资源。
电脑内存不足怎么解决win10
安卓用户用iPhone12 Pro的体验如何?
开源软件概念逐步形成,越多的人工智能软件选择开源
苹果已然成为新的可穿戴产品行业领导者
以创新动能迎战存储市场周期性挑战
物理可级联的LUT的优势在哪?
大电流弹片微针模组可满足锂离子电池测试的需求
卡塔尔航空与德国铁路公司签署了一份代码共享协议
开关电源噪声源分析
首届国际中学生人工智能交流展示会,商汤布局人工智能教育生态的重要一环
基本数学运算在FPGA中的实现算法仿真分析
11代酷睿处理器+华为MateBook打造智慧化办公
三级分销平台系统开发微信小说漫画源码二次开发公司
华为5G手机预定超过100万台 拉动电子供应链新增需求潮
爱立信的5G设备实现4大洲5G商用首发
F35战斗机多维传感器融合技术解析
荣威的MARVEL X争议不断,这一款车真的靠谱吗?
M5151-00000W-350BG传感器电流感测原理
关于变电站,你知道多少?
解析AI Agent的发展现状和技术难点