在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA如何使用RAM分區循環移位法實現解交織器

FPGA設計論壇 ? 來源:電子設計應用 ? 作者:fengfeng ? 2021-09-28 17:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文分析了卷積交織和解交織的基本原理,然后采用AlteraFPGA器件,用RAM分區循環移位法來實現解交織器。無論從理論上,還是從計算機仿真和綜合結果上來分析,都可以看出用這種方法來實現DVB-C解交織器能有效地節省硬件資源。

卷積交織和解交織原理簡介

在DVB-C系統當中,實際信道中的突發錯誤往往是由脈沖干擾、多徑衰落引起的,在統計上是相關的,所以一旦出現不能糾正的錯誤時,這種錯誤將連續存在。因此在DVB-C系統里,采用了卷積交織來解決這種問題。它以一定規律擾亂源符號數據的時間順序,使其相關性減弱,然后將其送入信道,解交織器按相反規律恢復出源符號數據。

DVB-C的卷積交織和解交織原理為:交織由I=12(I為交織深度)個分支構成。每個分支的延時逐漸遞增,遞增的單元數M=n/I=204/12=17(M為交織基數)。這里的數據單位為字節。0支路無延時,1支路延時17個符號周期,11支路則延時l7×11個符號周期。輸入端有一開關隨著時間推移依次連接各個延時支路,輸出端有一開關與輸入端一一對應,同步連接各延時支路。

解交織器的實現

解交織器的FPGA實現原理

本文采用RAM分區循環移位法來實現,因為RAM里面暫存一位數據,只需要用一個邏輯門大小的資源,比基本寄存器暫存一位數據需要12個邏輯門大小的資源要優化很多。用RAM分區循環移位法來實現解交織器,就是把RAM分成11個區。每個區的大小為(單位為字節):

Ni=M*(I-i-1)(i=0,1,2, …,(I-1))

這里i為RAM所分區的區號。

因為11支路不需要延時,所以 RAM的11分區大小即N11為0。本文在RAM前面設置一個地址控制器,這是解交織器關鍵的一步。RAM每區有一個首地址和區內偏移地址,分別用一個寄存器來存儲。在地址控制器里產生每區的首地址和區內偏移地址,從而進一步產生RAM的讀寫地址。

解交織器的FPGA實現

把解交織器的深度I和基數M設成參數,以增強程序的通用性。如果以后設計的解交織器的系數I和M需要改動,只要把參數值重新設置一下就可以了,不需要改動程序。由前面的計算可知,解交織器總共需要延時的比特數,也就是RAM的大小應該為8976比特。

可以用下面一段程序實現首地址的初始化:

FirstAddr[0]=0;

for(i=1;i《(i-1);i=i+1)《 span=“”》

FirstAddr[i]=(I-i)*M+FirstAddr[i-1];

也就是說0~11支路的首地址在RAM中分別為0,187,357,510,646,765,867,952,1020,1071,1105。

RAM每區的字節數可以由參數來表示,即為(I-i-1)*M,i為分支號。

每區內偏移地址SectAddr[i]初始化為0,每寫入一個數據,遞增1并與由參數表示的每區的字節數進行比較,若兩數相等,則SectAddr[i]重新設為零,保證區內偏移地址在每區內循環移動。

由上可知,RAM每區的讀寫地址為:FirstAddr[i]+SectAddr[i](i為RAM分區號)

RAM每區的讀寫地址相同,也就是先讀出給定地址單元的數據后,再寫入新的數據。這里要同時發生讀寫操作,所以要使用雙口RAM。每隔一個時鐘周期,RAM讀寫指針就跳到下一個RAM區,這樣讀寫指針在RAM的11個區循環移動,實現解交織。

Clk為時鐘信號,Reset為異步復位信號,ClkEn為時鐘使能信號,高電平有效,FrameFirstIn為幀同步信號,高電平有效。DeinterleaverIn為輸入數據。設計時要注意數據同步問題,要不然會造成數據錯位,導致設計的失敗。DeinterleaverIn為了在selector模塊輸入時和RAM的輸出數據q保持同步,要作相應的延時,同步延時后DataIn4,同理,對應地RAM的輸入數據DataIn1,selector模塊的使能信號ClkEn4等也是經過同步處理得到。Flag為selector模塊的選擇控制信號,當Flag信號為0~10時,選擇RAM的輸出數據q作為輸出,而當Flag=11時,則選擇DeinterleaverIn經過同步處理后的數據DataIn4作為輸出,從而保證在解交織器的11支路實現無延時輸出。在解交織器的最前面輸出的字節有些是無效的,加一個DataEffect模塊是為了等全部字節都有效時,才把FrameFirstOut信號置高,告訴后面的模塊數據開始全部有效。

