内容摘要:称为第3代I/O接口技术的PCI Express总线规范的出现,从结构上解决了带宽不足的问题,有着极为广阔的发展前景。基于Verilog HDL硬件描述语言及可综合化设计理念,完成了PCI Express IP核RTL代码的设计。IP核代码使用Verilog HDL语言编写,分模块、分层次地设计了事务层、数据链路层和物理层的逻辑子层,并进行了可综合化设计与代码风格检查。对设计的PCI Express IP核的功能分别从协议层次和应用层次进行了验证。具体实现上,采用Denali公司的PureSuite测试套件对IP核的协议兼容性进行验证,验证范围覆盖了IP核的3个层次以及配置空间,采用QuestaSim仿真工具对IP核的应用层进行验证。仿真结果表明,设计的PCI Express IP核工作正常,性能优良。
关键词:PCI Express协议;IP核;验证;I/O接口
引言
当下,计算机系统使用的主流内部总线技术为PCI总线。随着千兆以太网、RAID阵列等高带宽设备的出现,PCI总线133 MB/s的带宽已明显不能满足应用的需要。根据PCI总线的性能不足及计算机系统的应用需求,第3代I/O总线接口技术PCI Express应运而生。PCI Express是一种应用于各种计算与通信平台的高带宽、点对点串行互联协议,支持虚通道、流量控制机制及热插拨,具有错误处理及错误报告功能,并在软件上与PCI兼容,具有鲜明的技术优势和广阔的应用前景。基于将PCI Express理论优势转化为实际应用优势的考虑,设计了PCI Express IP核,并进行了可综合化设计与代码风格检查,最后对设计的PCI Express IP核分别从协议层次和应用层次进行了较为充分的功能验证。
1 PCI Express协议
较之PCI总线,PCI Express在总线技术与结构上实现了较大飞跃,提供了高速、高性能、点到点、双单工、串行、差分信号链路来互联设备。PCI Express的基本结构包括根复合体(Root Complex)、交换机(Switch)以及端点设备(Endpoint)等,本文设计的PCI Expresb;IP(Intellectual Property)核属于PCI Express端点设备。PCI ExpreSS总线典型拓扑结构如图1所示。
根复合体(RC)为下层I/O设备连接到CPU和主存储器系统提供了路径,一个根复合体可支持一个或多个PCI Express端口;端点设备(EP)是PCI Express事务的请求发起者(Requester)或应答者(Compieter),端点设备又分为传统端点、PCI Express端点和根复合体集成端点;交换机(Switch)是由多个虚拟PCI-to-PCI桥设备组成的,其主要功能是为上游器件和下游器件的通信选择路径。
PCI Express规范规定对于设备的设计采用分层结构,由下向上可分为物理层(PhysICal Layer)、数据链路层(Data Link Layer)和事务层(Transaction Layer),物理层又由逻辑子层和电气子层组成。沿纵向来看,各层又可分为发送和接收2块功能。发送功能块构成了设备的发送部分,处理向外的传输事务;接收功能块构成了设备的接收部分,处理向内的传输事务。典型PCI Express层次结构如图2所示。
作为PCI Express协议的最高层,事务层主要负责以下任务,如:基于流水线的分割事务协议;处理事务包的机制;基于“信用”的流量控制;支持数据完整性。数据链路层位于事务层和物理层之间,为事务层TLP在链路中的传输提供可靠的传输机制。数据链路层完成的主要任务包括传递TLP、错误检测和裁决、初始化和电源管理、产生DLLP。
物理层位于PCI Express协议的最底层,决定了PCI Express总线接口的物理特性,如点对点串行连接、微差分信号驱动、热拨插、可配置带宽等。
2 PCI Express IP核设计
2.1 结构设计
从层次上来讲,PCI Express IP核实现了PCI Express协议定义的所有3个层次:事务、数据链路和物理的逻辑部分。从结构上来讲,PCI Express IP核主要由用户接口模块、发送数据包解析模块、电源管理模块、DLLP仲裁模块、TLP仲裁模块、重传缓冲模块、CRC生成模块、帧信息生成模块、数据链路层数据流仲裁模块、LTSSM状态机模块、SKP发生模块、LTSSM用有序集发生模块、物理层数据流仲裁模块、通道分配模块、通道合并模块、乱序模块、解乱序模块、PIPE接口模块、接收数据包解析模块和接收缓冲模块组成。本文重点介绍用户接口模块和发送数据包解析模块。
用户接口模块是用户逻辑与PCI Express IP核进行数据交互的桥梁,该模块分为发送接口和接收接口2部分。一方面,用户逻辑按照规定的时序通过该模块把欲发送的数据发送到PCI Express链路;另一方面,PCI Express IP核接收来自PCI Express链路上的数据,处理后通过该模块发送给用户逻辑。
发送数据包解析模块的主要任务之一负责解析TLP包,并提供给TLP仲裁模块进行传输。
发送数据包解析模块的第2个功能为实现流控机制。流控机制是PCI Express中最基本的机制之一,流控机制虽然是对本地缓存的一种有效保护,但对TLP的收发性能有很大的影响。流量的初始化和更新均使用DLLP来完成;初始化使用FC Initl和FC Init2DLLP来完成;更新使用FC Updata DLLP来完成。
本文关键字:暂无联系方式接口电路,单元电路 - 接口电路