pl向ps传输8位数据:axi-lite
作业中逃不掉pl向ps传完成信号或结果,由于中断太麻烦,所以用axi-lite+ps端轮询比较省事
首先是我的一个认识错误:axi模块不是实体,不是一个像管道的实体,所以读端写端是不能自定义的。也就是说,当pl是从设备时,readData(对axi模块是输出)只能从pl来,write连ps(对axi模块是输入)——也就是,ps可以选择读出或者写入pl。所以以下数据通路是错误的:pl写axi,ps读axi。应该是:pl输入(新加接口)给axi模块,通过逻辑改变axi的read(output),进而当ps读的时候读的是pl想给ps“写”的值。要站在主设备的角度看这些接口!
axi代码:
读和写都是写slv_reg,粒度是8位,有状态机控制地址。
测试逻辑:
out模块给axi模块写常数5,ps读出来打印
当前bug:只能写8位,可能是下标的问题,但我懒得调了。。。
逻辑图:
axi代码:
顶层新加输入接口,给子模块
子模块里:
ps端:读出来打印
现象: