“+:”、"-:"语法

看到这个语法的时候是在分析AXI lite 总线源码时碰见的,然后查阅了资料,做出如下解释。

1.用处

这两个应该算是运算符,运用在多位的变量中,如下:
slv_reg0[(byte_index8) +: 8] <= S_AXI_WDATA[(byte_index8) +: 8];

2."+:"

变量[起始地址 +: 数据位宽] <–等价于–> 变量[(起始地址+数据位宽-1):起始地址]

data[0 +: 8]  <--等价于--> data[7:0]
data[15 +: 2] <--等价于--> data[16:15]

3."-:"

变量[结束地址 -: 数据位宽] <–等价于–> 变量[结束地址:(结束地址-数据位宽+1)]

data[7 -: 8]  <--等价于--> data[7:0]
data[15 -: 2] <--等价于--> data[15:14]

End

相关语法为自己的理解,如有不对的地方,请大家留言讨论

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