在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 5431|回复: 13

[求助] 21个input,如何判断其中是否有相等的呢

[复制链接]
发表于 2021-9-7 10:11:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
21个8bit输入数据,如何判断其中是否有相等的,如果相等需要剔除掉,只留下不相等的。有没有什么高效一点的算法推荐的?
Verilog中直接用两两比较的方式,差不多需要比较21*20/2=210次,耗费的资源较多,效率貌似也不太高
 楼主| 发表于 2021-9-9 16:22:34 | 显示全部楼层


   
innovation 发表于 2021-9-7 22:30
这个思路很有意思,谢谢提供这个思路。楼主的需求中有一个需要考量的地方,到底是重复的数据全部丢掉?还 ...


蛮有意思的想法,有点cache中的valid位的味道。需求方面确实描述清楚,相同的是采取全部丢弃的策略。
不过速度可能有点跟不上,因为RAM至少要带来一拍的延时,使用register搭建RAM也是一样
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-9 16:25:35 | 显示全部楼层


   
smarthb 发表于 2021-9-7 14:03
两个ram,第一个ramA 256x1,第二个ramB 32x8
21个8bit数据作为ramA的地址:ramA初始化后,256个地址的数据 ...


蛮有意思的想法,感谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-9 16:26:52 | 显示全部楼层


   
zzj0329 发表于 2021-9-7 10:38
当作一个21个地址的ram数据,数据两两按位异或,异或结果为1的话两个地址的数据都选通,异或结果为0的话屏 ...


你说的这个,实质上就是两两比较,当然你写A==B,可能综合器也会给你替换成异或逻辑,然后和0比较
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-9 20:49:41 | 显示全部楼层


   
innovation 发表于 2021-9-9 16:49
嗯,相同的数都丢弃。
而且,不能有流水线延迟。那么,组合逻辑的门延迟+布线延迟的要求?
那么,你是基于 ...


你猜的真准,其实就是生成标志信号,后级根据标志信号来决定是否处理,所以相同的input,把它对应的标志信号置为0就好了
至于说延时,其实就是不希望有流水线,那么久希望这个处理的过程中1拍完成。
用组合逻辑实现,就得看timing过不过得了。这里我比较倾向用并行逻辑,虽然面积大一点,但是速度足够。流水线的话,代价太大,需要对很多状态进行打拍,耗费的资源远远大于此处的面积
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-9 20:51:52 | 显示全部楼层


   
innovation 发表于 2021-9-9 16:49
嗯,相同的数都丢弃。
而且,不能有流水线延迟。那么,组合逻辑的门延迟+布线延迟的要求?
那么,你是基于 ...


其实从逻辑深度的角度来看,这个处理过程的逻辑深度不会超过10级,相对于7nm的工艺来说,一个cycle完成应该还算轻松。只是我觉得两两比较的方法比较蠢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-14 21:08:32 | 显示全部楼层


   
innovation 发表于 2021-9-9 21:41
1. 不采用两两比较的办法,我还真从数学的角度去仔细思考过,奈何才疏学浅,没搞定。希望你搞定的话, ...


从数学或者说算法的角度上来看,我目前也没想到什么好方法。问了一下哪些做互联网或者软件开发的同学,貌似他们都是调用别人写好的库或者轮子,自己写轮子没看到多少
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 ) |网站地图

GMT+8, 2025-10-16 23:57 , Processed in 0.354981 second(s), 4 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表