微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于Verilog HDL的SDX总线与Wishbone总线接口转化的设计与实现

基于Verilog HDL的SDX总线与Wishbone总线接口转化的设计与实现

时间:06-05 来源:互联网 点击:

3 系统设计与实现

系统所有控制逻辑均在Altera的CycloneⅢ系列FPGA(EP3C40F)上实现。FPGA的信号线只有系统时钟、串行输入数据,由于SDX总线中传输数据为曼彻斯特码型,因此需将曼彻斯特码解码为BCD码同时将串行输入数据转化为并行数据,将转化后标准的16位并行BCD码输入SDX模块对SDX协议响应,将需要数据读、写的消息响应同时产生数据读、写以及地址信号并发起Wishbone总线操作,实现在Wishbone总线上高效的数据传输。Wishbone总线主要使用点对点的互联方式,将Wishbone总线中Master模块中的输出信号直接连接到Slave模块,其优点是多个数据可以并行处理,从而提高系统的整体数据处理能力。系统的整体设计框图如图8所示。

图8 系统的整体设计框图

  4 仿真结果分析

为验证设计系统的性能,使用Modelsim6.2仿真软件对系统功能进行了仿真测试。

图9为Wishbone总线写操作,且为单字写传输,在时钟上升沿,Master将DAT_O、ADR_O信号放到数据、地址总线上,将CYC_O、STB_O、WE_O置高表示写传输开始,在下一个时钟沿到达之前,Slave检测到Master发起的操作,将ACK_O、ERR_O、RTY_O之一置高并传输到Master中,若Master检测到ACK_I为高时,在下一个时钟的上升沿将CYC_O、STB_O置低表示操作完成,若ERR_I为高,则表示该操作错误,取消此操作,进行下一步操作,若RTY_I表示Slave总线忙,则重试。

图9 Wishbone写操作仿真图

图10为Wishbone总线读操作,且为单字读传输,在时钟上升沿,Master将ADR_O信号放到地址总线上,WE_O保持为低,同时将CYC_O、STB_O置高表示读传输开始,在下一时钟沿到达之前,Slave检测到Master发起的操作,将ACK_O、ERR_O、RTY_O之一置高并传输到Master中,同时将适当的数据传输到Master的DAT_I中,若Master检测到ACK_I为高时,在下一个时钟的上升沿将CYC_O、STB_O置低表示该次读操作完成,若ERR_I为高,则表示该操作错误,则取消此操作,进行下一操作,若RTY_I表示Slave总线忙,则重试。

图10 Wishbone读操作时序图

  5 结束语

讨论了基于FPGA的SDX总线与Wishbone总线的接口转换,并介绍了不同总线的接口标准与时序,通过在Modelsim下的仿真,Quartus中综合,可下载到FPGA中进行调试,实现了系统的整体性能,从而保证了系统快速、高效的传输。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top