上一篇文章分治法(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次閱讀
評論