布局布线后,点击“Chip Planner”,Chip Planner打开后可以看到在版图模型中有一个块蓝色区域的颜色变深,说明有该区域的资源被占用,我们知道这是一个逻辑阵列块LAB,我们将该区域放大
放大后可以看到蓝色变深的区域中有16个小块,这16个小块就是LE(它们的走线时延的关系如下:同一个LAB中(最快) 《 同列或者同行 《 不同行且不同列),其中只有一个LE的颜色变是蓝色的,说明该处的资源被使用了,双击蓝色的LE即可观察其内部的结构
双击打开LE后内部的结构如下图所示,其中蓝色显示的是真实使用到的结构,灰色的是未使用到的结构,我们可以看到有两个输入和一个输出,与RTL代码的描述是对应的,红色框就是查找表LUT。
依次打开上图红色箭头标记的5个LE
可以看到前4个LUT是b[0]~b[15],第5个LUT是Equal,结合Chip Planner视图可以初步推理出,16bit的b每连续的4个输入用一个LUT,输出的结果传到第5个LUT。再结合Technology Map Viewer(Post Mapping)视图可知,前4个LUT其实是存储了0000_0000_1101_0101,也就是16’hd5这个值,然后每连续的4个一组,与输入分别比较,如果LUT的值与输入的值相等则LUT的输出为1,如果不相等输出为0,所以第5个LUT的内部输入名为“Equal”我们也就不难理解了。而第5个LUT存储了1111,当前4个LUT与输入的比较结果与第5个LUT中存储的值比较,如果相等则输出0,如果不相等则输出1。
选中第五个LE,点击Generate Fan-in Connection也可以显示出16bit的b每连续的4个输入用一个LUT,输出的结果传到第5个LUT
目前大部分FPGA都基于6输入LUT的(本例选用FPGA较老,是基-4 LUT),如果一个输出对应的判断条件大于四输入的话就要由多个LUT级联才能完成,这样就引入一级组合逻辑时延,我们要减少组合逻辑,无非就是要输入条件尽可能的少,这样就可以级联的LUT更少,从而减少了组合逻辑引起的时延。
例如:一个32位的计数器,该计数器的进位链很长(cnt《=cnt+32‘d1),必然会降低工作频率,我们可以将其分割成4位和8位的计数,每当4位的计数器计到15后触发一次8位的计数器,这样就实现了计数器的切割,也提高了工作频率。
文章来源:网络素材(侵删)
编辑:jq
-
FPGA
+关注
关注
1628文章
21689浏览量
602337 -
RTL
+关注
关注
1文章
385浏览量
59723 -
LUT
+关注
关注
0文章
49浏览量
12490
原文标题:RTL与LUT的关系理解
文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论