失效分析 赵工 半导体工程师 2023-06-05 08:42 发表于北京
【丑话在前】本文分享整理的一些IC设计验证的一些常见问题,希望对于需要的朋友有用,后续还会更新。当然更希望有识之士可以留言分享...
[{"attributes":{"color":"var(--weui-FG-2)"},"insert":"失效分析 赵工"},{"insert":" "},{"attributes":{"color":"var(--weui-LINK)"},"insert":"半导体工程师"},{"insert":" "},{"attributes":{"color":"var(--weui-FG-2)"},"insert":"2023-06-05 08:42"},{"insert":" "},{"attributes":{"color":"var(--weui-FG-2)"},"insert":"发表于北京"},{"insert":"\n"},{"attributes":{"bold":true},"insert":"【丑话在前】本文分享整理的一些IC设计验证的一些常见问题,希望对于需要的朋友有用,后续还会更新。当然更希望有识之士可以留言分享对于其中问题的见解,为其他入门阅读本文的朋友广开思路,教学相长,互相学习。"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q1.定宽数组、动态数组、关联数组、队列各自的特点和使用方式。"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q2.fork...join/fork...join_any/fork...join_none之间的异同"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q3.mailbox、event、semaphore之间的异同"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q4.@(event_handle)和wait(event_handle.triggered)区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q5.task和function异同区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q6.使用clocking block的好处"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q7.同步FIFO和异步FIFO的作用和区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q8.SystemVerilog中OOP的三大特性"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q9.详述对于ref类型的理解"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q10.外部约束如何使用,有哪几种方式"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q11.代码覆盖率、功能覆盖率、SVA覆盖率都是衡量什么的"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q12.为什么选择验证工作"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q13.立即断言和并发断言的特点"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q14.SystemVerilog中面向对象编程的优势"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q15.如何保证验证的完备性"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q16.权重约束中”:=”和”:/”的区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q17.rand和randc区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q18.break、continue和returen的含义用法"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q19.function中return语句执行之后,function里剩下的代码语句还会执行吗"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q20.触发器和锁存器的区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q21.为什么要使用两级触发器进行同步"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q22.setup和hold违例分别是什么"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q23.SVA中and、intersect、or、throughout、$past如何使用"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q24.SVA中”->”和”=>”区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q25.如何关闭约束"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q26.deep copy和shallow copy区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q27.队列常用的方法有哪些"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q28.local和protected区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q29.常用的debug方法有哪些"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q30.亚稳态的危害"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q31.二进制码、格雷码、独热码的特点"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q32.packed array和unpacked array的区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q33.阻塞赋值和非阻塞赋值的区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q34.过程性语句和连续赋值语句的区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q35.initial和always的异同"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q36.FSM有哪几种?区别是什么?"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q37.数字电路中为什么要使用触发器"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q38.异步复位和同步复位各自特点和区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q39.异步复位同步释放代码实现"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q40.数字电路通常分为哪两种电路"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q41.illegal_bins和ignore_bins命中分别会怎么样?命中是否会计入覆盖率统计"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q42.负数采用二进制如何表示"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q43.4值逻辑变量赋值给二值逻辑变量时,x和z对应什么值"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q44.类中this是什么"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q45.子类中super是什么?"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q46.在IC验证中,我们一般对哪些内容进行随机化"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q47.通过函数返回数组有哪些方法"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q48.什么是clocking block的skew"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q49.并发断言的主要组成有哪些"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q50.如何检查随机化是否成功"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q51.什么时候randomize()失败"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q52.黑盒验证、灰盒验证、白盒验证"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q53.竞争与冒险是什么"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q54.虚接口有什么好处"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q55.接口的使用有什么优势"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q56.$cast在句柄转换时如何使用"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q57.为什么要进行后仿真"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q58.如何进行后仿真"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q59.什么是后仿真"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q60.当task的通过ref传递数据时,如果task内部对数据进行了修改,task外部是否立即可以看到数据被修改了还是要等到task执行完才能看到"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q61.使用packed struct定义下面数据包:"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"31:24 23:16 15:4 3:0"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"p1 p2 p3 p4"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q62.随机化的优势是什么?是不是意味着不再需要定向case了"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q63.randomize with{....}中的约束与class中的约束是什么关系"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q64.如何基于随机化的验证环境写定向测试"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q65.为什么数字电路系统中要使用二进制"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q66.数字电路中可能存在的风险问题有哪些?"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q67.什么是虚方法"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q68.低功耗方法你了解哪些"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q69.使用FSM设置序列检测器(序列:110110)"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q70.描述你对数字集成电路设计流程的认识"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q71.虚接口是什么"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q72.预定义的随机方法有哪些"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q73.预定义的随机方法是否可以重载"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q74.预定义的随机方法执行顺序和执行情况"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q75.package用途是什么"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q76.package如何使用"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q77.如何在子类中调用父类中的方法"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q78.bit[7:0]和byte有什么区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q79.类中的方法和类外的方法有什么区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q80.如何将类中的方法定义在类外"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q81.modport的用途是什么"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q82.struct和union的异同"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Uniion的成员"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q83.$rose和posedge区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q84.如何在fork...join结构中kill进程"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q85.什么是覆盖率驱动的验证"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q86.如何检查句柄是否指向有效对象"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q87.semaphore用处是什么"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q88.为什么要使用断言"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q89.如何在clocking block中声明异步信号"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q90.代码覆盖率和功能覆盖率的关系"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q91.什么是验证计划,应该包含哪些部分"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q92.类中的静态方法使用注意事项有哪些"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q93.initial和final的区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q94.建模存储器,使用什么类型的数组"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q95.如何避免测试平台和dut之间的竞争冒险"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q96.logic、bit、wire区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q97.什么是抽象类"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q98.always@*与always_comb区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q99.简述验证结构"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q100.parameter、define和typedef之间区别"},{"attributes":{"align":"justify"},"insert":"\n\n"},{"attributes":{"bold":true},"insert":"Q101.new()和new[]的区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q102.solve...before如何使用"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q103.mailbox和队列的异同"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q104.什么是静态变量"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q105.什么是生命周期"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q106.交叉覆盖率的优点"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q107.pass_by_value和pass_by_ref区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q108.$display和$write区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q109.同一个作用范围内使用枚举类型需要注意什么"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q110.敏感信号列表信号缺失会如何"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q111.covergroup在类中使用和类外分别如何使用"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q112.简述回调机制"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q113.三段式状态机是哪三段(状态转移、组合逻辑描述状态转移规律、电路输出)"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q114.什么是虚接口,为什么要使用虚接口"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q115.Verilog中for能不能综合"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q116.举例常见的单bit同步机制"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q117.举例常见的多bit同步机制"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q118.SystemVerilog中##n表示什么"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q119.UVM指的是什么?具有哪些特点,为什么要使用UVM?"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q120.简介工厂机制(factory)"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q121.简介事务级建模"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q122.uvm_component和uvm_object的区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q123.UVM中run_phase和main_phase的区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q124.为什么要使用phase机制"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q125.m_sequencer和p_sequencer区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q126.top-down phase、bottom-up phase有哪些"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q127.为什么build_phase是top-down phase,connect_phase是bottom-up phase"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q128.$size用于packed array和unpacked array分别得到的什么"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q129.class和struct的异同"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q130.class和module的异同"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q131.对象创建的初始化顺序"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q132.子类和父类中是否可以定义相同名称的成员变量和方法(非虚方法)"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q133.为什么需要随机"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q134.线程间通信控制共享资源的原因是什么"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q135.uvm_transaction和uvm_seq_item的关系"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q136.p_sequencer是什么?"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q137.m_sequencer是什么?"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q138.new()和create有什么区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q139.如何启动sequence"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q140.copy和clone的区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q141.Agent中的Active mode和Passive mode区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q412.在UVM的工厂机制中,为什么要使用注册机制"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q143.简述UVM的工厂机制"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q144.UVM中的RAL什么,可以用来干什么?"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q145.简述系统级、子系统级和模块级验证"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q146.IP和VIP分别指的是什么"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q147.set_config_*和uvm_config_db区别"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q148.$stop、$finish和final如何使用"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q149.简述virtual sequence和virtual sequencer作用"},{"attributes":{"align":"justify"},"insert":"\n"},{"attributes":{"bold":true},"insert":"Q150.简述code review的重要性"},{"attributes":{"align":"justify"},"insert":"\n"},{"insert":"来源:处芯积律;作者nanoty"},{"attributes":{"align":"justify"},"insert":"\n\n"},{"attributes":{"color":"var(--weui-FG-0)"},"insert":"半导体工程师"},{"attributes":{"align":"justify"},"insert":"\n"},{"insert":"半导体经验分享,半导体成果交流,半导体信息发布。半导体行业动态,半导体从业者职业规划,芯片工程师成长历程。"},{"attributes":{"align":"justify"},"insert":"\n"},{"insert":"155篇原创内容"},{"attributes":{"align":"justify"},"insert":"\n"},{"insert":"公众号"},{"attributes":{"align":"justify"},"insert":"\n"},{"insert":"\n"}]
-
发表于 2023-06-05 08:54
- 阅读 ( 637 )