【2023灵动股份笔试题】~ 题目及参考答案

0. 前言

艾睿博迪,大家好啊!最近“二舅”这边又有疫情了,这还不知道这个月的线下宣讲会能不能如约而至呢!唉,这疫情把生活都弄乱了,呜呜呜!!!最近大家所在的地方都怎么样了呢?可以评论区打一波。再就是各位一定要注意安全,身体是革命的本钱呀!!!

今天大家带来的是前几天做的一套笔试题,名称如标题所示,希望大家正确食用(点赞+转发+评论)

本次笔试题总体来说不难,一共三个部分,单选、多选和简答。时间还是有一点点紧的。

下边是具体的题目,仅仅是回忆,哈哈哈!!!

1. 题目 & 答案

第一题

考察 断言?

解析:这些题也是验证基本必考的,大家多看看基础知识即可。或者也可以看一下我之前写的博客,上边都有总结!

第二题

False path是什么?

解析:

FALSE PATH就是我们在进行时序分析时,不希望工具进行分析的那些路径。一般不需要工具时序分析的路径指的是异步的路径,异步路径就是指的不同时钟域的路径。

在QuartusII的一个培训文档里面解释了什么时候要用到FALSE PATH:

  1. 从逻辑上考虑,与电路正常工作不相关的那些路径,比如测试逻辑,静态或准静态逻辑。

  2. 从时序上考虑,我们在综合时不需要分析的那些路径,比如跨越异步时钟域的路径。

一些情况下,不设置FALSE PATH也可以,工具会去分析相关时序路径,但是肯定会有setup或者hold不满足,这个时候就需要去确认这些路径是否有问题了。而设置了FALSE PATH后,就告诉工具不用去分析这些路径了,这样工具就不会报告出来了,另外还有一个好处就是综合布局布线的时间会大幅减少,因为没有时序问题了,工具就可以跑的很快。因此,一般比较正规的项目,都需要设置FALSE PATH。

第三题

那个题我会,但我忘了是什么了!!!

第四题

动态验证的范畴?

解析:

所谓动态验证即验证结果依赖于向量输入,动态改变。形式验证和STA都不依赖于具体测试用例。

所以说,前仿、后仿、modelsim仿真都是动态验证;

而形式验证、STA不属于动态验证。

第五题

Eda的仿真工具和debug的工具有哪些?

解析:

目前行业内的验证工具按照验证方法来划分显得更为清晰,我们在标注工具的同时,也会附上其主要用途。在讲工具归属的时候,我们将分别采用前缀 S-(Synopsys),C-(Cadence)和 M-(Mentor)来表示。

动态验证方法依赖于仿真器(Simulator),包括 S-VCS,C-Incisive & Xcelium,M-Questasim。

硬件加速模拟器(emulator),包括 S-Zebu,C-Palladium,M-Veloce。

形式验证工具(formal),包括 S-VC Formal,C-Jasper,M-Questa Formal。

仿真调试工具(debug),包括 S-Verdi,C-SimVision,M-Questa Visualizer Debug。

第六题

SV中的数据类型有哪些?

解析:SV中包括很多数据类型,比如二值的和四值的,其中包括什么我就不具体写出来了,感兴趣的同学可以到我博客那边看一下,写的很清楚。

第七题

使用interface链接dut和验证环境的好处是什么?为什么接口要定义成virtual的?

解析:

(问题一)

a,接口最大的一个优势就是便于可重用,当我们的信号上百上千的时候,同时重复出现很多次,就应用接口。

b,modport可以将接口的一系列信号捆绑。

c,要增加信号只需要在接口中声明一次,高层需要调用的话可以之间调用,如果是verilog的端口连接,则必须在所有的层次都声明这个新增加的接口,容易出错。

(问题二)

virtual interface相当于物理interface的指针变量,你可以有多个指针变量指向同一个物理interface,多个物理interface连接有问题.一般就是在最顶层的TB中例化一个物理interface,然后环境中使用多个virtual interface指向同一接口的物理interface。

还可以从这个思路理解:virtual interface是仿真运行时才连接到DUT上,如果只是interface,在编译时就必须进行连接。class是automatics,在运行的时候产生。如果类里的接口非virtual,编译时接口并不存在,就会出现编译错误。

第八题

rand int a;

(1)用sv写出a在01234中的随机值

(2)除了第一问的要求,还需要使得0123取值的概率为1/10,4的取值概率为3/5

解析:

(问题一)

constraint a_value  {
  
  a inside {[0 : 4]};
  
}

(问题二)

constraint a_value  {

a dist {[0 : 3] := 10, 4 := 60};

或者

a dist {[0:3] :/ 40, 4 :/ 60};

}

第九题

描述 soc/ip 验证之间的区别,以及验证二者之间的侧重点。

解析:

SoC 和 IP 从独立性来看,前者较后者更为独立,往往具备更加完整的功能。SoC 会由多个IP、子系统和其它系统模块构成,从层次来看,IP 是构成 SoC 的重要组成部分。在验证SoC 时,首先需要确保其 IP 级别都完成了验证,而在系统级别需要验证各个模块之间的交互和协调情况、集成连线情况,测试用例会更加真实,当然,仿真速度也下降很快,一般需要做门级仿真。在 IP 级验证时,如果是内部 IP,那么需要就接下来的运用场景(配置情况),展开重点性的验证,如果是向外部提供的 IP,那么需要针对其参数配置展开更为全面细致的验证工作,所以其特点不但是要求验证每一项功能,而且是每一项功能在不同配置下的行为是否是正确的。

第十题

描述从芯片 spec 到 tapeout 的整个过程,重点介绍哪些步骤需要验证,以及所需的文件和验证重点。

解析:

a. 从 spec 到模块 RTL 时,除了 RTL 文件,还需要寄存器文件来生成寄存器模型,构建UVM 验证环境,主要验证每一项 RTL 功能。

b. 从模块到子系统时,除了之前的文件,如果在子系统级别需要模拟电源域开关,那么还需要 UPF,如果子系统单独综合且较为独立,可能还需要做门级仿真,那么需要综合网表和 SDF 文件,验证的重点将是子系统的各项完整功能。

c.在系统级别时,除了系统级的 RTL 仿真,也需要进行 UPF 仿真和门级仿真,因此也需要对应的 UPF 文件、网表和 SDF 文件,验证的重点是各个子系统之间的交互和协调情况、集成连线情况。

声明

本人所有系列的文章,仅供学习,不可商用,如有侵权,请告知,立删!!!

本人主要是记录学习过程,以供自己回头复习,再就是提供给后人参考,不喜勿喷!!!

如果觉得对你有用的话,记得收藏+评论!!!

全网各平台同名===> “IC二舅”

下一期如果有大家想看的 或者 哪块不懂想学习的,可以私聊或在群里提问都可以,“二舅” 给你安排上!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值