SPI接口的Verilog语言实现 - 图文(4)

2019-08-30 18:56

仿真时序图:

仿真结果说明:

仿真通过设置contr_addr=4来写五个数据(11,12,7,15,16)到RAM,然后发送。

五、 设计中遇到的问题及解决办法:

1、 控制RAM写数据的时钟时,忽视了Verilog语言的语句执行特 导致RAM中总是写不进去数据。 wr_clock=1'b0;

wr_clock=1'b1; 第一次写入 wr_clock=1'b0;

wr_clock=1'b1; 第二次写入

这样执行后的结果为wr_clock=1'b1,一直为上高平,并不会有两个上升沿。

最好的解决方法就是使用状态机。 2’b00: wr_clock=1'b0;

2’b01: wr_clock=1'b1; 第一次写入 2’b10: wr_clock=1'b0;

2’b11: wr_clock=1'b1; 第二次写入

2、 处理反馈信号feedback与存满信号fullflag的逻辑关系时,遇到 了些麻烦,最终巧妙的运用异或解决了问题。

a=(~feedback)&fullflag0;

b=feedback&(~fullflag0); fullflag=a|b;

3、 在定制FIFO时遇到很大的问题,如数据不能按照严格的时序进出

FIFO,而且有些数据还不能写进FIFO,经过多方面调试改写还是没能解决。最终只能放弃FIFO,改用RAM,外加个控制器就可以了。

六、 设计心得与体会:

1、这次设计花了我四天多时间完成,做之前单纯的以为SPI不过就是写几个简单的移位寄存器外加个时钟就可以了,却完全忽视了SPI具有严格的时序要求及数据发送接收存储问题。SPI不是只发送接收一个八位数据就可以了的,它应该具有强大的信息交换传输功能。

2、仿真时序很不好把握,以后尽量少用Quartus II自带仿真器,要多多学习MODOSIM。 3、Verilog HDL自学了一段时间,第一次用来编写一个完整的系统。和VHDL比起来还是各有各的好处吧。它们描述各层的能力各有千秋。Verilog HDL善于描述更低层设计,比VHDL更灵活,而VHDL善于描述一些高层的设计(主要是一些算法及控制好实现)。Verilog HDL在仿真方面比VHDL也更方便些,如TESTBEN。

4、FPGA方面需学习的还有很多,为了设计SPI借书查了些资料,才发现自己FPGA基本上还没有入门。电子设计做信号题需加倍努力啊。


SPI接口的Verilog语言实现 - 图文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高等数学A1教学要求

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: