一. AXI-Lite接口Ipcore的生成
Xilinx开发工具EDK和Vivado都可自动生成AXI-Lite、AXI-Stream主从模式接口。关于生成Ipcore的过程可参考下面这两篇文章,这里就不在赘述:
http://comm.chinaaet.com/adi/blogdetail/37170.html
http://www.cnblogs.com/surpassal/archive/2012/10/09/Zynq_Lab4.html
这里只说明一下有一行语句的理解:
for ( byte_index = 0; byte_index <= (C_S_AXI_DATA_WIDTH/8)-1; byte_index = byte_index+1 )
if ( S_AXI_WSTRB[byte_index] == 1 ) begin
// Respective byte enables are asserted as per write strobes
// Slave register 1
slv_reg1[(byte_index*8) +: 8] <= S_AXI_WDATA[(byte_index*8) +: 8];
end
这是Verilog2001新加的语法:Verilog-2001向量部分选择在Verilog-1995中,可以选择向量的任一位输出,也可以选择向量的连续几位输出,不过此时连续几位的始末数值的index需要是常量。而在Verilog-2001中,可以用变量作为index,进行part select。
[base_expr +: width_expr] //positive offset