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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > SoC系統(tǒng)中實(shí)時(shí)總線模塊的設(shè)計(jì)理念與應(yīng)用

          SoC系統(tǒng)中實(shí)時(shí)總線模塊的設(shè)計(jì)理念與應(yīng)用

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

          中CPU總線一般采用應(yīng)答機(jī)制,是非實(shí)時(shí)的,數(shù)據(jù)的處理采用中斷響應(yīng)機(jī)制以發(fā)揮效率。處理特定實(shí)時(shí)數(shù)據(jù)并沒有固定的延時(shí)與穩(wěn)定的吞吐率,因此需要設(shè)計(jì)一個(gè)來處理實(shí)時(shí)數(shù)據(jù)到非實(shí)時(shí)總線之間的平滑過度問題。作者以此設(shè)計(jì)為例,闡述非實(shí)時(shí)總線中實(shí)時(shí)數(shù)據(jù)切換的與幾個(gè)實(shí)用技術(shù)。

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

          在芯片設(shè)計(jì)中,芯片內(nèi)部總線的設(shè)計(jì)往往決定了芯片的性能、功耗與各設(shè)計(jì)的復(fù)雜度。我們設(shè)計(jì)總線往往會依據(jù)兩方面的原則:一是芯片設(shè)計(jì)流程其內(nèi)在的需求,二是所針對的應(yīng)用對交換寬帶、延時(shí)、效率、靈活性的需求。

          針對芯片總線設(shè)計(jì)流程內(nèi)在的需求,高效總線結(jié)構(gòu)設(shè)計(jì)通常遵循的基本原則包括:同步設(shè)計(jì)、可綜合、無三態(tài)信號、低延時(shí)、單觸發(fā)延、支持多主控及總線仲裁(支持DMA及多CPU核)、高時(shí)鐘頻率獨(dú)立性、支持突發(fā)(高效率)和低門數(shù)。遵循這些基本原則可以幫助我們規(guī)避很多設(shè)計(jì)上的風(fēng)險(xiǎn),提高總線效率與IP復(fù)用度。當(dāng)然,實(shí)際上述有些原則如“三態(tài)總線”,可以而且應(yīng)當(dāng)在某些應(yīng)用中使用,只是不建議芯片及設(shè)計(jì)工程師輕易地突破這些規(guī)范,增加風(fēng)險(xiǎn)。南山之橋微電子公司在高端芯片設(shè)計(jì)中使用了三態(tài)總線技術(shù)來解決超寬總線的布線聚集與時(shí)序匹配問題。

          應(yīng)用的需求往往會決定總線的形式,如芯片中往往會采用嵌入式CPU的總線結(jié)構(gòu)。反過來說,我們選用哪一款CPU,除了成本、性能、功耗、快速精確的時(shí)序仿真模型、編譯環(huán)境和可用IP外,還有重要的一點(diǎn)就是其總線設(shè)計(jì)是否簡單、高效與有利于發(fā)揮其它設(shè)計(jì)模塊的效率。

          1.gif
          圖1:幀結(jié)構(gòu)TDM形式時(shí)序圖。

          以現(xiàn)在較流行的ARM處理器來說,采用AMBA總線標(biāo)準(zhǔn),其中高速芯片通常采用的AHB總線有以下幾個(gè)特質(zhì):流水線式、非三態(tài)總線、支持多主控、總線仲裁與集中地址譯碼、應(yīng)答響應(yīng)機(jī)制(非實(shí)時(shí))、支持突發(fā)。

          總之,AHB總線適宜于發(fā)揮CPU的效率,符合高效總線設(shè)計(jì)的原則,但是其本身也有總線位寬限制(主要是指令集位寬)與SPLIT(切分)選項(xiàng)支持的復(fù)雜度。在筆者參與的設(shè)計(jì)中有一半以上不支持SPLIT選項(xiàng)以降低設(shè)計(jì)與驗(yàn)證開銷,限于篇幅在此不展開闡述。最主要的問題是中CPU總線一般采用應(yīng)答機(jī)制,也就是非實(shí)時(shí)的,數(shù)據(jù)的處理采用中斷響應(yīng)機(jī)制以發(fā)揮效率。處理特定實(shí)時(shí)數(shù)據(jù)并沒有固定的延時(shí)與穩(wěn)定的吞吐率,那么就需要設(shè)計(jì)一個(gè)模塊來處理實(shí)時(shí)數(shù)據(jù)到非實(shí)時(shí)總線之間的平滑過度問題。筆者以此模塊設(shè)計(jì)為例,闡述非實(shí)時(shí)總線中實(shí)時(shí)數(shù)據(jù)切換的與幾個(gè)實(shí)用技術(shù)。例子中實(shí)時(shí)數(shù)據(jù)傳遞采用TDM總線形式(Time Division Multiplexed,時(shí)分復(fù)用),我們稱此模式為TDM模塊。

          TDM模塊設(shè)計(jì)

          TDM模塊一端的界面是多路音頻信號的輸入與輸出,另一端是AHB總線,音頻數(shù)據(jù)的輸入/輸出,通常采用幀結(jié)構(gòu)TDM形式(見圖1)。其中,sp_io_xclk代表音頻數(shù)據(jù)采樣時(shí)鐘,sp_io_xfs代表幀同步頭,下面兩行分別是輸出與輸入數(shù)據(jù)??梢?,這是一個(gè)含幀格式的多通道時(shí)分實(shí)時(shí)數(shù)據(jù)傳輸格式。關(guān)于AMBA總線,有大量介紹資料,此處不贅述。

          在這個(gè)模塊的設(shè)計(jì)中,我們考慮了以下幾個(gè)原則:平滑匹配數(shù)據(jù)傳輸速度、低延時(shí)與低資源占用(邏輯與存儲資源)、高效使用AHB總線寬帶、提高CPU處理效率、可靠性與錯(cuò)誤處理、可控性與可觀性。最基本的思路是:采用FIFO(先入先出)技術(shù)暨隊(duì)列來緩沖數(shù)據(jù)傳輸,同時(shí)要盡量少緩存數(shù)據(jù)在隊(duì)列中,以滿足低延時(shí)與低資源的占用;同時(shí)采用AHB burst模式提高總線利用帶寬;最后,還要提供寄存器讀寫來控制傳輸參數(shù)與狀態(tài)存儲,采用AHB從控模式(Slave)。初步的設(shè)計(jì)結(jié)構(gòu)如圖2。

          DMA技術(shù)的使用時(shí)機(jī)

          在這個(gè)初步設(shè)計(jì)中,緩存隊(duì)列的長度計(jì)算主要取決于AHB burst的速度與頻率。要少緩存數(shù)據(jù),就要頻繁進(jìn)行AHB傳遞,也就是頻繁中斷CPU,這降低了CPU的處理效率。

          2.gif
          圖2:TDM模塊的初步設(shè)計(jì)結(jié)構(gòu)。


          上一頁 1 2 3 下一頁

          評論


          相關(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); })();