ARM技术论坛
直播中

安德森大

8年用户 1296经验值
擅长:接口/总线/驱动
私信 关注
[资料]

求一种基于SpinalHDL多端口仲裁的设计方案

1、基于SpinalHDL的多端口仲裁的设计
》最低优先级调度
    SpinalHDL中关于roundRobin的实现背后原理其实一开始困惑挺久,后来方慢慢理解。在讲解roundRobin之前,先来看看lowerFirst讲起。
 假定N个端口,编号为0~N-1。在采用最低优先级调度时,当有任务到来时,优先取最低端口的任务调度。
 如果将每个端口是否有任务用一个bit表示,那么最低优先级调度其实也就是寻求这个N bit数据的为1的最低bit位。而在之前的文章里,如何寻找一个二进制数据中为1的最低bit位的方式已经说明,这里不再阐述:
oneHotCode=symbol& ~(symbol-1)
》roundRobin
    在对最低优先级调度有了一定的了解后,再来考虑roundRobin。对于roundRobin调度的目的。其无非是每个端口均能够“雨露均沾”的获取端口访问。在SpinalHDL中,该部分的核心代码为:


你知道如何做多端口仲裁么.pdf (264.84 KB)
(下载次数: 0, 2022-6-10 17:08 上传)



原作者:玉骐 Spinal FPGA

更多回帖

发帖
×
20
完善资料,
赚取积分