高速數(shù)字串行加法器及其應(yīng)用
發(fā)布時間:2008/5/26 0:00:00 訪問次數(shù):914
來源:電子技術(shù)應(yīng)用 作者:鐘信潮 薛小剛 王 誠
摘要:與傳統(tǒng)加法器相比,數(shù)字串行加法器具有工作頻率高、占用資源少、設(shè)計靈活等優(yōu)點(diǎn)。介紹了數(shù)字串行加法器的原理,說明了該加法器在fpga上的實現(xiàn)要點(diǎn)及其在匹配濾波器設(shè)計中的應(yīng)用。
關(guān)鍵詞:加法器 位并行 數(shù)字串行 fpga 匹配濾波器與傳統(tǒng)dsp相比,定制dsp具有速度更高、設(shè)計靈活、易于更改等優(yōu)點(diǎn),常常應(yīng)用于設(shè)計方案和關(guān)鍵算法的驗證。
在dsp運(yùn)算中,加法是最常用的。常見的加法器是位并行的(bit-parallel),在一個時鐘周期內(nèi)完成加法運(yùn)算。其速度較高,占用的資源較多。但是,在很多應(yīng)用中,并不需要這么高的速度,而且希望減小資源消耗。這時可以采用數(shù)字串行(digit-serial)加法器,利用多個時鐘周期完成一個完整的加法運(yùn)算,從而使占用的資源大幅度減少。為了使數(shù)字串行加法器具有更廣泛的應(yīng)用范圍,設(shè)計的關(guān)鍵是要使電路達(dá)到盡可能高的工作頻率,以取得高的數(shù)據(jù)吞吐量(throughput),從而滿足系統(tǒng)其它部分的速度要求。
1 數(shù)字串行加法器在數(shù)字串行加法器中,字長為w的操作數(shù)被分為p個位寬為n(n能被w整除,p=w/n)的數(shù)字,然后從低位開始相加,在p個時鐘內(nèi)完成加法操作。p個時鐘周期稱為一個采樣周期(sample period)。
n=2的數(shù)字串行加法器結(jié)構(gòu)如圖1所示。如果輸入操作數(shù)的字長為8,那么串行加法器可以在4個時鐘周期內(nèi)完成加法運(yùn)算。這個加法器只用了兩個全加器的資源,比一般的8bit行波進(jìn)位加法器小。
數(shù)字串行加法器的控制也比較簡單,輸入移位寄存器完成并行-串行轉(zhuǎn)換功能,通過移位操作不斷為加法器提供位寬為n的操作數(shù);control信號指示了新采樣周期的開始,此時carry清零;輸出移位寄存器完成串行-并行轉(zhuǎn)換,輸出計算結(jié)果。
對于特定的輸入字長,通過選擇不同的n,可以實現(xiàn)速度、面積不同的數(shù)字串行加法器。這樣,設(shè)計者可以根據(jù)實際情況加以選擇,提高了設(shè)計的靈活性。
2 高速數(shù)字串行加法器在fpga上的實現(xiàn)
由于數(shù)字串行加法器要用p個時鐘周期才能完成整個加法操作,因此其工作頻率必須足夠高。這樣,在fpga上實現(xiàn)時,如何使串行加法器具有盡量高的工作頻率就將成為關(guān)鍵問題。下面以xilinx公司的virtexe系列fpga為例,說明如何設(shè)計高速數(shù)字串行加法器。
virtexe的一個clb(configurable logic block)包含兩個slice,圖2為在一個slice上實現(xiàn)2bit全加器的連接示意圖(不相關(guān)的邏輯已略去)。
數(shù)字串行加法器的結(jié)構(gòu)是行波進(jìn)位加法器,因此必須盡量減小進(jìn)位邏輯上的延遲。virtexe的slice中提供了專用的進(jìn)位邏輯和布線,充分利用這些資源可以提高加法器的性能。
對virtexe系列,數(shù)字串行加法器應(yīng)選用奇數(shù)位寬,這是因為在virtexe中一個slice包括兩個lut(查找表)、兩個觸發(fā)器和一些其它的組合邏輯,因此使用一個slice剛好可以實現(xiàn)一個1bit的全加器,使用兩個slice可以實現(xiàn)一個3bit的全加器。如果要實現(xiàn)2bit的全加,則需要一個slice完成2bit的相加和保存,另外還需要一個slice中的一個寄存器用來存儲進(jìn)位,這樣兩個slice整體的利用率就降低很多。數(shù)據(jù)位寬為2、4、6、8等偶數(shù)時都存在這樣的問題。圖3為n=3時加法器的布局布線示意圖。由于專用的進(jìn)位鏈布線資源僅存在于縱向的兩個slice之間,所以在實現(xiàn)3bit加法器時,使用縱向相鄰的兩個slice。
加法器的關(guān)鍵路徑在進(jìn)位鏈上,其延時為:
tcko+t$net_carry_reg+tbxcy+t$net_carry_out+tckcy
=1.0+t$net_carry_reg+0.54+t$net_carry_out+1.3
=2.84+t$net_carry_reg+t$net_carry_out
式中,tcko為dff的clk到xq/yq的延時,tbxcy為bx到cout的延時,tckcy為cin到dff的建立時間。這些延時的數(shù)值可以從手冊獲得。連線延時包括$net_carry_reg和$net_carry_out的延時。前者是進(jìn)位鏈,延時為0;后者為普通連線,延時約為0.47ns。因此,總延時約為3.31ns,即工作頻率約為 300mhz。
為了減小延時、提高工
來源:電子技術(shù)應(yīng)用 作者:鐘信潮 薛小剛 王 誠
摘要:與傳統(tǒng)加法器相比,數(shù)字串行加法器具有工作頻率高、占用資源少、設(shè)計靈活等優(yōu)點(diǎn)。介紹了數(shù)字串行加法器的原理,說明了該加法器在fpga上的實現(xiàn)要點(diǎn)及其在匹配濾波器設(shè)計中的應(yīng)用。
關(guān)鍵詞:加法器 位并行 數(shù)字串行 fpga 匹配濾波器與傳統(tǒng)dsp相比,定制dsp具有速度更高、設(shè)計靈活、易于更改等優(yōu)點(diǎn),常常應(yīng)用于設(shè)計方案和關(guān)鍵算法的驗證。
在dsp運(yùn)算中,加法是最常用的。常見的加法器是位并行的(bit-parallel),在一個時鐘周期內(nèi)完成加法運(yùn)算。其速度較高,占用的資源較多。但是,在很多應(yīng)用中,并不需要這么高的速度,而且希望減小資源消耗。這時可以采用數(shù)字串行(digit-serial)加法器,利用多個時鐘周期完成一個完整的加法運(yùn)算,從而使占用的資源大幅度減少。為了使數(shù)字串行加法器具有更廣泛的應(yīng)用范圍,設(shè)計的關(guān)鍵是要使電路達(dá)到盡可能高的工作頻率,以取得高的數(shù)據(jù)吞吐量(throughput),從而滿足系統(tǒng)其它部分的速度要求。
1 數(shù)字串行加法器在數(shù)字串行加法器中,字長為w的操作數(shù)被分為p個位寬為n(n能被w整除,p=w/n)的數(shù)字,然后從低位開始相加,在p個時鐘內(nèi)完成加法操作。p個時鐘周期稱為一個采樣周期(sample period)。
n=2的數(shù)字串行加法器結(jié)構(gòu)如圖1所示。如果輸入操作數(shù)的字長為8,那么串行加法器可以在4個時鐘周期內(nèi)完成加法運(yùn)算。這個加法器只用了兩個全加器的資源,比一般的8bit行波進(jìn)位加法器小。
數(shù)字串行加法器的控制也比較簡單,輸入移位寄存器完成并行-串行轉(zhuǎn)換功能,通過移位操作不斷為加法器提供位寬為n的操作數(shù);control信號指示了新采樣周期的開始,此時carry清零;輸出移位寄存器完成串行-并行轉(zhuǎn)換,輸出計算結(jié)果。
對于特定的輸入字長,通過選擇不同的n,可以實現(xiàn)速度、面積不同的數(shù)字串行加法器。這樣,設(shè)計者可以根據(jù)實際情況加以選擇,提高了設(shè)計的靈活性。
2 高速數(shù)字串行加法器在fpga上的實現(xiàn)
由于數(shù)字串行加法器要用p個時鐘周期才能完成整個加法操作,因此其工作頻率必須足夠高。這樣,在fpga上實現(xiàn)時,如何使串行加法器具有盡量高的工作頻率就將成為關(guān)鍵問題。下面以xilinx公司的virtexe系列fpga為例,說明如何設(shè)計高速數(shù)字串行加法器。
virtexe的一個clb(configurable logic block)包含兩個slice,圖2為在一個slice上實現(xiàn)2bit全加器的連接示意圖(不相關(guān)的邏輯已略去)。
數(shù)字串行加法器的結(jié)構(gòu)是行波進(jìn)位加法器,因此必須盡量減小進(jìn)位邏輯上的延遲。virtexe的slice中提供了專用的進(jìn)位邏輯和布線,充分利用這些資源可以提高加法器的性能。
對virtexe系列,數(shù)字串行加法器應(yīng)選用奇數(shù)位寬,這是因為在virtexe中一個slice包括兩個lut(查找表)、兩個觸發(fā)器和一些其它的組合邏輯,因此使用一個slice剛好可以實現(xiàn)一個1bit的全加器,使用兩個slice可以實現(xiàn)一個3bit的全加器。如果要實現(xiàn)2bit的全加,則需要一個slice完成2bit的相加和保存,另外還需要一個slice中的一個寄存器用來存儲進(jìn)位,這樣兩個slice整體的利用率就降低很多。數(shù)據(jù)位寬為2、4、6、8等偶數(shù)時都存在這樣的問題。圖3為n=3時加法器的布局布線示意圖。由于專用的進(jìn)位鏈布線資源僅存在于縱向的兩個slice之間,所以在實現(xiàn)3bit加法器時,使用縱向相鄰的兩個slice。
加法器的關(guān)鍵路徑在進(jìn)位鏈上,其延時為:
tcko+t$net_carry_reg+tbxcy+t$net_carry_out+tckcy
=1.0+t$net_carry_reg+0.54+t$net_carry_out+1.3
=2.84+t$net_carry_reg+t$net_carry_out
式中,tcko為dff的clk到xq/yq的延時,tbxcy為bx到cout的延時,tckcy為cin到dff的建立時間。這些延時的數(shù)值可以從手冊獲得。連線延時包括$net_carry_reg和$net_carry_out的延時。前者是進(jìn)位鏈,延時為0;后者為普通連線,延時約為0.47ns。因此,總延時約為3.31ns,即工作頻率約為 300mhz。
為了減小延時、提高工
熱門點(diǎn)擊
- 利用單片機(jī)I/O口直接驅(qū)動LCD
- MSP430的軟硬件C延時程序設(shè)計
- 8051單片機(jī)中DPTR的擴(kuò)展設(shè)計
- CPLD在DSP系統(tǒng)中的應(yīng)用設(shè)計
- 利用SoC單片機(jī)的多功能數(shù)據(jù)采集卡
- 基于單片機(jī)通用引腳的軟件UART設(shè)計
- 高速數(shù)字串行加法器及其應(yīng)用
- C8051F020的音頻峰值采集和網(wǎng)絡(luò)傳送
- 用SPMC75F2313A實現(xiàn)LIN結(jié)點(diǎn)
- 小尺寸單片機(jī)在便攜式設(shè)備中的應(yīng)用
推薦技術(shù)資料
- 分立器件&無源元件選型及工作原
- 新一代“超越EUV”光刻系統(tǒng)參
- 最新品BAT激光器制造工藝設(shè)計
- 新款汽車SoC產(chǎn)品Malibo
- 新芯片品類FPCU(現(xiàn)場可編程
- 電動汽車動力總成系統(tǒng)̴
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究