PCI总线接口控制器的FPGA设计_第1页
PCI总线接口控制器的FPGA设计_第2页
PCI总线接口控制器的FPGA设计_第3页
PCI总线接口控制器的FPGA设计_第4页
PCI总线接口控制器的FPGA设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第24卷第5期2004年5月北京理工大学学报TransactionsofBeijingInstituteofTechnologyVol.24No.5May2004文章编号:1001-0645(2004)05-0423-04PCI总线接口控制器的FPGA设计王友波,刘明业(北京理工大学信息科学技术学院计算机科学工程系,北京100081)摘要:研究有限状态机与PCI总线接口控制器的设计问题.在分析PCI总线接口控制器基本功能的基础上,给出其顶层设计.根据PCI总线操作时序,提出了从设备接口控制器的有限状态机模型.同时结合AlteraFLEX10K的FPGA器件,采用Verilog硬件描述语言,描述

2、该总线控制器的基本操作,并完成功能仿真与综合,实现了PCI总线控制器的FPGA设计,说明该有限状态机具有结构清晰、易于维护的特点.关键词:PCI总线接口;有限状态机;FPGA设计中图分类号:TP332文献标识码:AFPGADesignofPCIBusInterfaceControllerWANGYou-bo,LIUMing-ye(DepartmentofComputerScienceandEngineering,SchoolofInformationScienceandTechnology,BeijingInstituteofTechnology,Beijing100081,China)Abs

3、tract:Studiesissuesinthefinitestatemachine(FSM)designinPCIbusinterfacecon-trollers.ThePCItop-levelblockdesignisfirstpresentedintermsofthebusinterfacecontroller.TheFSMmodeloftargetPCIbusinterfacecontrolleristhenprovidedbasedonPCIbusoperationtiming.Thebasicoperationofthebuscontrollerisdescribedwiththe

4、Altera'sFLEX10KFPGAdeviceandVerilogHDL,alongwiththefunctionsimulationandsynthesisandtheFPGAdesignofthePCIbuscontroller.ThisbringsoutthestrongpointsoftheFSM,suchasitsclearstruc-tureandeasymaintance.Keywords:PCIbusinterface;finitestatemachine;FPGAdesignPCI(peripheralcomponentinterconnect)总线是目前应用最广

5、泛的总线,它满足了用户对数据传输速率越来越高的要求.PCI总线的工作频率为33MHz,支持32bit与64bit的数据传输,并支持多总线主控和线性突发(burst)模式传送,在理论上可以达到132MB/s的数据传输速率,所以在许多对数据传输速率要求较高的场合使用PCI总线接口控制器.在利用FPGA实现PCI总线接口电路的设计中,有限状态机的设计是最重要的环节,它直接影响了占用的硬件资源和执行速度.作者根据PCI总线操作的时序逻辑抽象出一种直观、易于实现的有限状态机模型.1PCI总线信号定义PCI总线接口控制器有主设备和从设备两类.如果某设备取得了总线控制权,就称其为主设备;而被主设备选中以进行

6、通信的设备称为从设备.从设备PCI总线接口控制器设计中用到的信收稿日期:20040104基金项目:国家部委基础科研项目(1400B006):),424北京理工大学学报第24卷号按照功能可分为系统信号、地址和数据信号、接口控制信号、错误报告信号和中断信号1. 系统信号系统信号包括CLK和RST_L(_L表示低电平有效)两个信号,为PCI接口控制器提供系统时钟和系统复位信号.地址和数据信号在总线传输操作周期中,一个PCI总线周期由一个地址段和紧随其后的一个或多个数据段组成,其中AD310是地址和数据复用总线,它为PCI接口芯片提供了地址信号和数据信号.复用引脚C/BE30为PCI接口芯片提供总线命

7、令和字节允许两组信号,而PAR信号为PCI接口控制器提供数据偶校验信号.接口控制信号接口控制信号主要由FRAME_L,IRDY_L,TRDY_L,STOP_L,LOCK_L,IDSEL和DEVSEL_L等组成.其中FRAME_L信号是总线周期构成信号,由当前总线中主设备驱动,以说明一个总线周期的开始和延续;IRDY_L表明启动方准备好数据;TRDY_L是目标设备就绪信号,在写操作中,TRDY_L有效说明从设备已准备好接受数据,在读操作中,它说明AD310上已有有效数据;STOP_L说明当前从设备要求总线主设备停止当前传输;LOCK_L是总线锁定信号,说明主PCI设备需要多个连续传输完成的原子级