從資源利用方面考慮,使用RAM分區循環移位法來實現DVB-C解交織器比全部用基本寄存器或用配置FIFO的方法來實現要優化得多。

為了更好地驗證,本文把設計在synopsys 公司的synplify pro軟件環境下進行綜合,選用Altera公司的Cyclone EP1C12Q240C8器件。因為使用了軟核IP,所以再把生成的*.vqm文件導入synopsys公司的QuartusII 軟件進行再綜合,選擇同樣的器件類型和型號,結果說明采用雙口RAM設計所使用的邏輯單元較少,而且使用的8976比特RAM資源占用了Cyclone器件中的3個M4K,只有全部存儲資源的3%。

結語

雖然采用卷積交織會在剛開始傳輸數據的時候輸出一些無效數據,在系統中引入一定的延時,但是它能把突發干擾造成的突發錯誤分散成隨機錯誤,利于RS糾錯,這樣一權衡,有延時也是很值得的。本文利用EDA工具完成解交織器的設計,并且采用Verilog和原理圖協同輸入的設計方法,大大提高了設計效率。這里設計的解交織器具有通用性,如果要用不同深度I和基數M的解交織器,只要重設程序里的參數值就可以了,非常方便。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1645

    文章

    22034

    瀏覽量

    617903
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1392

    瀏覽量

    117401
  • 交織器
    +關注

    關注

    0

    文章

    5

    瀏覽量

    7811

