本帖最后由 玄德 于 2016-7-27 21:30 编辑
从程序看,
是用CPU产生时钟送给FPGA,然后从FPGA里分四次共读出32位数据。
两个程序都有问题,但主要问题是cpu方面,没有和PFGA时序配合好。
FPGA方面:
1、你先给了csn为0,这样cnt=0根本没有执行,后面自然就不对。
2、cnt超过3以后,没有复位的语句。
3、FPGA必须收到两次inclk的上升沿,才能执行到输出语句;而cpu给出的顺序不对。
这几项是大错误。
另外有毛病:
1、{data_in[31],data_in[30:24]},直接用 data_in[31:24]。不要多此一举。
2、case里面缺少default项。
cpu方面:
逐位读,然后再拼起来,也是多此一举。直接读整个寄存器就可以,不用拼。
|