上一篇文章分治法(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
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浏览量
5356 -
for循环
+关注
关注
0文章
61浏览量
2502
原文标题:分治法(二)
文章出处:【微信号: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
CPLD可为便携设计带来哪些好处呢?
移动电话、便携式媒体播放器、掌上游戏机和数码相机等便携式产品的激增,使得系统设计人员承受着越来越大的压力。他们必须不停地开发提供拥有新特性和功能的产品,并尽量缩短产品的上市时间。那么,CPLD可为便携设计带来哪些好处呢?在为便携应用选择逻辑解决方案时,需要考虑哪些主要设计
发表于 07-31 08:28
电子设计师设计思想篇--分治法利弊
分治法 (divide and conquer) 是解决复杂问题的一种有效策略。本质上,它是把看似难以克服的问题分解成多个更小、更易于解决的部分。待这些部分被单独解决之后,把结果
发表于 09-09 09:48
•2967次阅读
评论