原文標題:用RAM分區循環移位法來實現解交織器

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Linux系統中磁盤分區與掛載詳解

    磁盤分區是將物理硬盤劃分為不同的邏輯部分,每個分區都可以被視為一個獨立的存儲設備。通過磁盤分區,我們可以更好地管理磁盤空間,實現數據的組織和隔離。
    的頭像 發表于 06-17 15:08 ?501次閱讀
    Linux系統中磁盤<b class='flag-5'>分區</b>與掛載詳解

    服務數據恢復—服務器重裝系統導致分區消失的數據恢復案例

    服務上有一組由raid卡組建的raid5磁盤陣列。上層安裝linux才做系統,采用XFS文件系統,劃分了3個分區。 管理員將服務的操作系統重裝后,發現服務上的
    的頭像 發表于 05-14 10:13 ?154次閱讀
    服務<b class='flag-5'>器</b>數據恢復—服務器重裝系統導致<b class='flag-5'>分區</b>消失的數據恢復案例

    Xilinx Shift RAM IP概述和主要功能

    Xilinx Shift RAM IP 是 AMD Xilinx 提供的一個 LogiCORE IP 核,用于在 FPGA實現高效的移位寄存器(Shift Register)。該
    的頭像 發表于 05-14 09:36 ?323次閱讀

    labview FPGA模塊如何實現0步長?

    哪位大佬施以援手,labview FPGA模塊如何實現0?步長(0.01)到1后又從1-步長(0.01)到0,如此往復循環,現在實現了0自累加到1與1自累減到0,但是二者沒法聯立起來建
    發表于 04-04 13:09

    RAM-Based Shift Register Xilinx IP核的使用

    一般來講,如果要實現移位寄存器的話,通常都是寫RTL用reg來構造,比如1bit變量移位一個時鐘周期就用1個reg,也就是一個寄存FF資源,而移位
    的頭像 發表于 01-21 15:42 ?2485次閱讀
    <b class='flag-5'>RAM</b>-Based Shift Register Xilinx IP核的使用

    XILINX FPGA CLB單元之移位寄存器

    一、移位寄存器 SLICEM函數發生也可以配置為32位移位寄存器,而無需使用slice中可用的觸發。以這種方式使用,每個LUT可以將串行數據延遲1到32個時鐘周期。 移入D(DI1
    的頭像 發表于 01-16 17:45 ?787次閱讀
    XILINX <b class='flag-5'>FPGA</b> CLB單元之<b class='flag-5'>移位寄存器</b>

    TVP5158采集四路圖像,解交織后圖像錯誤,為什么?

    大家好,我現在在用5158采集四路圖像,通過FPGA解交織。 我5158的配置如下: B0 = 0xA0; B1 = 0x10; B2 = 0x25; B3 = 0xE4; B4 = 0xE4
    發表于 01-08 07:53

    循環伏安(CV)基礎知識

    循環伏安(Cyclic Voltammetry,CV)是一種暫態電化學測試方法,也是獲取電化學反應快速定量數據最為常用的電分析技術之一。該方法不僅能夠提供發生于電極界面上的異相電子傳遞過程的動力學
    的頭像 發表于 12-09 09:45 ?7049次閱讀
    <b class='flag-5'>循環</b>伏安<b class='flag-5'>法</b>(CV)基礎知識

    FPGA中浮點四則運算的實現過程

    (減)運算 基于FPGA 實現的浮點加法運算包括了一系列對尾數和指數部分的操作:移位、交換、格式化、舍入和格式化等。如下圖所示,自定義浮點流水加法器
    的頭像 發表于 11-16 11:19 ?1409次閱讀
    <b class='flag-5'>FPGA</b>中浮點四則運算的<b class='flag-5'>實現</b>過程

    什么是RAM內存 RAM內存對電腦性能的影響

    什么是RAM內存? RAM(Random Access Memory,隨機存取存儲)是電腦中的一種易失性存儲,它用于存儲電腦運行時的數據和程序。與硬盤等非易失性存儲
    的頭像 發表于 11-11 09:38 ?5951次閱讀

    利用位反轉尋址實現循環緩沖

    電子發燒友網站提供《利用位反轉尋址實現循環緩沖.pdf》資料免費下載
    發表于 10-28 10:01 ?0次下載
    利用位反轉尋址<b class='flag-5'>實現</b><b class='flag-5'>循環</b>緩沖<b class='flag-5'>器</b>

    Linux磁盤分區擴容方法

    linux分區常用命令:fdisk,修改MBR分區表,MBR格式,被修改的分區大小最大為2T。
    的頭像 發表于 10-23 11:46 ?1057次閱讀
    Linux磁盤<b class='flag-5'>分區</b>擴容方法

    什么是寄存移位尋址

    寄存移位尋址是一種特定的尋址方式,主要出現在某些處理架構中,如ARM指令集。這種尋址方式在處理數據移動和操作時提供了極大的靈活性和效率。下面將從定義、工作原理、特點、應用場景以及與其他尋址方式的對比等方面對寄存
    的頭像 發表于 10-05 17:38 ?1051次閱讀

    幼兒園分區廣播系統

    。 2、分區廣播 可根據教學管理的需要,按照教室,樓道,室外小操場等區域實現分區廣播。 3、課表循環 系統編排好一周的播放時間表后,全年可循環
    的頭像 發表于 09-04 09:41 ?565次閱讀
    幼兒園<b class='flag-5'>分區</b>廣播系統

    西門子移位指令怎么用在順序控制

    西門子的PLC(可編程邏輯控制)廣泛應用于工業自動化領域,其指令集豐富,能夠滿足各種控制需求。在順序控制中,移位指令是一種非常有用的指令,可以實現數據的移動和處理。 移位指令概述
    的頭像 發表于 08-16 17:08 ?2078次閱讀
    主站蜘蛛池模板: 视频在线色 | 伊人久久综合网站 | 国产高清一区二区三区四区 | 国产精品最新资源网 | 美女被羞羞产奶视频网站 | 69日本xxxxxxxxx内谢 | 黄色网址视频在线观看 | 2021久久精品免费观看 | 成年人三级视频 | 亚洲bbb| 亚洲精品久久久久久久蜜桃 | 久久九九亚洲精品 | www.婷婷色| 同性恋激情视频 | 国产农村乱色xxxx | 国产人成高清视频观看 | 午夜看片 | 激情www| 性色影院| 亚洲午夜精品久久久久久抢 | 日本xxx69hd| 欧美日韩在线成人看片a | 国内精品99| 国产卡一卡2卡三卡免费视频 | 三级视频国产 | 中文一区二区在线观看 | 亚洲午夜一级毛片 | www.色午夜| 欧美一区二区三区视频在线观看 | 欧美极品第1页专区 | 四虎成人免费观看在线网址 | 五月婷婷七月丁香 | 免费看黄色片网站 | 日本三级网站在线线观看 | ccc36色影| 四虎4hu | 欧美www| 黑色丝袜美女被视频网站 | 午夜免费福利片 | chinese国产videoxx实拍 | 国产精品美女一区二区三区 |