SV刷题Day 5

345 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路!


  1. 通常状况下,使用systemverilog相对较多的,在专用集成芯片设计流程中关注设计的验证行为,进行的验证工作主要指:
A. RTL功能验证
B. 门级的仿真
C. 形式验证
D. 时序验证

本题答案选A,寄存器传输级 ( RTL) 的功能验证。
门级的仿真, 为了验证综合后网表和期望的功能是否一致。
形式验证 ( 等价性检查) 来确保门级网表和 RTL 代码的一致性。
时序验证, 为了验证设计能否在特定的频率上运行, 通常采用静态验证工具。
功能验证在专用集成芯片设计流程中关注设计的行为, 几乎所有的功能都可以在 RTL层次被验证。 2. System Verilog是面对对象编程的语言,以下说法错误的是:

A. 类中的变量类型默认是动态变量
B. 在类中可以用static关键词声明静态变量
C. 可以在使用::,即类作用域操作符,以如下形式class_name::variable_name 访问静态变量。
D. 对于同一个类,在不同对象中,静态变量的值

本题答案是D
对于同一个类,不管创建多少个对象,静态变量都只存在一个。通过不同对象去访问,都将得到同一个值。 类需要初始化,变量没有static修饰时是动态变量;不同对象共享静态变量

image.png SV允许使用randomize()with{}增加额外的约束,这和在类中增加约束是等价的。
注意:
1.with{}中SV使用了类的作用域。
2.使用with时最大错误就是使用()而不是{}内嵌的约束。{}属于声明性代码。没有soft修饰时,约束冲突则报错,有soft时,外部约束优先级更高

  1. 下列关于System verilog中接口和端口说法错误的是:
A. 在接口中可以例化其他接口,也可以例化模块
B. 接口信号必须使用非阻塞赋值来驱动
C. 接口中可以使用modport接口将信号分组,并指定不同的方向
D. 接口在使用的时候,需要先进行例化

本题答案选A,在接口中可以例化其他接口,但不可以例化模块

image.png

image.png

image.png 5. 对于systemverilog的结构体和联合体  ,描述不正确的是

A. 缺省情况下, 结构体是无符号的
B. 使用算术和逻辑操作符时, 一个结构体可以当作一个整体使用
C. 联合体也可以被定义为压缩联合体, 这时其内部所有成员的大小必须一致
D. 非整数数据类型不允许在压缩结构体中使用

在使用算术和逻辑操作符时,一个压缩结构体可以当作一个整体使用,注意必须是压缩,只有压缩后其存储方式才会无缝连接.