原创 【转】基于FPGA 实现PCI总线控制器

2010-11-20 09:54 1187 5 5 分类: FPGA/CPLD

摘要:介绍用FPGA 实现PCI总线的方法.方法根据数字电路设计的自上而下的设计方法,用VHDL 实现,并在Xilinx的SpartenII器件中进行验证.结果与结论结果表明:用FPGA 实现PCI总线是经济可行的.


    PCI的含义为周边器件互连(Peripheral Component Interconnection).PCI总线规范1.0由Int口公司开发,现由一个工业厂商协会管理,称为PCI SIGN.PCI总线有许多其他总线(如ISA)所没有的优点,如高速、热插拔、自动配置等,在图像处理、网络、数据采集等领域有广泛的应用.PCI总线的实现一般有3种方法:



  1. 采用现有的芯片设计PCI输出接口.如AMCC (Applied Micro Circuits Corporation)公司的S5920及S5933两种芯片.
  2. ASIC上带有PCI总线接口.有些专用集成电路上带有PCI接口,使用非常方便,缺点是带PCI接口的ASIC非常有限.
  3. 用可编程逻辑器件FPGA实现.随着可编程逻辑器件密度和速度的提高,可编程逻辑器件非常适合实现PCI总线.设计者将PCI Core与用户逻辑综合到一起,可设计出性能价格比最好的单芯片PCI总线接口电路板卡.

    本文主要探讨用FPGA实现PCI总线,并以Xilinx公司的SpartenII器件来实现PCI Slave接口为例进行说明.


1 系统整体框架
    现代数字电路设计一般采用自上而下的方法,即从数字电路的总体要求入手,先将较为复杂的数字系统化为简单的子系统,再通过逻辑和接口设计用各种功能部件实现要求的数字系统.在设计PCI总线时也采用这种方法.根据文献[1,2],可以将系统划分为配置空间、PCI协议状态机、Parity校验、Parity发生、背端接口等几部分,如图1所示.
 


2 PCI目标状态机实现和配置寄存器空间
2.1 PCI目标状态机实现
    PCI设备分为主设备和目标设备两种.主设备是指既能发起交易的设备也能接受交易的设备,而从设备只能被别的设备读写.因此实现PCI总线时可按需要分为两种来实现.目标设备的实现要比主设备简单一些,这里仅以目标设备的实现来描述PCI协议的实现过程.目标状态机由4个状态组成,状态转换如图2所示.
 



  1. Idle.表示总线处于空闲状态;
  2. Busy.当总线传输开始,即FRAME 由1变为0时,状态机进入Busy状态,在此总线周期,目标设备进行解码看是否本设备被选中;
  3. Data.当本设备被选中后,目标状态机进入Data状态直到本次交易结束;
  4. Turn_ar.是总线从当前传输恢复到空闲前的一个转换周期.

2.2 配置寄存器空间
    PCI规范规定,每个PCI功能拥有64个配置双字的单元.第一个16双字的格式和用法由PCI规范预定义.具体可以参考PCI规范.实现的框图如图3所示.
 


3 错误校验和处理模块的设计
    PAR 是奇偶校验I/O 引脚.在数据传输期间,它包含数据总线AD[31,…,0]和字节使能线C/BE#[3,…,0]的奇偶校验位,并且是在一个时钟后出现.用最简单的方法产生奇偶校验位是用有36个输入的异或门构成. 必须注意,在PCI时钟为33 MHz时,奇偶校验位必须在30ns内产生,60ns 内被校验.Xilinx 的SpartenII每一个CLB有4输入,因此实现36输入异或门要4级或5级逻辑才能实现,当时序不能满足时,可以采用管道线技术实现.例如:奇偶发生逻辑可用图4所示的管道线逻辑实现.
 


4 硬件实现
    在上述设计的基础上,就可以开始实现硬件电路.对于复杂数字系统而言,传统设计方法已不适用,用硬件描述语言成为当代数字系统的主要设计方法.本PCI系统也是采用硬件描述语言(VHDL)并按照FPGA 的设计流程来进行设计的.首先写出系统的行为级描述,并写出测试基准(Testbench)进行仿真;仿真成功后,再对系统进行RTL级描述,用综合工具对其综合;综合完成后,再进行综合后仿真.下一步就是设计实现,放置和路由,时序仿真;最后就可以下载到FPGA 中,对实际电路测试和仿真.


5 结论
    通过在Xilinx的SpartenII实现PCI总线控制逻辑,可以发现用FPGA 实现是一种经济和实用的方案.PCI目标控制器消耗大概1万逻辑门左右,剩下的大部分可用来实现用户背端逻辑.但是也要注意到的是,实现PCI是一个非常复杂的过程,一般很难在短期内设计成功.要进行产品化设计,可以选择已经过测试的PCI CORE.本次设计在SpartenII系列的XC2S30进行验证,达到了预期效果.


文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /2 下一条