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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2105|回复: 4

[求助] 硬件如何实现:9个数取较小的4个值(不要求顺序)

[复制链接]
发表于 2012-4-6 17:00:21 | 显示全部楼层 |阅读模式

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

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

x
RT.para0,para1,para2,para3,para4,para5,para6,para7,para8
最终保留4个较小的值


如何用硬件实现?

多耗点资源没有关系,主要是cycle要尽可能的少!
发表于 2012-4-6 19:48:18 | 显示全部楼层
写个小模块比较两个输入的大小
然后在顶层调用
首先比较a0 ,a1,得到较小的一个存起来
依次调用四次,得到四个较小值,存起来
在拿这四个较小值与最后一个数比较,即可
 楼主| 发表于 2012-4-6 21:53:47 | 显示全部楼层
回复 2# huizi0711


        额,如果a0<a1, a2<a3, 不见得a1比a2大吧。。。
发表于 2012-4-12 15:11:22 | 显示全部楼层
从最高位开始将数据的每一位与“1”与,舍弃结果是1的数据,至少判断到[i]=2的数据位,然后输入剩余的所有数据。
或者已知数据最大位宽采用中间值比较法依次比较。
发表于 2012-4-12 16:40:38 | 显示全部楼层
实现冒泡算法一般有两种方法,一种是直接用硬件core实现;一种是用减法实现(有点类似软件的冒泡算法)。选择原则,如果用低端FPGA,且比较数位宽不超过4Byte,速度不超过100M的话,直接用减法计算。不过很浪费资源;要是要求较高,那就直接调用IPcore,直接用多个硬件比较器实现。方法一具体比较过程该论坛上有例子,可参考。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-26 06:18 , Processed in 0.017249 second(s), 7 queries , Gzip On, Redis On.

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