8、操作;IDSEL为初始化设备选择信号,在配置空间写操作中,作为片选信号;DEVSEL_L为设备选择信号,当其有效时,说明驱动它的设备已将其地址译码作为当前操作的目标设备,作为输入信号时,DEVSEL_L则表示总线上有目标设备被选中.!错误报告信号为了使数据完整、可靠地传输,PCI总线标准要求所有挂于其上的设备都应具有错误报告线PERR_L,以报告偶校验的结果.中断信号中断信号是电平触发,低电平有效,与时钟异步.2配置空间配置模块.除PCI主桥之外,所有的PCI设备都应该实现PCI设备配置空间.该配置空间包括一系列配置寄存器,一般占用256个I/O地址,也就是64个双字节的空间.直接影响PCI设

9、备特性的是PCI空间的前16个双字节的配置,该区域称为PCI配置头.一般PCI设备都要进行“类型0”配置.基地址译码模块.如果PCI设备要占用一定的I/O空间或存储器空间,就必须实现基址寄存器,以便系统设置软件在对系统进行自动设置时,对其地址译码器进行编程,以便设备能获得所要求的空间.在利用VerilogHDL进行PCI总线接口设计时,必须对基址寄存器的每一位都能正确译码,这样才能确定PCI设备是申请I/O空间,还是申请存储器空间,申请空间的大小及其在系统中占据的位置,是否可预取等.4图1控制器顶层设计示意图Fig.1Sketchmapoftop-leveldesign奇偶校验模块.PCI总线

10、的奇偶校验提供了一种检验数据传输正确与否的机制,如果数据能在系统和PCI接口控制芯片之间正确地传输,则能执行正确的操作.在PCI总线上,利用奇偶校验模块在每次传输中检查主设备是否正确地寻址到目标设备,以及它们之间的数据是否正确地传输.PCI总线接口控制器必须将AD310和CBE30包括在内进行偶校验计算,并负责驱动PAR线5.有限状态机模块.存储器读写操作、I/O读写操作和中断操作都要通过一种设计合理的有限状态机实现.根据PCI总线操作的时序关系给出了一种简捷明了的有限状态机,实现了存储器的读写、I/O读写等各种操作.2控制器的顶层设计在用Verilog进行顶层设计之前,首先要对PCI总线接口

11、控制器的功能进行顶层设计,将总线接口控制器按照功能分为有限状态机、偶校验模块、配置空间配置模块、基地址译码模块和其他逻辑等若干个子模块,控制器顶层设计示意图如图1所示3,图中_L表示信号低电平有效.:第5期王友波等:PCI总线接口控制器的FPGA设计425用,协调其余几个模块之间的逻辑动作.3PCI总线操作PCI总线操作类型主要有:中断应答中断应答命令是一个寻址系统中断控制器的隐性读.在地址段期间,地址位在逻辑上无关紧要,字节允许线返回矢量的大小.I/O读命令用于从一个映射于I/O地址空间的单元读出数据.AD310提供某个字节的地址,32位都必须解码,字节允许说明传送的数据大小必须与字节地址段

12、一致.I/O写命令用于写一个数据到映射于I/O地址空间的单元中,32位地址都必须解码,字节允许说明传送的数据大小必须与字节地址段一致.!存储器读命令用于从一个映射于存储器的地址空间读出数据.只要目标设备保证预取没有副作用,便可以用该命令预取.目标设备必须保证在PCI传送完成之后,保留在暂时缓冲区中的数据的一致性(其中包括顺序).在任何同步事件通过通道之前,这种缓存必须初始化.存储器写命令用于写数据到一个映射于存储器地址空间的单元中去,当目标返回准备好信号时,它表明能正确接受对象数据.#配置寄存器读命令用于配置空间的读操作.当IDSEL信号有效且AD10为00时,就选中了一个单元,在配置周期的地

