先说一段废话
近期萌生了写技术博客的念头,一来是可以记录一些遇到的技术问题,理清思路,也可以记录自己的技术成长;二来是可以将自己的知识分享,以便后人再碰到时能从容不破。希望今后在碰到原创有价值的问题时能坚持这一习惯,也算是督促自己,下面进入正题。
问题的引出
这里有一个问题,一个32位的比较器需要使用多少个LUT。苦思冥想仍然未能得到答案,写程序后查看RTL网表,得到了答案。但是又看到了一个新的结构carry4(超前快速进位逻辑结构),这个结构会用在多位的比较器和多位的加法器上,要理解比较器和加法器的工作原理就需要理解这个超前快速进位逻辑。经过仔细研究,引出了这边文章。
这个结构可以查阅这篇文档:
https://www.xilinx.com/support/documentation/user_guides/ug474_7Series_CLB.pdf
讨论
首先给出答案一个32位的比较器需要使用32个LUT。具体这个超前快速进位逻辑结果起什么作用慢慢进行分析。
通过RTL网表可以看出,综合出来的结构如下图:
图中的小方块是LUT,有32个