导读:目前正在解读《关于“判断2个数值等于、不等于的组合逻辑”的看法》的相关信息,《关于“判断2个数值等于、不等于的组合逻辑”的看法》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《关于“判断2个数值等于、不等于的组合逻辑”的看法》的详细说明。
简介:关于2个多bit数的相等或者不相等的判断,见过两种写法。

关于2个多bit数的相等或者不相等的判断,见过两种写法。

以不等于的逻辑为例:

1. assign c = (a !=b)

直观,不解释;

2. assign c = |( a ^ b )

a和b先异或,这样只要a中任一比特和b中对应比特不相等,都会得到1'b1,然后再位或,最后的结果必然是1'b1;

这两种写法比较常见,以前总觉得之所以有这2中写法,那么肯定有优有劣,而且根据我这个懒人的惯性思维,

总觉得可读性差的效果好,所以一直以为第二种写法生成的组合逻辑的延迟小;

今天用Q II比较了下这种写法的综合和时序分析结果,自己也思考了下这两个逻辑的实现电路,有了不同的认识;

这两种方式写法不同,综合出的电路也不相同,但是有共同点,即可以认为是综合器并行处理了这个组合逻辑;

所以从输入到输出经过的LUT的数量是相同的;

若a和b均是64-bits,且FPGA内的LUT是6-input的;

那么由于6^3=216>(64+64)

因此这两种写法,从a和b到c的每条路径,都是经过3个LUT级联输出,消耗资源相同,延迟也相同;

所以根据可读性而言,使用第一种写法较好;

网友回复:

我觉得和综合器应该有一定的关系吧,算法不一样门级电路可能会不一样,asic到门可能就完了,不同的门级结构不同的资源一目了然,fpga到门以后还要重新打包成对应器件的LUT,甚至在综合的时候就按利于LUT结构的算法进行优化了,有可能导致不同门级结构转为LUT后资源占用又一样多了.....应该是这么个意思吧。

提醒:《关于“判断2个数值等于、不等于的组合逻辑”的看法》最后刷新时间 2024-03-14 01:09:02,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《关于“判断2个数值等于、不等于的组合逻辑”的看法》该内容的真实性请自行鉴别。