TCJJ

导航

test2

黄色的为答案,紫色的为相关解析

 

    1. 分层的验证平台中描述DUV的输出信号转换成命令的是:
      1. 信号层;
      2. 命令层;
      3. 功能层;
      4. 应用层;                    
    2. 下列动态数组声明错误的是:
      1. reg [7:0][3:0] b [ ];
      2. reg [ ] [3:0] b[4];
        • 动态数组不能是填充数组;
      3. int b [ ];
      4. logic [63:0] [1:0] b [ ];
    3. 下面哪种数据类型不可以声明为一个类的成员属性:
      1. bit;
      2. real;
      3. wire;
        • 一般用在module里面,class里面是不能使用的;
      4. enum;
    4. 缺省情况下,未初始化的对象句柄被设置成:
      1. 0;
      2. class;
      3. 对象;
      4. null;
    5. class BadTr extends Transcation之间是什么关系:
      1. 结构;
      2. 封装;
      3. 多态;
      4. 继承;
    6. 缺省情况下,类方法的参数和变量具有的生命周期是:
      1. 动态;
        • 可以自由地被创建和修改;
      2. 静态;
      3. 固定;
      4. 随机;
    7. this关键字被用来引用:
      1. 父类的类属性和类方法;
      2. 当前实例的类属性和类方法;
      3. 子类的类属性和类方法;
      4. 派生类的类属性和类方法;
    8. 下面一段代码:
      1 class A;
      2 endclass
      3 
      4 A a1,a2;
      5 a1 = new;
      6 a2 = a1;

      那么生成了几个对象:

      1. 0;
      2. 1;
        • 这种  形式 表明两个句柄指向同一块对象空间;
        • 如果是a1 = new a2; 这种形式就是一种浅复制,它只会复制句柄,如果想实现复制嵌套的对象,需要自定义函数进行深复制;
      3. 2;
      4. 3;
    9. 下面一段代码:
       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. 1;
      2. 10;
      3. 50;
      4. 11
    10. 成员仅对类内和它的扩展类访问有效,需定义为:
      1. this;
      2. supper;
      3. local;
        • 该声明下的变量仅对所在类有效,子类和外部不能访问;
      4. protected;
        • 该声明下的变量仅对所在类与子类有访问权限,外部不可访问;
    11. 每一个类都有一个内建的方法:
      1. print;
      2. new;
      3. supper;
      4. this;
    12. 周期性随机变量 randc 可进行声明哪种数据类型:
      1. logic;
      2. int;
      3. enum
      4. real;
    13. 下面代码
      1 class Bus;
      2 bit [15:0] a;
      3 randc bit [15:0] b,c;
      4 endclass

      那么下列约束正确的是:

      1. a > 10;
      2. 0;
      3. b > 0, c > 0;
      4. a > 0, b > 0;
    14. 对于
      1 x dist{[100:102] := 1,200 := 2, 300 := 5};

      那么100, 101, 102, 200, 300的权重比为:

      1. 1:1:1:2:5;
      2. 1/3:1/3:1/3:2:5;
      3. 3:3:3:2:5;
      4. 1/3:1/3:1/3:2/10:5/10;
    15. 约束语句提供了和if...else...等同用于声明条件关系的是:
      1. inside;
      2. solve;
      3. constraint;
      4. ->;
    16. 如下代码
      class packet;
      rand bit x;
      rand bit [1:0] y;
      endclass

      那么随机得到以下几种求解组合值:

      1. 3;
      2. 8;
      3. 4;
      4. 16;
    17. 如下代码:
      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

      那么随机得到以下几种求解组合值:

      1. 3;
      2. 8;
      3. 4;
      4. 5
    18. 如下代码:
      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. 1/4;
      2. 1/8;
      3. 1/10;
      4. 1/6;
        • solve...before不会改变数值的有效范围,只会改变数值出现的概率
    19. 使用下面什么函数可以关闭约束:
      1. constraint_mode();
      2. display();
      3. rand_mode();
      4. constraint();
    20. 以下哪种constraint方法不可能会出现:
      1. constraint c1 {(a ==0) -> (b == 1);}
      2. constraint rang1 {addr > 1024; addr < 16384;}
      3. constraint sort { n 
      4. constraint c4 !{v inside five}
    21. 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是哪种?
      1. x dist{[100:102] := 1, 200 := 2, 300:= 5}
      2. x dist{[100:102] :  /3, 200 := 2, 300:= 5}
      3. x dist{[100:102] :  /1, 200 := 2, 300:= 5}
      4. x dist{[100:=1; 101:= 1;102:= 1]; 200 := 2, 300:= 5}
    22. 下列哪个选项不是等待语句:
      1. @;
      2. end;
      3. ##1;
      4. wait;
    23. 如下代码:
      1 fork
      2     begin
      3         begin
      4             recv();
      5             send();
      6         end
      7         check();//
      8     end
      9 join

      包含了多少子线程:

      1. 0;
      2. 1;
      3. 2;
      4. 3;
    24. 如下代码:
      1 fork
      2     exec1();
      3     exec2();
      4 join_any
      5 fork
      6     exec3();
      7     exec4();
      8 join_none
      9 wait fork;

      这段代码执行结束的条件是:

      1. exec1()或exec2()执行完毕;
      2. exec3()或exec4()执行完毕;
      3. exec1()或exec2()或exec3()或exec4()执行完毕;
      4. exec1()和exec2()和exec3()和exec4()执行完毕;
    25. 等待一个事件触发@event属于:
      1. 边沿敏感;
      2. 电平敏感;
      3. 不敏感;
      4. 等待;
    26. 以下哪个不属于旗语 semaphoe 的特性:
      1. 统计内存资源占用情况;
      2. 对共享资源的分配和同步;
      3. 共享资源在不同进程中是互斥使用的;
      4. 是SV内建的类;
    27. 以下哪个不属于mailbox特性:
      1. 对共享资源的分配和同步;
      2. 在不同的进程之间传递消息;
      3. 是SV中不同进程的通信方式;
      4. 是SV内建的类;
    28. Covergroup 不可以定义在:
      1. module;
      2. program;
      3. interface;
      4. always;
    29. bins len[ ] = {[0:13]} 会自动生成多少个bins;
      1. 1;
      2. 64;
      3. 14;
      4. 16;
    30. bin t = (1,2 => 3,4)表示几个覆盖点的状态跳转:
      1. 1;
      2. 2;
      3. 3;
      4. 4
    31. 代码覆盖率高但功能覆盖率低的原因:
      1. 功能覆盖率功能点不足;
      2. 项目启动阶段;
        • 代码覆盖率与功能覆盖率都低;
      3. RTL代码未完成;
      4. 覆盖率满足要求;
    32.  度量被测代码中判定中的每个表达式结果是 true还是 false是否备测试到是什么覆盖率:
      1. line;
      2. fsm;
      3. toggle;
      4. condition;
    33. SVA中描述起因和结果处于两个时钟周期的是:
      1. |->;
      2. |=>;
      3. ->;
      4. =>;
    34. SVA中表示连续重复的是:
      1. *
      2. [*n]
      3. [->n]
        • 不连续,跟随;
      4. [=n]
        • 不连续,不跟随;
    35. SVA中返回前一个时钟周期的表达式的采样值是:
      1. $rose
      2. $fell
      3. $past
      4. $stable
    36. 收集属性(property)覆盖率的是:
      1. assert
      2. cover
      3. assume
      4. enable
    37. 验证过程中DUT完全可见属于:
      1. 黑盒验证
      2. 白盒验证
      3. 灰盒验证
      4. 断言验证
    38. 使用cb,默认延时有:
      1. default input #1 steup output #0;
      2. 0;
      3. default input #0 steup output #0;
      4. default input #0 steup output #1;
    39. program 在哪个timing region 执行代码:
      1. Active region;
        • RTL设计代码活动时钟域;
      2. Observe region;
        • 断言执行时钟域;
      3. Reactive region;
        • 验证平台执行时钟域,program是管理 测试案例的模块
      4. Postpone region
        • 信号采样时钟域
    40. 找出下列定义的数据类型是无符号数:
      1. integer;
      2. byte;
      3. int;
      4. bit;
    41. 下列枚举定义正确的是:
      1. enum logic [1:0] {WAITE = 3'b001,LOAD = 3'b010, READY = 3'b100} state;
      2. enum logic {A = 1'b0, B, C}  list3;
        • 2 bit的enum,里面有三个元素,多一个元素;
      3. enum logic {ON = 1'b1, OFF = 1'bz} out;
      4. enum logic [1:0] {WAITE = 3'b001,LOAD,READY} state;
        • x后面不可以跟未赋值的元素;
    42. SVA中序列 and 操作的含义:
      1. 两个序列具有相同的起点;
      2. 两个序列的结束时间必须一致;
        • intersect
      3. 两个序列的长度是一样的;
        • intersect
      4. 两个序列至少有一个是匹配的;
        • or
    43. progrm的好处:
      1. 将验证平台和待测设计分割开;
      2. 在不同的时间域运行,减少了竞争现象;
      3. program用于执行测试案例;
      4. program用于封装与测试案例相关的数据;
    44. 为什么使用随机化验证策略:
      1. 设计复杂度提高以后,直接测试没有办法通过穷举法验证所有的矢量;
      2. 定向测试案例仅仅用于检查确定的设计属性和预期的错误;
      3. 定向测试方式和测试时间是线性关系;
      4. 定向测试案例不能检查隐形的错误;
    45. 分层的验证平台易于平台代码重用;正确
    46. 在 interface 中不可以定义协议检查和验证函数;错误
    47. 动态数组、联合数组、和队列能够被声明为填充数组;错误

 

posted on 2021-03-06 19:35  TCJJ  阅读(117)  评论(0)    收藏  举报

1