Verilog语法之数据位宽[+:][-:]
1.数据选择语句:
- vect[a+:b] 等价于 vect[a:a+b-1] 等价于 vect[a+b-1:a]
- vect[a- :b] 等价于 vect[a:a-b+1]
注:
- a可以是常数,也可以是变数,但b必须是常数;
- vect[n:m] 等价于 vect[m:n];
例子:
- vect[7+:3] ==vect[7:9] == vect[9:7];
- vect[9-:4] == vect[9:6];
- data[15-8cnt-:8] <= din[7:0]表示:当cnt = 0时,将din[7:0]赋值给data[15:7],当cnt = 1时,将din[7:0]赋值给data[7:0]。
2.vect[n:m] 和 vect[m:n]:
不定值x在用于判断时不是当作不确定的或者0或者1处理,而是当作一个第三种情况(仿真结果显示x不能用于if语句中进行判断赋值)