【博文连载】Wishbone总线仲裁器设计

在存在多个主设备的共享总线片上系统中,仲裁器是必不可少的。它决定哪个主设备可以使用总线。所有的主设备通过置高CYC_O信号向仲裁器请求使用总线,仲裁器则根据用户自定义的优先级算法确定哪个主设备可以使用总线。仲裁器的输出信号GNT0~GNTN(或者同时输出更加简洁的GNT()信号作为选择器的输入,如图24中的例子)对应N个不同的主设备。GNT[N-1…0]用于选择器的选择输入端,以选择各主设备和从设备对应的输入信号。需要指出,二输入与门是最简单的选择器,它或者选择一个信号,或者一个信号也不选。

优先级算法最常用的是循环优先级(Round robin)和固定优先级相结合。所谓循环优先级是指各个主设备的优先级安排按照FIFO的方式组织,排到队头的主设备先使用总线,使用完总线后该主设备被插入到FIFO的队尾。

常见的片上系统的主设备包括一个处理器,一个液晶显示屏控制器,若干DMA引擎。一般地,液晶显示屏控制器的优先级固定是最高的,DMA引擎的优先级次之,而处理器的优先级最低。与此同时,处理器是缺省的主设备,也就是说,当没有其他主设备申请使用总线时,总线的使用权归处理器。DMA引擎存在多个,它们之间采用循环优先级,表示它们在系统中具有同等的地位。高优先级的主设备使用一次总线只完成一次单次操作或者块操作,然后释放总线,并试图再次获得总线。这样做的目的是让出总线给其他主设备插入更加重要的操作。一次块操作的子操作次数的典型值为4或者8,只在特殊情况下才使用16或者更大。

因而,图25中的Wishbone共享总线示例中的仲裁器可以设计如下:

//CYC0 is the default master, but it has lower priority.

module arbiter2M2S(

input CLK,input RST, input CYC0,input CYC1,

output reg GNT0,output reg GNT1,output CYC);

always @(posedge CLK or posedge RST)

begin

if(RST)

{GNT0,GNT1}<=2'b10;

if(CYC1 & !CYC0)

{GNT0,GNT1}<=2'b01;

else if(!CYC1)

{GNT0,GNT1}<=2'b10;

end

assign CYC=GNT1?CYC1:CYC0;

endmodule

 

(0)

相关推荐

  • 一文了解I3C 解析(二)

    这一篇主要是延续上一篇的握手流程的后续. I3C Basic V1.0原则: I3C支持多种通信格式,所有这些格式都共享一个两线接口. 同I2C一样, 这两条线命名依然为 :SDA and SCL: ...

  • 一文了解I3C 解析(三)

    前面介绍了I3C的一些常识性介绍, 协议部分内容较多,按照部分内容一点一点解析. 这篇就是I3C设备SDR模式下启示位和停止位. I3C 协议部分: 该部分内容是针对I3C模式下的所有指定通信协议: ...

  • 【博文连载】CMOS摄像头视频图像采集接口设计

    前面我们已经的完成了OV7725的初始化,如果硬件/通信正常的话,OV7725已经按照我们预期进行工作.关于CMOS摄像头视频时序,我们主要关心的主要有以下几个信号: Altera Quartus I ...

  • 【博文连载】ECP5/ECP5-5G SerDes硬件设计注意事项(二)

    ECP5/ECP5-5G SerDes支持100~1300mV可以配置的输出差分摆幅,在特定情况下,更高的输出差分摆幅往往可以提高SerDes信号的抗干扰能力.但是这并不意味着,提高输出差分摆幅一定是 ...

  • 【博文连载】一图读懂SoC设计与计算机网络

    上一篇博客讲了一下SoC设计,感觉没有怎么讲过瘾.这次准备拉开架势,好好讲一下SoC设计,准备把几个核心问题谈清楚. 要想讲清楚SoC,就需要找一个好的"教材"或者叫参考.但是很遗 ...

  • 【博文连载】pcb设计流程与要点

    当从制造商处接收印制板时,应该对所有的板进行检验,PCB板包括批量生产的印制板.应该对样品或首批印制板进行全面检验,面对批量生产的PCB板印制板也应至少进行一项检验.     制造商除了在每个制作过程 ...

  • 【博文连载】超小型CPU设计(Tiny CPU)完成

    承接<超小型CPU设计(Tiny CPU)刍思>,大概一个月前我已经完成TPU设计,并用于实际工程,比我预计的时间要快很多.按套路最终的设计和原版的想法有一般的出入. ---------- ...

  • 【博文连载】超小型CPU设计(Tiny CPU) 刍思

    设计完我自己用的HSL(高级综合语言,其实已经不止用于综合,集成的仿真功能也很强大),另外,我也一直再找另外的灵感点,然后两个月前忽然想设计自己的CPU了.但是现在也只是在开始阶段,写一些东西给大家乐 ...

  • 【博文连载】失控----FPGA去中心化设计 <二>

    接上文,这篇博客非独立文章,可能您需先读上一篇. SOC图     EOC NOC 图对比 资源是有限的,怎样才能做到资源利用率最大化? FPGA里面有个RAM,一般的RAM最大只有两个读取口,但是现 ...

  • ​【博文连载】Wishbone总线介绍

    图29 Wishbone总线结构图 ● 所有应用使用一个总线体系结构: ● 简单.紧凑的体系结构: ● 支持多控制器: ● 64位地址空间: ● 8-64 位数据总线(可扩展): ● 单周期读和写: ...

  • 【博文连载】Wishbone总线地址译码

    很多总线标准中,从设备必须译码所有的地址,这称为全地址译码.比如在PCI总线中,每一个从设备都必须具有32位的地址输入,并对这32位的地址进行译码以确定如何响应主设备的请求. 片上总线规范比如Wish ...