欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種DRM/DRM+接收機中的Viterbi解碼器的硬件設(shè)計方法與流程

文檔序號:11959168閱讀:255來源:國知局
一種DRM/DRM+接收機中的Viterbi解碼器的硬件設(shè)計方法與流程

本發(fā)明涉及一種DRM/DRM+接收機中的Viterbi解碼器的硬件設(shè)計方法,主要針對最復(fù)雜的HMMIX(64-QAM多級映射方式)信道編碼方式的MSC(主服務(wù)信道)的DRM信道,尤其是DRM+移動電視廣播的信道。



背景技術(shù):

DRM(Digital Radio Mondiale:全球數(shù)字無線廣播)是原來AM廣播的數(shù)字化標(biāo)準(zhǔn),用于30MHz以下頻段的長波、中波和短波音頻廣播。2001年9月,國際電信同盟(International Telecommunications Union,ITU)、國際電子技術(shù)委員會International Electro technical Committee,IEC)和歐洲無線電通訊標(biāo)準(zhǔn)學(xué)會(European Telecommunications Standards Institute,ETSI)共同發(fā)布了DRM(Digital Radio Mondiale)數(shù)字廣播標(biāo)準(zhǔn),從而規(guī)范了全球在30MHz以下數(shù)字音頻廣播。歐洲無線電通訊標(biāo)準(zhǔn)學(xué)會(ETSI)并不滿足于30MHz以下頻段的音頻廣播,在2005年3月,他們開始將DRM系統(tǒng)的頻段擴充到VHF(甚高頻)頻段,高達(dá)108MHz,這就是所謂的DRM+,在2009年8月31日,DRM+已經(jīng)成為歐洲電信標(biāo)準(zhǔn)協(xié)會的官方廣播標(biāo)準(zhǔn)。這個名字是ETSI ES 201 980 V3.1.1,這實際上是新版本的DRM標(biāo)準(zhǔn),即DRM+標(biāo)準(zhǔn),它增加了額外的模式,使得工作頻段從30MHz提高到174MHz,更寬的帶寬將被使用,這將允許廣播電臺使用更高的比特率,從而提高音頻廣播的質(zhì)量。一個可能的信道帶寬為50kHz將允許DRM+提供接近CD的音質(zhì)。而100kHz信道帶寬的DRM+信道有足夠的能力進(jìn)行一個低清晰度0.7Mb/s比特率的移動電視廣播,而且在DRM+部署的移動電視廣播要比DMB或DVB-H簡單。

DRM/DRM+數(shù)字廣播標(biāo)準(zhǔn)即將成為中國調(diào)幅短波數(shù)字廣播標(biāo)準(zhǔn),市場上對DRM接收機有巨大的需求。目前,成熟的商用DRM接收機價格居高不下,主流方案主要是ARM+DSP或DSP的軟件接收方案。本文提出的一種DRM/DRM+接收機中的Viterbi解碼器的硬件設(shè)計方法,面向DRM/DRM+專用解碼芯片的Viterbi解碼器設(shè)計,為高性能、低成本、低功耗的DRM/DRM+專用解碼芯片研制成功提供了一種硬件設(shè)計方案。

在硬件實現(xiàn)方式中,Viterbi硬件解碼器設(shè)計架構(gòu)分為串行與并行兩種架構(gòu)。串行架構(gòu),數(shù)據(jù)處理速度慢,數(shù)據(jù)吞吐量小,這種架構(gòu)適合低碼率的解碼情況,但是,占用的資源少;并行架構(gòu)數(shù)據(jù)處理速度快,數(shù)據(jù)吞吐量大,這種架構(gòu)適合高碼率的解碼情況,但是,占用的面積大。本文所設(shè)計的Viterbi硬件解碼器采用串并結(jié)合的架構(gòu),計算狀態(tài) 路徑度量與路徑信息由四個ACS單元流水線加速處理,這屬于并行結(jié)構(gòu);Viterbi解碼器內(nèi)部模塊由主控制器進(jìn)行異步串行控制方法,這屬于串行結(jié)構(gòu),很好地解決了面積與速度的關(guān)系,符合IC設(shè)計的折衷原則。

在計算路徑度量與路徑信息單元設(shè)計中,ACS一般都是采用浮點運算器的流水線方式,需要的流水線級數(shù)較長,消耗的邏輯單元也較多;本文采用定點運算器八級流水線方式,片上邏輯資源做到盡量少,選擇四個ACS并行和合理調(diào)度發(fā)射,提高了硬件利用率和數(shù)據(jù)處理吞吐量。

