新闻中心

EEPW首页>嵌入式系统>设计应用> 基于FPGA的高速串行交换模块实现方法研究

基于FPGA的高速串行交换模块实现方法研究

作者: 时间:2010-06-21 来源:网络 收藏

4 交换模块实现的关键技术

  在此交换模块中,关键技术集中在PCIE的DMA实现上,本节将讨论存储器写模式下的TLP结构以及基于实现的PCIE的DMA写操作核心状态机的设计与实现。

  4.1 TLP结构简介

  PCIE设备之间以数据包形式传送信息,最主要类型的数据包是处理层数据包TLP。其包格式如图5。

基于FPGA的高速串行交换模块实现方法研究

  事务是在PCIE请求者和完成者之间进行的操作,包括存储器事务、IO事务、配置事务和消息事务。本文讨论的DMA读写操作是针对存储器空间的操作,存储器写操作TLP头的格式如图6。

基于FPGA的高速串行交换模块实现方法研究

  4.2 PCIE的DMA写操作的设计与实现

  PCIE的DMA写操作实现的主要方法是将TLP包头中的各个字段正确填充,并将数据按照64 bit或者32 bit并行放在TLP包头后,按照64 bit或者32 bit并行传输给PCIE硬核,由硬核以PCIE协议串行传输给其他设备。PCIE的写操作封装在TX模块的状态机中。在本设计中规定一次DMA写操作分为65 536次包传输,每次包传输的最大载荷为128 B,一次写操作的传输数据为8 MB。其状态机转换模型如图7(CPLD指返回完成包)。

基于FPGA的高速串行交换模块实现方法研究

  实际上在PCIE硬核中实现了8个TLP存储空间,因此当发送模块将8个以上的TLP包传输给硬核后,硬核可能会堵塞,因此发送模块与硬核之间的交互非常必要。



评论


相关推荐

技术专区

关闭