枚举类型打印,使用%s ---- a.name()
task mytask1 (output int x, input logic y); ...endtasktask mytask2; output x; input y; int x; logic y; ...endtask
每一个形式参数可以具有下列之一的方向:
input // 在开始的时候拷贝值output // 在结束的时候拷贝值inout // 在开始的时候拷贝,在结束的时候输出ref // 传递引用(参见10.4.2节)
const ref (只读类引用)
压缩数组不允许bit选取赋值
非压缩数组赋值可以采用变量选取
OOP中,父类的句柄是可以直接指向子类的对象空间的;当(1)把已经指向子类对象空间的父类句柄再转给子类句柄,
或者(2)把子类对象赋给指向子类空间的父类句柄时,就需要使用cast。
不论是使用$cast还是,直接赋值,不允许纯父类向纯子类,$cast(目标,源)
在SystemVerilog中,未被限定的类属性和方法是公共的,它们对访问对象名字的任何人都是有效的。
一个被标识成local的成员仅对类内的方法有效。而且这些本地成员在子类内是不可见得。
当然,访问本地类属性或方法的非本地方法可以被继承,并且作为子类的方法它可以正确地工作。 ///local 只能类的本地函数访问
除了可以被继承以及对子类可见外,一个被标识成protected的类属性或方法具有本地成员的所有特性。 ///protected 只能父类、子类的函数访问
定义时 protected/local + int/bit + unsigned
压缩数组可以仅由单位整数数据类型(bit、logic、reg、wire以及其他线网类型)组成,也可以由其它能够递归成单位整数类型的