新闻中心

EEPW首页>EDA/PCB>设计应用> 基于FPGA的双口RAM与PCI9O52接口设计

基于FPGA的双口RAM与PCI9O52接口设计

作者: 时间:2010-04-09 来源:网络 收藏

2和双口之间的接口设计
为了解决9052和双口之间读写时序不匹配的问题,采用可编程逻辑器件CYCLONE-II来实现它们之间的接口电路,其信号连接关系如图1所示。


9052对双口发出读写指令需在配置完之后,这可以通过查询CONF_DONE(和USERl相连)和INIT_DONE(和USER3相连)来确定是否配置完成。如采样INIT_DONE信号,当其为高,表明配置完成;如采样CONF_DONE,当其为高,则052还需要等待tCD2UM(min=18 μs,max=40 μs)时间后,才能对双口RAM进行读写操作双口RAM使用的是IDT70V28L,它的存取时间大于20ns。PCI9052采用非复用、单周期读/写模式,工作于25MHz时钟,PCI访问存储器是以32位位宽,每读写操作一次在Local Bus上都对应2次16位位宽的操作,为了防止相邻二次交易的冲突,每次状态机都是以检测ADS信号有效开始一次读写访问,且插入一个NXDA等待周期。具体读写操作实现过程如下。
2.1 PCI9052写过程
写过程是用状态机加以描述,该状态机有6个状态,分别是写空闲、写开始、写等待数据、写过程、写过程等待和写结束。具体的状态转移图如图2所示。


当系统复位后,BTERM、M S被拉高,LHOLD、MODE拉低,写控制信号无效,状态机处于写空闲状态。
当状态机处于写空闲状态时,在每次上升沿采样到ADS有效和LW R为高电平,且访问双口RAM空间(CS0或CSl有效),状态机就进入写开始状态。在写开始状态,状态机等待未进行一定的操作。接着是写等待数据状态,此时根据片选信号CS0和CSl的值译出SEML、CEOL、CElL,并输出有效的地址和控制信号R WL、UBL、LBL到双口RAM。接着是写过程状态,为了得到有效的数据,该过程未对输入输出操作。然后是写过程等待状态,此时,置LRDY信号有效且输出有效的数据到双口RAM。最后是写结束状态,将片选信号CEOI。、CElL、SEMI。置位无效,在该过程的下一个周期将其余的写控制信号置为无效,状态机恢复为写空闲状态。
2.2 PCI9052读过程
读过程也是用状态机加以描述,该状态机有6个状态,分别是读空闲、读开始、读等待数据、读过程、读过程等待和读结束。其状态转移如图3所示。


当系统复位后,BTERM、M S被拉高,LHOLD、MODE拉低,读控制信号无效,状态机处于写空闲状态。



关键词:FPGAPCI9RAMPCI

评论


相关推荐

技术专区

关闭