Verilog语法 -: +: 说明

先看定义的变量是大端还是小端模式

reg [31:0] big_vect; //大端
reg [0:31] little_vect; //小端

看升序(+:)还是降序(-:)

看位宽并进行转换

举例说明:
reg [31:0] big_vect;
reg [0:31] little_vect;

问题:
big_vect[0 +:8]
little_vect[0 +:8] 

首先查看变量big_vect的大小端,记住一点,转化后的与原来的大小端是一样的定义方式

reg [31:0] big_vect;为大端,那么转化后的也一定是大端,形式不变
big_vect[0 +:8]转化后一定是 big_vect[较大的数值 较小的数值]
little_vect[0 +:8] 转化后一定是 little_vect[较小的数值 : 较大的数值]

其次,看升序(+:)还是降序(-:)
Verilog语法 -: +: 说明_第1张图片
最后, 看位宽,进行转换

big_vect    [0  +:   8]0 开始,升序,位宽为8     ======》》》》》big_vect   [7 :0]
little_vect  [0  +:   8]0 开始,升序,位宽为8     ======》》》》》little_vect  [0 :7]
big_vect   [15 -:   8]15开始,降序,位宽为8    ======》》》》》big_vect    [15 :8] 
little_vect [15 -:   8]15开始,降序,位宽为8    ======》》》》》little_vect   [8:15]

你可能感兴趣的:(数字IC设计)