原创 ECO那些事之ALM端口DATAF

2024-6-14 13:39 4699 5 3 分类: FPGA/CPLD 文集: TDC

ECO那些事之ALM端口DATAF


概述


这里继续《ECO那些事之LE和ALM》一文,详细了解下ALM的端口DATAF,在前文中列举了ALM和LE的差异,其中之一就是DATAF端口。随着基于FPGA的TDC设计深入,越来越发现了解DATAF端口细节的重要性。


ALUT子LUT掩码真值


首先列举一些常识,LUT(ALUT的子LUT,打开属性编辑器,Top ALUT分为一个F0和两个F2子LUT,Bottom ALUT分为一个F1和两个F3 子LUT)只有DATAA端口的输入时其16位LUT掩码真值为“AAAA”,只有DATAB端口的输入时其16位LUT掩码真值为“CCCC”,只有DATAC端口的输入时其16位LUT掩码真值为“F0F0”,只有DATAD端口的输入时其16位LUT掩码真值为“FF00”。端口DATAE和DATAF不直接作为子LUT输入

上述信息是笔者应用属性编辑器的时候观察总结得到,而如果查阅器件handbook,对于ALM工作算术模式的描述是这样的,ALM工作在算术模式时使用两组各包含2个四输入LUT以及两个专用全加器。如图1所示,两个4输入LUT共享DATAA和DATAB输入端口。

图1:工作在算术模式的ALM

这几个DATA端口在ALM内的具体路径可以参考《基于FPGA的TDC那些事之设计资源LAB》一文中的ALM内部结构图,或者查阅相关器件手册,本文后续会基于属性编辑器详细剖析。注意图1中端口DATAE和DATAF与笔者观察总结属性编辑器的差异,由于DATAE和DATAF不直接feed属性编辑器中的“子LUT”,所以通过ECO方式修改子LUT等式或者掩码的时候需要特别小心


针对DATAF解剖ALM


在《ECO那些事之LE与ALM》一文中对于ALM配置为normal和算术模式,都给出了其在属性编辑器中概览。图2给出DATAF端口进来的信号第一条可能路径,图3是该ALUT的逻辑属性。其中图3-(a)的F2 LUT的等式为“!a&!b&!c”,而F2的掩码真值为“0101”,这个真值可以根据上一节的单个端口输入的真值推导得到,即“!(AAAA)&!(CCCC)&!(F0F0)”=“(5555)&(3333)&(0F0F)”=“0101”。观察COMBOUT等式,分别与F0 LUT等式、F2 LUT等式以及DATAF有关,而此时DATAF不参与构成子LUT等式。

图2:DATAF端口信号进入ALM后可能路径(一)

图3:ALUT属性栏


图4显示了一个更复杂的例子,DATAF的路径和图2一样,同时DATAE走的也是这种路径,而且图4是一个7输入查找表的具体实现。


图4:7输入LUT功能实现

以下是图4的组合逻辑输出等式,由于太长,图4无法全部展示:

( E & ( F & ( (!A & ((!B) # ((!C)))) # (A & (C & ((D) # (B)))) ) ) ) # ( !E & ( F & ( (!B & (((C & D)))) # (B & (!A $ ((C)))) ) ) ) # ( E & ( !F & ( (!B & ((!A) # ((C & D)))) ) ) ) # ( !E & ( !F & ( (!B & (C & D)) ) ) )


( E & ( F & ( (!A & ((!B) # ((!C)))) # (A & (C & ((D) # (B)))) ) ) ) # ( !E & ( F & ( (!B & (((C & D)))) # (B & (!A $ ((C)))) ) ) ) # ( E & ( !F & ( (!B & ((!A) # ((C & D)))) ) ) ) # ( !E & ( !F & ( (!B & (C & D)) ) ) )


图2和图4显示的都是ALM配置在Normal模式下DATAF进入ALM的一种路径,当ALM配置成算术模式时,DATAF进入ALM的路径


图5显示了当ALM被配置为算术模式时,DATAF进入ALM的路径,如图中绿圈所示,同时图中红圈所示和图2中的路径一样,只是这里的combout等式为N/A,也即其没有fan out。另外注意图5右侧属性栏中的F0和F2 LUT等式,虽然同样为“!d”,但是F0 LUT的输出作为加法器一个输入,而F0 LUT的输入只有DATAD,所以其输出也只与DATAD有关,对应Sumout和Carryout等式中的“D”项。同理,观察DATAF位于绿圈的路径,尽管其没有“直接输入”到F2 LUT,但是此时DATAF就是F2 LUT的唯一输入,并且F2 LUT的输出作为加法器的另一个输入,对应Sumout和Carryout等式中的“!F”项。

图5:算术模式下DATAF进入ALM的路径


根据上述分析,DATAE和DATAF虽然没有作为F?LUT的直接输入,但是F2和F3 LUT和其后面的3输入模块构成了图1中ALUT的下面的那个4输入LUT。


图5显示了一个非常简单加法器例子,DATAF和DATAD直接作为加法器的两个输入,尽管DATAF被取反了,图中黄圈模块就是取反。另外,信号在ALM端口处是不是首先被取反了?!如图5所示的F0 LUT的等式为!d,输入为DATAD,F0 LUT到加法器直接是直通,并没有取反器,为何SUMOUT表现为“D”呢,所以推断端口处信号均被“取反”,可以放大图5端口处,发现DATA前似乎有取反符合“!”,从属性编辑器可以找到很多例子来印证上述猜测。


分析及结论


本文试图详细了解DATAF端口上的信号“feed in”ALM后的路径,从而为TDC设计中需要微小修改时提供帮助。


附:

作者: coyoo, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-1010859.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /5 下一条