久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 基于SCA規范下FPGA的硬件抽象層設計

基于SCA規范下FPGA的硬件抽象層設計

作者: 時間:2010-04-13 來源:網絡 收藏

  如圖1所示,組件一般用于實現應用功能。這類組件由波形開發者依據HAL-C應用接口進行設計,而在平臺上則依據PE的具體環境實現這些HAL-C應用接口。由平臺提供的HAL-C應用接口可給HC提供一個底層的通信接口,這些底層API的主要目的是讓同一或者不同PE上的HC能夠通信。HC1、HC2之間的通信并不是直接進行的,而是通過HAL-C提供的通信機制來實現。HC1、HC2的開發者只需要把數據發送給HAL就可以了。具體數據如何從HC1傳輸到HC2,則是抽象層要完成的工作。

本文引用地址:http://cqxgywz.com/article/191737.htm

  通常可用一個貯存在HAL-C基層結構的簡單傳輸模塊Tx來描述數據的傳輸。有兩種類型的傳輸需要描述,一種是貯存在不同PE上的HC之間通過物理信道進行數據和控制信號的傳輸,如圖1中HC2到HC3的數據傳輸。它可以通過不同的物理信道實現(如PCI,RapidIO等),物理信道可以看作是傳輸在硬件平臺上的映射;另一種傳輸是在硬件內部進行的傳輸,雖然組件自己可以實現數據的傳輸,但是若使用硬件抽象層連接來約束這種傳輸,則能提高組件的通用性。

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

  2 硬件抽象層連接接口

  規范中使用了兩種類型的接口:“provides”和“uses”。其中“provides”接口用來提供服務,“uses”接口用來使用這種服務。這種思想可被擴展應用到的組件級。也就是把一個由HAL-C基層結構向組件提供數據的接口定義為HAL-C基層結構的“provides”端口,然后由組件利用HAL-C基層結構的“uses”端口給其它組件提供數據。HAL-C API希望HC通過通用接口來發送和接收數據。在上,可使用source和sink來定義中的這兩種端口。這些接口通常以線路和信號的形式存在。

  2.1 source接口

  source接口用于從HC向HAL-C基層結構傳遞數據,它可根據硬件平臺的實現來確定信息被發送到指定的HC中。source接口應當實現的信號如下:

  clock:接口的同步時鐘,所有信號均應與該時鐘同步;

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

  channel:與數據傳輸相關的邏輯通道號;

  length:定義數據緩沖區中要傳輸的字節數,可用MAXBUFFERSIZE描述數據的最大長度;

  write:傳輸數據的使能信號;

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

  socketReady:寬度為MAXSINKSOCKETS的矢量所包含的一個流控制信號,用以應答source接口的請求信號。

  source接口模塊如圖2所示。

  2.2 sink接口

  sink接口主要用于從HAL-C基層結構接收數據并送給HC。sink接口應當接收source接口輸出的信號,它應當接收大小由length信號確定的數據。socketReady表示當sink接口從source接口接收數據時的寬度,該寬度為MAXSINKSOCKETS的矢量所包含的一個流控制信號,是為source端口應答的信號。

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

  2.3 source和sink的典型應用模型

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



關鍵詞: FPGA SCA 硬件 象層設計

評論


相關推薦

技術專區

關閉