仲裁轮询
文章平均质量分 81
仲裁轮询的数字设计
日晨难再
杂学旁收
展开
-
数字IC前端学习笔记:仲裁轮询(四)
带权重的轮询(Weighted Round Robin, WRR)方案与常规的轮询方案类似,所不同的是不同的用户得到许可的机会存在差异,也就是说,不同的用户权重不同,权重高的用户得到许可的机会更多。当一个用户获得许可后,定时器开始计时,直到计满,此时如果被授权的用户没有完成操作,仲裁器停止对当前用户的许可并根据优先级轮询下一个用户。2、在所有存在许可机会的用户之间进行公平轮询,一个循环周期内,不同用户得到的总许可机会由预置的权重值决定。1、一个用户可以连续地获取许可,获得许可的次数由预置的权重值决定。原创 2023-06-25 15:54:15 · 1446 阅读 · 6 评论 -
数字IC前端学习笔记:仲裁轮询(一)
当多个源或用户需要共享同一资源时,需要某种仲裁形式,使得所有用户基于一定的规则或算法得到获取或访问共享资源的机会。例如,共享总线上,可以连接多个总线用户。另一个例子是交换机中的端口仲裁,当多个入口希望通过某一个出口输出数据时,需要使用一定的端口仲裁机制来选择某一时刻允许哪一个入口发送数据。最简单的仲裁方案是公平轮询(round-robin)方案,此时,仲裁器公平的对待所有用户的请求,不同用户具有均等的机会。原创 2023-06-12 16:20:27 · 1457 阅读 · 3 评论 -
数字IC前端学习笔记:仲裁轮询(二)
此外还有一种机制,每个用户获得授权后,可以占用资源的时间片长度是受约束的,每个用户可以占用资源的时间不能超过规定的长度。如果一个用户在所分配的时间结束之前完成了操作,仲裁器将轮询后续的用户。一开始,选择用户的顺序可以是任意的,但在一个轮询周期内,所有发出请求的用户都有公平得到授权的机会。仲裁器每次仲裁时,依次查看每个用户的请求信号是否有效,如果一个用户的请求无效,那么将按序查看下一个用户。仲裁器会记住上一次被授权的用户,当该用户的操作完成后,仲裁器会按序轮询其他用户是否有请求。下图为公平轮询的波形图。原创 2023-06-18 14:08:44 · 918 阅读 · 4 评论 -
数字IC前端学习笔记:仲裁轮询(三)
在前面公平轮询仲裁器的Verilog RTL代码中,每个用户有三个信号:request(请求)、grant(授权)、end_access(结束访问)。在总线使用时,我们能观察到总线上存在不能进行数据传输的死周期。当传输的数据包较长或每个突发较长时,其对传输效率影响不大。然而,当数据包很短时,死周期会影响到总线的使用效率。如下图所示为没有间隔的公平轮询仲裁波形。下面给出了一些方法,用于减少甚至消除死周期。没有死周期的公平轮询代码及仿真结果如下。原创 2023-06-22 16:31:38 · 1354 阅读 · 9 评论 -
数字IC前端学习笔记:仲裁轮询(五)
上一部分中我们对仲裁的第一种方法的第一种许可方式进行了Verilog设计,接下来将使用Verilog对第一种方法的第二种许可方式进行设计,即当所有用户发出请求时,授权序列为。以上内容来源于《Verilog高级数字系统设计技术和实例分析》以下是代码及仿真结果。原创 2023-06-26 17:01:02 · 497 阅读 · 1 评论 -
数字IC前端学习笔记:仲裁轮询(六)
在一些应用中,用户被分成两组:快组和慢组。如下图所示,快组内的用户具有相同的优先级,内部采用公平轮询方式。类似地,慢组内的用户也具有相同优先级,慢组内部也采用公平轮询方式。但快组慢组之间是嵌套的关系,即整个慢组被当做是快组的一个用户。例如,快组有两个用户(A,B),慢组也有两个用户(C,D)。两组轮询的代码及仿真结果如下。原创 2023-06-27 16:43:44 · 502 阅读 · 5 评论