一:截位
1.动态截位
vect_1[4+:3]表示,起始位为4,宽度为3,**升序**,则vect_1[4+:3] = vect_1[6:4]
vect_1[4-:3]表示,起始位为4,宽度为3,**降序**,则vect_1[4-:3] = vect_1[4:2]
2.固定截位
vect_1[A:B]
A和B必须只有一个是变量,不能同时为变量。————他人验证过
二.
1.位运算符: ~:表示非;&:表示与; |:表示或; ^:表示异或; ^~:表示同或。
2.逻辑运算符:!:表示非,;&&:表示与;||:表示或;
三.
1.极力推荐generate for写法
eg:
module A#
(
parameter x=16
)
(
);
genvar pin_count
generate for (pin_count=0;pin_count<x;pin_count=pin_count+1)
begin:action
这里就写被复制16次的模块
endmodule
四:
if(10<x<20)——只能写这样,不能写if(20>x>10)(条件会进不去,实际调试中遇到的问题)