当前位置:首页 > EDA > 电子设计自动化
[导读]在FPGA和IC设计领域,经常会面临一个挑战:多个端口同时竞争一个端口的数据。在这种情况下,采用RR调度策略可能是一种解决方案。

1简介

FPGAIC设计领域,经常会面临一个挑战:多个端口同时竞争一个端口的数据。在这种情况下,采用RR调度策略可能是一种解决方案。

FPGA基础:RR仲裁调度算法

RR(Round Robin)仲裁调度是一种常用的调度算法,广泛应用于操作系统和计算机网络中。该算法的设计初衷是为了公平地分配资源和服务各个任务,确保每个任务都能够获得一定的执行时间,从而提高系统的响应速度和资源利用率。

这种轮流调度的方式确保了每个任务都能够获得公平的执行机会,而且对于响应时间敏感的任务也能够及时得到处理。RR仲裁调度算法的简单性和公平性使其成为了许多操作系统和网络系统中默认的调度策略之一。

2RR调度原理

在RR仲裁调度算法中,任务被分配一个固定的时间片(time slice),当任务开始执行时,它会被允许运行一个时间片的时间,然后被暂停,等待下一个调度周期。如果任务在一个时间片内没有完成,它将被放回就绪队列的末尾,等待下一次调度。

FPGA基础:RR仲裁调度算法

举例说明一下:以下图展示的是一个4端口仲裁的RR调度。在第0周期,优先级为0的端口0被选中,其优先级顺序为0、1、2、3,对应输入信号为4'b1101,输出信号为4'b0001。在第1周期,优先级为1的端口1被选中,其优先级顺序为1、2、3、0,输入信号为4'b1101,输出信号为4'b0100。在第2周期,优先级为2的端口2被选中,其优先级顺序为2、3、0、1,输入信号为4'b1001,输出信号为4'b1000。在第3周期,优先级为3的端口3被选中,其优先级顺序为3、0、1、2,输入信号为4'b1001,输出信号为4'b1000。随后依此循环。

FPGA基础:RR仲裁调度算法

3RR调度核心部分实现

wire [WD - 1:0] mask = {req[WD - 2:0] | mask[WD - 2:0], 1'b0};wire [WD - 1:0] grant = ~mask & req;

这个是实现RR调度的最基本结构,req 是输入的请求信号,mask 是一个掩码,用于标记哪些端口在当前时刻已经被选择了,grant 是输出的授权信号,表示当前时刻被选中的端口。

产生mask代码本质上如下(以WD = 4为例):

mask[0] = 0mask[1] = mask[0] | req[0]mask[2] = mask[1] | req[1]mask[3] = mask[2] | req[2]

mask 的计算逻辑是将之前的掩码向左移动一位,并将最低位设置为0。这样做的目的是为了模拟一个循环移位寄存器,在每个周期内,该掩码会循环地向左移动,表示当前周期内已经被选中的端口。req[WD - 2:0] 表示将 req 向右偏移一个位置,以便与 mask 进行按位或运算。mask的作用是锁定已经被选中的端口,同时区分高低优先级。mask中为1的位置表示高优先级要去调度的区域,而为0的位置表示低优先级要去调度的区域,因为这些位置已经被调度过了。

grant 的计算逻辑是取反操作符 ~ 对 mask 进行求反,然后与 req 进行按位与运算。这样做的目的是找到当前周期内请求信号 req 中尚未被选中的端口,这些端口将被授予访问权限。

3总结

本章主要探讨了RR调度的原理、用途以及其核心的实现方法。读者可以自行考虑基于核心代码的RR实现方法。后续将会进一步更新RR调度的具体实现方法。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