国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

高性能多標準可配置Viterbi譯碼器設(shè)計與驗證

2018-05-15 06:43戴瀾馬東俊
現(xiàn)代電子技術(shù) 2018年10期
關(guān)鍵詞:移動終端

戴瀾 馬東俊

摘 ?要: 為了使Viterbi譯碼器廣泛地應(yīng)用于更多標準中,結(jié)合前向回溯譯碼和滑窗流水技術(shù),同時ACS(Add?Compare?Select)部件通過減規(guī)約的操作減少異或延遲,提出一種高性能可配置Viterbi譯碼器。該譯碼器支持[12,13,14]碼率,約束長度在5~9之間,生成多項式任意配置等參數(shù),同時支持GPRS,WiMAX,IS?95 CDMA,LTE,CDMA 2000等多標準。在對譯碼器進行設(shè)計的基礎(chǔ)上,基于UVM 驗證方法學(xué)搭建一種模塊級驗證平臺,完成Viterbi譯碼器模塊級的功能驗證,覆蓋率達到99.4%。利用Synopsys Design Compiler工具進行綜合,面積為0.2 mm2;在28 nm工藝,500 MHz主頻下,功耗為38.3 mW,吞吐率為1.06 Gbit/s。結(jié)果表明,此譯碼器具有很好的靈活可配性,在移動終端有很好的應(yīng)用前景。

關(guān)鍵詞: Viterbi譯碼器; 滑窗流水技術(shù); 多項式任意配置; UVM 驗證方法學(xué) ; 異或延遲; 移動終端

中圖分類號: TN919.3?34 ? ? ? ? ? ? ? ? ? ?文獻標識碼: A ? ? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2018)10?0010?05

Abstract: To make the Viterbi decoder widely applied in more standards, a high?performance configurable Viterbi decoder is proposed by combining with pre?traceback (PTB) decoding and sliding?window pipeline technology, and reducing the XOR delay by means of the specification subtraction operation in Add?Compare?Select (ACS) components. The decoder can support the code rates of 1/2, 1/3 and 1/4, constraint length of 5 to 9, polynomial generation arbitrary configuration and other parameters, and meanwhile can support multiple standards such as GPRS, WiMAX, IS?95 CDMA, LTE, and CDMA2000. On the basis of the decoder design, a module?level verification platform is established based on the UVM verification methodology to accomplish module?level functional verification for the Viterbi decoder with the code coverage rate as high as 99.4%. The Synopsys Design Compiler tool is used to perform integration, and the area is 0.2 mm2. In the 28 nm process with the main frequency of 500 MHz, the power consumption is 38.3 mW and the throughput rate is 1.06 Gbit/s. The results show that the decoder has good flexibility and compatibility, and has a good prospect in mobile terminal application.

Keywords: Viterbi decoder; sliding?window pipeline technology; polynomial arbitrary configuration; UVM verification methodology; XOR delay; mobile terminal

維特比譯碼器在現(xiàn)代通信、信息儲存中都有廣泛的應(yīng)用。為了配合多樣化的通信標準,設(shè)計一個能夠適應(yīng)多種標準的、高性能的維特比譯碼器,具有十分重要的意義。

一般Viterbi譯碼器大多是支持單一標準的[1?3],本文中基于前向回溯和流水技術(shù)[4?5],采用基四算法,提出一種支持多標準、可配置的譯碼器。表1列出了不同通信標準下,多標準Viterbi譯碼器需要支持的碼率、約束長度、狀態(tài)數(shù)參數(shù)。從表中可以看到大部分通信標準的碼率都在[12,13,14]間變化,約束長度在5~9間變化。

