牛客SV选择题知识合集

1)静态函数和动态函数的值累积问题

函数定义时有没有写automatic,当写了时候,那么每次调用都是重新开始。

静态变量可以累积,动态变量运行离开函数后值自动清空

 2)有关有符号数向无符号数进行赋值

3)new函数是系统预定义函数,不需要void也不需要指定返回值,函数会隐式的返回例化后的对象指针。

 4)在program中可以调用module、或其他的program中的task和function

5)system verilog 所提供的机制被称为单一继承, 也就是说, 每一个子类都由唯一的父类继承而来

6)流操作符,包括<<和>>,用在赋值表达式的右边,后面带表达式、结构或者数组。流操作符用于把其后的数据打包成一个比特流。操作符>>把数据从左到右变成流,而<<则把数据从右往左变成流。同时可以指定片段宽度,把原数据按照这个宽度分段之后再转化为流。

7)

8) 

== 不能判断x,z状态,遇到x,z返回x

=== 可以判断x,z状态,只有全部位相同,从返回1

==? 通配全等,即其中一个数某位是x或z,都判断为1.

9)

 10)System Verilog程序比由许多并行执行的块构成的Verilog更加接近C程序,它拥有一个(或者更多)程序入口。在一个设计中,一个always块可能从仿真的开始就会在每一个时钟的上升沿触发执行。但是一个测试平台的执行过程是经过初始化、驱动和响应设计行为等步骤后结束仿真的。在这里一个连续执行的always模块不可能正常工作。当program中最后一个initial块结束的时候,仿真实际上也默认为结束了,就像执行了$finish一样。如果加入了一个always块,它将永远不能结束,这样就不得不明确地调用$exit来发出程序块结束的信号。

11)SystemVerilog 有如下优点。 单一, 同时支持设计和验证的标准语言。 支持约束随机的产生。 支持覆盖率统计分析。 支持断言验证。

12)SV中的字符串

System Verilog与C语言不一样的是,字符串的结尾并不带标识符null,所有尝试使用字符"\0"的操作都会被忽略。

字符串使用动态存储方式

单个字符是byte类型

13)

s_b.tolower() 将 中的字符转换成小写形式并返回该字符串;s_b不会发生变化.

s_a.compare(s_b);将s_a,s_b进行比较,区分大小写

s_a.icompare(s_b);将s_a,s_b进行比较,不区分大小写

14)将队列q[$]进行赋值时,含义是将q队列最后一个元素的值传递给j。

15)

 16)program属于软件的范畴,不能出现硬件的描述,如always,可以定义initial,进行多个初始化

17)

$fwrite的作用是打印信息到屏幕上,类似于$display

$fseek,文件定位,可以从任意点对文件进行操作

$fstrobe 和 $strobe 使用函数使用类似,都是在时间节点到达时,执行函数

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值