<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于高速串行BCD碼除法的數字頻率計的設計

基于高速串行BCD碼除法的數字頻率計的設計

作者: 時(shí)間:2012-07-05 來(lái)源:網(wǎng)絡(luò ) 收藏

2.2 多位串行BCD碼除法原理

本設計采用循環(huán)式除法運算,循環(huán)原理可以用下面的公式表示[1]:

ω[j+1]=rω[j]-dqj+1

式中,ω[j]為第j步的余數,ω[0]為被除數;d為除數;qj+1為第j+1步所得的商;r為與移位步長(cháng)有關(guān)的常數,在此取為16。

除法運算循環(huán)圖表如圖3所示。

循環(huán)步驟如下:

·將ω[j]左移四位,構成rω[j]。

·通過(guò)多次BCD碼減法運算,求得部分商qJ+1,得到部分余數。

·部分余數、部分商移位,準備下次循環(huán)。

高速串行BCD碼除法是建立在BCD碼減法運算基礎上的循環(huán)運算。用被除數減除數得到部分余數的BCD碼,如果夠減,則使商加1;否則,余數和商同時(shí)左移四位,并記錄移位的次數m,根據對有效位數的不同要求,可以對m進(jìn)行賦值,如果要求保留8位有效數字,則m=8。

在這種循環(huán)除法運算中,減少循環(huán)的次數是提高運算速度比較有效的方法。在一般循環(huán)式除法運算中,是從低位開(kāi)始進(jìn)行循環(huán)相減,循環(huán)次數等于商。如果是8位除法運行,則得到一個(gè)8位的商,要進(jìn)行8位次的BCD碼減法循環(huán),例如:56895230/8=7111903.8,要進(jìn)行7111903.8次循環(huán),計算的速度可想而知。

在本設計中借鑒了一般十進(jìn)制除法的運算方法,從高位開(kāi)始相減,大大減少了循環(huán)次數。下面以一個(gè)例子說(shuō)明它的原理:

·將被除數和除數移位,使其第一位BCD碼不為0000,并記錄移位的次數P(例如:56895230/80000000,p=8)。

·比較最高位的大小,如果除數的最高位大于被除數的最高位,則將除數右移4位,同時(shí)將P減1(即:56895230/08000000,且p=7)。

·得到的數盧為小數點(diǎn)的位置(F:7說(shuō)明小數點(diǎn)的位置在第七位數后)。

·循環(huán)相減。當部分余數小于08000000,再將部分余數左移四位,繼續進(jìn)行相減。循環(huán)m次后即可得到m個(gè)有效數字的結果,然后根據p可以確定小數點(diǎn)的位置。

使用這種方法計算一個(gè)8位數的除法運算,循環(huán)減法次數最大為80次,每次循環(huán)使用時(shí)間為8個(gè)時(shí)鐘周期。如果工作頻率為100MHz,則最長(cháng)的運算時(shí)間為6.4μs,運算速度大大提高。

圖4

3 設計實(shí)現

采用VHL語(yǔ)言設計一個(gè)復雜的電路系統,運用自頂向下的設計思想[2],將系統按功能逐層分割的層次化設計方法進(jìn)行設計。在頂層對內部各功能塊的連接關(guān)系和對外的接口關(guān)系進(jìn)行了描述,而功能塊的邏輯功能和具體實(shí)現形式則由下一層模塊來(lái)描述。根據頻率計的系統原理框圖(圖1),運用自頂向下的設計思想,設計的系統頂層電路圖如圖4所示。各功能模塊采用語(yǔ)言來(lái)描述。

在計數模塊中,通過(guò)譯碼完成的信號COMP和標準信號計數器的溢出信號ov2對門(mén)控信號CL進(jìn)行控制??梢愿鶕煌那闆r選擇門(mén)控信號的時(shí)間范圍,使設計具有一定的靈活性。采用門(mén)控信號CL和被測信號BSN對兩個(gè)8位十進(jìn)制計數器進(jìn)行同步控制[3]。根據D觸發(fā)器的邊沿觸發(fā)的特點(diǎn),可以將輸入的門(mén)控信號CL作為D觸發(fā)器的輸入信號,而將被測信號BSN作為D觸發(fā)器的脈沖控制信號,使觸發(fā)器的輸出端只有在被測信號BSN上升沿時(shí)才發(fā)生變化,實(shí)現了對使能信號的雙重控制。

本設計比較重要的一部分是運算單元。由于在運算單元中采用的是串行運算,因此其工作頻率必須足夠高。在中實(shí)現時(shí),如何提高串行BCD碼除法運算的速度是比較關(guān)鍵的問(wèn)題。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>