test2
黄色的为答案,紫色的为相关解析
- 分层的验证平台中描述DUV的输出信号转换成命令的是:
- 信号层;
- 命令层;
- 功能层;
- 应用层;
![]()
- 下列动态数组声明错误的是:
- reg [7:0][3:0] b [ ];
- reg [ ] [3:0] b[4];
- 动态数组不能是填充数组;
- int b [ ];
- logic [63:0] [1:0] b [ ];
- 下面哪种数据类型不可以声明为一个类的成员属性:
- bit;
- real;
- wire;
- 一般用在module里面,class里面是不能使用的;
- enum;
- 缺省情况下,未初始化的对象句柄被设置成:
- 0;
- class;
- 对象;
- null;
- class BadTr extends Transcation之间是什么关系:
- 结构;
- 封装;
- 多态;
- 继承;
- 缺省情况下,类方法的参数和变量具有的生命周期是:
- 动态;
- 可以自由地被创建和修改;
- 静态;
- 固定;
- 随机;
- 动态;
- this关键字被用来引用:
- 父类的类属性和类方法;
- 当前实例的类属性和类方法;
- 子类的类属性和类方法;
- 派生类的类属性和类方法;
- 下面一段代码:
1 class A; 2 endclass 3 4 A a1,a2; 5 a1 = new; 6 a2 = a1;
那么生成了几个对象:
- 0;
- 1;
- 这种 形式 表明两个句柄指向同一块对象空间;
- 如果是a1 = new a2; 这种形式就是一种浅复制,它只会复制句柄,如果想实现复制嵌套的对象,需要自定义函数进行深复制;
- 2;
- 3;
- 下面一段代码:
1 class A; 2 integer j = 5; 3 endclass 4 class B; 5 integer i = 1; 6 A a = new; 7 endclass 8 9 B b1 = new; 10 B b2 = new b1; 11 b2.a.j = 50;
那么b1.a.j为:
- 1;
- 10;
- 50;
- 11
- 成员仅对类内和它的扩展类访问有效,需定义为:
- this;
- supper;
- local;
- 该声明下的变量仅对所在类有效,子类和外部不能访问;
- protected;
- 该声明下的变量仅对所在类与子类有访问权限,外部不可访问;
- 每一个类都有一个内建的方法:
- print;
- new;
- supper;
- this;
- 周期性随机变量 randc 可进行声明哪种数据类型:
- logic;
- int;
- enum;
- real;
- 下面代码
1 class Bus; 2 bit [15:0] a; 3 randc bit [15:0] b,c; 4 endclass
那么下列约束正确的是:
- a > 10;
- 0;
- b > 0, c > 0;
- a > 0, b > 0;
- 对于
1 x dist{[100:102] := 1,200 := 2, 300 := 5};
那么100, 101, 102, 200, 300的权重比为:
- 1:1:1:2:5;
- 1/3:1/3:1/3:2:5;
- 3:3:3:2:5;
- 1/3:1/3:1/3:2/10:5/10;
- 约束语句提供了和if...else...等同用于声明条件关系的是:
- inside;
- solve;
- constraint;
- ->;
- 如下代码
class packet; rand bit x; rand bit [1:0] y; endclass
那么随机得到以下几种求解组合值:
- 3;
- 8;
- 4;
- 16;
- 如下代码:
1 class packet; 2 rand bit x; 3 rand bit [1:0] y; 4 { 5 (x == 0) -> (y == 0); 6 y > 0; 7 } 8 endclass
那么随机得到以下几种求解组合值:
- 3;
- 8;
- 4;
- 5
- 如下代码:
1 class packet; 2 rand bit x; 3 rand bit [1:0] y; 4 { 5 (x == 0) -> (y == 0); 6 solve y before x; 7 } 8 endclass
那么随机得到y = 3, x = 1的概率是:
- 1/4;
- 1/8;
- 1/10;
- 1/6;
- solve...before不会改变数值的有效范围,只会改变数值出现的概率
- 使用下面什么函数可以关闭约束:
- constraint_mode();
- display();
- rand_mode();
- constraint();
- 以下哪种constraint方法不可能会出现:
- constraint c1 {(a ==0) -> (b == 1);}
- constraint rang1 {addr > 1024; addr < 16384;}
- constraint sort { n
- constraint c4 !{v inside five}
- x is 100,101,102 with a weight of 1 each, x is 200 and 300 with a weight of 2 and 5 respectively.请问不符合要求的constraint是哪种?
- x dist{[100:102] := 1, 200 := 2, 300:= 5}
- x dist{[100:102] : /3, 200 := 2, 300:= 5}
- x dist{[100:102] : /1, 200 := 2, 300:= 5}
- x dist{[100:=1; 101:= 1;102:= 1]; 200 := 2, 300:= 5}
- 下列哪个选项不是等待语句:
- @;
- end;
- ##1;
- wait;
- 如下代码:
1 fork 2 begin 3 begin 4 recv(); 5 send(); 6 end 7 check();// 8 end 9 join
包含了多少子线程:
- 0;
- 1;
- 2;
- 3;
- 如下代码:
1 fork 2 exec1(); 3 exec2(); 4 join_any 5 fork 6 exec3(); 7 exec4(); 8 join_none 9 wait fork;
这段代码执行结束的条件是:
- exec1()或exec2()执行完毕;
- exec3()或exec4()执行完毕;
- exec1()或exec2()或exec3()或exec4()执行完毕;
- exec1()和exec2()和exec3()和exec4()执行完毕;
- 等待一个事件触发@event属于:
- 边沿敏感;
- 电平敏感;
- 不敏感;
- 等待;
- 以下哪个不属于旗语 semaphoe 的特性:
- 统计内存资源占用情况;
- 对共享资源的分配和同步;
- 共享资源在不同进程中是互斥使用的;
- 是SV内建的类;
- 以下哪个不属于mailbox特性:
- 对共享资源的分配和同步;
- 在不同的进程之间传递消息;
- 是SV中不同进程的通信方式;
- 是SV内建的类;
- Covergroup 不可以定义在:
- module;
- program;
- interface;
- always;
- bins len[ ] = {[0:13]} 会自动生成多少个bins;
- 1;
- 64;
- 14;
- 16;
- bin t = (1,2 => 3,4)表示几个覆盖点的状态跳转:
- 1;
- 2;
- 3;
- 4
- 代码覆盖率高但功能覆盖率低的原因:
- 功能覆盖率功能点不足;
- 项目启动阶段;
- 代码覆盖率与功能覆盖率都低;
- RTL代码未完成;
- 覆盖率满足要求;
- 度量被测代码中判定中的每个表达式结果是 true还是 false是否备测试到是什么覆盖率:
- line;
- fsm;
- toggle;
- condition;
- SVA中描述起因和结果处于两个时钟周期的是:
- |->;
- |=>;
- ->;
- =>;
- SVA中表示连续重复的是:
- *
- [*n]
- [->n]
- 不连续,跟随;
- [=n]
- 不连续,不跟随;
- SVA中返回前一个时钟周期的表达式的采样值是:
- $rose
- $fell
- $past
- $stable
- 收集属性(property)覆盖率的是:
- assert
- cover
- assume
- enable
- 验证过程中DUT完全可见属于:
- 黑盒验证
- 白盒验证
- 灰盒验证
- 断言验证
- 使用cb,默认延时有:
- default input #1 steup output #0;
- 0;
- default input #0 steup output #0;
- default input #0 steup output #1;
- program 在哪个timing region 执行代码:
- Active region;
- RTL设计代码活动时钟域;
- Observe region;
- 断言执行时钟域;
- Reactive region;
- 验证平台执行时钟域,program是管理 测试案例的模块
- Postpone region
- 信号采样时钟域
- Active region;
- 找出下列定义的数据类型是无符号数:
- integer;
- byte;
- int;
- bit;
- 下列枚举定义正确的是:
- enum logic [1:0] {WAITE = 3'b001,LOAD = 3'b010, READY = 3'b100} state;
- enum logic {A = 1'b0, B, C} list3;
- 2 bit的enum,里面有三个元素,多一个元素;
- enum logic {ON = 1'b1, OFF = 1'bz} out;
- enum logic [1:0] {WAITE = 3'b001,LOAD,READY} state;
- x后面不可以跟未赋值的元素;
- SVA中序列 and 操作的含义:
- 两个序列具有相同的起点;
- 两个序列的结束时间必须一致;
- intersect
- 两个序列的长度是一样的;
- intersect
- 两个序列至少有一个是匹配的;
- or
- progrm的好处:
- 将验证平台和待测设计分割开;
- 在不同的时间域运行,减少了竞争现象;
- program用于执行测试案例;
- program用于封装与测试案例相关的数据;
- 为什么使用随机化验证策略:
- 设计复杂度提高以后,直接测试没有办法通过穷举法验证所有的矢量;
- 定向测试案例仅仅用于检查确定的设计属性和预期的错误;
- 定向测试方式和测试时间是线性关系;
- 定向测试案例不能检查隐形的错误;
- 分层的验证平台易于平台代码重用;正确
- 在 interface 中不可以定义协议检查和验证函数;错误
- 动态数组、联合数组、和队列能够被声明为填充数组;错误

浙公网安备 33010602011771号