SystemVerilog 验证-测试平台编写指南学习笔记(2):过程语句和子程序

1 SystemVerilog 从C/C++ 引入的操作符和语句?

  • 可以在for循环定义循环变量。
  • 自动递增符号"++“,自动递减符号”–"。
  • continue 和 break,用于跳过本轮循环 和 终止循环。

2 SystemVerilog 对函数、任务形式的新增内容?

总结起来就是 SystemVerilog 分格更像C了,引入了堆栈,所以有类似C的形参。

  1. SystemVerilog 函数允许调用任务,但只能在 fork…join_none 语句生成的线程中调用。
  2. SystemVerilog 可以使用void进行结果转换,以忽略函数的返回值。 void '($fscanf(file, “%d”, i));
  3. SystemVerilog 子程序的 begin…end 变为可选。task/endtask function/endfunction 足以作为边界。
  4. SystemVerilog 增加return语句。

3 SystemVerilog 在子程序参数上的新增内容?

  1. 在参数声明上,Verilog 要求对一些参数进行两次声明,一次方向声明,一次类型声明output [31:0] x; reg [31:0] x;。SystemVerilog 引入类似C的分格,但注意必须使用通用输入类型logicoutput logic [31:0] x
  2. SystemVerilog 缺省的参数类型和方向是"logic 输入"。
  3. SystemVerilog 参数的传递方式可以指定为引用ref而不是复制const ref bit [31:0] a[],节省堆栈空间。注意ref只能被用于带自动automatic存储的子程序中。
  4. SystemVerilog 可以位参数指定一个缺省值input logic low = 0
  5. SystemVerilog 任务或函数可以采用类似port的语法指定.a(5)

4 SystemVerilog 时间单位和精度新增内容?

  • timeunit和timeprecision声明语句可以为每个模块指明时间值timeunit 1ns; timeprecision 1ps;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lu-ming.xyz

觉得有用的话点个赞吧 :)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值