irpas技术客

【数字IC/FPGA】仲裁器进阶--Round Robin Arbiter_FPGA硅农_roundrobin仲裁器

irpas 1400

Round Robin Arbiter

固定优先级的缺点是:每个模块的优先级自始至终是固定不变的,这在某种程度上来说是不公平的,Round Robin就是考虑到公平性的一种仲裁算法。其基本思路是,当一个requestor 得到了grant许可之后,它的优先级在接下来的仲裁中就变成了最低,也就是说每个requestor的优先级不是固定的,而是会在最高(获得了grant)之后变为最低,并且根据其他requestor的许可情况进行相应的调整。这样当有多个requestor的时候,grant可以依次给每个requestor,即使之前高优先级的requestor再次有新的request,也会等前面的requestor都grant之后再轮到它。 举个例子:第一次请求信号为1101,则按照优先级(初始时刻,低位最高),grant应该为0001,这次请求之后,最低位的优先级变为最低,整个优先级顺序调整为req[1]>req[2]>req[3]>req[0],因此当下一个请求0101来临时,grant应该为0100,而不是0001,同理,这次请求之后,优先级顺序调整为req[3]>req[0]>req[1]>req[2]。

仲裁器设计 方法一

我们首先定义一个base信号,它是一个onehot的信号,它为1的那一位表示这一位的优先级最高,然后其次是它的高位即左边的位,直到最高位后回到第0位绕回来,优先级依次降低,直到为1那一位右边的这位为最低,举一个例子,当


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #roundrobin仲裁器 #Round #Robin