电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

PCI总线仲裁器设计

PCI总线仲裁器设计_第1页
1/13
PCI总线仲裁器设计_第2页
2/13
PCI总线仲裁器设计_第3页
3/13
PCI 总线仲裁器设计 一﹑PCI 总线仲裁机制 PCI 的仲裁是基于设备访问,而不是基于时间分配的。在任一时刻,总线上的一个主设备要想获得对总线的控制权,就必须发出它的请求信号(PCIreqN),假如此刻该设备有权控制总线,总线仲裁器就使该设备的总线占用允许信号(PCIgntN)有效,进而获得总线的使用权。当有多个主设备同时发出总线控制请求时,就必须由仲裁器根据一定的算法判定,当前应该由哪个主设备获得控制权。 二、仲裁算法 常用的仲裁算法有:公平算法、循环算法等。 本仲裁器设计采纳的是循环算法,设备的优先级预先设定。目前的设计实现对四个 PCI 设备请求的仲裁,各设备优先级由高到低安排为:设备 0>设备 1>设备 2>设备 3。 系统启动伊始,没有设备使用 PCI 总线,也没有设备请求使用 PCI 总线,仲裁器总是设定设备 0 拥有总线控制权,即将总线停靠于设备 0。此时设备 0 的 PCIgntN 是有效的。而在此之后,仲裁器总是指定 PCI 总线的最后一个使用者为总线的停靠设备。 当有一个或多个设备提出拥有总线使用权的请求时,仲裁器将根据事先安排的设备优先级顺序逐一查询。对于只有一个设备请求的情况,该设备的请求将会马上得到响应;假如多个设备同时发出请求时,仲裁器裁定首先响应优先等级高的设备的请求,当此设备完成数据传输交出总线使用权后,再由优先等级低的设备使用总线。示意框图见图 2。 假如一个设备已获得总线使用权并且正在进行地址、数据传输时,比它优先级别高的设备也发出了占用请求,仲裁器将会撤销优先级别低的设备的总线占用信号,并把总线使用权交给优先级别高的设备,同时还要确保在任一时刻不会出现多个设备同时占用总线的情况。具体见仿真分析。 三、编程设计与实现 本设计使用 AHDL 语言,在 MaxplusII10.0 上编译通过,并进行了仿真。 1.仲裁器信号定义 SUBDESIGNPCI_arb (--输入 PCIclk:INPUT--PCI 时钟 Arbiter_rstN:INPUT--复位信号 PCIreqN[3..0]:INPUT--总线占用请求信号 frameN:INPUT--数据交易的启动或开始,主设备发出 irdyN:INPUT--交易数据准备好,主设备发出 --输出 PCIgntN[3..0]:OUTPUT--总线占用允许信号 ) frameN 和 irdyN 决定了总线的状态,只要两个信号中的一个有效,就表明总线上有数据通过,总线处于忙状态;当两个信号都无效时,则总线处于空闲状态。 2.仲裁器状态机定义 parb_sm:MACHINE OFBITS(PARB2,PARB1,PARB0) WIT...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

PCI总线仲裁器设计

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部