仅对英特尔可见 — GUID: lbl1416504940175
Ixiasoft
仅对英特尔可见 — GUID: lbl1416504940175
Ixiasoft
10.2. Endpoint设计实例
本设计实例由本地Endpoint,DMA应用程序和Root Port BFM组成。写DMA模块实现Endpoint存储器到Root Complex (RC)存储器的写操作。读DMA实现RC存储器到Endpoint存储器的读操作。
在硬件平台上运行时,通常由运行于Root Complex处理器上的软件应用程序控制DMA。仿真中,随本设计实例而生成的测试平台会提供一个Verilog HDL的BFM驱动器模块以控制DMA操作。因为本实例不依赖PCI Express链路以外的其他硬件接口,因此可使用本设计实例对系统进行硬件验证。
系统生成以Verilog HDL创建Endpoint系列。当前发布中仅有Verilog HDL测试文件可用。
要使用MSI运行DMA测试,必须将PCI Express/PCI Capabilities页面下的Number of MSI messages requested参数设置成不小于2的值。
DMA设计实例使用能够传送大量零碎内存的体系结构,则无需访问每个存储器块的DMA寄存器。对于每个存储器块,DMA设计实例使用的描述符列表包含信息如下:
- 传送大小
- 源地址
- 目的地址
- 控制位,以设置软件应用程序或BFM驱动器与DMA模块间的握手行为(handshaking behavior)。
BFM驱动器将描述符列表写入BFM共享存储器,由此DMA设计实例引擎持续收集DMA读,DMA写或两者的描述符列表。传送之初,BFM编程Endpoint DMA控制寄存器。DMA控制寄存器显示描述符列表总数和首个描述符列表的BFM共享存储器地址。编程DMA控制寄存器后,DMA引擎不断从BFM共享存储器取回用于DMA读和DMA写的描述符,并执行每个描述符的数据传送。
下图显示为与外部RC CPC相连的设计实例的结构图。
该结构图包括以下单元:
- DMA应用程序连接到Intel L-/H-Tile Avalon-MM for PCI Express IP核的 Avalon® -MM接口。该连接中包含以下接口:
- Avalon® -MM RX主接口接收来自Hard IP块的TLP头和数据信息。
- Avalon® -MM TX 从接口将TLP头和数据信息发送到Hard IP块。
- Avalon® -MM控制寄存器访问(CRA)IRQ端口向Hard IP块请求MSI中断。
- 边带信号总线承载如配置信息等静态信息。
- BFM共享存储器储存DMA读和DMA写操作的描述符列表。
- Root Complex CPU和相关联 PCI Express* PHY通过Root Port连接Endpoint设计实例。
实例Endpoint设计和应用程序实现如下目标:
- 展示如何对接使用Avalon-MM协议的Intel L-/H-Tile Avalon-MM for PCI Express。
- 提供DMA通道,初始化 PCI Express* 链路上的存储器读和写事务。
DMA设计实例层次包含以下组件:
- DMA读和DMA写模块
- 片上Endpoint存储器(Avalon-MM slave)对每个引擎使用两个Avalon-MM接口。
RC从模块通常驱动以Endpoint片上缓冲存储器为目标的下游事务。这些目标存储器事务旁路DMA引擎。此外,RC从模块监视性能和并确认传入的消息TLP。