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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3446|回复: 10

[求助] 128个数的排序,综合寄存器资源和时序,有没有什么好的方法?

[复制链接]
发表于 2021-12-20 10:10:08 | 显示全部楼层 |阅读模式

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

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

x
求助各位大牛!!
发表于 2021-12-20 13:17:32 | 显示全部楼层
查找表啊
发表于 2021-12-20 21:39:17 | 显示全部楼层
同楼上说的,如果是不同的128个数据且数据位宽不大的话,把数据当地址,一起写进RAM里面,写完了以后直接读出来就可以了
发表于 2021-12-21 16:29:31 | 显示全部楼层
接以上几楼的,数据位宽不大的情况下,ram查找的方式确实够直接。
现在发现ram这种资源,在做算法的时候,有意想不到的用处。
 楼主| 发表于 2021-12-24 21:23:15 | 显示全部楼层


ASIC设计,面积有限,希望在不额外增加存储空间的前提下,通过优化排序方法来节省cycle。
这128个数在每次排序结束后 会变成新的一组数,再进行排序。
如果使用查找表的话,这个查找表也是需要实时维护的
 楼主| 发表于 2021-12-24 21:41:48 | 显示全部楼层


黑桃ACE 发表于 2021-12-20 21:39
同楼上说的,如果是不同的128个数据且数据位宽不大的话,把数据当地址,一起写进RAM里面,写完了以后直接读 ...


写ram的时候应该也是要将数据排好序再写吧?我现在的痛点是如何在不增加额外存储的前提下,做排序优化
发表于 2021-12-25 17:36:37 | 显示全部楼层


seaguoyi 发表于 2021-12-24 21:41
写ram的时候应该也是要将数据排好序再写吧?我现在的痛点是如何在不增加额外存储的前提下,做排序优化:lo ...


不用排序,比如有一串数据[5559,158, 1879, 1114, 4445,....]这样共128个数据,那写入到RAM的时候就是地址a1=5559, 数据d1 = 5559,地址a2=158, 数据d2 = 158,地址a3=1879, 数据d3 = 1879,地址a4=1114, 数据d4= 1114,...写的时候同时标记数据有效,然后直接读遍历整个RAM,读出来的数据看到有效就输出
 楼主| 发表于 2021-12-27 09:24:20 | 显示全部楼层


黑桃ACE 发表于 2021-12-25 17:36
不用排序,比如有一串数据[5559,158, 1879, 1114, 4445,....]这样共128个数据,那写入到RAM的时候就是地 ...


很巧妙呀!! 但就是耗费ram和读写时序
发表于 2021-12-27 10:12:39 | 显示全部楼层
这128个数都是正整数吗?会不会出现相同的数?是全部排序吗?我做过128选8的,唯一顺序
 楼主| 发表于 2021-12-27 22:52:59 | 显示全部楼层


cfly_chang 发表于 2021-12-27 10:12
这128个数都是正整数吗?会不会出现相同的数?是全部排序吗?我做过128选8的,唯一顺序 ...


都是正整数,会出现相同的,选出最小值和最大值,如果有相同的最大值,还要把选那个序号最小的最大值
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-22 07:03 , Processed in 0.022735 second(s), 6 queries , Gzip On, Redis On.

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