【开卷】2022奕斯伟数字IC验证笔试题 10.22
1.逻辑简化:Y=B+(~A)&(~C) + (~B)&(~C)
2.亚稳态状态是必须避免的,亚稳态现象可以导致如下后果( )
A.降低系统可靠性
B.其它都是
C.功耗损失
D.引起芯片失败
3.假设输入信号X位宽为10bit,InputA位宽为5bit,InputB位宽为14bit,实现Y=X*Input A+ Input B功能,并要求不损失精度,那么输出信号Y位宽应不小于( )
A.16bit
B.29bit
C.15 bit
D.24bit
4.在SystemVerilog中,下列哪个数组在使用中会用到new操作( )
A.多维数组
B.动态数组
C.联合数组
D.压缩数组
5.请将下面这段C语言描述的串行处理过程,转换为单拍完成的并行处理,并用可综合的Verilog来描述。
#include <stdio. h>
unsigned charcal_table_high_first(unsigned char value)
{
unsigned char i;
unsigned char checksum = value;
for (i=8; i>0; --i)
{
if (checksum & 0x80)
checksum= (checksum<< 1)^ 0x31;
else
checksum= (checksum << 1);
}
return checksum;
}
int main(void)
{
/*我的第一个C程序*/
print("%x",cal_table_high_first(60));
getch();
}
//输出为:b8
9.给出自动饮料售卖机Verilog代码,功能为饮料10分钱,硬币分5分和10分,考虑找零。输入输出:A=1表示投入10分,B=1表示投入5分,Y=1表示弹出饮料,Z=1表示找零,S0表示没有进行投币,S1表示已经有5分硬币。请列出测试用例。
module sell(clk.rst.a.b.y.z):
input clk.rst.a.b:
output y.z:
parameter s0=0.s1=1:
reg state.next_state:
always@(posedge clk)
begin
if(!rst)
state<-s0:
else
state<=next_state:
end
always@(a or b orcstate)begin
y=0:z=0
case(state)
s0: if(a==1&&b= =0) begin
next_state s1:
end
eise if(a= =0&&b==1) begin
next_state = s0: y=1:
end
else begin
next_state= s0;
end
default next_state=s0;
endcase
end
endmodule
10.请简述一个UVMVIP常用的组成部分和其dataflow。
本文首发于微信公众号【 数字IC打工人】,点击绿色字体,交个朋友呀~
收录各大芯片公司笔试真题