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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于SCA規(guī)范下FPGA的硬件抽象層設(shè)計(jì)

          基于SCA規(guī)范下FPGA的硬件抽象層設(shè)計(jì)

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

            如圖1所示,組件一般用于實(shí)現(xiàn)應(yīng)用功能。這類組件由波形開發(fā)者依據(jù)HAL-C應(yīng)用接口進(jìn)行設(shè)計(jì),而在平臺(tái)上則依據(jù)PE的具體環(huán)境實(shí)現(xiàn)這些HAL-C應(yīng)用接口。由平臺(tái)提供的HAL-C應(yīng)用接口可給HC提供一個(gè)底層的通信接口,這些底層API的主要目的是讓同一或者不同PE上的HC能夠通信。HC1、HC2之間的通信并不是直接進(jìn)行的,而是通過HAL-C提供的通信機(jī)制來實(shí)現(xiàn)。HC1、HC2的開發(fā)者只需要把數(shù)據(jù)發(fā)送給HAL就可以了。具體數(shù)據(jù)如何從HC1傳輸?shù)紿C2,則是抽象層要完成的工作。

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

            通??捎靡粋€(gè)貯存在HAL-C基層結(jié)構(gòu)的簡(jiǎn)單傳輸模塊Tx來描述數(shù)據(jù)的傳輸。有兩種類型的傳輸需要描述,一種是貯存在不同PE上的HC之間通過物理信道進(jìn)行數(shù)據(jù)和控制信號(hào)的傳輸,如圖1中HC2到HC3的數(shù)據(jù)傳輸。它可以通過不同的物理信道實(shí)現(xiàn)(如PCI,RapidIO等),物理信道可以看作是傳輸在硬件平臺(tái)上的映射;另一種傳輸是在硬件內(nèi)部進(jìn)行的傳輸,雖然組件自己可以實(shí)現(xiàn)數(shù)據(jù)的傳輸,但是若使用硬件抽象層連接來約束這種傳輸,則能提高組件的通用性。

            為了簡(jiǎn)化上面的連接模型,這里引入了end-point的概念。即一條從HC出發(fā),通過傳輸模塊的路徑被指定為一條邏輯通道。HC可使用HAL-C應(yīng)用接口來訪問endpoint,以發(fā)送和接收數(shù)據(jù)。HAL-C基層結(jié)構(gòu)負(fù)責(zé)把數(shù)據(jù)通過邏輯信道移動(dòng)到指定的endpoint,這就可以把以前HC開發(fā)者應(yīng)該做的工作轉(zhuǎn)移到硬件抽象層中來實(shí)現(xiàn),從而使波形開發(fā)與硬件相關(guān)資源相分離。

            2 硬件抽象層連接接口

            規(guī)范中使用了兩種類型的接口:“provides”和“uses”。其中“provides”接口用來提供服務(wù),“uses”接口用來使用這種服務(wù)。這種思想可被擴(kuò)展應(yīng)用到的組件級(jí)。也就是把一個(gè)由HAL-C基層結(jié)構(gòu)向組件提供數(shù)據(jù)的接口定義為HAL-C基層結(jié)構(gòu)的“provides”端口,然后由組件利用HAL-C基層結(jié)構(gòu)的“uses”端口給其它組件提供數(shù)據(jù)。HAL-C API希望HC通過通用接口來發(fā)送和接收數(shù)據(jù)。在上,可使用source和sink來定義中的這兩種端口。這些接口通常以線路和信號(hào)的形式存在。

            2.1 source接口

            source接口用于從HC向HAL-C基層結(jié)構(gòu)傳遞數(shù)據(jù),它可根據(jù)硬件平臺(tái)的實(shí)現(xiàn)來確定信息被發(fā)送到指定的HC中。source接口應(yīng)當(dāng)實(shí)現(xiàn)的信號(hào)如下:

            clock:接口的同步時(shí)鐘,所有信號(hào)均應(yīng)與該時(shí)鐘同步;

            data:數(shù)據(jù)總線,其寬度可以是1,8,16,32,64位;

            channel:與數(shù)據(jù)傳輸相關(guān)的邏輯通道號(hào);

            length:定義數(shù)據(jù)緩沖區(qū)中要傳輸?shù)淖止?jié)數(shù),可用MAXBUFFERSIZE描述數(shù)據(jù)的最大長(zhǎng)度;

            write:傳輸數(shù)據(jù)的使能信號(hào);

            socketRequest:寬度為MAXSOURCESOCK-ETS的矢量,用于描述一個(gè)指定的邏輯信道接口正在請(qǐng)求訪問sink的邏輯信道;

            socketReady:寬度為MAXSINKSOCKETS的矢量所包含的一個(gè)流控制信號(hào),用以應(yīng)答source接口的請(qǐng)求信號(hào)。

            source接口模塊如圖2所示。

            2.2 sink接口

            sink接口主要用于從HAL-C基層結(jié)構(gòu)接收數(shù)據(jù)并送給HC。sink接口應(yīng)當(dāng)接收source接口輸出的信號(hào),它應(yīng)當(dāng)接收大小由length信號(hào)確定的數(shù)據(jù)。socketReady表示當(dāng)sink接口從source接口接收數(shù)據(jù)時(shí)的寬度,該寬度為MAXSINKSOCKETS的矢量所包含的一個(gè)流控制信號(hào),是為source端口應(yīng)答的信號(hào)。

            圖3所示為sink接口模塊圖。

            2.3 source和sink的典型應(yīng)用模型

            FPGA是硬件可編程設(shè)備,F(xiàn)PGA的內(nèi)部功能模塊可通過直接線路或總線相互連接。這意味著一個(gè)包含多個(gè)功能模塊的FPGA內(nèi)部體系可以被分解成分散的子模塊,這些子模塊可通過外部連接機(jī)制相互連接。圖4所示是FPGA內(nèi)部使用sink和source的典型模塊圖。



          關(guān)鍵詞: FPGA SCA 硬件 象層設(shè)計(jì)

          評(píng)論


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