粉丝投稿:IC验证面试真题

公司名称匿了

1、你的多通道数据整形器学的怎么样了?

答:极其尴尬,可想而知**的影响力已经多大了。我说,我就讲讲我做的功能测试点吧,先分析DUT的设计,然后拆解要检测到的功能点,blabla,然后功能覆盖率到了92,翻转覆盖率80左右,还有个80多,其他的几个都90多。

2、你的验证框架是完整的吧?

3、你的环境有几个agent。

答:6个

4、讲讲你的整形器agent有哪些东西,各是什么功能。

答:driver mon sqr

5、用过virtual sequence吧?它跟sequence的区别

答:

①本质区别就是vsq不会连接到具体的agent里面的sqr,它是通过start连接到vsqr。

②vsq在top test中创建,作用是完成具体的测试行为。分为以下两种方法:

· 对于rgm的操作。直接在vsq中对rgm进行操作,来进行寄存器测试配置,由rgm来修改期望值,然后update。也可以把这些对寄存器的测试操作封装成一个更小的seq,然后不经过rgm,直接发送给reg.sqr。

· 在vsq中对更小的seq用宏`uvm_run_on_with(),挂载到对应sqr,且在具体的seq的task body中,调用uvm do with将对具体的seq item进行赋值,发送。

6、有哪些内容可以进行随机化?

答:我感觉这个问题要结合验证功能点去回答,体现出你的思路,为什么这个东西要让它随机。

7、你的验证框架有没有完成数据比对的功能?如果有,是怎么实现的?

答:这就是在scoreboard里面编写的数据比对的task来实现的。其实在v seq中也编写了一个数据比对的function,这个function可以直接在top v seq中使用,有时候也非常好用。但面试官主要想问的应该是scoreboard。就给他讲scoreboard的结构,ref model,信号从哪里获取等。

8、如果我的ref model产生数据是实时的,但是dut产生数据是有延时的,如何去做比较?

答:这个问题我首先想到的就是用一个FIFO先把数据存起来,再去比较。(不知是否正确)

9、(既然我提到了FIFO)如何用SV去实现一个FIFO?

答:最简单就是用个mailbox,或者队列。然后我说还可以用通信管道tlm fifo,我想到就说了,但这么说好像有点跑题。

10、如何去判断验证充分了?

答:还是要从验证流程去分析,在验证计划没问题,功能点拆分没问题的情况下,看功能覆盖率和代码覆盖率。

后面有时间还会继续跟

#数字IC#
全部评论
继续更啊
点赞 回复 分享
发布于 2022-07-30 00:28
我其实特别想知道是哪家公司的
点赞 回复 分享
发布于 2022-06-28 17:30

相关推荐

不愿透露姓名的神秘牛友
07-16 12:23
点赞 评论 收藏
分享
评论
2
67
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务