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

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 一種固定1024點流水線FFT處理器結構研究

          一種固定1024點流水線FFT處理器結構研究

          作者: 時間:2012-08-07 來源:網絡 收藏

          4,16和64點采用Hansan結構,它們的存儲容量遠小于一個整1 024點所需的存儲容量.為了加快數(shù)據(jù)訪問時間,同時減少存儲器容量,16點運算所需的旋轉因子值可以直接存儲為常數(shù). 同時采用塊浮點定標方式,以提高運算精度.

          本文引用地址:http://www.ex-cimer.com/article/193445.htm

            

            

            3 ASIC驗證及性能分析

            使用VHDL硬件編程語言在RTL級對可重配置FFT進行了代碼描述.基于SMIC 0.18μm標準單元工藝庫,用Synopsys DesignCompiler綜合工具進行邏輯綜合,使用Astro 工具進行版圖規(guī)則及布局布線;用仿真工具VCS進行邏輯動態(tài)仿真,用參數(shù)提取工具Star-RCXT提取寄生參數(shù)并使用靜態(tài)時序分析工具PrimeTime對整個設計系統(tǒng)進行靜態(tài)時序分析.的ASIC版圖如圖4所示存儲器按照圖1所示數(shù)據(jù)流的方向排放,以便于邏輯單元布局布線.處理器版圖采用了3層電源環(huán)結構.采用該結構一方面可增加管腳供電能力,另一方面也可有效減小芯片面積(處理器芯片面積為3.6mm×3.7mm).

            表1為作者所提出的結構與Hason結構的性能比較.其中數(shù)據(jù)用36 bit表示(高18 bit為實部,低18 bit為虛部),指數(shù)用6bit表示,結果比較用kbit表示.由表1比較結果可知,作者所提出的可重配置FFT處理器結構不僅減小了45%的存儲器資源,而且節(jié)省了52%的處理時間.該處理器芯片在連續(xù)工作100 MHz時鐘頻率時,處理第1組1 024點FFT序列需要24.8 μs,以后每10.24μs給出1組1 024點運算結果.表2為FFT處理器進行各種點數(shù)運算的功耗.可重配置結構采用復用器及相關的邏輯電路實現(xiàn)門控時鐘電路,這樣,在進行不同點數(shù)運算時可以啟動不同的運算單元(屏蔽不需要的運算單元),以降低功耗.由表2可知,在啟動64點FFT運算模塊時,系統(tǒng)功耗較1 024點FFT運算量降低了約49%,而 4點運算量降低了約80%.

            

            4 結論

            提出一種可重配置FFT處理器的ASIC芯片設計與實現(xiàn)、該芯片采用子模塊基-4單元級聯(lián)結構,使用雙口RAM進行乒乓存儲,不僅減少了硬件實現(xiàn)資源,而且提高了處理速度,具有連續(xù)計算4,16,64,256和1 024點復數(shù)輸入FFT的運算功能.結構設計采用模塊化設計,縮短了芯片設計開發(fā)周期.處理器芯片面積為3.6mm×3.7mm,適用于實時、高精度動態(tài)變換應用場合.


          上一頁 1 2 下一頁

          關鍵詞: 1024 FFT 流水線 處理器

          評論


          相關推薦

          技術專區(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); })();