13、址段,AD72寻址每个设备配置空间的64个双字寄存器之一,且AD3111上的逻辑是无关紧要的.AD108说明寻址功能单元的哪一个设备.配置寄存器写命令用于传输数据到配置空间.当IDSEL信号有效且AD10为00时,就选中了一个单元,在配置周期的地址段,AD72寻址每个设备配置空间的64个双字寄存器之一,且AD3111上的逻辑是无关紧要的.AD108说明寻址功能单元的哪一个设备6.有限状态机,这一有限状态机的设计本不是为了进行硬件描述语言的设计,且其中的逻辑过于繁琐,在利用硬件描述语言进行设计时可读性差.根据PCI的总线操作类型和总线操作时序关系,抽象出一种简捷明了,更易于硬件描述语言实现的有限

14、状态机(如图2所示),它更符合总线时序的特点.利用该有限状态机可以完成配置寄存器、存储器、I/O的读写操作,并支持一个中断操作.有限状态机的目的是控制PCI总线信号和本地信号的变化,是整个设计的核心部分.在总线操作周期中,有限状态机从空闲(idle)状态出发转入其他可能的状态.图2总线控制器的有限状态机示意图Fig.2SketchmapFSMofthebuscontroller配置读写等待(con_wait)状态.系统复位信号撤销以后,状态机直接由空闲状态转到配置读写状态,并声明DEVSEL_L信号有效,准备配置寄存器的读写操作,即进行配置数据的存取,同时声明状态机转入con_wait2状态.

15、配置读写等待2(con_wait2)状态.控制器声明目标设备选中信号有效,允许偶校验的结果由信号输出,并判断总线周期形成信号是否有效,同时状态机转入con状态.配置读写(con)状态.如果PCI_IRDY_L信号此时无效,即主设备没有准备好数据传输,状态机转入backoff状态,准备返回idel状态;如果此时PCI_IRDY_L有效,则进行配置数据的读写,并再次进,4有限状态机的实现PCI总线接口芯片是多功能和时序复杂的时序逻辑电路,它的复杂性由PCI总线操作的多样性决定.为了便于利用硬件描述语言进行设计,将这一复杂的时序逻辑抽象成有限状态机,并利用有限状态机实现复杂的总线操作7.426北京理

16、工大学学报第24卷传输中止(backoff)状态.控制器断开和主设备进行的数据传输,或者发出目标设备中止或重试的信号.控制器使PCI_AD等信号线处于高阻状态,然后进入idle状态.存储器或I/O读写等待(rw_wait)状态.在这一状态中,控制器要根据基地址译码模块的译码结果决定控制器是对存储器还是对I/O读写,使DE-VSEL_L,TRDY_L和STOP_L信号失效.同时根据R_W_L信号判断是读还是写,并进一步确定状态的转移.如果没有地址空间选中,则转入idle状态.存储器或I/O读写等待(rw_wait2)状态2.根据读写控制信号对PCI_AD信号进行锁存.存储器或I/O读等待(rea

17、d_wait)状态.在这一状态中,总线存在驱动转换的问题,首先使DE-VSEL_L和TRDY_L信号无效,成为高阻状态,然后使STOP_L有效,等待下一个数据传输的开始.存储器或I/O读写(rw)状态.在这一状态中,只要BKEND_ABORT_L信号没有声明,控制器就连续进行存储器或I/O读写操作.当BKEND_ABORT_L声明有效时,说明本地设备要求强行中断数据传输,则控制器转入abort状态.传输中止(abort)状态.在这一状态中,如果PCI_FRAME_L无效,则传输中止,进而转入back-off状态.如果PCI_FRAME_L有效,则要再一次进入abort状态.存储器或I/O读写停

18、止等待(last_rw)状态.在数据传输结束的前一个周期,如果PCI_FRAME_L信号已经无效,则控制器转入backoff状态;如果PCI_FRAME_L仍然有效,则进一步转入last_rw状态.全符合PCI总线规范2.2的标准.参考文献:1李桂山.PCI局部总线开发者指南M.西安:西安电子科技大学出版社,1998.LiGuishan.GuidetoPCIlocalbusdevelopmentM.Xi'an:Xi'anUniversityofElectronScienceandTech-nologyPress,1998.(inChinese)2付梦印.PCI总线结构M.北京:中国轻工业出版社,1995.FuMengyin.PICbusarchitectureM.Beijing:Chi-naLightIndustryPress,1995.(inChinese)3LatticeSemiconductor.Designinga33MHz,32-bitPCItargetwithispMACHdevice

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论