如何高效地驗證Viterbi譯碼器是目前亟待解決的問題。文獻[6]采用VMM(Verification Methodology Manual)驗證方法學(xué)搭建MAC(Media Access Control)模塊的驗證平臺,缺點是VMM最初不開源,使用不方便;文獻[7]采用OVM(Open Verification Methodology)驗證方法學(xué)設(shè)計了一個關(guān)于SoC(System on Chip)系統(tǒng)的驗證平臺。OVM雖然是開源的,但是沒有引進寄存器解決方案,這是很大一個短板。而UVM(Universal Verification Methodology)驗證方法學(xué)繼承了OVM和VMM的優(yōu)點,同時又結(jié)合System Verilog(SV)驗證語言的隨機約束特性,針對可配置譯碼器可以產(chǎn)生大量隨機激勵,所以本文中采用UVM驗證方法學(xué),結(jié)合SV驗證語言,搭建層次化驗證平臺,解決了手動遍歷所有配置信息的問題,實現(xiàn)了驗證的高效性。

1 ?Viterbi譯碼器優(yōu)化算法

傳統(tǒng)的回溯方法在文獻[4?5]中進行了詳細的介紹。為了減小傳統(tǒng)回溯方法中的譯碼延遲,本方案中采用基于數(shù)據(jù)一致性原則的前向回溯譯碼方法(Pre?traceback,PTB),同時引入指針寄存器,在基四結(jié)構(gòu)下,通過64狀態(tài)交換單元組成的交換網(wǎng)絡(luò)來得到DC(Decoding,DC)操作的起始狀態(tài)。如圖1所示,所有狀態(tài)經(jīng)過M步回溯處理以后,將匯聚到同一個狀態(tài)。在起始回溯時,選擇任意起始狀態(tài),通過一定級數(shù)回溯后,路徑會收斂于最大似然狀態(tài)。

采用 PTB 處理后從幸存路徑寫入到譯碼比特出來延時大小為 3L,減小了后向回溯處理中存儲器讀/寫次數(shù)。Idle表示空閑狀態(tài),不做任何操作。 前向回溯法讀/寫次數(shù)時序圖如圖2所示。

2 ?Viterbi譯碼器實現(xiàn)方案

文中Viterbi譯碼器主要根據(jù)LTE卷積編碼(3,1,7)設(shè)計的,其是一個支持多標準、高性能、可配置的Viterbi譯碼器。Viterbi譯碼器的整體結(jié)構(gòu)圖如圖3所示。

Trellis_initial是網(wǎng)格初始化單元,根據(jù)碼率、生成多項式、約束長度初始化trellis圖的分支路徑,對于基四算法來說,需要生成4路輸出,分別是“00”,“01”,“10”,“11”分支產(chǎn)生的校驗比特。這4條分支產(chǎn)生的校驗比特用于分支度量的計算。經(jīng)過簡化,本方案中只需要產(chǎn)生2路分支,即“00”分支和“11”分支,得到的發(fā)送序列用于計算分支度量,從而完成譯碼器的可配置。網(wǎng)格圖內(nèi)部計算結(jié)構(gòu)如圖4所示。

WR(Write)是前向狀態(tài)遞歸計算單元,本設(shè)計中一共有64個ACS單元,每4個組成一個蝶形處理單元,共有16個蝶形處理PE(Processing Element)單元。WR內(nèi)部計算結(jié)構(gòu)如圖5所示。

ACS單元內(nèi)部結(jié)構(gòu)圖如圖6所示,單元內(nèi)部增加少量減法器來減小譯碼延遲,同時采用減規(guī)約操作,每次減去前一時刻的某一個狀態(tài)度量值,比模規(guī)約算法少了兩級異或延遲。

DC是譯碼單元,回溯譯碼單元從RAM中讀取的數(shù)據(jù)是128位寬,譯碼時首先要從128 bit中選出對應(yīng)回溯狀態(tài)的2個幸存比特,然后利用幸存比特更新回溯狀態(tài),同時取回溯狀態(tài)的高兩位作為譯碼輸出。

綜上所述,本文中通過對配置參數(shù)的靈活性支持,采用前向回溯譯碼和流水操作,得到了可配置的Viterbi譯碼器。

3 ?Viterbi譯碼器驗證

本文基于UVM驗證方法學(xué)結(jié)合SV語言,設(shè)計了Viterbi譯碼器驗證平臺,如圖7所示。

