2021年校招提前批(vivo芯片设计岗)

一、单选题
1、下图为组合逻辑Y=f(x1,x2,x3,x4)的真值表,请根据真值表选择Y的逻辑表达式为
2021年校招提前批(vivo芯片设计岗)_第1张图片
解析:用卡诺图化简逻辑函数时可按如下步骤进行:
1)将函数化为最小项之和的形式。
2)画出表示该逻辑函数的卡诺图。
3)找出可以合并的最小项。
4)选取化简后的乘积项。选取的原则是:
①这些乘积项应包含函数式中所有的最小项(应覆盖卡诺图中所有的1)。
②所用的乘积项数目最少。也就是可合并的最小项组成的矩形组数目最少。
③每个乘积项包含的因子最少。也就是每个可合并的最小项矩形组中应包含尽量多的最小项。
卡诺图中按格雷码顺序写;且卡诺图中左和右、上和下可以合并,因为他们也有共同项。
2021年校招提前批(vivo芯片设计岗)_第2张图片
所以,y=x1x3’x4+x2’x3
2.A repeat repeat(循环次数)repeat(10) #20 wr_data = wr_data + 1;
B forever forever #10 clk = ~clk;
C fork fork和join一般同时使用,在fork … join中存在的语句是并行执行的。与之对应的是begin…end,在begin…end中存在的语句是顺序执行的。
verilog中fork…join在testbench延时很有用。

initial

begin

........

end

之间的语句都是顺序执行,特别中间有延迟时间时,就是顺序累加的结果。

initial

fork

.....

join

之间的语句都是并行执行的,特别是延迟时间也是并行的,不是相互累加的结果。

D while
while (循环执行条件表达式) begin
语句块
end
3、netlist一般通过什么手段进行验证其正确性
A 随机验证 B RTL验证
C 形式验证 D 网表验证
解析:一般通过形式验证+静态时序分析来验证网表的正确性。
形式验证是验证范畴,它是从功能上(STA是时序上)对综合后的网表进行验证。常用的就是等价性检查方法,以功能验证后的HDL设计为参考,对比综合后的网表功能,它们是否在功能上存在等价性。这样做是为了保证在逻辑综合过程中没有改变原先 HDL描述的电路功能。形式验证工具有Synopsys的Formality。
StaticTiming Analysis(STA),静态时序分析,也属于验证范畴,它主要是在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation)。这个是数字电路基础知识,一个寄存器出现这两个时序违例时,是没有办法正确采样数据和输出数据的,所以以寄存器为基础的数字芯片功能肯定会出现问题。STA工具有Synopsys的Prime Time。所以答案选择C。
给大家介绍一下常用的验证覆盖率有哪些:
语句覆盖率(statement coverage):指的是程序的每一行代码是否被执行过。
条件覆盖率(condition coverage):指的是每个条件中的逻辑操作数被覆盖的情况。
决策覆盖率(branch coverage):指的是在if,case,while,repeat,forever,for 和loop语句中各个分支执行的情况。
事件覆盖率(event coverage):用来记录某一个事件被触发的次数。
跳转(翻转)覆盖率(toggle coverage):用来记录某个设计边界信号数据位的0/1跳转情况,例如从0到1,或者从1到0的跳转。
状态机覆盖率(finite stage machine coverage):仿真器的覆盖率功能可以识别出设计中的状态机部分,记录各种状态被进入的次数,以及状态之间的跳转情况。

你可能感兴趣的:(FPGA)