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端:读出来打印

 

现象:

 

posted @ 2019-01-11 16:45  iwanna  阅读(1586)  评论(0编辑  收藏  举报