在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

二分法查找在實(shí)際電路中的應(yīng)用

8ECz_icstudy ? 來源:未知 ? 作者:胡薇 ? 2018-10-29 10:03 ? 次閱讀

1

首先問大家一個(gè)問題,如果有一堆有序的數(shù)據(jù)

1,2,3,4,5,6,7,8,9,10,11,...100

如果想要找出55,你要怎么實(shí)現(xiàn)呢?

最直觀的是用線性查找,從頭開始一個(gè)個(gè)的查找,需要55次才能找到目標(biāo)數(shù)值。

如果大家學(xué)過C或者C++,應(yīng)該有二分法查找的概念,先把這堆數(shù)分成2堆,把第一堆的最后一個(gè)數(shù)跟55比較,發(fā)現(xiàn)55比它大,所以55應(yīng)該在第2堆。再重復(fù)這個(gè)過程,大概需要7次就可以確定55的位置。

二分法查找效率顯而易見,它的時(shí)間復(fù)雜度T(n)=O(log(2)n),遠(yuǎn)遠(yuǎn)小于線性查找的T(n)=O(n)。

但二分法要求數(shù)據(jù)必須是有序排列的,這在實(shí)際電路世界里面往往是滿足的。

利用二進(jìn)制搜索(二分法查找)實(shí)現(xiàn)的逐次逼近算法,每次都是選取比較范圍內(nèi)的中間點(diǎn)來跟參考值進(jìn)行比較,通過比較結(jié)果來繼續(xù)縮小比較范圍,一直迭代直至找到最接近比較值的解。

這個(gè)過程跟求方程(近似)解也非常類似。二進(jìn)制搜索實(shí)現(xiàn)的逐次逼近常常用于需要校準(zhǔn)的場景中,比如SAR ADCDRAM ZQ 校準(zhǔn)、儀器校準(zhǔn)算法等。因?yàn)槲覀兊男?zhǔn)代碼對應(yīng)的值是線性增加或者減小的,符合二進(jìn)制搜索法的條件。

2

下圖是一個(gè)SAR ADC的基本架構(gòu):

電路的目標(biāo)就是得到一個(gè)最接近Vin的VDAC,可以通過調(diào)整

SAR code配置DAC模塊得到。

假設(shè)我們的SAR(逐次逼近寄存器)的位數(shù)是3位,初始狀態(tài)設(shè)為SAR[2:0]=3'b100,也就是處于000-111的中間位置。

如果SAR的使能clock 開始toggle,比較過程就開始了:

如上圖所示,X軸表示時(shí)間,Y軸表示DAC輸出電壓VDAC:

第1次比較: 設(shè)置SAR[2:0]=3'b100,VDAC=1/2 Vref < Vin , 所以SAR[2]保持1,SAR[2:0]=3'b100;

第2次比較: 設(shè)置SAR[2:0]=3'b110,VDAC=(1/2 Vref + 1/4 Vref)> Vin , 所以SAR[1]最終取0,SAR[2:0]=3'b100;

第3次比較: 設(shè)置SAR[2:0]=3'b101,VDAC=(1/2 Vref + 1/8 Vref)> Vin , 所以SAR[0]最終取0,SAR[2:0]=3'b100;

最終我們可以得到與輸入電壓Vin最接近的VDAC,可以看出SAR的位數(shù)越多,精度越高,但是比較周期數(shù)也會越來越多。

另外其第3次(最后一位)比較好像也沒有必要,因?yàn)槟惚容^完也無法得到一個(gè)相等值,可以把最后一位固定成1或者0,最大的誤差就是最后一位代表的權(quán)重1/8 Vref。

2

前面是具體的SAR ADC的例子,我們可以進(jìn)一步把二進(jìn)制搜索SAR的過程畫成流程圖的形式,方便后續(xù)電路或者Verilog代碼的實(shí)現(xiàn):

