背景:优先级仲裁器的关键缺点是,在非常繁忙的系统中,对于较低优先级的请求在收到授权之前需要等待的时间没有限制。另一方面,循环仲裁器允许每个请求者按顺序进行一轮。维护一个指针寄存器,它指向下一个请求者。如果该请求程序是活动的,它将获得授权。如果没有,下一个活动请求者将获得授权。然后,该指针被移动到下一个请求者。通过这种方式,请求者等待的最大时间量受到请求者数量的限制

Round Robin arbiter(循环优先级仲裁器),使用Round Robin的逻辑实现优先级。RR优先级的含义,包括两个层次:

1)基于次序的优先级 :小号输入口的优先级高于大号输入口;

2)最高优先级是循环的:与严格优先级不同的是,RR逻辑中,最高优先级并不总是0,而是根据上一次选择的输入口而变化的。上一次选择的输入口的下一个输入口具有最高的优先级。

不多说,直接上代码,代码写的比较粗暴,case逻辑可以采用多级else if实现优先级,不用像我一样只是看清转移,多级else if实现优先级如下所示:

注释:

signal为请求信号,[3:0] signal 可以看作注释里的{D,C,B,A};

grant是优先级逻辑的结果,grant [1:0]=2’b00 A获得响应

Testbench 如下:

仿真图如下所示,实现如下跳转:

复位后 A获得响应,输入signal=4’b0001,根据转态转移,仍然是A获得响应;

输入signal=4’b0010,B获得响应;

输入signal=4’b0100,C获得响应;

输入signal=4’b1001,D获得响应;

输入signal=4’b0011, 回到A响应。

【投稿】海思手撕代码之_RR_arbiter相关推荐

  1. 数字IC手撕代码---百题斩

    前言: 本篇导览目录,用来索引笔者写的其他手撕代码文章 本专栏旨在记录高频笔面试手撕代码题,以备数字前端秋招,本专栏所有文章提供原理分析.代码及波形,所有代码均经过本人验证. 目录如下: 1.数字IC ...

  2. 和12岁小同志搞创客开发:手撕代码,做一款遥控灯

    机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html ...

  3. 和12岁小同志搞创客开发:手撕代码,做一款声控灯

    机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html ...

  4. 手撕代码之七大常用排序算法 | 附完整代码

    点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑ 0.导语 本节为手撕代码系列之第一弹,主要来手撕排序算法,主要包括以下几大排序算法: 直接插入排序 冒泡 ...

  5. Interview:算法岗位面试—11.06早上上海某智能驾驶科技公司(创业)笔试+面试之手撕代码、项目考察、比赛考察、图像算法的考察等

    Interview:算法岗位面试-11.06早上上海某智能驾驶科技公司(创业)笔试+面试之手撕代码.项目考察.比赛考察.图像算法的考察等 导读:该公司是在同济某次大型招聘会上投的,当时和HR聊了半个多 ...

  6. 蛇形打印数组(某宝典公司面试手撕代码题)

    背景杂谈 不知道为什么,可能脑袋一下放空了,一不小心就想到了大约2年前,在某个知名的宝典公司面试中,遇到了一道手撕代码题,和多年前的google的那道螺旋遍历数据有异曲同工之妙.现脑洞大开,想写下与大 ...

  7. 前端date format_前端面试-手撕代码篇

    前言 在前端面试有一个非常重要的环节,也是面试者最担心的一个环节.对"手撕代码"的考察需要面试者平时总结和积累(临时抱佛脚是不好使的),在这里笔者就自己如何攻破"手撕代码 ...

  8. 秋招总结:遇到的手撕代码题

    2020年秋招总结:遇到的手撕代码题 跟谁学 一面:求连续子数组的最大和(力扣 53) [思路:力扣系列略,题解区都比我讲得好] 二面:翻转字符串中的每个单词(简单题,比较常见,没去找对应的原题) [ ...

  9. 【数字IC手撕代码】Verilog奇数分频|题目|原理|设计|仿真(三分频,五分频,奇数分频及特殊占空比)

    芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球 四社区联合力荐!近500篇数字IC精品文章收录! [数字IC精品文章收录]学习路线·基础知识·总线·脚本语言·芯片求职· ...

最新文章

  1. youtube匹配channel(频道)
  2. *2-3-7-加入field_automation机制
  3. python装饰器解析_Python 装饰器解析
  4. Redis通讯协议RESP详解
  5. 机器翻译(洛谷-P1540)
  6. 计划的执行与回顾的重要性与必要性
  7. 【转】聊聊HTTPS和SSL/TLS协议
  8. Ubuntu16.04 安装Teamviewer
  9. Hibernate 验证版本不兼容问题
  10. java持久化 seri_Java 的序列化 (Serialization) 教程
  11. 矩阵的矩阵指数函数_精通R编程:使用包,创建对象和基本矩阵函数
  12. 耳机在电脑上测试有声音,但是网页和视频没有声音
  13. linux开机dracut界面_linux开机启动步骤详解
  14. 给入门程序员找培训班的一些建议
  15. 安安猜价格聪明机器人_2021年智慧树APP不动产估价第八单元章节测试答案
  16. 中华英才网爬虫程序(3)-queue和threading模块的结合使用
  17. 如何使用OpenCV测量图像中物体之间的距离
  18. 固定资产月结\年结流程
  19. [黑马IOS自学第十篇]OC语言基础,面向对象概念,类学习
  20. MySQL讲义第 37 讲——LOAD DATA INFILE 命令

热门文章

  1. 在System.Timers.Timer的处理程序中调用MessageBox.Show()弹出的确是非模态的
  2. Stream 校验两个集合元素是否完全一致
  3. 朋友圈点赞,微信发红包,视频的播放,Pc端微信加群,app端微信加群的测试点
  4. 魔王语言(C语言版)
  5. HLOJ 1936 铺满方格
  6. SEO工作思路怎么写,为什么建站前要设计思路?
  7. Halcon例程分析8:投影变换矫正倾斜图像
  8. 解决Sonar File won‘t be refreshed because there were errors during analysis
  9. 亚述尼尼微, 约拿,鲸
  10. ie浏览器调用本地文件无反应_ie浏览器打不开没反应