在Viterbi解碼運算過程中,有大量64位幸存路徑信息需要保存與讀取,數(shù)據(jù)通常都是上千個,在DRM+移動電視廣播標(biāo)準(zhǔn)中甚至有上萬個,全部存儲在片上單口RAM中,會增加芯片的面積與功耗;要是存儲在片外的SRAM,由于成本的原因,也不切實際。本文通過幸存路徑信息讀寫控制器的設(shè)計,Viterbi解碼過程中產(chǎn)生的龐大的幸存路徑信息數(shù)據(jù)量與片外ddr進(jìn)行高速數(shù)據(jù)交互,既保證Viterbi解碼器解碼速度不受影響,又大大減少了芯片的面積。

Viterbi硬件解碼器的硬件設(shè)計中,一般都是32位單精度浮點算法器來保證運算精度,本文采用定點算法器來實現(xiàn),回溯輸出的比特流結(jié)果與32位單精度浮點算法器完全一致。



技術(shù)實現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題是提供一種DRM/DRM+接收機中的Viterbi解碼器的硬件設(shè)計方法,在時鐘頻率48MHZ條件下,DRM/DRM+能夠滿足實時解碼,片上RAM與邏輯資源消耗幾乎最少,DRM/DRM+接收機方案成本幾乎最低。

本發(fā)明解決上述問題所采用的技術(shù)方案為:一種DRM/DRM+接收機中的Viterbi解碼器的硬件設(shè)計方法,包括以下主要的硬件設(shè)計方法:

1、一個ACS單元由兩個無符號定點加法器、一個無符號定點比較器、一個無符號選擇器組成八級流水線方式來處理連續(xù)輸入序列的兩個前向狀態(tài)路徑度量與兩個分支度量信息,經(jīng)過八個時鐘周期,輸出序列的當(dāng)前狀態(tài)路徑信息連續(xù)寫回路徑信息存儲單元,同時,輸出序列的當(dāng)前狀態(tài)路徑度量連續(xù)寫回路徑度量存儲單元。

2、由四個ACS單元組成4-ACS并行架構(gòu)的流水線調(diào)度方式,結(jié)合狀態(tài)路徑度量存儲單元的分組交叉存儲方式,有效避免了同一狀態(tài)下對路徑度量存儲單元讀寫操作的沖突,只需二十五個時鐘周期完成當(dāng)前狀態(tài)路徑度量與路徑信息的計算與存儲功能。

3、針對4-ACS并行架構(gòu)的流水線調(diào)度方式,狀態(tài)路徑度量存儲單元采用分組交叉的存儲方式,A組用4個18X8的雙口RAM,B組用4個18X8的單口RAM。

4、幸存路徑信息讀寫控制器的設(shè)計,使Viterbi解碼過程中產(chǎn)生的龐大的幸存路徑 信息數(shù)據(jù)量快速與片外ddr進(jìn)行高速數(shù)據(jù)交互,實現(xiàn)了計算所有接收到比特流的狀態(tài)路徑信息單元工作結(jié)束到回溯輸出單元開始工作的無延時切換控制,同時,保證回溯輸出單元完成最大似然路徑的掃描輸出速度不變。

所述的一種DRM/DRM+接收機中的Viterbi解碼器的硬件設(shè)計方法,整個Viterbi解碼器硬件設(shè)計中所設(shè)計的運算器都是采用定點運算器,與采用32位單精度浮點算法器回溯輸出比特流結(jié)果完全一致。

與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于:

1)本發(fā)明方法采用八級流水線方式的定點ACS單元所需邏輯資源,不到采用32位單精度浮點多級流水線ACS單元所需邏輯資源的50%。

2)本發(fā)明方法采用分組交叉存儲方式的路徑度量存儲單元所需片上RAM資源,不到普通存儲方式所需片上RAM資源的25%。

3)本發(fā)明方法的幸存路徑信息高速讀寫控制器的設(shè)計,取代了現(xiàn)有技術(shù)將所有的幸存路徑信息存放到片上64位寬、幾萬深度的片上單口RAM或片外SRAM方案,并保證Viterbi解碼器解碼速度不受影響。

4)本發(fā)明方法所設(shè)計的Viterbi硬件解碼器采用串并結(jié)合的架構(gòu),計算狀態(tài)路徑度量與路徑信息由四個ACS單元并行流水線加速處理,Viterbi解碼器內(nèi)部模塊由主控制器進(jìn)行異步串行控制方法,很好地解決了面積與速度的關(guān)系,符合IC設(shè)計的折衷原則,既滿足了實時解碼的要求,又使所需邏輯資源不超過完全串行結(jié)構(gòu)所需邏輯資源的20%。

附圖說明

圖1為八級流水線方式ACS結(jié)構(gòu)圖

圖2為4-ACS流水線調(diào)度方式圖

圖3為交叉分組的路徑度量存儲單元結(jié)構(gòu)圖

