基于FAST的TSN交换(4)基于FPGA的TSN网络CQF实现
CQF是目前TSN标准定义的可实现确定性交换延时的转发模型,其交换流程可以方便的映射到FAST平台的FPGA流水线上。FAST流水线的用户定义输出(UDO)模块可实现用户定义的分组输出控制,支持TSN CQF转发模型的UDO称为CQF-UDO。
本文介绍的CQF-UDO模块主要用于CQF功能的验证。面向具体应用的CQF实现需要对输出队列数目,输出缓冲区大小等参数进行优化。
一、CQF-UDO实现结构
在FAST架构下,除了流分类,单流流量监测和基于PTP协议的全网时间同步功能由FAST基本流水线和扩展的PTP-UDA模块实现外,基于CQF的流量整型功能由CQF-UDO模块实现。基于FAST定义的标准UDO接口信号和数据交换时序,CQF-UDO可方便地与FAST基本流水线对接。
(1)模块组成
FPGA实现的CQF-UDO模块的结构如下图所示。其中Cin和Cout接口为模块的访问控制接口,软件可通过该接口对模块内部的寄存器、计数器和控制表格进行访问。模块通过PKT接口接收和发送分组,Sync_time信号用于从PTP-UDA模块接收全网同步时钟,对时间门控逻辑进行控制。
为简化设计,CQF-UDO维护4个队列,其中最高优先级的Q7和Q6以乒乓队列的形式保存时间敏感分组,Q4保存带宽预约流的分组,Q0保存Besteffort分组。当需要对时间敏感分组划分不同优先级时,则需要不同的乒乓队列保存不同优先级的时间敏感分组。