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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > YUV分離的兩種FPGA實現(xiàn)

          YUV分離的兩種FPGA實現(xiàn)

          作者: 時間:2012-04-05 來源:網(wǎng)絡(luò) 收藏


          3 基于速度的實現(xiàn)
          前面提到了設(shè)計中面積與速度不斷變換的原則,基于面積的實現(xiàn)方式只用到了一片雙口RAM,在一定程度上達到了面積優(yōu)化的目標(biāo),但是也看到讀/寫是串行執(zhí)行的,在系統(tǒng)運行速度上確實有一定的缺陷,無法滿足系統(tǒng)對實時性的要求,同時系統(tǒng)需要兩個不同頻率的時鐘,容易引起亞穩(wěn)態(tài)。下面將介紹一種基于速度的實現(xiàn)方式。
          3.1 乒乓操作
          乒乓操作是一個用于數(shù)據(jù)流控制的處理技巧,本文利用了兩片雙口RAM來作為乒乓操作的數(shù)據(jù)緩沖區(qū),乒乓操作如圖4所示。外部視頻數(shù)據(jù)在輸入數(shù)據(jù)選擇控制模塊和輸出數(shù)據(jù)選擇控制模塊的控制下,完成緩沖區(qū)的選擇和視頻數(shù)據(jù)的輸入/輸出,并將經(jīng)過緩沖的數(shù)據(jù)流不停頓地送到下一模塊進行運算或處理。它適合于對數(shù)據(jù)流進行流水線式處理,能高效地完成大量實時視頻數(shù)據(jù)的無縫緩沖和處理。在第一個緩存周期,也稱之為雙口RAM0的寫周期。視頻數(shù)據(jù)在雙口RAM控制器控制下選擇將視頻數(shù)據(jù)輸入到雙口RAM0;在下一個周期,輸入控制模塊將視頻數(shù)據(jù)輸入到雙口RAM1,同時輸出控制模塊輸出雙口RAM0的視頻數(shù)據(jù)到后續(xù)模塊進行處理;在第三個周期時,在輸入控制模塊的控制下,將輸入視頻數(shù)據(jù)輸入到雙口RAM0,同時在輸出控制模塊控制下,將雙口RAM1中存儲數(shù)據(jù)輸出到后續(xù)模塊,如此不斷循環(huán)。

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

          f.JPG


          3.2 模塊設(shè)計與仿真
          該模塊利用了兩片雙口RAM在不同的緩沖周期內(nèi)分別進行讀/寫。該模塊主要由有效數(shù)據(jù)抽取、雙口RAM控制器、兩片雙口RAM組成,模塊結(jié)構(gòu)如圖5所示。該模塊在控制器控制下視頻數(shù)據(jù)經(jīng)有效數(shù)據(jù)抽取模塊抽取后進入雙口RAM,控制器為雙口RAM提供讀/寫使能,通過寫使能控制數(shù)據(jù)寫入是否有效,data_valid是有效數(shù)據(jù)抽取模塊,用來標(biāo)識有效視頻數(shù)據(jù)的信號,由它為模塊提供寫使能,等到寫操作完成后向SDR AM控制器發(fā)送滿信號,此時讀使能r_en由SDRAM控制器提供。通過控制器提供的讀/寫使能完成兩片雙口RAM的讀寫切換。該模塊利用了兩片雙口RAM之間的乒乓操作,流水地實現(xiàn)了的并行處理。

          g.JPG

          電子鎮(zhèn)流器相關(guān)文章:電子鎮(zhèn)流器工作原理


          電子鎮(zhèn)流器相關(guān)文章:




          關(guān)鍵詞: FPGA YUV 分離

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();