新闻中心

EEPW首页>EDA/PCB>设计应用> PCI总线从设备接口的CPLD实现

PCI总线从设备接口的CPLD实现

作者: 时间:2012-02-17 来源:网络 收藏

2.1 状态机
状态机是整个接口设计的控制核心,它控制着交易时序和控制信号的产生,文中结合规范的要求,使用Verilog HDL语言、采用One—hot编码方式设计了全同步状态机,状态机由表3所列的8个状态组成,状态机状态转移图如图2所示。

本文引用地址://m.amcfsurvey.com/article/190766.htm

d.jpg


PCI目标状态机状态转移有以下几种情形:
(1)Idle→B_busy→Idle,地址译码未被选中,则处于B_busy忙状态等待交易结束,直到FRAME#失效当前总线交易结束才返回Idle。
(2)Idle→B_busy→Wait→Backoff→Turn_ar→Idle,未能在16个时钟周期内准备好第一个传输数据,超时重试(RETRY)断开连接,总线停留在Backoff等待总线撤消FRAME#,然后总线释放返回空闲态。
(3)Idle→B_busy→Wait→(R_wait)→L_data→(Backoff)→Turn_ar→Idle,从设备同时有效Ready和Term信号,表明从设备不支持突发传输或者没有更多的数据存储空间进行突发传输,只能进行最后一个数据交易。如果是读交易,则插入读等待状态R_wait。
若访问为突发访问,当惟一的数据期完成以后,总线停留在Backoff状态等待主设备无效FRAME#,然后交易结束。
(4)Idle→B_busy→Wait→(R_wait)→Data→(L_data)→(Backoff)→Turn_ar→Idle,突发数据交易,读交易则插入读等待状态R_wait。若从设备提出终止,则插入L_data和Backoff状态与主设备断开连接;若是主设备提出终止则正常的结束总线交易。
在设计中,配置访问不支持突发传输,总线时序和情形(3)一致;而内存访问支持突发传输,情形(3)和(4)的时序均会出现。用户应用可以通过Ready和Term信号不同的输入组合来控制状态机的状态转移,如表4所示。但是在本设计中的顺序要么是先等待,然后正常数据交易、正常结束或者提出断开连接;要么是先等待,然后重试直接断开连接,只有这两种顺序,用户应用不能在正常数据交易期中再插入等待状态,这是不允许的。

e.jpg



关键词:CPLDPCI总线设备

评论


相关推荐

技术专区

关闭