多队列FIFO——支持网络QoS的重要芯片
了避免这种情况,都要配置好PAF偏移值,在看到PAFn~拉低有效后,停止写入操作。图5给出不间断写操作时序图。
图5
2.3 读操作
与写操作类似的读操作也存在相对读队列地址的延后效应,即在新队列地址锁定后的第三个读时钟周期,读总线上呈现的数据转变为新子队列内的数据。所以若能够提前三个周期锁定新队列,则可以做到100%读总线利用率。
当选定队列状态为空时,读端口上呈现全高电平。配置好PAE偏移值后,通过查看PAEn~便可以得知队列的空或非空状态,并提前做好读或切换新队列的动作。图6给出不间断读操作时序图。
图6
3 多队列FIFO的应用
多队列FIFO可满足设备实现服务质量、信息包优先级和多数据流汇集/分开的要求。例如,根据信息包客户定制优先次序,进入系统的数据可被分配到多个队列之一,每个队列都代表不同的服务等级。处理器根据一定的运算法则首先处理优先级高的信息包,以确保整个网络的服务水平。笔者就使用了多队列FIFO在骨干路由器交换网络中实现了多优先级调度,具体例子如图7所示。
划分服务等级通常依据分组的类型,对延迟敏感型分组给予高优先级。区别于传统的先到先服务(FCFS),有区分的服务可以提供一定的网络服务质量,图8是一个具体的例子。如果不应用多队列FIFO,势必要使用SRAM模拟多队列,不得不增加许多复杂的控制逻辑,消耗处理器的资源;或者是采用多个独立的存储器件对不同类型分组进行排队,既增加了实际制板(PCB)的难度,而且可扩展性差。
另外,在不断电连续运行的情况下,FPGA可控制在不同时段改变多队列FIFO配置,以适应不同的应用需要。比如,要适配不同类型数据,暂存时可将其串行配置成相应多个子队列;而只做同一类型数据缓有时可以将其配置成单队列使用。故多队列FIFO应用灵活性高,前景好。
- 用FPGA芯片实现高速异步FIFO的一种方法(04-28)
- FIFO芯片和单片机实现的图像采集系统(04-10)
- 基于FPGA软硬件设计大容量数据采集系统(02-07)
- 高密度可编程FIFO存储器在视频图像中的应用(07-08)
- FPGA可测性设计的“大数据”原理(06-28)
- FIFO 同步、异步以及Verilog代码实现(02-11)