基于epld的pci总线仲裁器的设计与实现

基于epld的pci总线仲裁器的设计与实现

ID:10988853

大小:55.50 KB

页数:5页

时间:2018-07-09

基于epld的pci总线仲裁器的设计与实现_第1页
基于epld的pci总线仲裁器的设计与实现_第2页
基于epld的pci总线仲裁器的设计与实现_第3页
基于epld的pci总线仲裁器的设计与实现_第4页
基于epld的pci总线仲裁器的设计与实现_第5页
资源描述:

《基于epld的pci总线仲裁器的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于EPLD的PCI总线仲裁器的设计与实现

2、第1摘要:以自行研制开发的PCI高速总线背板为背景,系统地论述了PCI总线的仲裁机制、总线的缺省占用、仲裁信号协定及优先级仲裁算法,给出了采用EPLD实现仲裁器功能的编程设计。  随着VLSI/ULSI技术的发展,可编程逻辑器件EPLD/FPGA越来越受到人们的青睐,由于它具有集成度高、速度快、开发周期短、费用低、用户可定义功能及可重复编程和擦写等许多优点,其应用领域不断扩大。这些器件的灵活性和通用性使得它们已成为研制和开发复杂数字系统的理想选择。  在PCI总线技术规范的基础上,采用EPLD实现了高速PCI总线背板中多主控设备的总线仲裁。  

3、500)this.style.ouseg(this)">1PCI总线的仲裁机制  PCI总线仲裁是基于访问而不是基于时间片,也就是说,对于一个PCI总线主设备,必须为它在总线上进行的每次访问提出仲裁要求。PCI总线上采用的是并行仲裁(也叫独立请求仲裁)方案,其仲裁机制如图1所示。在这种仲裁中,每个主控器各有自己独立的总线请求线_REQ和总线允许线_GNT与总线仲裁器相连,相互间没有任何控制关系。仲裁器直接识别所有设备的请求,并根据一定的优先级仲裁算法选中一个设备Ci,向它直接发出总线允许信号_GNTi。PCI总线的仲裁是“隐含的”,就是说一次仲裁可以在前一次总线访问期间完成,这样就使得仲

4、裁的具体实现不必占用PCI总线周期。当然在总线空闲时除外。  在实际的PCI总线仲裁电路中,与仲裁直接有关的控制线除_REQ和_GNT外,还有_FRAME、_IRDY。此外,为了保证总线交换的同步,还应有一根总线时钟信号PCIclk和一根总线复位信号_PCIrst,如图1虚线所示。  2总线的缺省占用  所谓总线的缺省占用,就是指在当前没有设备使用总线或请求总线的情况下,允许仲裁器根据一定的方式选定一个设备作为总线缺省的拥有者,并向它发出_GNT信号。选择的方式有多种,如可为某一固定设备,也可为最后一次使用总线的设备,当然也可以指定自己(仲裁器本身)为总线缺省的拥有者。  当仲裁器将某一

5、设备确定为总线的缺省拥有者时该设备可以不通过发_REQ信号就开始一次总线操作(只要总线空闲且_GNT信号有效)。但要注意的是:如果该设备需要做多次的数据传输,它就应当发出_REQ信号,以便向仲裁器提出多次操作的请求;而如果该设备只要求做一次总线操作,它就不应当发出_REQ信号,否则仲裁器可能在它不需要使用总线的情况下又给它发出_GNT信号。  3仲裁信号协定  综上所述,PCI总线的仲裁主要是通过_REQ和_GNT两个信号来实现的。前者用于某一设备要求占用总线的请求,后者用于允许某一设备占用总线的应答。而对于一个PCI总线主控器,必须在它真正需要总线时才能发出_REQ信号,绝不可以用_

6、REQ信号把自己“停靠”在总线上。只有总线仲裁器才可以指定谁是总线缺省的拥有者。  当仲裁器允许某一设备使用总线时,就向该设备发出_GNT信号;相反,当仲裁器不再允许某一设备拥有总线控制权时,可以在任意时钟撤消该设备的_GNT信号。所以,每个总线主控器在开始一次PCI总线操作时,一定要确知此时它们的_GNT信号是否有效。如果_GNT信号无效,这次操作就不可以进行。  PCI总线的仲裁信号之间必须遵循一定的协定,具体描述如下:  ·若_GNT信号撤消而_FRAME有信号,当前的总线操作是合法的,并将继续下去;  ·若总线不是处于空闲状态,有可能一个_GNT的撤消碰巧是另一个_GNT发出的同

7、时,但如果是在空闲状态,则要求一个_GNT撤消到下一个_GNT的发出之间必须有一个时钟周期。否则可能会在AD线和PAR线上出现冲突;  ·当_FRAME无信号时,_GNT可以在任意时间撤消,以便服务于另一个主设备,或者作为对相应的_REQ撤消的响应;  ·_GNT信号的每次发出,只限于相应的总线主控器可以使用总线进行一次总线操作。若该主控器还想做多次总线访问时,可以保持它的_REQ信号一直有效。此时,如果没有其它请求,或者当前的主控器具有最高优先权,仲裁器就会继续批准总线给当前主控器;  ·一个主控器可以在任意时刻撤消其_REQ信号,但要注意,_REQ信号一旦撤消,仲裁器将认为该设备不再

8、请求使用总线,因而撤消其_GNT信号。若一个主控器只希望做一次总线传输,它应当在发出_FRAME的同一时钟周期撤消_REQ;  ·如果当前的主控器在它的_GNT信号发出之后(_REQ也一直有效),持续16个空闲周期还没有开始总线操作,仲裁器就可以认为当前的主控器“已坏”。因而,仲裁器可以在任意时刻撤消_GNT信号,以便服务于一个优先级更高的设备。  4优先级仲裁算法  为了合理地控制和管理系统中需要占用总线的数据源,PCI仲裁器必须

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。