目录
1 类型转换
概述
- 类型转换可分为静态转换和动态转换
- 静态转换:需要在转换的表达式前加上单引号,该方式并不会对转换做检查,如果转换失败,我们也无法得知
real r=4.0;
int i;
i = int'(4.0) //静态转换
- 动态转换:需要使用系统函数$cast(tgt,src)做转换,执行成功返回1,否则返回0
- 以上两种需要操作符或系统函数介入的转换称为显示转换;还有一种不需要任何转换操作,称为隐式转换,例如不同位宽矢量的赋值。
$cast动态转换
子类句柄赋值给父类句柄实例
class Transaction; //基类
rand bit [31:0] src;
function void display()'
...
endclass
class BadTr extends Transaction; //子类
bit bad_src;
function void display();
super.display;
$display(...)
...
endclass
Transaction tr; //基类句柄tr
BadTr bad; //