在該平臺中例化了三個agent,分別是conf_agent,read_agent和write_agent,定義了三個interface,分別是conf_if(配置接口)、read_if(讀數(shù)據(jù)接口)、write_if(寫數(shù)據(jù)接口),來實現(xiàn)信息配置,數(shù)據(jù)讀取和寫入。本文中采用的reference model是基于C語言編寫的參考模型,通過DPI(Direct Programming Interface)[9]接口將其接入到驗證平臺中,最終在scoreboard中實現(xiàn)和DUT(Design Under Test)的結(jié)果比對。通過比對,判斷DUT的功能是否正確。下面對所設(shè)計的驗證組件進行了簡單的討論。data_item產(chǎn)生DUT的輸入激勵,這些輸入激勵可以是輸入數(shù)據(jù),也可以是一些配置信息,如表2所示,為本方案中所需要的配置和數(shù)據(jù)激勵。

conf_vdc_item生成Viterbi譯碼需要的配置信息,包括4路檢驗信息的地址、結(jié)尾方式、寄存器個數(shù)、滑窗個數(shù)、碼率、生成多項式的配置、工作模式、碼塊大小;read_mem_item產(chǎn)生輸入激勵信息;write_mem_item存儲Viterbi譯碼結(jié)果,用于和reference model的譯碼結(jié)果比較。

sequencer負責(zé)發(fā)送sequence_item(conf_vdc_item,read_mem_item,write_mem_item)到 driver,并接收driver發(fā)回來的一個響應(yīng)。driver是一個主動的主體,負責(zé)將 read_mem_item,write_mem_item 里的信息驅(qū)動到 DUT 的端口上,monitor是一個被動的主體,負責(zé)監(jiān)測輸入激勵和譯碼結(jié)果,在write_agent里只例化了monitor。

4 ?結(jié)果與分析

4.1 ?基四算法下的性能仿真結(jié)果

基四算法下的性能仿真結(jié)果如圖8所示。該仿真中碼塊長度1 600,碼塊個數(shù)10 000,AWGN信道,采用QPSK調(diào)制。從圖8中可以看出,基四算法下的前向回溯譯碼性能優(yōu)于基二算法,性能提升約1 dB。

4.2 ?性能對比

表3列出了本設(shè)計中基二、基四算法下Viterbi譯碼器典型參數(shù)和性能,以及其他相關(guān)工作中的性能對比,主要包括基數(shù)、約束長度、碼率、頻率和吞吐率。由表3可知,本文實現(xiàn)的Viterbi譯碼器不但性能更高,而且靈活性更強,可以支持約束長度在5~9,碼率在[12,13,14]間變化,并支持GPRS,WiMAX,IS?95 CDMA,LTE,CDMA 2000等多種通信標準。

4.3 ?DC綜合結(jié)果

本文設(shè)計采用TSMC 28 nm標準單元庫,利用Synopsys Design Compiler進行綜合,主頻設(shè)為500 MHz,綜合結(jié)果如表4所示。

4.4 ?驗證結(jié)果

軟件仿真是在Linux環(huán)境下,利用VCS編譯UVM庫進行的,設(shè)置的碼塊個數(shù)為300個。通過在scoreboard里判斷DUT和rererence model的結(jié)果,若譯碼結(jié)果一致,打印“compare success!”字樣,否則打印“compare failed!”。本文中最終打印結(jié)果全部打印的“compare success!”,說明維特比譯碼器譯碼正確。表5列出了最終代碼覆蓋率。

以上結(jié)果說明本文中設(shè)計的驗證平臺達到了預(yù)期要求,實現(xiàn)了對Viterbi譯碼器的功能驗證。

5 ?結(jié) ?語?

本文通過配置Viterbi譯碼器的動態(tài)參數(shù)實現(xiàn)了支持不同標準的譯碼器,并通過仿真驗證。在500 MHz主頻下,峰值吞吐可以達到1.06 Gbit/s。對于支持多標準的譯碼器來說,明顯優(yōu)于其他設(shè)計。利用Synopsys Design Compiler工具進行綜合,500 MHz主頻下,功耗為38.3 mW,且仿真結(jié)果表明,該譯碼器具有較好的譯碼性能,值得應(yīng)用推廣。同時在驗證領(lǐng)域中,本文采用UVM驗證方法學(xué)搭建的驗證平臺成功復(fù)用到CRC(Cyclic Redundancy Check)檢驗的模塊中,極大地提高了驗證的效率和平臺的復(fù)用性。

