女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

FPGA如何使用RAM分區(qū)循環(huán)移位法實現(xiàn)解交織器

FPGA設(shè)計論壇 ? 來源:電子設(shè)計應(yīng)用 ? 作者:fengfeng ? 2021-09-28 17:53 ? 次閱讀

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

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

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

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

解交織器的實現(xiàn)

解交織器的FPGA實現(xiàn)原理

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

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

這里i為RAM所分區(qū)的區(qū)號。

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

解交織器的FPGA實現(xiàn)

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

可以用下面一段程序?qū)崿F(xiàn)首地址的初始化:

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每區(qū)的字節(jié)數(shù)可以由參數(shù)來表示,即為(I-i-1)*M,i為分支號。

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

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

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

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

從資源利用方面考慮,使用RAM分區(qū)循環(huán)移位法來實現(xiàn)DVB-C解交織器比全部用基本寄存器或用配置FIFO的方法來實現(xiàn)要優(yōu)化得多。

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

結(jié)語

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

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1643

    文章

    21954

    瀏覽量

    613989
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1391

    瀏覽量

    116757
  • 交織器
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    7804

原文標(biāo)題:用RAM分區(qū)循環(huán)移位法來實現(xiàn)解交織器

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    服務(wù)數(shù)據(jù)恢復(fù)—服務(wù)器重裝系統(tǒng)導(dǎo)致分區(qū)消失的數(shù)據(jù)恢復(fù)案例

    服務(wù)上有一組由raid卡組建的raid5磁盤陣列。上層安裝linux才做系統(tǒng),采用XFS文件系統(tǒng),劃分了3個分區(qū)。 管理員將服務(wù)的操作系統(tǒng)重裝后,發(fā)現(xiàn)服務(wù)上的
    的頭像 發(fā)表于 05-14 10:13 ?73次閱讀
    服務(wù)<b class='flag-5'>器</b>數(shù)據(jù)恢復(fù)—服務(wù)器重裝系統(tǒng)導(dǎo)致<b class='flag-5'>分區(qū)</b>消失的數(shù)據(jù)恢復(fù)案例

    Xilinx Shift RAM IP概述和主要功能

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

    RAM-Based Shift Register Xilinx IP核的使用

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

    XILINX FPGA CLB單元之移位寄存器

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

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

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

    循環(huán)伏安(CV)基礎(chǔ)知識

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

    FPGA中浮點四則運算的實現(xiàn)過程

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

    什么是RAM內(nèi)存 RAM內(nèi)存對電腦性能的影響

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

    利用位反轉(zhuǎn)尋址實現(xiàn)循環(huán)緩沖

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

    什么是寄存移位尋址

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

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

    西門子的PLC(可編程邏輯控制)廣泛應(yīng)用于工業(yè)自動化領(lǐng)域,其指令集豐富,能夠滿足各種控制需求。在順序控制中,移位指令是一種非常有用的指令,可以實現(xiàn)數(shù)據(jù)的移動和處理。 移位指令概述
    的頭像 發(fā)表于 08-16 17:08 ?1850次閱讀

    移位寄存器的工作原理、類型及應(yīng)用

    移位寄存器是一種電子設(shè)備,用于存儲和操作數(shù)據(jù)。它由一系列存儲單元組成,每個存儲單元可以存儲一位二進制數(shù)字。移位寄存器的主要功能是將數(shù)據(jù)從一個存儲單元移動到另一個存儲單元,從而實現(xiàn)數(shù)據(jù)的存儲和傳輸
    的頭像 發(fā)表于 07-12 10:22 ?3206次閱讀

    移位寄存器中使用的儲存單元是什么

    移位寄存器是一種常見的數(shù)字電路組件,用于存儲和傳輸數(shù)字信號。在移位寄存器中,存儲單元是其核心組成部分,負責(zé)存儲數(shù)字信號的每一位。本文將介紹移位寄存器中使用的存儲單元。 移位寄存器概述
    的頭像 發(fā)表于 07-12 10:21 ?773次閱讀

    移位寄存器中Dsr有什么用

    )是移位寄存器的一種類型,主要用于數(shù)據(jù)的存儲和傳輸。 移位寄存器的基本概念 移位寄存器是一種具有存儲功能的數(shù)字電路,它由一系列觸發(fā)(Flip-flop)組成,每個觸發(fā)
    的頭像 發(fā)表于 07-12 10:15 ?1201次閱讀

    移位寄存器右移是怎么移位

    移位寄存器是一種在數(shù)字電路和計算機科學(xué)中廣泛使用的存儲設(shè)備,它可以用來存儲和傳輸數(shù)據(jù)。在移位寄存器中,數(shù)據(jù)可以通過移位操作來實現(xiàn)數(shù)據(jù)的傳輸和處理。
    的頭像 發(fā)表于 07-12 10:14 ?2687次閱讀