0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用FPGA实现双调排序的方法(2)

FPGA技术驿站 来源:FPGA技术驿站 2024-03-21 10:28 次阅读

在上篇文章中我们介绍了如何对双调序列进行排序,操作过程如下图所示。

其特征是每次分割都是将原始的序列分成两个等长序列。

例如:原始序列长度为16,第1次分割将其分为2个长度为8的序列;第2次分割将第1次分割的排序结果(长度仍为16)分为4个长度为4的序列;第3次分割将第2次分割的排序结果分为8个长度为2的序列;第4次分割将第3次分割的排序结果分为16个长度为1的序列。

图中相邻的绿色标记和蓝色标记序列构成一组进行比较。

d8ffce8a-e71e-11ee-a297-92fbcf53809c.jpg

为进一步说明,我们定义操作符Å,如下图所示。

两个操作符Å由双向箭头连接,表示彼此之间共享数据,即下方的Å可接收上方的Å对应操作数op1,同时上方的Å可接收下方的Å对应操作数op2。

位于上方的Å输出op1与op2中的较小者,位于下方的Å输出op1与op2的较大者,简言之Å表示对两个输入数据进行升序排序。

此外,还有一个关键点就是图中虚线的含义。

可以看到op1与min(op1,op2)在一条直线上,op2与max(op1,op2)在一条直线上。

同一条直线上的两个数据其位置是相同的。

即若op1是0号数据,那么min(op1,op2)也必须放到0号位置上,这就是所谓的原位(In-place)运算。

d91a304a-e71e-11ee-a297-92fbcf53809c.jpg

在Å操作符的定义下,长度为16的双调序列的排序过程如下图所示。

图中第1列为二进制数,表示序列中每个元素在序列中的位置也就是地址,用于体现原位运算的特征。

整个排序过程分为4个阶段完成对应图中的Stage 0~Stage3。

在Stage 0中,Å的两个操作数的地址间距为8(例如,3来自0号地址,95来自8号地址);在Stage 1中间距为4;在Stage 2中间距为2;在Stage 3中间距为1。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593201
  • 比较器
    +关注

    关注

    14

    文章

    1526

    浏览量

    106491

原文标题:用FPGA实现双调排序(2)

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA排序-冒泡排序介绍

    排序算法是图像处理中经常使用一种算法,常见的排序算法有插入排序、希尔排序、选择排序、冒泡排序、归
    发表于 07-17 10:12 670次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>排序</b>-冒泡<b class='flag-5'>排序</b>介绍

    基于FPGA口RAM实现及应用

    的高速数据采集和在线测试对现代工业测控系统和仪器仪表的功能和性能提更高要求。CPU并行工作(单片机系统)方式得到广泛应用。为了使2个单片机能够快速有效交换信息,充分利用系统资源,采用口RAM
    发表于 04-24 09:44

    labview对数组排序方法

    号)变动情况,所以问题的关键是找出变化后的位置(索引号)这样根据索引号的变化,就可以对对应的ARRAY2,ARRAY3进行相应的排序其实我们可以下面更简单的方法`
    发表于 11-21 17:37

    FPGA实现口ram的问题

    我想用fpga实现一个口的ram,有8位的数据和地址线,他们是共享的,分时复用,请问怎么解决这个问题,另外读写冲突的问题怎么解决应该,哪位高手指点一下,谢谢啦。
    发表于 07-10 11:21

    怎么实现6通道电源排序

    怎么办呢?有没有一个简单的方法对这些系统进行排序呢?谢天谢地,还真有!你可以将2个LM3880集成电路 (IC) 级联在一起,以实现6通道加电和断电
    发表于 09-04 11:55

    详解 FPGA 电源排序的四种方案

    的缺点是其并不实施断电排序方法三:模拟上电 / 断电排序器实施上电排序会比实施断电排序更加容易。为了
    发表于 06-10 08:30

    四种FPGA 电源排序方案

    FPGA 引脚之间增设几个 AND 门,就能给图 4 中的电路添加受监视的排序功能。在该例中,PS2 仅在PS1超过其终值的90% 的情况下使能。这种方法可提供一种低成本、受监视的
    发表于 09-17 14:22

    如何选择FPGA电源排序?这几个方法交给你

    以上不等。通过遵循推荐的电源序列,可以避免在启动期间吸取过大的电流,这反过来又可防止器件受损。对一个系统中的电源进行排序可采用多种方法来完成。本文将详细说明可根据系统所要求的复杂程度来实现的电源
    发表于 04-27 07:00

    算法的原理是什么?基数排序是如何实现的?

    算法的原理是什么?基数排序是如何实现的?有哪几种方法可以实现基数排序
    发表于 07-05 07:42

    冒泡排序法的具体实现方法是什么?

    什么是冒泡排序?冒泡排序法的具体实现方法是什么?
    发表于 07-15 06:48

    关于电源排序的解决方案你了解吗

    的缺点是其并不实施断电排序方法三:模拟上电 / 断电排序器实施上电排序会比实施断电排序更加容易。为了
    发表于 11-24 06:30

    qsort排序方法

    七种qsort排序方法      一、对int类型数组排序
    发表于 08-25 10:39 5次下载

    基于FPGA的串并集合排序在雷达系统中的应用

    基于FPGA的串并集合排序在雷达系统中的应用
    发表于 01-04 14:59 0次下载

    分析FPGA 电源排序的四种方案介绍

    不等。 通过遵循推荐的电源序列,可以避免在启动期间吸取过大的电流,这反过来又可防止器件受损。对一个系统中的电源进行排序可采用多种方法来完成。本文将详细说明可根据系统所要求的复杂程度来实现的电源
    发表于 09-15 07:22 761次阅读

    用于实现电源排序的各种方法

    电子发烧友网站提供《用于实现电源排序的各种方法.pdf》资料免费下载
    发表于 09-14 11:02 0次下载
    用于<b class='flag-5'>实现</b>电源<b class='flag-5'>排序</b>的各种<b class='flag-5'>方法</b>