首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于SCA规范下FPGA的硬件抽象层设计
来源:本站整理  作者:佚名  2010-04-16 09:50:27



  如图1所示,组件一般用于实现应用功能。这类组件由波形开发者依据HAL-C应用接口进行设计,而在硬件平台上则依据PE的具体环境实现这些HAL-C应用接口。由硬件平台提供的HAL-C应用接口可给HC提供一个底层的通信接口,这些底层API的主要目的是让同一或者不同PE上的HC能够通信。HC1、HC2之间的通信并不是直接进行的,而是通过HAL-C提供的通信机制来实现。HC1、HC2的开发者只需要把数据发送给HAL就可以了。具体数据如何从HC1传输到HC2,则是硬件抽象层要完成的工作。

  通常可用一个贮存在HAL-C基层结构的简单传输模块Tx来描述数据的传输。有两种类型的传输需要描述,一种是贮存在不同PE上的HC之间通过物理信道进行数据和控制信号的传输,如图1中HC2到HC3的数据传输。它可以通过不同的物理信道实现(如PCI,RapidIO等),物理信道可以看作是传输在硬件平台上的映射;另一种传输是在硬件内部进行的传输,虽然组件自己可以实现数据的传输,但是若使用硬件抽象层连接来约束这种传输,则能提高组件的通用性。

  为了简化上面的连接模型,这里引入了end-point的概念。即一条从HC出发,通过传输模块的路径被指定为一条逻辑通道。HC可使用HAL-C应用接口来访问endpoint,以发送和接收数据。HAL-C基层结构负责把数据通过逻辑信道移动到指定的endpoint,这就可以把以前HC开发者应该做的工作转移到硬件抽象层中来实现,从而使波形开发与硬件相关资源相分离。

  2 FPGA硬件抽象层连接接口

  SCA规范中使用了两种类型的接口:“provides”和“uses”。其中“provides”接口用来提供服务,“uses”接口用来使用这种服务。这种思想可被扩展应用到FPGA的组件级。也就是把一个由HAL-C基层结构向组件提供数据的接口定义为HAL-C基层结构的“provides”端口,然后由组件利用HAL-C基层结构的“uses”端口给其它组件提供数据。HAL-C API希望HC通过通用接口来发送和接收数据。在FPGA上,可使用source和sink来定义SCA中的这两种端口。这些接口通常以线路和信号的形式存在。

  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的典型模块图。

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:74,500.00000 毫秒