參考文獻

[1] BATCHA M F N, SHA′AMERI A Z S. Configurable adaptive Viterbi decoder for GPRS, EDGE and Wimax [C]// Proceedings of IEEE International Conference on Telecommunications and Malaysia International Conference on Communications. Penang: IEEE, 2007: 237?241.

[2] YUAN H H, HSU C Y, KUO T S. Low complexity Radix?4 butterfly design for the Viterbi decoder [C]// Proceedings of IEEE Vehicular Technology Conference. Montreal: IEEE, 2006: 1?5.

[3] ABDALLAH R A, LEEY S J, GOEL M, et al. Low?power pre?decoding based viterbi decoder for tail?biting convolutional codes [C]// Proceedings of IEEE Workshop on Signal Processing Systems. Tampere: IEEE, 2009: 185?190.

[4] MANZOOR R, RAFIQUE A, BAJWA K B. VLSI implementation of an efficient pre?trace back approach for Viterbi algorithm [C]// Proceedings of International Bhurban Conference on Applied Sciences and Technology. Islamabad: IEEE, 2007: 27?30.

[5] 薛蓮.MIMO?OFDM系統(tǒng)二相ACS前向回溯基四Viterbi譯碼器設(shè)計與實現(xiàn)[J].科技通報,2013,29(9):176?180.

XUE Lian. Design and implementation of two?phase ACS and pre?traceback Radix?4 Viterbi decoder for MIMO?OFDM system [J]. Bulletin of science and technology, 2013, 29(9): 176?180.

[6] 李炎琨.基于VMM驗證方法的研究[D].西安:西安電子科技大學(xué),2010.

LI Yankun. The research of VMM?based verification method [D]. Xian: Xidian University, 2010.

[7] 柏才明.基于OVM的SoC功能驗證系統(tǒng)的設(shè)計與實現(xiàn)[D].武漢:華中科技大學(xué),2011.

BAI Caiming. Design and implementation of OVM?based SoC function verification system [D]. Wuhan: Huazhong University of Science and Technology, 2011.

[8] 張弓.可配置的Viterbi譯碼器的FPGA實現(xiàn)[D].西安:西安電子科技大學(xué),2009.

ZHANG Gong. Implementation of a configurable Viterbi decoder with FPGA [D]. Xian: Xidian University, 2009.

[9] Accellera. Universal verification methodology (UVM) 1.2 user′s guide [EB/OL]. [2015?11?06]. https://wenku.baidu.com/view/19eced832f60ddccdb38a05b.html.

[10] 3GPP. TS 36.212?2009 multiplexing and channel coding (V8.7.0) [S]. [2009?06?01]. http://www.zbgb.org/147/StandardDetail

2505982.htm.

[11] Accellera. Universal verification methodology(UVM)1.2 class reference [EB/OL]. [2013?12?16]. http://ishare.iask.sina.com.cn/f/65070280.html.

猜你喜歡
移動終端
基于移動互聯(lián)網(wǎng)開發(fā)人才培養(yǎng)模式的探索
移動互聯(lián)網(wǎng)時代高校營銷專業(yè)教學(xué)面臨的機遇與挑戰(zhàn)
基于移動終端平臺的編輯學(xué)習(xí)和交流方法
國內(nèi)移動數(shù)字出版發(fā)展現(xiàn)狀及對策研究
基于移動終端的高校移動學(xué)習(xí)體系構(gòu)建研究
移動終端云計算應(yīng)用分析
手機APP在學(xué)生信息化管理中的應(yīng)用探索
中職學(xué)校學(xué)生管理系統(tǒng)手機運用平臺的研究
政府辦公區(qū)域無線網(wǎng)絡(luò)覆蓋的設(shè)計
基于移動終端的換物平臺設(shè)計與應(yīng)用研究