关于VIO
关于VIO,详情在Vivado中VIO IP核的使用_vivado vio-CSDN博客
VIO自己根据读出的数据模拟一个输出信号,然后这个输出信号也是后面模块的输入信号。
有了VIO就可以直接对系统的后半部分进行仿真,即使前面的模块没有设计成功,也可以直接对后面的模块进行仿真。
关于AXI_Lite
axi_lite_ar...都是读地址通道;
axi_lite_aw...都是写地址通道;
axi_lite_b...都是写响应通道;
axi_lite_r...都是读数据通道;
axi_lite_w...都是写数据通道。
axi_lite和axi4_full的时序关系完全一致,只是axi_lite没有突发的读写操作。
关于读响应通道:一次数据传输结束后(axi4_full的一次突发结束,axi4_lite的一个数据传输结束),读响应的valid和ready信号随后拉高。
axi_lite详情查看AXI4协议之AXI4-Lite接口详解及实战-CSDN博客!!!!!
axi_lite和axi4_full涉及到PS端的时候占用的是HP接口。
AXI_Lite做从机的时候是怎么工作的?
AXI_Lite的IP的内部定义了4个寄存器分别是slv_reg0,slv_reg1,slv_reg2,slv_reg3
主机可以通过AXI_Lite接口对从机的这几个寄存器进行读和写。
AXI_Lite主从之间是怎么传输数据的?
通过寄存器进行数据的传递,并把寄存器从AXI_Lite(从机)引出来,具体操作:
对AXI_Lite(从)的IP的.v文件进行修改,1处添加要引出的参数,2处要添加需要引出的端口
在axi_lite的例化模块添加引出的端口
改完.v文件之后,点击刷新,这时端口没有自动更新
选中axi_lite的IP,右键,编辑打包
因为上面的.V文件已经改好了,所以这里直接打包就行
点击左侧所有的代编辑项,进行更新,知道所有都是绿色的对号,如2所示;然后点击3处,点击重新打包,点击yes
点击下方IP Status处的rerun
点击upgrade selected,点击OK
至此,AXI_Lite的端口就更新过去了。
端口位宽不一致,直接连接的话是低位对齐。
在address editor界面可以找到对应的地址,PS端想要访问axi_lite的这个IP,就直接访问访问这个地址就可以了。