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

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

3天内不再提示

分治法带来的好处

FPGA开发之路 来源:FPGA开发之路 2023-09-06 10:05 次阅读

上一篇文章分治法(Divide and Conquer)以 Leading Zero Count 为例解释了分治法带来的好处,本篇文章再举一个类似的例子。

Count Number of Ones,计算一个32-bit输入中 1 的个数。

For 循环

always_comb begin
    count = 0;
    for (int i=0; i<32; i++) begin
        count = count + data_i[i];
    end
end

分治法

第一级:6-3 compressor (需要三个LUT6)

第二级:ternary adder

第三级:ternary adder

logic [4:0][2:0] temp1;
logic [1:0] temp1_1;
always_comb
    for (int i=0; i<5; i++) begin
        case(data_i[i*6 +: 6])
            6'b000000 : temp1[i] = 0;
            6'b000001 : temp1[i] = 1;
            6'b000010 : temp1[i] = 1;
            6'b000011 : temp1[i] = 2;
            ...
            6'b111111 : temp1[i] = 6;
        endcase
    end
end
assign temp1_1 = data_i[30] + data_i[31]:

logic [1:0][4:0] temp2;
always_comb begin
    temp2[0] = temp1[0] + temp1[1] + temp[2];
    temp2[1] = temp1[3] + temp1[4] + temp[5];
end

logic [5:0] count;
assign count = temp2[0] + temp2[1] + temp1_1;

综合结果对比

WNS Logic Levels Num of LUTs
For loop 8.496 5 34
Divide and Conquer 8.718 4 29






审核编辑:刘清

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

    关注

    0

    文章

    3

    浏览量

    5350
  • for循环
    +关注

    关注

    0

    文章

    61

    浏览量

    2487

原文标题:分治法(二)

文章出处:【微信号:FPGA开发之路,微信公众号:FPGA开发之路】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    USB MP4流媒体带来好处

    USB MP4流媒体带来好处什么是流媒体呢?从硬件角度讲是指一些便携的,播放时不占用播放设备内存,可即时播放的数码设备,例如U盘、MP3、移动硬盘、DC、DV里的SD、MMC卡等,具体说就是拥有
    发表于 05-24 18:19

    现场总线技术带来哪些好处

    现场总线技术带来哪些好处1.节省硬件成本2.设计组态安装调试简便3.系统的安全可靠性好减少故障停机时间4.系统维护设备更换和系统扩充方便5.用户对系统配置设备选型有最大的自主权6.完善了企业信息系统为实现企业综合自动化提供了基础[此贴子已经被作者于2009-11-17 1
    发表于 11-17 10:20

    分治找出最大值和最小值的问题

    我用分治写了一个程序,找出一个数组中最大值和最小值,可是运行时总是报错段错误,我把源代码贴出来,还请高手赐教指点。#include"stdio.h"int s[10]={56
    发表于 03-21 11:00

    字符串与数组分治递归算法

    字符串与数组分治递归算法。
    发表于 09-05 22:49

    CPLD可为便携设计带来哪些好处呢?

    移动电话、便携式媒体播放器、掌上游戏机和数码相机等便携式产品的激增,使得系统设计人员承受着越来越大的压力。他们必须不停地开发提供拥有新特性和功能的产品,并尽量缩短产品的上市时间。那么,CPLD可为便携设计带来哪些好处呢?在为便携应用选择逻辑解决方案时,需要考虑哪些主要设计
    发表于 07-31 08:28

    python算法之使用分治求解凸包

    《python算法教程》Day11 - 分治求解平面凸包问题
    发表于 11-01 09:14

    请问在Speedster7t FPGA中增加NoC能带来哪些好处

    在Speedster7t FPGA中增加NoC能带来哪些好处
    发表于 06-17 10:50

    模型量化会带来哪些好处

    量化算法具有什么特点?模型量化会带来哪些好处
    发表于 09-28 06:32

    在线编程ISP与IAP带来好处和缺点分别有哪些呢

    如何对MCU芯片程序进行烧录呢?在线编程ICP、ISP、IAP带来好处和缺点分别有哪些呢?
    发表于 01-24 06:24

    I2C标准能带来些啥好处

    I2C标准能带来些啥好处呢?时钟同步是通过I2C接口中SCL线的线与实现的啥意思呢?
    发表于 01-25 07:43

    电子设计师设计思想篇--分治法利弊

      分治 (divide and conquer) 是解决复杂问题的一种有效策略。本质上,它是把看似难以克服的问题分解成多个更小、更易于解决的部分。待这些部分被单独解决之后,把结果
    发表于 09-09 09:48 2951次阅读

    聚类和划分的SAT分治判定

    满足性来判定原公式的可满足性,相当于用分治将复杂问题分解为多个子问题来求解.这种分治判定方法一方面降低了原公式的可满足性判定复杂度;另一方面,由于子句组的判定可以并行,因而判定速度能够得到进一步的提高.对于不能直接产生布尔子句
    发表于 01-24 17:41 0次下载

    云计算可以带来以下哪些好处

    本文开始介绍了云计算的概念和特点,其次阐述了云计算带来好处以及给企业带来好处,最后介绍了云计算的发展趋势。
    的头像 发表于 04-10 09:01 2.7w次阅读

    Niagara框架所带来好处有哪些

    Niagara框架所带来好处有哪些
    发表于 12-17 14:37 19次下载

    FPGA开发中分治的应用

    分治是经典优化算法之一。分治分治,即分而治之。分治,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……
    的头像 发表于 08-16 09:55 805次阅读
    FPGA开发中<b class='flag-5'>分治</b><b class='flag-5'>法</b>的应用