圖4為幸存路徑信息讀/寫控制器的讀寫控制流程圖

具體實施方式

以下結(jié)合附圖實施例對本發(fā)明作進(jìn)一步詳細(xì)描述。

1、圖1所示,一個ACS單元由兩個18位無符號定點加法器、一個18位無符號定點比較器、一個18位無符號選擇器組成,一個8位的移位寄存器作為流水線的控制與調(diào)度,第1~3級是計算兩條路徑的前向狀態(tài)路徑度量與分支距離之和;第4~6級是比較兩條路徑;第7級是選擇一條最小路徑的狀態(tài)路徑度量與路徑信息;第8級是保存最小路徑的路徑信息與狀態(tài)路徑度量。經(jīng)過8個時鐘周期,輸出序列的當(dāng)前狀態(tài)路徑信息連續(xù)寫回路徑信 息存儲單元,同時,輸出序列的當(dāng)前狀態(tài)路徑度量連續(xù)寫回路徑度量存儲單元。

2、由四個ACS單元組成4-ACS并行架構(gòu)的流水線調(diào)度方式,結(jié)合狀態(tài)路徑度量存儲單元的分組交叉存儲方式,有效避免了同一狀態(tài)下對路徑度量存儲單元讀寫操作的沖突。通過圖2的4-ACS流水線調(diào)度方式,到第16個時鐘周期所有的狀態(tài)路徑度量都被讀出,這時候讀出的狀態(tài)路徑度量為:30、62和31、63,最小狀態(tài)是30,如果狀態(tài)30在第17個時鐘周期被更新,則讀、寫狀態(tài)路徑度量剛好錯開。因此,把ACS單元設(shè)計成8級流水線結(jié)構(gòu),也就是ACS單元有8個時鐘周期的延時,就能把讀、寫狀態(tài)路徑度量剛好錯開。每時鐘周期發(fā)射四個ACS操作。同樣,由于訪存的延時,ACS單元從第2個時鐘周期開始工作,第10個時鐘周期開始寫當(dāng)前狀態(tài)路徑度量,第17個時鐘周期狀態(tài)發(fā)射完畢,第25個時鐘周期寫當(dāng)前狀態(tài)路徑度量與路徑信息完畢。

3、針對4-ACS并行架構(gòu)的流水線調(diào)度方式,路徑度量存儲單元采用分組交叉的存儲方式,如圖3所示,由分成A和B兩組,組內(nèi)劃分為四個小組,A組用4個18X8的雙口RAM組成,B組用4個18X8的單口RAM組成,地址線為6位的狀態(tài)路徑度量存儲單元的地址:0-1位組內(nèi)選擇,0為A0或B0,1為A1或B1,2為A2或B2,3為A3或B3;2-4位:各小組的具體地址線;5位:A組和B組選擇,0為A組,1為B組。從表1中發(fā)現(xiàn),從第1~16個時鐘周期,進(jìn)行讀操作,每個時鐘周期從狀態(tài)路徑度量存儲單元讀取四個數(shù)據(jù),每次讀操作(RD0、RD1、RD2、RD3)4個數(shù)據(jù)在小組內(nèi)的地址都是一樣,因此可以通過對地址線的選擇,從而選擇合適的數(shù)據(jù);從第10~25個周期,進(jìn)行寫操作(WR0、WR1、WR2、WR3),組內(nèi)(A組或B組)順序地把當(dāng)前狀態(tài)路徑度量寫回到路徑度量存儲單元;從第10~16個時鐘周期,對A組的RAM有即讀又寫的操作,則A組用4個雙口的RAM;從第18~25個時鐘周期,對B組的RAM只有寫操作,則B組用4個單口的RAM。(注:A0_0:A0單口RAM的0地址;B2_2:B2雙口RAM的2地址)

4、幸存路徑信息讀寫控制器的設(shè)計,使Viterbi解碼過程中產(chǎn)生的龐大的幸存路徑信息數(shù)據(jù)量快速與片外ddr進(jìn)行高速數(shù)據(jù)交互,取代了需要片上64位寬、幾萬深度的單口RAM或者片外SRAM實現(xiàn)方案,實現(xiàn)了計算所有接收到比特流的狀態(tài)路徑信息單元工作結(jié)束到回溯輸出單元開始工作的無延時切換控制,同時,保證回溯輸出單元完成最大似然路徑的掃描輸出速度不變,如圖4所示,具體設(shè)計方法與過程如下:

