《關(guān)于加法器的研究》的論文
。睌底执屑臃ㄆ
在數字串行加法器中,字長(cháng)為W的操作數被分為P個(gè)位寬為N(N能被W整除,P=W/N)的數字,然后從低位開(kāi)始相加,在P個(gè)時(shí)鐘內完成加法操作。P個(gè)時(shí)鐘周期稱(chēng)為一個(gè)采樣周期(SamplePeriod)。
。危剑驳臄底执屑臃ㄆ鹘Y構如圖1所示。如果輸入操作數的字長(cháng)為8,那么串行加法器可以在4個(gè)時(shí)鐘周期內完成加法運算。這個(gè)加法器只用了兩個(gè)全加器的資源,比一般的8bit行波進(jìn)位加法器小。
數字串行加法器的控制也比較簡(jiǎn)單,輸入移位寄存器完成并行-串行轉換功能,通過(guò)移位操作不斷為加法器提供位寬為N的操作數;Control信號指示了新采樣周期的開(kāi)始,此時(shí)carry清零;輸出移位寄存器完成串行-并行轉換,輸出計算結果。
對于特定的輸入字長(cháng),通過(guò)選擇不同的N,可以實(shí)現速度、面積不同的數字串行加法器。這樣,設計者可以根據實(shí)際情況加以選擇,提高了設計的靈活性。
圖22bit全加器連接示意圖
。哺咚贁底执屑臃ㄆ髟冢疲校牵辽系膶(shí)現
由于數字串行加法器要用P個(gè)時(shí)鐘周期才能完成整個(gè)加法操作,因此其工作頻率必須足夠高。這樣,在FPGA上實(shí)現時(shí),如何使串行加法器具有盡量高的工作頻率就將成為關(guān)鍵問(wèn)題。下面以Xilinx公司的VirtexE系列FPGA為例,說(shuō)明如何設計高速數字串行加法器。
。郑椋颍簦澹诺囊粋(gè)CLB(ConfigurableLogicBlock)包含兩個(gè)slice,圖2為在一個(gè)slice上實(shí)現2bit全加器的`連接示意圖(不相關(guān)的邏輯已略去)。
數字串行加法器的結構是行波進(jìn)位加法器,因此必須盡量減小進(jìn)位邏輯上的延遲。VirtexE的slice中提供了專(zhuān)用的進(jìn)位邏輯和布線(xiàn),充分利用這些資源可以提高加法器的性能。
對VirtexE系列,數字串行加法器應選用奇數位寬,這是因為在VirtexE中一個(gè)slice包括兩個(gè)LUT(查找表)、兩個(gè)觸發(fā)器和一些其它的組合邏輯,因此使用一個(gè)slice剛好可以實(shí)現一個(gè)1bit的全加器,使用兩個(gè)slice可以實(shí)現一個(gè)3bit的全加器。如果要實(shí)現2bit的全加,則需要一個(gè)slice完成2bit的相加和保存,另外還需要一個(gè)slice中的一個(gè)寄存器用來(lái)存儲進(jìn)位,這樣兩個(gè)slice整體的利用率就降低很多。數據位寬為2、4、6、8等偶數時(shí)都存在這樣的問(wèn)題。圖3為N=3時(shí)加法器的布局布線(xiàn)示意圖。由于專(zhuān)用的進(jìn)位鏈布線(xiàn)資源僅存在于縱向的兩個(gè)slice之間,所以在實(shí)現3bit加法器時(shí),使用縱向相鄰的兩個(gè)slice。
加法器的關(guān)鍵路徑在進(jìn)位鏈上,其延時(shí)為:
。裕茫耍希浴纾危澹簦撸茫幔颍颍撸颍澹纾裕拢兀茫伲浴纾危澹簦撸茫幔颍颍撸铮酰簦裕茫耍茫
。剑保埃浴纾危澹簦撸茫幔颍颍撸颍澹纾埃担矗浴纾危澹簦撸茫幔颍颍撸铮酰簦保
。剑玻福矗浴纾危澹簦撸茫幔颍颍撸颍澹纾浴纾危澹簦撸茫幔颍颍撸铮酰
式中,TCKO為DFF的CLK到XQ/YQ的延時(shí),TBXCY為BX到COUT的延時(shí),TCKCY為CIN到DFF的建立時(shí)間。這些延時(shí)的數值可以從手冊獲得。連線(xiàn)延時(shí)包括$Net_Carry_reg和$Net_Carry_out的延時(shí)。前者是進(jìn)位鏈,延時(shí)為0;后者為普通連線(xiàn),延時(shí)約為0.47ns。因此,總延時(shí)約為3.31ns,即工作頻率約為300MHz。
為了減小延時(shí)、提高工作頻率,使用FPGAEditor對布局布線(xiàn)進(jìn)行精確控制,并把加法器做成硬宏,有利于保證多次實(shí)例化時(shí)的性能,F將使用宏完成的設計和使用HDL語(yǔ)言完成的設計在工作頻率上做一個(gè)比較。使用Virtex50E-6pq240器件、xst綜合器時(shí),用宏完成的3bit數字串行加法器的最高工作頻率為300MHz,而用HDL完成的相同設計的最高工作頻率只有186MHz。這是由于設計用HDL輸入時(shí),布局布線(xiàn)工具用了3個(gè)slice,第一個(gè)slice完成2bit全加器,第二個(gè)slice完成1bit全加器,
第三個(gè)slice只用了內部的一個(gè)觸發(fā)器來(lái)存儲進(jìn)位,第一、二個(gè)slice之間用進(jìn)位鏈連接,延時(shí)為0,但是第二、三個(gè)slice之間只能使用普通連線(xiàn),而且第三個(gè)slice的輸入CIN到觸發(fā)器的建立時(shí)間較大,因而影響了串行加法器的運行速度。
。硵底执屑臃ㄆ鞯膽
數字串行加法器可以代替傳統加法器用在濾波器、乘法器、累加器等電路的設計中,能大大減小資源占用。下面以在CDMA/WCDMA系統中廣泛應用的匹配濾波器為例說(shuō)明數字串行加法器的應用。
匹配濾波器是一種無(wú)源相關(guān)技術(shù),它可以快速實(shí)現相關(guān)器的功能。匹配濾波器的沖激響應為:
h(t)=s(T-t)(0≤t≤T)
設s(t)為輸入波形,則其輸出波形為:
可知濾波輸出R(t-T)是輸入信號的自相關(guān)函數。
在CDMA、WCDMA等系統中,匹配濾波使用本地碼系列來(lái)匹配輸入到接收機的采樣數據。在濾波器中,本地碼序列與接收數據進(jìn)行相乘、求和操作,得到相關(guān)值,相關(guān)值越大說(shuō)明相關(guān)程度越高。其工作過(guò)程如圖4所示。匹配濾波器可以使用移位寄存器和加法器來(lái)實(shí)現,結構如圖5所示,其中,濾波器的系數因子h(n)為本地碼序列,輸入x(n)為接收數據,數據每移位一次,濾波器計算一次輸出結果。當移動(dòng)到兩個(gè)序列相位對齊時(shí),就產(chǎn)生一個(gè)相關(guān)峰值輸出。
系統對匹配濾波的設計要求是:匹配長(cháng)度為256,輸入四路數據,每一路經(jīng)過(guò)7bit量化、速率為7.68MHz,即濾波器的處理速度為4×7.68=30.72MHz。對于這樣一個(gè)匹配濾波器,有很多種實(shí)現方法,例如在高速率下可以通過(guò)旋轉數據/旋轉本地碼序列或者通過(guò)動(dòng)態(tài)、靜態(tài)數據互換來(lái)簡(jiǎn)化設計。這些方法都用到一個(gè)比較大型的加法樹(shù),如果用一般加法器實(shí)現,將占用大量的資源,因此有必要加以改進(jìn)。
設計中用到的加法樹(shù)有256個(gè)7bit輸入,計算結果為15bit。采用一般加法器實(shí)現的結構如圖6(a)所示,在VirtexE中約占1100個(gè)slice,資源消耗過(guò)大。為了減小資源消耗、提高設計密度,使用上述3bit數字串行加法器對加法樹(shù)進(jìn)行改進(jìn),改進(jìn)后的結構如圖6(b)所示。由于減小了加法器的運算寬度,大大降低了使用的邏輯資源,整個(gè)加法樹(shù)大約只用512個(gè)slice。
使用數字串行加法樹(shù)完成加法運算需要的時(shí)鐘周期與加法器的位寬有關(guān),增加加法器的位寬可以減小運算需要的時(shí)鐘周期、提高濾波器的數據吞吐量,但是也增加了硬件資源的消耗。所以在處理能力滿(mǎn)足的條件下,應該選擇比較小的位寬。列出了用不同位寬的數字串行加法器實(shí)現的加法樹(shù)的工作頻率和占用資源,選用器件為XCV200E-6BG352,綜合工具為XST。
對于本設計,如果使用1bit的數字串行加法器,數據經(jīng)過(guò)加法樹(shù)之后從7bit擴展成15bit,所以數據完全輸出需要15個(gè)時(shí)鐘周期。根據這些要求,為了使得濾波器達到30.72MHz的處理速度,1bit的串行加法器必須工作在15×30.72=460.8MHz。如果使用3bit串行加法器,數據完全輸出需要15/3個(gè)時(shí)鐘周期,即加法器的工作頻率應為5×30.72=153.6MHz。3bit的數字串行加法樹(shù)可以滿(mǎn)足設計要求,而資源占用是一般加法樹(shù)的50%。
【《加法器的研究》的論文】相關(guān)文章:
加法器實(shí)驗報告10-07
關(guān)于研究論文的研究06-12
論文的研究方法02-23
逃稅的研究的論文04-14
單擺研究的論文04-14
蕭紅研究的論文04-14
研究語(yǔ)文的教學(xué)論文03-31
德育教學(xué)的研究論文03-31
存貨管理研究論文03-31