【仲裁器】轮询仲裁round-robin,rr

  • 起因:在多主单从的设计中,当多个源端同时发起传输请求时,需要仲裁器根据优先级来判断响应哪一个源端。
  • 轮询仲裁:各个源端优先级相同,当其同时发起请求时,依次进行响应。

电路图

在这里插入图片描述

代码

module rr_arb(input  clk,input  rst_n,input  req1,input  req2,input  req3,input  req4,input  busy,output reg [3:0] nx_arb_gnt
);
localparam  S1=4'b0001,S2=4'b0010,S3=4'b0100,S4=4'b1000;
reg [3:0] cur_arb_gnt_r;
wire [3:0] cur_arb_gnt;
always @(posedge clk or negedge rst_n) beginif (~rst_n) begincur_arb_gnt_r <= S1; // S1endelse if (~busy) begincur_arb_gnt_r <= nx_arb_gnt;end
end
assign cur_arb_gnt = cur_arb_gnt_r;
always @(*) beginif (~busy) begincase(cur_arb_gnt)    //循环仲裁S1:begin case(1'b1)req2:nx_arb_gnt = S2;req3:nx_arb_gnt = S3;req4:nx_arb_gnt  = S4;req1:nx_arb_gnt = S1;default:nx_arb_gnt = S1;endcaseendS2:begin case(1'b1)req3:nx_arb_gnt = S3;req4:nx_arb_gnt = S4;req1:nx_arb_gnt = S1;req2:nx_arb_gnt = S2;default:nx_arb_gnt = S2;endcaseendS3:begin case(1'b1)req4:nx_arb_gnt = S4;req1:nx_arb_gnt = S1;req2:nx_arb_gnt = S2;req3:nx_arb_gnt = S3;default:nx_arb_gnt = S3;endcaseendS4:begincase(1'b1)req1:nx_arb_gnt = S1;req2:nx_arb_gnt = S2;req3:nx_arb_gnt = S3;req4:nx_arb_gnt = S4;default:nx_arb_gnt   = S4;endcaseenddefault: nx_arb_gnt = S1;endcaseendelse beginnx_arb_gnt = cur_arb_gnt;end
end
endmodule

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/21638.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端:运用html+css+js模仿京东上商品图片区域放大特效

前端:运用htmlcssjs模仿京东上商品图片区域放大特效 1. 前言2. 前端界面3. js实现鼠标移入效果4. 实现代码 1. 前言 最近在网页端浏览京东上的商品时&#xff0c;觉得上面的那张gif图片上实现的特效不错&#xff0c;于是自己打算使用htmlcssjs技术来实现一下上述特效效果&#…

【GitOps系列】K8s极简实战

文章目录 示例应用介绍部署应用到k8s 如何使用命名空间隔离团队及应用环境&#xff1f;如何为业务选择最适合的工作负载类型&#xff1f;如何解决服务发现问题&#xff1f;如何迁移应用配置&#xff1f;如何将集群的业务服务暴露外网访问&#xff1f;如何保障业务资源需求和自动…

ME GO小车

ME GO小车 ⚫ 体积小巧 ⚫ 集成多种传感器和执行器 ⚫ Mixly图形化编程 避障检测、自动巡线、灯光显示、 声音报警、自动测距、物联遥控等 ME GO小车——俯视图 ME GO小车——车底 ME GO CE 以上选自芯”向未来 元控智联挑战赛&#xff08;小学组&#xff09;赛事介绍资料二…

easy rule 学习记录

总体&#xff1a; 使用方面除了官网的wiki外&#xff0c;推荐阅读 作者&#xff1a;夜尽天明_ 链接&#xff1a;https://juejin.cn/post/7048917724126248967 来源&#xff1a;稀土掘金 非annotation 方式&#xff0c;执行不是jdk proxy模式annotation 方式&#xff0c;和ru…

家政小程序开发-H5+小程序

移动互联网的发展&#xff0c;微信小程序逐渐成为商家拓展线上业务的重要手段。家政服务作为日常生活中不可或缺的一部分&#xff0c;也开始尝试通过小程序来提高服务质量和效率。 下面是一篇关于家政小程序开发的H5小程序的文章&#xff0c;希望对您有所帮助。 家政服…

java并发编程 10:AQS

目录 什么是AQS原理 什么是AQS juc包的结构如下图&#xff1a; AQS就是AbstractQueuedSynchronizer&#xff0c;是个抽象类&#xff0c;实现了自己的一些方法。它是阻塞式锁和相关的同步器工具的框架。很多并发类都是基于它实现的&#xff0c;如&#xff1a;ReentrantLock、Co…

【计算机视觉】简述对EQ-Net的理解

最近又看了一些点云分割的文章&#xff0c;近两年点云分割的文章是真的少&#xff0c;不知道是不是点云分割算法接近了末端。这篇文章主要提出了一个基于查询方法的统一范式&#xff0c;它解决了一些不仅仅是点云分割的问题&#xff0c;还解决了三维点云分类和三维目标检测的问…

牧云·云原生安全平台v2.0.0正式上线,云上想不安全都难!

**前言&#xff1a;**牧云云原生安全平台是长亭牧云团队以开源社区为生态载体技术积累为驱动所打造的云原生安全平台。首创双模探针架构&#xff0c;可选用 Agentless/Agent 多种方案进行部署&#xff0c;覆盖制品、运行时、集群全流程安全&#xff0c;开箱即用、快速实施、成本…

设计模式——观察者模式

观察者模式&#xff08;世界线的观测者&#xff09; 定义 观察者模式&#xff08;Observer Partern&#xff09;也叫做发布/订阅模式&#xff08;Publish/Subscribe&#xff09;&#xff0c;一种以监听为核心的设计模式。 定义对象间一种一对多的依赖关系&#xff0c;使得每…

UG\NX二次开发 获取对象的边界包容盒 UF_MODL_ask_bounding_box

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: 获取对象的边界包容盒 UF_MODL_ask_bounding_box,只能得到绝对坐标系下的边界包容盒,速度快,结果不精确。 效果: 代码: //UF_MODL_ask_bounding_box #include "me.hpp" #include &…

vscode 端口转发实现端口映射,实现端口自由

用vscode连接server进行开发&#xff0c; 是非常方便的&#xff0c;但很多时候&#xff0c;server的端口开放的很有限&#xff0c;那么就可以利用vscode进行端口映射 举一个应用场景&#xff1a; 先通过A利用vscode 连接B&#xff0c;然后再vscode 的port窗口进行端口转发&…

美工面试题目(合集)

美工面试题目篇1 1、目前常用的WEB标准静态页面语言是。(4分) 2、改变元素的外边距用&#xff0c;改变元素的内填充用。(6分) 3、在Table中&#xff0c;TR是&#xff0c;TD是。(6分) 4、如果给一行两列的表格(table)定义高度样式&#xff0c;在标签中定义最合理&#xff0c…