




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于高速串行 BCD 碼除法的數(shù)字頻率計(jì)的設(shè)計(jì)摘要:摘要: 介紹了在 PPGA 芯片上實(shí)現(xiàn)數(shù)字頻率計(jì)的原理。對(duì)各種硬件除法進(jìn)行了比較,提出了高速串行 BCD 碼除法的硬件算法,并將其應(yīng)用在頻率計(jì)設(shè)計(jì)中。關(guān)鍵詞:關(guān)鍵詞: 頻率測量 周期測量 VHDL 狀態(tài)機(jī)數(shù)字頻率計(jì)是計(jì)算機(jī)、在設(shè)計(jì)中,所有頻段均采用直接測頻法對(duì)信號(hào)頻率進(jìn)行測量,克服了逼近式換擋速度慢的缺點(diǎn);采用了門控信號(hào)和被測信號(hào)對(duì)計(jì)數(shù)器的使能端進(jìn)行雙重1 1 系統(tǒng)結(jié)構(gòu)及基本設(shè)計(jì)原理系統(tǒng)結(jié)構(gòu)及基本設(shè)計(jì)原理以一個(gè) 8 位十進(jìn)制、測量范圍為 1Hz100MHz 的數(shù)字頻率計(jì)為例,采用 100MHz的標(biāo)準(zhǔn)頻率信號(hào),說明設(shè)計(jì)的基本原理及實(shí)現(xiàn)。設(shè)計(jì)的數(shù)
2、字頻率計(jì)由測量頻率模塊、計(jì)算模塊和譯碼模塊組成,如圖 1 所示。測頻模塊采用兩個(gè)十進(jìn)制計(jì)數(shù)器分別測出門控時(shí)間內(nèi)的標(biāo)準(zhǔn)信號(hào)和被測信號(hào)的周期數(shù) Ns 和 Nx。計(jì)算模塊則根據(jù)公式 FxNx=Fs/Ns 算出 Fx,通過譯碼即可得到被測信號(hào)頻率的 7 段數(shù)碼顯示。數(shù)字頻率計(jì)的設(shè)計(jì)原理實(shí)際上是測量單位時(shí)間內(nèi)的周期數(shù)。這種方法免去了實(shí)測以前的預(yù)測,同時(shí)節(jié)省了劃分頻段的時(shí)間,克服了原來高頻段采用測頻模式而低頻段采用測周期模式的測量方法存在換擋速度慢的缺點(diǎn)。為克服低頻段測量的不準(zhǔn)確問題,采用門控信號(hào)和被測信號(hào)對(duì)計(jì)數(shù)器的使能信號(hào)進(jìn)行雙重控制,大大提高了準(zhǔn)確度,如圖 2 所示。當(dāng)門控信號(hào)為 1 時(shí),使能信號(hào)并不
3、為 1,只有被測信號(hào)的上升沿到來時(shí),使能端才開始發(fā)送有效信號(hào),兩個(gè)計(jì)數(shù)器同時(shí)開始計(jì)數(shù)。當(dāng)門控信號(hào)變?yōu)?0 時(shí),使能信號(hào)并不是立即改變,而是當(dāng)被測信號(hào)的下一個(gè)上升沿到來時(shí)才變?yōu)?0,計(jì)數(shù)器停止計(jì)數(shù)。因此測量的誤差最多為一個(gè)標(biāo)準(zhǔn)時(shí)鐘周期。當(dāng)采用 100MHz 的信號(hào)作為標(biāo)準(zhǔn)信號(hào)時(shí),誤差最大為 001s。2 2 高速串行高速串行 BCDBCD 碼除法運(yùn)算原理碼除法運(yùn)算原理利用 FPGA 實(shí)現(xiàn)二進(jìn)制除法運(yùn)算,一種方法是采用逼近法,這種方法速度低、準(zhǔn)確性不高。另一種方法是采取被除數(shù)與除數(shù)的倒數(shù)相乘的方法,即將除數(shù)作為寄存器的地址,其倒數(shù)的小數(shù)部分作為寄存器的內(nèi)容,通過一次寄存器尋址來計(jì)算除數(shù)的倒數(shù)。這種
4、方法在一個(gè)時(shí)鐘周期內(nèi)即可完成一個(gè)完整的除法運(yùn)算,雖然速度較高,但對(duì)于多字節(jié)除法運(yùn)算,不僅程序復(fù)雜,而且占用資源較多。根據(jù)頻率計(jì)的實(shí)際情況,本設(shè)計(jì)采用串行除法運(yùn)算,利用多個(gè)時(shí)鐘周期完成一個(gè)完整的除法運(yùn)算,從而兼顧了頻率計(jì)對(duì)速度和資源兩方面的要求。21 多位串行 BCD 碼減法原理在數(shù)字串行除法運(yùn)算中,減法運(yùn)算是必不可少的部分。數(shù)字串行 BCD 碼的減法運(yùn)算是將 P 位的 BCD 碼分為 P 個(gè)寬為 4 的二進(jìn)制數(shù),然后從低位開始相減,在P 個(gè)時(shí)鐘周期內(nèi)完成減法操作。如果輸入的操作數(shù)位數(shù)為 8,那么串行 BCD 碼減法器可以在 8 個(gè)時(shí)鐘周期內(nèi)完成 8 位 BCD 碼減法運(yùn)算。數(shù)字串行減法的控制也
5、比較簡單,1 位 BCD 碼減法運(yùn)算完成,進(jìn)行移位操作,并且移位次數(shù)加 1,然后通過采用 start 信號(hào)指示新計(jì)算周期。當(dāng)移位次數(shù)為 n時(shí),輸出移位寄存器完成串并轉(zhuǎn)換,輸出結(jié)果。設(shè)計(jì)者可以根據(jù)實(shí)際情況,通過選擇不同的 n,提高設(shè)計(jì)的靈活性。本設(shè)計(jì)選擇 n=8。該設(shè)計(jì)在提高速度的同時(shí),節(jié)省了資源。實(shí)驗(yàn)證明,采用 1OOMHz 的工作頻率,實(shí)現(xiàn)一個(gè) 8 位 BCD 碼串行減法運(yùn)算,耗用的資源卻小于實(shí)現(xiàn) 2 位 BCD 碼并行減法運(yùn)算所耗用的資源。22 多位串行 BCD 碼除法原理本設(shè)計(jì)采用循環(huán)式除法運(yùn)算,循環(huán)原理可以用下面的公式表示1:j+1=rj-dqj+1式中,j為第 j 步的余數(shù),0為被除
6、數(shù);d 為除數(shù);qj+1 為第 j+1 步所得的商;r 為與移位步長有關(guān)的常數(shù),在此取為 16。除法運(yùn)算循環(huán)圖表如圖 3 所示。循環(huán)步驟如下:將j左移四位,構(gòu)成 rj。通過多次 BCD 碼減法運(yùn)算,求得部分商 qJ+1,得到部分余數(shù)。部分余數(shù)、部分商移位,準(zhǔn)備下次循環(huán)。高速串行 BCD 碼除法是建立在 BCD 碼減法運(yùn)算基礎(chǔ)上的循環(huán)運(yùn)算。用被除數(shù)減除數(shù)得到部分余數(shù)的 BCD 碼,如果夠減,則使商加 1;否則,余數(shù)和商同時(shí)左移四位,并記錄移位的次數(shù) m,根據(jù)對(duì)有效位數(shù)的不同要求,可以對(duì) m 進(jìn)行賦值,如果要求保留 8 位有效數(shù)字,則 m=8。在這種循環(huán)除法運(yùn)算中,減少循環(huán)的次數(shù)是提高運(yùn)算速度比較
7、有效的方法。在一般循環(huán)式除法運(yùn)算中,是從低位開始進(jìn)行循環(huán)相減,循環(huán)次數(shù)等于商。如果是 8 位除法運(yùn)行,則得到一個(gè) 8 位的商,要進(jìn)行 8 位次的 BCD 碼減法循環(huán),例如:568952308=71119038,要進(jìn)行 71119038 次循環(huán),計(jì)算的速度可想而知。在本設(shè)計(jì)中借鑒了一般十進(jìn)制除法的運(yùn)算方法,從高位開始相減,大大減少了循環(huán)次數(shù)。下面以一個(gè)例子說明它的原理:將被除數(shù)和除數(shù)移位,使其第一位 BCD 碼不為 0000,并記錄移位的次數(shù) P(例如:5689523080000000,p=8)。比較最高位的大小,如果除數(shù)的最高位大于被除數(shù)的最高位,則將除數(shù)右移4 位,同時(shí)將 P 減 1(即:5
8、689523008000000,且 p=7)。得到的數(shù)盧為小數(shù)點(diǎn)的位置(F:7 說明小數(shù)點(diǎn)的位置在第七位數(shù)后)。循環(huán)相減。當(dāng)部分余數(shù)小于 08000000,再將部分余數(shù)左移四位,繼續(xù)進(jìn)行相減。循環(huán) m 次后即可得到 m 個(gè)有效數(shù)字的結(jié)果,然后根據(jù) p 可以確定小數(shù)點(diǎn)的位置。使用這種方法計(jì)算一個(gè) 8 位數(shù)的除法運(yùn)算,循環(huán)減法次數(shù)最大為 80 次,每次循環(huán)使用時(shí)間為 8 個(gè)時(shí)鐘周期。如果工作頻率為 100MHz,則最長的運(yùn)算時(shí)間為64s,運(yùn)算速度大大提高。圖圖 4 43 3 設(shè)計(jì)實(shí)現(xiàn)設(shè)計(jì)實(shí)現(xiàn)采用 VHL 語言設(shè)計(jì)一個(gè)復(fù)雜的電路系統(tǒng),運(yùn)用自頂向下的設(shè)計(jì)思想2,將系統(tǒng)按功能逐層分割的層次化設(shè)計(jì)方法進(jìn)行
9、設(shè)計(jì)。在頂層對(duì)內(nèi)部各功能塊的連接關(guān)系和對(duì)外的在計(jì)數(shù)模塊中,通過譯碼完成的信號(hào) COMP 和標(biāo)準(zhǔn)信號(hào)計(jì)數(shù)器的溢出信號(hào) ov2 對(duì)門控信號(hào) CL 進(jìn)行控制。可以根據(jù)不同的情況選擇門控信號(hào)的時(shí)間范圍,使設(shè)計(jì)具有一定的靈活性。采用門控信號(hào) CL 和被測信號(hào) BSN 對(duì)兩個(gè) 8 位十進(jìn)制計(jì)數(shù)器進(jìn)行同步控制3。根據(jù) D 觸發(fā)器的邊沿觸發(fā)的特點(diǎn),可以將輸入的門控信號(hào)CL 作為 D 觸發(fā)器的輸入信號(hào),而將被測信號(hào) BSN 作為 D 觸發(fā)器的脈沖控制信號(hào),使觸發(fā)器的輸出端只有在被測信號(hào) BSN 上升沿時(shí)才發(fā)生變化,實(shí)現(xiàn)了對(duì)使能信號(hào)的雙重控制。本設(shè)計(jì)比較重要的一部分是運(yùn)算單元。由于在運(yùn)算單元中采用的是串行運(yùn)算,因
10、此其工作頻率必須足夠高。在 FPGA 中實(shí)現(xiàn)時(shí),如何提高串行 BCD 碼除法運(yùn)算的速度是比較關(guān)鍵的問題。BCD 碼減法運(yùn)算采用行波進(jìn)位方法,因此必須盡量減小進(jìn)位邏輯上的延遲。ACEX 1K 系列的每個(gè) LE 中都提供了一個(gè)專用的進(jìn)位鏈和級(jí)聯(lián)鏈,充分利用這些資源可以提高多位串行 BCD 碼減法的性能。根據(jù) ACEX1K 系列周期約束,其延時(shí)為:Tclk=Tco+B+Tsu-(E-C)式中,Tco 為 clock-output 的延時(shí),Tsu 為建立時(shí)間,兩個(gè)時(shí)間均可達(dá)到12ns;B 表示數(shù)據(jù)延時(shí),為 06ns;E-C)表示時(shí)鐘傾斜4。因此,總時(shí)鐘延時(shí)為 46ns,即工作頻率可以達(dá)到 200MHz
11、 以上。本文采用 100MHz 的工作頻率,提高了運(yùn)算速度。為了減小延時(shí)、提高工作效率,在對(duì)布局布線進(jìn)行精確控制以后,把 BCD 碼減法運(yùn)算做成模塊,在除法運(yùn)算過程反復(fù)調(diào)用,達(dá)到了模塊復(fù)用效果,大大提高了資源的利用率。在整個(gè) BCD 碼除法運(yùn)算單元,首先通過輸入數(shù)據(jù)決定信號(hào)是否超出測量范圍。當(dāng) ov1 為 1 時(shí),該信號(hào)的頻率大于 1Hz;當(dāng) NSNX,該信號(hào)頻率在測量范圍內(nèi)。根據(jù)輸入的 NS 和 NX 計(jì)算輸入信號(hào)的頻率。除法運(yùn)算通過雙狀態(tài)機(jī)的設(shè)計(jì)控制一個(gè) BCD 碼減法運(yùn)算。所有狀態(tài)用同一時(shí)鐘進(jìn)行控制,實(shí)現(xiàn)了系統(tǒng)的同步設(shè)計(jì),消除了異步邏輯中存在的種種險(xiǎn)象。各個(gè)狀態(tài)之間的關(guān)系如圖 5 所示。當(dāng)計(jì)數(shù)模塊完成計(jì)數(shù)時(shí),則將數(shù)輸入除法模塊,開始移位以確定輸入的值;然后發(fā) clrs 信號(hào)到 BCD 碼減法運(yùn)算單元開始運(yùn)算,循環(huán)相減。當(dāng)循環(huán)結(jié)束時(shí),發(fā)回一個(gè) HNS 信號(hào),部分余數(shù)開始移位,進(jìn)行下一輪的循環(huán)。最
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國4-甲基-5-羥乙基噻唑市場調(diào)查研究報(bào)告
- 高效商界溝通的試題及答案
- 黃岡小升初面試試題及答案
- 肌少癥知識(shí)試題及答案
- 2025年版?zhèn)€人商鋪?zhàn)赓U合同范本
- 《模板安裝工程》課件
- 2025設(shè)備租賃合同終止
- 2025年慢病管理項(xiàng)目發(fā)展計(jì)劃
- 財(cái)務(wù)指標(biāo)課件集錦
- 2025精簡版數(shù)碼印刷系統(tǒng)購銷合同模板
- 2025屆新高考教學(xué)教研聯(lián)盟高三第二次聯(lián)考政治試題及答案
- 賭博酒駕警示教育
- 產(chǎn)業(yè)園物業(yè)管理實(shí)施方案
- 管理學(xué)基礎(chǔ)-形考任務(wù)三-國開-參考資料
- 梁曉聲母親測試題及答案
- 企業(yè)會(huì)計(jì)人員勞動(dòng)合同模板2025
- 浙江省腫瘤醫(yī)院醫(yī)療廢物暫存間環(huán)保設(shè)施提升改造項(xiàng)目報(bào)告表
- 敬老院安全培訓(xùn)課件
- 《加拉帕戈斯群島》課件
- 社區(qū)老舊小區(qū)外墻翻新腳手架方案
- 2025年醫(yī)院消化內(nèi)科年度工作計(jì)劃
評(píng)論
0/150
提交評(píng)論