SPI接口实现设计 JX第一个月收获

刚来公司首先到测试部门测试产品两个星期;然后开始了SPI接口协议实现;

两个星期才把SPI接口协议实现,上手比较慢,首先是因为对XILINX开发环境不是很熟悉,光一个Chipscope 就搞了好几天,一直出不了信号,

原因是我的DCM 模块例化的时候,.rst_n(!rst_n) ,这是一个致命的错误,因为,DCM的复位键是高电平才有效,也就是说如果给低电平,那么DCM

module 就一直没有激活,所以直接优化掉了,所以Chipscope采样时钟根本就没有;

再就是对于编程风格,现在写的程序看着都很舒服,再看看以前写的代码,毫不夸张的说可以用惨不忍睹来形容;

然后不得不说,在这个简单协议实现中收获到的一些东西:

首当其冲的是硬件编程思想,也就是每写一句代码都能在头脑中想象出电路的形态,怎么样尽量减少反馈单元的使用,比如说 dataout <= {dataout [6:0],mosi_r}; 就是使用到了具有反馈的移位寄存器;

每写一句代码,尤其是在条件语句,要学会节省条件以节省资源;

尽量使用流水线思想,利用到了锁存器将中间变量暂时所存给下一级流水作为输入;

现阶段,尽量不要使用状态机,多使用always 进程,并且每一个进程最好只能对一个变量进行操作处理;

        避免产生多余的锁存器,注意else 和default 的使用;

每一句代码,都要走心,而不是软件思维,要记住为什么叫 HDL!

猜你喜欢

转载自blog.csdn.net/frank_wff/article/details/45320695