<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的改進型分組交織器的設計與實現(xiàn)

          基于FPGA的改進型分組交織器的設計與實現(xiàn)

          作者: 時間:2009-11-05 來源:網(wǎng)絡 收藏

            在整個循環(huán)過程中,讀地址變量add不斷輸出“亂序”的交織地址add=j n+i,以達到設計的要求。

            通過上述分析可以看出,算法中運用了加法、乘法、比較、計數(shù)等算術邏輯運算,則地址生成的設計過程中,需要運用加法器,乘法器,比較器,計數(shù)器等器件以實現(xiàn)相應功能。在設計過程中,這些器件采用由QuartusⅡ軟件為設計人員提供的參數(shù)化宏單元模塊LPM(library of parameterized modules),使用它不僅可以簡化電路復雜度,而且大大提高了設計速度。

            2.2.2 讀地址序列產(chǎn)生器設計

            讀地址是整個設計部分的關鍵,采用“亂序讀出”的方式。電路設計主要由加法、乘法器,計數(shù)器和比較器模塊構(gòu)成,其地址序列產(chǎn)生流程在算法分析中已作過詳細說明,這里只作簡單介紹:計數(shù)器Ⅰ相當于變量j,首先在時間脈沖cp的驅(qū)動下從初始狀態(tài)“00000000”開始遞增計數(shù),當?shù)扔谠O定交織深度m時,產(chǎn)生一個時鐘脈沖信號來驅(qū)動計數(shù)器Ⅱ,此時計數(shù)器Ⅱ的計數(shù)加一,同時與另一設定數(shù)據(jù)n進行比較,當相等時計數(shù)器Ⅰ、Ⅱ同時清0,重新開始計數(shù)。

          讀地址序列產(chǎn)生器

          讀地址序列產(chǎn)生器

            讀地址產(chǎn)生結(jié)果由數(shù)據(jù)n與計數(shù)器Ⅰ每次的輸出數(shù)據(jù)相乘,再與計數(shù)器Ⅱ的計數(shù)數(shù)據(jù)相加而得到。產(chǎn)生的序列依次為:0,n,2n,…,(m-1)n,1,n+1,2n+1,…,(m-1)n+1,2,…,mn-1.

            2.3 寫地址序列產(chǎn)生器設計

            采用“順序?qū)懭搿钡膶懙刂贩绞剑串a(chǎn)生“0,1,2 …,mn-1”的順序地址序列。因此寫地址序列產(chǎn)生器的實現(xiàn)可由乘法器,比較器和計數(shù)器等宏單元模塊構(gòu)成(如圖4所示),寫地址具體產(chǎn)生說明如下:

          寫地址序列產(chǎn)生器

          寫地址序列產(chǎn)生器

            首先8位計數(shù)器在時鐘脈沖cp的驅(qū)動下由初始狀態(tài)“00000000”開始遞增計數(shù),產(chǎn)生的計數(shù)數(shù)據(jù)分成兩路:一路送到雙端口RAM的寫地址端,作為的寫地址產(chǎn)生信號;另一路則送到比較器的一個輸入端,同乘法器輸出的結(jié)果進行比較:當計數(shù)器累計計數(shù)值小于乘法器計算結(jié)果時,計數(shù)器繼續(xù)累加計數(shù);而當計數(shù)值等于乘法器的計算結(jié)果時,比較器產(chǎn)生中斷控制信號使得計數(shù)器清0,并重新開始計數(shù)。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();