初始化SAR的MSB=1, 其它bit為0 (比如4bit 4'b1000)

每次CLK go high ,走一步

如果INCR=1, 走圖中實(shí)線箭頭方向;

如果INCR=0, 走圖中虛線箭頭方向;

最低位LSB最終固定為1

4bit的SAR 一共需要走3步,也就是3個(gè)CLK周期后就可以得到最后的結(jié)果。

3

最后給出一個(gè)6位二進(jìn)制搜索SAR logic電路的SPEC:

Input

INCR

RSTB reset信號,負(fù)沿有效

CLK

OUTPUT

PUCODE [5:0]

你覺得這個(gè)電路是用Verilog代碼實(shí)現(xiàn)呢?

還是自己搭電路比較好?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 電路
    +關(guān)注

    關(guān)注

    173

    文章

    6022

    瀏覽量

    174497
  • 二進(jìn)制
    +關(guān)注

    關(guān)注

    2

    文章

    803

    瀏覽量

    42161

原文標(biāo)題:二進(jìn)制搜索算法(二分法查找)在實(shí)際電路中的應(yīng)用

文章出處:【微信號:icstudy,微信公眾號:跟IC君一起學(xué)習(xí)集成電路】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何用C語言實(shí)現(xiàn)高效查找二分法

    今天給分享一下使用C語言實(shí)現(xiàn)二分算法,主要包含以下幾部分內(nèi)容:二分查找算法介紹二分查找算法使用場景二分
    的頭像 發(fā)表于 06-04 08:04 ?1684次閱讀
    如何用C語言實(shí)現(xiàn)高效<b class='flag-5'>查找</b>(<b class='flag-5'>二分法</b>)

    Java常用排序算法&程序員必須掌握的8大排序算法+二分法查找

    Java常用排序算法&程序員必須掌握的8大排序算法+二分法查找
    發(fā)表于 10-19 19:33

    簡單的查找算法

    ; } return 0;} 3. 有序數(shù)組表的查找:一般使用二分法查找。通過判斷查找元素與中間元素(mid)的大小來決定下一次的查找
    發(fā)表于 12-27 22:33

    Labview實(shí)現(xiàn)二分法查找數(shù)值區(qū)間

    二分法是檢索里經(jīng)常用到的一種方法,可以實(shí)現(xiàn)對有序數(shù)組進(jìn)行檢索,本程序通過二分法實(shí)現(xiàn)對數(shù)據(jù)進(jìn)行區(qū)間匹配,并輸出最小匹配區(qū)間和匹配區(qū)間的索引值,尤其適合多段函數(shù)的數(shù)值計(jì)算。
    發(fā)表于 04-18 13:22

    淺析漸近表示二分法

    《算法圖解》NOTE 1 算法的漸近表示以及二分法
    發(fā)表于 10-10 10:58

    C語言教程之二分查找

    C語言教程之二分查找,很好的C語言資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-22 11:06 ?0次下載

    基于C語言二分查找排序源代碼

    本文檔內(nèi)容介紹了C語言歸并、選擇、直接插入、希爾、冒泡、快速、堆排序與順序、二分查找排序源代碼,分享給大家供大家參考。
    發(fā)表于 01-04 11:24 ?1次下載

    基于二分法與移動(dòng)Sink的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集協(xié)議

    傳感器節(jié)點(diǎn)能量的有限性,嚴(yán)重制約了無線傳感器網(wǎng)絡(luò)的推廣與發(fā)展。因此,如何改善傳感器節(jié)點(diǎn)能源的利用率、節(jié)約能耗以及提高整個(gè)網(wǎng)絡(luò)的生存周期成為該領(lǐng)域研究者面臨的挑戰(zhàn)之一。 為延長網(wǎng)絡(luò)生存周期,提出一種基于二分法與移動(dòng)Sink的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集協(xié)
    發(fā)表于 03-12 10:43 ?0次下載
    基于<b class='flag-5'>二分法</b>與移動(dòng)Sink的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集協(xié)議

    圖像處理算法之二分查找

    二分查找又稱折半查找,優(yōu)點(diǎn)是比較次數(shù)少,查找速度快,平均性能好;其缺點(diǎn)是要求待查表為有序表,且插入刪除困難。
    的頭像 發(fā)表于 03-17 11:29 ?5088次閱讀

    如何利用verilog驗(yàn)證二分法查找的設(shè)計(jì)代碼

    下面是產(chǎn)生輸出文件的過程,這里我們設(shè)置輸出結(jié)果的格式是fsdb,當(dāng)然我們也可以設(shè)置成vcd的格式。fsdb的文件size比較小,而且利用verdi的波形工具nWave看起來也比較方便。實(shí)際項(xiàng)目
    的頭像 發(fā)表于 11-26 14:39 ?5969次閱讀

    詳解C語言二分查找算法細(xì)節(jié)

    我相信對很多讀者朋友來說,編寫二分查找的算法代碼屬于玄學(xué)編程,雖然看起來很簡單,就是會出錯(cuò),要么會漏個(gè)等號,要么少加個(gè) 1。
    的頭像 發(fā)表于 06-22 09:05 ?2950次閱讀
    詳解C語言<b class='flag-5'>二分</b><b class='flag-5'>查找</b>算法細(xì)節(jié)

    現(xiàn)代混合云服務(wù)對未來托管數(shù)據(jù)中心的意義

    與以前的版本不同,新的混合云框架更易于部署,并且消除了“云計(jì)算vs托管數(shù)據(jù)中心”的二分法
    的頭像 發(fā)表于 08-21 11:00 ?1992次閱讀

    筑基_C_5_對數(shù)組的二分查找

    C語言泛型編程,實(shí)現(xiàn)對數(shù)組某元素的二分查找
    發(fā)表于 12-06 10:21 ?9次下載
    筑基_C_5_對數(shù)組的<b class='flag-5'>二分</b><b class='flag-5'>查找</b>

    如何理解二分查找算法

    本文就來探究幾個(gè)最常用的二分查找場景:尋找一個(gè)數(shù)、尋找左側(cè)邊界、尋找右側(cè)邊界。 而且,我們就是要深入細(xì)節(jié),比如不等號是否應(yīng)該帶等號,mid 是否應(yīng)該加一等等。分析這些細(xì)節(jié)的差異以及出現(xiàn)這些差異的原因,保證你能靈活準(zhǔn)確地寫出正確的
    的頭像 發(fā)表于 04-19 11:10 ?794次閱讀
    如何理解<b class='flag-5'>二分</b><b class='flag-5'>查找</b>算法

    FPGA設(shè)計(jì)中二分法查表算法的實(shí)現(xiàn)

    二分查找算法是軟件中廣泛應(yīng)用的一種算法,那么FPGA的設(shè)計(jì)是否可以用這種算法呢?什么場景下會可能用到這種算法呢?
    的頭像 發(fā)表于 09-06 18:26 ?1392次閱讀
    FPGA設(shè)計(jì)中<b class='flag-5'>二分法</b>查表算法的實(shí)現(xiàn)
    主站蜘蛛池模板: 久久一级毛片 | 欧美资源在线观看 | a中文字幕1区| 欧美亚洲综合在线观看 | 三级视频网站在线观看 | 天天操天天操天天操 | 亚洲爱婷婷色婷婷五月 | 亚洲理论在线 | 欧美19禁| 七月婷婷在线视频综合 | 成成人看片在线 | 欧美性视频一区二区三区 | 94久久国产乱子伦精品免费 | 久久中文字幕综合婷婷 | 欧美性猛交xxxx乱大交高清 | 台湾一级毛片永久免费 | 亚洲欧美色图 | 超级乱淫片67194免费看 | 色多多在线观看高清免费 | 国产特黄特色的大片观看免费视频 | 青草国产在线视频 | 国产欧美一区二区日本加勒比 | 欧美黄色高清 | 激情综合婷婷丁香六月花 | 人人艹人人艹 | 泰剧天堂 | 第四色播日韩第一页 | 女的扒开尿口让男人桶 | 午夜在线观看视频在线播放版 | 色干干| 怡红院网址 | 美女扒开尿口让男生添 漫画 | 色中色在线视频 | 四虎新地址4hu 你懂的 | 韩国三级无遮挡床戏视频 | 天天操天天操天天 | 欧美爽爽 | 濑亚美莉iptd619在线观看 | 四虎国产精品永久在线播放 | 九九久久九九久久 | 二级黄的全免费视频 |