请教大神们一个电路实现
时间:12-12
整理:3721RD
点击:
7个25位数的比较,取最大值输出,要求一拍完成,smic40@400MHz,
堆成树形的结构有三个比较器串联,把频率拖慢了近一半。。。
这个问题有其他思路和解决办法么?实在不行就只好多拍完成了。
堆成树形的结构有三个比较器串联,把频率拖慢了近一半。。。
这个问题有其他思路和解决办法么?实在不行就只好多拍完成了。
7个数并行两两比较
得到7x6/2=21个1位的比较结果
这21位数查表得到7位的onehot信号
再选出最大值
这样critcal path上只有一个比较器,一个查表,一个7-1的mux
赞。。查表逻辑感觉不会小,每个bit有21个输入。。不过比我之前想的要好很多了
其实不是所有的21个bit都参与onehot信号的生成
假设cmpxy表示第x项大于第y项
一共有21个cmpxy
onehot[0] = cmp01 && cmp02 && cmp03 .. cmp06
onehot[1] = !cmp01 && cmp12 && cmp13 .. cmp16
...
onehot[6] = !cmp06 && !cmp16 && !cmp26 ... !cmp56
所以其实onehot信号的每个bit是6个比较结果与起来即可
赞
给你定出这种规格的人应该直接拍死。
address是21位的表?夸张了吧!
两两比较好,结果为cxy
然后运算:
c0 = c01 & c02 & ...& c06,
....
c6 = c06 & c16 & ...& c56,
c0c1c2c3c4c5c6作为onehot选通信号选择d0到d6到输出
应该能meet吧。没考虑多个最大值相同情况