Systemverilog语言(5)-------Procedural statements and Routiness

1.outline


SV里面对task和function进行加强。

2. task and function

在这里插入图片描述
支持自增自减,但是很可能会产生race;
在这里插入图片描述
在这里插入图片描述
支持逻辑判断符,当比较元素含x或z时,最终返回的结果是x或z;
x或z只能在表达式的右侧,在左侧时则无法判断;

3.inside

在这里插入图片描述
用于定义某个值得范围;

4.强制转换(tpye,size,sign)

在这里插入图片描述
size `(exp)
在这里插入图片描述

5. loop

在这里插入图片描述
verilog里面for语句只支持在loop外面声明;
SV里面在for内部声明变量,循环变量是自动生成的;
在for循环外看不见循环变量;
在这里插入图片描述
verilog只支持while循环;
SV也支持do…while ,至少可以完成一次;
在这里插入图片描述
SV里面通过unique,priority可以增加case的优先级;
在这里插入图片描述
function: 不消耗时间,因此不能有时序控制语句,如#100,@,wait;
task一般而言会消耗时间,因此function不能调用task,但task可以调function。
SV支持无返回值function;
在这里插入图片描述
在这里插入图片描述
SV里面:task,function可以不用begin…end包含表达块;
增加了return语句;void;function支持output,inout等形式参数。
在这里插入图片描述
return:满足条件退出task或function。
在这里插入图片描述
typedef:自定义类型
在这里插入图片描述
类似于C,可以按位置调用;也可以按引用符使用 ‘.name(name2)’
在这里插入图片描述
在这里插入图片描述
默认是logic,input(见最后一个PPT);
在这里插入图片描述
reference :复制传递值时可使用,只用于automatic的task或function,ref传递的是内存地址,谨慎用。
在这里插入图片描述
const ref :
在这里插入图片描述
input :开始的时候取一次值;
output :
Inout:
ref:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值