利用串行RapidIO实现FPGA协处理
来源:电子工程世界 作者:—— 时间:2010-03-26 07:00
平台中的运算资源
有了可配置的处理资源,开发人员就可以用硬件实现他们的应用,例如数据压缩和加密算法甚至过去只在软件中实现的整套防火墙和保密应用,如今都可以在硬件上实现但这样做需要具备共享带宽和强大处理能力的大型并行生态系统,也就是说,要求利用CPU、NPU、FPGA和/或ASIC进行共享式或分布式处理构建此类系统时,对运算资源的一些要求包括:
1. 支持复杂拓扑的分布式处理能力;
2. 高度可靠的直接对等通信能力;
3. 多个异构操作系统;
4. 通过多个异构操作系统支持通信数据层;
5. 具有广泛生态系统支持的模块化和可扩展平台
SRIO协议规范和架构支持嵌入式和无线基础设施领域中运算设备的不同要求有了SRIO,就可以实现系统结构的独立性,部署达到运营商级可靠度、具备高级流量管理功能,并具有高性能和高吞吐量的可扩展系统此外,广泛的供应商生态系统也更方便设计师采用现货元件构造SRIO系统SRIO是一种基于分组的协议,它支持:
1. 采用分组操作(包括读、写和消息传递)实现数据搬移;
2. I/O非一致性功能和缓存一致性功能;
3. 通过支持数据流传送和SAR功能实现高效的互通和协议封装;
4. 通过支持数百万条数据流、256种流量类别和有损操作实现一种流量管理架构;
5. 支持多事务请求流(包括配置QoS)的流量控制;
6. 为减少带宽分配、事务预定和死锁避免等问题而支持优先级划分;
7. 通过系统发现、配置和学习实现对标准拓扑(树型和网格型)和任意拓扑(菊链)等多种硬件拓扑方式的支持,包括支持多个主机;
8. 错误管理和分类(可恢复、通知和严重)
串行RapidIO的IP方案
为了在通过逻辑(I/O)和传输层IP上的目标接口和源接口收发用户数据时支持完全兼容的最大载荷操作,Xilinx等厂商根据最新的RapidIO v1.3规范设计了其端点IP解决方案。
图5所示是Xilinx的一套完整的SRIO端点IP方案,它包含以下组成部分:
1. LogiCORE RapidIO 逻辑 (I/O)和传输层IP;
2. 缓冲层参考设计;
3. LogiCORE串行RapidIO物理层IP;
4. 寄存器管理器参考设计
图5:Xilinx的 SRIO端点IP架构