2566|2

7

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

数据排序 [复制链接]

遇到一个问题,请大侠帮忙。

每10个时钟周期到达一个24比特宽的数,需要与之前的1024个数据比较,得出最大的放在前面。换句话说就是10拍之内要与前面的1024个数据中的10个做比较,准确的得到当前到达的数据的位置并放进去。

我思考了下,貌似需要用到二叉树的概念,建立最大堆,但是好像还是没有满足10拍的要求。可能是我的树建立的不对,哪位大侠帮帮我。

非常感谢!
此帖出自FPGA/CPLD论坛

最新回复

1. 有几个问题问一下:    1024个数据是不是已经排序好了。 2. 是不是把收到数据插入到已经排序好的1024个数据中,并保持1024个数据从小到大排列。  详情 回复 发表于 2011-11-15 09:51
点赞 关注
 

回复
举报

6892

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

1. 有几个问题问一下:

   1024个数据是不是已经排序好了。

2. 是不是把收到数据插入到已经排序好的1024个数据中,并保持1024个数据从小到大排列。

此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 eeleader 的帖子

感谢关心!

数据缓冲区开始是空的,由于到达的数据有可能比移出去的快(因为移出去的最大的可能收到反压),所以导致数据缓冲区内缓存的数据可能越来越多(最多支持1024个,然后反压入口侧);所以整个数据积累起来的过程是从0开始的,至于缓存在里面的数据是否是顺序的,要取决于我们的算法怎么安排了。如果能够建成顺序递增/递减的当然可以,但是好像有点困难。所以这个问题的关键是如何在数据进入的时候将缓存在BUFFER中的数据按照某种数据结构组织好,便于每次新到达的数据可以快速找到其应该插入的位置,也便于每次移出一个最大/最小的数据之后还能通过少量的数据移动就可以保持原来的队形(数据结构)。这里要求每次到达的数据间隔约为10拍,每次移出最大/最小的数据之后保持队形的时间依然是10拍左右。

不知我的问题描述清楚没有,麻烦各位大侠了。
此帖出自FPGA/CPLD论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表