1)、當(dāng)Viterbi硬件解碼器接收到CPU開始命令信號,根據(jù)CPU發(fā)送的ddr存儲物理地址與回溯深度,先判斷回溯深度的奇偶性,計算寫操作中wr_ddr(寫地址)的首次寫操作地址與回溯輸出單元需要的fd_ddr_len(實際ddr存儲長度),當(dāng)偶數(shù)時,wr_ddr的首次寫操作地址=ddr存儲物理地址+(回溯深度>>1)+1,fd_ddr_len=ddr存儲物理地址+(回溯深度>>1)-2;當(dāng)奇數(shù)時,wr_ddr的首次寫操作地址=ddr存儲物理地址+(回溯深度>>1)+2,fd_ddr_len=ddr存儲物理地址+(回溯深度>>1)-1。

2)、當(dāng)計算與保存2次幸存路徑信息后,幸存路徑信息讀寫控制器向ddr控制器發(fā)送寫請求與長度為1的命令,當(dāng)ddr控制器響應(yīng)后發(fā)送ddr_ack為1時,先寫入64位當(dāng)前狀態(tài)幸存路徑信息,再寫入64位前向狀態(tài)幸存路徑信息。向ddr控制器發(fā)送寫請求信號,ddr控制器對ddr bank激活、預(yù)充電等操作后,ddr控制器響應(yīng)后發(fā)送ddr_ack信號,不會超過16個時鐘周期,所以向ddr寫一次長度為1的操作,保證不會多于計算并保存一次64位幸存路徑信息的時鐘周期。

3)、當(dāng)寫完2次幸存路徑信息到ddr后,如果wr_addr不等于CPU發(fā)送的ddr存儲物理地址,wr_addr減1,繼續(xù)等待步驟2);如果wr_addr等于CPU發(fā)送的ddr存儲物理地址,則完成ddr寫操作,開始進(jìn)行ddr讀操作步驟4)中,為回溯輸出單元回溯掃描順序來讀取ddr存儲的幸存路徑信息,計算與保存當(dāng)前狀態(tài)路徑信息單元繼續(xù)工作。當(dāng)回溯深度為偶數(shù)時,計算與保存最后2次幸存路徑信息,不經(jīng)過ddr存儲,直接發(fā)送回溯輸出單元,主控制器發(fā)送開始信號給回溯輸出單元,回溯輸出單元從當(dāng)前狀態(tài)幸存路徑信息、再前向狀態(tài)幸存路徑信息進(jìn)行回溯,最后從backup_64x16_fifo依次讀取幸存路徑信息,直至回溯輸出完成;當(dāng)回溯深度為奇數(shù)時,計算與保存最后1次幸存路徑信息,不經(jīng)過ddr存儲直接發(fā)送給回溯輸出單元開始回溯,后面操作與偶數(shù)時完全一致。

4)、最后一次wr_addr作為第一次讀操作的讀地址(rd_addr),當(dāng)backup_64x16_fifo的wr_count(寫端口數(shù)據(jù)計數(shù)器)小于8,幸存路徑信息讀寫控制器向ddr控制器發(fā)送讀請求,length(讀長度)一般都是4,如果fd_ddr_len不能被4整除,則最后一次length(fd_ddr_len與4求余,即fd_ddr_len[1:0]),當(dāng)ddr控制器響應(yīng)后發(fā)送ddr_ack為1時,連續(xù)讀取(length*2)個64位幸存路徑信息,按從ddr讀取數(shù)據(jù)的先后順序,把幸存路徑信息連續(xù)寫入FIFO,整個讀操作發(fā)送請求信號到寫FIFO結(jié)束,時鐘周期不會超過24個時鐘周期。

5)、當(dāng)回溯輸出單元回溯完不經(jīng)過ddr存儲的幸存路徑信息后,當(dāng)backup_64x16_fifo非空時,直接從fifo讀取幸存路徑信息,整個回溯輸出設(shè)計每3個周期回溯出1個比特位,8個幸存路徑信息完成需要24個周期,當(dāng)backup_64x16_fifo的wr_count(寫端口數(shù)據(jù)計數(shù)器)小于8,已經(jīng)開始讀操作,backup_64x16_fifo不會出現(xiàn)讀空等待的狀態(tài),所以保證了回溯輸出單元完成最大似然路徑的掃描輸出速度不變。

1

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
柯坪县| 亳州市| 砀山县| 延寿县| 修武县| 闵行区| 老河口市| 大厂| 辽阳市| 镇雄县| 城固县| 白朗县| 麻江县| 化隆| 高要市| 威海市| 新建县| 司法| 建阳市| 巧家县| 万盛区| 额敏县| 五原县| 舞阳县| 澄迈县| 阿拉尔市| 嘉峪关市| 嘉荫县| 新和县| 闽清县| 任丘市| 成武县| 西贡区| 柘荣县| 聊城市| 曲阳县| 泰安市| 兴国县| 洛川县| 方山县| 安塞县|