目录
1.仲裁发送的时刻
在传输过程中多路复用器根据端口的压力值来选择输入端口。如果多个输入输出具有相同的压力水平,并且该水平在具有不同压力水平的其他端口中的等级最高,则使用仲裁算法来现在组中具有最高压力的端口之一。
每种算法都在公平性、逻辑延迟和大小之间进行权衡。仲裁发生在以下周期:
至少有一个输入端口置起了valid信号
多路复用器输出端口置起了ready信号,
以及已经为上一个传输数据包置起了tail。
2.常见的仲裁方式
2.1 Arbitration——Rotate
竞争树用于选择授予哪个仲裁端口,当端口数量是2的幂时,仲裁时公平的,除此之外,一些端口的竞争水平低于其他端口,对树状分支内的端口进行排序,以确保没有哪个端口比其他端口的竞争水平低一个以上。
2.2 Arbitration——Fixed
多路复用器的每个端口都有一个分配的优先级。仲裁时,具有最低端口优先级的端口会被授予权限。这是最不公平的算法,但具有最快的逻辑。
2.3 Arbitration——Round Robin
对于Round Robin来说每个端口的priority都是轮询的,观察下图及priority都是逐渐递增的,会造成周期性的问题。
2.4 Arbitratioin——Fifo
Fifo遵守先进先出的规则即可。examp如下。